.text:00008074 @ File Name : 51d .text:00008074 @ Format : ELF (Executable) .text:00008074 @ .text:00008074 .text:00008074 @ Processor : ARM .text:00008074 @ Target assembler: GNU assembler .text:00008074 @ Byte sex : Little endian .text:00008074 .text:00008074 @ --------------------------------------------------------------------------- .text:00008074 .text:00008074 @ Segment type: Pure code .text:00008074 .text .text:00008074 @ .org 0x8074 .text:00008074 .arm .text:00008074 .text:00008074 .globl start .text:00008074 start: @ Rd = Op2 .text:00008074 MOV R11, #0 .text:00008078 LDR R0, [SP],#4 @ Load from Memory .text:0000807C MOV R1, SP @ Rd = Op2 .text:00008080 .text:00008080 loc_8080: @ DATA XREF: .data:off_3D643o .text:00008080 ADD R2, R1, R0,LSL#2 @ Rd = Op1 + Op2 .text:00008084 ADD R2, R2, #4 @ Rd = Op1 + Op2 .text:00008088 BL loc_252AC @ Branch with Link .text:00008088 @ --------------------------------------------------------------------------- .text:0000808C .long main .text:00008090 .text:00008090 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00008090 .text:00008090 .text:00008090 main: @ CODE XREF: .text:00025370p .text:00008090 @ DATA XREF: .text:0000808Co .text:00008090 .text:00008090 packet_id = -0x298 .text:00008090 var_290 = -0x290 .text:00008090 play_mode_0x1F = -0x28C .text:00008090 var_288 = -0x288 .text:00008090 var_284 = -0x284 .text:00008090 header? = -0x280 .text:00008090 var_27C = -0x27C .text:00008090 var_278 = -0x278 .text:00008090 var_274 = -0x274 .text:00008090 var_270 = -0x270 .text:00008090 var_268 = -0x268 .text:00008090 var_228 = -0x228 .text:00008090 var_128 = -0x128 .text:00008090 var_A4 = -0xA4 .text:00008090 var_24 = -0x24 .text:00008090 .text:00008090 STMFD SP!, {R4-R11,LR} @ Store Block to Memory .text:00008094 LDR R4, =aDebug_level @ Load from Memory .text:00008098 SUB SP, SP, #0x274 @ Rd = Op1 - Op2 .text:0000809C MOV R3, #0 @ Rd = Op2 .text:000080A0 MOV R7, R0 @ Rd = Op2 .text:000080A4 MOV R0, R4 @ name .text:000080A8 STR R3, [SP,#0x298+var_288] @ Store to Memory .text:000080AC MOV R6, R1 @ Rd = Op2 .text:000080B0 STR R3, [SP,#0x298+header?] @ Store to Memory .text:000080B4 BL getenv @ Branch with Link .text:000080B8 LDR R2, [SP,#0x298+var_288] @ Load from Memory .text:000080BC CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000080C0 STR R2, [SP,#0x298+var_284] @ Store to Memory .text:000080C4 STR R2, [SP,#0x298+play_mode_0x1F] @ Store to Memory .text:000080C8 BEQ loc_80E0 @ debug_level = null .text:000080CC MOV R0, R4 @ name .text:000080D0 BL getenv @ Branch with Link .text:000080D4 BL sysv_signal_0x0_0xA @ Branch with Link .text:000080D8 LDR R3, =debug_level @ Load from Memory .text:000080DC STR R0, [R3] @ Store to Memory .text:000080E0 .text:000080E0 loc_80E0: @ CODE XREF: main+38j .text:000080E0 LDR R0, =aDebug_log @ debug_level = null .text:000080E4 BL getenv @ Branch with Link .text:000080E8 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000080EC BEQ loc_8138 @ Branch .text:000080F0 LDR R3, =off_3D77C @ Load from Memory .text:000080F4 LDR R4, =aDosLogfile_txt @ Load from Memory .text:000080F8 LDR R5, =aA @ Load from Memory .text:000080FC LDR R2, [R3] @ Load from Memory .text:00008100 MOV R0, R4 @ Rd = Op2 .text:00008104 MOV R1, R5 @ Rd = Op2 .text:00008108 BL freopen @ Branch with Link .text:0000810C CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00008110 LDREQ R0, =aFreopenStdout @ Load from Memory .text:00008114 BLEQ xhandle_error @ Branch with Link .text:00008118 LDR R3, =filename @ Load from Memory .text:0000811C MOV R0, R4 @ Rd = Op2 .text:00008120 LDR R2, [R3] @ Load from Memory .text:00008124 MOV R1, R5 @ Rd = Op2 .text:00008128 BL freopen @ Branch with Link .text:0000812C CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00008130 LDREQ R0, =aFreopenStderr @ Load from Memory .text:00008134 BLEQ xhandle_error @ Branch with Link .text:00008138 .text:00008138 loc_8138: @ CODE XREF: main+5Cj .text:00008138 LDR R2, =debug_level @ Load from Memory .text:0000813C LDR R3, [R2] @ Load from Memory .text:00008140 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00008144 BLT loc_8200 @ Branch .text:00008148 MOV R0, #0 @ Rd = Op2 .text:0000814C BL time @ Branch with Link .text:00008150 LDR R2, =0x51EB851F @ Load from Memory .text:00008154 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00008158 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000815C RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00008160 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00008164 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00008168 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000816C BL call_gettimeofday @ Branch with Link .text:00008170 LDR R3, =aMain @ Load from Memory .text:00008174 MOV R2, R0 @ Rd = Op2 .text:00008178 MOV R1, R4 @ Rd = Op2 .text:0000817C LDR R0, =logfile_format @ Load from Memory .text:00008180 BL printf @ Branch with Link .text:00008184 LDR R2, =build_time @ Load from Memory .text:00008188 LDR R1, =build_date @ Load from Memory .text:0000818C LDR R0, =revision_string @ Load from Memory .text:00008190 BL printf @ Branch with Link .text:00008194 MOV R0, #0 @ Rd = Op2 .text:00008198 BL sub_257B4 @ Branch with Link .text:0000819C LDR R2, =debug_level @ Load from Memory .text:000081A0 LDR R3, [R2] @ Load from Memory .text:000081A4 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:000081A8 BLT loc_8200 @ Branch .text:000081AC MOV R0, #0 @ Rd = Op2 .text:000081B0 BL time @ Branch with Link .text:000081B4 LDR R2, =0x51EB851F @ Load from Memory .text:000081B8 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:000081BC MOV R3, R0,ASR#31 @ Rd = Op2 .text:000081C0 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:000081C4 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:000081C8 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:000081CC SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:000081D0 BL call_gettimeofday @ Branch with Link .text:000081D4 MOV R1, R4 @ Rd = Op2 .text:000081D8 MOV R2, R0 @ Rd = Op2 .text:000081DC LDR R3, =aMain @ Load from Memory .text:000081E0 LDR R0, =logfile_format @ Load from Memory .text:000081E4 BL printf @ Branch with Link .text:000081E8 LDR R2, =debug_level @ Load from Memory .text:000081EC LDR R0, =aDebugLevelI @ Load from Memory .text:000081F0 LDR R1, [R2] @ Load from Memory .text:000081F4 BL printf @ Branch with Link .text:000081F8 MOV R0, #0 @ Rd = Op2 .text:000081FC BL sub_257B4 @ Branch with Link .text:00008200 .text:00008200 loc_8200: @ CODE XREF: main+B4j .text:00008200 @ main+118j .text:00008200 LDR R0, =aDosForceupdate @ Load from Memory .text:00008204 ADD R1, SP, #0x298+var_268 @ Rd = Op1 + Op2 .text:00008208 BL stat @ Branch with Link .text:0000820C CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00008210 MOV R5, R0 @ Rd = Op2 .text:00008214 BNE loc_827C @ Branch .text:00008218 LDR R2, =debug_level @ Load from Memory .text:0000821C LDR R3, [R2] @ Load from Memory .text:00008220 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00008224 BLT loc_8270 @ Branch .text:00008228 BL time @ Branch with Link .text:0000822C LDR R2, =0x51EB851F @ Load from Memory .text:00008230 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00008234 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00008238 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000823C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00008240 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00008244 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00008248 BL call_gettimeofday @ Branch with Link .text:0000824C MOV R1, R4 @ Rd = Op2 .text:00008250 MOV R2, R0 @ Rd = Op2 .text:00008254 LDR R3, =aMain @ Load from Memory .text:00008258 LDR R0, =logfile_format @ Load from Memory .text:0000825C BL printf @ Branch with Link .text:00008260 LDR R0, =aForceUpdateFil @ Load from Memory .text:00008264 BL xdebug_out @ Branch with Link .text:00008268 MOV R0, R5 @ Rd = Op2 .text:0000826C BL sub_257B4 @ Branch with Link .text:00008270 .text:00008270 loc_8270: @ CODE XREF: main+194j .text:00008270 LDR R3, =xnoenc_flag @ set noenc_flag=1 .text:00008274 MOV R2, #1 @ Rd = Op2 .text:00008278 STR R2, [R3] @ Store to Memory .text:0000827C .text:0000827C loc_827C: @ CODE XREF: main+184j .text:0000827C LDR R4, =dword_45888 @ Load from Memory .text:00008280 LDR R1, [R6] @ Load from Memory .text:00008284 MOV R0, R4 @ Rd = Op2 .text:00008288 BL strcpy @ Branch with Link .text:0000828C MOV R0, R4 @ Rd = Op2 .text:00008290 MOV R1, #0x2F @ '/' @ Rd = Op2 .text:00008294 BL strrchr @ Branch with Link .text:00008298 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000829C MOVNE R3, #0 @ Rd = Op2 .text:000082A0 STREQB R0, [R4] @ Store to Memory .text:000082A4 STRNEB R3, [R0,#1] @ Store to Memory .text:000082A8 LDR R1, =aExec_ini @ Load from Memory .text:000082AC LDR R0, =dword_45888 @ Load from Memory .text:000082B0 MOV R4, #1 @ Rd = Op2 .text:000082B4 BL sub_26B24 @ Branch with Link .text:000082B8 CMP R4, R7 @ Set cond. codes on Op1 - Op2 .text:000082BC BGE loc_8330 @ Branch .text:000082C0 .text:000082C0 loc_82C0: @ CODE XREF: main+29Cj .text:000082C0 LDR R1, =aUpdate @ Load from Memory .text:000082C4 MOV R2, #7 @ Rd = Op2 .text:000082C8 LDR R0, [R6,R4,LSL#2] @ Load from Memory .text:000082CC BL xstrcmp @ Branch with Link .text:000082D0 MOV R2, #6 @ Rd = Op2 .text:000082D4 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000082D8 LDR R1, =aBlank @ Load from Memory .text:000082DC SUBEQ R2, R2, #5 @ Rd = Op1 - Op2 .text:000082E0 BEQ loc_831C @ Branch .text:000082E4 LDR R0, [R6,R4,LSL#2] @ Load from Memory .text:000082E8 BL xstrcmp @ Branch with Link .text:000082EC MOV R2, #0xD @ Rd = Op2 .text:000082F0 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000082F4 LDR R1, =aUpdate_noenc @ Load from Memory .text:000082F8 SUBEQ R2, R2, #0xB @ Rd = Op1 - Op2 .text:000082FC BEQ loc_831C @ Branch .text:00008300 LDR R0, [R6,R4,LSL#2] @ Load from Memory .text:00008304 BL xstrcmp @ Branch with Link .text:00008308 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000830C LDR R1, =aHelp @ Load from Memory .text:00008310 MOV R2, #5 @ Rd = Op2 .text:00008314 BNE loc_962C @ Branch .text:00008318 SUB R2, R2, #2 @ Rd = Op1 - Op2 .text:0000831C .text:0000831C loc_831C: @ CODE XREF: main+250j .text:0000831C @ main+26Cj .text:0000831C LDR R3, =xnoenc_flag @ Load from Memory .text:00008320 STR R2, [R3] @ Store to Memory .text:00008324 .text:00008324 loc_8324: @ CODE XREF: main+15C0j .text:00008324 ADD R4, R4, #1 @ Rd = Op1 + Op2 .text:00008328 CMP R4, R7 @ Set cond. codes on Op1 - Op2 .text:0000832C BLT loc_82C0 @ Branch .text:00008330 .text:00008330 loc_8330: @ CODE XREF: main+22Cj .text:00008330 LDR R0, =aUc_controll_of @ name .text:00008334 BL getenv @ Branch with Link .text:00008338 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000833C BNE loc_83E4 @ Branch .text:00008340 MOV R0, #5 @ Rd = Op2 .text:00008344 BL connect_phatsock @ Branch with Link .text:00008348 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000834C MOV R5, R0 @ Rd = Op2 .text:00008350 BNE loc_83DC @ Branch .text:00008354 LDR R2, =debug_level @ Load from Memory .text:00008358 LDR R3, [R2] @ Load from Memory .text:0000835C CMP R3, #1 @ Set cond. codes on Op1 - Op2 .text:00008360 BLE loc_83AC @ Branch .text:00008364 BL time @ Branch with Link .text:00008368 LDR R2, =0x51EB851F @ Load from Memory .text:0000836C SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00008370 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00008374 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00008378 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000837C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00008380 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00008384 BL call_gettimeofday @ Branch with Link .text:00008388 MOV R1, R4 @ Rd = Op2 .text:0000838C MOV R2, R0 @ Rd = Op2 .text:00008390 LDR R3, =aMain @ Load from Memory .text:00008394 LDR R0, =logfile_format @ Load from Memory .text:00008398 BL printf @ Branch with Link .text:0000839C LDR R0, =aRetryConnectTo @ Load from Memory .text:000083A0 BL xdebug_out @ Branch with Link .text:000083A4 MOV R0, R5 @ Rd = Op2 .text:000083A8 BL sub_257B4 @ Branch with Link .text:000083AC .text:000083AC loc_83AC: @ CODE XREF: main+2D0j .text:000083AC MOV R0, #2 @ Rd = Op2 .text:000083B0 BL sub_287AC @ Branch with Link .text:000083B4 MOV R0, #5 @ Rd = Op2 .text:000083B8 BL connect_phatsock @ Branch with Link .text:000083BC CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000083C0 BNE loc_83DC @ Branch .text:000083C4 LDR R2, =filename @ Load from Memory .text:000083C8 LDR R0, =aCanTConnect @ Load from Memory .text:000083CC LDR R3, [R2] @ Load from Memory .text:000083D0 MOV R1, #1 @ Rd = Op2 .text:000083D4 MOV R2, #0x3D @ '=' @ Rd = Op2 .text:000083D8 BL sub_25CB0 @ Branch with Link .text:000083DC .text:000083DC loc_83DC: @ CODE XREF: main+2C0j .text:000083DC @ main+330j .text:000083DC MOV R0, #2 @ Rd = Op2 .text:000083E0 BL sub_19838 @ Branch with Link .text:000083E4 .text:000083E4 loc_83E4: @ CODE XREF: main+2ACj .text:000083E4 LDR R0, =aForce_12_dac @ name .text:000083E8 BL getenv @ Branch with Link .text:000083EC CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000083F0 MOVLNE R0, 0xAC44 .text:000083F8 BLNE send_ioctl_SNDCTL_DSP_SPEED @ Branch with Link .text:000083FC BL sub_105A4 @ Branch with Link .text:00008400 BL openserport @ Branch with Link .text:00008404 LDR R3, =dword_45920 @ Load from Memory .text:00008408 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000840C STR R0, [R3] @ Store to Memory .text:00008410 BLT loc_9624 @ Branch .text:00008414 LDR R4, =aUc_isp_timeout @ Load from Memory .text:00008418 MOV R0, R4 @ name .text:0000841C BL getenv @ Branch with Link .text:00008420 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00008424 BEQ loc_961C @ Branch .text:00008428 MOV R0, R4 @ name .text:0000842C BL getenv @ Branch with Link .text:00008430 BL sysv_signal_0x0_0xA @ Branch with Link .text:00008434 LDR R5, =off_35F40 @ Load from Memory .text:00008438 STR R0, [R5] @ Store to Memory .text:0000843C .text:0000843C loc_843C: @ CODE XREF: main+1590j .text:0000843C LDR R2, =debug_level @ Load from Memory .text:00008440 LDR R3, [R2] @ Load from Memory .text:00008444 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00008448 MOV R6, R2 @ Rd = Op2 .text:0000844C BLT loc_84A0 @ Branch .text:00008450 MOV R0, #0 @ Rd = Op2 .text:00008454 BL time @ Branch with Link .text:00008458 LDR R2, =0x51EB851F @ Load from Memory .text:0000845C SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00008460 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00008464 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00008468 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000846C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00008470 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00008474 BL call_gettimeofday @ Branch with Link .text:00008478 MOV R1, R4 @ Rd = Op2 .text:0000847C MOV R2, R0 @ Rd = Op2 .text:00008480 LDR R3, =aMain @ Load from Memory .text:00008484 LDR R0, =logfile_format @ Load from Memory .text:00008488 BL printf @ Branch with Link .text:0000848C LDR R1, [R5] @ Load from Memory .text:00008490 LDR R0, =aOldIspTimeoutV @ Load from Memory .text:00008494 BL printf @ Branch with Link .text:00008498 MOV R0, #0 @ Rd = Op2 .text:0000849C BL sub_257B4 @ Branch with Link .text:000084A0 .text:000084A0 loc_84A0: @ CODE XREF: main+3BCj .text:000084A0 LDR R4, =aUc_rollins_tim @ Load from Memory .text:000084A4 MOV R0, R4 @ name .text:000084A8 BL getenv @ Branch with Link .text:000084AC CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000084B0 BEQ loc_84C8 @ Branch .text:000084B4 MOV R0, R4 @ name .text:000084B8 BL getenv @ Branch with Link .text:000084BC BL sysv_signal_0x0_0xA @ Branch with Link .text:000084C0 LDR R2, =off_35F44 @ Load from Memory .text:000084C4 STR R0, [R2] @ Store to Memory .text:000084C8 .text:000084C8 loc_84C8: @ CODE XREF: main+420j .text:000084C8 LDR R3, [R6] @ Load from Memory .text:000084CC CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:000084D0 BLT loc_8528 @ Branch .text:000084D4 MOV R0, #0 @ Rd = Op2 .text:000084D8 BL time @ Branch with Link .text:000084DC LDR R2, =0x51EB851F @ Load from Memory .text:000084E0 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:000084E4 MOV R3, R0,ASR#31 @ Rd = Op2 .text:000084E8 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:000084EC ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:000084F0 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:000084F4 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:000084F8 BL call_gettimeofday @ Branch with Link .text:000084FC MOV R1, R4 @ Rd = Op2 .text:00008500 MOV R2, R0 @ Rd = Op2 .text:00008504 LDR R3, =aMain @ Load from Memory .text:00008508 LDR R0, =logfile_format @ Load from Memory .text:0000850C BL printf @ Branch with Link .text:00008510 LDR R2, =off_35F44 @ Load from Memory .text:00008514 LDR R0, =aRollinsTimeout @ Load from Memory .text:00008518 LDR R1, [R2] @ Load from Memory .text:0000851C BL printf @ Branch with Link .text:00008520 MOV R0, #0 @ Rd = Op2 .text:00008524 BL sub_257B4 @ Branch with Link .text:00008528 .text:00008528 loc_8528: @ CODE XREF: main+440j .text:00008528 LDR R4, =aAuto_pong @ Load from Memory .text:0000852C BL test_uC_ver @ Branch with Link .text:00008530 MOV R0, R4 @ name .text:00008534 BL getenv @ Branch with Link .text:00008538 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000853C BEQ loc_8554 @ Branch .text:00008540 MOV R0, R4 @ name .text:00008544 BL getenv @ Branch with Link .text:00008548 BL sysv_signal_0x0_0xA @ Branch with Link .text:0000854C LDR R3, =dword_35F7C @ Load from Memory .text:00008550 STR R0, [R3] @ Store to Memory .text:00008554 .text:00008554 loc_8554: @ CODE XREF: main+4ACj .text:00008554 LDR R1, =loc_152B0 @ Load from Memory .text:00008558 MOV R0, #0xE @ Rd = Op2 .text:0000855C BL sub_271F4 @ Branch with Link .text:00008560 LDR R1, =print_51d_segv @ Load from Memory .text:00008564 MOV R0, #0xB @ Rd = Op2 .text:00008568 BL sub_271F4 @ Branch with Link .text:0000856C LDR R1, =int_handler @ Load from Memory .text:00008570 MOV R0, #2 @ Rd = Op2 .text:00008574 BL sub_271F4 @ Branch with Link .text:00008578 LDR R3, =xnoenc_flag @ Load from Memory .text:0000857C LDR R0, [R3] @ Load from Memory .text:00008580 BL send_arm_status @ Branch with Link .text:00008584 ADD R10, SP, #0x298+var_128 @ Rd = Op1 + Op2 .text:00008588 ADD R8, SP, #0x298+var_A4 @ Rd = Op1 + Op2 .text:0000858C ADD R9, SP, #0x298+var_270 @ Rd = Op1 + Op2 .text:00008590 ADD R11, SP, #0x298+header? @ Rd = Op1 + Op2 .text:00008594 .text:00008594 loc_8594: @ CODE XREF: main+ACCj .text:00008594 @ main+AD4j ... .text:00008594 MOV R3, #0 @ Rd = Op2 .text:00008598 MOV R2, R3 @ Rd = Op2 .text:0000859C .text:0000859C loc_859C: @ CODE XREF: main+518j .text:0000859C STR R2, [R8,R3,LSL#2] @ Store to Memory .text:000085A0 ADD R3, R3, #1 @ Rd = Op1 + Op2 .text:000085A4 CMP R3, #0x1F @ Set cond. codes on Op1 - Op2 .text:000085A8 BLS loc_859C @ Branch .text:000085AC LDR R3, =dword_45920 @ Load from Memory .text:000085B0 LDR R1, [R3] @ Load from Memory .text:000085B4 ADD R3, SP, #0x298+var_24 @ Rd = Op1 + Op2 .text:000085B8 MOV R2, R1,LSR#5 @ Rd = Op2 .text:000085BC ADD R0, R3, R2,LSL#2 @ Rd = Op1 + Op2 .text:000085C0 LDR R3, [R0,#-0x80] @ Load from Memory .text:000085C4 AND R2, R1, #0x1F @ Rd = Op1 & Op2 .text:000085C8 MOV R6, #1 @ Rd = Op2 .text:000085CC ORR R3, R3, R6,LSL R2 @ Rd = Op2 | Op1 .text:000085D0 STR R3, [R0,#-0x80] @ Store to Memory .text:000085D4 ADD R5, R1, R6 @ Rd = Op1 + Op2 .text:000085D8 BL get_phatsock_fd2 @ Branch with Link .text:000085DC CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000085E0 BLE loc_8620 @ Branch .text:000085E4 BL get_phatsock_fd2 @ Branch with Link .text:000085E8 ADD R2, SP, #0x298+var_24 @ Rd = Op1 + Op2 .text:000085EC MOV R0, R0,LSR#5 @ Rd = Op2 .text:000085F0 ADD R4, R2, R0,LSL#2 @ Rd = Op1 + Op2 .text:000085F4 BL get_phatsock_fd2 @ Branch with Link .text:000085F8 LDR R3, [R4,#-0x80] @ Load from Memory .text:000085FC AND R0, R0, #0x1F @ Rd = Op1 & Op2 .text:00008600 ORR R3, R3, R6,LSL R0 @ Rd = Op2 | Op1 .text:00008604 STR R3, [R4,#-0x80] @ Store to Memory .text:00008608 BL get_phatsock_fd2 @ Branch with Link .text:0000860C ADD R0, R0, R6 @ Rd = Op1 + Op2 .text:00008610 CMP R0, R5 @ Set cond. codes on Op1 - Op2 .text:00008614 BLE loc_8620 @ Branch .text:00008618 BL get_phatsock_fd2 @ Branch with Link .text:0000861C ADD R5, R0, R6 @ Rd = Op1 + Op2 .text:00008620 .text:00008620 loc_8620: @ CODE XREF: main+550j .text:00008620 @ main+584j .text:00008620 LDR R3, =dword_35F60 @ Load from Memory .text:00008624 LDR R12, [R3] @ Load from Memory .text:00008628 CMP R12, #0 @ Set cond. codes on Op1 - Op2 .text:0000862C BLE loc_865C @ Branch .text:00008630 MOV R3, R12,LSR#5 @ Rd = Op2 .text:00008634 ADD R2, SP, #0x298+var_24 @ Rd = Op1 + Op2 .text:00008638 ADD R0, R2, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000863C LDR R2, [R0,#-0x80] @ Load from Memory .text:00008640 MOV R3, #1 @ Rd = Op2 .text:00008644 AND R1, R12, #0x1F @ Rd = Op1 & Op2 .text:00008648 ORR R2, R2, R3,LSL R1 @ Rd = Op2 | Op1 .text:0000864C STR R2, [R0,#-0x80] @ Store to Memory .text:00008650 ADD R3, R12, R3 @ Rd = Op1 + Op2 .text:00008654 CMP R5, R3 @ Set cond. codes on Op1 - Op2 .text:00008658 MOVLT R5, R3 @ Rd = Op2 .text:0000865C .text:0000865C loc_865C: @ CODE XREF: main+59Cj .text:0000865C BL get_dword_360A8 @ Branch with Link .text:00008660 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00008664 BLE loc_86A8 @ Branch .text:00008668 BL get_dword_360A8 @ Branch with Link .text:0000866C ADD R3, SP, #0x298+var_24 @ Rd = Op1 + Op2 .text:00008670 MOV R0, R0,LSR#5 @ Rd = Op2 .text:00008674 ADD R4, R3, R0,LSL#2 @ Rd = Op1 + Op2 .text:00008678 BL get_dword_360A8 @ Branch with Link .text:0000867C LDR R3, [R4,#-0x80] @ Load from Memory .text:00008680 AND R0, R0, #0x1F @ Rd = Op1 & Op2 .text:00008684 MOV R2, #1 @ Rd = Op2 .text:00008688 ORR R3, R3, R2,LSL R0 @ Rd = Op2 | Op1 .text:0000868C STR R3, [R4,#-0x80] @ Store to Memory .text:00008690 BL get_dword_360A8 @ Branch with Link .text:00008694 ADD R0, R0, #1 @ Rd = Op1 + Op2 .text:00008698 CMP R0, R5 @ Set cond. codes on Op1 - Op2 .text:0000869C BLE loc_86A8 @ Branch .text:000086A0 BL get_dword_360A8 @ Branch with Link .text:000086A4 ADD R5, R0, #1 @ Rd = Op1 + Op2 .text:000086A8 .text:000086A8 loc_86A8: @ CODE XREF: main+5D4j .text:000086A8 @ main+60Cj .text:000086A8 LDR R3, =dword_35F2C @ Load from Memory .text:000086AC LDR R1, [R3] @ Load from Memory .text:000086B0 MOV R3, #0 @ Rd = Op2 .text:000086B4 CMP R1, #0 @ Set cond. codes on Op1 - Op2 .text:000086B8 STR R3, [SP,#0x298+var_270] @ Store to Memory .text:000086BC LDRNE R2, =off_35F44 @ Load from Memory .text:000086C0 BNE loc_86F8 @ Branch .text:000086C4 LDR R3, =dword_35F28 @ Load from Memory .text:000086C8 LDR R2, [R3] @ Load from Memory .text:000086CC CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:000086D0 STRNE R1, [R9,#4] @ Store to Memory .text:000086D4 BNE loc_8700 @ Branch .text:000086D8 LDR R3, =dword_35F78 @ Load from Memory .text:000086DC LDR R3, [R3] @ Load from Memory .text:000086E0 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:000086E4 BEQ loc_86FC @ Branch .text:000086E8 LDR R3, [SP,#0x298+var_288] @ Load from Memory .text:000086EC CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:000086F0 BNE loc_86FC @ Branch .text:000086F4 LDR R2, =dword_35F7C @ Load from Memory .text:000086F8 .text:000086F8 loc_86F8: @ CODE XREF: main+630j .text:000086F8 LDR R3, [R2] @ Load from Memory .text:000086FC .text:000086FC loc_86FC: @ CODE XREF: main+654j .text:000086FC @ main+660j .text:000086FC STR R3, [R9,#4] @ Store to Memory .text:00008700 .text:00008700 loc_8700: @ CODE XREF: main+644j .text:00008700 LDR R3, =dword_35F28 @ Load from Memory .text:00008704 LDR R2, [R3] @ Load from Memory .text:00008708 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000870C BNE loc_8730 @ Branch .text:00008710 LDR R3, =dword_35F2C @ Load from Memory .text:00008714 LDR R2, [R3] @ Load from Memory .text:00008718 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000871C BNE loc_8730 @ Branch .text:00008720 LDR R3, =dword_35F78 @ Load from Memory .text:00008724 LDR R12, [R3] @ Load from Memory .text:00008728 CMP R12, #0 @ Set cond. codes on Op1 - Op2 .text:0000872C BEQ loc_9604 @ Branch .text:00008730 .text:00008730 loc_8730: @ CODE XREF: main+67Cj .text:00008730 @ main+68Cj .text:00008730 MOV R2, #0 @ Rd = Op2 .text:00008734 MOV R0, R5 @ Rd = Op2 .text:00008738 MOV R1, R8 @ Rd = Op2 .text:0000873C MOV R3, R2 @ Rd = Op2 .text:00008740 STR R9, [SP,#0x298+packet_id] @ Store to Memory .text:00008744 .text:00008744 loc_8744: @ CODE XREF: main+1588j .text:00008744 BL newselect @ Branch with Link .text:00008748 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000874C MOV R6, R0 @ Rd = Op2 .text:00008750 BLT loc_95A4 @ Branch .text:00008754 BNE loc_8788 @ Branch .text:00008758 LDR R3, =dword_35F28 @ Load from Memory .text:0000875C LDR R7, [R3] @ Load from Memory .text:00008760 CMP R7, #0 @ Set cond. codes on Op1 - Op2 .text:00008764 BNE loc_9580 @ Branch .text:00008768 LDR R3, =dword_35F2C @ Load from Memory .text:0000876C LDR R5, [R3] @ Load from Memory .text:00008770 CMP R5, #0 @ Set cond. codes on Op1 - Op2 .text:00008774 BNE loc_9528 @ Branch .text:00008778 LDR R3, =dword_35F78 @ Load from Memory .text:0000877C LDR R2, [R3] @ Load from Memory .text:00008780 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00008784 BNE loc_94A4 @ Branch .text:00008788 .text:00008788 loc_8788: @ CODE XREF: main+6C4j .text:00008788 BL get_phatsock_fd2 @ Branch with Link .text:0000878C CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00008790 BLE loc_89B4 @ Branch .text:00008794 BL get_phatsock_fd2 @ Branch with Link .text:00008798 ADD R2, SP, #0x298+var_24 @ Rd = Op1 + Op2 .text:0000879C MOV R0, R0,LSR#5 @ Rd = Op2 .text:000087A0 ADD R4, R2, R0,LSL#2 @ Rd = Op1 + Op2 .text:000087A4 BL get_phatsock_fd2 @ Branch with Link .text:000087A8 LDR R3, [R4,#-0x80] @ Load from Memory .text:000087AC AND R0, R0, #0x1F @ Rd = Op1 & Op2 .text:000087B0 MOV R3, R3,ASR R0 @ Rd = Op2 .text:000087B4 TST R3, #1 @ Set cond. codes on Op1 & Op2 .text:000087B8 BEQ loc_89B4 @ Branch .text:000087BC LDR R2, =debug_level @ Load from Memory .text:000087C0 LDR R3, [R2] @ Load from Memory .text:000087C4 CMP R3, #2 @ Set cond. codes on Op1 - Op2 .text:000087C8 BLE loc_8818 @ Branch .text:000087CC MOV R0, #0 @ Rd = Op2 .text:000087D0 BL time @ Branch with Link .text:000087D4 LDR R2, =0x51EB851F @ Load from Memory .text:000087D8 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:000087DC MOV R3, R0,ASR#31 @ Rd = Op2 .text:000087E0 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:000087E4 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:000087E8 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:000087EC SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:000087F0 BL call_gettimeofday @ Branch with Link .text:000087F4 MOV R1, R4 @ Rd = Op2 .text:000087F8 MOV R2, R0 @ Rd = Op2 .text:000087FC LDR R3, =aMain @ Load from Memory .text:00008800 LDR R0, =logfile_format @ Load from Memory .text:00008804 BL printf @ Branch with Link .text:00008808 LDR R0, =aDataFromPhatd @ Load from Memory .text:0000880C BL xdebug_out @ Branch with Link .text:00008810 MOV R0, #0 @ Rd = Op2 .text:00008814 BL sub_257B4 @ Branch with Link .text:00008818 .text:00008818 loc_8818: @ CODE XREF: main+738j .text:00008818 ADD R0, SP, #0x298+var_274 @ Rd = Op1 + Op2 .text:0000881C ADD R1, SP, #0x298+var_278 @ Rd = Op1 + Op2 .text:00008820 ADD R2, SP, #0x298+var_27C @ Rd = Op1 + Op2 .text:00008824 ADD R3, SP, #0x298+var_228 @ Rd = Op1 + Op2 .text:00008828 LDR R5, [SP,#0x298+var_284] @ Load from Memory .text:0000882C BL phat_recv_status @ Branch with Link .text:00008830 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00008834 STR R0, [SP,#0x298+var_284] @ Store to Memory .text:00008838 BEQ loc_924C @ Branch .text:0000883C LDR R0, [SP,#0x298+var_274] @ Load from Memory .text:00008840 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00008844 BLE loc_91C8 @ Branch .text:00008848 LDR R2, =debug_level @ Load from Memory .text:0000884C LDR R3, [R2] @ Load from Memory .text:00008850 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00008854 BLE loc_88D0 @ Branch .text:00008858 MOV R0, #0 @ Rd = Op2 .text:0000885C BL time @ Branch with Link .text:00008860 LDR R2, =0x51EB851F @ Load from Memory .text:00008864 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00008868 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000886C RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00008870 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00008874 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00008878 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000887C BL call_gettimeofday @ Branch with Link .text:00008880 MOV R1, R4 @ Rd = Op2 .text:00008884 MOV R2, R0 @ Rd = Op2 .text:00008888 LDR R3, =aMain @ Load from Memory .text:0000888C LDR R0, =logfile_format @ Load from Memory .text:00008890 BL printf @ Branch with Link .text:00008894 LDR R3, =disk_num @ Load from Memory .text:00008898 LDR R2, =track_num @ Load from Memory .text:0000889C LDR R4, [R3] @ Load from Memory .text:000088A0 LDR R3, =dword_45840 @ Load from Memory .text:000088A4 LDR LR, [R2] @ Load from Memory .text:000088A8 LDR R12, [R3] @ Load from Memory .text:000088AC LDR R1, [SP,#0x298+var_274] @ Load from Memory .text:000088B0 LDR R2, [SP,#0x298+var_278] @ Load from Memory .text:000088B4 LDR R3, [SP,#0x298+var_27C] @ Load from Memory .text:000088B8 LDR R0, =aNowPlayingIIIA @ Load from Memory .text:000088BC STMEA SP, {R4,LR} @ Store Block to Memory .text:000088C0 STR R12, [SP,#0x298+var_290] @ Store to Memory .text:000088C4 BL printf @ Branch with Link .text:000088C8 MOV R0, #0 @ Rd = Op2 .text:000088CC BL sub_257B4 @ Branch with Link .text:000088D0 .text:000088D0 loc_88D0: @ CODE XREF: main+7C4j .text:000088D0 LDR R3, [SP,#0x298+var_27C] @ Load from Memory .text:000088D4 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:000088D8 BEQ loc_8BAC @ Branch .text:000088DC LDR R3, =dword_35F50 @ Load from Memory .text:000088E0 LDR R2, [R3] @ Load from Memory .text:000088E4 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:000088E8 BNE loc_8BAC @ Branch .text:000088EC LDR R3, =dword_45840 @ Load from Memory .text:000088F0 LDR R2, [R3] @ Load from Memory .text:000088F4 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:000088F8 BEQ loc_8910 @ Branch .text:000088FC LDR R3, =disk_num @ Load from Memory .text:00008900 LDR R2, [SP,#0x298+var_274] @ Load from Memory .text:00008904 LDR R1, [R3] @ Load from Memory .text:00008908 CMP R2, R1 @ Set cond. codes on Op1 - Op2 .text:0000890C BEQ loc_8B98 @ Branch .text:00008910 .text:00008910 loc_8910: @ CODE XREF: main+868j .text:00008910 @ main+B18j .text:00008910 LDR R2, =debug_level @ Load from Memory .text:00008914 LDR R3, [R2] @ Load from Memory .text:00008918 CMP R3, #1 @ Set cond. codes on Op1 - Op2 .text:0000891C BLE loc_896C @ Branch .text:00008920 MOV R0, #0 @ Rd = Op2 .text:00008924 BL time @ Branch with Link .text:00008928 LDR R2, =0x51EB851F @ Load from Memory .text:0000892C SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00008930 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00008934 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00008938 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000893C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00008940 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00008944 BL call_gettimeofday @ Branch with Link .text:00008948 MOV R1, R4 @ Rd = Op2 .text:0000894C MOV R2, R0 @ Rd = Op2 .text:00008950 LDR R3, =aMain @ Load from Memory .text:00008954 LDR R0, =logfile_format @ Load from Memory .text:00008958 BL printf @ Branch with Link .text:0000895C LDR R0, =aGotBookmarkSen @ Load from Memory .text:00008960 BL xdebug_out @ Branch with Link .text:00008964 MOV R0, #0 @ Rd = Op2 .text:00008968 BL sub_257B4 @ Branch with Link .text:0000896C .text:0000896C loc_896C: @ CODE XREF: main+88Cj .text:0000896C @ main+B54j ... .text:0000896C BL sub_152E4 @ Branch with Link .text:00008970 .text:00008970 loc_8970: @ CODE XREF: main+C00j .text:00008970 @ main+C78j ... .text:00008970 LDR R0, [SP,#0x298+var_274] @ Load from Memory .text:00008974 .text:00008974 loc_8974: @ CODE XREF: main+F1Cj .text:00008974 @ main+124Cj .text:00008974 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00008978 BLE loc_89B4 @ Branch .text:0000897C LDR R1, [SP,#0x298+var_278] @ Load from Memory .text:00008980 CMP R1, #0 @ Set cond. codes on Op1 - Op2 .text:00008984 BLE loc_89B4 @ Branch .text:00008988 LDR R3, =dword_35F5C @ Load from Memory .text:0000898C LDR R2, [R3] @ Load from Memory .text:00008990 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00008994 BNE loc_89B4 @ Branch .text:00008998 LDR R3, =disk_num @ Load from Memory .text:0000899C LDR R2, =track_num @ Load from Memory .text:000089A0 STR R0, [R3] @ Store to Memory .text:000089A4 STR R1, [R2] @ Store to Memory .text:000089A8 LDR R1, [SP,#0x298+var_27C] @ Load from Memory .text:000089AC LDR R3, =dword_45840 @ Load from Memory .text:000089B0 STR R1, [R3] @ Store to Memory .text:000089B4 .text:000089B4 loc_89B4: @ CODE XREF: main+700j .text:000089B4 @ main+728j ... .text:000089B4 LDR R4, =dword_45920 @ Load from Memory .text:000089B8 LDR R2, [R4] @ Load from Memory .text:000089BC ADD R3, SP, #0x298+var_24 @ Rd = Op1 + Op2 .text:000089C0 MOV R1, R2,LSR#5 @ Rd = Op2 .text:000089C4 ADD R0, R3, R1,LSL#2 @ Rd = Op1 + Op2 .text:000089C8 LDR R3, [R0,#-0x80] @ Load from Memory .text:000089CC AND R2, R2, #0x1F @ Rd = Op1 & Op2 .text:000089D0 MOV R3, R3,ASR R2 @ Rd = Op2 .text:000089D4 TST R3, #1 @ Set cond. codes on Op1 & Op2 .text:000089D8 MOVNE R5, R4 @ Rd = Op2 .text:000089DC MOVNE R4, #0 @ Rd = Op2 .text:000089E0 BNE loc_8B68 @ Branch .text:000089E4 LDR R3, =dword_35F78 @ Load from Memory .text:000089E8 LDR R2, [R3] @ Load from Memory .text:000089EC CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:000089F0 BEQ loc_8A10 @ Branch .text:000089F4 LDR R3, [SP,#0x298+var_270] @ Load from Memory .text:000089F8 RSB R2, R3, R3,LSL#5 @ Rd = Op2 - Op1 .text:000089FC RSB R2, R2, R2,LSL#6 @ Rd = Op2 - Op1 .text:00008A00 LDR R1, [R9,#4] @ Load from Memory .text:00008A04 ADD R3, R3, R2,LSL#3 @ Rd = Op1 + Op2 .text:00008A08 ADD R3, R1, R3,LSL#6 @ Rd = Op1 + Op2 .text:00008A0C STR R3, [SP,#0x298+var_288] @ Store to Memory .text:00008A10 .text:00008A10 loc_8A10: @ CODE XREF: main+960j .text:00008A10 @ main+AF8j .text:00008A10 LDR R5, =dword_35F60 @ Load from Memory .text:00008A14 LDR R0, [R5] @ Load from Memory .text:00008A18 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00008A1C BLE loc_8B38 @ Branch .text:00008A20 MOV R2, R0,LSR#5 @ Rd = Op2 .text:00008A24 ADD R3, SP, #0x298+var_24 @ Rd = Op1 + Op2 .text:00008A28 ADD R1, R3, R2,LSL#2 @ Rd = Op1 + Op2 .text:00008A2C LDR R3, [R1,#-0x80] @ Load from Memory .text:00008A30 AND R2, R0, #0x1F @ Rd = Op1 & Op2 .text:00008A34 MOV R3, R3,ASR R2 @ Rd = Op2 .text:00008A38 TST R3, #1 @ Set cond. codes on Op1 & Op2 .text:00008A3C BEQ loc_8B38 @ Branch .text:00008A40 LDR R2, =debug_level @ Load from Memory .text:00008A44 LDR R3, [R2] @ Load from Memory .text:00008A48 CMP R3, #7 @ Set cond. codes on Op1 - Op2 .text:00008A4C BLE loc_8A9C @ Branch .text:00008A50 MOV R0, #0 @ Rd = Op2 .text:00008A54 BL time @ Branch with Link .text:00008A58 LDR R2, =0x51EB851F @ Load from Memory .text:00008A5C SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00008A60 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00008A64 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00008A68 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00008A6C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00008A70 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00008A74 BL call_gettimeofday @ Branch with Link .text:00008A78 MOV R1, R4 @ Rd = Op2 .text:00008A7C MOV R2, R0 @ Rd = Op2 .text:00008A80 LDR R3, =aMain @ Load from Memory .text:00008A84 LDR R0, =logfile_format @ Load from Memory .text:00008A88 BL printf @ Branch with Link .text:00008A8C LDR R0, =aTheTimerHasEnd @ Load from Memory .text:00008A90 BL xdebug_out @ Branch with Link .text:00008A94 MOV R0, #0 @ Rd = Op2 .text:00008A98 BL sub_257B4 @ Branch with Link .text:00008A9C .text:00008A9C loc_8A9C: @ CODE XREF: main+9BCj .text:00008A9C MOV R2, #1 @ count .text:00008AA0 MOV R1, R10 @ buf .text:00008AA4 LDR R0, [R5,#4] @ fd .text:00008AA8 BL __libc_read @ Branch with Link .text:00008AAC LDR R0, [R5] @ fd .text:00008AB0 BL close @ Branch with Link .text:00008AB4 LDR R0, [R5,#4] @ fd .text:00008AB8 BL close @ Branch with Link .text:00008ABC LDR R3, =dword_35F5C @ Load from Memory .text:00008AC0 LDR R2, [R3] @ Load from Memory .text:00008AC4 MOVL R3, 0xFFFFFFFF .text:00008AC8 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00008ACC STR R3, [R5,#4] @ Store to Memory .text:00008AD0 STR R3, [R5] @ Store to Memory .text:00008AD4 MOVNE R0, #0 @ Rd = Op2 .text:00008AD8 MOVNE R1, R0 @ Rd = Op2 .text:00008ADC BLNE run_audio_id @ Branch with Link .text:00008AE0 LDR R4, =dword_35F8C @ Load from Memory .text:00008AE4 LDR R3, [R4] @ Load from Memory .text:00008AE8 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00008AEC BEQ loc_8B18 @ Branch .text:00008AF0 LDR R3, =dword_45920 @ Load from Memory .text:00008AF4 MOV R1, #0 @ Rd = Op2 .text:00008AF8 LDR R0, [R3] @ Load from Memory .text:00008AFC MOV R12, #0x7F @ '' @ Rd = Op2 .text:00008B00 MOV R3, #1 @ Rd = Op2 .text:00008B04 MOV R2, R1 @ Rd = Op2 .text:00008B08 STR R12, [SP,#0x298+packet_id] @ Store to Memory .text:00008B0C BL rw_packet @ Branch with Link .text:00008B10 MOV R3, #0 @ Rd = Op2 .text:00008B14 STR R3, [R4] @ Store to Memory .text:00008B18 .text:00008B18 loc_8B18: @ CODE XREF: main+A5Cj .text:00008B18 LDR R4, =dword_35F90 @ Load from Memory .text:00008B1C LDR R3, [R4] @ Load from Memory .text:00008B20 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00008B24 BEQ loc_8B38 @ Branch .text:00008B28 MOV R0, #0 @ Rd = Op2 .text:00008B2C BL menu_action @ Branch with Link .text:00008B30 MOV R3, #0 @ Rd = Op2 .text:00008B34 STR R3, [R4] @ Store to Memory .text:00008B38 .text:00008B38 loc_8B38: @ CODE XREF: main+98Cj .text:00008B38 @ main+9ACj ... .text:00008B38 BL get_dword_360A8 @ Branch with Link .text:00008B3C ADD R2, SP, #0x298+var_24 @ Rd = Op1 + Op2 .text:00008B40 MOV R0, R0,LSR#5 @ Rd = Op2 .text:00008B44 ADD R4, R2, R0,LSL#2 @ Rd = Op1 + Op2 .text:00008B48 BL get_dword_360A8 @ Branch with Link .text:00008B4C LDR R3, [R4,#-0x80] @ Load from Memory .text:00008B50 AND R0, R0, #0x1F @ Rd = Op1 & Op2 .text:00008B54 MOV R3, R3,ASR R0 @ Rd = Op2 .text:00008B58 TST R3, #1 @ Set cond. codes on Op1 & Op2 .text:00008B5C BEQ loc_8594 @ Branch .text:00008B60 BL read_message @ Branch with Link .text:00008B64 B loc_8594 @ Branch .text:00008B68 @ --------------------------------------------------------------------------- .text:00008B68 .text:00008B68 loc_8B68: @ CODE XREF: main+950j .text:00008B68 @ main+B04j .text:00008B68 LDR R0, [R5] @ Load from Memory .text:00008B6C MOV R1, R11 @ Rd = Op2 .text:00008B70 MOV R2, R10 @ Rd = Op2 .text:00008B74 MOV R3, R4 @ Rd = Op2 .text:00008B78 STR R4, [SP,#0x298+packet_id] @ Store to Memory .text:00008B7C BL rw_packet @ Branch with Link .text:00008B80 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00008B84 MOV R1, R10 @ Rd = Op2 .text:00008B88 BEQ loc_8A10 @ Branch .text:00008B8C LDR R0, [SP,#0x298+header?] @ Load from Memory .text:00008B90 BL processpack @ Branch with Link .text:00008B94 B loc_8B68 @ Branch .text:00008B98 @ --------------------------------------------------------------------------- .text:00008B98 .text:00008B98 loc_8B98: @ CODE XREF: main+87Cj .text:00008B98 LDR R3, =track_num @ Load from Memory .text:00008B9C LDR R12, [SP,#0x298+var_278] @ Load from Memory .text:00008BA0 LDR R2, [R3] @ Load from Memory .text:00008BA4 CMP R12, R2 @ Set cond. codes on Op1 - Op2 .text:00008BA8 BNE loc_8910 @ Branch .text:00008BAC .text:00008BAC loc_8BAC: @ CODE XREF: main+848j .text:00008BAC @ main+858j .text:00008BAC LDR R3, =dword_35FB8 @ Load from Memory .text:00008BB0 LDR R2, [R3] @ Load from Memory .text:00008BB4 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00008BB8 BEQ loc_8C04 @ Branch .text:00008BBC BL phat_playlistmode @ Branch with Link .text:00008BC0 LDR R3, =play_mode_0x34 @ Load from Memory .text:00008BC4 LDR R2, [R3] @ Load from Memory .text:00008BC8 CMP R0, R2 @ Set cond. codes on Op1 - Op2 .text:00008BCC BEQ loc_8BE8 @ Branch .text:00008BD0 .text:00008BD0 loc_8BD0: @ CODE XREF: main+B64j .text:00008BD0 @ main+B70j .text:00008BD0 BL phat_playlistmode @ Branch with Link .text:00008BD4 LDR R3, =play_mode_0x34 @ Load from Memory .text:00008BD8 STR R0, [R3] @ Store to Memory .text:00008BDC BL phat_playmode @ Branch with Link .text:00008BE0 STR R0, [SP,#0x298+play_mode_0x1F] @ Store to Memory .text:00008BE4 B loc_896C @ Branch .text:00008BE8 @ --------------------------------------------------------------------------- .text:00008BE8 .text:00008BE8 loc_8BE8: @ CODE XREF: main+B3Cj .text:00008BE8 BL phat_playmode @ Branch with Link .text:00008BEC LDR R2, [SP,#0x298+play_mode_0x1F] @ Load from Memory .text:00008BF0 CMP R0, R2 @ Set cond. codes on Op1 - Op2 .text:00008BF4 BNE loc_8BD0 @ Branch .text:00008BF8 LDR R3, [SP,#0x298+var_284] @ Load from Memory .text:00008BFC CMP R3, R5 @ Set cond. codes on Op1 - Op2 .text:00008C00 BNE loc_8BD0 @ Branch .text:00008C04 .text:00008C04 loc_8C04: @ CODE XREF: main+B28j .text:00008C04 LDR R3, =dword_35F74 @ Load from Memory .text:00008C08 LDR R2, [R3] @ Load from Memory .text:00008C0C CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00008C10 BEQ loc_8D5C @ Branch .text:00008C14 LDR R3, =disk_num @ Load from Memory .text:00008C18 LDR R2, [SP,#0x298+var_274] @ Load from Memory .text:00008C1C LDR R1, [R3] @ Load from Memory .text:00008C20 CMP R2, R1 @ Set cond. codes on Op1 - Op2 .text:00008C24 BEQ loc_8C94 @ Branch .text:00008C28 .text:00008C28 loc_8C28: @ CODE XREF: main+C14j .text:00008C28 @ main+C20j ... .text:00008C28 LDR R2, =debug_level @ Load from Memory .text:00008C2C LDR R3, [R2] @ Load from Memory .text:00008C30 CMP R3, #3 @ Set cond. codes on Op1 - Op2 .text:00008C34 BLE loc_8C84 @ Branch .text:00008C38 MOV R0, #0 @ Rd = Op2 .text:00008C3C BL time @ Branch with Link .text:00008C40 LDR R2, =0x51EB851F @ Load from Memory .text:00008C44 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00008C48 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00008C4C RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00008C50 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00008C54 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00008C58 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00008C5C BL call_gettimeofday @ Branch with Link .text:00008C60 MOV R1, R4 @ Rd = Op2 .text:00008C64 MOV R2, R0 @ Rd = Op2 .text:00008C68 LDR R3, =aMain @ Load from Memory .text:00008C6C LDR R0, =logfile_format @ Load from Memory .text:00008C70 BL printf @ Branch with Link .text:00008C74 LDR R0, =aRequestedOnlyA @ Load from Memory .text:00008C78 BL xdebug_out @ Branch with Link .text:00008C7C MOV R0, #0 @ Rd = Op2 .text:00008C80 BL sub_257B4 @ Branch with Link .text:00008C84 .text:00008C84 loc_8C84: @ CODE XREF: main+BA4j .text:00008C84 @ main+DC4j .text:00008C84 LDR R0, [SP,#0x298+var_274] @ Load from Memory .text:00008C88 LDR R1, [SP,#0x298+var_278] @ Load from Memory .text:00008C8C .text:00008C8C loc_8C8C: @ CODE XREF: main+D14j .text:00008C8C @ main+13ACj ... .text:00008C8C BL sub_15BE8 @ Branch with Link .text:00008C90 B loc_8970 @ Branch .text:00008C94 @ --------------------------------------------------------------------------- .text:00008C94 .text:00008C94 loc_8C94: @ CODE XREF: main+B94j .text:00008C94 LDR R3, =track_num @ Load from Memory .text:00008C98 LDR R2, [SP,#0x298+var_278] @ Load from Memory .text:00008C9C LDR R1, [R3] @ Load from Memory .text:00008CA0 CMP R2, R1 @ Set cond. codes on Op1 - Op2 .text:00008CA4 BNE loc_8C28 @ Branch .text:00008CA8 BL phat_playmode @ Branch with Link .text:00008CAC CMP R0, #0x1B @ Set cond. codes on Op1 - Op2 .text:00008CB0 BEQ loc_8C28 @ Branch .text:00008CB4 LDR R3, =dword_35F4C @ Load from Memory .text:00008CB8 LDR R2, [R3] @ Load from Memory .text:00008CBC CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00008CC0 BNE loc_8C28 @ Branch .text:00008CC4 LDR R3, =dword_35F50 @ Load from Memory .text:00008CC8 LDR R2, [R3] @ Load from Memory .text:00008CCC CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00008CD0 BNE loc_8C28 @ Branch .text:00008CD4 LDR R3, =dword_35FB8 @ Load from Memory .text:00008CD8 LDR R2, [R3] @ Load from Memory .text:00008CDC CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00008CE0 BEQ loc_8CFC @ Branch .text:00008CE4 LDR R0, [SP,#0x298+var_274] @ Load from Memory .text:00008CE8 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00008CEC BLE loc_8CFC @ Branch .text:00008CF0 LDR R3, [SP,#0x298+var_278] @ Load from Memory .text:00008CF4 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00008CF8 BGT loc_896C @ Branch .text:00008CFC .text:00008CFC loc_8CFC: @ CODE XREF: main+C50j .text:00008CFC @ main+C5Cj .text:00008CFC LDR R2, =debug_level @ Load from Memory .text:00008D00 LDR R3, [R2] @ Load from Memory .text:00008D04 CMP R3, #4 @ Set cond. codes on Op1 - Op2 .text:00008D08 BLE loc_8970 @ Branch .text:00008D0C MOV R0, #0 @ Rd = Op2 .text:00008D10 BL time @ Branch with Link .text:00008D14 LDR R2, =0x51EB851F @ Load from Memory .text:00008D18 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00008D1C MOV R3, R0,ASR#31 @ Rd = Op2 .text:00008D20 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00008D24 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00008D28 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00008D2C SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00008D30 BL call_gettimeofday @ Branch with Link .text:00008D34 MOV R1, R4 @ Rd = Op2 .text:00008D38 MOV R2, R0 @ Rd = Op2 .text:00008D3C LDR R3, =aMain @ Load from Memory .text:00008D40 LDR R0, =logfile_format @ Load from Memory .text:00008D44 BL printf @ Branch with Link .text:00008D48 LDR R0, =aNoTrackChangeM @ Load from Memory .text:00008D4C .text:00008D4C loc_8D4C: @ CODE XREF: main+E54j .text:00008D4C @ main+F60j .text:00008D4C BL xdebug_out @ Branch with Link .text:00008D50 MOV R0, #0 @ Rd = Op2 .text:00008D54 BL sub_257B4 @ Branch with Link .text:00008D58 B loc_8970 @ Branch .text:00008D5C @ --------------------------------------------------------------------------- .text:00008D5C .text:00008D5C loc_8D5C: @ CODE XREF: main+B80j .text:00008D5C LDR R4, =disk_num @ Load from Memory .text:00008D60 LDR R3, [R4] @ Load from Memory .text:00008D64 LDR R0, [SP,#0x298+var_274] @ Load from Memory .text:00008D68 ADD R3, R3, #1 @ Rd = Op1 + Op2 .text:00008D6C CMP R0, R3 @ Set cond. codes on Op1 - Op2 .text:00008D70 BEQ loc_9014 @ Branch .text:00008D74 CMP R0, #1 @ Set cond. codes on Op1 - Op2 .text:00008D78 BEQ loc_8FF4 @ Branch .text:00008D7C .text:00008D7C loc_8D7C: @ CODE XREF: main+F80j .text:00008D7C LDR R12, [SP,#0x298+var_278] @ Load from Memory .text:00008D80 .text:00008D80 loc_8D80: @ CODE XREF: main+F6Cj .text:00008D80 @ main+F94j .text:00008D80 LDR R3, =disk_num @ Load from Memory .text:00008D84 LDR R2, [R3] @ Load from Memory .text:00008D88 CMP R0, R2 @ Set cond. codes on Op1 - Op2 .text:00008D8C BEQ loc_8F64 @ Branch .text:00008D90 .text:00008D90 loc_8D90: @ CODE XREF: main+EE4j .text:00008D90 @ main+EF4j ... .text:00008D90 LDR R3, =disk_num @ Load from Memory .text:00008D94 LDR R2, [R3] @ Load from Memory .text:00008D98 CMP R0, R2 @ Set cond. codes on Op1 - Op2 .text:00008D9C BEQ loc_8DA8 @ Branch .text:00008DA0 .text:00008DA0 loc_8DA0: @ CODE XREF: main+D24j .text:00008DA0 MOV R1, R12 @ Rd = Op2 .text:00008DA4 B loc_8C8C @ Branch .text:00008DA8 @ --------------------------------------------------------------------------- .text:00008DA8 .text:00008DA8 loc_8DA8: @ CODE XREF: main+D0Cj .text:00008DA8 LDR R3, =track_num @ Load from Memory .text:00008DAC LDR R2, [R3] @ Load from Memory .text:00008DB0 CMP R12, R2 @ Set cond. codes on Op1 - Op2 .text:00008DB4 BNE loc_8DA0 @ Branch .text:00008DB8 LDR R2, =debug_level @ Load from Memory .text:00008DBC LDR R3, [R2] @ Load from Memory .text:00008DC0 CMP R3, #1 @ Set cond. codes on Op1 - Op2 .text:00008DC4 BLE loc_8E14 @ Branch .text:00008DC8 MOV R0, #0 @ Rd = Op2 .text:00008DCC BL time @ Branch with Link .text:00008DD0 LDR R2, =0x51EB851F @ Load from Memory .text:00008DD4 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00008DD8 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00008DDC RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00008DE0 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00008DE4 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00008DE8 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00008DEC BL call_gettimeofday @ Branch with Link .text:00008DF0 MOV R1, R4 @ Rd = Op2 .text:00008DF4 MOV R2, R0 @ Rd = Op2 .text:00008DF8 LDR R3, =aMain @ Load from Memory .text:00008DFC LDR R0, =logfile_format @ Load from Memory .text:00008E00 BL printf @ Branch with Link .text:00008E04 LDR R0, =aChangeToSameTr @ Load from Memory .text:00008E08 BL xdebug_out @ Branch with Link .text:00008E0C MOV R0, #0 @ Rd = Op2 .text:00008E10 BL sub_257B4 @ Branch with Link .text:00008E14 .text:00008E14 loc_8E14: @ CODE XREF: main+D34j .text:00008E14 BL phat_playmode @ Branch with Link .text:00008E18 CMP R0, #0x1B @ Set cond. codes on Op1 - Op2 .text:00008E1C BEQ loc_8F48 @ Branch .text:00008E20 BL phat_playmode @ Branch with Link .text:00008E24 CMP R0, #0x1A @ Set cond. codes on Op1 - Op2 .text:00008E28 BEQ loc_8EFC @ Branch .text:00008E2C .text:00008E2C loc_8E2C: @ CODE XREF: main+E78j .text:00008E2C @ main+E84j .text:00008E2C LDR R3, =dword_35F4C @ Load from Memory .text:00008E30 LDR R2, [R3] @ Load from Memory .text:00008E34 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00008E38 BNE loc_8E4C @ Branch .text:00008E3C LDR R3, =dword_35F50 @ Load from Memory .text:00008E40 LDR R2, [R3] @ Load from Memory .text:00008E44 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00008E48 BEQ loc_8E58 @ Branch .text:00008E4C .text:00008E4C loc_8E4C: @ CODE XREF: main+DA8j .text:00008E4C LDR R3, [SP,#0x298+var_27C] @ Load from Memory .text:00008E50 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00008E54 BEQ loc_8C84 @ Branch .text:00008E58 .text:00008E58 loc_8E58: @ CODE XREF: main+DB8j .text:00008E58 LDR R3, =dword_35F88 @ Load from Memory .text:00008E5C LDR R2, [R3] @ Load from Memory .text:00008E60 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00008E64 BEQ loc_8E78 @ Branch .text:00008E68 LDR R3, =track_num @ Load from Memory .text:00008E6C LDR R2, [R3] @ Load from Memory .text:00008E70 CMP R2, #1 @ Set cond. codes on Op1 - Op2 .text:00008E74 BEQ loc_8EE8 @ Branch .text:00008E78 .text:00008E78 loc_8E78: @ CODE XREF: main+DD4j .text:00008E78 @ main+E68j .text:00008E78 LDR R3, [SP,#0x298+var_27C] @ Load from Memory .text:00008E7C CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00008E80 BEQ loc_8E94 @ Branch .text:00008E84 LDR R3, =dword_35F50 @ Load from Memory .text:00008E88 LDR R2, [R3] @ Load from Memory .text:00008E8C CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00008E90 BEQ loc_896C @ Branch .text:00008E94 .text:00008E94 loc_8E94: @ CODE XREF: main+DF0j .text:00008E94 LDR R2, =debug_level @ Load from Memory .text:00008E98 LDR R3, [R2] @ Load from Memory .text:00008E9C CMP R3, #4 @ Set cond. codes on Op1 - Op2 .text:00008EA0 BLE loc_8970 @ Branch .text:00008EA4 MOV R0, #0 @ Rd = Op2 .text:00008EA8 BL time @ Branch with Link .text:00008EAC LDR R2, =0x51EB851F @ Load from Memory .text:00008EB0 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00008EB4 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00008EB8 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00008EBC ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00008EC0 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00008EC4 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00008EC8 BL call_gettimeofday @ Branch with Link .text:00008ECC MOV R1, R4 @ Rd = Op2 .text:00008ED0 MOV R2, R0 @ Rd = Op2 .text:00008ED4 LDR R3, =aMain @ Load from Memory .text:00008ED8 LDR R0, =logfile_format @ Load from Memory .text:00008EDC BL printf @ Branch with Link .text:00008EE0 LDR R0, =aNoTrackChang_0 @ Load from Memory .text:00008EE4 B loc_8D4C @ Branch .text:00008EE8 @ --------------------------------------------------------------------------- .text:00008EE8 .text:00008EE8 loc_8EE8: @ CODE XREF: main+DE4j .text:00008EE8 LDR R3, =dword_35F50 @ Load from Memory .text:00008EEC LDR R2, [R3] @ Load from Memory .text:00008EF0 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00008EF4 BEQ loc_896C @ Branch .text:00008EF8 B loc_8E78 @ Branch .text:00008EFC @ --------------------------------------------------------------------------- .text:00008EFC .text:00008EFC loc_8EFC: @ CODE XREF: main+D98j .text:00008EFC LDR R0, [SP,#0x298+var_274] @ Load from Memory .text:00008F00 BL phat_numtracks @ Branch with Link .text:00008F04 CMP R0, #1 @ Set cond. codes on Op1 - Op2 .text:00008F08 BNE loc_8E2C @ Branch .text:00008F0C LDR R3, [SP,#0x298+var_27C] @ Load from Memory .text:00008F10 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00008F14 BNE loc_8E2C @ Branch .text:00008F18 LDR R3, =track_offset @ Load from Memory .text:00008F1C LDR R1, [R3] @ Load from Memory .text:00008F20 CMP R1, #0 @ Set cond. codes on Op1 - Op2 .text:00008F24 BNE loc_8970 @ Branch .text:00008F28 .text:00008F28 loc_8F28: @ CODE XREF: main+FC4j .text:00008F28 LDR R3, =dword_45920 @ Load from Memory .text:00008F2C LDR R0, [R3] @ Load from Memory .text:00008F30 MOV R2, R1 @ Rd = Op2 .text:00008F34 MOV R3, #1 @ Rd = Op2 .text:00008F38 .text:00008F38 loc_8F38: @ CODE XREF: main+13C0j .text:00008F38 MOV R12, #0x7A @ 'z' @ Rd = Op2 .text:00008F3C .text:00008F3C loc_8F3C: @ CODE XREF: main+ED0j .text:00008F3C STR R12, [SP,#0x298+packet_id] @ Store to Memory .text:00008F40 BL rw_packet @ Branch with Link .text:00008F44 B loc_8970 @ Branch .text:00008F48 @ --------------------------------------------------------------------------- .text:00008F48 .text:00008F48 loc_8F48: @ CODE XREF: main+D8Cj .text:00008F48 @ main+F0Cj .text:00008F48 LDR R3, =dword_45920 @ Load from Memory .text:00008F4C MOV R1, #0 @ Rd = Op2 .text:00008F50 LDR R0, [R3] @ Load from Memory .text:00008F54 MOV R2, R1 @ Rd = Op2 .text:00008F58 MOV R3, #1 @ Rd = Op2 .text:00008F5C MOV R12, #0x79 @ 'y' @ Rd = Op2 .text:00008F60 B loc_8F3C @ Branch .text:00008F64 @ --------------------------------------------------------------------------- .text:00008F64 .text:00008F64 loc_8F64: @ CODE XREF: main+CFCj .text:00008F64 LDR R3, =track_num @ Load from Memory .text:00008F68 LDR R1, [R3] @ Load from Memory .text:00008F6C ADD R2, R1, #1 @ Rd = Op1 + Op2 .text:00008F70 CMP R12, R2 @ Set cond. codes on Op1 - Op2 .text:00008F74 BNE loc_8D90 @ Branch .text:00008F78 LDR R3, =dword_35F4C @ Load from Memory .text:00008F7C LDR R2, [R3] @ Load from Memory .text:00008F80 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00008F84 BNE loc_8D90 @ Branch .text:00008F88 LDR R3, =dword_35F50 @ Load from Memory .text:00008F8C LDR R5, [R3] @ Load from Memory .text:00008F90 CMP R5, #0 @ Set cond. codes on Op1 - Op2 .text:00008F94 BNE loc_8D90 @ Branch .text:00008F98 CMP R1, #0 @ Set cond. codes on Op1 - Op2 .text:00008F9C BGT loc_8F48 @ Branch .text:00008FA0 LDR R2, =debug_level @ Load from Memory .text:00008FA4 LDR R3, [R2] @ Load from Memory .text:00008FA8 CMP R3, #4 @ Set cond. codes on Op1 - Op2 .text:00008FAC BLE loc_8974 @ Branch .text:00008FB0 MOV R0, R5 @ Rd = Op2 .text:00008FB4 BL time @ Branch with Link .text:00008FB8 LDR R2, =0x51EB851F @ Load from Memory .text:00008FBC SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00008FC0 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00008FC4 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00008FC8 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00008FCC ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00008FD0 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00008FD4 BL call_gettimeofday @ Branch with Link .text:00008FD8 MOV R1, R4 @ Rd = Op2 .text:00008FDC MOV R2, R0 @ Rd = Op2 .text:00008FE0 LDR R3, =aMain @ Load from Memory .text:00008FE4 LDR R0, =logfile_format @ Load from Memory .text:00008FE8 BL printf @ Branch with Link .text:00008FEC LDR R0, =aNoTrackChang_1 @ Load from Memory .text:00008FF0 B loc_8D4C @ Branch .text:00008FF4 @ --------------------------------------------------------------------------- .text:00008FF4 .text:00008FF4 loc_8FF4: @ CODE XREF: main+CE8j .text:00008FF4 LDR R12, [SP,#0x298+var_278] @ Load from Memory .text:00008FF8 CMP R12, #1 @ Set cond. codes on Op1 - Op2 .text:00008FFC BNE loc_8D80 @ Branch .text:00009000 BL phat_numdiscs @ Branch with Link .text:00009004 LDR R3, [R4] @ Load from Memory .text:00009008 CMP R3, R0 @ Set cond. codes on Op1 - Op2 .text:0000900C LDRNE R0, [SP,#0x298+var_274] @ Load from Memory .text:00009010 BNE loc_8D7C @ Branch .text:00009014 .text:00009014 loc_9014: @ CODE XREF: main+CE0j .text:00009014 LDR R12, [SP,#0x298+var_278] @ Load from Memory .text:00009018 CMP R12, #1 @ Set cond. codes on Op1 - Op2 .text:0000901C BEQ loc_9028 @ Branch .text:00009020 .text:00009020 loc_9020: @ CODE XREF: main+FA4j .text:00009020 @ main+FB4j ... .text:00009020 LDR R0, [SP,#0x298+var_274] @ Load from Memory .text:00009024 B loc_8D80 @ Branch .text:00009028 @ --------------------------------------------------------------------------- .text:00009028 .text:00009028 loc_9028: @ CODE XREF: main+F8Cj .text:00009028 LDR R3, =dword_35F4C @ Load from Memory .text:0000902C LDR R2, [R3] @ Load from Memory .text:00009030 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00009034 BNE loc_9020 @ Branch .text:00009038 LDR R3, =dword_35F50 @ Load from Memory .text:0000903C LDR R2, [R3] @ Load from Memory .text:00009040 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00009044 BNE loc_9020 @ Branch .text:00009048 LDR R1, [SP,#0x298+var_27C] @ Load from Memory .text:0000904C CMP R1, #0 @ Set cond. codes on Op1 - Op2 .text:00009050 BNE loc_9020 @ Branch .text:00009054 B loc_8F28 @ Branch .text:00009054 @ --------------------------------------------------------------------------- .text:00009058 @ char *name .text:00009058 name: .long aDebug_level @ DATA XREF: main+4r .text:00009058 @ "DEBUG_LEVEL" .text:0000905C off_905C: .long debug_level @ DATA XREF: main+48r .text:0000905C @ main:loc_8138r ... .text:00009060 @ char *off_9060 .text:00009060 off_9060: .long aDebug_log @ DATA XREF: main:loc_80E0r .text:00009060 @ "DEBUG_LOG" .text:00009064 off_9064: .long off_3D77C @ DATA XREF: main+60r .text:00009068 off_9068: .long aDosLogfile_txt @ DATA XREF: main+64r .text:00009068 @ "/dos/logfile.txt" .text:0000906C off_906C: .long aA @ DATA XREF: main+68r .text:0000906C @ "a" .text:00009070 off_9070: .long aFreopenStdout @ DATA XREF: main+80r .text:00009070 @ "freopen stdout" .text:00009074 off_9074: .long filename @ DATA XREF: main+88r .text:00009074 @ main+334r .text:00009078 off_9078: .long aFreopenStderr @ DATA XREF: main+A0r .text:00009078 @ "freopen stderr" .text:0000907C dword_907C: .long 0x51EB851F @ DATA XREF: main+C0r .text:0000907C @ main+124r ... .text:00009080 off_9080: .long aMain @ DATA XREF: main+E0r .text:00009080 @ main+14Cr ... .text:00009080 @ "main" .text:00009084 off_9084: .long logfile_format @ DATA XREF: main+ECr .text:00009084 @ main+150r ... .text:00009084 @ "%02li.%02li:51d :%-10.10s: " .text:00009088 off_9088: .long build_time @ DATA XREF: main+F4r .text:00009088 @ "18:49:12" .text:0000908C off_908C: .long build_date @ DATA XREF: main+F8r .text:0000908C @ "Mar 3 2004" .text:00009090 off_9090: .long revision_string @ DATA XREF: main+FCr .text:00009090 @ "\n--- 51d (%s %s) --- $Revision: 1.205 $"... .text:00009094 off_9094: .long aDebugLevelI @ DATA XREF: main+15Cr .text:00009094 @ "Debug level = %i\n" .text:00009098 off_9098: .long aDosForceupdate @ DATA XREF: main:loc_8200r .text:00009098 @ "/dos/forceupdate" .text:0000909C off_909C: .long aForceUpdateFil @ DATA XREF: main+1D0r .text:0000909C @ "Force update file found" .text:000090A0 off_90A0: .long xnoenc_flag @ DATA XREF: main:loc_8270r .text:000090A0 @ main:loc_831Cr ... .text:000090A4 off_90A4: .long dword_45888 @ DATA XREF: main:loc_827Cr .text:000090A4 @ main+21Cr .text:000090A8 off_90A8: .long aExec_ini @ DATA XREF: main+218r .text:000090A8 @ "exec.ini" .text:000090AC off_90AC: .long aUpdate @ DATA XREF: main:loc_82C0r .text:000090AC @ "update" .text:000090B0 off_90B0: .long aBlank @ DATA XREF: main+248r .text:000090B0 @ "blank" .text:000090B4 off_90B4: .long aUpdate_noenc @ DATA XREF: main+264r .text:000090B4 @ "update_noenc" .text:000090B8 off_90B8: .long aHelp @ DATA XREF: main+27Cr .text:000090B8 @ "help" .text:000090BC @ char *off_90BC .text:000090BC off_90BC: .long aUc_controll_of @ DATA XREF: main:loc_8330r .text:000090BC @ "uC_CONTROLL_OFF" .text:000090C0 off_90C0: .long aRetryConnectTo @ DATA XREF: main+30Cr .text:000090C0 @ "Retry connect to media daemon" .text:000090C4 off_90C4: .long aCanTConnect @ DATA XREF: main+338r .text:000090C4 @ "Can't connect to media deamon, going in"... .text:000090C8 @ char *off_90C8 .text:000090C8 off_90C8: .long aForce_12_dac @ DATA XREF: main:loc_83E4r .text:000090C8 @ "FORCE_12_DAC" .text:000090CC @ char *off_90CC .text:000090CC off_90CC: .long aUc_isp_timeout @ DATA XREF: main+384r .text:000090CC @ "uC_ISP_TIMEOUT" .text:000090D0 off_90D0: .long aOldIspTimeoutV @ DATA XREF: main+400r .text:000090D0 @ "Old ISP timeout value set to %i uSec\n" .text:000090D4 @ char *off_90D4 .text:000090D4 off_90D4: .long aUc_rollins_tim @ DATA XREF: main:loc_84A0r .text:000090D4 @ "uC_ROLLINS_TIMEOUT" .text:000090D8 off_90D8: .long off_35F44 @ DATA XREF: main+430r .text:000090D8 @ main+480r ... .text:000090DC off_90DC: .long aRollinsTimeout @ DATA XREF: main+484r .text:000090DC @ "Rollins timeout value set to %i uSec\n" .text:000090E0 off_90E0: .long aAuto_pong @ DATA XREF: main:loc_8528r .text:000090E0 @ "AUTO_PONG" .text:000090E4 off_90E4: .long dword_35F7C @ DATA XREF: main+4BCr .text:000090E4 @ main+664r .text:000090E8 off_90E8: .long loc_152B0 @ DATA XREF: main:loc_8554r .text:000090EC off_90EC: .long print_51d_segv @ DATA XREF: main+4D0r .text:000090F0 off_90F0: .long int_handler @ DATA XREF: main+4DCr .text:000090F4 off_90F4: .long dword_35F60 @ DATA XREF: main:loc_8620r .text:000090F4 @ main:loc_8A10r .text:000090F8 off_90F8: .long dword_35F2C @ DATA XREF: main:loc_86A8r .text:000090F8 @ main+680r ... .text:000090FC off_90FC: .long dword_35F28 @ DATA XREF: main+634r .text:000090FC @ main:loc_8700r ... .text:00009100 off_9100: .long dword_35F78 @ DATA XREF: main+648r .text:00009100 @ main+690r ... .text:00009104 off_9104: .long aDataFromPhatd @ DATA XREF: main+778r .text:00009104 @ "Data from phatd" .text:00009108 off_9108: .long aNowPlayingIIIA @ DATA XREF: main+828r .text:00009108 @ "Now Playing %i/%i/%i after %i/%i/%i\n" .text:0000910C off_910C: .long aGotBookmarkSen @ DATA XREF: main+8CCr .text:0000910C @ "Got bookmark, sending SYNC" .text:00009110 off_9110: .long aTheTimerHasEnd @ DATA XREF: main+9FCr .text:00009110 @ "The timer has ended" .text:00009114 off_9114: .long play_mode_0x34 @ DATA XREF: main+B30r .text:00009114 @ main+B44r .text:00009118 off_9118: .long aRequestedOnlyA @ DATA XREF: main+BE4r .text:00009118 @ "Requested only ARM_TRACK_CHANGES" .text:0000911C off_911C: .long dword_35F4C @ DATA XREF: main+C24r .text:0000911C @ main:loc_8E2Cr ... .text:00009120 off_9120: .long aNoTrackChangeM @ DATA XREF: main+CB8r .text:00009120 @ "No track change message sent ID01" .text:00009124 off_9124: .long aChangeToSameTr @ DATA XREF: main+D74r .text:00009124 @ "Change to same track." .text:00009128 off_9128: .long dword_35F88 @ DATA XREF: main:loc_8E58r .text:0000912C off_912C: .long aNoTrackChang_0 @ DATA XREF: main+E50r .text:0000912C @ "No track change message sent ID03" .text:00009130 off_9130: .long track_offset @ DATA XREF: main+E88r .text:00009134 off_9134: .long aNoTrackChang_1 @ DATA XREF: main+F5Cr .text:00009134 @ "No track change message sent ID02" .text:00009138 off_9138: .long aNowPlayingSI @ DATA XREF: main+1188r .text:00009138 @ "Now Playing %s, %i\n" .text:0000913C off_913C: .long dword_35F5C @ DATA XREF: main+8F8r .text:0000913C @ main+A2Cr ... .text:00009140 off_9140: .long aPlayerStoppedC @ DATA XREF: main+1214r .text:00009140 @ "Player stopped, continuing with Audio I"... .text:00009144 off_9144: .long dword_35F38 @ DATA XREF: main:loc_92B8r .text:00009148 off_9148: .long track_num @ DATA XREF: main+808r .text:00009148 @ main+90Cr ... .text:0000914C off_914C: .long dword_45840 @ DATA XREF: main+810r .text:0000914C @ main+85Cr ... .text:00009150 off_9150: .long aAllPlayersStop @ DATA XREF: main+12B0r .text:00009150 @ "All players stopped at %i/%i/%i, ne %i/"... .text:00009154 off_9154: .long dword_35F80 @ DATA XREF: main:loc_9364r .text:00009158 off_9158: .long aFw_02x02x_I+0xC @ DATA XREF: main+12E4r .text:0000915C off_915C: .long dword_45940 @ DATA XREF: main+12F8r .text:00009160 off_9160: .long dword_35F8C @ DATA XREF: main+A50r .text:00009160 @ main+1308r .text:00009164 off_9164: .long dword_35FB8 @ DATA XREF: main:loc_8BACr .text:00009164 @ main+C44r ... .text:00009168 off_9168: .long disk_num @ DATA XREF: main+804r .text:00009168 @ main+86Cr ... .text:0000916C off_916C: .long dword_35F50 @ DATA XREF: main+84Cr .text:0000916C @ main+C34r ... .text:00009170 off_9170: .long dword_35F74 @ DATA XREF: main:loc_8C04r .text:00009170 @ main+1390r ... .text:00009174 off_9174: .long dword_35F90 @ DATA XREF: main:loc_8B18r .text:00009174 @ main:loc_9494r .text:00009178 off_9178: .long aAutoPong @ DATA XREF: main+145Cr .text:00009178 @ "Auto PONG" .text:0000917C off_917C: .long aAckTimeout @ DATA XREF: main+14E0r .text:0000917C @ "ACK timeout" .text:00009180 off_9180: .long dword_45920 @ DATA XREF: main+374r .text:00009180 @ main+51Cr ... .text:00009184 off_9184: .long debug_level @ DATA XREF: main:loc_91C8r .text:00009184 @ main+11CCr ... .text:00009188 dword_9188: .long 0x51EB851F @ DATA XREF: main+1150r .text:00009188 @ main+11E0r ... .text:0000918C off_918C: .long aMain @ DATA XREF: main+1178r .text:0000918C @ main+1208r ... .text:0000918C @ "main" .text:00009190 off_9190: .long logfile_format @ DATA XREF: main+117Cr .text:00009190 @ main+120Cr ... .text:00009190 @ "%02li.%02li:51d :%-10.10s: " .text:00009194 off_9194: .long aSelectInterrup @ DATA XREF: main+1560r .text:00009194 @ "Select interrupted by signal" .text:00009198 off_9198: .long off_35F40 @ DATA XREF: main+3A4r .text:00009198 @ main:loc_961Cr .text:0000919C off_919C: .long aVersion @ DATA XREF: main+15A8r .text:0000919C @ "version" .text:000091A0 off_91A0: .long aRevision1_205 @ DATA XREF: main+15C4r .text:000091A0 @ "$Revision: 1.205 $" .text:000091A4 off_91A4: .long aMediumTranspor+0x1C @ DATA XREF: main+1608r .text:000091A8 off_91A8: .long aArguments @ DATA XREF: main:loc_96A8r .text:000091A8 @ "Arguments:" .text:000091AC off_91AC: .long aUpdateForceUpd @ DATA XREF: main+1620r .text:000091AC @ "update - force update" .text:000091B0 off_91B0: .long aBlankBlankUc @ DATA XREF: main+1628r .text:000091B0 @ "blank - blank uC" .text:000091B4 off_91B4: .long aUpdate_noencFo @ DATA XREF: main+1630r .text:000091B4 @ "update_noenc - force unencrypted update"... .text:000091B8 off_91B8: .long aEnvironmentVar @ DATA XREF: main+1638r .text:000091B8 @ "\nEnvironment variables:" .text:000091BC off_91BC: .long aUc_isp_timeo_0 @ DATA XREF: main+1640r .text:000091BC @ "uC_ISP_TIMEOUT - timeout in old-style I"... .text:000091C0 off_91C0: .long aUc_rollins_t_0 @ DATA XREF: main+1648r .text:000091C0 @ "uC_ROLLINS_TIMEOUT - timeout in ProtoPh"... .text:000091C4 off_91C4: .long aUc_control_off @ DATA XREF: main+1650r .text:000091C4 @ "uC_CONTROL_OFF - Don't connect to media"... .text:000091C8 @ --------------------------------------------------------------------------- .text:000091C8 .text:000091C8 loc_91C8: @ CODE XREF: main+7B4j .text:000091C8 LDR R2, =debug_level @ Load from Memory .text:000091CC LDR R3, [R2] @ Load from Memory .text:000091D0 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:000091D4 BLE loc_922C @ Branch .text:000091D8 MOV R0, #0 @ Rd = Op2 .text:000091DC BL time @ Branch with Link .text:000091E0 LDR R2, =0x51EB851F @ Load from Memory .text:000091E4 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:000091E8 MOV R3, R0,ASR#31 @ Rd = Op2 .text:000091EC RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:000091F0 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:000091F4 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:000091F8 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:000091FC BL call_gettimeofday @ Branch with Link .text:00009200 MOV R1, R4 @ Rd = Op2 .text:00009204 MOV R2, R0 @ Rd = Op2 .text:00009208 LDR R3, =aMain @ Load from Memory .text:0000920C LDR R0, =logfile_format @ Load from Memory .text:00009210 BL printf @ Branch with Link .text:00009214 LDR R2, [SP,#0x298+var_27C] @ Load from Memory .text:00009218 LDR R0, =aNowPlayingSI @ Load from Memory .text:0000921C ADD R1, SP, #0x298+var_228 @ Rd = Op1 + Op2 .text:00009220 BL printf @ Branch with Link .text:00009224 MOV R0, #0 @ Rd = Op2 .text:00009228 BL sub_257B4 @ Branch with Link .text:0000922C .text:0000922C loc_922C: @ CODE XREF: main+1144j .text:0000922C LDR R3, =dword_35F5C @ Load from Memory .text:00009230 LDR R2, [R3] @ Load from Memory .text:00009234 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00009238 BEQ loc_8970 @ Branch .text:0000923C .text:0000923C loc_923C: @ CODE XREF: main+11D8j .text:0000923C @ main+1224j .text:0000923C MOV R0, #0 @ Rd = Op2 .text:00009240 MOV R1, R0 @ Rd = Op2 .text:00009244 BL run_audio_id @ Branch with Link .text:00009248 B loc_8970 @ Branch .text:0000924C @ --------------------------------------------------------------------------- .text:0000924C .text:0000924C loc_924C: @ CODE XREF: main+7A8j .text:0000924C LDR R3, =dword_35F5C @ Load from Memory .text:00009250 LDR R4, [R3] @ Load from Memory .text:00009254 CMP R4, #0 @ Set cond. codes on Op1 - Op2 .text:00009258 BEQ loc_92B8 @ Branch .text:0000925C LDR R2, =debug_level @ Load from Memory .text:00009260 LDR R3, [R2] @ Load from Memory .text:00009264 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00009268 BLE loc_923C @ Branch .text:0000926C BL time @ Branch with Link .text:00009270 LDR R2, =0x51EB851F @ Load from Memory .text:00009274 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00009278 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000927C RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00009280 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00009284 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00009288 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000928C BL call_gettimeofday @ Branch with Link .text:00009290 MOV R1, R4 @ Rd = Op2 .text:00009294 MOV R2, R0 @ Rd = Op2 .text:00009298 LDR R3, =aMain @ Load from Memory .text:0000929C LDR R0, =logfile_format @ Load from Memory .text:000092A0 BL printf @ Branch with Link .text:000092A4 LDR R0, =aPlayerStoppedC @ Load from Memory .text:000092A8 BL xdebug_out @ Branch with Link .text:000092AC LDR R0, [SP,#0x298+var_284] @ Load from Memory .text:000092B0 BL sub_257B4 @ Branch with Link .text:000092B4 B loc_923C @ Branch .text:000092B8 @ --------------------------------------------------------------------------- .text:000092B8 .text:000092B8 loc_92B8: @ CODE XREF: main+11C8j .text:000092B8 LDR R5, =dword_35F38 @ Load from Memory .text:000092BC LDR R6, [R5] @ Load from Memory .text:000092C0 CMP R6, #0 @ Set cond. codes on Op1 - Op2 .text:000092C4 BEQ loc_92E0 @ Branch .text:000092C8 MOV R0, R6 @ Rd = Op2 .text:000092CC MOV R1, R4 @ Rd = Op2 .text:000092D0 BL phat_playfile @ Branch with Link .text:000092D4 LDR R0, [SP,#0x298+var_274] @ Load from Memory .text:000092D8 STR R4, [R5] @ Store to Memory .text:000092DC B loc_8974 @ Branch .text:000092E0 @ --------------------------------------------------------------------------- .text:000092E0 .text:000092E0 loc_92E0: @ CODE XREF: main+1234j .text:000092E0 LDR R2, =debug_level @ Load from Memory .text:000092E4 LDR R3, [R2] @ Load from Memory .text:000092E8 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:000092EC BLE loc_9364 @ Branch .text:000092F0 BL time @ Branch with Link .text:000092F4 LDR R2, =0x51EB851F @ Load from Memory .text:000092F8 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:000092FC MOV R3, R0,ASR#31 @ Rd = Op2 .text:00009300 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00009304 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00009308 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000930C SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00009310 BL call_gettimeofday @ Branch with Link .text:00009314 MOV R1, R4 @ Rd = Op2 .text:00009318 MOV R2, R0 @ Rd = Op2 .text:0000931C LDR R3, =aMain @ Load from Memory .text:00009320 LDR R0, =logfile_format @ Load from Memory .text:00009324 BL printf @ Branch with Link .text:00009328 LDR R3, =disk_num @ Load from Memory .text:0000932C LDR R2, =track_num @ Load from Memory .text:00009330 LDR R12, [R3] @ Load from Memory .text:00009334 LDR R3, =dword_45840 @ Load from Memory .text:00009338 LDR LR, [R2] @ Load from Memory .text:0000933C LDR R4, [R3] @ Load from Memory .text:00009340 LDR R0, =aAllPlayersStop @ Load from Memory .text:00009344 LDR R1, [SP,#0x298+var_274] @ Load from Memory .text:00009348 LDR R2, [SP,#0x298+var_278] @ Load from Memory .text:0000934C LDR R3, [SP,#0x298+var_27C] @ Load from Memory .text:00009350 STMEA SP, {R12,LR} @ Store Block to Memory .text:00009354 STR R4, [SP,#0x298+var_290] @ Store to Memory .text:00009358 BL printf @ Branch with Link .text:0000935C MOV R0, R6 @ Rd = Op2 .text:00009360 BL sub_257B4 @ Branch with Link .text:00009364 .text:00009364 loc_9364: @ CODE XREF: main+125Cj .text:00009364 LDR R4, =dword_35F80 @ Load from Memory .text:00009368 LDR R2, [R4] @ Load from Memory .text:0000936C CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00009370 BEQ loc_93A8 @ Branch .text:00009374 LDR R1, =(aFw_02x02x_I+0xC) @ Load from Memory .text:00009378 MOV R0, R10 @ Rd = Op2 .text:0000937C BL xsprintf @ Branch with Link .text:00009380 MOV R0, R10 @ Rd = Op2 .text:00009384 BL start_wait @ Branch with Link .text:00009388 LDR R3, =dword_45940 @ Load from Memory .text:0000938C LDR R2, [R3] @ Load from Memory .text:00009390 CMP R2, #1 @ Set cond. codes on Op1 - Op2 .text:00009394 STR R6, [R4] @ Store to Memory .text:00009398 LDREQ R3, =dword_35F8C @ Load from Memory .text:0000939C BEQ loc_949C @ Branch .text:000093A0 CMP R2, #2 @ Set cond. codes on Op1 - Op2 .text:000093A4 BEQ loc_9494 @ Branch .text:000093A8 .text:000093A8 loc_93A8: @ CODE XREF: main+12E0j .text:000093A8 @ main+1410j .text:000093A8 LDR R4, =disk_num @ Load from Memory .text:000093AC LDR R3, [R4] @ Load from Memory .text:000093B0 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:000093B4 BLE loc_93D0 @ Branch .text:000093B8 LDR R2, [SP,#0x298+var_274] @ Load from Memory .text:000093BC ADD R3, R3, #1 @ Rd = Op1 + Op2 .text:000093C0 CMP R2, R3 @ Set cond. codes on Op1 - Op2 .text:000093C4 BEQ loc_9464 @ Branch .text:000093C8 CMP R2, #1 @ Set cond. codes on Op1 - Op2 .text:000093CC BEQ loc_9454 @ Branch .text:000093D0 .text:000093D0 loc_93D0: @ CODE XREF: main+1324j .text:000093D0 @ main+13D0j ... .text:000093D0 BL phat_playmode @ Branch with Link .text:000093D4 CMP R0, #0x1A @ Set cond. codes on Op1 - Op2 .text:000093D8 BEQ loc_93F0 @ Branch .text:000093DC .text:000093DC loc_93DC: @ CODE XREF: main+1370j .text:000093DC @ main+137Cj ... .text:000093DC LDR R3, =dword_35FB8 @ Load from Memory .text:000093E0 LDR R2, [R3] @ Load from Memory .text:000093E4 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:000093E8 BEQ loc_8970 @ Branch .text:000093EC B loc_896C @ Branch .text:000093F0 @ --------------------------------------------------------------------------- .text:000093F0 .text:000093F0 loc_93F0: @ CODE XREF: main+1348j .text:000093F0 LDR R3, =disk_num @ Load from Memory .text:000093F4 LDR R0, [SP,#0x298+var_274] @ Load from Memory .text:000093F8 LDR R2, [R3] @ Load from Memory .text:000093FC CMP R2, R0 @ Set cond. codes on Op1 - Op2 .text:00009400 BNE loc_93DC @ Branch .text:00009404 LDR R12, [SP,#0x298+var_278] @ Load from Memory .text:00009408 CMP R12, #1 @ Set cond. codes on Op1 - Op2 .text:0000940C BHI loc_93DC @ Branch .text:00009410 LDR R3, =dword_35F50 @ Load from Memory .text:00009414 LDR R2, [R3] @ Load from Memory .text:00009418 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000941C BNE loc_93DC @ Branch .text:00009420 LDR R3, =dword_35F74 @ Load from Memory .text:00009424 LDR R1, [R3] @ Load from Memory .text:00009428 CMP R1, #0 @ Set cond. codes on Op1 - Op2 .text:0000942C BEQ loc_9440 @ Branch .text:00009430 CMP R12, #0 @ Set cond. codes on Op1 - Op2 .text:00009434 MOVNE R1, R12 @ Rd = Op2 .text:00009438 MOVEQ R1, #1 @ Rd = Op2 .text:0000943C B loc_8C8C @ Branch .text:00009440 @ --------------------------------------------------------------------------- .text:00009440 .text:00009440 loc_9440: @ CODE XREF: main+139Cj .text:00009440 @ main+13ECj .text:00009440 LDR R3, =dword_45920 @ Load from Memory .text:00009444 MOV R2, R1 @ Rd = Op2 .text:00009448 LDR R0, [R3] @ Load from Memory .text:0000944C MOV R3, #1 @ Rd = Op2 .text:00009450 B loc_8F38 @ Branch .text:00009454 @ --------------------------------------------------------------------------- .text:00009454 .text:00009454 loc_9454: @ CODE XREF: main+133Cj .text:00009454 BL phat_numdiscs @ Branch with Link .text:00009458 LDR R3, [R4] @ Load from Memory .text:0000945C CMP R3, R0 @ Set cond. codes on Op1 - Op2 .text:00009460 BNE loc_93D0 @ Branch .text:00009464 .text:00009464 loc_9464: @ CODE XREF: main+1334j .text:00009464 LDR R2, [SP,#0x298+var_278] @ Load from Memory .text:00009468 CMP R2, #1 @ Set cond. codes on Op1 - Op2 .text:0000946C BHI loc_93D0 @ Branch .text:00009470 LDR R3, =dword_35F74 @ Load from Memory .text:00009474 LDR R1, [R3] @ Load from Memory .text:00009478 CMP R1, #0 @ Set cond. codes on Op1 - Op2 .text:0000947C BEQ loc_9440 @ Branch .text:00009480 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00009484 LDR R0, [SP,#0x298+var_274] @ Load from Memory .text:00009488 MOVNE R1, R2 @ Rd = Op2 .text:0000948C MOVEQ R1, #1 @ Rd = Op2 .text:00009490 B loc_8C8C @ Branch .text:00009494 @ --------------------------------------------------------------------------- .text:00009494 .text:00009494 loc_9494: @ CODE XREF: main+1314j .text:00009494 LDR R3, =dword_35F90 @ Load from Memory .text:00009498 MOV R2, #1 @ Rd = Op2 .text:0000949C .text:0000949C loc_949C: @ CODE XREF: main+130Cj .text:0000949C STR R2, [R3] @ Store to Memory .text:000094A0 B loc_93A8 @ Branch .text:000094A4 @ --------------------------------------------------------------------------- .text:000094A4 .text:000094A4 loc_94A4: @ CODE XREF: main+6F4j .text:000094A4 LDR R2, =debug_level @ Load from Memory .text:000094A8 LDR R3, [R2] @ Load from Memory .text:000094AC CMP R3, #2 @ Set cond. codes on Op1 - Op2 .text:000094B0 BLE loc_94FC @ Branch .text:000094B4 BL time @ Branch with Link .text:000094B8 LDR R2, =0x51EB851F @ Load from Memory .text:000094BC SMULL R3, R1, R2, R0 @ Signed Multiply long .text:000094C0 MOV R3, R0,ASR#31 @ Rd = Op2 .text:000094C4 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:000094C8 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:000094CC ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:000094D0 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:000094D4 BL call_gettimeofday @ Branch with Link .text:000094D8 MOV R1, R4 @ Rd = Op2 .text:000094DC MOV R2, R0 @ Rd = Op2 .text:000094E0 LDR R3, =aMain @ Load from Memory .text:000094E4 LDR R0, =logfile_format @ Load from Memory .text:000094E8 BL printf @ Branch with Link .text:000094EC LDR R0, =aAutoPong @ Load from Memory .text:000094F0 BL xdebug_out @ Branch with Link .text:000094F4 MOV R0, R5 @ Rd = Op2 .text:000094F8 BL sub_257B4 @ Branch with Link .text:000094FC .text:000094FC loc_94FC: @ CODE XREF: main+1420j .text:000094FC LDR R3, =dword_45920 @ Load from Memory .text:00009500 MOV R12, #0x70 @ 'p' @ Rd = Op2 .text:00009504 LDR R0, [R3] @ Load from Memory .text:00009508 MOV R2, R5 @ Rd = Op2 .text:0000950C MOV R1, R6 @ Rd = Op2 .text:00009510 MOV R3, #1 @ Rd = Op2 .text:00009514 STR R12, [SP,#0x298+packet_id] @ Store to Memory .text:00009518 BL rw_packet @ Branch with Link .text:0000951C STR R6, [SP,#0x298+var_288] @ Store to Memory .text:00009520 BL sched_yield @ Branch with Link .text:00009524 B loc_8594 @ Branch .text:00009528 @ --------------------------------------------------------------------------- .text:00009528 .text:00009528 loc_9528: @ CODE XREF: main+6E4j .text:00009528 LDR R2, =debug_level @ Load from Memory .text:0000952C LDR R3, [R2] @ Load from Memory .text:00009530 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00009534 BLT loc_9580 @ Branch .text:00009538 BL time @ Branch with Link .text:0000953C LDR R2, =0x51EB851F @ Load from Memory .text:00009540 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00009544 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00009548 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000954C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00009550 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00009554 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00009558 BL call_gettimeofday @ Branch with Link .text:0000955C MOV R1, R4 @ Rd = Op2 .text:00009560 MOV R2, R0 @ Rd = Op2 .text:00009564 LDR R3, =aMain @ Load from Memory .text:00009568 LDR R0, =logfile_format @ Load from Memory .text:0000956C BL printf @ Branch with Link .text:00009570 LDR R0, =aAckTimeout @ Load from Memory .text:00009574 BL xdebug_out @ Branch with Link .text:00009578 MOV R0, R7 @ Rd = Op2 .text:0000957C BL sub_257B4 @ Branch with Link .text:00009580 .text:00009580 loc_9580: @ CODE XREF: main+6D4j .text:00009580 @ main+14A4j .text:00009580 LDR R3, =dword_45920 @ Load from Memory .text:00009584 MOV R1, R6 @ Rd = Op2 .text:00009588 LDR R0, [R3] @ Load from Memory .text:0000958C MOV R2, R6 @ Rd = Op2 .text:00009590 MOV R3, #2 @ Rd = Op2 .text:00009594 STR R6, [SP,#0x298+packet_id] @ Store to Memory .text:00009598 BL rw_packet @ Branch with Link .text:0000959C STR R6, [SP,#0x298+var_288] @ Store to Memory .text:000095A0 B loc_8594 @ Branch .text:000095A4 @ --------------------------------------------------------------------------- .text:000095A4 .text:000095A4 loc_95A4: @ CODE XREF: main+6C0j .text:000095A4 LDR R2, =debug_level @ Load from Memory .text:000095A8 LDR R3, [R2] @ Load from Memory .text:000095AC CMP R3, #7 @ Set cond. codes on Op1 - Op2 .text:000095B0 BLE loc_8594 @ Branch .text:000095B4 MOV R0, #0 @ Rd = Op2 .text:000095B8 BL time @ Branch with Link .text:000095BC LDR R2, =0x51EB851F @ Load from Memory .text:000095C0 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:000095C4 MOV R3, R0,ASR#31 @ Rd = Op2 .text:000095C8 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:000095CC ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:000095D0 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:000095D4 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:000095D8 BL call_gettimeofday @ Branch with Link .text:000095DC MOV R1, R4 @ Rd = Op2 .text:000095E0 MOV R2, R0 @ Rd = Op2 .text:000095E4 LDR R3, =aMain @ Load from Memory .text:000095E8 LDR R0, =logfile_format @ Load from Memory .text:000095EC BL printf @ Branch with Link .text:000095F0 LDR R0, =aSelectInterrup @ Load from Memory .text:000095F4 BL xdebug_out @ Branch with Link .text:000095F8 MOV R0, #0 @ Rd = Op2 .text:000095FC BL sub_257B4 @ Branch with Link .text:00009600 B loc_8594 @ Branch .text:00009604 @ --------------------------------------------------------------------------- .text:00009604 .text:00009604 loc_9604: @ CODE XREF: main+69Cj .text:00009604 STR R12, [SP,#0x298+packet_id] @ Store to Memory .text:00009608 MOV R2, R12 @ Rd = Op2 .text:0000960C MOV R0, R5 @ Rd = Op2 .text:00009610 MOV R1, R8 @ Rd = Op2 .text:00009614 MOV R3, R12 @ Rd = Op2 .text:00009618 B loc_8744 @ Branch .text:0000961C @ --------------------------------------------------------------------------- .text:0000961C .text:0000961C loc_961C: @ CODE XREF: main+394j .text:0000961C LDR R5, =off_35F40 @ Load from Memory .text:00009620 B loc_843C @ Branch .text:00009624 @ --------------------------------------------------------------------------- .text:00009624 .text:00009624 loc_9624: @ CODE XREF: main+380j .text:00009624 MOV R0, #1 @ Rd = Op2 .text:00009628 .text:00009628 loc_9628: @ CODE XREF: main+1614j .text:00009628 BL sub_274E4 @ Branch with Link .text:0000962C .text:0000962C loc_962C: @ CODE XREF: main+284j .text:0000962C LDR R0, [R6,R4,LSL#2] @ Load from Memory .text:00009630 BL xstrcmp @ Branch with Link .text:00009634 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00009638 LDR R1, =aVersion @ Load from Memory .text:0000963C MOV R2, #8 @ Rd = Op2 .text:00009640 BEQ loc_96A8 @ Branch .text:00009644 LDR R0, [R6,R4,LSL#2] @ Load from Memory .text:00009648 BL xstrcmp @ Branch with Link .text:0000964C CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00009650 BNE loc_8324 @ Branch .text:00009654 LDR R4, =aRevision1_205 @ Load from Memory .text:00009658 LDMIA R4!, {R0-R3} @ Load Block from Memory .text:0000965C ADD R5, SP, #0x298+var_128 @ Rd = Op1 + Op2 .text:00009660 STMIA R5!, {R0-R3} @ Store Block to Memory .text:00009664 LDR R3, [R4] @ Load from Memory .text:00009668 STRH R3, [R5],#2 @ Store to Memory .text:0000966C ADD R4, SP, #0x298+var_128 @ Rd = Op1 + Op2 .text:00009670 MOV R3, R3,LSR#16 @ Rd = Op2 .text:00009674 MOV R1, #0x2E @ '.' @ Rd = Op2 .text:00009678 STRB R3, [R5] @ Store to Memory .text:0000967C MOV R0, R4 @ Rd = Op2 .text:00009680 BL sub_26B4C @ Branch with Link .text:00009684 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00009688 ADDNE R0, R0, #1 @ Rd = Op1 + Op2 .text:0000968C MOVEQ R0, R4 @ Rd = Op2 .text:00009690 BL sysv_signal_0x0_0xA @ Branch with Link .text:00009694 MOV R1, R0 @ Rd = Op2 .text:00009698 LDR R0, =(aMediumTranspor+0x1C) @ Load from Memory .text:0000969C BL printf @ Branch with Link .text:000096A0 .text:000096A0 loc_96A0: @ CODE XREF: main+1658j .text:000096A0 MOV R0, #0 @ Rd = Op2 .text:000096A4 B loc_9628 @ Branch .text:000096A8 @ --------------------------------------------------------------------------- .text:000096A8 .text:000096A8 loc_96A8: @ CODE XREF: main+15B0j .text:000096A8 LDR R0, =aArguments @ Load from Memory .text:000096AC BL xdebug_out @ Branch with Link .text:000096B0 LDR R0, =aUpdateForceUpd @ Load from Memory .text:000096B4 BL xdebug_out @ Branch with Link .text:000096B8 LDR R0, =aBlankBlankUc @ Load from Memory .text:000096BC BL xdebug_out @ Branch with Link .text:000096C0 LDR R0, =aUpdate_noencFo @ Load from Memory .text:000096C4 BL xdebug_out @ Branch with Link .text:000096C8 LDR R0, =aEnvironmentVar @ Load from Memory .text:000096CC BL xdebug_out @ Branch with Link .text:000096D0 LDR R0, =aUc_isp_timeo_0 @ Load from Memory .text:000096D4 BL xdebug_out @ Branch with Link .text:000096D8 LDR R0, =aUc_rollins_t_0 @ Load from Memory .text:000096DC BL xdebug_out @ Branch with Link .text:000096E0 LDR R0, =aUc_control_off @ Load from Memory .text:000096E4 BL xdebug_out @ Branch with Link .text:000096E8 B loc_96A0 @ Branch .text:000096E8 @ End of function main .text:000096E8 .text:000096EC .text:000096EC @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:000096EC .text:000096EC .text:000096EC openserport: @ CODE XREF: main+370p .text:000096EC STMFD SP!, {R4-R6,LR} @ Store Block to Memory .text:000096F0 LDR R6, =aDevTtys1 @ Load from Memory .text:000096F4 MOV R1, #2 @ oflag .text:000096F8 MOV R0, R6 @ file .text:000096FC BL __libc_open @ Branch with Link .text:00009700 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00009704 MOV R5, R0 @ Rd = Op2 .text:00009708 BLT loc_977C @ Branch .text:0000970C BL set_serial_speed @ Branch with Link .text:00009710 LDR R3, =debug_level @ Load from Memory .text:00009714 LDR R2, [R3] @ Load from Memory .text:00009718 MOV R0, #0 @ Rd = Op2 .text:0000971C CMP R2, R0 @ Set cond. codes on Op1 - Op2 .text:00009720 BLT loc_9774 @ Branch .text:00009724 BL time @ Branch with Link .text:00009728 LDR R2, =0x51EB851F @ Load from Memory .text:0000972C SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00009730 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00009734 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00009738 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000973C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00009740 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00009744 BL call_gettimeofday @ Branch with Link .text:00009748 MOV R1, R4 @ Rd = Op2 .text:0000974C MOV R2, R0 @ Rd = Op2 .text:00009750 LDR R3, =aOpenserport @ Load from Memory .text:00009754 LDR R0, =logfile_format @ Load from Memory .text:00009758 BL printf @ Branch with Link .text:0000975C MOV R1, R6 @ Rd = Op2 .text:00009760 LDR R0, =aSOpenFdD @ Load from Memory .text:00009764 MOV R2, R5 @ Rd = Op2 .text:00009768 BL printf @ Branch with Link .text:0000976C MOV R0, #0 @ Rd = Op2 .text:00009770 BL sub_257B4 @ Branch with Link .text:00009774 .text:00009774 loc_9774: @ CODE XREF: openserport+34j .text:00009774 MOV R0, R5 @ Rd = Op2 .text:00009778 LDMFD SP!, {R4-R6,PC} @ Load Block from Memory .text:0000977C @ --------------------------------------------------------------------------- .text:0000977C .text:0000977C loc_977C: @ CODE XREF: openserport+1Cj .text:0000977C BL __set_errno @ Branch with Link .text:00009780 LDR R0, [R0] @ Load from Memory .text:00009784 BL sub_26D74 @ Branch with Link .text:00009788 LDR R2, =filename @ Load from Memory .text:0000978C MOV R3, R0 @ Rd = Op2 .text:00009790 LDR R1, =aCanTOpenSS @ Load from Memory .text:00009794 LDR R0, [R2] @ Load from Memory .text:00009798 MOV R2, R6 @ Rd = Op2 .text:0000979C BL sub_26818 @ Branch with Link .text:000097A0 MOVL R0, 0xFFFFFFFF .text:000097A4 LDMFD SP!, {R4-R6,PC} @ Load Block from Memory .text:000097A4 @ End of function openserport .text:000097A4 .text:000097A4 @ --------------------------------------------------------------------------- .text:000097A8 @ char *file .text:000097A8 file: .long aDevTtys1 @ DATA XREF: openserport+4r .text:000097A8 @ "/dev/ttyS1" .text:000097AC off_97AC: .long debug_level @ DATA XREF: openserport+24r .text:000097B0 dword_97B0: .long 0x51EB851F @ DATA XREF: openserport+3Cr .text:000097B4 off_97B4: .long aOpenserport @ DATA XREF: openserport+64r .text:000097B4 @ "openserport" .text:000097B8 off_97B8: .long logfile_format @ DATA XREF: openserport+68r .text:000097B8 @ "%02li.%02li:51d :%-10.10s: " .text:000097BC off_97BC: .long aSOpenFdD @ DATA XREF: openserport+74r .text:000097BC @ "%s open fd=%d\n" .text:000097C0 off_97C0: .long filename @ DATA XREF: openserport+9Cr .text:000097C4 off_97C4: .long aCanTOpenSS @ DATA XREF: openserport+A4r .text:000097C4 @ "can't open %s: %s\n" .text:000097C8 .text:000097C8 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:000097C8 .text:000097C8 .text:000097C8 set_serial_stuff: .text:000097C8 .text:000097C8 var_38 = -0x38 .text:000097C8 .text:000097C8 STMFD SP!, {R4,R5,LR} @ Store Block to Memory .text:000097CC MOV R1, #0x5400 @ TIOCGSERIAL .text:000097D0 SUB SP, SP, #0x3C @ Rd = Op1 - Op2 .text:000097D4 ADD R1, R1, #0x1E @ request .text:000097D8 MOV R2, SP @ arg .text:000097DC MOV R4, R0 @ Rd = Op2 .text:000097E0 BL ioctl @ Branch with Link .text:000097E4 MOV R3, R0 @ Rd = Op2 .text:000097E8 MOV R1, #0x5400 @ Rd = Op2 .text:000097EC CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:000097F0 MOV R0, R4 @ Rd = Op2 .text:000097F4 MOV R5, SP @ Rd = Op2 .text:000097F8 ADD R1, R1, #0x1F @ request .text:000097FC MOV R2, SP @ arg .text:00009800 LDRLT R0, =aIoctlTiocgseri @ fd .text:00009804 BLT loc_982C @ Branch .text:00009808 LDR R3, [SP,#0x48+var_38] @ Load from Memory .text:0000980C ORR R3, R3, #0x2000 @ Rd = Op2 | Op1 .text:00009810 STR R3, [SP,#0x48+var_38] @ Store to Memory .text:00009814 BL ioctl @ TIOCSSERIAL .text:00009818 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000981C BLT loc_9828 @ Branch .text:00009820 ADD SP, SP, #0x3C @ Rd = Op1 + Op2 .text:00009824 LDMFD SP!, {R4,R5,PC} @ Load Block from Memory .text:00009828 @ --------------------------------------------------------------------------- .text:00009828 .text:00009828 loc_9828: @ CODE XREF: set_serial_stuff+54j .text:00009828 LDR R0, =aIoctlTiocsseri @ Load from Memory .text:0000982C .text:0000982C loc_982C: @ CODE XREF: set_serial_stuff+3Cj .text:0000982C BL xhandle_error @ Branch with Link .text:00009830 MOV R0, #1 @ Rd = Op2 .text:00009834 BL sub_274E4 @ Branch with Link .text:00009834 @ End of function set_serial_stuff .text:00009834 .text:00009834 @ --------------------------------------------------------------------------- .text:00009838 @ int fd .text:00009838 fd: .long aIoctlTiocgseri @ DATA XREF: set_serial_stuff+38r .text:00009838 @ "ioctl(TIOCGSERIAL)" .text:0000983C off_983C: .long aIoctlTiocsseri @ DATA XREF: set_serial_stuff:loc_9828r .text:0000983C @ "ioctl(TIOCSSERIAL)" .text:00009840 .text:00009840 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00009840 .text:00009840 .text:00009840 set_serial_speed: @ CODE XREF: openserport+20p .text:00009840 .text:00009840 termio_struct = -0x58 .text:00009840 var_42 = -0x42 .text:00009840 var_41 = -0x41 .text:00009840 .text:00009840 STMFD SP!, {R4-R8,R10,LR} @ Store Block to Memory .text:00009844 SUB SP, SP, #0x3C @ Rd = Op1 - Op2 .text:00009848 MOV R1, SP @ termios_p .text:0000984C MOV R5, R0 @ Rd = Op2 .text:00009850 BL tcgetattr @ Branch with Link .text:00009854 MOV R7, #0 @ Rd = Op2 .text:00009858 MOV R8, #010000 @ Rd = Op2 .text:0000985C MOV R10, #1 @ Rd = Op2 .text:00009860 CMP R0, R7 @ Set cond. codes on Op1 - Op2 .text:00009864 ADD R8, R8, #2 @ r8=B115200 .text:00009868 MOV R6, SP @ Rd = Op2 .text:0000986C LDR R0, =asc_2A928 @ Load from Memory .text:00009870 MOV R2, #0x10 @ Rd = Op2 .text:00009874 MOV R1, R10 @ Rd = Op2 .text:00009878 BLT loc_993C @ Branch .text:0000987C .text:0000987C loc_987C: @ CODE XREF: set_serial_speed+108j .text:0000987C MOV R0, R5 @ desc .text:00009880 BL isatty @ Branch with Link .text:00009884 MOV R3, R0 @ Rd = Op2 .text:00009888 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0000988C MOV R2, R5 @ Rd = Op2 .text:00009890 LDR R1, =aDIsNotATty @ Load from Memory .text:00009894 LDR R0, =aCheck_parity @ Load from Memory .text:00009898 BNE loc_98B4 @ Branch .text:0000989C LDR R3, =filename @ Load from Memory .text:000098A0 LDR R0, [R3] @ Load from Memory .text:000098A4 BL sub_26818 @ Branch with Link .text:000098A8 MVN R0, #0 @ Rd = ~Op2 .text:000098AC .text:000098AC loc_98AC: @ CODE XREF: set_serial_speed+E8j .text:000098AC ADD SP, SP, #0x3C @ Rd = Op1 + Op2 .text:000098B0 LDMFD SP!, {R4-R8,R10,PC} @ Load Block from Memory .text:000098B4 @ --------------------------------------------------------------------------- .text:000098B4 .text:000098B4 loc_98B4: @ CODE XREF: set_serial_speed+58j .text:000098B4 MOV R3, #5 @ Rd = Op2 .text:000098B8 STR R3, [SP,#0x58+termio_struct] @ Store to Memory .text:000098BC BL getenv @ Branch with Link .text:000098C0 MOV R3, R0 @ Rd = Op2 .text:000098C4 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:000098C8 MOVNE R3, #9 @ Rd = Op2 .text:000098CC STRNE R3, [SP,#0x58+termio_struct] @ Store to Memory .text:000098D0 MOV R1, R8 @ speed .text:000098D4 MOV R3, #0x8B0 @ Rd = Op2 .text:000098D8 MOV R0, R6 @ termios_p .text:000098DC STR R3, [SP,#0x58+termio_struct.c_line] @ Store to Memory .text:000098E0 STR R7, [SP,#0x58+termio_struct.c_cflag] @ Store to Memory .text:000098E4 STR R7, [SP,#0x58+termio_struct.c_cc+3] @ Store to Memory .text:000098E8 STRB R10, [SP,#0x58+var_41] @ Store to Memory .text:000098EC STRB R7, [SP,#0x58+var_42] @ Store to Memory .text:000098F0 BL cfsetispeed @ Branch with Link .text:000098F4 MOV R1, R8 @ speed .text:000098F8 MOV R0, R6 @ termios_p .text:000098FC BL cfsetospeed @ Branch with Link .text:00009900 MOV R1, R7 @ Rd = Op2 .text:00009904 MOV R2, R6 @ Rd = Op2 .text:00009908 MOV R0, R5 @ Rd = Op2 .text:0000990C BL tcsetattr @ Branch with Link .text:00009910 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00009914 MOV R1, R10 @ Rd = Op2 .text:00009918 LDR R0, =aTcsetattrError @ Load from Memory .text:0000991C MOV R2, #0x10 @ Rd = Op2 .text:00009920 BLT loc_992C @ Branch .text:00009924 .text:00009924 loc_9924: @ CODE XREF: set_serial_speed+F8j .text:00009924 MOV R0, R5 @ Rd = Op2 .text:00009928 B loc_98AC @ Branch .text:0000992C @ --------------------------------------------------------------------------- .text:0000992C .text:0000992C loc_992C: @ CODE XREF: set_serial_speed+E0j .text:0000992C LDR R4, =filename @ Load from Memory .text:00009930 LDR R3, [R4] @ Load from Memory .text:00009934 BL sub_25CB0 @ Branch with Link .text:00009938 B loc_9924 @ Branch .text:0000993C @ --------------------------------------------------------------------------- .text:0000993C .text:0000993C loc_993C: @ CODE XREF: set_serial_speed+38j .text:0000993C LDR R4, =filename @ Load from Memory .text:00009940 LDR R3, [R4] @ Load from Memory .text:00009944 BL sub_25CB0 @ Branch with Link .text:00009948 B loc_987C @ Branch .text:00009948 @ End of function set_serial_speed .text:00009948 .text:00009948 @ --------------------------------------------------------------------------- .text:0000994C off_994C: .long asc_2A928 @ DATA XREF: set_serial_speed+2Cr .text:0000994C @ "tcgetattr error\n" .text:00009950 off_9950: .long aDIsNotATty @ DATA XREF: set_serial_speed+50r .text:00009950 @ "%d is not a tty\n" .text:00009954 off_9954: .long aCheck_parity @ DATA XREF: set_serial_speed+54r .text:00009954 @ "CHECK_PARITY" .text:00009958 off_9958: .long filename @ DATA XREF: set_serial_speed+5Cr .text:00009958 @ set_serial_speed:loc_992Cr ... .text:0000995C off_995C: .long aTcsetattrError @ DATA XREF: set_serial_speed+D8r .text:0000995C @ "tcsetattr error\n" .text:00009960 .text:00009960 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00009960 .text:00009960 .text:00009960 rw_packet: @ CODE XREF: main+A7Cp .text:00009960 @ main+AECp ... .text:00009960 .text:00009960 var_2C = -0x2C .text:00009960 arg = -0x28 .text:00009960 arg_0 = 0 .text:00009960 .text:00009960 STMFD SP!, {R4-R11,LR} @ Store Block to Memory .text:00009964 CMP R3, #1 @ Set cond. codes on Op1 - Op2 .text:00009968 SUB SP, SP, #8 @ Rd = Op1 - Op2 .text:0000996C MOV R8, R1 @ Rd = Op2 .text:00009970 MOV R9, R2 @ Rd = Op2 .text:00009974 MOV R7, R0 @ r7=fd .text:00009978 LDR R5, [SP,#0x2C+arg_0] @ Load from Memory .text:0000997C BEQ loc_BD5C @ Branch .text:00009980 CMP R3, #2 @ Set cond. codes on Op1 - Op2 .text:00009984 BEQ loc_B8BC @ Branch .text:00009988 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0000998C BEQ loc_999C @ Branch .text:00009990 .text:00009990 loc_9990: @ CODE XREF: rw_packet+E0j .text:00009990 @ rw_packet+164j ... .text:00009990 MOV R0, #0 @ Rd = Op2 .text:00009994 .text:00009994 loc_9994: @ CODE XREF: rw_packet+7E4j .text:00009994 @ rw_packet+2074j ... .text:00009994 ADD SP, SP, #8 @ Rd = Op1 + Op2 .text:00009998 LDMFD SP!, {R4-R11,PC} @ Load Block from Memory .text:0000999C @ --------------------------------------------------------------------------- .text:0000999C .text:0000999C loc_999C: @ CODE XREF: rw_packet+2Cj .text:0000999C MOVL R1, FIONREAD @ request .text:000099A4 ADD R2, SP, #0x2C+arg @ arg .text:000099A8 BL ioctl @ Branch with Link .text:000099AC LDR R6, [SP,#0x2C+arg] @ Load from Memory .text:000099B0 CMP R6, #0 @ Set cond. codes on Op1 - Op2 .text:000099B4 BLE loc_9AA0 @ Branch .text:000099B8 LDR R0, =buf_max @ Load from Memory .text:000099BC LDR R5, [R0] @ Load from Memory .text:000099C0 ADD R3, R5, R6 @ Rd = Op1 + Op2 .text:000099C4 CMP R3, #0x200 @ Set cond. codes on Op1 - Op2 .text:000099C8 RSBGT R6, R5, #0x200 @ Rd = Op2 - Op1 .text:000099CC STRGT R6, [SP,#0x2C+arg] @ Store to Memory .text:000099D0 CMP R6, #0 @ Set cond. codes on Op1 - Op2 .text:000099D4 BNE loc_B894 @ Branch .text:000099D8 LDR R2, =debug_level @ Load from Memory .text:000099DC LDR R3, [R2] @ Load from Memory .text:000099E0 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:000099E4 BLT loc_9A34 @ Branch .text:000099E8 MOV R0, R6 @ Rd = Op2 .text:000099EC BL time @ Branch with Link .text:000099F0 LDR R2, =0x51EB851F @ Load from Memory .text:000099F4 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:000099F8 MOV R3, R0,ASR#31 @ Rd = Op2 .text:000099FC RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00009A00 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00009A04 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00009A08 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00009A0C BL call_gettimeofday @ Branch with Link .text:00009A10 MOV R1, R4 @ Rd = Op2 .text:00009A14 MOV R2, R0 @ Rd = Op2 .text:00009A18 LDR R3, =aRw_packet @ Load from Memory .text:00009A1C LDR R0, =logfile_format @ Load from Memory .text:00009A20 BL printf @ Branch with Link .text:00009A24 LDR R0, =aHeyBuddyTooMan @ Load from Memory .text:00009A28 BL xdebug_out @ Branch with Link .text:00009A2C MOV R0, R6 @ Rd = Op2 .text:00009A30 BL sub_257B4 @ Branch with Link .text:00009A34 .text:00009A34 loc_9A34: @ CODE XREF: rw_packet+84j .text:00009A34 @ rw_packet+1F58j .text:00009A34 LDR R3, =buf_max @ Load from Memory .text:00009A38 LDR R2, [R3] @ Load from Memory .text:00009A3C CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00009A40 BLE loc_9990 @ Branch .text:00009A44 LDR R3, =dword_35FC0 @ Load from Memory .text:00009A48 LDR R6, [R3] @ Load from Memory .text:00009A4C CMP R6, #0 @ Set cond. codes on Op1 - Op2 .text:00009A50 BNE loc_9A64 @ Branch .text:00009A54 LDR R0, =debug_level @ Load from Memory .text:00009A58 LDR R3, [R0] @ Load from Memory .text:00009A5C CMP R3, #3 @ Set cond. codes on Op1 - Op2 .text:00009A60 BGT loc_B844 @ Branch .text:00009A64 .text:00009A64 loc_9A64: @ CODE XREF: rw_packet+F0j .text:00009A64 @ rw_packet+1F30j .text:00009A64 LDR R3, =buf_max @ Load from Memory .text:00009A68 LDR R2, [R3] @ Load from Memory .text:00009A6C CMP R5, R2 @ Set cond. codes on Op1 - Op2 .text:00009A70 BGE loc_9AA0 @ Branch .text:00009A74 .text:00009A74 loc_9A74: @ CODE XREF: rw_packet+13Cj .text:00009A74 LDR R1, =debug_level @ Load from Memory .text:00009A78 LDR R3, [R1] @ Load from Memory .text:00009A7C CMP R3, #3 @ Set cond. codes on Op1 - Op2 .text:00009A80 MOV R0, #0 @ Rd = Op2 .text:00009A84 LDR R11, =dword_3D880 @ Load from Memory .text:00009A88 BGT loc_B7F0 @ Branch .text:00009A8C .text:00009A8C loc_9A8C: @ CODE XREF: rw_packet+1EE0j .text:00009A8C LDR R3, =buf_max @ Load from Memory .text:00009A90 LDR R2, [R3] @ Load from Memory .text:00009A94 ADD R5, R5, #1 @ Rd = Op1 + Op2 .text:00009A98 CMP R5, R2 @ Set cond. codes on Op1 - Op2 .text:00009A9C BLT loc_9A74 @ Branch .text:00009AA0 .text:00009AA0 loc_9AA0: @ CODE XREF: rw_packet+54j .text:00009AA0 @ rw_packet+110j .text:00009AA0 LDR R0, =debug_level @ Load from Memory .text:00009AA4 LDR R3, [R0] @ Load from Memory .text:00009AA8 CMP R3, #0xB @ Set cond. codes on Op1 - Op2 .text:00009AAC BGT loc_B790 @ Branch .text:00009AB0 LDR R10, =buf_size @ Load from Memory .text:00009AB4 .text:00009AB4 loc_9AB4: @ CODE XREF: rw_packet+1E8Cj .text:00009AB4 LDR R1, =buf_max @ Load from Memory .text:00009AB8 LDR R2, [R10] @ Load from Memory .text:00009ABC LDR R3, [R1] @ Load from Memory .text:00009AC0 CMP R2, R3 @ Set cond. codes on Op1 - Op2 .text:00009AC4 BGE loc_9990 @ Branch .text:00009AC8 .text:00009AC8 loc_9AC8: @ CODE XREF: rw_packet+2C0j .text:00009AC8 LDR R2, =dword_35FC0 @ Load from Memory .text:00009ACC LDR R5, [R2] @ Load from Memory .text:00009AD0 CMP R5, #3 @ Set cond. codes on Op1 - Op2 .text:00009AD4 BEQ loc_9AF0 @ Branch .text:00009AD8 BGT loc_A784 @ Branch .text:00009ADC CMP R5, #1 @ Set cond. codes on Op1 - Op2 .text:00009AE0 BEQ loc_A6D8 @ Branch .text:00009AE4 BGT loc_A2E8 @ Branch .text:00009AE8 CMP R5, #0 @ Set cond. codes on Op1 - Op2 .text:00009AEC BEQ loc_9D98 @ Branch .text:00009AF0 .text:00009AF0 loc_9AF0: @ CODE XREF: rw_packet+174j .text:00009AF0 @ rw_packet+E34j ... .text:00009AF0 LDR R3, [R10] @ Load from Memory .text:00009AF4 LDR R6, =dword_3D880 @ Load from Memory .text:00009AF8 LDRB R0, [R6,R3] @ Load from Memory .text:00009AFC BL hdr_isvalid @ Branch with Link .text:00009B00 CMN R0, #1 @ Set cond. codes on Op1 + Op2 .text:00009B04 BLE loc_9CEC @ Branch .text:00009B08 LDR R1, =debug_level @ Load from Memory .text:00009B0C LDR R3, [R1] @ Load from Memory .text:00009B10 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00009B14 BLE loc_9B64 @ Branch .text:00009B18 MOV R0, #0 @ Rd = Op2 .text:00009B1C BL time @ Branch with Link .text:00009B20 LDR R2, =0x51EB851F @ Load from Memory .text:00009B24 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00009B28 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00009B2C RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00009B30 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00009B34 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00009B38 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00009B3C BL call_gettimeofday @ Branch with Link .text:00009B40 MOV R1, R4 @ Rd = Op2 .text:00009B44 MOV R2, R0 @ Rd = Op2 .text:00009B48 LDR R3, =aRw_packet @ Load from Memory .text:00009B4C LDR R0, =logfile_format @ Load from Memory .text:00009B50 BL printf @ Branch with Link .text:00009B54 LDR R0, =aBlockFromUcAft @ Load from Memory .text:00009B58 BL xdebug_out @ Branch with Link .text:00009B5C MOV R0, #0 @ Rd = Op2 .text:00009B60 BL sub_257B4 @ Branch with Link .text:00009B64 .text:00009B64 loc_9B64: @ CODE XREF: rw_packet+1B4j .text:00009B64 LDR R3, [R10] @ Load from Memory .text:00009B68 LDR R2, =dword_35F28 @ Load from Memory .text:00009B6C LDRB R0, [R6,R3] @ Load from Memory .text:00009B70 LDR R3, =dword_35F2C @ Load from Memory .text:00009B74 MOV R5, #0 @ Rd = Op2 .text:00009B78 STR R5, [R3] @ Store to Memory .text:00009B7C STR R5, [R2] @ Store to Memory .text:00009B80 LDR R3, =recv_buf @ Load from Memory .text:00009B84 LDR R2, =recv_buflen @ Load from Memory .text:00009B88 STR R5, [R3] @ Store to Memory .text:00009B8C STR R5, [R2] @ Store to Memory .text:00009B90 BL hdr_isvalid @ Branch with Link .text:00009B94 CMP R0, R5 @ Set cond. codes on Op1 - Op2 .text:00009B98 BLE loc_9C78 @ Branch .text:00009B9C LDR R0, =debug_level @ Load from Memory .text:00009BA0 LDR R3, [R0] @ Load from Memory .text:00009BA4 CMP R3, #0xB @ Set cond. codes on Op1 - Op2 .text:00009BA8 LDR R3, =dword_35FC0 @ Load from Memory .text:00009BAC MOV R2, #1 @ Rd = Op2 .text:00009BB0 STR R2, [R3] @ Store to Memory .text:00009BB4 BGT loc_9C28 @ Branch .text:00009BB8 .text:00009BB8 loc_9BB8: @ CODE XREF: rw_packet+314j .text:00009BB8 LDR R3, [R10] @ Load from Memory .text:00009BBC LDRB R0, [R6,R3] @ Load from Memory .text:00009BC0 LDR R3, =dword_3DCA0 @ Load from Memory .text:00009BC4 STR R5, [R3] @ Store to Memory .text:00009BC8 BL hdr_isvalid @ Branch with Link .text:00009BCC LDR R3, =dword_35FC8 @ Load from Memory .text:00009BD0 STR R0, [R3] @ Store to Memory .text:00009BD4 .text:00009BD4 loc_9BD4: @ CODE XREF: rw_packet+338j .text:00009BD4 @ rw_packet+388j .text:00009BD4 LDR R3, [R10] @ Load from Memory .text:00009BD8 MOV R5, #0 @ Rd = Op2 .text:00009BDC CMP R5, R3 @ Set cond. codes on Op1 - Op2 .text:00009BE0 BGE loc_9C04 @ Branch .text:00009BE4 LDR R0, =dword_3D880 @ Load from Memory .text:00009BE8 MOV R1, R3 @ Rd = Op2 .text:00009BEC .text:00009BEC loc_9BEC: @ CODE XREF: rw_packet+2A0j .text:00009BEC ADD R3, R5, R0 @ Rd = Op1 + Op2 .text:00009BF0 LDRB R2, [R3,R1] @ Load from Memory .text:00009BF4 STRB R2, [R0,R5] @ Store to Memory .text:00009BF8 ADD R5, R5, #1 @ Rd = Op1 + Op2 .text:00009BFC CMP R5, R1 @ Set cond. codes on Op1 - Op2 .text:00009C00 BLT loc_9BEC @ Branch .text:00009C04 .text:00009C04 loc_9C04: @ CODE XREF: rw_packet+280j .text:00009C04 @ rw_packet+490j ... .text:00009C04 LDR R3, [R10] @ Load from Memory .text:00009C08 ADD R3, R3, #1 @ Rd = Op1 + Op2 .text:00009C0C .text:00009C0C loc_9C0C: @ CODE XREF: rw_packet+DB0j .text:00009C0C STR R3, [R10] @ Store to Memory .text:00009C10 .text:00009C10 loc_9C10: @ CODE XREF: rw_packet+434j .text:00009C10 @ rw_packet+620j ... .text:00009C10 LDR R1, =buf_max @ Load from Memory .text:00009C14 LDR R2, [R10] @ Load from Memory .text:00009C18 LDR R3, [R1] @ Load from Memory .text:00009C1C CMP R2, R3 @ Set cond. codes on Op1 - Op2 .text:00009C20 BLT loc_9AC8 @ Branch .text:00009C24 B loc_9990 @ Branch .text:00009C28 @ --------------------------------------------------------------------------- .text:00009C28 .text:00009C28 loc_9C28: @ CODE XREF: rw_packet+254j .text:00009C28 MOV R0, R5 @ Rd = Op2 .text:00009C2C BL time @ Branch with Link .text:00009C30 LDR R2, =0x51EB851F @ Load from Memory .text:00009C34 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00009C38 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00009C3C RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00009C40 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00009C44 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00009C48 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00009C4C BL call_gettimeofday @ Branch with Link .text:00009C50 MOV R1, R4 @ Rd = Op2 .text:00009C54 MOV R2, R0 @ Rd = Op2 .text:00009C58 LDR R3, =aRw_packet @ Load from Memory .text:00009C5C LDR R0, =logfile_format @ Load from Memory .text:00009C60 BL printf @ Branch with Link .text:00009C64 LDR R0, =aExpectingBody @ Load from Memory .text:00009C68 BL xdebug_out @ Branch with Link .text:00009C6C MOV R0, R5 @ Rd = Op2 .text:00009C70 BL sub_257B4 @ Branch with Link .text:00009C74 B loc_9BB8 @ Branch .text:00009C78 @ --------------------------------------------------------------------------- .text:00009C78 .text:00009C78 loc_9C78: @ CODE XREF: rw_packet+238j .text:00009C78 LDR R0, =debug_level @ Load from Memory .text:00009C7C LDR R3, [R0] @ Load from Memory .text:00009C80 LDR R2, =dword_35FC8 @ Load from Memory .text:00009C84 CMP R3, #0xB @ Set cond. codes on Op1 - Op2 .text:00009C88 LDR R3, =dword_35FC0 @ Load from Memory .text:00009C8C MOV R1, #2 @ Rd = Op2 .text:00009C90 STR R1, [R3] @ Store to Memory .text:00009C94 STR R5, [R2] @ Store to Memory .text:00009C98 BLE loc_9BD4 @ Branch .text:00009C9C MOV R0, R5 @ Rd = Op2 .text:00009CA0 BL time @ Branch with Link .text:00009CA4 LDR R2, =0x51EB851F @ Load from Memory .text:00009CA8 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00009CAC MOV R3, R0,ASR#31 @ Rd = Op2 .text:00009CB0 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00009CB4 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00009CB8 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00009CBC SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00009CC0 BL call_gettimeofday @ Branch with Link .text:00009CC4 MOV R1, R4 @ Rd = Op2 .text:00009CC8 MOV R2, R0 @ Rd = Op2 .text:00009CCC LDR R3, =aRw_packet @ Load from Memory .text:00009CD0 LDR R0, =logfile_format @ Load from Memory .text:00009CD4 BL printf @ Branch with Link .text:00009CD8 LDR R0, =aExpectingCheck @ Load from Memory .text:00009CDC BL xdebug_out @ Branch with Link .text:00009CE0 MOV R0, R5 @ Rd = Op2 .text:00009CE4 BL sub_257B4 @ Branch with Link .text:00009CE8 B loc_9BD4 @ Branch .text:00009CEC @ --------------------------------------------------------------------------- .text:00009CEC .text:00009CEC loc_9CEC: @ CODE XREF: rw_packet+1A4j .text:00009CEC LDR R0, =debug_level @ Load from Memory .text:00009CF0 LDR R3, [R0] @ Load from Memory .text:00009CF4 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00009CF8 BLE loc_9D50 @ Branch .text:00009CFC MOV R0, #0 @ Rd = Op2 .text:00009D00 BL time @ Branch with Link .text:00009D04 LDR R2, =0x51EB851F @ Load from Memory .text:00009D08 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00009D0C MOV R3, R0,ASR#31 @ Rd = Op2 .text:00009D10 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00009D14 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00009D18 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00009D1C SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00009D20 BL call_gettimeofday @ Branch with Link .text:00009D24 MOV R1, R4 @ Rd = Op2 .text:00009D28 MOV R2, R0 @ Rd = Op2 .text:00009D2C LDR R3, =aRw_packet @ Load from Memory .text:00009D30 LDR R0, =logfile_format @ Load from Memory .text:00009D34 BL printf @ Branch with Link .text:00009D38 LDR R3, [R10] @ Load from Memory .text:00009D3C LDR R0, =aWhoaNotExpecti @ Load from Memory .text:00009D40 LDRB R1, [R6,R3] @ Load from Memory .text:00009D44 BL printf @ Branch with Link .text:00009D48 MOV R0, #0 @ Rd = Op2 .text:00009D4C BL sub_257B4 @ Branch with Link .text:00009D50 .text:00009D50 loc_9D50: @ CODE XREF: rw_packet+398j .text:00009D50 LDR R0, =buf_max @ Load from Memory .text:00009D54 LDR R5, [R10] @ Load from Memory .text:00009D58 LDR R3, [R0] @ Load from Memory .text:00009D5C CMP R5, R3 @ Set cond. codes on Op1 - Op2 .text:00009D60 BGE loc_9D84 @ Branch .text:00009D64 MOV R0, R3 @ Rd = Op2 .text:00009D68 MOV R1, R6 @ Rd = Op2 .text:00009D6C .text:00009D6C loc_9D6C: @ CODE XREF: rw_packet+420j .text:00009D6C ADD R3, R5, R1 @ Rd = Op1 + Op2 .text:00009D70 LDRB R2, [R3,#1] @ Load from Memory .text:00009D74 STRB R2, [R1,R5] @ Store to Memory .text:00009D78 ADD R5, R5, #1 @ Rd = Op1 + Op2 .text:00009D7C CMP R5, R0 @ Set cond. codes on Op1 - Op2 .text:00009D80 BLT loc_9D6C @ Branch .text:00009D84 .text:00009D84 loc_9D84: @ CODE XREF: rw_packet+400j .text:00009D84 @ rw_packet+69Cj ... .text:00009D84 LDR R1, =buf_max @ Load from Memory .text:00009D88 LDR R3, [R1] @ Load from Memory .text:00009D8C SUB R3, R3, #1 @ Rd = Op1 - Op2 .text:00009D90 STR R3, [R1] @ Store to Memory .text:00009D94 B loc_9C10 @ Branch .text:00009D98 @ --------------------------------------------------------------------------- .text:00009D98 .text:00009D98 loc_9D98: @ CODE XREF: rw_packet+18Cj .text:00009D98 LDR R3, =dword_35F3C @ Load from Memory .text:00009D9C LDR R2, [R3] @ Load from Memory .text:00009DA0 LDR R3, =dword_3DCA0 @ Load from Memory .text:00009DA4 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00009DA8 STR R5, [R3] @ Store to Memory .text:00009DAC BNE loc_A078 @ Branch .text:00009DB0 LDR R11, =dword_3D880 @ Load from Memory .text:00009DB4 .text:00009DB4 loc_9DB4: @ CODE XREF: rw_packet+72Cj .text:00009DB4 LDR R3, [R10] @ Load from Memory .text:00009DB8 LDRB R0, [R11,R3] @ Load from Memory .text:00009DBC BL hdr_isvalid @ Branch with Link .text:00009DC0 LDR R4, =dword_35FC8 @ Load from Memory .text:00009DC4 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00009DC8 STR R0, [R4] @ Store to Memory .text:00009DCC BLE loc_9E44 @ Branch .text:00009DD0 LDR R0, =debug_level @ Load from Memory .text:00009DD4 LDR R3, [R0] @ Load from Memory .text:00009DD8 CMP R3, #0xB @ Set cond. codes on Op1 - Op2 .text:00009DDC LDR R3, =dword_35FC0 @ Load from Memory .text:00009DE0 MOV R2, #1 @ Rd = Op2 .text:00009DE4 STR R2, [R3] @ Store to Memory .text:00009DE8 BGT loc_9DF4 @ Branch .text:00009DEC .text:00009DEC loc_9DEC: @ CODE XREF: rw_packet+4E0j .text:00009DEC @ rw_packet+518j .text:00009DEC BL run_swgrli @ Branch with Link .text:00009DF0 B loc_9C04 @ Branch .text:00009DF4 @ --------------------------------------------------------------------------- .text:00009DF4 .text:00009DF4 loc_9DF4: @ CODE XREF: rw_packet+488j .text:00009DF4 MOV R0, #0 @ Rd = Op2 .text:00009DF8 BL time @ Branch with Link .text:00009DFC LDR R2, =0x51EB851F @ Load from Memory .text:00009E00 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00009E04 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00009E08 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00009E0C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00009E10 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00009E14 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00009E18 BL call_gettimeofday @ Branch with Link .text:00009E1C MOV R1, R4 @ Rd = Op2 .text:00009E20 MOV R2, R0 @ Rd = Op2 .text:00009E24 LDR R3, =aRw_packet @ Load from Memory .text:00009E28 LDR R0, =logfile_format @ Load from Memory .text:00009E2C BL printf @ Branch with Link .text:00009E30 LDR R0, =aGotHeaderExpec @ Load from Memory .text:00009E34 .text:00009E34 loc_9E34: @ CODE XREF: rw_packet+558j .text:00009E34 BL xdebug_out @ Branch with Link .text:00009E38 MOV R0, #0 @ Rd = Op2 .text:00009E3C BL sub_257B4 @ Branch with Link .text:00009E40 B loc_9DEC @ Branch .text:00009E44 @ --------------------------------------------------------------------------- .text:00009E44 .text:00009E44 loc_9E44: @ CODE XREF: rw_packet+46Cj .text:00009E44 LDR R3, [R10] @ Load from Memory .text:00009E48 LDRB R0, [R11,R3] @ Load from Memory .text:00009E4C BL hdr_isvalid @ Branch with Link .text:00009E50 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00009E54 MOV R5, R0 @ Rd = Op2 .text:00009E58 STR R0, [R4] @ Store to Memory .text:00009E5C BNE loc_9EBC @ Branch .text:00009E60 LDR R1, =debug_level @ Load from Memory .text:00009E64 LDR R3, [R1] @ Load from Memory .text:00009E68 CMP R3, #0xB @ Set cond. codes on Op1 - Op2 .text:00009E6C LDR R3, =dword_35FC0 @ Load from Memory .text:00009E70 MOV R2, #2 @ Rd = Op2 .text:00009E74 STR R2, [R3] @ Store to Memory .text:00009E78 BLE loc_9DEC @ Branch .text:00009E7C BL time @ Branch with Link .text:00009E80 LDR R2, =0x51EB851F @ Load from Memory .text:00009E84 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00009E88 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00009E8C RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00009E90 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00009E94 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00009E98 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00009E9C BL call_gettimeofday @ Branch with Link .text:00009EA0 MOV R1, R4 @ Rd = Op2 .text:00009EA4 MOV R2, R0 @ Rd = Op2 .text:00009EA8 LDR R3, =aRw_packet @ Load from Memory .text:00009EAC LDR R0, =logfile_format @ Load from Memory .text:00009EB0 BL printf @ Branch with Link .text:00009EB4 LDR R0, =aGotHeaderExp_0 @ Load from Memory .text:00009EB8 B loc_9E34 @ Branch .text:00009EBC @ --------------------------------------------------------------------------- .text:00009EBC .text:00009EBC loc_9EBC: @ CODE XREF: rw_packet+4FCj .text:00009EBC LDR R3, [R10] @ Load from Memory .text:00009EC0 LDRB R2, [R11,R3] @ Load from Memory .text:00009EC4 MOV R3, #0 @ Rd = Op2 .text:00009EC8 CMP R2, #0x42 @ 'B' @ Set cond. codes on Op1 - Op2 .text:00009ECC STR R3, [R4] @ Store to Memory .text:00009ED0 BEQ loc_9FDC @ Branch .text:00009ED4 BGT loc_A070 @ Branch .text:00009ED8 CMP R2, #0x31 @ '1' @ Set cond. codes on Op1 - Op2 .text:00009EDC .text:00009EDC unknown_header_cont: @ CODE XREF: rw_packet+714j .text:00009EDC BEQ loc_9FDC @ Branch .text:00009EE0 LDR R3, =buf @ Load from Memory .text:00009EE4 MOV R5, #0x53 @ 'S' @ Rd = Op2 .text:00009EE8 MOV R1, R3 @ buf .text:00009EEC MOV R2, #1 @ count .text:00009EF0 STRB R5, [R3] @ Store to Memory .text:00009EF4 MOV R0, R7 @ fd .text:00009EF8 BL __libc_write @ Branch with Link .text:00009EFC LDR R2, =debug_level @ Load from Memory .text:00009F00 LDR R3, [R2] @ Load from Memory .text:00009F04 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00009F08 BLE loc_9F68 @ Branch .text:00009F0C MOV R0, #0 @ Rd = Op2 .text:00009F10 BL time @ Branch with Link .text:00009F14 LDR R2, =0x51EB851F @ Load from Memory .text:00009F18 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00009F1C MOV R3, R0,ASR#31 @ Rd = Op2 .text:00009F20 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00009F24 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00009F28 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00009F2C SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00009F30 BL call_gettimeofday @ Branch with Link .text:00009F34 MOV R1, R4 @ Rd = Op2 .text:00009F38 MOV R2, R0 @ Rd = Op2 .text:00009F3C LDR R3, =aRw_packet @ Load from Memory .text:00009F40 LDR R0, =logfile_format @ Load from Memory .text:00009F44 BL printf @ Branch with Link .text:00009F48 LDR R3, [R10] @ Load from Memory .text:00009F4C LDR R0, =aUnknownHeader0 @ Load from Memory .text:00009F50 LDRB R1, [R11,R3] @ Load from Memory .text:00009F54 BL printf @ Branch with Link .text:00009F58 MOV R0, #0 @ Rd = Op2 .text:00009F5C BL sub_257B4 @ Branch with Link .text:00009F60 LDR R0, =debug_level @ Load from Memory .text:00009F64 LDR R3, [R0] @ Load from Memory .text:00009F68 .text:00009F68 loc_9F68: @ CODE XREF: rw_packet+5A8j .text:00009F68 CMP R3, #3 @ Set cond. codes on Op1 - Op2 .text:00009F6C BGT loc_9F84 @ Branch .text:00009F70 .text:00009F70 loc_9F70: @ CODE XREF: rw_packet+678j .text:00009F70 LDR R0, =buf_max @ Load from Memory .text:00009F74 MOV R3, #0 @ Rd = Op2 .text:00009F78 STR R3, [R10] @ Store to Memory .text:00009F7C STR R3, [R0] @ Store to Memory .text:00009F80 B loc_9C10 @ Branch .text:00009F84 @ --------------------------------------------------------------------------- .text:00009F84 .text:00009F84 loc_9F84: @ CODE XREF: rw_packet+60Cj .text:00009F84 MOV R0, #0 @ Rd = Op2 .text:00009F88 BL time @ Branch with Link .text:00009F8C LDR R2, =0x51EB851F @ Load from Memory .text:00009F90 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00009F94 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00009F98 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00009F9C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00009FA0 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00009FA4 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00009FA8 BL call_gettimeofday @ Branch with Link .text:00009FAC MOV R1, R4 @ Rd = Op2 .text:00009FB0 MOV R2, R0 @ Rd = Op2 .text:00009FB4 LDR R3, =aRw_packet @ Load from Memory .text:00009FB8 LDR R0, =logfile_format @ Load from Memory .text:00009FBC BL printf @ Branch with Link .text:00009FC0 MOV R1, R5 @ Rd = Op2 .text:00009FC4 LDR R0, =a02xI @ Load from Memory .text:00009FC8 MOV R2, R5 @ Rd = Op2 .text:00009FCC BL printf @ Branch with Link .text:00009FD0 MOV R0, #0 @ Rd = Op2 .text:00009FD4 BL sub_257B4 @ Branch with Link .text:00009FD8 B loc_9F70 @ Branch .text:00009FDC @ --------------------------------------------------------------------------- .text:00009FDC .text:00009FDC loc_9FDC: @ CODE XREF: rw_packet+570j .text:00009FDC @ rw_packet:unknown_header_contj .text:00009FDC LDR R0, =debug_level @ Load from Memory .text:00009FE0 LDR R3, [R0] @ Load from Memory .text:00009FE4 CMP R3, #4 @ Set cond. codes on Op1 - Op2 .text:00009FE8 BGT loc_A020 @ Branch .text:00009FEC .text:00009FEC loc_9FEC: @ CODE XREF: rw_packet+70Cj .text:00009FEC LDR R0, =buf_max @ Load from Memory .text:00009FF0 LDR R5, [R10] @ Load from Memory .text:00009FF4 LDR R3, [R0] @ Load from Memory .text:00009FF8 CMP R5, R3 @ Set cond. codes on Op1 - Op2 .text:00009FFC BGE loc_9D84 @ Branch .text:0000A000 MOV R1, R3 @ Rd = Op2 .text:0000A004 .text:0000A004 loc_A004: @ CODE XREF: rw_packet+6B8j .text:0000A004 ADD R3, R5, R11 @ Rd = Op1 + Op2 .text:0000A008 LDRB R2, [R3,#1] @ Load from Memory .text:0000A00C STRB R2, [R11,R5] @ Store to Memory .text:0000A010 ADD R5, R5, #1 @ Rd = Op1 + Op2 .text:0000A014 CMP R5, R1 @ Set cond. codes on Op1 - Op2 .text:0000A018 BLT loc_A004 @ Branch .text:0000A01C B loc_9D84 @ Branch .text:0000A020 @ --------------------------------------------------------------------------- .text:0000A020 .text:0000A020 loc_A020: @ CODE XREF: rw_packet+688j .text:0000A020 MOV R0, #0 @ Rd = Op2 .text:0000A024 BL time @ Branch with Link .text:0000A028 LDR R2, =0x51EB851F @ Load from Memory .text:0000A02C SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000A030 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000A034 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000A038 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000A03C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000A040 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000A044 BL call_gettimeofday @ Branch with Link .text:0000A048 MOV R1, R4 @ Rd = Op2 .text:0000A04C MOV R2, R0 @ Rd = Op2 .text:0000A050 LDR R3, =aRw_packet @ Load from Memory .text:0000A054 LDR R0, =logfile_format @ Load from Memory .text:0000A058 BL printf @ Branch with Link .text:0000A05C LDR R0, =aGotXnackWanted @ Load from Memory .text:0000A060 BL xdebug_out @ Branch with Link .text:0000A064 MOV R0, #0 @ Rd = Op2 .text:0000A068 BL sub_257B4 @ Branch with Link .text:0000A06C B loc_9FEC @ Branch .text:0000A070 @ --------------------------------------------------------------------------- .text:0000A070 .text:0000A070 loc_A070: @ CODE XREF: rw_packet+574j .text:0000A070 CMP R2, #0x53 @ 'S' @ Set cond. codes on Op1 - Op2 .text:0000A074 B unknown_header_cont @ Branch .text:0000A078 @ --------------------------------------------------------------------------- .text:0000A078 .text:0000A078 loc_A078: @ CODE XREF: rw_packet+44Cj .text:0000A078 LDR R3, [R10] @ Load from Memory .text:0000A07C LDR R11, =dword_3D880 @ Load from Memory .text:0000A080 LDRB R0, [R11,R3] @ Load from Memory .text:0000A084 BL sub_12620 @ Branch with Link .text:0000A088 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000A08C BEQ loc_9DB4 @ Branch .text:0000A090 LDR R0, =debug_level @ Load from Memory .text:0000A094 LDR R3, [R0] @ Load from Memory .text:0000A098 CMP R3, #4 @ Set cond. codes on Op1 - Op2 .text:0000A09C BGT loc_A298 @ Branch .text:0000A0A0 .text:0000A0A0 loc_A0A0: @ CODE XREF: rw_packet+984j .text:0000A0A0 LDR R3, [R10] @ Load from Memory .text:0000A0A4 LDRB R0, [R11,R3] @ Load from Memory .text:0000A0A8 BL hdr_isvalid @ Branch with Link .text:0000A0AC CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000A0B0 BLE loc_A238 @ Branch .text:0000A0B4 LDR R3, [R10] @ Load from Memory .text:0000A0B8 LDRB R2, [R11,R3] @ Load from Memory .text:0000A0BC STR R2, [R8] @ Store to Memory .text:0000A0C0 LDR R0, =buf_max @ Load from Memory .text:0000A0C4 LDR R2, [R10] @ Load from Memory .text:0000A0C8 LDR R12, [R0] @ Load from Memory .text:0000A0CC ADD R3, R2, #1 @ Rd = Op1 + Op2 .text:0000A0D0 CMP R3, R12 @ Set cond. codes on Op1 - Op2 .text:0000A0D4 STR R3, [R10] @ Store to Memory .text:0000A0D8 BGE loc_A198 @ Branch .text:0000A0DC LDRB R3, [R11,R3] @ Load from Memory .text:0000A0E0 STRB R3, [R9] @ Store to Memory .text:0000A0E4 LDR R2, [R10] @ Load from Memory .text:0000A0E8 LDR R3, [R0] @ Load from Memory .text:0000A0EC SUB R2, R2, #1 @ Rd = Op1 - Op2 .text:0000A0F0 CMP R2, R3 @ Set cond. codes on Op1 - Op2 .text:0000A0F4 MOV R5, R2 @ Rd = Op2 .text:0000A0F8 STR R2, [R10] @ Store to Memory .text:0000A0FC BGE loc_A120 @ Branch .text:0000A100 MOV R12, R3 @ Rd = Op2 .text:0000A104 MOV R0, R11 @ Rd = Op2 .text:0000A108 .text:0000A108 loc_A108: @ CODE XREF: rw_packet+7BCj .text:0000A108 ADD R3, R5, R0 @ Rd = Op1 + Op2 .text:0000A10C LDRB R2, [R3,#2] @ Load from Memory .text:0000A110 STRB R2, [R0,R5] @ Store to Memory .text:0000A114 ADD R5, R5, #1 @ Rd = Op1 + Op2 .text:0000A118 CMP R5, R12 @ Set cond. codes on Op1 - Op2 .text:0000A11C BLT loc_A108 @ Branch .text:0000A120 .text:0000A120 loc_A120: @ CODE XREF: rw_packet+79Cj .text:0000A120 LDR R1, =buf_max @ Load from Memory .text:0000A124 LDR R3, [R1] @ Load from Memory .text:0000A128 SUB R3, R3, #2 @ Rd = Op1 - Op2 .text:0000A12C STR R3, [R1] @ Store to Memory .text:0000A130 .text:0000A130 loc_A130: @ CODE XREF: rw_packet+884j .text:0000A130 LDR R0, =debug_level @ Load from Memory .text:0000A134 LDR R3, [R0] @ Load from Memory .text:0000A138 CMP R3, #3 @ Set cond. codes on Op1 - Op2 .text:0000A13C .text:0000A13C loc_A13C: @ CODE XREF: rw_packet+934j .text:0000A13C BGT loc_A148 @ Branch .text:0000A140 .text:0000A140 loc_A140: @ CODE XREF: rw_packet+834j .text:0000A140 @ rw_packet+AA8j ... .text:0000A140 MOV R0, #1 @ Rd = Op2 .text:0000A144 B loc_9994 @ Branch .text:0000A148 @ --------------------------------------------------------------------------- .text:0000A148 .text:0000A148 loc_A148: @ CODE XREF: rw_packet:loc_A13Cj .text:0000A148 MOV R0, #0 @ Rd = Op2 .text:0000A14C BL time @ Branch with Link .text:0000A150 LDR R2, =0x51EB851F @ Load from Memory .text:0000A154 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000A158 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000A15C RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000A160 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000A164 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000A168 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000A16C BL call_gettimeofday @ Branch with Link .text:0000A170 MOV R1, R4 @ Rd = Op2 .text:0000A174 MOV R2, R0 @ Rd = Op2 .text:0000A178 LDR R3, =aRw_packet @ Load from Memory .text:0000A17C LDR R0, =logfile_format @ Load from Memory .text:0000A180 BL printf @ Branch with Link .text:0000A184 LDR R0, =asc_2AD38 @ Load from Memory .text:0000A188 .text:0000A188 loc_A188: @ CODE XREF: rw_packet+B88j .text:0000A188 @ rw_packet+21ECj ... .text:0000A188 BL xdebug_out @ Branch with Link .text:0000A18C .text:0000A18C loc_A18C: @ CODE XREF: rw_packet+20FCj .text:0000A18C MOV R0, #0 @ Rd = Op2 .text:0000A190 BL sub_257B4 @ Branch with Link .text:0000A194 B loc_A140 @ Branch .text:0000A198 @ --------------------------------------------------------------------------- .text:0000A198 .text:0000A198 loc_A198: @ CODE XREF: rw_packet+778j .text:0000A198 CMP R2, R12 @ Set cond. codes on Op1 - Op2 .text:0000A19C MOV R5, R2 @ Rd = Op2 .text:0000A1A0 STR R2, [R10] @ Store to Memory .text:0000A1A4 BGE loc_A1C4 @ Branch .text:0000A1A8 MOV R0, R11 @ Rd = Op2 .text:0000A1AC .text:0000A1AC loc_A1AC: @ CODE XREF: rw_packet+860j .text:0000A1AC ADD R3, R5, R0 @ Rd = Op1 + Op2 .text:0000A1B0 LDRB R2, [R3,#1] @ Load from Memory .text:0000A1B4 STRB R2, [R0,R5] @ Store to Memory .text:0000A1B8 ADD R5, R5, #1 @ Rd = Op1 + Op2 .text:0000A1BC CMP R5, R12 @ Set cond. codes on Op1 - Op2 .text:0000A1C0 BLT loc_A1AC @ Branch .text:0000A1C4 .text:0000A1C4 loc_A1C4: @ CODE XREF: rw_packet+844j .text:0000A1C4 LDR R2, =debug_level @ Load from Memory .text:0000A1C8 LDR R3, [R2] @ Load from Memory .text:0000A1CC CMP R3, #4 @ Set cond. codes on Op1 - Op2 .text:0000A1D0 BGT loc_A1E8 @ Branch .text:0000A1D4 .text:0000A1D4 loc_A1D4: @ CODE XREF: rw_packet+8D4j .text:0000A1D4 MOV R0, R7 @ fd .text:0000A1D8 MOV R1, R9 @ buf .text:0000A1DC MOV R2, #1 @ count .text:0000A1E0 BL __libc_read @ Branch with Link .text:0000A1E4 B loc_A130 @ Branch .text:0000A1E8 @ --------------------------------------------------------------------------- .text:0000A1E8 .text:0000A1E8 loc_A1E8: @ CODE XREF: rw_packet+870j .text:0000A1E8 MOV R0, #0 @ Rd = Op2 .text:0000A1EC BL time @ Branch with Link .text:0000A1F0 LDR R2, =0x51EB851F @ Load from Memory .text:0000A1F4 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000A1F8 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000A1FC RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000A200 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000A204 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000A208 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000A20C BL call_gettimeofday @ Branch with Link .text:0000A210 MOV R1, R4 @ Rd = Op2 .text:0000A214 MOV R2, R0 @ Rd = Op2 .text:0000A218 LDR R3, =aRw_packet @ Load from Memory .text:0000A21C LDR R0, =logfile_format @ Load from Memory .text:0000A220 BL printf @ Branch with Link .text:0000A224 LDR R0, =aBlockingToRead @ Load from Memory .text:0000A228 BL xdebug_out @ Branch with Link .text:0000A22C MOV R0, #0 @ Rd = Op2 .text:0000A230 BL sub_257B4 @ Branch with Link .text:0000A234 B loc_A1D4 @ Branch .text:0000A238 @ --------------------------------------------------------------------------- .text:0000A238 .text:0000A238 loc_A238: @ CODE XREF: rw_packet+750j .text:0000A238 LDR R3, [R10] @ Load from Memory .text:0000A23C LDRB R2, [R11,R3] @ Load from Memory .text:0000A240 LDR R0, =buf_max @ Load from Memory .text:0000A244 STR R2, [R8] @ Store to Memory .text:0000A248 LDR R5, [R10] @ Load from Memory .text:0000A24C LDR R3, [R0] @ Load from Memory .text:0000A250 CMP R5, R3 @ Set cond. codes on Op1 - Op2 .text:0000A254 BGE loc_A278 @ Branch .text:0000A258 MOV R12, R3 @ Rd = Op2 .text:0000A25C MOV R0, R11 @ Rd = Op2 .text:0000A260 .text:0000A260 loc_A260: @ CODE XREF: rw_packet+914j .text:0000A260 ADD R3, R5, R0 @ Rd = Op1 + Op2 .text:0000A264 LDRB R2, [R3,#1] @ Load from Memory .text:0000A268 STRB R2, [R0,R5] @ Store to Memory .text:0000A26C ADD R5, R5, #1 @ Rd = Op1 + Op2 .text:0000A270 CMP R5, R12 @ Set cond. codes on Op1 - Op2 .text:0000A274 BLT loc_A260 @ Branch .text:0000A278 .text:0000A278 loc_A278: @ CODE XREF: rw_packet+8F4j .text:0000A278 LDR R0, =buf_max @ Load from Memory .text:0000A27C LDR R1, =debug_level @ Load from Memory .text:0000A280 LDR R3, [R0] @ Load from Memory .text:0000A284 LDR R2, [R1] @ Load from Memory .text:0000A288 SUB R3, R3, #1 @ Rd = Op1 - Op2 .text:0000A28C STR R3, [R0] @ Store to Memory .text:0000A290 CMP R2, #3 @ Set cond. codes on Op1 - Op2 .text:0000A294 B loc_A13C @ Branch .text:0000A298 @ --------------------------------------------------------------------------- .text:0000A298 .text:0000A298 loc_A298: @ CODE XREF: rw_packet+73Cj .text:0000A298 MOV R0, R5 @ Rd = Op2 .text:0000A29C BL time @ Branch with Link .text:0000A2A0 LDR R2, =0x51EB851F @ Load from Memory .text:0000A2A4 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000A2A8 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000A2AC RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000A2B0 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000A2B4 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000A2B8 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000A2BC BL call_gettimeofday @ Branch with Link .text:0000A2C0 MOV R1, R4 @ Rd = Op2 .text:0000A2C4 MOV R2, R0 @ Rd = Op2 .text:0000A2C8 LDR R3, =aRw_packet @ Load from Memory .text:0000A2CC LDR R0, =logfile_format @ Load from Memory .text:0000A2D0 BL printf @ Branch with Link .text:0000A2D4 LDR R0, =aGotOldHeader @ Load from Memory .text:0000A2D8 BL xdebug_out @ Branch with Link .text:0000A2DC MOV R0, R5 @ Rd = Op2 .text:0000A2E0 BL sub_257B4 @ Branch with Link .text:0000A2E4 B loc_A0A0 @ Branch .text:0000A2E8 @ --------------------------------------------------------------------------- .text:0000A2E8 .text:0000A2E8 loc_A2E8: @ CODE XREF: rw_packet+184j .text:0000A2E8 LDR R6, =dword_35FC8 @ Load from Memory .text:0000A2EC BL sub_15678 @ Branch with Link .text:0000A2F0 LDR R11, =dword_3D880 @ Load from Memory .text:0000A2F4 LDR R1, [R6] @ Load from Memory .text:0000A2F8 MOV R0, R11 @ Rd = Op2 .text:0000A2FC ADD R1, R1, #2 @ Rd = Op1 + Op2 .text:0000A300 BL sub_1008C @ Branch with Link .text:0000A304 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000A308 MOV R5, R0 @ Rd = Op2 .text:0000A30C BEQ loc_A5E4 @ Branch .text:0000A310 LDR R1, =debug_level @ Load from Memory .text:0000A314 LDR R3, [R1] @ Load from Memory .text:0000A318 CMP R3, #0xB @ Set cond. codes on Op1 - Op2 .text:0000A31C BGT loc_A594 @ Branch .text:0000A320 .text:0000A320 loc_A320: @ CODE XREF: rw_packet+C80j .text:0000A320 LDR R3, =buf @ Load from Memory .text:0000A324 MOVL R12, 0xFFFFFFCE .text:0000A328 MOV R1, R3 @ buf .text:0000A32C STRB R12, [R3] @ Store to Memory .text:0000A330 MOV R0, R7 @ fd .text:0000A334 MOV R2, #1 @ count .text:0000A338 BL __libc_write @ Branch with Link .text:0000A33C LDR R0, =debug_level @ Load from Memory .text:0000A340 LDR R3, [R0] @ Load from Memory .text:0000A344 CMP R3, #3 @ Set cond. codes on Op1 - Op2 .text:0000A348 BGT loc_A53C @ Branch .text:0000A34C .text:0000A34C loc_A34C: @ CODE XREF: rw_packet+C30j .text:0000A34C LDR R0, =dword_35FC0 @ Load from Memory .text:0000A350 MOV R3, #0 @ Rd = Op2 .text:0000A354 CMP R8, #0 @ Set cond. codes on Op1 - Op2 .text:0000A358 STR R3, [R0] @ Store to Memory .text:0000A35C BEQ loc_A388 @ Branch .text:0000A360 LDRB R0, [R11] @ Load from Memory .text:0000A364 STR R0, [R8] @ Store to Memory .text:0000A368 BL hdr_isvalid @ Branch with Link .text:0000A36C CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000A370 BLE loc_A388 @ Branch .text:0000A374 CMP R9, #0 @ Set cond. codes on Op1 - Op2 .text:0000A378 LDRNE R2, [R6] @ Load from Memory .text:0000A37C ADDNE R1, R11, #1 @ Rd = Op1 + Op2 .text:0000A380 MOVNE R0, R9 @ Rd = Op2 .text:0000A384 BLNE memcpy @ Branch with Link .text:0000A388 .text:0000A388 loc_A388: @ CODE XREF: rw_packet+9FCj .text:0000A388 @ rw_packet+A10j .text:0000A388 LDR R1, =buf_max @ Load from Memory .text:0000A38C LDR R3, [R1] @ Load from Memory .text:0000A390 LDR R12, [R10] @ Load from Memory .text:0000A394 SUB R3, R3, #1 @ Rd = Op1 - Op2 .text:0000A398 RSB R2, R12, R3 @ Rd = Op2 - Op1 .text:0000A39C MOV R5, #0 @ Rd = Op2 .text:0000A3A0 CMP R5, R2 @ Set cond. codes on Op1 - Op2 .text:0000A3A4 STR R3, [R1] @ Store to Memory .text:0000A3A8 BGE loc_A3CC @ Branch .text:0000A3AC LDR R0, =dword_3D880 @ Load from Memory .text:0000A3B0 MOV R1, R2 @ Rd = Op2 .text:0000A3B4 ADD R2, R12, R0 @ Rd = Op1 + Op2 .text:0000A3B8 .text:0000A3B8 loc_A3B8: @ CODE XREF: rw_packet+A68j .text:0000A3B8 LDRB R3, [R2,#1]! @ Load from Memory .text:0000A3BC STRB R3, [R0,R5] @ Store to Memory .text:0000A3C0 ADD R5, R5, #1 @ Rd = Op1 + Op2 .text:0000A3C4 CMP R5, R1 @ Set cond. codes on Op1 - Op2 .text:0000A3C8 BLT loc_A3B8 @ Branch .text:0000A3CC .text:0000A3CC loc_A3CC: @ CODE XREF: rw_packet+A48j .text:0000A3CC LDR R0, =debug_level @ Load from Memory .text:0000A3D0 LDR R2, =buf_max @ Load from Memory .text:0000A3D4 LDR R1, [R0] @ Load from Memory .text:0000A3D8 LDR R3, [R2] @ Load from Memory .text:0000A3DC LDR R2, [R10] @ Load from Memory .text:0000A3E0 CMP R1, #3 @ Set cond. codes on Op1 - Op2 .text:0000A3E4 LDR R1, =buf_max @ Load from Memory .text:0000A3E8 RSB R3, R2, R3 @ Rd = Op2 - Op1 .text:0000A3EC MOV R6, #0 @ Rd = Op2 .text:0000A3F0 STR R3, [R1] @ Store to Memory .text:0000A3F4 STR R6, [R10] @ Store to Memory .text:0000A3F8 BGT loc_A4EC @ Branch .text:0000A3FC .text:0000A3FC loc_A3FC: @ CODE XREF: rw_packet+BD8j .text:0000A3FC LDR R0, =buf_max @ Load from Memory .text:0000A400 LDR R3, [R0] @ Load from Memory .text:0000A404 CMP R3, #0x20 @ ' ' @ Set cond. codes on Op1 - Op2 .text:0000A408 BLE loc_A140 @ Branch .text:0000A40C LDR R2, [R8] @ Load from Memory .text:0000A410 CMP R2, #0xC2 @ '-' @ Set cond. codes on Op1 - Op2 .text:0000A414 MOVNE R3, #0 @ Rd = Op2 .text:0000A418 MOVEQ R3, #1 @ Rd = Op2 .text:0000A41C CMP R2, #0xC0 @ '+' @ Set cond. codes on Op1 - Op2 .text:0000A420 MOVNE R5, R3 @ Rd = Op2 .text:0000A424 ORREQ R5, R3, #1 @ Rd = Op2 | Op1 .text:0000A428 CMP R5, #0 @ Set cond. codes on Op1 - Op2 .text:0000A42C BNE loc_A498 @ Branch .text:0000A430 CMP R2, #0xC3 @ '+' @ Set cond. codes on Op1 - Op2 .text:0000A434 BEQ loc_A498 @ Branch .text:0000A438 LDR R0, =debug_level @ Load from Memory .text:0000A43C LDR R3, [R0] @ Load from Memory .text:0000A440 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0000A444 BLT loc_9C10 @ Branch .text:0000A448 MOV R0, R5 @ Rd = Op2 .text:0000A44C BL time @ Branch with Link .text:0000A450 LDR R2, =0x51EB851F @ Load from Memory .text:0000A454 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000A458 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000A45C RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000A460 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000A464 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000A468 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000A46C BL call_gettimeofday @ Branch with Link .text:0000A470 MOV R1, R4 @ Rd = Op2 .text:0000A474 MOV R2, R0 @ Rd = Op2 .text:0000A478 LDR R3, =aRw_packet @ Load from Memory .text:0000A47C LDR R0, =logfile_format @ Load from Memory .text:0000A480 BL printf @ Branch with Link .text:0000A484 LDR R0, =aIMDroppingAPac @ Load from Memory .text:0000A488 BL xdebug_out @ Branch with Link .text:0000A48C MOV R0, R5 @ Rd = Op2 .text:0000A490 BL sub_257B4 @ Branch with Link .text:0000A494 B loc_9C10 @ Branch .text:0000A498 @ --------------------------------------------------------------------------- .text:0000A498 .text:0000A498 loc_A498: @ CODE XREF: rw_packet+ACCj .text:0000A498 @ rw_packet+AD4j .text:0000A498 LDR R1, =debug_level @ Load from Memory .text:0000A49C LDR R3, [R1] @ Load from Memory .text:0000A4A0 CMP R3, #5 @ Set cond. codes on Op1 - Op2 .text:0000A4A4 BLE loc_A140 @ Branch .text:0000A4A8 MOV R0, R6 @ Rd = Op2 .text:0000A4AC BL time @ Branch with Link .text:0000A4B0 LDR R2, =0x51EB851F @ Load from Memory .text:0000A4B4 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000A4B8 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000A4BC RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000A4C0 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000A4C4 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000A4C8 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000A4CC BL call_gettimeofday @ Branch with Link .text:0000A4D0 MOV R1, R4 @ Rd = Op2 .text:0000A4D4 MOV R2, R0 @ Rd = Op2 .text:0000A4D8 LDR R3, =aRw_packet @ Load from Memory .text:0000A4DC LDR R0, =logfile_format @ Load from Memory .text:0000A4E0 BL printf @ Branch with Link .text:0000A4E4 LDR R0, =aDoNotDropTrans @ Load from Memory .text:0000A4E8 B loc_A188 @ Branch .text:0000A4EC @ --------------------------------------------------------------------------- .text:0000A4EC .text:0000A4EC loc_A4EC: @ CODE XREF: rw_packet+A98j .text:0000A4EC MOV R0, R6 @ Rd = Op2 .text:0000A4F0 BL time @ Branch with Link .text:0000A4F4 LDR R2, =0x51EB851F @ Load from Memory .text:0000A4F8 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000A4FC MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000A500 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000A504 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000A508 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000A50C SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000A510 BL call_gettimeofday @ Branch with Link .text:0000A514 MOV R1, R4 @ Rd = Op2 .text:0000A518 MOV R2, R0 @ Rd = Op2 .text:0000A51C LDR R3, =aRw_packet @ Load from Memory .text:0000A520 LDR R0, =logfile_format @ Load from Memory .text:0000A524 BL printf @ Branch with Link .text:0000A528 LDR R0, =asc_2AD38 @ Load from Memory .text:0000A52C BL xdebug_out @ Branch with Link .text:0000A530 MOV R0, R6 @ Rd = Op2 .text:0000A534 BL sub_257B4 @ Branch with Link .text:0000A538 B loc_A3FC @ Branch .text:0000A53C @ --------------------------------------------------------------------------- .text:0000A53C .text:0000A53C loc_A53C: @ CODE XREF: rw_packet+9E8j .text:0000A53C MOV R0, #0 @ Rd = Op2 .text:0000A540 BL time @ Branch with Link .text:0000A544 LDR R2, =0x51EB851F @ Load from Memory .text:0000A548 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000A54C MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000A550 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000A554 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000A558 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000A55C SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000A560 BL call_gettimeofday @ Branch with Link .text:0000A564 MOV R1, R4 @ Rd = Op2 .text:0000A568 MOV R2, R0 @ Rd = Op2 .text:0000A56C LDR R3, =aRw_packet @ Load from Memory .text:0000A570 LDR R0, =logfile_format @ Load from Memory .text:0000A574 BL printf @ Branch with Link .text:0000A578 MOV R1, #0xCE @ '+' @ Rd = Op2 .text:0000A57C LDR R0, =a02xI_1 @ Load from Memory .text:0000A580 MOV R2, R1 @ Rd = Op2 .text:0000A584 BL printf @ Branch with Link .text:0000A588 MOV R0, #0 @ Rd = Op2 .text:0000A58C BL sub_257B4 @ Branch with Link .text:0000A590 B loc_A34C @ Branch .text:0000A594 @ --------------------------------------------------------------------------- .text:0000A594 .text:0000A594 loc_A594: @ CODE XREF: rw_packet+9BCj .text:0000A594 MOV R0, #0 @ Rd = Op2 .text:0000A598 BL time @ Branch with Link .text:0000A59C LDR R2, =0x51EB851F @ Load from Memory .text:0000A5A0 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000A5A4 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000A5A8 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000A5AC ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000A5B0 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000A5B4 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000A5B8 BL call_gettimeofday @ Branch with Link .text:0000A5BC MOV R1, R4 @ Rd = Op2 .text:0000A5C0 MOV R2, R0 @ Rd = Op2 .text:0000A5C4 LDR R3, =aRw_packet @ Load from Memory .text:0000A5C8 LDR R0, =logfile_format @ Load from Memory .text:0000A5CC BL printf @ Branch with Link .text:0000A5D0 LDR R0, =aReceivedPacket @ Load from Memory .text:0000A5D4 BL xdebug_out @ Branch with Link .text:0000A5D8 MOV R0, #0 @ Rd = Op2 .text:0000A5DC BL sub_257B4 @ Branch with Link .text:0000A5E0 B loc_A320 @ Branch .text:0000A5E4 @ --------------------------------------------------------------------------- .text:0000A5E4 .text:0000A5E4 loc_A5E4: @ CODE XREF: rw_packet+9ACj .text:0000A5E4 LDR R1, =debug_level @ Load from Memory .text:0000A5E8 LDR R3, [R1] @ Load from Memory .text:0000A5EC CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0000A5F0 BLE loc_A63C @ Branch .text:0000A5F4 BL time @ Branch with Link .text:0000A5F8 LDR R2, =0x51EB851F @ Load from Memory .text:0000A5FC SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000A600 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000A604 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000A608 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000A60C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000A610 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000A614 BL call_gettimeofday @ Branch with Link .text:0000A618 MOV R1, R4 @ Rd = Op2 .text:0000A61C MOV R2, R0 @ Rd = Op2 .text:0000A620 LDR R3, =aRw_packet @ Load from Memory .text:0000A624 LDR R0, =logfile_format @ Load from Memory .text:0000A628 BL printf @ Branch with Link .text:0000A62C LDR R0, =aPacketInvalidC @ Load from Memory .text:0000A630 BL xdebug_out @ Branch with Link .text:0000A634 MOV R0, R5 @ Rd = Op2 .text:0000A638 BL sub_257B4 @ Branch with Link .text:0000A63C .text:0000A63C loc_A63C: @ CODE XREF: rw_packet+C90j .text:0000A63C LDR R3, =buf @ Load from Memory .text:0000A640 MOV R6, #0x31 @ '1' @ Rd = Op2 .text:0000A644 MOV R1, R3 @ buf .text:0000A648 STRB R6, [R3] @ Store to Memory .text:0000A64C MOV R0, R7 @ fd .text:0000A650 MOV R2, #1 @ count .text:0000A654 BL __libc_write @ Branch with Link .text:0000A658 LDR R0, =debug_level @ Load from Memory .text:0000A65C LDR R3, [R0] @ Load from Memory .text:0000A660 CMP R3, #3 @ Set cond. codes on Op1 - Op2 .text:0000A664 BGT loc_A680 @ Branch .text:0000A668 .text:0000A668 loc_A668: @ CODE XREF: rw_packet+D74j .text:0000A668 LDR R0, =dword_35FC0 @ Load from Memory .text:0000A66C LDR R1, =buf_max @ Load from Memory .text:0000A670 STR R5, [R0] @ Store to Memory .text:0000A674 STR R5, [R1] @ Store to Memory .text:0000A678 .text:0000A678 loc_A678: @ CODE XREF: rw_packet+1194j .text:0000A678 STR R5, [R10] @ Store to Memory .text:0000A67C B loc_9C10 @ Branch .text:0000A680 @ --------------------------------------------------------------------------- .text:0000A680 .text:0000A680 loc_A680: @ CODE XREF: rw_packet+D04j .text:0000A680 MOV R0, R5 @ Rd = Op2 .text:0000A684 BL time @ Branch with Link .text:0000A688 LDR R2, =0x51EB851F @ Load from Memory .text:0000A68C SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000A690 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000A694 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000A698 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000A69C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000A6A0 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000A6A4 BL call_gettimeofday @ Branch with Link .text:0000A6A8 MOV R1, R4 @ Rd = Op2 .text:0000A6AC MOV R2, R0 @ Rd = Op2 .text:0000A6B0 LDR R3, =aRw_packet @ Load from Memory .text:0000A6B4 LDR R0, =logfile_format @ Load from Memory .text:0000A6B8 BL printf @ Branch with Link .text:0000A6BC MOV R1, R6 @ Rd = Op2 .text:0000A6C0 LDR R0, =a02xI @ Load from Memory .text:0000A6C4 MOV R2, R6 @ Rd = Op2 .text:0000A6C8 BL printf @ Branch with Link .text:0000A6CC MOV R0, R5 @ Rd = Op2 .text:0000A6D0 BL sub_257B4 @ Branch with Link .text:0000A6D4 B loc_A668 @ Branch .text:0000A6D8 @ --------------------------------------------------------------------------- .text:0000A6D8 .text:0000A6D8 loc_A6D8: @ CODE XREF: rw_packet+180j .text:0000A6D8 LDR R0, =dword_3DCA0 @ Load from Memory .text:0000A6DC LDR R2, =dword_35FC8 @ Load from Memory .text:0000A6E0 LDR R3, [R0] @ Load from Memory .text:0000A6E4 LDR R1, [R2] @ Load from Memory .text:0000A6E8 ADD R3, R3, #1 @ Rd = Op1 + Op2 .text:0000A6EC CMP R3, R1 @ Set cond. codes on Op1 - Op2 .text:0000A6F0 STR R3, [R0] @ Store to Memory .text:0000A6F4 BEQ loc_A714 @ Branch .text:0000A6F8 .text:0000A6F8 loc_A6F8: @ CODE XREF: rw_packet+DCCj .text:0000A6F8 @ rw_packet+E20j .text:0000A6F8 LDR R0, =buf_max @ Load from Memory .text:0000A6FC LDR R2, [R10] @ Load from Memory .text:0000A700 LDR R3, [R0] @ Load from Memory .text:0000A704 CMP R2, R3 @ Set cond. codes on Op1 - Op2 .text:0000A708 BGE loc_9C10 @ Branch .text:0000A70C ADD R3, R2, #1 @ Rd = Op1 + Op2 .text:0000A710 B loc_9C0C @ Branch .text:0000A714 @ --------------------------------------------------------------------------- .text:0000A714 .text:0000A714 loc_A714: @ CODE XREF: rw_packet+D94j .text:0000A714 LDR R1, =debug_level @ Load from Memory .text:0000A718 LDR R3, [R1] @ Load from Memory .text:0000A71C CMP R3, #0xB @ Set cond. codes on Op1 - Op2 .text:0000A720 LDR R3, =dword_35FC0 @ Load from Memory .text:0000A724 MOV R2, #2 @ Rd = Op2 .text:0000A728 STR R2, [R3] @ Store to Memory .text:0000A72C BLE loc_A6F8 @ Branch .text:0000A730 MOV R0, #0 @ Rd = Op2 .text:0000A734 BL time @ Branch with Link .text:0000A738 LDR R2, =0x51EB851F @ Load from Memory .text:0000A73C MOV R4, R0 @ Rd = Op2 .text:0000A740 SMULL R0, R1, R2, R4 @ Signed Multiply long .text:0000A744 MOV R3, R4,ASR#31 @ Rd = Op2 .text:0000A748 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000A74C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000A750 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000A754 SUB R4, R4, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000A758 BL call_gettimeofday @ Branch with Link .text:0000A75C MOV R1, R4 @ Rd = Op2 .text:0000A760 MOV R2, R0 @ Rd = Op2 .text:0000A764 LDR R3, =aRw_packet @ Load from Memory .text:0000A768 LDR R0, =logfile_format @ Load from Memory .text:0000A76C BL printf @ Branch with Link .text:0000A770 LDR R0, =aHaveBodyExpect @ Load from Memory .text:0000A774 BL xdebug_out @ Branch with Link .text:0000A778 MOV R0, #0 @ Rd = Op2 .text:0000A77C BL sub_257B4 @ Branch with Link .text:0000A780 B loc_A6F8 @ Branch .text:0000A784 @ --------------------------------------------------------------------------- .text:0000A784 .text:0000A784 loc_A784: @ CODE XREF: rw_packet+178j .text:0000A784 CMP R5, #0xBD @ '+' @ Set cond. codes on Op1 - Op2 .text:0000A788 BEQ loc_B330 @ Branch .text:0000A78C BGT loc_AD90 @ Branch .text:0000A790 CMP R5, #0xAC @ '¼' @ Set cond. codes on Op1 - Op2 .text:0000A794 BNE loc_9AF0 @ Branch .text:0000A798 LDR R11, =dword_3D880 @ Load from Memory .text:0000A79C LDR R2, [R10] @ Load from Memory .text:0000A7A0 LDRB R3, [R11,R2] @ Load from Memory .text:0000A7A4 CMP R3, #0xAC @ '¼' @ Set cond. codes on Op1 - Op2 .text:0000A7A8 LDR R3, =dword_35F2C @ Load from Memory .text:0000A7AC MOV R5, #0 @ Rd = Op2 .text:0000A7B0 STR R5, [R3] @ Store to Memory .text:0000A7B4 BEQ loc_ACD0 @ Branch .text:0000A7B8 LDR R0, =debug_level @ Load from Memory .text:0000A7BC LDR R3, [R0] @ Load from Memory .text:0000A7C0 LDR R6, =recv_buf @ Load from Memory .text:0000A7C4 CMP R3, #2 @ Set cond. codes on Op1 - Op2 .text:0000A7C8 STR R5, [R6] @ Store to Memory .text:0000A7CC BGT loc_AD34 @ Branch .text:0000A7D0 .text:0000A7D0 loc_A7D0: @ CODE XREF: rw_packet+142Cj .text:0000A7D0 LDRB R0, [R11,R2] @ Load from Memory .text:0000A7D4 BL hdr_isvalid @ Branch with Link .text:0000A7D8 CMN R0, #1 @ Set cond. codes on Op1 + Op2 .text:0000A7DC BLE loc_AA70 @ Branch .text:0000A7E0 LDR R0, =debug_level @ Load from Memory .text:0000A7E4 LDR R3, [R0] @ Load from Memory .text:0000A7E8 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0000A7EC BLE loc_A83C @ Branch .text:0000A7F0 MOV R0, R5 @ Rd = Op2 .text:0000A7F4 BL time @ Branch with Link .text:0000A7F8 LDR R2, =0x51EB851F @ Load from Memory .text:0000A7FC SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000A800 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000A804 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000A808 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000A80C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000A810 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000A814 BL call_gettimeofday @ Branch with Link .text:0000A818 MOV R1, R4 @ Rd = Op2 .text:0000A81C MOV R2, R0 @ Rd = Op2 .text:0000A820 LDR R3, =aRw_packet @ Load from Memory .text:0000A824 LDR R0, =logfile_format @ Load from Memory .text:0000A828 BL printf @ Branch with Link .text:0000A82C LDR R0, =aBlockFromUcGot @ Load from Memory .text:0000A830 BL xdebug_out @ Branch with Link .text:0000A834 MOV R0, R5 @ Rd = Op2 .text:0000A838 BL sub_257B4 @ Branch with Link .text:0000A83C .text:0000A83C loc_A83C: @ CODE XREF: rw_packet+E8Cj .text:0000A83C LDR R1, =dword_3DAA0 @ Load from Memory .text:0000A840 LDRB R0, [R1] @ Load from Memory .text:0000A844 BL packblocked @ Branch with Link .text:0000A848 LDR R3, [R10] @ Load from Memory .text:0000A84C LDRB R0, [R11,R3] @ Load from Memory .text:0000A850 LDR R3, =recv_buflen @ Load from Memory .text:0000A854 STR R5, [R3] @ Store to Memory .text:0000A858 BL hdr_isvalid @ Branch with Link .text:0000A85C CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000A860 BLE loc_A920 @ Branch .text:0000A864 LDR R0, =debug_level @ Load from Memory .text:0000A868 LDR R3, [R0] @ Load from Memory .text:0000A86C LDR R1, =dword_35FC0 @ Load from Memory .text:0000A870 MOV R2, #1 @ Rd = Op2 .text:0000A874 CMP R3, #0xB @ Set cond. codes on Op1 - Op2 .text:0000A878 STR R2, [R1] @ Store to Memory .text:0000A87C BGT loc_A8D0 @ Branch .text:0000A880 .text:0000A880 loc_A880: @ CODE XREF: rw_packet+FBCj .text:0000A880 LDR R3, [R10] @ Load from Memory .text:0000A884 LDRB R0, [R11,R3] @ Load from Memory .text:0000A888 LDR R3, =dword_3DCA0 @ Load from Memory .text:0000A88C STR R5, [R3] @ Store to Memory .text:0000A890 BL hdr_isvalid @ Branch with Link .text:0000A894 LDR R3, =dword_35FC8 @ Load from Memory .text:0000A898 STR R0, [R3] @ Store to Memory .text:0000A89C .text:0000A89C loc_A89C: @ CODE XREF: rw_packet+FE0j .text:0000A89C @ rw_packet+1030j .text:0000A89C LDR R3, [R10] @ Load from Memory .text:0000A8A0 MOV R5, #0 @ Rd = Op2 .text:0000A8A4 CMP R5, R3 @ Set cond. codes on Op1 - Op2 .text:0000A8A8 BGE loc_9C04 @ Branch .text:0000A8AC LDR R0, =dword_3D880 @ Load from Memory .text:0000A8B0 MOV R1, R3 @ Rd = Op2 .text:0000A8B4 .text:0000A8B4 loc_A8B4: @ CODE XREF: rw_packet+F68j .text:0000A8B4 ADD R3, R5, R0 @ Rd = Op1 + Op2 .text:0000A8B8 LDRB R2, [R3,R1] @ Load from Memory .text:0000A8BC STRB R2, [R0,R5] @ Store to Memory .text:0000A8C0 ADD R5, R5, #1 @ Rd = Op1 + Op2 .text:0000A8C4 CMP R5, R1 @ Set cond. codes on Op1 - Op2 .text:0000A8C8 BLT loc_A8B4 @ Branch .text:0000A8CC B loc_9C04 @ Branch .text:0000A8D0 @ --------------------------------------------------------------------------- .text:0000A8D0 .text:0000A8D0 loc_A8D0: @ CODE XREF: rw_packet+F1Cj .text:0000A8D0 MOV R0, R5 @ Rd = Op2 .text:0000A8D4 BL time @ Branch with Link .text:0000A8D8 LDR R2, =0x51EB851F @ Load from Memory .text:0000A8DC SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000A8E0 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000A8E4 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000A8E8 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000A8EC ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000A8F0 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000A8F4 BL call_gettimeofday @ Branch with Link .text:0000A8F8 MOV R1, R4 @ Rd = Op2 .text:0000A8FC MOV R2, R0 @ Rd = Op2 .text:0000A900 LDR R3, =aRw_packet @ Load from Memory .text:0000A904 LDR R0, =logfile_format @ Load from Memory .text:0000A908 BL printf @ Branch with Link .text:0000A90C LDR R0, =aExpectingBody @ Load from Memory .text:0000A910 BL xdebug_out @ Branch with Link .text:0000A914 MOV R0, R5 @ Rd = Op2 .text:0000A918 BL sub_257B4 @ Branch with Link .text:0000A91C B loc_A880 @ Branch .text:0000A920 @ --------------------------------------------------------------------------- .text:0000A920 .text:0000A920 loc_A920: @ CODE XREF: rw_packet+F00j .text:0000A920 LDR R0, =debug_level @ Load from Memory .text:0000A924 LDR R3, [R0] @ Load from Memory .text:0000A928 LDR R1, =dword_35FC0 @ Load from Memory .text:0000A92C CMP R3, #0xB @ Set cond. codes on Op1 - Op2 .text:0000A930 LDR R3, =dword_35FC8 @ Load from Memory .text:0000A934 MOV R2, #2 @ Rd = Op2 .text:0000A938 STR R2, [R1] @ Store to Memory .text:0000A93C STR R5, [R3] @ Store to Memory .text:0000A940 BLE loc_A89C @ Branch .text:0000A944 MOV R0, R5 @ Rd = Op2 .text:0000A948 BL time @ Branch with Link .text:0000A94C LDR R2, =0x51EB851F @ Load from Memory .text:0000A950 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000A954 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000A958 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000A95C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000A960 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000A964 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000A968 BL call_gettimeofday @ Branch with Link .text:0000A96C MOV R1, R4 @ Rd = Op2 .text:0000A970 MOV R2, R0 @ Rd = Op2 .text:0000A974 LDR R3, =aRw_packet @ Load from Memory .text:0000A978 LDR R0, =logfile_format @ Load from Memory .text:0000A97C BL printf @ Branch with Link .text:0000A980 LDR R0, =aExpectingCheck @ Load from Memory .text:0000A984 BL xdebug_out @ Branch with Link .text:0000A988 MOV R0, R5 @ Rd = Op2 .text:0000A98C BL sub_257B4 @ Branch with Link .text:0000A990 B loc_A89C @ Branch .text:0000A990 @ --------------------------------------------------------------------------- .text:0000A994 off_A994: .long buf_max @ DATA XREF: rw_packet+58r .text:0000A994 @ rw_packet:loc_9A34r ... .text:0000A998 off_A998: .long debug_level @ DATA XREF: rw_packet+78r .text:0000A998 @ rw_packet+F4r ... .text:0000A99C dword_A99C: .long 0x51EB851F @ DATA XREF: rw_packet+90r .text:0000A99C @ rw_packet+1C0r ... .text:0000A9A0 off_A9A0: .long aRw_packet @ DATA XREF: rw_packet+B8r .text:0000A9A0 @ rw_packet+1E8r ... .text:0000A9A0 @ "rw_packet" .text:0000A9A4 off_A9A4: .long logfile_format @ DATA XREF: rw_packet+BCr .text:0000A9A4 @ rw_packet+1ECr ... .text:0000A9A4 @ "%02li.%02li:51d :%-10.10s: " .text:0000A9A8 off_A9A8: .long aHeyBuddyTooMan @ DATA XREF: rw_packet+C4r .text:0000A9A8 @ "!!!! Hey, buddy, too many incoming pack"... .text:0000A9AC off_A9AC: .long dword_35FC0 @ DATA XREF: rw_packet+E4r .text:0000A9AC @ rw_packet:loc_9AC8r ... .text:0000A9B0 off_A9B0: .long aBlockFromUcAft @ DATA XREF: rw_packet+1F4r .text:0000A9B0 @ "BLOCK from uC after xACK, got valid hea"... .text:0000A9B4 off_A9B4: .long aWhoaNotExpecti @ DATA XREF: rw_packet+3DCr .text:0000A9B4 @ "WHOA!!! Not expecting a byte yet!!!, go"... .text:0000A9B8 off_A9B8: .long dword_35F3C @ DATA XREF: rw_packet:loc_9D98r .text:0000A9BC off_A9BC: .long aGotHeaderExpec @ DATA XREF: rw_packet+4D0r .text:0000A9BC @ "Got Header, expect Body" .text:0000A9C0 off_A9C0: .long aGotHeaderExp_0 @ DATA XREF: rw_packet+554r .text:0000A9C0 @ "Got Header, expect Checksum" .text:0000A9C4 off_A9C4: .long aUnknownHeader0 @ DATA XREF: rw_packet+5ECr .text:0000A9C4 @ "Unknown header %02x\n" .text:0000A9C8 off_A9C8: .long aGotXnackWanted @ DATA XREF: rw_packet+6FCr .text:0000A9C8 @ "Got xNACK, wanted Header" .text:0000A9CC off_A9CC: .long aBlockingToRead @ DATA XREF: rw_packet+8C4r .text:0000A9CC @ "Blocking to read utility version" .text:0000A9D0 off_A9D0: .long aGotOldHeader @ DATA XREF: rw_packet+974r .text:0000A9D0 @ "Got Old Header" .text:0000A9D4 off_A9D4: .long aIMDroppingAPac @ DATA XREF: rw_packet+B24r .text:0000A9D4 @ "!!! I'm dropping a packet because there"... .text:0000A9D8 off_A9D8: .long aDoNotDropTrans @ DATA XREF: rw_packet+B84r .text:0000A9D8 @ "Do not drop transport packet!" .text:0000A9DC off_A9DC: .long aReceivedPacket @ DATA XREF: rw_packet+C70r .text:0000A9DC @ "Received packet OK" .text:0000A9E0 off_A9E0: .long aPacketInvalidC @ DATA XREF: rw_packet+CCCr .text:0000A9E0 @ "Packet invalid checksum" .text:0000A9E4 off_A9E4: .long aHaveBodyExpect @ DATA XREF: rw_packet+E10r .text:0000A9E4 @ "Have Body, expect CSUM" .text:0000A9E8 off_A9E8: .long a02xI @ DATA XREF: rw_packet+664r .text:0000A9E8 @ rw_packet+D60r ... .text:0000A9E8 @ "\t\t %02x (%i) ------------>\n" .text:0000A9EC off_A9EC: .long aInvalidBlockin @ DATA XREF: rw_packet+1230r .text:0000A9EC @ "Invalid Blocking Header %02x, clearing "... .text:0000A9F0 off_A9F0: .long aExpectedHackGo @ DATA XREF: rw_packet+1414r .text:0000A9F0 @ "Expected HACK, got %02x\n" .text:0000A9F4 off_A9F4: .long aExpectedPackGo @ DATA XREF: rw_packet+1840r .text:0000A9F4 @ "Expected PACK, got %02x\n" .text:0000A9F8 off_A9F8: .long asc_2AC08 @ DATA XREF: rw_packet+1964r .text:0000A9F8 @ "#######################################"... .text:0000A9FC off_A9FC: .long aGotPackSentPac @ DATA XREF: rw_packet+19B4r .text:0000A9FC @ "Got PACK, sent packet OK" .text:0000AA00 off_AA00: .long aBlockFromUcGot @ DATA XREF: rw_packet+ECCr .text:0000AA00 @ rw_packet+14D8r ... .text:0000AA00 @ "BLOCK from uC, got valid header, readin"... .text:0000AA04 off_AA04: .long dword_3DCA0 @ DATA XREF: rw_packet+260r .text:0000AA04 @ rw_packet+440r ... .text:0000AA08 off_AA08: .long aExpectingBody @ DATA XREF: rw_packet+304r .text:0000AA08 @ rw_packet+FACr ... .text:0000AA08 @ "Expecting Body" .text:0000AA0C off_AA0C: .long dword_35FC8 @ DATA XREF: rw_packet+26Cr .text:0000AA0C @ rw_packet+320r ... .text:0000AA10 off_AA10: .long aExpectingCheck @ DATA XREF: rw_packet+378r .text:0000AA10 @ rw_packet+1020r ... .text:0000AA10 @ "Expecting Checksum" .text:0000AA14 off_AA14: .long aTooManyRetries @ DATA XREF: rw_packet+12ACr .text:0000AA14 @ rw_packet+1798r ... .text:0000AA14 @ "Too many retries" .text:0000AA18 off_AA18: .long aExpectedBackGo @ DATA XREF: rw_packet+1DA4r .text:0000AA18 @ "Expected BACK, got %02x\n" .text:0000AA1C off_AA1C: .long aGotBnackResend @ DATA XREF: rw_packet+1E1Cr .text:0000AA1C @ "Got BNACK, resending" .text:0000AA20 off_AA20: .long buf_size @ DATA XREF: rw_packet+150r .text:0000AA20 @ rw_packet+1E6Cr .text:0000AA24 off_AA24: .long aBufferAtIMaxI @ DATA XREF: rw_packet+1E7Cr .text:0000AA24 @ "Buffer at %i, max %i\n" .text:0000AA28 off_AA28: .long a02xI_0 @ DATA XREF: rw_packet+1ECCr .text:0000AA28 @ "\t\t\t\t <============ %02x (%i)\n" .text:0000AA2C off_AA2C: .long asc_2AD38 @ DATA XREF: rw_packet+824r .text:0000AA2C @ rw_packet+BC8r ... .text:0000AA2C @ "***************************************"... .text:0000AA30 off_AA30: .long dword_3D880 @ DATA XREF: rw_packet+124r .text:0000AA30 @ rw_packet+194r ... .text:0000AA34 off_AA34: .long buf_max @ DATA XREF: rw_packet+1184r .text:0000AA34 @ rw_packet+1314r ... .text:0000AA38 off_AA38: .long aTooManyRetri_0 @ DATA XREF: rw_packet+1FD4r .text:0000AA38 @ "Too many retries removing packet from s"... .text:0000AA3C off_AA3C: .long recv_buflen @ DATA XREF: rw_packet+224r .text:0000AA3C @ rw_packet+EF0r ... .text:0000AA40 off_AA40: .long dword_35FC0 @ DATA XREF: rw_packet+1330r .text:0000AA40 @ rw_packet+13B8r ... .text:0000AA44 off_AA44: .long num_retries @ DATA XREF: rw_packet:check_retriesr .text:0000AA44 @ rw_packet+1334r ... .text:0000AA48 off_AA48: .long dword_35F2C @ DATA XREF: rw_packet+210r .text:0000AA48 @ rw_packet+E48r ... .text:0000AA4C off_AA4C: .long recv_buf @ DATA XREF: rw_packet+220r .text:0000AA4C @ rw_packet+E60r ... .text:0000AA50 off_AA50: .long dword_3DAA0 @ DATA XREF: rw_packet:loc_A83Cr .text:0000AA50 @ rw_packet+12D0r ... .text:0000AA54 @ void *off_AA54 .text:0000AA54 off_AA54: .long buf @ DATA XREF: rw_packet+580r .text:0000AA54 @ rw_packet:loc_A320r ... .text:0000AA58 off_AA58: .long debug_level @ DATA XREF: rw_packet:loc_AAA4r .text:0000AA58 @ rw_packet+1170r ... .text:0000AA5C dword_AA5C: .long 0x51EB851F @ DATA XREF: rw_packet+11A0r .text:0000AA5C @ rw_packet+11F8r ... .text:0000AA60 off_AA60: .long aRw_packet @ DATA XREF: rw_packet+11C8r .text:0000AA60 @ rw_packet+1220r ... .text:0000AA60 @ "rw_packet" .text:0000AA64 off_AA64: .long logfile_format @ DATA XREF: rw_packet+11CCr .text:0000AA64 @ rw_packet+1224r ... .text:0000AA64 @ "%02li.%02li:51d :%-10.10s: " .text:0000AA68 off_AA68: .long a02xI_1 @ DATA XREF: rw_packet+C1Cr .text:0000AA68 @ rw_packet+20F0r .text:0000AA68 @ "\t\t %02x (%i) ------------->\n" .text:0000AA6C off_AA6C: .long dword_35F28 @ DATA XREF: rw_packet+208r .text:0000AA6C @ rw_packet+131Cr ... .text:0000AA70 @ --------------------------------------------------------------------------- .text:0000AA70 .text:0000AA70 loc_AA70: @ CODE XREF: rw_packet+E7Cj .text:0000AA70 LDR R3, [R10] @ Load from Memory .text:0000AA74 LDRB R3, [R11,R3] @ Load from Memory .text:0000AA78 CMP R3, #0xAC @ '¼' @ Set cond. codes on Op1 - Op2 .text:0000AA7C CMPNE R3, #0xBD @ '+' @ Set cond. codes on Op1 - Op2 .text:0000AA80 BEQ check_retries @ Branch .text:0000AA84 CMP R3, #0xCE @ '+' @ Set cond. codes on Op1 - Op2 .text:0000AA88 BEQ check_retries @ Branch .text:0000AA8C CMP R3, #0x53 @ 'S' @ Set cond. codes on Op1 - Op2 .text:0000AA90 BEQ check_retries @ Branch .text:0000AA94 CMP R3, #0x42 @ 'B' @ Set cond. codes on Op1 - Op2 .text:0000AA98 BEQ check_retries @ Branch .text:0000AA9C CMP R3, #0x31 @ '1' @ Set cond. codes on Op1 - Op2 .text:0000AAA0 BEQ check_retries @ Branch .text:0000AAA4 .text:0000AAA4 loc_AAA4: @ CODE XREF: rw_packet+1670j .text:0000AAA4 @ rw_packet+1C04j .text:0000AAA4 LDR R0, =debug_level @ Load from Memory .text:0000AAA8 LDR R3, [R0] @ Load from Memory .text:0000AAAC CMP R3, #1 @ Set cond. codes on Op1 - Op2 .text:0000AAB0 BGT loc_AB50 @ Branch .text:0000AAB4 .text:0000AAB4 loc_AAB4: @ CODE XREF: rw_packet+1244j .text:0000AAB4 LDR R3, =buf @ Load from Memory .text:0000AAB8 MOV R11, #0x53 @ 'S' @ Rd = Op2 .text:0000AABC MOV R1, R3 @ buf .text:0000AAC0 STRB R11, [R3] @ Store to Memory .text:0000AAC4 MOV R0, R7 @ fd .text:0000AAC8 MOV R2, #1 @ count .text:0000AACC BL __libc_write @ Branch with Link .text:0000AAD0 LDR R0, =debug_level @ Load from Memory .text:0000AAD4 LDR R3, [R0] @ Load from Memory .text:0000AAD8 CMP R3, #3 @ Set cond. codes on Op1 - Op2 .text:0000AADC BGT loc_AAF8 @ Branch .text:0000AAE0 .text:0000AAE0 loc_AAE0: @ CODE XREF: rw_packet+11ECj .text:0000AAE0 LDR R3, =recv_buflen @ Load from Memory .text:0000AAE4 LDR R0, =buf_max @ Load from Memory .text:0000AAE8 STR R5, [R6] @ Store to Memory .text:0000AAEC STR R5, [R3] @ Store to Memory .text:0000AAF0 STR R5, [R0] @ Store to Memory .text:0000AAF4 B loc_A678 @ Branch .text:0000AAF8 @ --------------------------------------------------------------------------- .text:0000AAF8 .text:0000AAF8 loc_AAF8: @ CODE XREF: rw_packet+117Cj .text:0000AAF8 MOV R0, R5 @ Rd = Op2 .text:0000AAFC BL time @ Branch with Link .text:0000AB00 LDR R2, =0x51EB851F @ Load from Memory .text:0000AB04 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000AB08 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000AB0C RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000AB10 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000AB14 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000AB18 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000AB1C BL call_gettimeofday @ Branch with Link .text:0000AB20 MOV R1, R4 @ Rd = Op2 .text:0000AB24 MOV R2, R0 @ Rd = Op2 .text:0000AB28 LDR R3, =aRw_packet @ Load from Memory .text:0000AB2C LDR R0, =logfile_format @ Load from Memory .text:0000AB30 BL printf @ Branch with Link .text:0000AB34 MOV R1, R11 @ Rd = Op2 .text:0000AB38 LDR R0, =a02xI @ Load from Memory .text:0000AB3C MOV R2, R11 @ Rd = Op2 .text:0000AB40 BL printf @ Branch with Link .text:0000AB44 MOV R0, R5 @ Rd = Op2 .text:0000AB48 BL sub_257B4 @ Branch with Link .text:0000AB4C B loc_AAE0 @ Branch .text:0000AB50 @ --------------------------------------------------------------------------- .text:0000AB50 .text:0000AB50 loc_AB50: @ CODE XREF: rw_packet+1150j .text:0000AB50 MOV R0, R5 @ Rd = Op2 .text:0000AB54 BL time @ Branch with Link .text:0000AB58 LDR R2, =0x51EB851F @ Load from Memory .text:0000AB5C SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000AB60 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000AB64 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000AB68 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000AB6C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000AB70 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000AB74 BL call_gettimeofday @ Branch with Link .text:0000AB78 MOV R1, R4 @ Rd = Op2 .text:0000AB7C MOV R2, R0 @ Rd = Op2 .text:0000AB80 LDR R3, =aRw_packet @ Load from Memory .text:0000AB84 LDR R0, =logfile_format @ Load from Memory .text:0000AB88 BL printf @ Branch with Link .text:0000AB8C LDR R3, [R10] @ Load from Memory .text:0000AB90 LDR R0, =aInvalidBlockin @ Load from Memory .text:0000AB94 LDRB R1, [R11,R3] @ Load from Memory .text:0000AB98 BL printf @ Branch with Link .text:0000AB9C MOV R0, R5 @ Rd = Op2 .text:0000ABA0 BL sub_257B4 @ Branch with Link .text:0000ABA4 B loc_AAB4 @ Branch .text:0000ABA8 @ --------------------------------------------------------------------------- .text:0000ABA8 .text:0000ABA8 check_retries: @ CODE XREF: rw_packet+1120j .text:0000ABA8 @ rw_packet+1128j ... .text:0000ABA8 LDR R4, =num_retries @ Load from Memory .text:0000ABAC LDR R3, [R4] @ Load from Memory .text:0000ABB0 ADD R3, R3, #1 @ Rd = Op1 + Op2 .text:0000ABB4 CMP R3, #5 @ Set cond. codes on Op1 - Op2 .text:0000ABB8 STR R3, [R4] @ Store to Memory .text:0000ABBC BLE loc_ACD0 @ Branch .text:0000ABC0 .text:0000ABC0 too_many_retries: @ Load from Memory .text:0000ABC0 LDR R1, =debug_level .text:0000ABC4 LDR R3, [R1] @ Load from Memory .text:0000ABC8 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0000ABCC BLE loc_AC1C @ Branch .text:0000ABD0 MOV R0, #0 @ Rd = Op2 .text:0000ABD4 BL time @ Branch with Link .text:0000ABD8 LDR R2, =0x51EB851F @ Load from Memory .text:0000ABDC SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000ABE0 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000ABE4 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000ABE8 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000ABEC ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000ABF0 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000ABF4 BL call_gettimeofday @ Branch with Link .text:0000ABF8 MOV R1, R4 @ Rd = Op2 .text:0000ABFC MOV R2, R0 @ Rd = Op2 .text:0000AC00 LDR R3, =aRw_packet @ Load from Memory .text:0000AC04 LDR R0, =logfile_format @ Load from Memory .text:0000AC08 BL printf @ Branch with Link .text:0000AC0C LDR R0, =aTooManyRetries @ Load from Memory .text:0000AC10 BL xdebug_out @ Branch with Link .text:0000AC14 MOV R0, #0 @ Rd = Op2 .text:0000AC18 BL sub_257B4 @ Branch with Link .text:0000AC1C .text:0000AC1C loc_AC1C: @ CODE XREF: rw_packet+126Cj .text:0000AC1C LDR R2, =recv_buflen @ Load from Memory .text:0000AC20 LDR R3, [R2] @ Load from Memory .text:0000AC24 MOV R5, #0 @ Rd = Op2 .text:0000AC28 CMP R5, R3 @ Set cond. codes on Op1 - Op2 .text:0000AC2C BGE loc_AC64 @ Branch .text:0000AC30 LDR R1, =dword_3DAA0 @ Load from Memory .text:0000AC34 MOV R6, R2 @ Rd = Op2 .text:0000AC38 MOV R11, R1 @ Rd = Op2 .text:0000AC3C ADD R4, R1, #0x20 @ Rd = Op1 + Op2 .text:0000AC40 .text:0000AC40 loc_AC40: @ CODE XREF: rw_packet+1300j .text:0000AC40 MOV R0, R5,LSL#5 @ Rd = Op2 .text:0000AC44 ADD R1, R0, R4 @ Rd = Op1 + Op2 .text:0000AC48 MOV R2, #0x20 @ ' ' @ Rd = Op2 .text:0000AC4C ADD R0, R0, R11 @ Rd = Op1 + Op2 .text:0000AC50 BL memcpy @ Branch with Link .text:0000AC54 LDR R3, [R6] @ Load from Memory .text:0000AC58 ADD R5, R5, #1 @ Rd = Op1 + Op2 .text:0000AC5C CMP R5, R3 @ Set cond. codes on Op1 - Op2 .text:0000AC60 BLT loc_AC40 @ Branch .text:0000AC64 .text:0000AC64 loc_AC64: @ CODE XREF: rw_packet+12CCj .text:0000AC64 LDR R2, =recv_buflen @ Load from Memory .text:0000AC68 LDR R3, [R2] @ Load from Memory .text:0000AC6C SUB R3, R3, #1 @ Rd = Op1 - Op2 .text:0000AC70 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0000AC74 LDR R0, =buf_max @ Load from Memory .text:0000AC78 STR R3, [R2] @ Store to Memory .text:0000AC7C LDRNE R3, =dword_35F28 @ Load from Memory .text:0000AC80 MOVNE R2, #1 @ Rd = Op2 .text:0000AC84 LDR R5, [R10] @ Load from Memory .text:0000AC88 LDR R12, [R0] @ Load from Memory .text:0000AC8C STRNE R2, [R3] @ Store to Memory .text:0000AC90 LDR R1, =dword_35FC0 @ Load from Memory .text:0000AC94 LDR R2, =num_retries @ Load from Memory .text:0000AC98 MOV R3, #0 @ Rd = Op2 .text:0000AC9C CMP R5, R12 @ Set cond. codes on Op1 - Op2 .text:0000ACA0 STR R3, [R2] @ Store to Memory .text:0000ACA4 STR R3, [R1] @ Store to Memory .text:0000ACA8 BGE loc_9D84 @ Branch .text:0000ACAC LDR R0, =dword_3D880 @ Load from Memory .text:0000ACB0 MOV R1, R12 @ Rd = Op2 .text:0000ACB4 .text:0000ACB4 loc_ACB4: @ CODE XREF: rw_packet+1368j .text:0000ACB4 ADD R3, R5, R0 @ Rd = Op1 + Op2 .text:0000ACB8 LDRB R2, [R3,#1] @ Load from Memory .text:0000ACBC STRB R2, [R0,R5] @ Store to Memory .text:0000ACC0 ADD R5, R5, #1 @ Rd = Op1 + Op2 .text:0000ACC4 CMP R5, R1 @ Set cond. codes on Op1 - Op2 .text:0000ACC8 BLT loc_ACB4 @ Branch .text:0000ACCC B loc_9D84 @ Branch .text:0000ACD0 @ --------------------------------------------------------------------------- .text:0000ACD0 .text:0000ACD0 loc_ACD0: @ CODE XREF: rw_packet+E54j .text:0000ACD0 @ rw_packet+125Cj .text:0000ACD0 LDR R2, =buf_max @ Load from Memory .text:0000ACD4 LDR R5, [R10] @ Load from Memory .text:0000ACD8 LDR R3, [R2] @ Load from Memory .text:0000ACDC CMP R5, R3 @ Set cond. codes on Op1 - Op2 .text:0000ACE0 BGE loc_AD04 @ Branch .text:0000ACE4 LDR R0, =dword_3D880 @ Load from Memory .text:0000ACE8 MOV R1, R3 @ Rd = Op2 .text:0000ACEC .text:0000ACEC loc_ACEC: @ CODE XREF: rw_packet+13A0j .text:0000ACEC ADD R3, R5, R0 @ Rd = Op1 + Op2 .text:0000ACF0 LDRB R2, [R3,#1] @ Load from Memory .text:0000ACF4 STRB R2, [R0,R5] @ Store to Memory .text:0000ACF8 ADD R5, R5, #1 @ Rd = Op1 + Op2 .text:0000ACFC CMP R5, R1 @ Set cond. codes on Op1 - Op2 .text:0000AD00 BLT loc_ACEC @ Branch .text:0000AD04 .text:0000AD04 loc_AD04: @ CODE XREF: rw_packet+1380j .text:0000AD04 @ rw_packet+1D3Cj ... .text:0000AD04 LDR R3, =buf_max @ Load from Memory .text:0000AD08 LDR R2, [R3] @ Load from Memory .text:0000AD0C LDR R3, =dword_35F28 @ Load from Memory .text:0000AD10 MOV R1, #1 @ Rd = Op2 .text:0000AD14 STR R1, [R3] @ Store to Memory .text:0000AD18 LDR R3, =dword_35FC0 @ Load from Memory .text:0000AD1C MOV R0, #3 @ Rd = Op2 .text:0000AD20 STR R0, [R3] @ Store to Memory .text:0000AD24 LDR R0, =buf_max @ Load from Memory .text:0000AD28 SUB R2, R2, #1 @ Rd = Op1 - Op2 .text:0000AD2C STR R2, [R0] @ Store to Memory .text:0000AD30 B loc_9C10 @ Branch .text:0000AD34 @ --------------------------------------------------------------------------- .text:0000AD34 .text:0000AD34 loc_AD34: @ CODE XREF: rw_packet+E6Cj .text:0000AD34 MOV R0, R5 @ Rd = Op2 .text:0000AD38 BL time @ Branch with Link .text:0000AD3C LDR R2, =0x51EB851F @ Load from Memory .text:0000AD40 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000AD44 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000AD48 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000AD4C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000AD50 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000AD54 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000AD58 BL call_gettimeofday @ Branch with Link .text:0000AD5C MOV R1, R4 @ Rd = Op2 .text:0000AD60 MOV R2, R0 @ Rd = Op2 .text:0000AD64 LDR R3, =aRw_packet @ Load from Memory .text:0000AD68 LDR R0, =logfile_format @ Load from Memory .text:0000AD6C BL printf @ Branch with Link .text:0000AD70 LDR R3, [R10] @ Load from Memory .text:0000AD74 LDR R0, =aExpectedHackGo @ Load from Memory .text:0000AD78 LDRB R1, [R11,R3] @ Load from Memory .text:0000AD7C BL printf @ Branch with Link .text:0000AD80 MOV R0, R5 @ Rd = Op2 .text:0000AD84 BL sub_257B4 @ Branch with Link .text:0000AD88 LDR R2, [R10] @ Load from Memory .text:0000AD8C B loc_A7D0 @ Branch .text:0000AD90 @ --------------------------------------------------------------------------- .text:0000AD90 .text:0000AD90 loc_AD90: @ CODE XREF: rw_packet+E2Cj .text:0000AD90 CMP R5, #0xCE @ '+' @ Set cond. codes on Op1 - Op2 .text:0000AD94 BNE loc_9AF0 @ Branch .text:0000AD98 LDR R11, =dword_3D880 @ Load from Memory .text:0000AD9C LDR R1, [R10] @ Load from Memory .text:0000ADA0 LDRB R3, [R11,R1] @ Load from Memory .text:0000ADA4 CMP R3, #0xCE @ '+' @ Set cond. codes on Op1 - Op2 .text:0000ADA8 LDR R3, =dword_35F2C @ Load from Memory .text:0000ADAC MOV R5, #0 @ Rd = Op2 .text:0000ADB0 STR R5, [R3] @ Store to Memory .text:0000ADB4 LDR R3, =dword_35FC0 @ Load from Memory .text:0000ADB8 MOV R2, #3 @ Rd = Op2 .text:0000ADBC STR R2, [R3] @ Store to Memory .text:0000ADC0 BEQ loc_B1BC @ Branch .text:0000ADC4 LDR R0, =debug_level @ Load from Memory .text:0000ADC8 LDR R3, [R0] @ Load from Memory .text:0000ADCC CMP R3, #2 @ Set cond. codes on Op1 - Op2 .text:0000ADD0 BGT loc_B160 @ Branch .text:0000ADD4 .text:0000ADD4 loc_ADD4: @ CODE XREF: rw_packet+1858j .text:0000ADD4 LDR R6, =recv_buf @ Load from Memory .text:0000ADD8 LDRB R0, [R11,R1] @ Load from Memory .text:0000ADDC STR R5, [R6] @ Store to Memory .text:0000ADE0 BL hdr_isvalid @ Branch with Link .text:0000ADE4 CMN R0, #1 @ Set cond. codes on Op1 + Op2 .text:0000ADE8 BLE loc_AFA0 @ Branch .text:0000ADEC LDR R0, =debug_level @ Load from Memory .text:0000ADF0 LDR R3, [R0] @ Load from Memory .text:0000ADF4 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0000ADF8 BLE loc_AE48 @ Branch .text:0000ADFC MOV R0, R5 @ Rd = Op2 .text:0000AE00 BL time @ Branch with Link .text:0000AE04 LDR R2, =0x51EB851F @ Load from Memory .text:0000AE08 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000AE0C MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000AE10 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000AE14 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000AE18 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000AE1C SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000AE20 BL call_gettimeofday @ Branch with Link .text:0000AE24 MOV R1, R4 @ Rd = Op2 .text:0000AE28 MOV R2, R0 @ Rd = Op2 .text:0000AE2C LDR R3, =aRw_packet @ Load from Memory .text:0000AE30 LDR R0, =logfile_format @ Load from Memory .text:0000AE34 BL printf @ Branch with Link .text:0000AE38 LDR R0, =aBlockFromUcGot @ Load from Memory .text:0000AE3C BL xdebug_out @ Branch with Link .text:0000AE40 MOV R0, R5 @ Rd = Op2 .text:0000AE44 BL sub_257B4 @ Branch with Link .text:0000AE48 .text:0000AE48 loc_AE48: @ CODE XREF: rw_packet+1498j .text:0000AE48 LDR R1, =dword_3DAA0 @ Load from Memory .text:0000AE4C LDRB R0, [R1] @ Load from Memory .text:0000AE50 BL packblocked @ Branch with Link .text:0000AE54 LDR R3, [R10] @ Load from Memory .text:0000AE58 LDRB R0, [R11,R3] @ Load from Memory .text:0000AE5C LDR R3, =recv_buflen @ Load from Memory .text:0000AE60 STR R5, [R3] @ Store to Memory .text:0000AE64 BL hdr_isvalid @ Branch with Link .text:0000AE68 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000AE6C BLE loc_AF2C @ Branch .text:0000AE70 LDR R0, =debug_level @ Load from Memory .text:0000AE74 LDR R3, [R0] @ Load from Memory .text:0000AE78 LDR R1, =dword_35FC0 @ Load from Memory .text:0000AE7C MOV R2, #1 @ Rd = Op2 .text:0000AE80 CMP R3, #0xB @ Set cond. codes on Op1 - Op2 .text:0000AE84 STR R2, [R1] @ Store to Memory .text:0000AE88 BGT loc_AEDC @ Branch .text:0000AE8C .text:0000AE8C loc_AE8C: @ CODE XREF: rw_packet+15C8j .text:0000AE8C LDR R3, [R10] @ Load from Memory .text:0000AE90 LDRB R0, [R11,R3] @ Load from Memory .text:0000AE94 LDR R3, =dword_3DCA0 @ Load from Memory .text:0000AE98 STR R5, [R3] @ Store to Memory .text:0000AE9C BL hdr_isvalid @ Branch with Link .text:0000AEA0 LDR R3, =dword_35FC8 @ Load from Memory .text:0000AEA4 STR R0, [R3] @ Store to Memory .text:0000AEA8 .text:0000AEA8 loc_AEA8: @ CODE XREF: rw_packet+15ECj .text:0000AEA8 @ rw_packet+163Cj .text:0000AEA8 LDR R3, [R10] @ Load from Memory .text:0000AEAC MOV R5, #0 @ Rd = Op2 .text:0000AEB0 CMP R5, R3 @ Set cond. codes on Op1 - Op2 .text:0000AEB4 BGE loc_9C04 @ Branch .text:0000AEB8 LDR R0, =dword_3D880 @ Load from Memory .text:0000AEBC MOV R1, R3 @ Rd = Op2 .text:0000AEC0 .text:0000AEC0 loc_AEC0: @ CODE XREF: rw_packet+1574j .text:0000AEC0 ADD R3, R5, R0 @ Rd = Op1 + Op2 .text:0000AEC4 LDRB R2, [R3,R1] @ Load from Memory .text:0000AEC8 STRB R2, [R0,R5] @ Store to Memory .text:0000AECC ADD R5, R5, #1 @ Rd = Op1 + Op2 .text:0000AED0 CMP R5, R1 @ Set cond. codes on Op1 - Op2 .text:0000AED4 BLT loc_AEC0 @ Branch .text:0000AED8 B loc_9C04 @ Branch .text:0000AEDC @ --------------------------------------------------------------------------- .text:0000AEDC .text:0000AEDC loc_AEDC: @ CODE XREF: rw_packet+1528j .text:0000AEDC MOV R0, R5 @ Rd = Op2 .text:0000AEE0 BL time @ Branch with Link .text:0000AEE4 LDR R2, =0x51EB851F @ Load from Memory .text:0000AEE8 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000AEEC MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000AEF0 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000AEF4 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000AEF8 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000AEFC SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000AF00 BL call_gettimeofday @ Branch with Link .text:0000AF04 MOV R1, R4 @ Rd = Op2 .text:0000AF08 MOV R2, R0 @ Rd = Op2 .text:0000AF0C LDR R3, =aRw_packet @ Load from Memory .text:0000AF10 LDR R0, =logfile_format @ Load from Memory .text:0000AF14 BL printf @ Branch with Link .text:0000AF18 LDR R0, =aExpectingBody @ Load from Memory .text:0000AF1C BL xdebug_out @ Branch with Link .text:0000AF20 MOV R0, R5 @ Rd = Op2 .text:0000AF24 BL sub_257B4 @ Branch with Link .text:0000AF28 B loc_AE8C @ Branch .text:0000AF2C @ --------------------------------------------------------------------------- .text:0000AF2C .text:0000AF2C loc_AF2C: @ CODE XREF: rw_packet+150Cj .text:0000AF2C LDR R0, =debug_level @ Load from Memory .text:0000AF30 LDR R3, [R0] @ Load from Memory .text:0000AF34 LDR R1, =dword_35FC0 @ Load from Memory .text:0000AF38 CMP R3, #0xB @ Set cond. codes on Op1 - Op2 .text:0000AF3C LDR R3, =dword_35FC8 @ Load from Memory .text:0000AF40 MOV R2, #2 @ Rd = Op2 .text:0000AF44 STR R2, [R1] @ Store to Memory .text:0000AF48 STR R5, [R3] @ Store to Memory .text:0000AF4C BLE loc_AEA8 @ Branch .text:0000AF50 MOV R0, R5 @ Rd = Op2 .text:0000AF54 BL time @ Branch with Link .text:0000AF58 LDR R2, =0x51EB851F @ Load from Memory .text:0000AF5C SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000AF60 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000AF64 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000AF68 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000AF6C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000AF70 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000AF74 BL call_gettimeofday @ Branch with Link .text:0000AF78 MOV R1, R4 @ Rd = Op2 .text:0000AF7C MOV R2, R0 @ Rd = Op2 .text:0000AF80 LDR R3, =aRw_packet @ Load from Memory .text:0000AF84 LDR R0, =logfile_format @ Load from Memory .text:0000AF88 BL printf @ Branch with Link .text:0000AF8C LDR R0, =aExpectingCheck @ Load from Memory .text:0000AF90 BL xdebug_out @ Branch with Link .text:0000AF94 MOV R0, R5 @ Rd = Op2 .text:0000AF98 BL sub_257B4 @ Branch with Link .text:0000AF9C B loc_AEA8 @ Branch .text:0000AFA0 @ --------------------------------------------------------------------------- .text:0000AFA0 .text:0000AFA0 loc_AFA0: @ CODE XREF: rw_packet+1488j .text:0000AFA0 LDR R3, [R10] @ Load from Memory .text:0000AFA4 LDRB R3, [R11,R3] @ Load from Memory .text:0000AFA8 CMP R3, #0xAC @ '¼' @ Set cond. codes on Op1 - Op2 .text:0000AFAC CMPNE R3, #0xBD @ '+' @ Set cond. codes on Op1 - Op2 .text:0000AFB0 BEQ loc_AFD4 @ Branch .text:0000AFB4 CMP R3, #0xCE @ '+' @ Set cond. codes on Op1 - Op2 .text:0000AFB8 BEQ loc_AFD4 @ Branch .text:0000AFBC CMP R3, #0x53 @ 'S' @ Set cond. codes on Op1 - Op2 .text:0000AFC0 BEQ loc_AFD4 @ Branch .text:0000AFC4 CMP R3, #0x42 @ 'B' @ Set cond. codes on Op1 - Op2 .text:0000AFC8 BEQ loc_AFD4 @ Branch .text:0000AFCC CMP R3, #0x31 @ '1' @ Set cond. codes on Op1 - Op2 .text:0000AFD0 BNE loc_AAA4 @ Branch .text:0000AFD4 .text:0000AFD4 loc_AFD4: @ CODE XREF: rw_packet+1650j .text:0000AFD4 @ rw_packet+1658j ... .text:0000AFD4 LDR R4, =num_retries @ Load from Memory .text:0000AFD8 LDR R3, [R4] @ Load from Memory .text:0000AFDC LDR R2, =dword_35F28 @ Load from Memory .text:0000AFE0 ADD R3, R3, #1 @ Rd = Op1 + Op2 .text:0000AFE4 MOV R1, #1 @ Rd = Op2 .text:0000AFE8 CMP R3, #5 @ Set cond. codes on Op1 - Op2 .text:0000AFEC STR R1, [R2] @ Store to Memory .text:0000AFF0 STR R3, [R4] @ Store to Memory .text:0000AFF4 BLE loc_B10C @ Branch .text:0000AFF8 LDR R1, =debug_level @ Load from Memory .text:0000AFFC LDR R3, [R1] @ Load from Memory .text:0000B000 CMP R3, #2 @ Set cond. codes on Op1 - Op2 .text:0000B004 BGT loc_B0BC @ Branch .text:0000B008 .text:0000B008 loc_B008: @ CODE XREF: rw_packet+17A8j .text:0000B008 LDR R2, =recv_buflen @ Load from Memory .text:0000B00C LDR R3, [R2] @ Load from Memory .text:0000B010 MOV R5, #0 @ Rd = Op2 .text:0000B014 CMP R5, R3 @ Set cond. codes on Op1 - Op2 .text:0000B018 BGE loc_B050 @ Branch .text:0000B01C LDR R1, =dword_3DAA0 @ Load from Memory .text:0000B020 MOV R6, R2 @ Rd = Op2 .text:0000B024 MOV R11, R1 @ Rd = Op2 .text:0000B028 ADD R4, R1, #0x20 @ Rd = Op1 + Op2 .text:0000B02C .text:0000B02C loc_B02C: @ CODE XREF: rw_packet+16ECj .text:0000B02C MOV R0, R5,LSL#5 @ Rd = Op2 .text:0000B030 ADD R1, R0, R4 @ Rd = Op1 + Op2 .text:0000B034 MOV R2, #0x20 @ ' ' @ Rd = Op2 .text:0000B038 ADD R0, R0, R11 @ Rd = Op1 + Op2 .text:0000B03C BL memcpy @ Branch with Link .text:0000B040 LDR R3, [R6] @ Load from Memory .text:0000B044 ADD R5, R5, #1 @ Rd = Op1 + Op2 .text:0000B048 CMP R5, R3 @ Set cond. codes on Op1 - Op2 .text:0000B04C BLT loc_B02C @ Branch .text:0000B050 .text:0000B050 loc_B050: @ CODE XREF: rw_packet+16B8j .text:0000B050 LDR R2, =recv_buflen @ Load from Memory .text:0000B054 LDR R3, [R2] @ Load from Memory .text:0000B058 SUB R3, R3, #1 @ Rd = Op1 - Op2 .text:0000B05C CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0000B060 LDR R0, =buf_max @ Load from Memory .text:0000B064 STR R3, [R2] @ Store to Memory .text:0000B068 LDRNE R3, =dword_35F28 @ Load from Memory .text:0000B06C MOVNE R2, #1 @ Rd = Op2 .text:0000B070 LDR R5, [R10] @ Load from Memory .text:0000B074 LDR R12, [R0] @ Load from Memory .text:0000B078 STRNE R2, [R3] @ Store to Memory .text:0000B07C LDR R1, =dword_35FC0 @ Load from Memory .text:0000B080 LDR R2, =num_retries @ Load from Memory .text:0000B084 MOV R3, #0 @ Rd = Op2 .text:0000B088 CMP R5, R12 @ Set cond. codes on Op1 - Op2 .text:0000B08C STR R3, [R2] @ Store to Memory .text:0000B090 STR R3, [R1] @ Store to Memory .text:0000B094 BGE loc_9D84 @ Branch .text:0000B098 LDR R0, =dword_3D880 @ Load from Memory .text:0000B09C MOV R1, R12 @ Rd = Op2 .text:0000B0A0 .text:0000B0A0 loc_B0A0: @ CODE XREF: rw_packet+1754j .text:0000B0A0 ADD R3, R5, R0 @ Rd = Op1 + Op2 .text:0000B0A4 LDRB R2, [R3,#1] @ Load from Memory .text:0000B0A8 STRB R2, [R0,R5] @ Store to Memory .text:0000B0AC ADD R5, R5, #1 @ Rd = Op1 + Op2 .text:0000B0B0 CMP R5, R1 @ Set cond. codes on Op1 - Op2 .text:0000B0B4 BLT loc_B0A0 @ Branch .text:0000B0B8 B loc_9D84 @ Branch .text:0000B0BC @ --------------------------------------------------------------------------- .text:0000B0BC .text:0000B0BC loc_B0BC: @ CODE XREF: rw_packet+16A4j .text:0000B0BC MOV R0, #0 @ Rd = Op2 .text:0000B0C0 BL time @ Branch with Link .text:0000B0C4 LDR R2, =0x51EB851F @ Load from Memory .text:0000B0C8 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000B0CC MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000B0D0 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000B0D4 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000B0D8 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000B0DC SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000B0E0 BL call_gettimeofday @ Branch with Link .text:0000B0E4 MOV R1, R4 @ Rd = Op2 .text:0000B0E8 MOV R2, R0 @ Rd = Op2 .text:0000B0EC LDR R3, =aRw_packet @ Load from Memory .text:0000B0F0 LDR R0, =logfile_format @ Load from Memory .text:0000B0F4 BL printf @ Branch with Link .text:0000B0F8 LDR R0, =aTooManyRetries @ Load from Memory .text:0000B0FC BL xdebug_out @ Branch with Link .text:0000B100 MOV R0, #0 @ Rd = Op2 .text:0000B104 BL sub_257B4 @ Branch with Link .text:0000B108 B loc_B008 @ Branch .text:0000B10C @ --------------------------------------------------------------------------- .text:0000B10C .text:0000B10C loc_B10C: @ CODE XREF: rw_packet+1694j .text:0000B10C @ rw_packet+1924j .text:0000B10C LDR R0, =buf_max @ Load from Memory .text:0000B110 LDR R5, [R10] @ Load from Memory .text:0000B114 LDR R3, [R0] @ Load from Memory .text:0000B118 CMP R5, R3 @ Set cond. codes on Op1 - Op2 .text:0000B11C BGE loc_B140 @ Branch .text:0000B120 LDR R0, =dword_3D880 @ Load from Memory .text:0000B124 MOV R1, R3 @ Rd = Op2 .text:0000B128 .text:0000B128 loc_B128: @ CODE XREF: rw_packet+17DCj .text:0000B128 ADD R3, R5, R0 @ Rd = Op1 + Op2 .text:0000B12C LDRB R2, [R3,#1] @ Load from Memory .text:0000B130 STRB R2, [R0,R5] @ Store to Memory .text:0000B134 ADD R5, R5, #1 @ Rd = Op1 + Op2 .text:0000B138 CMP R5, R1 @ Set cond. codes on Op1 - Op2 .text:0000B13C BLT loc_B128 @ Branch .text:0000B140 .text:0000B140 loc_B140: @ CODE XREF: rw_packet+17BCj .text:0000B140 LDR R1, =buf_max @ Load from Memory .text:0000B144 LDR R3, [R1] @ Load from Memory .text:0000B148 SUB R3, R3, #1 @ Rd = Op1 - Op2 .text:0000B14C STR R3, [R1] @ Store to Memory .text:0000B150 LDR R2, [R8] @ Load from Memory .text:0000B154 CMP R2, #0xCE @ '+' @ Set cond. codes on Op1 - Op2 .text:0000B158 BNE loc_9C10 @ Branch .text:0000B15C B loc_9990 @ Branch .text:0000B160 @ --------------------------------------------------------------------------- .text:0000B160 .text:0000B160 loc_B160: @ CODE XREF: rw_packet+1470j .text:0000B160 MOV R0, R5 @ Rd = Op2 .text:0000B164 BL time @ Branch with Link .text:0000B168 LDR R2, =0x51EB851F @ Load from Memory .text:0000B16C SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000B170 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000B174 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000B178 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000B17C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000B180 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000B184 BL call_gettimeofday @ Branch with Link .text:0000B188 MOV R1, R4 @ Rd = Op2 .text:0000B18C MOV R2, R0 @ Rd = Op2 .text:0000B190 LDR R3, =aRw_packet @ Load from Memory .text:0000B194 LDR R0, =logfile_format @ Load from Memory .text:0000B198 BL printf @ Branch with Link .text:0000B19C LDR R3, [R10] @ Load from Memory .text:0000B1A0 LDR R0, =aExpectedPackGo @ Load from Memory .text:0000B1A4 LDRB R1, [R11,R3] @ Load from Memory .text:0000B1A8 BL printf @ Branch with Link .text:0000B1AC MOV R0, R5 @ Rd = Op2 .text:0000B1B0 BL sub_257B4 @ Branch with Link .text:0000B1B4 LDR R1, [R10] @ Load from Memory .text:0000B1B8 B loc_ADD4 @ Branch .text:0000B1BC @ --------------------------------------------------------------------------- .text:0000B1BC .text:0000B1BC loc_B1BC: @ CODE XREF: rw_packet+1460j .text:0000B1BC LDR R2, =debug_level @ Load from Memory .text:0000B1C0 LDR R3, [R2] @ Load from Memory .text:0000B1C4 CMP R3, #0xB @ Set cond. codes on Op1 - Op2 .text:0000B1C8 BGT loc_B2D8 @ Branch .text:0000B1CC .text:0000B1CC loc_B1CC: @ CODE XREF: rw_packet+19CCj .text:0000B1CC CMP R3, #3 @ Set cond. codes on Op1 - Op2 .text:0000B1D0 BGT loc_B288 @ Branch .text:0000B1D4 .text:0000B1D4 loc_B1D4: @ CODE XREF: rw_packet+1974j .text:0000B1D4 LDR R1, =dword_3DAA0 @ Load from Memory .text:0000B1D8 STR R1, [SP,#0x2C+var_2C] @ Store to Memory .text:0000B1DC BL sub_15678 @ Branch with Link .text:0000B1E0 LDR R1, [SP,#0x2C+var_2C] @ Load from Memory .text:0000B1E4 LDRB R0, [R1] @ Load from Memory .text:0000B1E8 BL check_forcesettings @ Branch with Link .text:0000B1EC LDR R2, =recv_buflen @ Load from Memory .text:0000B1F0 LDR R3, [R2] @ Load from Memory .text:0000B1F4 CMP R5, R3 @ Set cond. codes on Op1 - Op2 .text:0000B1F8 LDR R1, [SP,#0x2C+var_2C] @ Load from Memory .text:0000B1FC BGE loc_B230 @ Branch .text:0000B200 MOV R11, R1 @ Rd = Op2 .text:0000B204 MOV R6, R2 @ Rd = Op2 .text:0000B208 ADD R4, R1, #0x20 @ Rd = Op1 + Op2 .text:0000B20C .text:0000B20C loc_B20C: @ CODE XREF: rw_packet+18CCj .text:0000B20C MOV R0, R5,LSL#5 @ Rd = Op2 .text:0000B210 ADD R1, R0, R4 @ Rd = Op1 + Op2 .text:0000B214 MOV R2, #0x20 @ ' ' @ Rd = Op2 .text:0000B218 ADD R0, R0, R11 @ Rd = Op1 + Op2 .text:0000B21C BL memcpy @ Branch with Link .text:0000B220 LDR R3, [R6] @ Load from Memory .text:0000B224 ADD R5, R5, #1 @ Rd = Op1 + Op2 .text:0000B228 CMP R5, R3 @ Set cond. codes on Op1 - Op2 .text:0000B22C BLT loc_B20C @ Branch .text:0000B230 .text:0000B230 loc_B230: @ CODE XREF: rw_packet+189Cj .text:0000B230 LDR R2, =recv_buflen @ Load from Memory .text:0000B234 LDR R3, [R2] @ Load from Memory .text:0000B238 SUB R3, R3, #1 @ Rd = Op1 - Op2 .text:0000B23C CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0000B240 STR R3, [R2] @ Store to Memory .text:0000B244 MOVLT R3, #0 @ Rd = Op2 .text:0000B248 STRLT R3, [R2] @ Store to Memory .text:0000B24C LDR R3, [R2] @ Load from Memory .text:0000B250 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0000B254 LDRNE R3, =dword_35F28 @ Load from Memory .text:0000B258 MOVNE R2, #1 @ Rd = Op2 .text:0000B25C STRNE R2, [R3] @ Store to Memory .text:0000B260 LDR R3, =recv_buf @ Load from Memory .text:0000B264 LDR R2, =dword_35FC0 @ Load from Memory .text:0000B268 MOV R1, #0 @ Rd = Op2 .text:0000B26C STR R1, [R3] @ Store to Memory .text:0000B270 STR R1, [R2] @ Store to Memory .text:0000B274 LDR R3, [R8] @ Load from Memory .text:0000B278 CMN R3, #1 @ Set cond. codes on Op1 + Op2 .text:0000B27C MOVEQ R3, #0xCE @ '+' @ Rd = Op2 .text:0000B280 STREQ R3, [R8] @ Store to Memory .text:0000B284 B loc_B10C @ Branch .text:0000B288 @ --------------------------------------------------------------------------- .text:0000B288 .text:0000B288 loc_B288: @ CODE XREF: rw_packet+1870j .text:0000B288 MOV R0, R5 @ Rd = Op2 .text:0000B28C BL time @ Branch with Link .text:0000B290 LDR R2, =0x51EB851F @ Load from Memory .text:0000B294 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000B298 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000B29C RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000B2A0 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000B2A4 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000B2A8 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000B2AC BL call_gettimeofday @ Branch with Link .text:0000B2B0 MOV R1, R4 @ Rd = Op2 .text:0000B2B4 MOV R2, R0 @ Rd = Op2 .text:0000B2B8 LDR R3, =aRw_packet @ Load from Memory .text:0000B2BC LDR R0, =logfile_format @ Load from Memory .text:0000B2C0 BL printf @ Branch with Link .text:0000B2C4 LDR R0, =asc_2AC08 @ Load from Memory .text:0000B2C8 BL xdebug_out @ Branch with Link .text:0000B2CC MOV R0, R5 @ Rd = Op2 .text:0000B2D0 BL sub_257B4 @ Branch with Link .text:0000B2D4 B loc_B1D4 @ Branch .text:0000B2D8 @ --------------------------------------------------------------------------- .text:0000B2D8 .text:0000B2D8 loc_B2D8: @ CODE XREF: rw_packet+1868j .text:0000B2D8 MOV R0, R5 @ Rd = Op2 .text:0000B2DC BL time @ Branch with Link .text:0000B2E0 LDR R2, =0x51EB851F @ Load from Memory .text:0000B2E4 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000B2E8 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000B2EC RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000B2F0 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000B2F4 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000B2F8 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000B2FC BL call_gettimeofday @ Branch with Link .text:0000B300 LDR R3, =aRw_packet @ Load from Memory .text:0000B304 MOV R2, R0 @ Rd = Op2 .text:0000B308 MOV R1, R4 @ Rd = Op2 .text:0000B30C LDR R0, =logfile_format @ Load from Memory .text:0000B310 BL printf @ Branch with Link .text:0000B314 LDR R0, =aGotPackSentPac @ Load from Memory .text:0000B318 BL xdebug_out @ Branch with Link .text:0000B31C MOV R0, R5 @ Rd = Op2 .text:0000B320 BL sub_257B4 @ Branch with Link .text:0000B324 LDR R0, =debug_level @ Load from Memory .text:0000B328 LDR R3, [R0] @ Load from Memory .text:0000B32C B loc_B1CC @ Branch .text:0000B330 @ --------------------------------------------------------------------------- .text:0000B330 .text:0000B330 loc_B330: @ CODE XREF: rw_packet+E28j .text:0000B330 LDR R11, =dword_3D880 @ Load from Memory .text:0000B334 LDR R1, [R10] @ Load from Memory .text:0000B338 LDRB R2, [R11,R1] @ Load from Memory .text:0000B33C LDR R3, =dword_35F2C @ Load from Memory .text:0000B340 MOV R5, #0 @ Rd = Op2 .text:0000B344 CMP R2, #0x42 @ 'B' @ Set cond. codes on Op1 - Op2 .text:0000B348 STR R5, [R3] @ Store to Memory .text:0000B34C BEQ loc_B720 @ Branch .text:0000B350 CMP R2, #0xBD @ '+' @ Set cond. codes on Op1 - Op2 .text:0000B354 BEQ loc_B68C @ Branch .text:0000B358 LDR R0, =debug_level @ Load from Memory .text:0000B35C LDR R3, [R0] @ Load from Memory .text:0000B360 CMP R3, #2 @ Set cond. codes on Op1 - Op2 .text:0000B364 BGT loc_B6C4 @ Branch .text:0000B368 .text:0000B368 loc_B368: @ CODE XREF: rw_packet+1DBCj .text:0000B368 LDR R6, =recv_buf @ Load from Memory .text:0000B36C LDRB R0, [R11,R1] @ Load from Memory .text:0000B370 STR R5, [R6] @ Store to Memory .text:0000B374 BL hdr_isvalid @ Branch with Link .text:0000B378 CMN R0, #1 @ Set cond. codes on Op1 + Op2 .text:0000B37C BLE loc_B534 @ Branch .text:0000B380 LDR R0, =debug_level @ Load from Memory .text:0000B384 LDR R3, [R0] @ Load from Memory .text:0000B388 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0000B38C BLE loc_B3DC @ Branch .text:0000B390 MOV R0, R5 @ Rd = Op2 .text:0000B394 BL time @ Branch with Link .text:0000B398 LDR R2, =0x51EB851F @ Load from Memory .text:0000B39C SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000B3A0 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000B3A4 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000B3A8 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000B3AC ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000B3B0 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000B3B4 BL call_gettimeofday @ Branch with Link .text:0000B3B8 MOV R1, R4 @ Rd = Op2 .text:0000B3BC MOV R2, R0 @ Rd = Op2 .text:0000B3C0 LDR R3, =aRw_packet @ Load from Memory .text:0000B3C4 LDR R0, =logfile_format @ Load from Memory .text:0000B3C8 BL printf @ Branch with Link .text:0000B3CC LDR R0, =aBlockFromUcGot @ Load from Memory .text:0000B3D0 BL xdebug_out @ Branch with Link .text:0000B3D4 MOV R0, R5 @ Rd = Op2 .text:0000B3D8 BL sub_257B4 @ Branch with Link .text:0000B3DC .text:0000B3DC loc_B3DC: @ CODE XREF: rw_packet+1A2Cj .text:0000B3DC LDR R1, =dword_3DAA0 @ Load from Memory .text:0000B3E0 LDRB R0, [R1] @ Load from Memory .text:0000B3E4 BL packblocked @ Branch with Link .text:0000B3E8 LDR R3, [R10] @ Load from Memory .text:0000B3EC LDRB R0, [R11,R3] @ Load from Memory .text:0000B3F0 LDR R3, =recv_buflen @ Load from Memory .text:0000B3F4 STR R5, [R3] @ Store to Memory .text:0000B3F8 BL hdr_isvalid @ Branch with Link .text:0000B3FC CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000B400 BLE loc_B4C0 @ Branch .text:0000B404 LDR R0, =debug_level @ Load from Memory .text:0000B408 LDR R3, [R0] @ Load from Memory .text:0000B40C LDR R1, =dword_35FC0 @ Load from Memory .text:0000B410 MOV R2, #1 @ Rd = Op2 .text:0000B414 CMP R3, #0xB @ Set cond. codes on Op1 - Op2 .text:0000B418 STR R2, [R1] @ Store to Memory .text:0000B41C BGT loc_B470 @ Branch .text:0000B420 .text:0000B420 loc_B420: @ CODE XREF: rw_packet+1B5Cj .text:0000B420 LDR R3, [R10] @ Load from Memory .text:0000B424 LDRB R0, [R11,R3] @ Load from Memory .text:0000B428 LDR R3, =dword_3DCA0 @ Load from Memory .text:0000B42C STR R5, [R3] @ Store to Memory .text:0000B430 BL hdr_isvalid @ Branch with Link .text:0000B434 LDR R3, =dword_35FC8 @ Load from Memory .text:0000B438 STR R0, [R3] @ Store to Memory .text:0000B43C .text:0000B43C loc_B43C: @ CODE XREF: rw_packet+1B80j .text:0000B43C @ rw_packet+1BD0j .text:0000B43C LDR R3, [R10] @ Load from Memory .text:0000B440 MOV R5, #0 @ Rd = Op2 .text:0000B444 CMP R5, R3 @ Set cond. codes on Op1 - Op2 .text:0000B448 BGE loc_9C04 @ Branch .text:0000B44C LDR R0, =dword_3D880 @ Load from Memory .text:0000B450 MOV R1, R3 @ Rd = Op2 .text:0000B454 .text:0000B454 loc_B454: @ CODE XREF: rw_packet+1B08j .text:0000B454 ADD R3, R5, R0 @ Rd = Op1 + Op2 .text:0000B458 LDRB R2, [R3,R1] @ Load from Memory .text:0000B45C STRB R2, [R0,R5] @ Store to Memory .text:0000B460 ADD R5, R5, #1 @ Rd = Op1 + Op2 .text:0000B464 CMP R5, R1 @ Set cond. codes on Op1 - Op2 .text:0000B468 BLT loc_B454 @ Branch .text:0000B46C B loc_9C04 @ Branch .text:0000B470 @ --------------------------------------------------------------------------- .text:0000B470 .text:0000B470 loc_B470: @ CODE XREF: rw_packet+1ABCj .text:0000B470 MOV R0, R5 @ Rd = Op2 .text:0000B474 BL time @ Branch with Link .text:0000B478 LDR R2, =0x51EB851F @ Load from Memory .text:0000B47C SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000B480 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000B484 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000B488 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000B48C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000B490 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000B494 BL call_gettimeofday @ Branch with Link .text:0000B498 MOV R1, R4 @ Rd = Op2 .text:0000B49C MOV R2, R0 @ Rd = Op2 .text:0000B4A0 LDR R3, =aRw_packet @ Load from Memory .text:0000B4A4 LDR R0, =logfile_format @ Load from Memory .text:0000B4A8 BL printf @ Branch with Link .text:0000B4AC LDR R0, =aExpectingBody @ Load from Memory .text:0000B4B0 BL xdebug_out @ Branch with Link .text:0000B4B4 MOV R0, R5 @ Rd = Op2 .text:0000B4B8 BL sub_257B4 @ Branch with Link .text:0000B4BC B loc_B420 @ Branch .text:0000B4C0 @ --------------------------------------------------------------------------- .text:0000B4C0 .text:0000B4C0 loc_B4C0: @ CODE XREF: rw_packet+1AA0j .text:0000B4C0 LDR R0, =debug_level @ Load from Memory .text:0000B4C4 LDR R3, [R0] @ Load from Memory .text:0000B4C8 LDR R1, =dword_35FC0 @ Load from Memory .text:0000B4CC CMP R3, #0xB @ Set cond. codes on Op1 - Op2 .text:0000B4D0 LDR R3, =dword_35FC8 @ Load from Memory .text:0000B4D4 MOV R2, #2 @ Rd = Op2 .text:0000B4D8 STR R2, [R1] @ Store to Memory .text:0000B4DC STR R5, [R3] @ Store to Memory .text:0000B4E0 BLE loc_B43C @ Branch .text:0000B4E4 MOV R0, R5 @ Rd = Op2 .text:0000B4E8 BL time @ Branch with Link .text:0000B4EC LDR R2, =0x51EB851F @ Load from Memory .text:0000B4F0 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000B4F4 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000B4F8 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000B4FC ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000B500 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000B504 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000B508 BL call_gettimeofday @ Branch with Link .text:0000B50C MOV R1, R4 @ Rd = Op2 .text:0000B510 MOV R2, R0 @ Rd = Op2 .text:0000B514 LDR R3, =aRw_packet @ Load from Memory .text:0000B518 LDR R0, =logfile_format @ Load from Memory .text:0000B51C BL printf @ Branch with Link .text:0000B520 LDR R0, =aExpectingCheck @ Load from Memory .text:0000B524 BL xdebug_out @ Branch with Link .text:0000B528 MOV R0, R5 @ Rd = Op2 .text:0000B52C BL sub_257B4 @ Branch with Link .text:0000B530 B loc_B43C @ Branch .text:0000B534 @ --------------------------------------------------------------------------- .text:0000B534 .text:0000B534 loc_B534: @ CODE XREF: rw_packet+1A1Cj .text:0000B534 LDR R3, [R10] @ Load from Memory .text:0000B538 LDRB R3, [R11,R3] @ Load from Memory .text:0000B53C CMP R3, #0xAC @ '¼' @ Set cond. codes on Op1 - Op2 .text:0000B540 CMPNE R3, #0xBD @ '+' @ Set cond. codes on Op1 - Op2 .text:0000B544 BEQ loc_B568 @ Branch .text:0000B548 CMP R3, #0xCE @ '+' @ Set cond. codes on Op1 - Op2 .text:0000B54C BEQ loc_B568 @ Branch .text:0000B550 CMP R3, #0x53 @ 'S' @ Set cond. codes on Op1 - Op2 .text:0000B554 BEQ loc_B568 @ Branch .text:0000B558 CMP R3, #0x42 @ 'B' @ Set cond. codes on Op1 - Op2 .text:0000B55C BEQ loc_B568 @ Branch .text:0000B560 CMP R3, #0x31 @ '1' @ Set cond. codes on Op1 - Op2 .text:0000B564 BNE loc_AAA4 @ Branch .text:0000B568 .text:0000B568 loc_B568: @ CODE XREF: rw_packet+1BE4j .text:0000B568 @ rw_packet+1BECj ... .text:0000B568 LDR R2, =num_retries @ Load from Memory .text:0000B56C LDR R3, [R2] @ Load from Memory .text:0000B570 ADD R3, R3, #1 @ Rd = Op1 + Op2 .text:0000B574 CMP R3, #5 @ Set cond. codes on Op1 - Op2 .text:0000B578 STR R3, [R2] @ Store to Memory .text:0000B57C BLE loc_B68C @ Branch .text:0000B580 LDR R1, =debug_level @ Load from Memory .text:0000B584 LDR R3, [R1] @ Load from Memory .text:0000B588 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0000B58C BLE loc_B5DC @ Branch .text:0000B590 MOV R0, #0 @ Rd = Op2 .text:0000B594 BL time @ Branch with Link .text:0000B598 LDR R2, =0x51EB851F @ Load from Memory .text:0000B59C SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000B5A0 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000B5A4 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000B5A8 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000B5AC ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000B5B0 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000B5B4 BL call_gettimeofday @ Branch with Link .text:0000B5B8 MOV R1, R4 @ Rd = Op2 .text:0000B5BC MOV R2, R0 @ Rd = Op2 .text:0000B5C0 LDR R3, =aRw_packet @ Load from Memory .text:0000B5C4 LDR R0, =logfile_format @ Load from Memory .text:0000B5C8 BL printf @ Branch with Link .text:0000B5CC LDR R0, =aTooManyRetries @ Load from Memory .text:0000B5D0 BL xdebug_out @ Branch with Link .text:0000B5D4 MOV R0, #0 @ Rd = Op2 .text:0000B5D8 BL sub_257B4 @ Branch with Link .text:0000B5DC .text:0000B5DC loc_B5DC: @ CODE XREF: rw_packet+1C2Cj .text:0000B5DC LDR R2, =recv_buflen @ Load from Memory .text:0000B5E0 LDR R3, [R2] @ Load from Memory .text:0000B5E4 MOV R5, #0 @ Rd = Op2 .text:0000B5E8 CMP R5, R3 @ Set cond. codes on Op1 - Op2 .text:0000B5EC BGE loc_B620 @ Branch .text:0000B5F0 LDR R11, =dword_3DAA0 @ Load from Memory .text:0000B5F4 MOV R6, R2 @ Rd = Op2 .text:0000B5F8 ADD R4, R11, #0x20 @ Rd = Op1 + Op2 .text:0000B5FC .text:0000B5FC loc_B5FC: @ CODE XREF: rw_packet+1CBCj .text:0000B5FC MOV R0, R5,LSL#5 @ Rd = Op2 .text:0000B600 ADD R1, R0, R4 @ Rd = Op1 + Op2 .text:0000B604 MOV R2, #0x20 @ ' ' @ Rd = Op2 .text:0000B608 ADD R0, R0, R11 @ Rd = Op1 + Op2 .text:0000B60C BL memcpy @ Branch with Link .text:0000B610 LDR R3, [R6] @ Load from Memory .text:0000B614 ADD R5, R5, #1 @ Rd = Op1 + Op2 .text:0000B618 CMP R5, R3 @ Set cond. codes on Op1 - Op2 .text:0000B61C BLT loc_B5FC @ Branch .text:0000B620 .text:0000B620 loc_B620: @ CODE XREF: rw_packet+1C8Cj .text:0000B620 LDR R2, =recv_buflen @ Load from Memory .text:0000B624 LDR R3, [R2] @ Load from Memory .text:0000B628 SUB R3, R3, #1 @ Rd = Op1 - Op2 .text:0000B62C CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0000B630 LDR R0, =buf_max @ Load from Memory .text:0000B634 STR R3, [R2] @ Store to Memory .text:0000B638 LDRNE R3, =dword_35F28 @ Load from Memory .text:0000B63C MOVNE R2, #1 @ Rd = Op2 .text:0000B640 LDR R5, [R10] @ Load from Memory .text:0000B644 LDR R12, [R0] @ Load from Memory .text:0000B648 STRNE R2, [R3] @ Store to Memory .text:0000B64C LDR R1, =dword_35FC0 @ Load from Memory .text:0000B650 LDR R2, =num_retries @ Load from Memory .text:0000B654 MOV R3, #0 @ Rd = Op2 .text:0000B658 CMP R5, R12 @ Set cond. codes on Op1 - Op2 .text:0000B65C STR R3, [R2] @ Store to Memory .text:0000B660 STR R3, [R1] @ Store to Memory .text:0000B664 BGE loc_9D84 @ Branch .text:0000B668 LDR R0, =dword_3D880 @ Load from Memory .text:0000B66C MOV R1, R12 @ Rd = Op2 .text:0000B670 .text:0000B670 loc_B670: @ CODE XREF: rw_packet+1D24j .text:0000B670 ADD R3, R5, R0 @ Rd = Op1 + Op2 .text:0000B674 LDRB R2, [R3,#1] @ Load from Memory .text:0000B678 STRB R2, [R0,R5] @ Store to Memory .text:0000B67C ADD R5, R5, #1 @ Rd = Op1 + Op2 .text:0000B680 CMP R5, R1 @ Set cond. codes on Op1 - Op2 .text:0000B684 BLT loc_B670 @ Branch .text:0000B688 B loc_9D84 @ Branch .text:0000B68C @ --------------------------------------------------------------------------- .text:0000B68C .text:0000B68C loc_B68C: @ CODE XREF: rw_packet+19F4j .text:0000B68C @ rw_packet+1C1Cj ... .text:0000B68C LDR R2, =buf_max @ Load from Memory .text:0000B690 LDR R5, [R10] @ Load from Memory .text:0000B694 LDR R3, [R2] @ Load from Memory .text:0000B698 CMP R5, R3 @ Set cond. codes on Op1 - Op2 .text:0000B69C BGE loc_AD04 @ Branch .text:0000B6A0 LDR R0, =dword_3D880 @ Load from Memory .text:0000B6A4 MOV R1, R3 @ Rd = Op2 .text:0000B6A8 .text:0000B6A8 loc_B6A8: @ CODE XREF: rw_packet+1D5Cj .text:0000B6A8 ADD R3, R5, R0 @ Rd = Op1 + Op2 .text:0000B6AC LDRB R2, [R3,#1] @ Load from Memory .text:0000B6B0 STRB R2, [R0,R5] @ Store to Memory .text:0000B6B4 ADD R5, R5, #1 @ Rd = Op1 + Op2 .text:0000B6B8 CMP R5, R1 @ Set cond. codes on Op1 - Op2 .text:0000B6BC BLT loc_B6A8 @ Branch .text:0000B6C0 B loc_AD04 @ Branch .text:0000B6C4 @ --------------------------------------------------------------------------- .text:0000B6C4 .text:0000B6C4 loc_B6C4: @ CODE XREF: rw_packet+1A04j .text:0000B6C4 MOV R0, R5 @ Rd = Op2 .text:0000B6C8 BL time @ Branch with Link .text:0000B6CC LDR R2, =0x51EB851F @ Load from Memory .text:0000B6D0 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000B6D4 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000B6D8 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000B6DC ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000B6E0 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000B6E4 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000B6E8 BL call_gettimeofday @ Branch with Link .text:0000B6EC MOV R1, R4 @ Rd = Op2 .text:0000B6F0 MOV R2, R0 @ Rd = Op2 .text:0000B6F4 LDR R3, =aRw_packet @ Load from Memory .text:0000B6F8 LDR R0, =logfile_format @ Load from Memory .text:0000B6FC BL printf @ Branch with Link .text:0000B700 LDR R3, [R10] @ Load from Memory .text:0000B704 LDR R0, =aExpectedBackGo @ Load from Memory .text:0000B708 LDRB R1, [R11,R3] @ Load from Memory .text:0000B70C BL printf @ Branch with Link .text:0000B710 MOV R0, R5 @ Rd = Op2 .text:0000B714 BL sub_257B4 @ Branch with Link .text:0000B718 LDR R1, [R10] @ Load from Memory .text:0000B71C B loc_B368 @ Branch .text:0000B720 @ --------------------------------------------------------------------------- .text:0000B720 .text:0000B720 loc_B720: @ CODE XREF: rw_packet+19ECj .text:0000B720 LDR R1, =debug_level @ Load from Memory .text:0000B724 LDR R3, [R1] @ Load from Memory .text:0000B728 CMP R3, #4 @ Set cond. codes on Op1 - Op2 .text:0000B72C BGT loc_B740 @ Branch .text:0000B730 .text:0000B730 loc_B730: @ CODE XREF: rw_packet+1E2Cj .text:0000B730 LDR R3, =recv_buf @ Load from Memory .text:0000B734 MOV R2, #1 @ Rd = Op2 .text:0000B738 STR R2, [R3] @ Store to Memory .text:0000B73C B loc_B68C @ Branch .text:0000B740 @ --------------------------------------------------------------------------- .text:0000B740 .text:0000B740 loc_B740: @ CODE XREF: rw_packet+1DCCj .text:0000B740 MOV R0, R5 @ Rd = Op2 .text:0000B744 BL time @ Branch with Link .text:0000B748 LDR R2, =0x51EB851F @ Load from Memory .text:0000B74C SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000B750 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000B754 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000B758 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000B75C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000B760 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000B764 BL call_gettimeofday @ Branch with Link .text:0000B768 MOV R1, R4 @ Rd = Op2 .text:0000B76C MOV R2, R0 @ Rd = Op2 .text:0000B770 LDR R3, =aRw_packet @ Load from Memory .text:0000B774 LDR R0, =logfile_format @ Load from Memory .text:0000B778 BL printf @ Branch with Link .text:0000B77C LDR R0, =aGotBnackResend @ Load from Memory .text:0000B780 BL xdebug_out @ Branch with Link .text:0000B784 MOV R0, R5 @ Rd = Op2 .text:0000B788 BL sub_257B4 @ Branch with Link .text:0000B78C B loc_B730 @ Branch .text:0000B790 @ --------------------------------------------------------------------------- .text:0000B790 .text:0000B790 loc_B790: @ CODE XREF: rw_packet+14Cj .text:0000B790 MOV R0, #0 @ Rd = Op2 .text:0000B794 BL time @ Branch with Link .text:0000B798 LDR R2, =0x51EB851F @ Load from Memory .text:0000B79C SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000B7A0 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000B7A4 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000B7A8 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000B7AC ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000B7B0 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000B7B4 BL call_gettimeofday @ Branch with Link .text:0000B7B8 MOV R1, R4 @ Rd = Op2 .text:0000B7BC MOV R2, R0 @ Rd = Op2 .text:0000B7C0 LDR R3, =aRw_packet @ Load from Memory .text:0000B7C4 LDR R0, =logfile_format @ Load from Memory .text:0000B7C8 BL printf @ Branch with Link .text:0000B7CC LDR R10, =buf_size @ Load from Memory .text:0000B7D0 LDR R0, =buf_max @ Load from Memory .text:0000B7D4 LDR R1, [R10] @ Load from Memory .text:0000B7D8 LDR R2, [R0] @ Load from Memory .text:0000B7DC LDR R0, =aBufferAtIMaxI @ Load from Memory .text:0000B7E0 BL printf @ Branch with Link .text:0000B7E4 MOV R0, #0 @ Rd = Op2 .text:0000B7E8 BL sub_257B4 @ Branch with Link .text:0000B7EC B loc_9AB4 @ Branch .text:0000B7F0 @ --------------------------------------------------------------------------- .text:0000B7F0 .text:0000B7F0 loc_B7F0: @ CODE XREF: rw_packet+128j .text:0000B7F0 BL time @ Branch with Link .text:0000B7F4 LDR R2, =0x51EB851F @ Load from Memory .text:0000B7F8 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000B7FC MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000B800 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000B804 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000B808 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000B80C SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000B810 BL call_gettimeofday @ Branch with Link .text:0000B814 MOV R1, R4 @ Rd = Op2 .text:0000B818 MOV R2, R0 @ Rd = Op2 .text:0000B81C LDR R3, =aRw_packet @ Load from Memory .text:0000B820 LDR R0, =logfile_format @ Load from Memory .text:0000B824 BL printf @ Branch with Link .text:0000B828 LDRB R1, [R11,R5] @ Load from Memory .text:0000B82C LDR R0, =a02xI_0 @ Load from Memory .text:0000B830 MOV R2, R1 @ Rd = Op2 .text:0000B834 BL printf @ Branch with Link .text:0000B838 MOV R0, #0 @ Rd = Op2 .text:0000B83C BL sub_257B4 @ Branch with Link .text:0000B840 B loc_9A8C @ Branch .text:0000B844 @ --------------------------------------------------------------------------- .text:0000B844 .text:0000B844 loc_B844: @ CODE XREF: rw_packet+100j .text:0000B844 MOV R0, R6 @ Rd = Op2 .text:0000B848 BL time @ Branch with Link .text:0000B84C LDR R2, =0x51EB851F @ Load from Memory .text:0000B850 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000B854 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000B858 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000B85C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000B860 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000B864 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000B868 BL call_gettimeofday @ Branch with Link .text:0000B86C MOV R1, R4 @ Rd = Op2 .text:0000B870 MOV R2, R0 @ Rd = Op2 .text:0000B874 LDR R3, =aRw_packet @ Load from Memory .text:0000B878 LDR R0, =logfile_format @ Load from Memory .text:0000B87C BL printf @ Branch with Link .text:0000B880 LDR R0, =asc_2AD38 @ Load from Memory .text:0000B884 BL xdebug_out @ Branch with Link .text:0000B888 MOV R0, R6 @ Rd = Op2 .text:0000B88C BL sub_257B4 @ Branch with Link .text:0000B890 B loc_9A64 @ Branch .text:0000B894 @ --------------------------------------------------------------------------- .text:0000B894 .text:0000B894 loc_B894: @ CODE XREF: rw_packet+74j .text:0000B894 LDR R11, =dword_3D880 @ Load from Memory .text:0000B898 MOV R2, R6 @ count .text:0000B89C ADD R1, R5, R11 @ buf .text:0000B8A0 MOV R0, R7 @ fd .text:0000B8A4 BL __libc_read @ Branch with Link .text:0000B8A8 LDR R1, =buf_max @ Load from Memory .text:0000B8AC LDR R3, [R1] @ Load from Memory .text:0000B8B0 ADD R3, R3, R0 @ Rd = Op1 + Op2 .text:0000B8B4 STR R3, [R1] @ Store to Memory .text:0000B8B8 B loc_9A34 @ Branch .text:0000B8BC @ --------------------------------------------------------------------------- .text:0000B8BC .text:0000B8BC loc_B8BC: @ CODE XREF: rw_packet+24j .text:0000B8BC LDR R3, =dword_35F2C @ Load from Memory .text:0000B8C0 LDR R5, [R3] @ Load from Memory .text:0000B8C4 CMP R5, #0 @ Set cond. codes on Op1 - Op2 .text:0000B8C8 BEQ loc_BA60 @ Branch .text:0000B8CC LDR R4, =num_retries @ Load from Memory .text:0000B8D0 LDR R3, [R4] @ Load from Memory .text:0000B8D4 CMP R3, #5 @ Set cond. codes on Op1 - Op2 .text:0000B8D8 ADD R3, R3, #1 @ Rd = Op1 + Op2 .text:0000B8DC STR R3, [R4] @ Store to Memory .text:0000B8E0 BLE loc_B9D8 @ Branch .text:0000B8E4 LDR R3, =debug_level @ Load from Memory .text:0000B8E8 LDR R2, [R3] @ Load from Memory .text:0000B8EC CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000B8F0 BLE loc_B944 @ Branch .text:0000B8F4 MOV R0, #0 @ Rd = Op2 .text:0000B8F8 BL time @ Branch with Link .text:0000B8FC LDR R2, =0x51EB851F @ Load from Memory .text:0000B900 MOV R4, R0 @ Rd = Op2 .text:0000B904 SMULL R0, R1, R2, R4 @ Signed Multiply long .text:0000B908 MOV R3, R4,ASR#31 @ Rd = Op2 .text:0000B90C RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000B910 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000B914 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000B918 SUB R4, R4, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000B91C BL call_gettimeofday @ Branch with Link .text:0000B920 MOV R1, R4 @ Rd = Op2 .text:0000B924 MOV R2, R0 @ Rd = Op2 .text:0000B928 LDR R3, =aRw_packet @ Load from Memory .text:0000B92C LDR R0, =logfile_format @ Load from Memory .text:0000B930 BL printf @ Branch with Link .text:0000B934 LDR R0, =aTooManyRetri_0 @ Load from Memory .text:0000B938 BL xdebug_out @ Branch with Link .text:0000B93C MOV R0, #0 @ Rd = Op2 .text:0000B940 BL sub_257B4 @ Branch with Link .text:0000B944 .text:0000B944 loc_B944: @ CODE XREF: rw_packet+1F90j .text:0000B944 LDR R2, =recv_buflen @ Load from Memory .text:0000B948 LDR R3, [R2] @ Load from Memory .text:0000B94C MOV R5, #0 @ Rd = Op2 .text:0000B950 CMP R5, R3 @ Set cond. codes on Op1 - Op2 .text:0000B954 BGE loc_B98C @ Branch .text:0000B958 LDR R1, =dword_3DAA0 @ Load from Memory .text:0000B95C MOV R6, R2 @ Rd = Op2 .text:0000B960 MOV R7, R1 @ Rd = Op2 .text:0000B964 ADD R4, R1, #0x20 @ Rd = Op1 + Op2 .text:0000B968 .text:0000B968 loc_B968: @ CODE XREF: rw_packet+2028j .text:0000B968 MOV R0, R5,LSL#5 @ Rd = Op2 .text:0000B96C ADD R1, R0, R4 @ Rd = Op1 + Op2 .text:0000B970 MOV R2, #0x20 @ ' ' @ Rd = Op2 .text:0000B974 ADD R0, R0, R7 @ Rd = Op1 + Op2 .text:0000B978 BL memcpy @ Branch with Link .text:0000B97C LDR R3, [R6] @ Load from Memory .text:0000B980 ADD R5, R5, #1 @ Rd = Op1 + Op2 .text:0000B984 CMP R5, R3 @ Set cond. codes on Op1 - Op2 .text:0000B988 BLT loc_B968 @ Branch .text:0000B98C .text:0000B98C loc_B98C: @ CODE XREF: rw_packet+1FF4j .text:0000B98C LDR R2, =recv_buflen @ Load from Memory .text:0000B990 LDR R3, [R2] @ Load from Memory .text:0000B994 SUB R3, R3, #1 @ Rd = Op1 - Op2 .text:0000B998 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0000B99C STR R3, [R2] @ Store to Memory .text:0000B9A0 LDRNE R3, =dword_35F28 @ Load from Memory .text:0000B9A4 MOVNE R2, #1 @ Rd = Op2 .text:0000B9A8 STRNE R2, [R3] @ Store to Memory .text:0000B9AC LDR R3, =recv_buf @ Load from Memory .text:0000B9B0 LDR R2, =dword_35FC0 @ Load from Memory .text:0000B9B4 MOV R1, #0 @ Rd = Op2 .text:0000B9B8 STR R1, [R3] @ Store to Memory .text:0000B9BC STR R1, [R2] @ Store to Memory .text:0000B9C0 LDR R3, =num_retries @ Load from Memory .text:0000B9C4 LDR R2, =dword_35F2C @ Load from Memory .text:0000B9C8 MOV R0, R1 @ fd .text:0000B9CC STR R1, [R3] @ Store to Memory .text:0000B9D0 STR R1, [R2] @ Store to Memory .text:0000B9D4 B loc_9994 @ Branch .text:0000B9D8 @ --------------------------------------------------------------------------- .text:0000B9D8 .text:0000B9D8 loc_B9D8: @ CODE XREF: rw_packet+1F80j .text:0000B9D8 LDR R3, =recv_buf @ Load from Memory .text:0000B9DC LDR R1, =dword_3DAA0 @ Load from Memory .text:0000B9E0 LDR R2, [R3] @ Load from Memory .text:0000B9E4 ADD R2, R2, R1 @ Rd = Op1 + Op2 .text:0000B9E8 LDRB R3, [R2,#-1] @ Load from Memory .text:0000B9EC LDR R5, =buf @ Load from Memory .text:0000B9F0 MOV R2, #1 @ count .text:0000B9F4 STRB R3, [R5] @ Store to Memory .text:0000B9F8 MOV R1, R5 @ buf .text:0000B9FC BL __libc_write @ Branch with Link .text:0000BA00 LDR R3, =debug_level @ Load from Memory .text:0000BA04 LDR R2, [R3] @ Load from Memory .text:0000BA08 CMP R2, #3 @ Set cond. codes on Op1 - Op2 .text:0000BA0C BLE loc_A140 @ Branch .text:0000BA10 MOV R0, #0 @ Rd = Op2 .text:0000BA14 BL time @ Branch with Link .text:0000BA18 LDR R2, =0x51EB851F @ Load from Memory .text:0000BA1C SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000BA20 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000BA24 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000BA28 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000BA2C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000BA30 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000BA34 BL call_gettimeofday @ Branch with Link .text:0000BA38 MOV R1, R4 @ Rd = Op2 .text:0000BA3C MOV R2, R0 @ Rd = Op2 .text:0000BA40 LDR R3, =aRw_packet @ Load from Memory .text:0000BA44 LDR R0, =logfile_format @ Load from Memory .text:0000BA48 BL printf @ Branch with Link .text:0000BA4C LDRB R1, [R5] @ Load from Memory .text:0000BA50 LDR R0, =a02xI_1 @ Load from Memory .text:0000BA54 MOV R2, R1 @ Rd = Op2 .text:0000BA58 BL printf @ Branch with Link .text:0000BA5C B loc_A18C @ Branch .text:0000BA60 @ --------------------------------------------------------------------------- .text:0000BA60 .text:0000BA60 loc_BA60: @ CODE XREF: rw_packet+1F68j .text:0000BA60 LDR R3, =dword_35F28 @ Load from Memory .text:0000BA64 LDR R2, [R3] @ Load from Memory .text:0000BA68 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000BA6C BEQ loc_9990 @ Branch .text:0000BA70 LDR R4, =recv_buf @ Load from Memory .text:0000BA74 LDR R1, =dword_3DAA0 @ Load from Memory .text:0000BA78 LDR R3, [R4] @ Load from Memory .text:0000BA7C LDR R6, =buf @ Load from Memory .text:0000BA80 LDRB R12, [R3,R1] @ Load from Memory .text:0000BA84 ADD R3, R3, #1 @ Rd = Op1 + Op2 .text:0000BA88 STR R3, [R4] @ Store to Memory .text:0000BA8C MOV R1, R6 @ buf .text:0000BA90 MOV R2, #1 @ count .text:0000BA94 STRB R12, [R6] @ Store to Memory .text:0000BA98 BL __libc_write @ Branch with Link .text:0000BA9C LDR R3, [R4] @ Load from Memory .text:0000BAA0 CMP R3, #1 @ Set cond. codes on Op1 - Op2 .text:0000BAA4 BEQ loc_BC88 @ Branch .text:0000BAA8 .text:0000BAA8 loc_BAA8: @ CODE XREF: rw_packet+2348j .text:0000BAA8 @ rw_packet+2350j ... .text:0000BAA8 LDR R0, =debug_level @ Load from Memory .text:0000BAAC LDR R3, [R0] @ Load from Memory .text:0000BAB0 CMP R3, #3 @ Set cond. codes on Op1 - Op2 .text:0000BAB4 BGT loc_BC2C @ Branch .text:0000BAB8 .text:0000BAB8 loc_BAB8: @ CODE XREF: rw_packet+2324j .text:0000BAB8 LDR R3, =dword_3DAA0 @ Load from Memory .text:0000BABC LDRB R0, [R3] @ Load from Memory .text:0000BAC0 LDR R3, =dword_35F28 @ Load from Memory .text:0000BAC4 MOV R5, #0 @ Rd = Op2 .text:0000BAC8 STR R5, [R3] @ Store to Memory .text:0000BACC BL hdr_isvalid @ Branch with Link .text:0000BAD0 LDR R3, =recv_buf @ Load from Memory .text:0000BAD4 LDR R12, [R3] @ Load from Memory .text:0000BAD8 ADD R0, R0, #1 @ Rd = Op1 + Op2 .text:0000BADC CMP R12, R0 @ Set cond. codes on Op1 - Op2 .text:0000BAE0 BLE loc_BB50 @ Branch .text:0000BAE4 LDR R0, =debug_level @ Load from Memory .text:0000BAE8 LDR R3, [R0] @ Load from Memory .text:0000BAEC CMP R3, #4 @ Set cond. codes on Op1 - Op2 .text:0000BAF0 LDR R3, =dword_35FC0 @ Load from Memory .text:0000BAF4 MOV R2, #0xCE @ '+' @ Rd = Op2 .text:0000BAF8 STR R2, [R3] @ Store to Memory .text:0000BAFC LDR R3, =dword_35F2C @ Load from Memory .text:0000BB00 MOV R1, #1 @ Rd = Op2 .text:0000BB04 STR R1, [R3] @ Store to Memory .text:0000BB08 BLE loc_A140 @ Branch .text:0000BB0C MOV R0, R5 @ Rd = Op2 .text:0000BB10 BL time @ Branch with Link .text:0000BB14 LDR R2, =0x51EB851F @ Load from Memory .text:0000BB18 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000BB1C MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000BB20 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000BB24 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000BB28 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000BB2C SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000BB30 BL call_gettimeofday @ Branch with Link .text:0000BB34 MOV R1, R4 @ Rd = Op2 .text:0000BB38 MOV R2, R0 @ Rd = Op2 .text:0000BB3C LDR R3, =aRw_packet @ Load from Memory .text:0000BB40 LDR R0, =logfile_format @ Load from Memory .text:0000BB44 BL printf @ Branch with Link .text:0000BB48 LDR R0, =aExpectingPack @ Load from Memory .text:0000BB4C B loc_A188 @ Branch .text:0000BB50 @ --------------------------------------------------------------------------- .text:0000BB50 .text:0000BB50 loc_BB50: @ CODE XREF: rw_packet+2180j .text:0000BB50 CMP R12, #1 @ Set cond. codes on Op1 - Op2 .text:0000BB54 BEQ loc_BBC4 @ Branch .text:0000BB58 LDR R0, =debug_level @ Load from Memory .text:0000BB5C LDR R3, [R0] @ Load from Memory .text:0000BB60 CMP R3, #4 @ Set cond. codes on Op1 - Op2 .text:0000BB64 LDR R3, =dword_35FC0 @ Load from Memory .text:0000BB68 MOV R2, #0xBD @ '+' @ Rd = Op2 .text:0000BB6C STR R2, [R3] @ Store to Memory .text:0000BB70 LDR R3, =dword_35F2C @ Load from Memory .text:0000BB74 MOV R1, #1 @ Rd = Op2 .text:0000BB78 STR R1, [R3] @ Store to Memory .text:0000BB7C BLE loc_A140 @ Branch .text:0000BB80 MOV R0, R5 @ Rd = Op2 .text:0000BB84 BL time @ Branch with Link .text:0000BB88 LDR R2, =0x51EB851F @ Load from Memory .text:0000BB8C SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000BB90 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000BB94 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000BB98 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000BB9C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000BBA0 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000BBA4 BL call_gettimeofday @ Branch with Link .text:0000BBA8 MOV R1, R4 @ Rd = Op2 .text:0000BBAC MOV R2, R0 @ Rd = Op2 .text:0000BBB0 LDR R3, =aRw_packet @ Load from Memory .text:0000BBB4 LDR R0, =logfile_format @ Load from Memory .text:0000BBB8 BL printf @ Branch with Link .text:0000BBBC LDR R0, =aExpectingBack @ Load from Memory .text:0000BBC0 B loc_A188 @ Branch .text:0000BBC4 @ --------------------------------------------------------------------------- .text:0000BBC4 .text:0000BBC4 loc_BBC4: @ CODE XREF: rw_packet+21F4j .text:0000BBC4 LDR R0, =debug_level @ Load from Memory .text:0000BBC8 LDR R3, [R0] @ Load from Memory .text:0000BBCC LDR R2, =dword_35F2C @ Load from Memory .text:0000BBD0 CMP R3, #4 @ Set cond. codes on Op1 - Op2 .text:0000BBD4 LDR R3, =dword_35FC0 @ Load from Memory .text:0000BBD8 MOV R1, #0xAC @ '¼' @ Rd = Op2 .text:0000BBDC STR R1, [R3] @ Store to Memory .text:0000BBE0 STR R12, [R2] @ Store to Memory .text:0000BBE4 BLE loc_A140 @ Branch .text:0000BBE8 MOV R0, R5 @ Rd = Op2 .text:0000BBEC BL time @ Branch with Link .text:0000BBF0 LDR R2, =0x51EB851F @ Load from Memory .text:0000BBF4 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000BBF8 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000BBFC RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000BC00 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000BC04 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000BC08 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000BC0C BL call_gettimeofday @ Branch with Link .text:0000BC10 MOV R1, R4 @ Rd = Op2 .text:0000BC14 MOV R2, R0 @ Rd = Op2 .text:0000BC18 LDR R3, =aRw_packet @ Load from Memory .text:0000BC1C LDR R0, =logfile_format @ Load from Memory .text:0000BC20 BL printf @ Branch with Link .text:0000BC24 LDR R0, =aExpectingHack @ Load from Memory .text:0000BC28 B loc_A188 @ Branch .text:0000BC2C @ --------------------------------------------------------------------------- .text:0000BC2C .text:0000BC2C loc_BC2C: @ CODE XREF: rw_packet+2154j .text:0000BC2C MOV R0, #0 @ Rd = Op2 .text:0000BC30 BL time @ Branch with Link .text:0000BC34 LDR R2, =0x51EB851F @ Load from Memory .text:0000BC38 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000BC3C MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000BC40 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000BC44 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000BC48 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000BC4C SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000BC50 BL call_gettimeofday @ Branch with Link .text:0000BC54 MOV R1, R4 @ Rd = Op2 .text:0000BC58 MOV R2, R0 @ Rd = Op2 .text:0000BC5C LDR R3, =aRw_packet @ Load from Memory .text:0000BC60 LDR R0, =logfile_format @ Load from Memory .text:0000BC64 BL printf @ Branch with Link .text:0000BC68 LDR R3, =buf @ Load from Memory .text:0000BC6C LDRB R1, [R3] @ Load from Memory .text:0000BC70 LDR R0, =a02xI_1 @ Load from Memory .text:0000BC74 MOV R2, R1 @ Rd = Op2 .text:0000BC78 BL printf @ Branch with Link .text:0000BC7C MOV R0, #0 @ Rd = Op2 .text:0000BC80 BL sub_257B4 @ Branch with Link .text:0000BC84 B loc_BAB8 @ Branch .text:0000BC88 @ --------------------------------------------------------------------------- .text:0000BC88 .text:0000BC88 loc_BC88: @ CODE XREF: rw_packet+2144j .text:0000BC88 LDR R0, =debug_level @ Load from Memory .text:0000BC8C LDR R3, [R0] @ Load from Memory .text:0000BC90 CMP R3, #3 @ Set cond. codes on Op1 - Op2 .text:0000BC94 BGT loc_BD0C @ Branch .text:0000BC98 .text:0000BC98 loc_BC98: @ CODE XREF: rw_packet+23F8j .text:0000BC98 BL run_swgrli @ Branch with Link .text:0000BC9C LDR R0, =debug_level @ Load from Memory .text:0000BCA0 LDR R3, [R0] @ Load from Memory .text:0000BCA4 CMP R3, #3 @ Set cond. codes on Op1 - Op2 .text:0000BCA8 BGT loc_BAA8 @ Branch .text:0000BCAC CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0000BCB0 BLE loc_BAA8 @ Branch .text:0000BCB4 MOV R0, R5 @ Rd = Op2 .text:0000BCB8 BL time @ Branch with Link .text:0000BCBC LDR R2, =0x51EB851F @ Load from Memory .text:0000BCC0 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000BCC4 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000BCC8 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000BCCC ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000BCD0 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000BCD4 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000BCD8 BL call_gettimeofday @ Branch with Link .text:0000BCDC MOV R1, R4 @ Rd = Op2 .text:0000BCE0 MOV R2, R0 @ Rd = Op2 .text:0000BCE4 LDR R3, =aRw_packet @ Load from Memory .text:0000BCE8 LDR R0, =logfile_format @ Load from Memory .text:0000BCEC BL printf @ Branch with Link .text:0000BCF0 LDRB R1, [R6] @ Load from Memory .text:0000BCF4 LDR R0, =a02xI_1 @ Load from Memory .text:0000BCF8 MOV R2, R1 @ Rd = Op2 .text:0000BCFC BL printf @ Branch with Link .text:0000BD00 MOV R0, R5 @ Rd = Op2 .text:0000BD04 BL sub_257B4 @ Branch with Link .text:0000BD08 B loc_BAA8 @ Branch .text:0000BD0C @ --------------------------------------------------------------------------- .text:0000BD0C .text:0000BD0C loc_BD0C: @ CODE XREF: rw_packet+2334j .text:0000BD0C MOV R0, R5 @ Rd = Op2 .text:0000BD10 BL time @ Branch with Link .text:0000BD14 LDR R2, =0x51EB851F @ Load from Memory .text:0000BD18 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000BD1C MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000BD20 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000BD24 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000BD28 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000BD2C SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000BD30 BL call_gettimeofday @ Branch with Link .text:0000BD34 MOV R1, R4 @ Rd = Op2 .text:0000BD38 MOV R2, R0 @ Rd = Op2 .text:0000BD3C LDR R3, =aRw_packet @ Load from Memory .text:0000BD40 LDR R0, =logfile_format @ Load from Memory .text:0000BD44 BL printf @ Branch with Link .text:0000BD48 LDR R0, =asc_2AC08 @ Load from Memory .text:0000BD4C BL xdebug_out @ Branch with Link .text:0000BD50 MOV R0, R5 @ Rd = Op2 .text:0000BD54 BL sub_257B4 @ Branch with Link .text:0000BD58 B loc_BC98 @ Branch .text:0000BD5C @ --------------------------------------------------------------------------- .text:0000BD5C .text:0000BD5C loc_BD5C: @ CODE XREF: rw_packet+1Cj .text:0000BD5C CMP R5, #0x50 @ 'P' @ Set cond. codes on Op1 - Op2 .text:0000BD60 BEQ loc_BECC @ Branch .text:0000BD64 .text:0000BD64 loc_BD64: @ CODE XREF: rw_packet+2578j .text:0000BD64 LDR R3, =recv_buf @ Load from Memory .text:0000BD68 LDR R2, [R3] @ Load from Memory .text:0000BD6C CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000BD70 LDREQ R3, =recv_buflen @ Load from Memory .text:0000BD74 STREQ R2, [R3] @ Store to Memory .text:0000BD78 .text:0000BD78 loc_BD78: @ CODE XREF: rw_packet+2574j .text:0000BD78 CMP R5, #0 @ Set cond. codes on Op1 - Op2 .text:0000BD7C BLT loc_BEA8 @ Branch .text:0000BD80 LDR R6, =recv_buflen @ Load from Memory .text:0000BD84 LDR R1, [R6] @ Load from Memory .text:0000BD88 CMP R1, #0xF @ Set cond. codes on Op1 - Op2 .text:0000BD8C BLE loc_BDF4 @ Branch .text:0000BD90 LDR R3, =debug_level @ Load from Memory .text:0000BD94 LDR R2, [R3] @ Load from Memory .text:0000BD98 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000BD9C BLE loc_9990 @ Branch .text:0000BDA0 MOV R0, #0 @ Rd = Op2 .text:0000BDA4 BL time @ Branch with Link .text:0000BDA8 LDR R2, =0x51EB851F @ Load from Memory .text:0000BDAC MOV R4, R0 @ Rd = Op2 .text:0000BDB0 SMULL R0, R1, R2, R4 @ Signed Multiply long .text:0000BDB4 MOV R3, R4,ASR#31 @ Rd = Op2 .text:0000BDB8 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000BDBC ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000BDC0 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000BDC4 SUB R4, R4, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000BDC8 BL call_gettimeofday @ Branch with Link .text:0000BDCC MOV R1, R4 @ Rd = Op2 .text:0000BDD0 MOV R2, R0 @ Rd = Op2 .text:0000BDD4 LDR R3, =aRw_packet @ Load from Memory .text:0000BDD8 LDR R0, =logfile_format @ Load from Memory .text:0000BDDC BL printf @ Branch with Link .text:0000BDE0 LDR R0, =aAttemptToWrite @ Load from Memory .text:0000BDE4 BL xdebug_out @ Branch with Link .text:0000BDE8 MOV R0, #0 @ Rd = Op2 .text:0000BDEC BL sub_257B4 @ Branch with Link .text:0000BDF0 B loc_9990 @ Branch .text:0000BDF4 @ --------------------------------------------------------------------------- .text:0000BDF4 .text:0000BDF4 loc_BDF4: @ CODE XREF: rw_packet+242Cj .text:0000BDF4 LDR R3, =debug_level @ Load from Memory .text:0000BDF8 LDR R2, [R3] @ Load from Memory .text:0000BDFC CMP R2, #4 @ Set cond. codes on Op1 - Op2 .text:0000BE00 BGT loc_BE4C @ Branch .text:0000BE04 .text:0000BE04 loc_BE04: @ CODE XREF: rw_packet+2544j .text:0000BE04 LDR R0, =dword_3DAA0 @ Load from Memory .text:0000BE08 ADD R3, R1, #1 @ Rd = Op1 + Op2 .text:0000BE0C ADD R0, R0, R1,LSL#5 @ Rd = Op1 + Op2 .text:0000BE10 MOV R2, R9 @ Rd = Op2 .text:0000BE14 MOV R1, R5 @ Rd = Op2 .text:0000BE18 STR R3, [R6] @ Store to Memory .text:0000BE1C BL sub_10524 @ Branch with Link .text:0000BE20 LDR R2, [R6] @ Load from Memory .text:0000BE24 CMP R2, #1 @ Set cond. codes on Op1 - Op2 .text:0000BE28 BNE loc_A140 @ Branch .text:0000BE2C LDR R3, =dword_35F28 @ Load from Memory .text:0000BE30 STR R2, [R3] @ Store to Memory .text:0000BE34 LDR R2, =dword_35F2C @ Load from Memory .text:0000BE38 LDR R3, =num_retries @ Load from Memory .text:0000BE3C MOV R1, #0 @ Rd = Op2 .text:0000BE40 STR R1, [R2] @ Store to Memory .text:0000BE44 STR R1, [R3] @ Store to Memory .text:0000BE48 B loc_A140 @ Branch .text:0000BE4C @ --------------------------------------------------------------------------- .text:0000BE4C .text:0000BE4C loc_BE4C: @ CODE XREF: rw_packet+24A0j .text:0000BE4C MOV R0, #0 @ Rd = Op2 .text:0000BE50 BL time @ Branch with Link .text:0000BE54 LDR R2, =0x51EB851F @ Load from Memory .text:0000BE58 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000BE5C MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000BE60 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000BE64 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000BE68 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000BE6C SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000BE70 BL call_gettimeofday @ Branch with Link .text:0000BE74 LDR R3, =aRw_packet @ Load from Memory .text:0000BE78 MOV R2, R0 @ Rd = Op2 .text:0000BE7C MOV R1, R4 @ Rd = Op2 .text:0000BE80 LDR R0, =logfile_format @ Load from Memory .text:0000BE84 BL printf @ Branch with Link .text:0000BE88 MOV R1, R5 @ Rd = Op2 .text:0000BE8C LDR R2, [R6] @ Load from Memory .text:0000BE90 LDR R0, =aBuffering02xAt @ Load from Memory .text:0000BE94 BL printf @ Branch with Link .text:0000BE98 MOV R0, #0 @ Rd = Op2 .text:0000BE9C BL sub_257B4 @ Branch with Link .text:0000BEA0 LDR R1, [R6] @ Load from Memory .text:0000BEA4 B loc_BE04 @ Branch .text:0000BEA8 @ --------------------------------------------------------------------------- .text:0000BEA8 .text:0000BEA8 loc_BEA8: @ CODE XREF: rw_packet+241Cj .text:0000BEA8 LDR R3, =dword_35F2C @ Load from Memory .text:0000BEAC MOV R1, #0 @ Rd = Op2 .text:0000BEB0 STR R1, [R3] @ Store to Memory .text:0000BEB4 LDR R2, =dword_35F28 @ Load from Memory .text:0000BEB8 LDR R3, =num_retries @ Load from Memory .text:0000BEBC MOV R0, #1 @ Rd = Op2 .text:0000BEC0 STR R1, [R2] @ Store to Memory .text:0000BEC4 STR R1, [R3] @ Store to Memory .text:0000BEC8 B loc_9994 @ Branch .text:0000BECC @ --------------------------------------------------------------------------- .text:0000BECC .text:0000BECC loc_BECC: @ CODE XREF: rw_packet+2400j .text:0000BECC LDRB R3, [R2,#1] @ Load from Memory .text:0000BED0 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0000BED4 BNE loc_BD78 @ Branch .text:0000BED8 B loc_BD64 @ Branch .text:0000BED8 @ End of function rw_packet .text:0000BED8 .text:0000BED8 @ --------------------------------------------------------------------------- .text:0000BEDC off_BEDC: .long recv_buf @ DATA XREF: rw_packet+2110r .text:0000BEDC @ rw_packet+2170r ... .text:0000BEE0 off_BEE0: .long dword_3DAA0 @ DATA XREF: rw_packet+2114r .text:0000BEE0 @ rw_packet:loc_BAB8r ... .text:0000BEE4 @ void *off_BEE4 .text:0000BEE4 off_BEE4: .long buf @ DATA XREF: rw_packet+211Cr .text:0000BEE4 @ rw_packet+2308r .text:0000BEE8 off_BEE8: .long debug_level @ DATA XREF: rw_packet:loc_BAA8r .text:0000BEE8 @ rw_packet+2184r ... .text:0000BEEC off_BEEC: .long dword_35F28 @ DATA XREF: rw_packet+2160r .text:0000BEEC @ rw_packet+24CCr ... .text:0000BEF0 off_BEF0: .long dword_35FC0 @ DATA XREF: rw_packet+2190r .text:0000BEF0 @ rw_packet+2204r ... .text:0000BEF4 off_BEF4: .long dword_35F2C @ DATA XREF: rw_packet+219Cr .text:0000BEF4 @ rw_packet+2210r ... .text:0000BEF8 dword_BEF8: .long 0x51EB851F @ DATA XREF: rw_packet+21B4r .text:0000BEF8 @ rw_packet+2228r ... .text:0000BEFC off_BEFC: .long aRw_packet @ DATA XREF: rw_packet+21DCr .text:0000BEFC @ rw_packet+2250r ... .text:0000BEFC @ "rw_packet" .text:0000BF00 off_BF00: .long logfile_format @ DATA XREF: rw_packet+21E0r .text:0000BF00 @ rw_packet+2254r ... .text:0000BF00 @ "%02li.%02li:51d :%-10.10s: " .text:0000BF04 off_BF04: .long aExpectingPack @ DATA XREF: rw_packet+21E8r .text:0000BF04 @ "Expecting PACK" .text:0000BF08 off_BF08: .long aExpectingBack @ DATA XREF: rw_packet+225Cr .text:0000BF08 @ "Expecting BACK" .text:0000BF0C off_BF0C: .long aExpectingHack @ DATA XREF: rw_packet+22C4r .text:0000BF0C @ "Expecting HACK" .text:0000BF10 off_BF10: .long a02xI_1 @ DATA XREF: rw_packet+2310r .text:0000BF10 @ rw_packet+2394r .text:0000BF10 @ "\t\t %02x (%i) ------------->\n" .text:0000BF14 off_BF14: .long asc_2AC08 @ DATA XREF: rw_packet+23E8r .text:0000BF14 @ "#######################################"... .text:0000BF18 off_BF18: .long recv_buflen @ DATA XREF: rw_packet+2410r .text:0000BF18 @ rw_packet+2420r .text:0000BF1C off_BF1C: .long aAttemptToWrite @ DATA XREF: rw_packet+2480r .text:0000BF1C @ "ATTEMPT TO WRITE TO FULL BUFFER!!!" .text:0000BF20 off_BF20: .long num_retries @ DATA XREF: rw_packet+24D8r .text:0000BF20 @ rw_packet+2558r .text:0000BF24 off_BF24: .long aBuffering02xAt @ DATA XREF: rw_packet+2530r .text:0000BF24 @ "Buffering %02x at %i\n" .text:0000BF28 .text:0000BF28 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0000BF28 .text:0000BF28 .text:0000BF28 processpack: @ CODE XREF: main+B00p .text:0000BF28 .text:0000BF28 var_368 = -0x368 .text:0000BF28 var_364 = -0x364 .text:0000BF28 var_360 = -0x360 .text:0000BF28 var_35C = -0x35C .text:0000BF28 var_358 = -0x358 .text:0000BF28 var_354 = -0x354 .text:0000BF28 var_350 = -0x350 .text:0000BF28 var_34C = -0x34C .text:0000BF28 var_168 = -0x168 .text:0000BF28 var_14C = -0x14C .text:0000BF28 var_10C = -0x10C .text:0000BF28 var_D4 = -0xD4 .text:0000BF28 .text:0000BF28 STMFD SP!, {R4-R10,LR} @ Store Block to Memory .text:0000BF2C SUB R3, R0, #0x11 @ Rd = Op1 - Op2 .text:0000BF30 SUB SP, SP, #0x348 @ Rd = Op1 - Op2 .text:0000BF34 MOV R5, R0 @ Rd = Op2 .text:0000BF38 MOV R7, R1 @ Rd = Op2 .text:0000BF3C CMP R3, #0xEE @ 'e' @ Set cond. codes on Op1 - Op2 .text:0000BF40 LDRLS PC, [PC,R3,LSL#2] @ Indirect Jump .text:0000BF44 B invalid_code @ Branch .text:0000BF44 @ --------------------------------------------------------------------------- .text:0000BF48 .long sesinfo @ 0x11 .text:0000BF4C .long req_settings .text:0000BF50 .long cur_settings .text:0000BF54 .long uCID .text:0000BF58 .long plugin_set .text:0000BF5C .long invalid_code .text:0000BF60 .long invalid_code .text:0000BF64 .long invalid_code .text:0000BF68 .long invalid_code .text:0000BF6C .long invalid_code .text:0000BF70 .long invalid_code .text:0000BF74 .long invalid_code .text:0000BF78 .long invalid_code .text:0000BF7C .long invalid_code .text:0000BF80 .long invalid_code .text:0000BF84 .long req_tot_trk @ 0x20 .text:0000BF88 .long q_tot_dsk @ 0x21 .text:0000BF8C .long q_track_len @ 0x22 .text:0000BF90 .long invalid_code .text:0000BF94 .long invalid_code .text:0000BF98 .long invalid_code .text:0000BF9C .long invalid_code .text:0000BFA0 .long invalid_code .text:0000BFA4 .long invalid_code .text:0000BFA8 .long invalid_code .text:0000BFAC .long invalid_code .text:0000BFB0 .long invalid_code .text:0000BFB4 .long invalid_code .text:0000BFB8 .long invalid_code .text:0000BFBC .long invalid_code .text:0000BFC0 .long invalid_code .text:0000BFC4 .long play @ 0x30 .text:0000BFC8 .long invalid_code @ 0x31 .text:0000BFCC .long stop @ 0x32 .text:0000BFD0 .long repeat_trk @ 0x33 .text:0000BFD4 .long repeat_dsk @ 0x34 .text:0000BFD8 .long repeat_off @ 0x35 .text:0000BFDC .long begin_seek @ 0x36 .text:0000BFE0 .long end_seek @ 0x37 .text:0000BFE4 .long get_audioid @ 0x38 .text:0000BFE8 .long mark_track @ 0x39 .text:0000BFEC .long invalid_code .text:0000BFF0 .long invalid_code .text:0000BFF4 .long invalid_code .text:0000BFF8 .long invalid_code .text:0000BFFC .long invalid_code .text:0000C000 .long invalid_code .text:0000C004 .long rand_on @ 0x40 .text:0000C008 .long mag_rand_on @ 0x41 .text:0000C00C .long invalid_code @ 0x42 .text:0000C010 .long rand_press @ 0x43 .text:0000C014 .long mag_rand_press @ 0x44 .text:0000C018 .long rand_forward @ 0x45 .text:0000C01C .long rand_reverse @ 0x46 .text:0000C020 .long rand_off @ 0x47 .text:0000C024 .long invalid_code .text:0000C028 .long invalid_code .text:0000C02C .long invalid_code .text:0000C030 .long invalid_code .text:0000C034 .long invalid_code .text:0000C038 .long invalid_code .text:0000C03C .long invalid_code .text:0000C040 .long invalid_code .text:0000C044 .long invalid_code .text:0000C048 .long invalid_code .text:0000C04C .long invalid_code .text:0000C050 .long invalid_code .text:0000C054 .long invalid_code .text:0000C058 .long invalid_code .text:0000C05C .long req_track_name @ 0x56 .text:0000C060 .long req_disk_name @ 0x57 .text:0000C064 .long invalid_code .text:0000C068 .long invalid_code .text:0000C06C .long invalid_code .text:0000C070 .long invalid_code .text:0000C074 .long invalid_code .text:0000C078 .long invalid_code .text:0000C07C .long invalid_code .text:0000C080 .long invalid_code .text:0000C084 .long standby @ 0x60 .text:0000C088 .long shutdown @ 0x61 .text:0000C08C .long hdd_wakeup @ 0x62 .text:0000C090 .long prog_pld @ 0x63 .text:0000C094 .long play_loopfile @ 0x64 .text:0000C098 .long sync_req @ 0x65 .text:0000C09C .long ping @ 0x66 .text:0000C0A0 .long req_reboot_uC @ 0x67 .text:0000C0A4 .long invalid_code .text:0000C0A8 .long invalid_code .text:0000C0AC .long invalid_code .text:0000C0B0 .long invalid_code .text:0000C0B4 .long invalid_code .text:0000C0B8 .long invalid_code .text:0000C0BC .long invalid_code .text:0000C0C0 .long invalid_code .text:0000C0C4 .long invalid_code .text:0000C0C8 .long util_info @ 0x71 .text:0000C0CC .long util_halted @ 0x72 .text:0000C0D0 .long cur_temp @ 0x73 .text:0000C0D4 .long invalid_code .text:0000C0D8 .long invalid_code .text:0000C0DC .long invalid_code .text:0000C0E0 .long invalid_code .text:0000C0E4 .long inf_8051_rebooting @ 0x78 .text:0000C0E8 .long invalid_code .text:0000C0EC .long invalid_code .text:0000C0F0 .long invalid_code .text:0000C0F4 .long invalid_code .text:0000C0F8 .long invalid_code .text:0000C0FC .long invalid_code .text:0000C100 .long invalid_code .text:0000C104 .long unmute_dac @ 0x80 .text:0000C108 .long invalid_code .text:0000C10C .long invalid_code .text:0000C110 .long invalid_code .text:0000C114 .long invalid_code .text:0000C118 .long invalid_code .text:0000C11C .long invalid_code .text:0000C120 .long invalid_code .text:0000C124 .long invalid_code .text:0000C128 .long invalid_code .text:0000C12C .long invalid_code .text:0000C130 .long invalid_code .text:0000C134 .long invalid_code .text:0000C138 .long invalid_code .text:0000C13C .long invalid_code .text:0000C140 .long invalid_code .text:0000C144 .long ssa_play_mode @ 0x90 .text:0000C148 .long enter_feature @ 0x91 .text:0000C14C .long invalid_code @ 0x92 .text:0000C150 .long sel_menu_item @ 0x93 .text:0000C154 .long menu_descend @ 0x94 .text:0000C158 .long menu_ascend @ 0x95 .text:0000C15C .long invalid_code .text:0000C160 .long invalid_code .text:0000C164 .long invalid_code .text:0000C168 .long invalid_code .text:0000C16C .long invalid_code .text:0000C170 .long invalid_code .text:0000C174 .long invalid_code .text:0000C178 .long invalid_code .text:0000C17C .long invalid_code .text:0000C180 .long invalid_code .text:0000C184 .long req_firmware @ 0xa0 .text:0000C188 .long req_boot_firmware @ 0xa1 .text:0000C18C .long req_test_firmware @ 0xa2 .text:0000C190 .long invalid_code .text:0000C194 .long invalid_code .text:0000C198 .long invalid_code .text:0000C19C .long invalid_code .text:0000C1A0 .long invalid_code .text:0000C1A4 .long invalid_code .text:0000C1A8 .long invalid_code .text:0000C1AC .long invalid_code .text:0000C1B0 .long invalid_code .text:0000C1B4 .long invalid_code .text:0000C1B8 .long invalid_code .text:0000C1BC .long invalid_code .text:0000C1C0 .long invalid_code .text:0000C1C4 .long inf_arm_bootok @ 0xb0 .text:0000C1C8 .long inf_51_bootok @ 0xb1 .text:0000C1CC .long inf_erase_ok @ 0xb2 .text:0000C1D0 .long inf_51_proged_ok @ 0xb3 .text:0000C1D4 .long invalid_code .text:0000C1D8 .long inf_status_result @ 0xb5 .text:0000C1DC .long invalid_code .text:0000C1E0 .long invalid_code .text:0000C1E4 .long invalid_code .text:0000C1E8 .long invalid_code .text:0000C1EC .long invalid_code .text:0000C1F0 .long invalid_code .text:0000C1F4 .long invalid_code .text:0000C1F8 .long invalid_code .text:0000C1FC .long invalid_code .text:0000C200 .long invalid_code .text:0000C204 .long small_trans_pack @ 0xc0 .text:0000C208 .long invalid_code @ 0xc1 .text:0000C20C .long med_trans_pack @ 0xc2 .text:0000C210 .long lrg_trans_packet @ 0xc3 .text:0000C214 .long invalid_code .text:0000C218 .long invalid_code .text:0000C21C .long invalid_code .text:0000C220 .long invalid_code .text:0000C224 .long invalid_code .text:0000C228 .long invalid_code .text:0000C22C .long invalid_code .text:0000C230 .long invalid_code .text:0000C234 .long invalid_code .text:0000C238 .long invalid_code .text:0000C23C .long invalid_code .text:0000C240 .long invalid_code .text:0000C244 .long invalid_code .text:0000C248 .long invalid_code .text:0000C24C .long invalid_code .text:0000C250 .long invalid_code .text:0000C254 .long invalid_code .text:0000C258 .long invalid_code .text:0000C25C .long invalid_code .text:0000C260 .long invalid_code .text:0000C264 .long invalid_code .text:0000C268 .long invalid_code .text:0000C26C .long invalid_code .text:0000C270 .long invalid_code .text:0000C274 .long invalid_code .text:0000C278 .long invalid_code .text:0000C27C .long invalid_code .text:0000C280 .long invalid_code .text:0000C284 .long util_info @ 0xe0 .text:0000C288 .long util_halted @ 0xe1 .text:0000C28C .long uc_debug @ 0xe2 .text:0000C290 .long invalid_code .text:0000C294 .long invalid_code .text:0000C298 .long invalid_code .text:0000C29C .long invalid_code .text:0000C2A0 .long invalid_code .text:0000C2A4 .long invalid_code .text:0000C2A8 .long invalid_code .text:0000C2AC .long invalid_code .text:0000C2B0 .long invalid_code .text:0000C2B4 .long invalid_code .text:0000C2B8 .long invalid_code .text:0000C2BC .long invalid_code .text:0000C2C0 .long invalid_code .text:0000C2C4 .long invalid_code .text:0000C2C8 .long invalid_code .text:0000C2CC .long invalid_code .text:0000C2D0 .long old_req_firmware @ 0xf3 .text:0000C2D4 .long invalid_code .text:0000C2D8 .long req_boot_firmware @ 0xf5 .text:0000C2DC .long invalid_code .text:0000C2E0 .long invalid_code .text:0000C2E4 .long invalid_code .text:0000C2E8 .long invalid_code .text:0000C2EC .long invalid_code .text:0000C2F0 .long old_prog_pld @ 0xfb .text:0000C2F4 .long invalid_code .text:0000C2F8 .long invalid_code .text:0000C2FC .long error_data @ 0xfe .text:0000C300 .long error @ 0xff .text:0000C304 @ --------------------------------------------------------------------------- .text:0000C304 .text:0000C304 sesinfo: @ CODE XREF: processpack+18j .text:0000C304 @ DATA XREF: processpack+20o .text:0000C304 LDR R10, =debug_level @ Load from Memory .text:0000C308 LDR R3, [R10] @ Load from Memory .text:0000C30C CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0000C310 BLT loc_C374 @ Branch .text:0000C314 MOV R0, #0 @ Rd = Op2 .text:0000C318 BL time @ Branch with Link .text:0000C31C LDR R2, =0x51EB851F @ Load from Memory .text:0000C320 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000C324 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000C328 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000C32C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000C330 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000C334 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000C338 BL call_gettimeofday @ Branch with Link .text:0000C33C MOV R1, R4 @ Rd = Op2 .text:0000C340 MOV R2, R0 @ Rd = Op2 .text:0000C344 LDR R3, =aProcesspack @ Load from Memory .text:0000C348 LDR R0, =logfile_format @ Load from Memory .text:0000C34C BL printf @ Branch with Link .text:0000C350 .text:0000C350 loc_C350: @ DATA XREF: .data:off_35F40o .text:0000C350 LDRB R12, [R7,#3] @ Load from Memory .text:0000C354 LDRB R1, [R7] @ Load from Memory .text:0000C358 LDRB R2, [R7,#1] @ Load from Memory .text:0000C35C LDRB R3, [R7,#2] @ Load from Memory .text:0000C360 LDR R0, =aGotSessionMode @ Load from Memory .text:0000C364 STR R12, [SP,#0x368+var_368] @ Store to Memory .text:0000C368 BL printf @ Branch with Link .text:0000C36C MOV R0, #0 @ Rd = Op2 .text:0000C370 BL sub_257B4 @ Branch with Link .text:0000C374 .text:0000C374 loc_C374: @ CODE XREF: processpack+3E8j .text:0000C374 LDRB R3, [R7,#2] @ Load from Memory .text:0000C378 LDRB R0, [R7,#3] @ Load from Memory .text:0000C37C ADD R0, R0, R3,LSL#8 @ Rd = Op1 + Op2 .text:0000C380 BL sub_1A7C0 @ Branch with Link .text:0000C384 LDRB R0, [R7,#2] @ Load from Memory .text:0000C388 LDRB R1, [R7,#3] @ Load from Memory .text:0000C38C BL sub_15CF0 @ Branch with Link .text:0000C390 TST R0, #1 @ Set cond. codes on Op1 & Op2 .text:0000C394 MOV R6, R0 @ Rd = Op2 .text:0000C398 STR R0, [SP,#0x368+var_350] @ Store to Memory .text:0000C39C BEQ loc_C408 @ Branch .text:0000C3A0 LDR R3, [R10] @ Load from Memory .text:0000C3A4 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0000C3A8 BLE loc_C3F8 @ Branch .text:0000C3AC MOV R0, #0 @ Rd = Op2 .text:0000C3B0 BL time @ Branch with Link .text:0000C3B4 LDR R2, =0x51EB851F @ Load from Memory .text:0000C3B8 SMULL R5, R1, R2, R0 @ Signed Multiply long .text:0000C3BC MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000C3C0 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000C3C4 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000C3C8 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000C3CC SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000C3D0 BL call_gettimeofday @ Branch with Link .text:0000C3D4 MOV R1, R4 @ Rd = Op2 .text:0000C3D8 MOV R2, R0 @ Rd = Op2 .text:0000C3DC LDR R3, =aProcesspack @ Load from Memory .text:0000C3E0 LDR R0, =logfile_format @ Load from Memory .text:0000C3E4 BL printf @ Branch with Link .text:0000C3E8 LDR R0, =aInitializing1_ @ Load from Memory .text:0000C3EC BL xdebug_out @ Branch with Link .text:0000C3F0 MOV R0, #0 @ Rd = Op2 .text:0000C3F4 BL sub_257B4 @ Branch with Link .text:0000C3F8 .text:0000C3F8 loc_C3F8: @ CODE XREF: processpack+480j .text:0000C3F8 MOVL R0, 0xAC44 .text:0000C400 BL send_ioctl_SNDCTL_DSP_SPEED @ Branch with Link .text:0000C404 LDR R6, [SP,#0x368+var_350] @ Load from Memory .text:0000C408 .text:0000C408 loc_C408: @ CODE XREF: processpack+474j .text:0000C408 TST R6, #2 @ Set cond. codes on Op1 & Op2 .text:0000C40C BEQ loc_C474 @ Branch .text:0000C410 LDR R3, =debug_level @ Load from Memory .text:0000C414 LDR R2, [R3] @ Load from Memory .text:0000C418 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000C41C BLE loc_C46C @ Branch .text:0000C420 MOV R0, #0 @ Rd = Op2 .text:0000C424 BL time @ Branch with Link .text:0000C428 LDR R2, =0x51EB851F @ Load from Memory .text:0000C42C SMULL R6, R1, R2, R0 @ Signed Multiply long .text:0000C430 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000C434 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000C438 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000C43C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000C440 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000C444 BL call_gettimeofday @ Branch with Link .text:0000C448 MOV R1, R4 @ Rd = Op2 .text:0000C44C MOV R2, R0 @ Rd = Op2 .text:0000C450 LDR R3, =aProcesspack @ Load from Memory .text:0000C454 LDR R0, =logfile_format @ Load from Memory .text:0000C458 BL printf @ Branch with Link .text:0000C45C LDR R0, =aSwappingChanne @ Load from Memory .text:0000C460 BL xdebug_out @ Branch with Link .text:0000C464 MOV R0, #0 @ Rd = Op2 .text:0000C468 BL sub_257B4 @ Branch with Link .text:0000C46C .text:0000C46C loc_C46C: @ CODE XREF: processpack+4F4j .text:0000C46C BL phat_swap_channels @ Branch with Link .text:0000C470 LDR R6, [SP,#0x368+var_350] @ Load from Memory .text:0000C474 .text:0000C474 loc_C474: @ CODE XREF: processpack+4E4j .text:0000C474 TST R6, #4 @ Set cond. codes on Op1 & Op2 .text:0000C478 BEQ loc_C4E4 @ Branch .text:0000C47C LDR R3, =debug_level @ Load from Memory .text:0000C480 LDR R2, [R3] @ Load from Memory .text:0000C484 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000C488 BLE loc_C4D8 @ Branch .text:0000C48C MOV R0, #0 @ Rd = Op2 .text:0000C490 BL time @ Branch with Link .text:0000C494 LDR R2, =0x51EB851F @ Load from Memory .text:0000C498 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000C49C MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000C4A0 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000C4A4 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000C4A8 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000C4AC SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000C4B0 BL call_gettimeofday @ Branch with Link .text:0000C4B4 MOV R1, R4 @ Rd = Op2 .text:0000C4B8 MOV R2, R0 @ Rd = Op2 .text:0000C4BC LDR R3, =aProcesspack @ Load from Memory .text:0000C4C0 LDR R0, =logfile_format @ Load from Memory .text:0000C4C4 BL printf @ Branch with Link .text:0000C4C8 LDR R0, =aEnablingOldIsp @ Load from Memory .text:0000C4CC BL xdebug_out @ Branch with Link .text:0000C4D0 MOV R0, #0 @ Rd = Op2 .text:0000C4D4 BL sub_257B4 @ Branch with Link .text:0000C4D8 .text:0000C4D8 loc_C4D8: @ CODE XREF: processpack+560j .text:0000C4D8 LDR R3, =dword_35F3C @ Load from Memory .text:0000C4DC MOV R2, #1 @ Rd = Op2 .text:0000C4E0 STR R2, [R3] @ Store to Memory .text:0000C4E4 .text:0000C4E4 loc_C4E4: @ CODE XREF: processpack+550j .text:0000C4E4 LDRB R2, [R7] @ Load from Memory .text:0000C4E8 LDR R3, =play_mode_0x34 @ Load from Memory .text:0000C4EC CMP R2, #2 @ Set cond. codes on Op1 - Op2 .text:0000C4F0 STR R2, [R3] @ Store to Memory .text:0000C4F4 BEQ loc_C8B8 @ Branch .text:0000C4F8 BGT loc_C84C @ Branch .text:0000C4FC CMP R2, #1 @ Set cond. codes on Op1 - Op2 .text:0000C500 BEQ loc_C7E8 @ Branch .text:0000C504 .text:0000C504 loc_C504: @ CODE XREF: processpack+920j .text:0000C504 @ processpack+928j ... .text:0000C504 MOVL R0, 0xFFFFFFFF .text:0000C508 MOV R1, R0 @ Rd = Op2 .text:0000C50C BL run_audio_id @ Branch with Link .text:0000C510 LDRB R3, [R7,#1] @ Load from Memory .text:0000C514 TST R3, #1 @ Set cond. codes on Op1 & Op2 .text:0000C518 BEQ loc_C58C @ Branch .text:0000C51C LDR R3, =debug_level @ Load from Memory .text:0000C520 LDR R2, [R3] @ Load from Memory .text:0000C524 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000C528 BLT loc_C578 @ Branch .text:0000C52C MOV R0, #0 @ Rd = Op2 .text:0000C530 BL time @ Branch with Link .text:0000C534 LDR R2, =0x51EB851F @ Load from Memory .text:0000C538 SMULL R5, R1, R2, R0 @ Signed Multiply long .text:0000C53C MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000C540 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000C544 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000C548 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000C54C SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000C550 BL call_gettimeofday @ Branch with Link .text:0000C554 MOV R1, R4 @ Rd = Op2 .text:0000C558 MOV R2, R0 @ Rd = Op2 .text:0000C55C LDR R3, =aProcesspack @ Load from Memory .text:0000C560 LDR R0, =logfile_format @ Load from Memory .text:0000C564 BL printf @ Branch with Link .text:0000C568 LDR R0, =aWillAutoStopAt @ Load from Memory .text:0000C56C BL xdebug_out @ Branch with Link .text:0000C570 MOV R0, #0 @ Rd = Op2 .text:0000C574 BL sub_257B4 @ Branch with Link .text:0000C578 .text:0000C578 loc_C578: @ CODE XREF: processpack+600j .text:0000C578 LDR R3, =track_offset @ Load from Memory .text:0000C57C MOV R2, #1 @ Rd = Op2 .text:0000C580 STR R2, [R3] @ Store to Memory .text:0000C584 BL phat_playmode_eodstop @ Branch with Link .text:0000C588 LDRB R3, [R7,#1] @ Load from Memory .text:0000C58C .text:0000C58C loc_C58C: @ CODE XREF: processpack+5F0j .text:0000C58C TST R3, #2 @ Set cond. codes on Op1 & Op2 .text:0000C590 BEQ loc_C604 @ Branch .text:0000C594 LDR R3, =debug_level @ Load from Memory .text:0000C598 LDR R2, [R3] @ Load from Memory .text:0000C59C CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000C5A0 BLT loc_C5F0 @ Branch .text:0000C5A4 MOV R0, #0 @ Rd = Op2 .text:0000C5A8 BL time @ Branch with Link .text:0000C5AC LDR R2, =0x51EB851F @ Load from Memory .text:0000C5B0 SMULL R6, R1, R2, R0 @ Signed Multiply long .text:0000C5B4 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000C5B8 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000C5BC ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000C5C0 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000C5C4 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000C5C8 BL call_gettimeofday @ Branch with Link .text:0000C5CC MOV R1, R4 @ Rd = Op2 .text:0000C5D0 MOV R2, R0 @ Rd = Op2 .text:0000C5D4 LDR R3, =aProcesspack @ Load from Memory .text:0000C5D8 LDR R0, =logfile_format @ Load from Memory .text:0000C5DC BL printf @ Branch with Link .text:0000C5E0 LDR R0, =aSsaHeadUnit @ Load from Memory .text:0000C5E4 BL xdebug_out @ Branch with Link .text:0000C5E8 MOV R0, #0 @ Rd = Op2 .text:0000C5EC BL sub_257B4 @ Branch with Link .text:0000C5F0 .text:0000C5F0 loc_C5F0: @ CODE XREF: processpack+678j .text:0000C5F0 BL phat_announceon @ Branch with Link .text:0000C5F4 LDR R3, =dword_35F98 @ Load from Memory .text:0000C5F8 MOV R2, #1 @ Rd = Op2 .text:0000C5FC STR R2, [R3] @ Store to Memory .text:0000C600 LDRB R3, [R7,#1] @ Load from Memory .text:0000C604 .text:0000C604 loc_C604: @ CODE XREF: processpack+668j .text:0000C604 TST R3, #4 @ Set cond. codes on Op1 & Op2 .text:0000C608 BEQ loc_C678 @ Branch .text:0000C60C LDR R3, =debug_level @ Load from Memory .text:0000C610 LDR R2, [R3] @ Load from Memory .text:0000C614 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000C618 BLT loc_C668 @ Branch .text:0000C61C MOV R0, #0 @ Rd = Op2 .text:0000C620 BL time @ Branch with Link .text:0000C624 LDR R2, =0x51EB851F @ Load from Memory .text:0000C628 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000C62C MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000C630 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000C634 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000C638 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000C63C SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000C640 BL call_gettimeofday @ Branch with Link .text:0000C644 MOV R1, R4 @ Rd = Op2 .text:0000C648 MOV R2, R0 @ Rd = Op2 .text:0000C64C LDR R3, =aProcesspack @ Load from Memory .text:0000C650 LDR R0, =logfile_format @ Load from Memory .text:0000C654 BL printf @ Branch with Link .text:0000C658 LDR R0, =aExtraHelpEnabl @ Load from Memory .text:0000C65C BL xdebug_out @ Branch with Link .text:0000C660 MOV R0, #0 @ Rd = Op2 .text:0000C664 BL sub_257B4 @ Branch with Link .text:0000C668 .text:0000C668 loc_C668: @ CODE XREF: processpack+6F0j .text:0000C668 LDR R3, =dword_35F54 @ Load from Memory .text:0000C66C MOV R2, #1 @ Rd = Op2 .text:0000C670 STR R2, [R3] @ Store to Memory .text:0000C674 LDRB R3, [R7,#1] @ Load from Memory .text:0000C678 .text:0000C678 loc_C678: @ CODE XREF: processpack+6E0j .text:0000C678 TST R3, #8 @ Set cond. codes on Op1 & Op2 .text:0000C67C BEQ loc_C6E8 @ Branch .text:0000C680 LDR R3, =debug_level @ Load from Memory .text:0000C684 LDR R2, [R3] @ Load from Memory .text:0000C688 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000C68C BLT loc_C6DC @ Branch .text:0000C690 MOV R0, #0 @ Rd = Op2 .text:0000C694 BL time @ Branch with Link .text:0000C698 LDR R2, =0x51EB851F @ Load from Memory .text:0000C69C SMULL R5, R1, R2, R0 @ Signed Multiply long .text:0000C6A0 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000C6A4 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000C6A8 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000C6AC ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000C6B0 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000C6B4 BL call_gettimeofday @ Branch with Link .text:0000C6B8 MOV R1, R4 @ Rd = Op2 .text:0000C6BC MOV R2, R0 @ Rd = Op2 .text:0000C6C0 LDR R3, =aProcesspack @ Load from Memory .text:0000C6C4 LDR R0, =logfile_format @ Load from Memory .text:0000C6C8 BL printf @ Branch with Link .text:0000C6CC LDR R0, =aForceMagazineR @ Load from Memory .text:0000C6D0 BL xdebug_out @ Branch with Link .text:0000C6D4 MOV R0, #0 @ Rd = Op2 .text:0000C6D8 BL sub_257B4 @ Branch with Link .text:0000C6DC .text:0000C6DC loc_C6DC: @ CODE XREF: processpack+764j .text:0000C6DC LDR R3, =dword_35F6C @ Load from Memory .text:0000C6E0 MOV R2, #1 @ Rd = Op2 .text:0000C6E4 STR R2, [R3] @ Store to Memory .text:0000C6E8 .text:0000C6E8 loc_C6E8: @ CODE XREF: processpack+754j .text:0000C6E8 LDR R3, =dword_35F84 @ Load from Memory .text:0000C6EC ADD R4, SP, #0x368+var_D4 @ Rd = Op1 + Op2 .text:0000C6F0 LDR R1, [R3] @ Load from Memory .text:0000C6F4 LDR R0, =aDosPhatbox_ini @ Load from Memory .text:0000C6F8 LDR R2, =aForce_mag_rand @ Load from Memory .text:0000C6FC MOV R3, R4 @ Rd = Op2 .text:0000C700 BL xread_ini @ Branch with Link .text:0000C704 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000C708 BEQ loc_C794 @ Branch .text:0000C70C .text:0000C70C loc_C70C: @ CODE XREF: processpack+890j .text:0000C70C @ processpack+8B8j .text:0000C70C LDRB R3, [R7,#1] @ Load from Memory .text:0000C710 ANDS R5, R3, #0x10 @ Rd = Op1 & Op2 .text:0000C714 MOVNE R2, #1 @ Rd = Op2 .text:0000C718 LDRNE R3, =dword_35FE0 @ Load from Memory .text:0000C71C BNE loc_C78C @ Branch .text:0000C720 LDR R3, =debug_level @ Load from Memory .text:0000C724 LDR R2, [R3] @ Load from Memory .text:0000C728 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000C72C BLT loc_C77C @ Branch .text:0000C730 MOV R0, R5 @ Rd = Op2 .text:0000C734 BL time @ Branch with Link .text:0000C738 LDR R2, =0x51EB851F @ Load from Memory .text:0000C73C SMULL R6, R1, R2, R0 @ Signed Multiply long .text:0000C740 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000C744 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000C748 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000C74C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000C750 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000C754 BL call_gettimeofday @ Branch with Link .text:0000C758 MOV R1, R4 @ Rd = Op2 .text:0000C75C MOV R2, R0 @ Rd = Op2 .text:0000C760 LDR R3, =aProcesspack @ Load from Memory .text:0000C764 LDR R0, =logfile_format @ Load from Memory .text:0000C768 BL printf @ Branch with Link .text:0000C76C LDR R0, =aNonTextHeadUni @ Load from Memory .text:0000C770 BL xdebug_out @ Branch with Link .text:0000C774 MOV R0, R5 @ Rd = Op2 .text:0000C778 BL sub_257B4 @ Branch with Link .text:0000C77C .text:0000C77C loc_C77C: @ CODE XREF: processpack+804j .text:0000C77C BL sub_196E8 @ Branch with Link .text:0000C780 .text:0000C780 loc_C780: @ CODE XREF: processpack+868j .text:0000C780 @ processpack+A54j ... .text:0000C780 MOV R0, #1 @ Rd = Op2 .text:0000C784 ADD SP, SP, #0x348 @ Rd = Op1 + Op2 .text:0000C788 LDMFD SP!, {R4-R10,PC} @ Load Block from Memory .text:0000C78C @ --------------------------------------------------------------------------- .text:0000C78C .text:0000C78C loc_C78C: @ CODE XREF: processpack+7F4j .text:0000C78C @ processpack+B48j ... .text:0000C78C STR R2, [R3] @ Store to Memory .text:0000C790 B loc_C780 @ Branch .text:0000C794 @ --------------------------------------------------------------------------- .text:0000C794 .text:0000C794 loc_C794: @ CODE XREF: processpack+7E0j .text:0000C794 LDR R1, =(aGotUtilityHalt+0x1C) @ Load from Memory .text:0000C798 MOV R0, R4 @ Rd = Op2 .text:0000C79C MOV R2, #3 @ Rd = Op2 .text:0000C7A0 BL xstrcmp @ Branch with Link .text:0000C7A4 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000C7A8 BNE loc_C7BC @ Branch .text:0000C7AC .text:0000C7AC loc_C7AC: @ CODE XREF: processpack+8A8j .text:0000C7AC @ processpack+8BCj .text:0000C7AC LDR R3, =dword_35F6C @ Load from Memory .text:0000C7B0 MOV R2, #1 @ Rd = Op2 .text:0000C7B4 STR R2, [R3] @ Store to Memory .text:0000C7B8 B loc_C70C @ Branch .text:0000C7BC @ --------------------------------------------------------------------------- .text:0000C7BC .text:0000C7BC loc_C7BC: @ CODE XREF: processpack+880j .text:0000C7BC LDR R1, =aTrue @ Load from Memory .text:0000C7C0 MOV R0, R4 @ Rd = Op2 .text:0000C7C4 MOV R2, #5 @ Rd = Op2 .text:0000C7C8 BL xstrcmp @ Branch with Link .text:0000C7CC CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000C7D0 BEQ loc_C7AC @ Branch .text:0000C7D4 MOV R0, R4 @ Rd = Op2 .text:0000C7D8 BL sysv_signal_0x0_0xA @ Branch with Link .text:0000C7DC CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000C7E0 BEQ loc_C70C @ Branch .text:0000C7E4 B loc_C7AC @ Branch .text:0000C7E8 @ --------------------------------------------------------------------------- .text:0000C7E8 .text:0000C7E8 loc_C7E8: @ CODE XREF: processpack+5D8j .text:0000C7E8 LDR R3, =debug_level @ Load from Memory .text:0000C7EC LDR R2, [R3] @ Load from Memory .text:0000C7F0 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000C7F4 BLT loc_C844 @ Branch .text:0000C7F8 MOV R0, #0 @ Rd = Op2 .text:0000C7FC BL time @ Branch with Link .text:0000C800 LDR R2, =0x51EB851F @ Load from Memory .text:0000C804 SMULL R5, R1, R2, R0 @ Signed Multiply long .text:0000C808 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000C80C RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000C810 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000C814 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000C818 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000C81C BL call_gettimeofday @ Branch with Link .text:0000C820 MOV R1, R4 @ Rd = Op2 .text:0000C824 MOV R2, R0 @ Rd = Op2 .text:0000C828 LDR R3, =aProcesspack @ Load from Memory .text:0000C82C LDR R0, =logfile_format @ Load from Memory .text:0000C830 BL printf @ Branch with Link .text:0000C834 LDR R0, =aArtistPlayMode @ Load from Memory .text:0000C838 BL xdebug_out @ Branch with Link .text:0000C83C MOV R0, #0 @ Rd = Op2 .text:0000C840 BL sub_257B4 @ Branch with Link .text:0000C844 .text:0000C844 loc_C844: @ CODE XREF: processpack+8CCj .text:0000C844 BL phat_playmode_artist @ Branch with Link .text:0000C848 B loc_C504 @ Branch .text:0000C84C @ --------------------------------------------------------------------------- .text:0000C84C .text:0000C84C loc_C84C: @ CODE XREF: processpack+5D0j .text:0000C84C CMP R2, #3 @ Set cond. codes on Op1 - Op2 .text:0000C850 BNE loc_C504 @ Branch .text:0000C854 LDR R3, =debug_level @ Load from Memory .text:0000C858 LDR R2, [R3] @ Load from Memory .text:0000C85C CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000C860 BLT loc_C8B0 @ Branch .text:0000C864 MOV R0, #0 @ Rd = Op2 .text:0000C868 BL time @ Branch with Link .text:0000C86C LDR R2, =0x51EB851F @ Load from Memory .text:0000C870 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000C874 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000C878 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000C87C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000C880 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000C884 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000C888 BL call_gettimeofday @ Branch with Link .text:0000C88C MOV R1, R4 @ Rd = Op2 .text:0000C890 MOV R2, R0 @ Rd = Op2 .text:0000C894 LDR R3, =aProcesspack @ Load from Memory .text:0000C898 LDR R0, =logfile_format @ Load from Memory .text:0000C89C BL printf @ Branch with Link .text:0000C8A0 LDR R0, =aAlbumPlayMode @ Load from Memory .text:0000C8A4 BL xdebug_out @ Branch with Link .text:0000C8A8 MOV R0, #0 @ Rd = Op2 .text:0000C8AC BL sub_257B4 @ Branch with Link .text:0000C8B0 .text:0000C8B0 loc_C8B0: @ CODE XREF: processpack+938j .text:0000C8B0 BL phat_playmode_album @ Branch with Link .text:0000C8B4 B loc_C504 @ Branch .text:0000C8B8 @ --------------------------------------------------------------------------- .text:0000C8B8 .text:0000C8B8 loc_C8B8: @ CODE XREF: processpack+5CCj .text:0000C8B8 LDR R3, =debug_level @ Load from Memory .text:0000C8BC LDR R2, [R3] @ Load from Memory .text:0000C8C0 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000C8C4 BLT loc_C914 @ Branch .text:0000C8C8 MOV R0, #0 @ Rd = Op2 .text:0000C8CC BL time @ Branch with Link .text:0000C8D0 LDR R2, =0x51EB851F @ Load from Memory .text:0000C8D4 SMULL R6, R1, R2, R0 @ Signed Multiply long .text:0000C8D8 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000C8DC RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000C8E0 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000C8E4 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000C8E8 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000C8EC BL call_gettimeofday @ Branch with Link .text:0000C8F0 MOV R1, R4 @ Rd = Op2 .text:0000C8F4 MOV R2, R0 @ Rd = Op2 .text:0000C8F8 LDR R3, =aProcesspack @ Load from Memory .text:0000C8FC LDR R0, =logfile_format @ Load from Memory .text:0000C900 BL printf @ Branch with Link .text:0000C904 LDR R0, =aGenrePlayMode @ Load from Memory .text:0000C908 BL xdebug_out @ Branch with Link .text:0000C90C MOV R0, #0 @ Rd = Op2 .text:0000C910 BL sub_257B4 @ Branch with Link .text:0000C914 .text:0000C914 loc_C914: @ CODE XREF: processpack+99Cj .text:0000C914 BL phat_playmode_genre @ Branch with Link .text:0000C918 B loc_C504 @ Branch .text:0000C91C @ --------------------------------------------------------------------------- .text:0000C91C .text:0000C91C req_settings: @ CODE XREF: processpack+18j .text:0000C91C @ DATA XREF: processpack+24o .text:0000C91C LDR R3, =debug_level @ Load from Memory .text:0000C920 LDR R2, [R3] @ Load from Memory .text:0000C924 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000C928 BLT loc_C978 @ Branch .text:0000C92C MOV R0, #0 @ Rd = Op2 .text:0000C930 BL time @ Branch with Link .text:0000C934 LDR R2, =0x51EB851F @ Load from Memory .text:0000C938 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000C93C MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000C940 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000C944 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000C948 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000C94C SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000C950 BL call_gettimeofday @ Branch with Link .text:0000C954 MOV R1, R4 @ Rd = Op2 .text:0000C958 MOV R2, R0 @ Rd = Op2 .text:0000C95C LDR R3, =aProcesspack @ Load from Memory .text:0000C960 LDR R0, =logfile_format @ Load from Memory .text:0000C964 BL printf @ Branch with Link .text:0000C968 LDR R0, =aGotReqSettings @ Load from Memory .text:0000C96C BL xdebug_out @ Branch with Link .text:0000C970 MOV R0, #0 @ Rd = Op2 .text:0000C974 BL sub_257B4 @ Branch with Link .text:0000C978 .text:0000C978 loc_C978: @ CODE XREF: processpack+A00j .text:0000C978 @ processpack+E2Cj .text:0000C978 BL sub_157B4 @ Branch with Link .text:0000C97C B loc_C780 @ Branch .text:0000C980 @ --------------------------------------------------------------------------- .text:0000C980 .text:0000C980 cur_settings: @ CODE XREF: processpack+18j .text:0000C980 @ DATA XREF: processpack+28o .text:0000C980 LDR R5, =debug_level @ Load from Memory .text:0000C984 LDR R3, [R5] @ Load from Memory .text:0000C988 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0000C98C BLT loc_C9DC @ Branch .text:0000C990 MOV R0, #0 @ Rd = Op2 .text:0000C994 BL time @ Branch with Link .text:0000C998 LDR R2, =0x51EB851F @ Load from Memory .text:0000C99C SMULL R6, R1, R2, R0 @ Signed Multiply long .text:0000C9A0 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000C9A4 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000C9A8 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000C9AC ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000C9B0 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000C9B4 BL call_gettimeofday @ Branch with Link .text:0000C9B8 MOV R1, R4 @ Rd = Op2 .text:0000C9BC MOV R2, R0 @ Rd = Op2 .text:0000C9C0 LDR R3, =aProcesspack @ Load from Memory .text:0000C9C4 LDR R0, =logfile_format @ Load from Memory .text:0000C9C8 BL printf @ Branch with Link .text:0000C9CC LDR R0, =aGotSettings @ Load from Memory .text:0000C9D0 BL xdebug_out @ Branch with Link .text:0000C9D4 MOV R0, #0 @ Rd = Op2 .text:0000C9D8 BL sub_257B4 @ Branch with Link .text:0000C9DC .text:0000C9DC loc_C9DC: @ CODE XREF: processpack+A64j .text:0000C9DC LDRB R3, [R7,#1] @ Load from Memory .text:0000C9E0 ANDS R2, R3, #1 @ Rd = Op1 & Op2 .text:0000C9E4 BEQ loc_CA44 @ Branch .text:0000C9E8 LDR R3, [R5] @ Load from Memory .text:0000C9EC CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0000C9F0 BLE loc_CA40 @ Branch .text:0000C9F4 MOV R0, #0 @ Rd = Op2 .text:0000C9F8 BL time @ Branch with Link .text:0000C9FC LDR R2, =0x51EB851F @ Load from Memory .text:0000CA00 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000CA04 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000CA08 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000CA0C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000CA10 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000CA14 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000CA18 BL call_gettimeofday @ Branch with Link .text:0000CA1C MOV R1, R4 @ Rd = Op2 .text:0000CA20 MOV R2, R0 @ Rd = Op2 .text:0000CA24 LDR R3, =aProcesspack @ Load from Memory .text:0000CA28 LDR R0, =logfile_format @ Load from Memory .text:0000CA2C BL printf @ Branch with Link .text:0000CA30 LDR R0, =aEnablingAutoPo @ Load from Memory .text:0000CA34 BL xdebug_out @ Branch with Link .text:0000CA38 MOV R0, #0 @ Rd = Op2 .text:0000CA3C BL sub_257B4 @ Branch with Link .text:0000CA40 .text:0000CA40 loc_CA40: @ CODE XREF: processpack+AC8j .text:0000CA40 MOV R2, #1 @ Rd = Op2 .text:0000CA44 .text:0000CA44 loc_CA44: @ CODE XREF: processpack+ABCj .text:0000CA44 LDR R3, =dword_35F78 @ Load from Memory .text:0000CA48 STR R2, [R3] @ Store to Memory .text:0000CA4C LDRB R3, [R7,#1] @ Load from Memory .text:0000CA50 ANDS R2, R3, #2 @ Rd = Op1 & Op2 .text:0000CA54 BEQ loc_CA6C @ Branch .text:0000CA58 LDR R3, =debug_level @ Load from Memory .text:0000CA5C LDR R2, [R3] @ Load from Memory .text:0000CA60 CMP R2, #1 @ Set cond. codes on Op1 - Op2 .text:0000CA64 BGT loc_CA74 @ Branch .text:0000CA68 .text:0000CA68 loc_CA68: @ CODE XREF: processpack+B98j .text:0000CA68 MOV R2, #1 @ Rd = Op2 .text:0000CA6C .text:0000CA6C loc_CA6C: @ CODE XREF: processpack+B2Cj .text:0000CA6C LDR R3, =dword_35F74 @ Load from Memory .text:0000CA70 B loc_C78C @ Branch .text:0000CA74 @ --------------------------------------------------------------------------- .text:0000CA74 .text:0000CA74 loc_CA74: @ CODE XREF: processpack+B3Cj .text:0000CA74 MOV R0, #0 @ Rd = Op2 .text:0000CA78 BL time @ Branch with Link .text:0000CA7C LDR R2, =0x51EB851F @ Load from Memory .text:0000CA80 SMULL R5, R1, R2, R0 @ Signed Multiply long .text:0000CA84 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000CA88 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000CA8C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000CA90 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000CA94 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000CA98 BL call_gettimeofday @ Branch with Link .text:0000CA9C MOV R1, R4 @ Rd = Op2 .text:0000CAA0 MOV R2, R0 @ Rd = Op2 .text:0000CAA4 LDR R3, =aProcesspack @ Load from Memory .text:0000CAA8 LDR R0, =logfile_format @ Load from Memory .text:0000CAAC BL printf @ Branch with Link .text:0000CAB0 LDR R0, =aEnablingForceA @ Load from Memory .text:0000CAB4 BL xdebug_out @ Branch with Link .text:0000CAB8 MOV R0, #0 @ Rd = Op2 .text:0000CABC BL sub_257B4 @ Branch with Link .text:0000CAC0 B loc_CA68 @ Branch .text:0000CAC4 @ --------------------------------------------------------------------------- .text:0000CAC4 .text:0000CAC4 uCID: @ CODE XREF: processpack+18j .text:0000CAC4 @ DATA XREF: processpack+2Co .text:0000CAC4 LDR R3, =debug_level @ Load from Memory .text:0000CAC8 LDR R2, [R3] @ Load from Memory .text:0000CACC CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000CAD0 BLT loc_CB20 @ Branch .text:0000CAD4 MOV R0, #0 @ Rd = Op2 .text:0000CAD8 BL time @ Branch with Link .text:0000CADC LDR R2, =0x51EB851F @ Load from Memory .text:0000CAE0 SMULL R6, R1, R2, R0 @ Signed Multiply long .text:0000CAE4 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000CAE8 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000CAEC ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000CAF0 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000CAF4 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000CAF8 BL call_gettimeofday @ Branch with Link .text:0000CAFC MOV R1, R4 @ Rd = Op2 .text:0000CB00 MOV R2, R0 @ Rd = Op2 .text:0000CB04 LDR R3, =aProcesspack @ Load from Memory .text:0000CB08 LDR R0, =logfile_format @ Load from Memory .text:0000CB0C BL printf @ Branch with Link .text:0000CB10 LDR R0, =aGotUcId @ Load from Memory .text:0000CB14 BL xdebug_out @ Branch with Link .text:0000CB18 MOV R0, #0 @ Rd = Op2 .text:0000CB1C BL sub_257B4 @ Branch with Link .text:0000CB20 .text:0000CB20 loc_CB20: @ CODE XREF: processpack+BA8j .text:0000CB20 LDRB R12, [R7,#2] @ Load from Memory .text:0000CB24 LDRB LR, [R7,#3] @ Load from Memory .text:0000CB28 LDRB R4, [R7,#4] @ Load from Memory .text:0000CB2C ADD R5, SP, #0x368+var_10C @ Rd = Op1 + Op2 .text:0000CB30 LDRB R2, [R7] @ Load from Memory .text:0000CB34 LDRB R3, [R7,#1] @ Load from Memory .text:0000CB38 LDR R1, =aFw_02x02x_I_02 @ Load from Memory .text:0000CB3C MOV R0, R5 @ Rd = Op2 .text:0000CB40 STMEA SP, {R12,LR} @ Store Block to Memory .text:0000CB44 STR R4, [SP,#0x368+var_360] @ Store to Memory .text:0000CB48 BL xsprintf @ Branch with Link .text:0000CB4C LDRB R2, [R7] @ Load from Memory .text:0000CB50 LDR R3, =dword_35F9C @ Load from Memory .text:0000CB54 STR R2, [R3] @ Store to Memory .text:0000CB58 LDR R3, =dword_35FA0 @ Load from Memory .text:0000CB5C LDRB R1, [R7,#1] @ Load from Memory .text:0000CB60 LDR R10, =dword_35F84 @ Load from Memory .text:0000CB64 STR R1, [R3] @ Store to Memory .text:0000CB68 LDR R0, [R10] @ Load from Memory .text:0000CB6C LDRB R2, [R7,#2] @ Load from Memory .text:0000CB70 LDR R3, =dword_35FA4 @ Load from Memory .text:0000CB74 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000CB78 STR R2, [R3] @ Store to Memory .text:0000CB7C BNE loc_CFF4 @ Branch .text:0000CB80 .text:0000CB80 loc_CB80: @ CODE XREF: processpack+10D8j .text:0000CB80 LDR R6, =aDosPhatbox_ini @ Load from Memory .text:0000CB84 ADD R8, SP, #0x368+var_D4 @ Rd = Op1 + Op2 .text:0000CB88 MOV R0, R6 @ Rd = Op2 .text:0000CB8C MOV R1, #0 @ Rd = Op2 .text:0000CB90 MOV R2, R5 @ Rd = Op2 .text:0000CB94 MOV R3, R8 @ Rd = Op2 .text:0000CB98 BL xread_ini @ Branch with Link .text:0000CB9C CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000CBA0 BEQ loc_CFE4 @ Branch .text:0000CBA4 LDRB R12, [R7,#3] @ Load from Memory .text:0000CBA8 LDRB R4, [R7,#4] @ Load from Memory .text:0000CBAC LDRB R2, [R7] @ Load from Memory .text:0000CBB0 LDRB R3, [R7,#1] @ Load from Memory .text:0000CBB4 LDR R1, =aFw_02x02x__02x @ Load from Memory .text:0000CBB8 MOV R0, R5 @ Rd = Op2 .text:0000CBBC STR R12, [SP,#0x368+var_368] @ Store to Memory .text:0000CBC0 STR R4, [SP,#0x368+var_364] @ Store to Memory .text:0000CBC4 BL xsprintf @ Branch with Link .text:0000CBC8 MOV R0, R6 @ Rd = Op2 .text:0000CBCC MOV R1, #0 @ Rd = Op2 .text:0000CBD0 MOV R2, R5 @ Rd = Op2 .text:0000CBD4 MOV R3, R8 @ Rd = Op2 .text:0000CBD8 BL xread_ini @ Branch with Link .text:0000CBDC CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000CBE0 BEQ loc_CFE4 @ Branch .text:0000CBE4 LDRB R12, [R7,#2] @ Load from Memory .text:0000CBE8 LDRB R2, [R7] @ Load from Memory .text:0000CBEC LDRB R3, [R7,#1] @ Load from Memory .text:0000CBF0 LDR R1, =aFw_02x02x_I @ Load from Memory .text:0000CBF4 MOV R0, R5 @ Rd = Op2 .text:0000CBF8 STR R12, [SP,#0x368+var_368] @ Store to Memory .text:0000CBFC BL xsprintf @ Branch with Link .text:0000CC00 MOV R0, R6 @ Rd = Op2 .text:0000CC04 MOV R1, #0 @ Rd = Op2 .text:0000CC08 MOV R2, R5 @ Rd = Op2 .text:0000CC0C MOV R3, R8 @ Rd = Op2 .text:0000CC10 BL xread_ini @ Branch with Link .text:0000CC14 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000CC18 BEQ loc_CFE4 @ Branch .text:0000CC1C LDRB R2, [R7] @ Load from Memory .text:0000CC20 LDRB R3, [R7,#1] @ Load from Memory .text:0000CC24 LDR R1, =aFw_02x02x @ Load from Memory .text:0000CC28 MOV R0, R5 @ Rd = Op2 .text:0000CC2C BL xsprintf @ Branch with Link .text:0000CC30 MOV R0, R6 @ Rd = Op2 .text:0000CC34 MOV R2, R5 @ Rd = Op2 .text:0000CC38 MOV R1, #0 @ Rd = Op2 .text:0000CC3C MOV R3, R8 @ Rd = Op2 .text:0000CC40 BL xread_ini @ Branch with Link .text:0000CC44 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000CC48 BEQ loc_CFE4 @ Branch .text:0000CC4C .text:0000CC4C loc_CC4C: @ CODE XREF: processpack+10C8j .text:0000CC4C LDR R4, =dword_35F84 @ Load from Memory .text:0000CC50 LDR R3, [R4] @ Load from Memory .text:0000CC54 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0000CC58 BNE loc_CFD8 @ Branch .text:0000CC5C LDR R0, =aPhatbox @ Load from Memory .text:0000CC60 BL sub_26BB0 @ Branch with Link .text:0000CC64 STR R0, [R4] @ Store to Memory .text:0000CC68 .text:0000CC68 loc_CC68: @ CODE XREF: processpack+10B8j .text:0000CC68 LDR R3, =dword_35F84 @ Load from Memory .text:0000CC6C LDR R0, =aDosPhatbox_ini @ Load from Memory .text:0000CC70 LDR R1, [R3] @ Load from Memory .text:0000CC74 LDR R2, =aEnable_zero_re @ Load from Memory .text:0000CC78 MOV R3, R8 @ Rd = Op2 .text:0000CC7C BL xread_ini @ Branch with Link .text:0000CC80 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000CC84 BEQ loc_CF84 @ Branch .text:0000CC88 .text:0000CC88 loc_CC88: @ CODE XREF: processpack+1080j .text:0000CC88 @ processpack+10A8j .text:0000CC88 LDR R3, =dword_35F84 @ Load from Memory .text:0000CC8C LDR R0, =aDosPhatbox_ini @ Load from Memory .text:0000CC90 LDR R1, [R3] @ Load from Memory .text:0000CC94 LDR R2, =aAuto_pong_0 @ Load from Memory .text:0000CC98 MOV R3, R8 @ Rd = Op2 .text:0000CC9C BL xread_ini @ Branch with Link .text:0000CCA0 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000CCA4 BEQ loc_CF30 @ Branch .text:0000CCA8 .text:0000CCA8 loc_CCA8: @ CODE XREF: processpack+102Cj .text:0000CCA8 @ processpack+1054j .text:0000CCA8 LDR R3, =dword_35F84 @ Load from Memory .text:0000CCAC LDR R0, =aDosPhatbox_ini @ Load from Memory .text:0000CCB0 LDR R1, [R3] @ Load from Memory .text:0000CCB4 LDR R2, =aForce_atc @ Load from Memory .text:0000CCB8 MOV R3, R8 @ Rd = Op2 .text:0000CCBC BL xread_ini @ Branch with Link .text:0000CCC0 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000CCC4 BEQ loc_CEDC @ Branch .text:0000CCC8 .text:0000CCC8 loc_CCC8: @ CODE XREF: processpack+FD8j .text:0000CCC8 @ processpack+1000j .text:0000CCC8 LDR R3, =dword_35F84 @ Load from Memory .text:0000CCCC LDR R0, =aDosPhatbox_ini @ Load from Memory .text:0000CCD0 LDR R1, [R3] @ Load from Memory .text:0000CCD4 LDR R2, =aMore_syncs @ Load from Memory .text:0000CCD8 MOV R3, R8 @ Rd = Op2 .text:0000CCDC BL xread_ini @ Branch with Link .text:0000CCE0 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000CCE4 BEQ loc_CE88 @ Branch .text:0000CCE8 .text:0000CCE8 loc_CCE8: @ CODE XREF: processpack+F84j .text:0000CCE8 @ processpack+FACj .text:0000CCE8 LDR R3, =dword_35F84 @ Load from Memory .text:0000CCEC LDR R0, =aDosPhatbox_ini @ Load from Memory .text:0000CCF0 LDR R1, [R3] @ Load from Memory .text:0000CCF4 LDR R2, =aSync_after_ann @ Load from Memory .text:0000CCF8 MOV R3, R8 @ Rd = Op2 .text:0000CCFC BL xread_ini @ Branch with Link .text:0000CD00 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000CD04 BEQ loc_CE34 @ Branch .text:0000CD08 .text:0000CD08 loc_CD08: @ CODE XREF: processpack+F30j .text:0000CD08 @ processpack+F58j .text:0000CD08 LDR R3, =dword_35F84 @ Load from Memory .text:0000CD0C LDR R0, =aDosPhatbox_ini @ Load from Memory .text:0000CD10 LDR R1, [R3] @ Load from Memory .text:0000CD14 LDR R2, =aConvert_track_ @ Load from Memory .text:0000CD18 MOV R3, R8 @ Rd = Op2 .text:0000CD1C BL xread_ini @ Branch with Link .text:0000CD20 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000CD24 BEQ loc_CDE0 @ Branch .text:0000CD28 .text:0000CD28 loc_CD28: @ CODE XREF: processpack+EDCj .text:0000CD28 @ processpack+F04j .text:0000CD28 LDR R4, =dword_35F84 @ Load from Memory .text:0000CD2C LDR R1, =aUc_helper_prog @ Load from Memory .text:0000CD30 LDR R0, [R4] @ Load from Memory .text:0000CD34 BL phat_start_program @ Branch with Link .text:0000CD38 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000CD3C BNE loc_CDD0 @ Branch .text:0000CD40 .text:0000CD40 loc_CD40: @ CODE XREF: processpack+EB4j .text:0000CD40 LDRB R3, [R7,#5] @ Load from Memory .text:0000CD44 TST R3, #2 @ Set cond. codes on Op1 & Op2 .text:0000CD48 BNE loc_CD58 @ Branch .text:0000CD4C .text:0000CD4C loc_CD4C: @ CODE XREF: processpack+EA4j .text:0000CD4C TST R3, #1 @ Set cond. codes on Op1 & Op2 .text:0000CD50 BEQ loc_C780 @ Branch .text:0000CD54 B loc_C978 @ Branch .text:0000CD58 @ --------------------------------------------------------------------------- .text:0000CD58 .text:0000CD58 loc_CD58: @ CODE XREF: processpack+E20j .text:0000CD58 LDR R4, =dword_3DCA8 @ Load from Memory .text:0000CD5C LDR R5, =dword_3DCE8 @ Load from Memory .text:0000CD60 MOV R0, #0xF @ Rd = Op2 .text:0000CD64 MOV R1, R4 @ Rd = Op2 .text:0000CD68 MOV R2, R5 @ Rd = Op2 .text:0000CD6C BL sub_1A838 @ Branch with Link .text:0000CD70 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000CD74 MOV R6, R0 @ Rd = Op2 .text:0000CD78 STR R0, [SP,#0x368+var_350] @ Store to Memory .text:0000CD7C BLE loc_CDC8 @ Branch .text:0000CD80 MOV LR, #0 @ Rd = Op2 .text:0000CD84 STR LR, [R4,R0,LSL#2] @ Store to Memory .text:0000CD88 LDR R3, =dword_45920 @ Load from Memory .text:0000CD8C LDRB R12, [R4] @ Load from Memory .text:0000CD90 LDRB R5, [R5] @ Load from Memory .text:0000CD94 ADD R4, SP, #0x368+var_168 @ Rd = Op1 + Op2 .text:0000CD98 LDR R0, [R3] @ Load from Memory .text:0000CD9C STRB R12, [R4,#0x94] @ Store to Memory .text:0000CDA0 STRB R5, [R4,#0x95] @ Store to Memory .text:0000CDA4 LDR R4, =dword_3DCA4 @ Load from Memory .text:0000CDA8 MOV R1, LR @ Rd = Op2 .text:0000CDAC MOV R2, R8 @ Rd = Op2 .text:0000CDB0 MOV R3, #1 @ Rd = Op2 .text:0000CDB4 STR LR, [R4] @ Store to Memory .text:0000CDB8 .text:0000CDB8 loc_CDB8: @ CODE XREF: processpack+1130j .text:0000CDB8 @ processpack+11D0j .text:0000CDB8 MOV R12, #0x15 @ Rd = Op2 .text:0000CDBC .text:0000CDBC loc_CDBC: @ CODE XREF: processpack+156Cj .text:0000CDBC @ processpack+18D8j ... .text:0000CDBC STR R12, [SP,#0x368+var_368] @ Store to Memory .text:0000CDC0 .text:0000CDC0 loc_CDC0: @ CODE XREF: processpack+1314j .text:0000CDC0 BL rw_packet @ Branch with Link .text:0000CDC4 B loc_C780 @ Branch .text:0000CDC8 @ --------------------------------------------------------------------------- .text:0000CDC8 .text:0000CDC8 loc_CDC8: @ CODE XREF: processpack+E54j .text:0000CDC8 LDRB R3, [R7,#5] @ Load from Memory .text:0000CDCC B loc_CD4C @ Branch .text:0000CDD0 @ --------------------------------------------------------------------------- .text:0000CDD0 .text:0000CDD0 loc_CDD0: @ CODE XREF: processpack+E14j .text:0000CDD0 LDR R0, [R4] @ Load from Memory .text:0000CDD4 LDR R1, =aUc_helper_pr_0 @ Load from Memory .text:0000CDD8 BL phat_start_program @ Branch with Link .text:0000CDDC B loc_CD40 @ Branch .text:0000CDE0 @ --------------------------------------------------------------------------- .text:0000CDE0 .text:0000CDE0 loc_CDE0: @ CODE XREF: processpack+DFCj .text:0000CDE0 LDR R1, =(aGotUtilityHalt+0x1C) @ Load from Memory .text:0000CDE4 MOV R0, R8 @ Rd = Op2 .text:0000CDE8 MOV R2, #3 @ Rd = Op2 .text:0000CDEC BL xstrcmp @ Branch with Link .text:0000CDF0 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000CDF4 BNE loc_CE08 @ Branch .text:0000CDF8 .text:0000CDF8 loc_CDF8: @ CODE XREF: processpack+EF4j .text:0000CDF8 @ processpack+F08j .text:0000CDF8 LDR R3, =dword_35FB4 @ Load from Memory .text:0000CDFC MOV R2, #1 @ Rd = Op2 .text:0000CE00 STR R2, [R3] @ Store to Memory .text:0000CE04 B loc_CD28 @ Branch .text:0000CE08 @ --------------------------------------------------------------------------- .text:0000CE08 .text:0000CE08 loc_CE08: @ CODE XREF: processpack+ECCj .text:0000CE08 LDR R1, =aTrue @ Load from Memory .text:0000CE0C MOV R0, R8 @ Rd = Op2 .text:0000CE10 MOV R2, #5 @ Rd = Op2 .text:0000CE14 BL xstrcmp @ Branch with Link .text:0000CE18 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000CE1C BEQ loc_CDF8 @ Branch .text:0000CE20 MOV R0, R8 @ Rd = Op2 .text:0000CE24 BL sysv_signal_0x0_0xA @ Branch with Link .text:0000CE28 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000CE2C BEQ loc_CD28 @ Branch .text:0000CE30 B loc_CDF8 @ Branch .text:0000CE34 @ --------------------------------------------------------------------------- .text:0000CE34 .text:0000CE34 loc_CE34: @ CODE XREF: processpack+DDCj .text:0000CE34 LDR R1, =(aGotUtilityHalt+0x1C) @ Load from Memory .text:0000CE38 MOV R0, R8 @ Rd = Op2 .text:0000CE3C MOV R2, #3 @ Rd = Op2 .text:0000CE40 BL xstrcmp @ Branch with Link .text:0000CE44 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000CE48 BNE loc_CE5C @ Branch .text:0000CE4C .text:0000CE4C loc_CE4C: @ CODE XREF: processpack+F48j .text:0000CE4C @ processpack+F5Cj .text:0000CE4C LDR R3, =dword_35F88 @ Load from Memory .text:0000CE50 MOV R2, #1 @ Rd = Op2 .text:0000CE54 STR R2, [R3] @ Store to Memory .text:0000CE58 B loc_CD08 @ Branch .text:0000CE5C @ --------------------------------------------------------------------------- .text:0000CE5C .text:0000CE5C loc_CE5C: @ CODE XREF: processpack+F20j .text:0000CE5C LDR R1, =aTrue @ Load from Memory .text:0000CE60 MOV R0, R8 @ Rd = Op2 .text:0000CE64 MOV R2, #5 @ Rd = Op2 .text:0000CE68 BL xstrcmp @ Branch with Link .text:0000CE6C CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000CE70 BEQ loc_CE4C @ Branch .text:0000CE74 MOV R0, R8 @ Rd = Op2 .text:0000CE78 BL sysv_signal_0x0_0xA @ Branch with Link .text:0000CE7C CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000CE80 BEQ loc_CD08 @ Branch .text:0000CE84 B loc_CE4C @ Branch .text:0000CE88 @ --------------------------------------------------------------------------- .text:0000CE88 .text:0000CE88 loc_CE88: @ CODE XREF: processpack+DBCj .text:0000CE88 LDR R1, =(aGotUtilityHalt+0x1C) @ Load from Memory .text:0000CE8C MOV R0, R8 @ Rd = Op2 .text:0000CE90 MOV R2, #3 @ Rd = Op2 .text:0000CE94 BL xstrcmp @ Branch with Link .text:0000CE98 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000CE9C BNE loc_CEB0 @ Branch .text:0000CEA0 .text:0000CEA0 loc_CEA0: @ CODE XREF: processpack+F9Cj .text:0000CEA0 @ processpack+FB0j .text:0000CEA0 LDR R3, =dword_35FB8 @ Load from Memory .text:0000CEA4 MOV R2, #1 @ Rd = Op2 .text:0000CEA8 STR R2, [R3] @ Store to Memory .text:0000CEAC B loc_CCE8 @ Branch .text:0000CEB0 @ --------------------------------------------------------------------------- .text:0000CEB0 .text:0000CEB0 loc_CEB0: @ CODE XREF: processpack+F74j .text:0000CEB0 LDR R1, =aTrue @ Load from Memory .text:0000CEB4 MOV R0, R8 @ Rd = Op2 .text:0000CEB8 MOV R2, #5 @ Rd = Op2 .text:0000CEBC BL xstrcmp @ Branch with Link .text:0000CEC0 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000CEC4 BEQ loc_CEA0 @ Branch .text:0000CEC8 MOV R0, R8 @ Rd = Op2 .text:0000CECC BL sysv_signal_0x0_0xA @ Branch with Link .text:0000CED0 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000CED4 BEQ loc_CCE8 @ Branch .text:0000CED8 B loc_CEA0 @ Branch .text:0000CEDC @ --------------------------------------------------------------------------- .text:0000CEDC .text:0000CEDC loc_CEDC: @ CODE XREF: processpack+D9Cj .text:0000CEDC LDR R1, =(aGotUtilityHalt+0x1C) @ Load from Memory .text:0000CEE0 MOV R0, R8 @ Rd = Op2 .text:0000CEE4 MOV R2, #3 @ Rd = Op2 .text:0000CEE8 BL xstrcmp @ Branch with Link .text:0000CEEC CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000CEF0 BNE loc_CF04 @ Branch .text:0000CEF4 .text:0000CEF4 loc_CEF4: @ CODE XREF: processpack+FF0j .text:0000CEF4 @ processpack+1004j .text:0000CEF4 LDR R3, =dword_35F74 @ Load from Memory .text:0000CEF8 MOV R2, #1 @ Rd = Op2 .text:0000CEFC STR R2, [R3] @ Store to Memory .text:0000CF00 B loc_CCC8 @ Branch .text:0000CF04 @ --------------------------------------------------------------------------- .text:0000CF04 .text:0000CF04 loc_CF04: @ CODE XREF: processpack+FC8j .text:0000CF04 LDR R1, =aTrue @ Load from Memory .text:0000CF08 MOV R0, R8 @ Rd = Op2 .text:0000CF0C MOV R2, #5 @ Rd = Op2 .text:0000CF10 BL xstrcmp @ Branch with Link .text:0000CF14 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000CF18 BEQ loc_CEF4 @ Branch .text:0000CF1C MOV R0, R8 @ Rd = Op2 .text:0000CF20 BL sysv_signal_0x0_0xA @ Branch with Link .text:0000CF24 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000CF28 BEQ loc_CCC8 @ Branch .text:0000CF2C B loc_CEF4 @ Branch .text:0000CF30 @ --------------------------------------------------------------------------- .text:0000CF30 .text:0000CF30 loc_CF30: @ CODE XREF: processpack+D7Cj .text:0000CF30 LDR R1, =(aGotUtilityHalt+0x1C) @ Load from Memory .text:0000CF34 MOV R0, R8 @ Rd = Op2 .text:0000CF38 MOV R2, #3 @ Rd = Op2 .text:0000CF3C BL xstrcmp @ Branch with Link .text:0000CF40 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000CF44 BNE loc_CF58 @ Branch .text:0000CF48 .text:0000CF48 loc_CF48: @ CODE XREF: processpack+1044j .text:0000CF48 @ processpack+1058j .text:0000CF48 LDR R3, =dword_35F78 @ Load from Memory .text:0000CF4C MOV R2, #1 @ Rd = Op2 .text:0000CF50 STR R2, [R3] @ Store to Memory .text:0000CF54 B loc_CCA8 @ Branch .text:0000CF58 @ --------------------------------------------------------------------------- .text:0000CF58 .text:0000CF58 loc_CF58: @ CODE XREF: processpack+101Cj .text:0000CF58 LDR R1, =aTrue @ Load from Memory .text:0000CF5C MOV R0, R8 @ Rd = Op2 .text:0000CF60 MOV R2, #5 @ Rd = Op2 .text:0000CF64 BL xstrcmp @ Branch with Link .text:0000CF68 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000CF6C BEQ loc_CF48 @ Branch .text:0000CF70 MOV R0, R8 @ Rd = Op2 .text:0000CF74 BL sysv_signal_0x0_0xA @ Branch with Link .text:0000CF78 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000CF7C BEQ loc_CCA8 @ Branch .text:0000CF80 B loc_CF48 @ Branch .text:0000CF84 @ --------------------------------------------------------------------------- .text:0000CF84 .text:0000CF84 loc_CF84: @ CODE XREF: processpack+D5Cj .text:0000CF84 LDR R1, =(aGotUtilityHalt+0x1C) @ Load from Memory .text:0000CF88 MOV R0, R8 @ Rd = Op2 .text:0000CF8C MOV R2, #3 @ Rd = Op2 .text:0000CF90 BL xstrcmp @ Branch with Link .text:0000CF94 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000CF98 BNE loc_CFAC @ Branch .text:0000CF9C .text:0000CF9C loc_CF9C: @ CODE XREF: processpack+1098j .text:0000CF9C @ processpack+10ACj .text:0000CF9C LDR R3, =dword_35FE4 @ Load from Memory .text:0000CFA0 MOV R2, #0 @ Rd = Op2 .text:0000CFA4 STR R2, [R3] @ Store to Memory .text:0000CFA8 B loc_CC88 @ Branch .text:0000CFAC @ --------------------------------------------------------------------------- .text:0000CFAC .text:0000CFAC loc_CFAC: @ CODE XREF: processpack+1070j .text:0000CFAC LDR R1, =aTrue @ Load from Memory .text:0000CFB0 MOV R0, R8 @ Rd = Op2 .text:0000CFB4 MOV R2, #5 @ Rd = Op2 .text:0000CFB8 BL xstrcmp @ Branch with Link .text:0000CFBC CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000CFC0 BEQ loc_CF9C @ Branch .text:0000CFC4 MOV R0, R8 @ Rd = Op2 .text:0000CFC8 BL sysv_signal_0x0_0xA @ Branch with Link .text:0000CFCC CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000CFD0 BEQ loc_CC88 @ Branch .text:0000CFD4 B loc_CF9C @ Branch .text:0000CFD8 @ --------------------------------------------------------------------------- .text:0000CFD8 .text:0000CFD8 loc_CFD8: @ CODE XREF: processpack+D30j .text:0000CFD8 MOV R0, #0 @ Rd = Op2 .text:0000CFDC BL check_replacement_prog @ Branch with Link .text:0000CFE0 B loc_CC68 @ Branch .text:0000CFE4 @ --------------------------------------------------------------------------- .text:0000CFE4 .text:0000CFE4 loc_CFE4: @ CODE XREF: processpack+C78j .text:0000CFE4 @ processpack+CB8j ... .text:0000CFE4 MOV R0, R8 @ Rd = Op2 .text:0000CFE8 BL sub_26BB0 @ Branch with Link .text:0000CFEC STR R0, [R10] @ Store to Memory .text:0000CFF0 B loc_CC4C @ Branch .text:0000CFF4 @ --------------------------------------------------------------------------- .text:0000CFF4 .text:0000CFF4 loc_CFF4: @ CODE XREF: processpack+C54j .text:0000CFF4 BL sub_27C54 @ Branch with Link .text:0000CFF8 MOV R3, #0 @ Rd = Op2 .text:0000CFFC STR R3, [R10] @ Store to Memory .text:0000D000 B loc_CB80 @ Branch .text:0000D004 @ --------------------------------------------------------------------------- .text:0000D004 .text:0000D004 plugin_set: @ CODE XREF: processpack+18j .text:0000D004 @ DATA XREF: processpack+30o .text:0000D004 LDR R3, =dword_3DCA4 @ Load from Memory .text:0000D008 LDR R4, =dword_3DCE8 @ Load from Memory .text:0000D00C LDR R1, [R3] @ Load from Memory .text:0000D010 LDR R2, [R4,R1,LSL#2] @ Load from Memory .text:0000D014 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000D018 LDREQB R3, [R7,#1] @ Load from Memory .text:0000D01C BEQ loc_D05C @ Branch .text:0000D020 LDRB R3, [R7,#1] @ Load from Memory .text:0000D024 CMP R2, R3 @ Set cond. codes on Op1 - Op2 .text:0000D028 BEQ loc_D05C @ Branch .text:0000D02C LDR R3, =dword_45920 @ Load from Memory .text:0000D030 LDR R0, [R3] @ Load from Memory .text:0000D034 LDR R3, =dword_3DCA8 @ Load from Memory .text:0000D038 LDRB LR, [R4,R1,LSL#2] @ Load from Memory .text:0000D03C LDRB R12, [R3,R1,LSL#2] @ Load from Memory .text:0000D040 ADD R6, SP, #0x368+var_168 @ Rd = Op1 + Op2 .text:0000D044 ADD R2, SP, #0x368+var_D4 @ Rd = Op1 + Op2 .text:0000D048 MOV R1, #0 @ Rd = Op2 .text:0000D04C MOV R3, #1 @ Rd = Op2 .text:0000D050 STRB R12, [R6,#0x94] @ Store to Memory .text:0000D054 STRB LR, [R6,#0x95] @ Store to Memory .text:0000D058 B loc_CDB8 @ Branch .text:0000D05C @ --------------------------------------------------------------------------- .text:0000D05C .text:0000D05C loc_D05C: @ CODE XREF: processpack+10F4j .text:0000D05C @ processpack+1100j .text:0000D05C ANDS R1, R3, #0xFF @ Rd = Op1 & Op2 .text:0000D060 MOVEQ R3, #0 @ Rd = Op2 .text:0000D064 MOVNE R3, #1 @ Rd = Op2 .text:0000D068 CMP R1, #0xFF @ Set cond. codes on Op1 - Op2 .text:0000D06C MOVEQ R3, #0 @ Rd = Op2 .text:0000D070 ANDNE R3, R3, #1 @ Rd = Op1 & Op2 .text:0000D074 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0000D078 BNE loc_D124 @ Branch .text:0000D07C .text:0000D07C loc_D07C: @ CODE XREF: processpack+1204j .text:0000D07C LDR R5, =dword_3DCA4 @ Load from Memory .text:0000D080 LDR R6, =dword_3DCE8 @ Load from Memory .text:0000D084 LDR R12, [R5] @ Load from Memory .text:0000D088 LDR R3, [R6,R12,LSL#2] @ Load from Memory .text:0000D08C CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0000D090 BNE loc_D0FC @ Branch .text:0000D094 .text:0000D094 loc_D094: @ CODE XREF: processpack+11F8j .text:0000D094 LDR R1, =dword_3DCA8 @ Load from Memory .text:0000D098 ADD R3, R1, R12,LSL#2 @ Rd = Op1 + Op2 .text:0000D09C LDR R2, [R3,#4] @ Load from Memory .text:0000D0A0 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000D0A4 BNE loc_D0C8 @ Branch .text:0000D0A8 LDR R4, =dword_35FEC @ Load from Memory .text:0000D0AC LDR R3, [R4] @ Load from Memory .text:0000D0B0 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0000D0B4 BNE loc_C780 @ Branch .text:0000D0B8 BL sub_157B4 @ Branch with Link .text:0000D0BC .text:0000D0BC loc_D0BC: @ CODE XREF: processpack+1CE4j .text:0000D0BC MOV R3, #1 @ Rd = Op2 .text:0000D0C0 STR R3, [R4] @ Store to Memory .text:0000D0C4 B loc_C780 @ Branch .text:0000D0C8 @ --------------------------------------------------------------------------- .text:0000D0C8 .text:0000D0C8 loc_D0C8: @ CODE XREF: processpack+117Cj .text:0000D0C8 ADD R12, R12, #1 @ Rd = Op1 + Op2 .text:0000D0CC LDRB LR, [R1,R12,LSL#2] @ Load from Memory .text:0000D0D0 LDRB R4, [R6,R12,LSL#2] @ Load from Memory .text:0000D0D4 LDR R3, =dword_45920 @ Load from Memory .text:0000D0D8 STR R12, [R5] @ Store to Memory .text:0000D0DC ADD R5, SP, #0x368+var_168 @ Rd = Op1 + Op2 .text:0000D0E0 STRB LR, [R5,#0x94] @ Store to Memory .text:0000D0E4 STRB R4, [R5,#0x95] @ Store to Memory .text:0000D0E8 LDR R0, [R3] @ Load from Memory .text:0000D0EC ADD R2, SP, #0x368+var_D4 @ Rd = Op1 + Op2 .text:0000D0F0 MOV R1, #0 @ Rd = Op2 .text:0000D0F4 MOV R3, #1 @ Rd = Op2 .text:0000D0F8 B loc_CDB8 @ Branch .text:0000D0FC @ --------------------------------------------------------------------------- .text:0000D0FC .text:0000D0FC loc_D0FC: @ CODE XREF: processpack+1168j .text:0000D0FC ADD R4, SP, #0x368+var_D4 @ Rd = Op1 + Op2 .text:0000D100 LDRB R2, [R7] @ Load from Memory .text:0000D104 LDR R1, =aPwareI @ Load from Memory .text:0000D108 MOV R0, R4 @ Rd = Op2 .text:0000D10C BL xsprintf @ Branch with Link .text:0000D110 MOV R0, R4 @ Rd = Op2 .text:0000D114 MOVL R1, 0xFFFFFFFD .text:0000D118 BL phat_playfile @ Branch with Link .text:0000D11C LDR R12, [R5] @ Load from Memory .text:0000D120 B loc_D094 @ Branch .text:0000D124 @ --------------------------------------------------------------------------- .text:0000D124 .text:0000D124 loc_D124: @ CODE XREF: processpack+1150j .text:0000D124 LDRB R0, [R7] @ Load from Memory .text:0000D128 BL xphatlib_main @ Branch with Link .text:0000D12C B loc_D07C @ Branch .text:0000D130 @ --------------------------------------------------------------------------- .text:0000D130 .text:0000D130 req_tot_trk: @ CODE XREF: processpack+18j .text:0000D130 @ DATA XREF: processpack+5Co .text:0000D130 LDRB R3, [R1] @ Load from Memory .text:0000D134 LDR R2, =debug_level @ Load from Memory .text:0000D138 LDRB R1, [R1,#1] @ Load from Memory .text:0000D13C LDR R0, [R2] @ Load from Memory .text:0000D140 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000D144 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000D148 ADD R6, R1, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000D14C CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000D150 STR R6, [SP,#0x368+var_350] @ Store to Memory .text:0000D154 BLT loc_D1A8 @ Branch .text:0000D158 MOV R0, #0 @ Rd = Op2 .text:0000D15C BL time @ Branch with Link .text:0000D160 LDR R2, =0x51EB851F @ Load from Memory .text:0000D164 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000D168 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000D16C RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000D170 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000D174 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000D178 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000D17C BL call_gettimeofday @ Branch with Link .text:0000D180 MOV R1, R4 @ Rd = Op2 .text:0000D184 MOV R2, R0 @ Rd = Op2 .text:0000D188 LDR R3, =aProcesspack @ Load from Memory .text:0000D18C LDR R0, =logfile_format @ Load from Memory .text:0000D190 BL printf @ Branch with Link .text:0000D194 LDR R1, [SP,#0x368+var_350] @ Load from Memory .text:0000D198 LDR R0, =aGotQueryTotalT @ Load from Memory .text:0000D19C BL printf @ Branch with Link .text:0000D1A0 MOV R0, #0 @ Rd = Op2 .text:0000D1A4 BL sub_257B4 @ Branch with Link .text:0000D1A8 .text:0000D1A8 loc_D1A8: @ CODE XREF: processpack+122Cj .text:0000D1A8 LDR R0, [SP,#0x368+var_350] @ Load from Memory .text:0000D1AC BL phat_numtracks @ Branch with Link .text:0000D1B0 BL sub_166A4 @ Branch with Link .text:0000D1B4 LDR R3, =dword_35FE4 @ Load from Memory .text:0000D1B8 LDR R1, [R3] @ Load from Memory .text:0000D1BC CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000D1C0 MOVNE R2, #0 @ Rd = Op2 .text:0000D1C4 MOVEQ R2, #1 @ Rd = Op2 .text:0000D1C8 CMP R1, #0 @ Set cond. codes on Op1 - Op2 .text:0000D1CC MOVEQ R2, #0 @ Rd = Op2 .text:0000D1D0 ANDNE R2, R2, #1 @ Rd = Op1 & Op2 .text:0000D1D4 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000D1D8 LDR R3, =0x51EB851F @ Load from Memory .text:0000D1DC MOV R6, R0 @ Rd = Op2 .text:0000D1E0 MOVNE R6, #1 @ Rd = Op2 .text:0000D1E4 SMULL R4, R2, R3, R6 @ Signed Multiply long .text:0000D1E8 MOV R4, R6,ASR#31 @ Rd = Op2 .text:0000D1EC RSB R4, R4, R2,ASR#5 @ Rd = Op2 - Op1 .text:0000D1F0 STR R0, [SP,#0x368+var_350] @ Store to Memory .text:0000D1F4 LDR R3, =dword_45920 @ Load from Memory .text:0000D1F8 STRNE R6, [SP,#0x368+var_350] @ Store to Memory .text:0000D1FC ADD R12, R4, R4,LSL#2 @ Rd = Op1 + Op2 .text:0000D200 ADD R12, R12, R12,LSL#2 @ Rd = Op1 + Op2 .text:0000D204 LDRB R5, [R7,#1] @ Load from Memory .text:0000D208 LDRB LR, [R7] @ Load from Memory .text:0000D20C SUB R12, R6, R12,LSL#2 @ Rd = Op1 - Op2 .text:0000D210 LDR R0, [R3] @ Load from Memory .text:0000D214 ADD R6, SP, #0x368+var_168 @ Rd = Op1 + Op2 .text:0000D218 STRB R12, [R6,#0x95] @ Store to Memory .text:0000D21C ADD R2, SP, #0x368+var_D4 @ Rd = Op1 + Op2 .text:0000D220 MOV R12, #0x7C @ '|' @ Rd = Op2 .text:0000D224 MOV R1, #0 @ Rd = Op2 .text:0000D228 MOV R3, #1 @ Rd = Op2 .text:0000D22C STRB LR, [R6,#0x96] @ Store to Memory .text:0000D230 STRB R5, [R6,#0x97] @ Store to Memory .text:0000D234 STR R12, [SP,#0x368+var_368] @ Store to Memory .text:0000D238 STRB R4, [R6,#0x94] @ Store to Memory .text:0000D23C B loc_CDC0 @ Branch .text:0000D23C @ --------------------------------------------------------------------------- .text:0000D240 off_D240: .long debug_level @ DATA XREF: processpack:sesinfor .text:0000D240 @ processpack+4E8r ... .text:0000D244 dword_D244: .long 0x51EB851F @ DATA XREF: processpack+3F4r .text:0000D244 @ processpack+48Cr ... .text:0000D248 off_D248: .long aProcesspack @ DATA XREF: processpack+41Cr .text:0000D248 @ processpack+4B4r ... .text:0000D248 @ "processpack" .text:0000D24C off_D24C: .long logfile_format @ DATA XREF: processpack+420r .text:0000D24C @ processpack+4B8r ... .text:0000D24C @ "%02li.%02li:51d :%-10.10s: " .text:0000D250 off_D250: .long aGotSessionMode @ DATA XREF: processpack+438r .text:0000D250 @ "Got Session: mode %i, run type %i, lot "... .text:0000D254 off_D254: .long aInitializing1_ @ DATA XREF: processpack+4C0r .text:0000D254 @ "Initializing 1.2 DAC" .text:0000D258 off_D258: .long aSwappingChanne @ DATA XREF: processpack+534r .text:0000D258 @ "Swapping channels via board code" .text:0000D25C off_D25C: .long aEnablingOldIsp @ DATA XREF: processpack+5A0r .text:0000D25C @ "Enabling old ISP via board code" .text:0000D260 off_D260: .long dword_35F3C @ DATA XREF: processpack:loc_C4D8r .text:0000D264 off_D264: .long aWillAutoStopAt @ DATA XREF: processpack+640r .text:0000D264 @ "Will auto-stop at eod / random track ch"... .text:0000D268 off_D268: .long aSsaHeadUnit @ DATA XREF: processpack+6B8r .text:0000D268 @ "SSA head unit" .text:0000D26C off_D26C: .long dword_35F98 @ DATA XREF: processpack+6CCr .text:0000D270 off_D270: .long aExtraHelpEnabl @ DATA XREF: processpack+730r .text:0000D270 @ "Extra help enabled" .text:0000D274 off_D274: .long dword_35F54 @ DATA XREF: processpack:loc_C668r .text:0000D278 off_D278: .long aForceMagazineR @ DATA XREF: processpack+7A4r .text:0000D278 @ "Force magazine random" .text:0000D27C off_D27C: .long dword_35F84 @ DATA XREF: processpack:loc_C6E8r .text:0000D27C @ processpack+C38r ... .text:0000D280 off_D280: .long aDosPhatbox_ini @ DATA XREF: processpack+7CCr .text:0000D280 @ processpack:loc_CB80r ... .text:0000D280 @ "/dos/phatbox.ini" .text:0000D284 off_D284: .long aForce_mag_rand @ DATA XREF: processpack+7D0r .text:0000D284 @ "force_mag_random" .text:0000D288 off_D288: .long dword_35FE0 @ DATA XREF: processpack+7F0r .text:0000D28C off_D28C: .long aNonTextHeadUni @ DATA XREF: processpack+844r .text:0000D28C @ "Non-text head unit - will not load text"... .text:0000D290 off_D290: .long aGotUtilityHalt+0x1C @ DATA XREF: processpack:loc_C794r .text:0000D290 @ processpack:loc_CDE0r ... .text:0000D294 off_D294: .long aTrue @ DATA XREF: processpack:loc_C7BCr .text:0000D294 @ processpack:loc_CE08r ... .text:0000D294 @ "true" .text:0000D298 off_D298: .long aArtistPlayMode @ DATA XREF: processpack+90Cr .text:0000D298 @ "Artist play mode" .text:0000D29C off_D29C: .long aAlbumPlayMode @ DATA XREF: processpack+978r .text:0000D29C @ "Album play mode" .text:0000D2A0 off_D2A0: .long aGenrePlayMode @ DATA XREF: processpack+9DCr .text:0000D2A0 @ "Genre play mode" .text:0000D2A4 off_D2A4: .long aGotReqSettings @ DATA XREF: processpack+A40r .text:0000D2A4 @ "Got Req Settings, sending settings" .text:0000D2A8 off_D2A8: .long aGotSettings @ DATA XREF: processpack+AA4r .text:0000D2A8 @ "Got Settings" .text:0000D2AC off_D2AC: .long aEnablingAutoPo @ DATA XREF: processpack+B08r .text:0000D2AC @ "Enabling auto-pong" .text:0000D2B0 off_D2B0: .long dword_35F78 @ DATA XREF: processpack:loc_CA44r .text:0000D2B0 @ processpack:loc_CF48r .text:0000D2B4 off_D2B4: .long dword_35F74 @ DATA XREF: processpack:loc_CA6Cr .text:0000D2B4 @ processpack:loc_CEF4r .text:0000D2B8 off_D2B8: .long aEnablingForceA @ DATA XREF: processpack+B88r .text:0000D2B8 @ "Enabling force ATC" .text:0000D2BC off_D2BC: .long aGotUcId @ DATA XREF: processpack+BE8r .text:0000D2BC @ "Got uC ID" .text:0000D2C0 off_D2C0: .long aFw_02x02x_I_02 @ DATA XREF: processpack+C10r .text:0000D2C0 @ "fw.%02x%02x.%i.%02x%02x" .text:0000D2C4 off_D2C4: .long dword_35F9C @ DATA XREF: processpack+C28r .text:0000D2C8 off_D2C8: .long dword_35FA0 @ DATA XREF: processpack+C30r .text:0000D2CC off_D2CC: .long dword_35FA4 @ DATA XREF: processpack+C48r .text:0000D2D0 off_D2D0: .long aFw_02x02x__02x @ DATA XREF: processpack+C8Cr .text:0000D2D0 @ "fw.%02x%02x.*.%02x%02x" .text:0000D2D4 off_D2D4: .long aFw_02x02x_I @ DATA XREF: processpack+CC8r .text:0000D2D4 @ "fw.%02x%02x.%i" .text:0000D2D8 off_D2D8: .long aFw_02x02x @ DATA XREF: processpack+CFCr .text:0000D2D8 @ "fw.%02x%02x" .text:0000D2DC off_D2DC: .long aPhatbox @ DATA XREF: processpack+D34r .text:0000D2DC @ "Phatbox" .text:0000D2E0 off_D2E0: .long aEnable_zero_re @ DATA XREF: processpack+D4Cr .text:0000D2E0 @ "enable_zero_response" .text:0000D2E4 off_D2E4: .long aAuto_pong_0 @ DATA XREF: processpack+D6Cr .text:0000D2E4 @ "auto_pong" .text:0000D2E8 off_D2E8: .long aForce_atc @ DATA XREF: processpack+D8Cr .text:0000D2E8 @ "force_atc" .text:0000D2EC off_D2EC: .long aMore_syncs @ DATA XREF: processpack+DACr .text:0000D2EC @ "more_syncs" .text:0000D2F0 off_D2F0: .long aSync_after_ann @ DATA XREF: processpack+DCCr .text:0000D2F0 @ "sync_after_announce" .text:0000D2F4 off_D2F4: .long aConvert_track_ @ DATA XREF: processpack+DECr .text:0000D2F4 @ "convert_track_xx00" .text:0000D2F8 off_D2F8: .long aUc_helper_prog @ DATA XREF: processpack+E04r .text:0000D2F8 @ "uc_helper_prog" .text:0000D2FC off_D2FC: .long dword_3DCA8 @ DATA XREF: processpack:loc_CD58r .text:0000D2FC @ processpack+110Cr ... .text:0000D300 off_D300: .long dword_3DCE8 @ DATA XREF: processpack+E34r .text:0000D300 @ processpack+10E0r ... .text:0000D304 off_D304: .long dword_3DCA4 @ DATA XREF: processpack+E7Cr .text:0000D304 @ processpack:plugin_setr ... .text:0000D308 off_D308: .long aUc_helper_pr_0 @ DATA XREF: processpack+EACr .text:0000D308 @ "uc_helper_prog2" .text:0000D30C off_D30C: .long dword_35FB4 @ DATA XREF: processpack:loc_CDF8r .text:0000D310 off_D310: .long dword_35F88 @ DATA XREF: processpack:loc_CE4Cr .text:0000D314 off_D314: .long dword_35FB8 @ DATA XREF: processpack:loc_CEA0r .text:0000D318 off_D318: .long dword_35FEC @ DATA XREF: processpack+1180r .text:0000D31C off_D31C: .long aPwareI @ DATA XREF: processpack+11DCr .text:0000D31C @ "PWARE%i" .text:0000D320 off_D320: .long aGotQueryTotalT @ DATA XREF: processpack+1270r .text:0000D320 @ "Got Query total tracks %i\n" .text:0000D324 off_D324: .long aGotQueryTotalD @ DATA XREF: processpack+1500r .text:0000D324 @ "Got Query total disc" .text:0000D328 off_D328: .long aGotRequestTrac @ DATA XREF: processpack+15ECr .text:0000D328 @ "Got Request track length of %i/%i\n" .text:0000D32C dword_D32C: .long 0x88888889 @ DATA XREF: processpack+1650r .text:0000D330 off_D330: .long aWritingTrackLe @ DATA XREF: processpack+16E4r .text:0000D330 @ "Writing track length of %i\n" .text:0000D334 off_D334: .long dword_35FE4 @ DATA XREF: processpack:loc_CF9Cr .text:0000D334 @ processpack+128Cr ... .text:0000D338 off_D338: .long aGotPlayIII @ DATA XREF: processpack+1848r .text:0000D338 @ "Got Play %i/%i/%i\n" .text:0000D33C off_D33C: .long aErrorDiskTrack @ DATA XREF: processpack+18B0r .text:0000D33C @ "ERROR: Disk/Track out of range!!!!" .text:0000D340 off_D340: .long aGotStop @ DATA XREF: processpack+1994r .text:0000D340 @ "Got Stop" .text:0000D344 off_D344: .long aGotRepeatTrack @ DATA XREF: processpack+1A50r .text:0000D344 @ "Got Repeat Track" .text:0000D348 off_D348: .long dword_35F4C @ DATA XREF: processpack+1908r .text:0000D348 @ processpack:loc_D990r .text:0000D34C off_D34C: .long aGotRepeatDisk @ DATA XREF: processpack+1ABCr .text:0000D34C @ "Got Repeat Disk" .text:0000D350 off_D350: .long aGotRepeatOff @ DATA XREF: processpack+1B20r .text:0000D350 @ "Got Repeat Off" .text:0000D354 off_D354: .long aGotBeginSeekI @ DATA XREF: processpack+1B88r .text:0000D354 @ "Got Begin Seek %i\n" .text:0000D358 off_D358: .long aDosTtsBeep3_wa @ DATA XREF: processpack+1C00r .text:0000D358 @ "/dos/tts/beep3.wav" .text:0000D35C off_D35C: .long aSentBeepStart @ DATA XREF: processpack+1C64r .text:0000D35C @ "Sent beep start" .text:0000D360 off_D360: .long aDosTtsBeep4_wa @ DATA XREF: processpack+1CB8r .text:0000D360 @ "/dos/tts/beep4.wav" .text:0000D364 off_D364: .long aDosTtsBeep5_wa @ DATA XREF: processpack+1D68r .text:0000D364 @ "/dos/tts/beep5.wav" .text:0000D368 off_D368: .long aGotEndSeek @ DATA XREF: processpack+1DE4r .text:0000D368 @ "Got End Seek" .text:0000D36C off_D36C: .long aGotAudioIdII @ DATA XREF: processpack+1F18r .text:0000D36C @ "Got Audio ID - %i/%i\n" .text:0000D370 off_D370: .long dword_35FE8 @ DATA XREF: processpack:loc_D68Cr .text:0000D370 @ processpack:loc_DAE8r ... .text:0000D374 off_D374: .long dword_45920 @ DATA XREF: processpack+E60r .text:0000D374 @ processpack+1104r ... .text:0000D378 off_D378: .long dword_35F94 @ DATA XREF: processpack+1790r .text:0000D378 @ processpack+1F74r .text:0000D37C off_D37C: .long aGotMarkTrackII @ DATA XREF: processpack+200Cr .text:0000D37C @ "Got Mark Track %i/%i, type %i\n" .text:0000D380 @ char *off_D380 .text:0000D380 off_D380: .long aDosDataMarkedt @ DATA XREF: processpack+2048r .text:0000D380 @ "/dos/data/markedtracks.txt" .text:0000D384 @ char *mode .text:0000D384 mode: .long aA @ DATA XREF: processpack+204Cr .text:0000D384 @ "a" .text:0000D388 off_D388: .long play_mode_0x34 @ DATA XREF: processpack+5C0r .text:0000D388 @ processpack+208Cr .text:0000D38C off_D38C: .long aIIISI @ DATA XREF: processpack+20A4r .text:0000D38C @ "%i %i %i %s %i\n" .text:0000D390 off_D390: .long aGotRandomOn @ DATA XREF: processpack+2114r .text:0000D390 @ "Got Random On" .text:0000D394 off_D394: .long aGotMagRandomOn @ DATA XREF: processpack+21D0r .text:0000D394 @ "Got Mag Random On" .text:0000D398 off_D398: .long aGotRandomPress @ DATA XREF: processpack+2264r .text:0000D398 @ "Got Random Press" .text:0000D39C off_D39C: .long dword_35F6C @ DATA XREF: processpack:loc_C6DCr .text:0000D39C @ processpack:loc_C7ACr ... .text:0000D3A0 off_D3A0: .long aGotMagRandomPr @ DATA XREF: processpack+2358r .text:0000D3A0 @ "Got Mag Random Press" .text:0000D3A4 off_D3A4: .long dword_45840 @ DATA XREF: processpack+17ECr .text:0000D3A4 @ processpack+1904r ... .text:0000D3A8 dword_D3A8: .long 0x51EB851F @ DATA XREF: processpack+14CCr .text:0000D3A8 @ processpack+1514r ... .text:0000D3AC off_D3AC: .long aProcesspack @ DATA XREF: processpack+14F4r .text:0000D3AC @ processpack+15CCr ... .text:0000D3AC @ "processpack" .text:0000D3B0 off_D3B0: .long logfile_format @ DATA XREF: processpack+14F8r .text:0000D3B0 @ processpack+15D0r ... .text:0000D3B0 @ "%02li.%02li:51d :%-10.10s: " .text:0000D3B4 off_D3B4: .long aGotRandomForwa @ DATA XREF: processpack+2430r .text:0000D3B4 @ "Got Random Forward" .text:0000D3B8 off_D3B8: .long dword_35F5C @ DATA XREF: processpack:playr .text:0000D3B8 @ processpack:loc_D8CCr ... .text:0000D3BC off_D3BC: .long track_offset @ DATA XREF: processpack:loc_C578r .text:0000D3BC @ processpack:loc_E1B8r ... .text:0000D3C0 off_D3C0: .long dword_35F80 @ DATA XREF: processpack+1768r .text:0000D3C0 @ processpack:loc_D8DCr ... .text:0000D3C4 off_D3C4: .long dword_35F50 @ DATA XREF: processpack+178Cr .text:0000D3C4 @ processpack+19CCr ... .text:0000D3C8 off_D3C8: .long dword_35F8C @ DATA XREF: processpack+177Cr .text:0000D3C8 @ processpack+19B8r ... .text:0000D3CC off_D3CC: .long dword_35F90 @ DATA XREF: processpack+1780r .text:0000D3CC @ processpack+19C8r ... .text:0000D3D0 off_D3D0: .long disk_num @ DATA XREF: processpack+17ACr .text:0000D3D0 @ processpack:loc_D820r ... .text:0000D3D4 off_D3D4: .long track_num @ DATA XREF: processpack+17D0r .text:0000D3D4 @ processpack+18FCr ... .text:0000D3D8 off_D3D8: .long debug_level @ DATA XREF: processpack:q_tot_dskr .text:0000D3D8 @ processpack+1588r ... .text:0000D3DC @ --------------------------------------------------------------------------- .text:0000D3DC .text:0000D3DC q_tot_dsk: @ CODE XREF: processpack+18j .text:0000D3DC @ DATA XREF: processpack+60o .text:0000D3DC LDR R3, =debug_level @ Load from Memory .text:0000D3E0 LDR R2, [R3] @ Load from Memory .text:0000D3E4 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000D3E8 BLT loc_D438 @ Branch .text:0000D3EC MOV R0, #0 @ Rd = Op2 .text:0000D3F0 BL time @ Branch with Link .text:0000D3F4 LDR R2, =0x51EB851F @ Load from Memory .text:0000D3F8 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000D3FC MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000D400 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000D404 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000D408 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000D40C SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000D410 BL call_gettimeofday @ Branch with Link .text:0000D414 MOV R1, R4 @ Rd = Op2 .text:0000D418 MOV R2, R0 @ Rd = Op2 .text:0000D41C LDR R3, =aProcesspack @ Load from Memory .text:0000D420 LDR R0, =logfile_format @ Load from Memory .text:0000D424 BL printf @ Branch with Link .text:0000D428 LDR R0, =aGotQueryTotalD @ Load from Memory .text:0000D42C BL xdebug_out @ Branch with Link .text:0000D430 MOV R0, #0 @ Rd = Op2 .text:0000D434 BL sub_257B4 @ Branch with Link .text:0000D438 .text:0000D438 loc_D438: @ CODE XREF: processpack+14C0j .text:0000D438 BL phat_numdiscs @ Branch with Link .text:0000D43C LDR R5, =0x51EB851F @ Load from Memory .text:0000D440 SMULL R4, R3, R5, R0 @ Signed Multiply long .text:0000D444 MOV R0, R0,ASR#31 @ Rd = Op2 .text:0000D448 RSB R0, R0, R3,ASR#5 @ Rd = Op2 - Op1 .text:0000D44C ADD R6, SP, #0x368+var_168 @ Rd = Op1 + Op2 .text:0000D450 STRB R0, [R6,#0x94] @ Store to Memory .text:0000D454 BL phat_numdiscs @ Branch with Link .text:0000D458 SMULL R1, R2, R5, R0 @ Signed Multiply long .text:0000D45C MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000D460 RSB R3, R3, R2,ASR#5 @ Rd = Op2 - Op1 .text:0000D464 LDR R2, =dword_45920 @ Load from Memory .text:0000D468 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000D46C MOV R4, R0 @ Rd = Op2 .text:0000D470 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000D474 LDR R0, [R2] @ Load from Memory .text:0000D478 SUB R4, R4, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000D47C ADD R5, SP, #0x368+var_168 @ Rd = Op1 + Op2 .text:0000D480 ADD R2, SP, #0x368+var_D4 @ Rd = Op1 + Op2 .text:0000D484 MOV R1, #0 @ Rd = Op2 .text:0000D488 MOV R3, #1 @ Rd = Op2 .text:0000D48C MOV R12, #0x7D @ '}' @ Rd = Op2 .text:0000D490 STRB R4, [R5,#0x95] @ Store to Memory .text:0000D494 B loc_CDBC @ Branch .text:0000D498 @ --------------------------------------------------------------------------- .text:0000D498 .text:0000D498 q_track_len: @ CODE XREF: processpack+18j .text:0000D498 @ DATA XREF: processpack+64o .text:0000D498 LDRB R3, [R1] @ Load from Memory .text:0000D49C LDRB R0, [R1,#1] @ Load from Memory .text:0000D4A0 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000D4A4 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000D4A8 ADD R0, R0, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000D4AC BL sub_166EC @ Branch with Link .text:0000D4B0 LDR R10, =debug_level @ Load from Memory .text:0000D4B4 LDR R3, [R10] @ Load from Memory .text:0000D4B8 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0000D4BC MOV R5, R0 @ Rd = Op2 .text:0000D4C0 BLT loc_D528 @ Branch .text:0000D4C4 MOV R0, #0 @ Rd = Op2 .text:0000D4C8 BL time @ Branch with Link .text:0000D4CC LDR R2, =0x51EB851F @ Load from Memory .text:0000D4D0 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000D4D4 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000D4D8 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000D4DC ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000D4E0 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000D4E4 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000D4E8 BL call_gettimeofday @ Branch with Link .text:0000D4EC MOV R1, R4 @ Rd = Op2 .text:0000D4F0 MOV R2, R0 @ Rd = Op2 .text:0000D4F4 LDR R3, =aProcesspack @ Load from Memory .text:0000D4F8 LDR R0, =logfile_format @ Load from Memory .text:0000D4FC BL printf @ Branch with Link .text:0000D500 LDRB R3, [R7,#2] @ Load from Memory .text:0000D504 LDRB R1, [R7,#3] @ Load from Memory .text:0000D508 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000D50C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000D510 ADD R1, R1, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000D514 LDR R0, =aGotRequestTrac @ Load from Memory .text:0000D518 MOV R2, R5 @ Rd = Op2 .text:0000D51C BL printf @ Branch with Link .text:0000D520 MOV R0, #0 @ Rd = Op2 .text:0000D524 BL sub_257B4 @ Branch with Link .text:0000D528 .text:0000D528 loc_D528: @ CODE XREF: processpack+1598j .text:0000D528 LDRB R3, [R7,#2] @ Load from Memory .text:0000D52C LDRB R0, [R7,#3] @ Load from Memory .text:0000D530 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000D534 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000D538 ADD R0, R0, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000D53C MOV R1, R5 @ Rd = Op2 .text:0000D540 BL phat_duration @ Branch with Link .text:0000D544 LDRB R1, [R7,#3] @ Load from Memory .text:0000D548 LDRB R3, [R7] @ Load from Memory .text:0000D54C LDRB R2, [R7,#1] @ Load from Memory .text:0000D550 MOV R6, R0 @ Rd = Op2 .text:0000D554 LDRB R0, [R7,#2] @ Load from Memory .text:0000D558 ADD R4, SP, #0x368+var_168 @ Rd = Op1 + Op2 .text:0000D55C CMP R6, #0 @ Set cond. codes on Op1 - Op2 .text:0000D560 STRB R3, [R4,#0x94] @ Store to Memory .text:0000D564 STRB R2, [R4,#0x95] @ Store to Memory .text:0000D568 STR R6, [SP,#0x368+var_350] @ Store to Memory .text:0000D56C STRB R0, [R4,#0x96] @ Store to Memory .text:0000D570 STRB R1, [R4,#0x97] @ Store to Memory .text:0000D574 BLE loc_D620 @ Branch .text:0000D578 LDR R3, =0x88888889 @ Load from Memory .text:0000D57C SMULL R5, R2, R3, R6 @ Signed Multiply long .text:0000D580 MOV R1, R6,ASR#31 @ Rd = Op2 .text:0000D584 ADD R2, R2, R6 @ Rd = Op1 + Op2 .text:0000D588 RSB R1, R1, R2,ASR#5 @ Rd = Op2 - Op1 .text:0000D58C RSB R3, R1, R1,LSL#4 @ Rd = Op2 - Op1 .text:0000D590 SUB R3, R6, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000D594 STRB R3, [R4,#0x99] @ Store to Memory .text:0000D598 STRB R1, [R4,#0x98] @ Store to Memory .text:0000D59C .text:0000D59C loc_D59C: @ CODE XREF: processpack+171Cj .text:0000D59C @ processpack+1750j .text:0000D59C LDR R3, =dword_45920 @ Load from Memory .text:0000D5A0 ADD R2, SP, #0x368+var_D4 @ Rd = Op1 + Op2 .text:0000D5A4 LDR R0, [R3] @ Load from Memory .text:0000D5A8 MOV R12, #0x7E @ '~' @ Rd = Op2 .text:0000D5AC MOV R3, #1 @ Rd = Op2 .text:0000D5B0 MOV R1, #0 @ Rd = Op2 .text:0000D5B4 STR R12, [SP,#0x368+var_368] @ Store to Memory .text:0000D5B8 BL rw_packet @ Branch with Link .text:0000D5BC LDR R3, =debug_level @ Load from Memory .text:0000D5C0 LDR R2, [R3] @ Load from Memory .text:0000D5C4 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000D5C8 BLT loc_C780 @ Branch .text:0000D5CC MOV R0, #0 @ Rd = Op2 .text:0000D5D0 BL time @ Branch with Link .text:0000D5D4 LDR R2, =0x51EB851F @ Load from Memory .text:0000D5D8 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000D5DC MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000D5E0 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000D5E4 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000D5E8 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000D5EC SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000D5F0 BL call_gettimeofday @ Branch with Link .text:0000D5F4 MOV R1, R4 @ Rd = Op2 .text:0000D5F8 MOV R2, R0 @ Rd = Op2 .text:0000D5FC LDR R3, =aProcesspack @ Load from Memory .text:0000D600 LDR R0, =logfile_format @ Load from Memory .text:0000D604 BL printf @ Branch with Link .text:0000D608 LDR R1, [SP,#0x368+var_350] @ Load from Memory .text:0000D60C LDR R0, =aWritingTrackLe @ Load from Memory .text:0000D610 .text:0000D610 loc_D610: @ CODE XREF: processpack+2CB0j .text:0000D610 @ processpack+2E60j ... .text:0000D610 BL printf @ Branch with Link .text:0000D614 .text:0000D614 loc_D614: @ CODE XREF: processpack+1C6Cj .text:0000D614 @ processpack+3A20j ... .text:0000D614 MOV R0, #0 @ Rd = Op2 .text:0000D618 .text:0000D618 loc_D618: @ CODE XREF: processpack+3D70j .text:0000D618 BL sub_257B4 @ Branch with Link .text:0000D61C B loc_C780 @ Branch .text:0000D620 @ --------------------------------------------------------------------------- .text:0000D620 .text:0000D620 loc_D620: @ CODE XREF: processpack+164Cj .text:0000D620 LDR R3, =dword_35FE4 @ Load from Memory .text:0000D624 LDR R4, [R3] @ Load from Memory .text:0000D628 CMP R4, #0 @ Set cond. codes on Op1 - Op2 .text:0000D62C BEQ loc_D648 @ Branch .text:0000D630 .text:0000D630 loc_D630: @ CODE XREF: processpack+1740j .text:0000D630 ADD R6, SP, #0x368+var_168 @ Rd = Op1 + Op2 .text:0000D634 MOVL R3, 0xFFFFFFFF .text:0000D638 MOV R2, #0x3B @ ';' @ Rd = Op2 .text:0000D63C STRB R3, [R6,#0x98] @ Store to Memory .text:0000D640 STRB R2, [R6,#0x99] @ Store to Memory .text:0000D644 B loc_D59C @ Branch .text:0000D648 @ --------------------------------------------------------------------------- .text:0000D648 .text:0000D648 loc_D648: @ CODE XREF: processpack+1704j .text:0000D648 ADD R0, R0, R0,LSL#2 @ Rd = Op1 + Op2 .text:0000D64C ADD R0, R0, R0,LSL#2 @ Rd = Op1 + Op2 .text:0000D650 ADD R0, R1, R0,LSL#2 @ Rd = Op1 + Op2 .text:0000D654 MOV R1, R5 @ Rd = Op2 .text:0000D658 BL phat_filename @ Branch with Link .text:0000D65C ADD R1, SP, #0x368+var_14C @ Rd = Op1 + Op2 .text:0000D660 BL stat @ Branch with Link .text:0000D664 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000D668 BEQ loc_D630 @ Branch .text:0000D66C ADD R1, SP, #0x368+var_168 @ Rd = Op1 + Op2 .text:0000D670 STRB R4, [R1,#0x99] @ Store to Memory .text:0000D674 STRB R4, [R1,#0x98] @ Store to Memory .text:0000D678 B loc_D59C @ Branch .text:0000D67C @ --------------------------------------------------------------------------- .text:0000D67C .text:0000D67C play: @ CODE XREF: processpack+18j .text:0000D67C @ DATA XREF: processpack+9Co .text:0000D67C LDR R3, =dword_35F5C @ Load from Memory .text:0000D680 LDR R2, [R3] @ Load from Memory .text:0000D684 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000D688 BNE loc_D860 @ Branch .text:0000D68C .text:0000D68C loc_D68C: @ CODE XREF: processpack+1944j .text:0000D68C LDR R3, =dword_35FE8 @ Load from Memory .text:0000D690 LDR R2, =dword_35F80 @ Load from Memory .text:0000D694 MOV R5, #0 @ Rd = Op2 .text:0000D698 MOVL R1, 0xFFFFFFFF .text:0000D69C STR R1, [R3] @ Store to Memory .text:0000D6A0 STR R5, [R2] @ Store to Memory .text:0000D6A4 LDR R3, =dword_35F8C @ Load from Memory .text:0000D6A8 LDR R2, =dword_35F90 @ Load from Memory .text:0000D6AC STR R5, [R3] @ Store to Memory .text:0000D6B0 STR R5, [R2] @ Store to Memory .text:0000D6B4 LDR R3, =dword_35F50 @ Load from Memory .text:0000D6B8 LDR R2, =dword_35F94 @ Load from Memory .text:0000D6BC STR R5, [R3] @ Store to Memory .text:0000D6C0 STR R5, [R2] @ Store to Memory .text:0000D6C4 LDRB R3, [R7,#2] @ Load from Memory .text:0000D6C8 LDRB R2, [R7,#3] @ Load from Memory .text:0000D6CC ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000D6D0 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000D6D4 LDR R10, =disk_num @ Load from Memory .text:0000D6D8 ADD R2, R2, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000D6DC STR R2, [R10] @ Store to Memory .text:0000D6E0 LDRB R3, [R7] @ Load from Memory .text:0000D6E4 LDRB R0, [R7,#1] @ Load from Memory .text:0000D6E8 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000D6EC ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000D6F0 ADD R0, R0, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000D6F4 BL sub_166EC @ Branch with Link .text:0000D6F8 LDR R9, =track_num @ Load from Memory .text:0000D6FC STR R0, [R9] @ Store to Memory .text:0000D700 LDR R8, =debug_level @ Load from Memory .text:0000D704 LDRB R3, [R7,#4] @ Load from Memory .text:0000D708 LDRB R2, [R7,#5] @ Load from Memory .text:0000D70C LDR R1, [R8] @ Load from Memory .text:0000D710 RSB R3, R3, R3,LSL#4 @ Rd = Op2 - Op1 .text:0000D714 LDR R6, =dword_45840 @ Load from Memory .text:0000D718 ADD R2, R2, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000D71C CMP R1, R5 @ Set cond. codes on Op1 - Op2 .text:0000D720 STR R2, [R6] @ Store to Memory .text:0000D724 BLT loc_D780 @ Branch .text:0000D728 MOV R0, R5 @ Rd = Op2 .text:0000D72C BL time @ Branch with Link .text:0000D730 LDR R2, =0x51EB851F @ Load from Memory .text:0000D734 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000D738 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000D73C RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000D740 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000D744 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000D748 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000D74C BL call_gettimeofday @ Branch with Link .text:0000D750 MOV R1, R4 @ Rd = Op2 .text:0000D754 MOV R2, R0 @ Rd = Op2 .text:0000D758 LDR R3, =aProcesspack @ Load from Memory .text:0000D75C LDR R0, =logfile_format @ Load from Memory .text:0000D760 BL printf @ Branch with Link .text:0000D764 LDR R3, [R6] @ Load from Memory .text:0000D768 LDR R1, [R10] @ Load from Memory .text:0000D76C LDR R2, [R9] @ Load from Memory .text:0000D770 LDR R0, =aGotPlayIII @ Load from Memory .text:0000D774 BL printf @ Branch with Link .text:0000D778 MOV R0, R5 @ Rd = Op2 .text:0000D77C BL sub_257B4 @ Branch with Link .text:0000D780 .text:0000D780 loc_D780: @ CODE XREF: processpack+17FCj .text:0000D780 BL phat_numdiscs @ Branch with Link .text:0000D784 LDR R1, [R10] @ Load from Memory .text:0000D788 CMP R1, R0 @ Set cond. codes on Op1 - Op2 .text:0000D78C BLE loc_D804 @ Branch .text:0000D790 .text:0000D790 loc_D790: @ CODE XREF: processpack+18F4j .text:0000D790 LDR R3, [R8] @ Load from Memory .text:0000D794 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0000D798 BLT loc_D7E8 @ Branch .text:0000D79C MOV R0, R5 @ Rd = Op2 .text:0000D7A0 BL time @ Branch with Link .text:0000D7A4 LDR R2, =0x51EB851F @ Load from Memory .text:0000D7A8 SMULL R6, R1, R2, R0 @ Signed Multiply long .text:0000D7AC MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000D7B0 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000D7B4 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000D7B8 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000D7BC SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000D7C0 BL call_gettimeofday @ Branch with Link .text:0000D7C4 MOV R1, R4 @ Rd = Op2 .text:0000D7C8 MOV R2, R0 @ Rd = Op2 .text:0000D7CC LDR R3, =aProcesspack @ Load from Memory .text:0000D7D0 LDR R0, =logfile_format @ Load from Memory .text:0000D7D4 BL printf @ Branch with Link .text:0000D7D8 LDR R0, =aErrorDiskTrack @ Load from Memory .text:0000D7DC BL xdebug_out @ Branch with Link .text:0000D7E0 MOV R0, R5 @ Rd = Op2 .text:0000D7E4 BL sub_257B4 @ Branch with Link .text:0000D7E8 .text:0000D7E8 loc_D7E8: @ CODE XREF: processpack+1870j .text:0000D7E8 LDR R3, =dword_45920 @ Load from Memory .text:0000D7EC LDR R0, [R3] @ Load from Memory .text:0000D7F0 MOV R1, R5 @ Rd = Op2 .text:0000D7F4 MOV R2, R5 @ Rd = Op2 .text:0000D7F8 MOV R3, #1 @ Rd = Op2 .text:0000D7FC MOV R12, #0xFF @ Rd = Op2 .text:0000D800 B loc_CDBC @ Branch .text:0000D804 @ --------------------------------------------------------------------------- .text:0000D804 .text:0000D804 loc_D804: @ CODE XREF: processpack+1864j .text:0000D804 MOV R0, R1 @ Rd = Op2 .text:0000D808 BL phat_numtracks @ Branch with Link .text:0000D80C LDR R1, [R9] @ Load from Memory .text:0000D810 CMP R1, R0 @ Set cond. codes on Op1 - Op2 .text:0000D814 BLE loc_D820 @ Branch .text:0000D818 CMP R1, #1 @ Set cond. codes on Op1 - Op2 .text:0000D81C BNE loc_D790 @ Branch .text:0000D820 .text:0000D820 loc_D820: @ CODE XREF: processpack+18ECj .text:0000D820 LDR R3, =disk_num @ Load from Memory .text:0000D824 LDR R2, =track_num @ Load from Memory .text:0000D828 LDR R0, [R3] @ Load from Memory .text:0000D82C LDR R3, =dword_45840 @ Load from Memory .text:0000D830 LDR R4, =dword_35F4C @ Load from Memory .text:0000D834 LDR R1, [R2] @ Load from Memory .text:0000D838 LDR R2, [R3] @ Load from Memory .text:0000D83C BL phat_play @ Branch with Link .text:0000D840 LDR R3, [R4] @ Load from Memory .text:0000D844 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0000D848 BEQ loc_C780 @ Branch .text:0000D84C BL phat_playmode @ Branch with Link .text:0000D850 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000D854 BNE loc_C780 @ Branch .text:0000D858 .text:0000D858 loc_D858: @ CODE XREF: processpack+3784j .text:0000D858 STR R0, [R4] @ Store to Memory .text:0000D85C B loc_C780 @ Branch .text:0000D860 @ --------------------------------------------------------------------------- .text:0000D860 .text:0000D860 loc_D860: @ CODE XREF: processpack+1760j .text:0000D860 MOVL R0, 0xFFFFFFFF .text:0000D864 MOV R1, R0 @ Rd = Op2 .text:0000D868 BL run_audio_id @ Branch with Link .text:0000D86C B loc_D68C @ Branch .text:0000D870 @ --------------------------------------------------------------------------- .text:0000D870 .text:0000D870 stop: @ CODE XREF: processpack+18j .text:0000D870 @ DATA XREF: processpack+A4o .text:0000D870 LDR R3, =debug_level @ Load from Memory .text:0000D874 LDR R2, [R3] @ Load from Memory .text:0000D878 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000D87C BLT loc_D8CC @ Branch .text:0000D880 MOV R0, #0 @ Rd = Op2 .text:0000D884 BL time @ Branch with Link .text:0000D888 LDR R2, =0x51EB851F @ Load from Memory .text:0000D88C SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000D890 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000D894 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000D898 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000D89C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000D8A0 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000D8A4 BL call_gettimeofday @ Branch with Link .text:0000D8A8 MOV R1, R4 @ Rd = Op2 .text:0000D8AC MOV R2, R0 @ Rd = Op2 .text:0000D8B0 LDR R3, =aProcesspack @ Load from Memory .text:0000D8B4 LDR R0, =logfile_format @ Load from Memory .text:0000D8B8 BL printf @ Branch with Link .text:0000D8BC LDR R0, =aGotStop @ Load from Memory .text:0000D8C0 BL xdebug_out @ Branch with Link .text:0000D8C4 MOV R0, #0 @ Rd = Op2 .text:0000D8C8 BL sub_257B4 @ Branch with Link .text:0000D8CC .text:0000D8CC loc_D8CC: @ CODE XREF: processpack+1954j .text:0000D8CC LDR R3, =dword_35F5C @ Load from Memory .text:0000D8D0 LDR R2, [R3] @ Load from Memory .text:0000D8D4 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000D8D8 BNE loc_D91C @ Branch .text:0000D8DC .text:0000D8DC loc_D8DC: @ CODE XREF: processpack+1A00j .text:0000D8DC LDR R3, =dword_35F80 @ Load from Memory .text:0000D8E0 LDR R2, =dword_35F8C @ Load from Memory .text:0000D8E4 MOV R4, #0 @ Rd = Op2 .text:0000D8E8 STR R4, [R3] @ Store to Memory .text:0000D8EC STR R4, [R2] @ Store to Memory .text:0000D8F0 LDR R3, =dword_35F90 @ Load from Memory .text:0000D8F4 LDR R2, =dword_35F50 @ Load from Memory .text:0000D8F8 STR R4, [R3] @ Store to Memory .text:0000D8FC STR R4, [R2] @ Store to Memory .text:0000D900 BL phat_stop @ Branch with Link .text:0000D904 LDR R1, =track_num @ Load from Memory .text:0000D908 LDR R2, =dword_45840 @ Load from Memory .text:0000D90C MOV R3, R4 @ Rd = Op2 .text:0000D910 LDR R0, =disk_num @ Load from Memory .text:0000D914 BL phat_status @ Branch with Link .text:0000D918 B loc_C780 @ Branch .text:0000D91C @ --------------------------------------------------------------------------- .text:0000D91C .text:0000D91C loc_D91C: @ CODE XREF: processpack+19B0j .text:0000D91C MOVL R0, 0xFFFFFFFF .text:0000D920 MOV R1, R0 @ Rd = Op2 .text:0000D924 BL run_audio_id @ Branch with Link .text:0000D928 B loc_D8DC @ Branch .text:0000D92C @ --------------------------------------------------------------------------- .text:0000D92C .text:0000D92C repeat_trk: @ CODE XREF: processpack+18j .text:0000D92C @ DATA XREF: processpack+A8o .text:0000D92C LDR R3, =debug_level @ Load from Memory .text:0000D930 LDR R2, [R3] @ Load from Memory .text:0000D934 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000D938 BLT loc_D988 @ Branch .text:0000D93C MOV R0, #0 @ Rd = Op2 .text:0000D940 BL time @ Branch with Link .text:0000D944 LDR R2, =0x51EB851F @ Load from Memory .text:0000D948 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000D94C MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000D950 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000D954 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000D958 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000D95C SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000D960 BL call_gettimeofday @ Branch with Link .text:0000D964 MOV R1, R4 @ Rd = Op2 .text:0000D968 MOV R2, R0 @ Rd = Op2 .text:0000D96C LDR R3, =aProcesspack @ Load from Memory .text:0000D970 LDR R0, =logfile_format @ Load from Memory .text:0000D974 BL printf @ Branch with Link .text:0000D978 LDR R0, =aGotRepeatTrack @ Load from Memory .text:0000D97C BL xdebug_out @ Branch with Link .text:0000D980 MOV R0, #0 @ Rd = Op2 .text:0000D984 BL sub_257B4 @ Branch with Link .text:0000D988 .text:0000D988 loc_D988: @ CODE XREF: processpack+1A10j .text:0000D988 BL phat_repeattrack @ Branch with Link .text:0000D98C .text:0000D98C loc_D98C: @ CODE XREF: processpack+1AD0j .text:0000D98C @ processpack+1B34j ... .text:0000D98C MOV R2, #0 @ Rd = Op2 .text:0000D990 .text:0000D990 loc_D990: @ CODE XREF: processpack+2174j .text:0000D990 LDR R3, =dword_35F4C @ Load from Memory .text:0000D994 B loc_C78C @ Branch .text:0000D998 @ --------------------------------------------------------------------------- .text:0000D998 .text:0000D998 repeat_dsk: @ CODE XREF: processpack+18j .text:0000D998 @ DATA XREF: processpack+ACo .text:0000D998 LDR R3, =debug_level @ Load from Memory .text:0000D99C LDR R2, [R3] @ Load from Memory .text:0000D9A0 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000D9A4 BLT loc_D9F4 @ Branch .text:0000D9A8 MOV R0, #0 @ Rd = Op2 .text:0000D9AC BL time @ Branch with Link .text:0000D9B0 LDR R2, =0x51EB851F @ Load from Memory .text:0000D9B4 SMULL R5, R1, R2, R0 @ Signed Multiply long .text:0000D9B8 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000D9BC RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000D9C0 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000D9C4 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000D9C8 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000D9CC BL call_gettimeofday @ Branch with Link .text:0000D9D0 MOV R1, R4 @ Rd = Op2 .text:0000D9D4 MOV R2, R0 @ Rd = Op2 .text:0000D9D8 LDR R3, =aProcesspack @ Load from Memory .text:0000D9DC LDR R0, =logfile_format @ Load from Memory .text:0000D9E0 BL printf @ Branch with Link .text:0000D9E4 LDR R0, =aGotRepeatDisk @ Load from Memory .text:0000D9E8 BL xdebug_out @ Branch with Link .text:0000D9EC MOV R0, #0 @ Rd = Op2 .text:0000D9F0 BL sub_257B4 @ Branch with Link .text:0000D9F4 .text:0000D9F4 loc_D9F4: @ CODE XREF: processpack+1A7Cj .text:0000D9F4 BL phat_repeatdisk @ Branch with Link .text:0000D9F8 B loc_D98C @ Branch .text:0000D9FC @ --------------------------------------------------------------------------- .text:0000D9FC .text:0000D9FC repeat_off: @ CODE XREF: processpack+18j .text:0000D9FC @ DATA XREF: processpack+B0o .text:0000D9FC LDR R3, =debug_level @ Load from Memory .text:0000DA00 LDR R2, [R3] @ Load from Memory .text:0000DA04 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000DA08 BLT loc_DA58 @ Branch .text:0000DA0C MOV R0, #0 @ Rd = Op2 .text:0000DA10 BL time @ Branch with Link .text:0000DA14 LDR R2, =0x51EB851F @ Load from Memory .text:0000DA18 SMULL R6, R1, R2, R0 @ Signed Multiply long .text:0000DA1C MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000DA20 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000DA24 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000DA28 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000DA2C SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000DA30 BL call_gettimeofday @ Branch with Link .text:0000DA34 MOV R1, R4 @ Rd = Op2 .text:0000DA38 MOV R2, R0 @ Rd = Op2 .text:0000DA3C LDR R3, =aProcesspack @ Load from Memory .text:0000DA40 LDR R0, =logfile_format @ Load from Memory .text:0000DA44 BL printf @ Branch with Link .text:0000DA48 LDR R0, =aGotRepeatOff @ Load from Memory .text:0000DA4C BL xdebug_out @ Branch with Link .text:0000DA50 MOV R0, #0 @ Rd = Op2 .text:0000DA54 BL sub_257B4 @ Branch with Link .text:0000DA58 .text:0000DA58 loc_DA58: @ CODE XREF: processpack+1AE0j .text:0000DA58 BL phat_repeatoff @ Branch with Link .text:0000DA5C B loc_D98C @ Branch .text:0000DA60 @ --------------------------------------------------------------------------- .text:0000DA60 .text:0000DA60 begin_seek: @ CODE XREF: processpack+18j .text:0000DA60 @ DATA XREF: processpack+B4o .text:0000DA60 LDR R10, =debug_level @ Load from Memory .text:0000DA64 LDR R3, [R10] @ Load from Memory .text:0000DA68 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0000DA6C BLT loc_DAC0 @ Branch .text:0000DA70 MOV R0, #0 @ Rd = Op2 .text:0000DA74 BL time @ Branch with Link .text:0000DA78 LDR R2, =0x51EB851F @ Load from Memory .text:0000DA7C SMULL R5, R1, R2, R0 @ Signed Multiply long .text:0000DA80 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000DA84 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000DA88 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000DA8C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000DA90 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000DA94 BL call_gettimeofday @ Branch with Link .text:0000DA98 MOV R1, R4 @ Rd = Op2 .text:0000DA9C MOV R2, R0 @ Rd = Op2 .text:0000DAA0 LDR R3, =aProcesspack @ Load from Memory .text:0000DAA4 LDR R0, =logfile_format @ Load from Memory .text:0000DAA8 BL printf @ Branch with Link .text:0000DAAC LDRB R1, [R7] @ Load from Memory .text:0000DAB0 LDR R0, =aGotBeginSeekI @ Load from Memory .text:0000DAB4 BL printf @ Branch with Link .text:0000DAB8 MOV R0, #0 @ Rd = Op2 .text:0000DABC BL sub_257B4 @ Branch with Link .text:0000DAC0 .text:0000DAC0 loc_DAC0: @ CODE XREF: processpack+1B44j .text:0000DAC0 BL phat_stop @ Branch with Link .text:0000DAC4 LDRB R3, [R7] @ Load from Memory .text:0000DAC8 CMP R3, #4 @ Set cond. codes on Op1 - Op2 .text:0000DACC LDRLS PC, [PC,R3,LSL#2] @ Indirect Jump .text:0000DAD0 B loc_C780 @ Branch .text:0000DAD0 @ --------------------------------------------------------------------------- .text:0000DAD4 .long loc_DAE8 .text:0000DAD8 .long loc_DBBC .text:0000DADC .long loc_DC34 .text:0000DAE0 .long loc_DC54 .text:0000DAE4 .long loc_DC6C .text:0000DAE8 @ --------------------------------------------------------------------------- .text:0000DAE8 .text:0000DAE8 loc_DAE8: @ CODE XREF: processpack+1BA4j .text:0000DAE8 @ DATA XREF: processpack+1BACo .text:0000DAE8 LDR R2, =dword_35FE8 @ Load from Memory .text:0000DAEC LDR R3, [R2] @ Load from Memory .text:0000DAF0 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0000DAF4 BLT loc_DBA8 @ Branch .text:0000DAF8 .text:0000DAF8 loc_DAF8: @ CODE XREF: processpack+1C90j .text:0000DAF8 LDR R3, =dword_35F5C @ Load from Memory .text:0000DAFC LDR R2, [R3] @ Load from Memory .text:0000DB00 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000DB04 BNE loc_DB98 @ Branch .text:0000DB08 .text:0000DB08 loc_DB08: @ CODE XREF: processpack+1C7Cj .text:0000DB08 LDR R3, =dword_35F80 @ Load from Memory .text:0000DB0C MOV R5, #0 @ Rd = Op2 .text:0000DB10 LDR R2, =dword_35F8C @ Load from Memory .text:0000DB14 LDR R4, =dword_35F50 @ Load from Memory .text:0000DB18 STR R5, [R3] @ Store to Memory .text:0000DB1C LDR R3, =dword_35F90 @ Load from Memory .text:0000DB20 STR R5, [R2] @ Store to Memory .text:0000DB24 STR R5, [R3] @ Store to Memory .text:0000DB28 LDR R0, =aDosTtsBeep3_wa @ Load from Memory .text:0000DB2C MOV R1, R5 @ Rd = Op2 .text:0000DB30 STR R5, [R4] @ Store to Memory .text:0000DB34 BL phat_playfile @ Branch with Link .text:0000DB38 LDR R3, =debug_level @ Load from Memory .text:0000DB3C LDR R2, [R3] @ Load from Memory .text:0000DB40 MOV R3, #1 @ Rd = Op2 .text:0000DB44 CMP R2, R5 @ Set cond. codes on Op1 - Op2 .text:0000DB48 STR R3, [R4] @ Store to Memory .text:0000DB4C BLT loc_C780 @ Branch .text:0000DB50 MOV R0, R5 @ Rd = Op2 .text:0000DB54 BL time @ Branch with Link .text:0000DB58 LDR R2, =0x51EB851F @ Load from Memory .text:0000DB5C SMULL R6, R1, R2, R0 @ Signed Multiply long .text:0000DB60 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000DB64 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000DB68 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000DB6C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000DB70 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000DB74 BL call_gettimeofday @ Branch with Link .text:0000DB78 MOV R1, R4 @ Rd = Op2 .text:0000DB7C MOV R2, R0 @ Rd = Op2 .text:0000DB80 LDR R3, =aProcesspack @ Load from Memory .text:0000DB84 LDR R0, =logfile_format @ Load from Memory .text:0000DB88 BL printf @ Branch with Link .text:0000DB8C LDR R0, =aSentBeepStart @ Load from Memory .text:0000DB90 .text:0000DB90 loc_DB90: @ CODE XREF: processpack+2D04j .text:0000DB90 @ processpack+2EB4j ... .text:0000DB90 BL xdebug_out @ Branch with Link .text:0000DB94 B loc_D614 @ Branch .text:0000DB98 @ --------------------------------------------------------------------------- .text:0000DB98 .text:0000DB98 loc_DB98: @ CODE XREF: processpack+1BDCj .text:0000DB98 MOVL R0, 0xFFFFFFFF .text:0000DB9C MOV R1, R0 @ Rd = Op2 .text:0000DBA0 BL run_audio_id @ Branch with Link .text:0000DBA4 B loc_DB08 @ Branch .text:0000DBA8 @ --------------------------------------------------------------------------- .text:0000DBA8 .text:0000DBA8 loc_DBA8: @ CODE XREF: processpack+1BCCj .text:0000DBA8 MOV R0, #0 @ Rd = Op2 .text:0000DBAC MOV R1, R0 @ Rd = Op2 .text:0000DBB0 MOV R3, R0 @ Rd = Op2 .text:0000DBB4 BL phat_status @ Branch with Link .text:0000DBB8 B loc_DAF8 @ Branch .text:0000DBBC @ --------------------------------------------------------------------------- .text:0000DBBC .text:0000DBBC loc_DBBC: @ CODE XREF: processpack+1BA4j .text:0000DBBC @ DATA XREF: processpack+1BB0o .text:0000DBBC LDR R2, =dword_35FE8 @ Load from Memory .text:0000DBC0 LDR R3, [R2] @ Load from Memory .text:0000DBC4 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0000DBC8 BLT loc_DC20 @ Branch .text:0000DBCC .text:0000DBCC loc_DBCC: @ CODE XREF: processpack+1D08j .text:0000DBCC LDR R3, =dword_35F5C @ Load from Memory .text:0000DBD0 LDR R2, [R3] @ Load from Memory .text:0000DBD4 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000DBD8 BNE loc_DC10 @ Branch .text:0000DBDC .text:0000DBDC loc_DBDC: @ CODE XREF: processpack+1CF4j .text:0000DBDC LDR R4, =dword_35F50 @ Load from Memory .text:0000DBE0 LDR R0, =aDosTtsBeep4_wa @ Load from Memory .text:0000DBE4 MOV R12, #0 @ Rd = Op2 .text:0000DBE8 .text:0000DBE8 loc_DBE8: @ CODE XREF: processpack+1D70j .text:0000DBE8 LDR R3, =dword_35F80 @ Load from Memory .text:0000DBEC LDR R2, =dword_35F8C @ Load from Memory .text:0000DBF0 STR R12, [R3] @ Store to Memory .text:0000DBF4 LDR R3, =dword_35F90 @ Load from Memory .text:0000DBF8 MOV R1, R12 @ Rd = Op2 .text:0000DBFC STR R12, [R2] @ Store to Memory .text:0000DC00 STR R12, [R3] @ Store to Memory .text:0000DC04 STR R12, [R4] @ Store to Memory .text:0000DC08 BL phat_playfile @ Branch with Link .text:0000DC0C B loc_D0BC @ Branch .text:0000DC10 @ --------------------------------------------------------------------------- .text:0000DC10 .text:0000DC10 loc_DC10: @ CODE XREF: processpack+1CB0j .text:0000DC10 MOVL R0, 0xFFFFFFFF .text:0000DC14 MOV R1, R0 @ Rd = Op2 .text:0000DC18 BL run_audio_id @ Branch with Link .text:0000DC1C B loc_DBDC @ Branch .text:0000DC20 @ --------------------------------------------------------------------------- .text:0000DC20 .text:0000DC20 loc_DC20: @ CODE XREF: processpack+1CA0j .text:0000DC20 MOV R0, #0 @ Rd = Op2 .text:0000DC24 MOV R1, R0 @ Rd = Op2 .text:0000DC28 MOV R3, R0 @ Rd = Op2 .text:0000DC2C BL phat_status @ Branch with Link .text:0000DC30 B loc_DBCC @ Branch .text:0000DC34 @ --------------------------------------------------------------------------- .text:0000DC34 .text:0000DC34 loc_DC34: @ CODE XREF: processpack+1BA4j .text:0000DC34 @ DATA XREF: processpack+1BB4o .text:0000DC34 MOVL R0, 0xFFFFFFFF .text:0000DC38 MOV R1, #1 @ Rd = Op2 .text:0000DC3C BL run_audio_id @ Branch with Link .text:0000DC40 MOV R0, #1 @ Rd = Op2 .text:0000DC44 .text:0000DC44 loc_DC44: @ CODE XREF: processpack+1D40j .text:0000DC44 BL phat_playmode_alpha @ Branch with Link .text:0000DC48 LDR R3, =dword_35F50 @ Load from Memory .text:0000DC4C MOV R2, #1 @ Rd = Op2 .text:0000DC50 B loc_C78C @ Branch .text:0000DC54 @ --------------------------------------------------------------------------- .text:0000DC54 .text:0000DC54 loc_DC54: @ CODE XREF: processpack+1BA4j .text:0000DC54 @ DATA XREF: processpack+1BB8o .text:0000DC54 MOVL R4, 0xFFFFFFFF .text:0000DC58 MOV R1, #1 @ Rd = Op2 .text:0000DC5C MOV R0, R4 @ Rd = Op2 .text:0000DC60 BL run_audio_id @ Branch with Link .text:0000DC64 MOV R0, R4 @ Rd = Op2 .text:0000DC68 B loc_DC44 @ Branch .text:0000DC6C @ --------------------------------------------------------------------------- .text:0000DC6C .text:0000DC6C loc_DC6C: @ CODE XREF: processpack+1BA4j .text:0000DC6C @ DATA XREF: processpack+1BBCo .text:0000DC6C LDR R2, =dword_35FE8 @ Load from Memory .text:0000DC70 LDR R3, [R2] @ Load from Memory .text:0000DC74 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0000DC78 BLT loc_DCAC @ Branch .text:0000DC7C .text:0000DC7C loc_DC7C: @ CODE XREF: processpack+1D94j .text:0000DC7C LDR R3, =dword_35F5C @ Load from Memory .text:0000DC80 LDR R2, [R3] @ Load from Memory .text:0000DC84 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000DC88 BNE loc_DC9C @ Branch .text:0000DC8C .text:0000DC8C loc_DC8C: @ CODE XREF: processpack+1D80j .text:0000DC8C LDR R4, =dword_35F50 @ Load from Memory .text:0000DC90 LDR R0, =aDosTtsBeep5_wa @ Load from Memory .text:0000DC94 MOV R12, #0 @ Rd = Op2 .text:0000DC98 B loc_DBE8 @ Branch .text:0000DC9C @ --------------------------------------------------------------------------- .text:0000DC9C .text:0000DC9C loc_DC9C: @ CODE XREF: processpack+1D60j .text:0000DC9C MOVL R0, 0xFFFFFFFF .text:0000DCA0 MOV R1, R0 @ Rd = Op2 .text:0000DCA4 BL run_audio_id @ Branch with Link .text:0000DCA8 B loc_DC8C @ Branch .text:0000DCAC @ --------------------------------------------------------------------------- .text:0000DCAC .text:0000DCAC loc_DCAC: @ CODE XREF: processpack+1D50j .text:0000DCAC MOV R0, #0 @ Rd = Op2 .text:0000DCB0 MOV R1, R0 @ Rd = Op2 .text:0000DCB4 MOV R3, R0 @ Rd = Op2 .text:0000DCB8 BL phat_status @ Branch with Link .text:0000DCBC B loc_DC7C @ Branch .text:0000DCC0 @ --------------------------------------------------------------------------- .text:0000DCC0 .text:0000DCC0 end_seek: @ CODE XREF: processpack+18j .text:0000DCC0 @ DATA XREF: processpack+B8o .text:0000DCC0 LDR R3, =debug_level @ Load from Memory .text:0000DCC4 LDR R2, [R3] @ Load from Memory .text:0000DCC8 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000DCCC BLT loc_DD1C @ Branch .text:0000DCD0 MOV R0, #0 @ Rd = Op2 .text:0000DCD4 BL time @ Branch with Link .text:0000DCD8 LDR R2, =0x51EB851F @ Load from Memory .text:0000DCDC SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000DCE0 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000DCE4 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000DCE8 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000DCEC ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000DCF0 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000DCF4 BL call_gettimeofday @ Branch with Link .text:0000DCF8 MOV R1, R4 @ Rd = Op2 .text:0000DCFC MOV R2, R0 @ Rd = Op2 .text:0000DD00 LDR R3, =aProcesspack @ Load from Memory .text:0000DD04 LDR R0, =logfile_format @ Load from Memory .text:0000DD08 BL printf @ Branch with Link .text:0000DD0C LDR R0, =aGotEndSeek @ Load from Memory .text:0000DD10 BL xdebug_out @ Branch with Link .text:0000DD14 MOV R0, #0 @ Rd = Op2 .text:0000DD18 BL sub_257B4 @ Branch with Link .text:0000DD1C .text:0000DD1C loc_DD1C: @ CODE XREF: processpack+1DA4j .text:0000DD1C LDR R3, =dword_35F50 @ Load from Memory .text:0000DD20 MOV R4, #0 @ Rd = Op2 .text:0000DD24 LDR R5, =disk_num @ Load from Memory .text:0000DD28 LDR R6, =track_num @ Load from Memory .text:0000DD2C STR R4, [R3] @ Store to Memory .text:0000DD30 BL phat_stop @ Branch with Link .text:0000DD34 MOV R1, R6 @ Rd = Op2 .text:0000DD38 MOV R3, R4 @ Rd = Op2 .text:0000DD3C LDR R2, =dword_45840 @ Load from Memory .text:0000DD40 MOV R0, R5 @ Rd = Op2 .text:0000DD44 BL phat_status @ Branch with Link .text:0000DD48 LDR R0, [R5] @ Load from Memory .text:0000DD4C LDR R1, [R6] @ Load from Memory .text:0000DD50 .text:0000DD50 loc_DD50: @ CODE XREF: processpack+24B4j .text:0000DD50 @ processpack+2F80j ... .text:0000DD50 BL sub_15BE8 @ Branch with Link .text:0000DD54 B loc_C780 @ Branch .text:0000DD58 @ --------------------------------------------------------------------------- .text:0000DD58 .text:0000DD58 get_audioid: @ CODE XREF: processpack+18j .text:0000DD58 @ DATA XREF: processpack+BCo .text:0000DD58 LDR R4, =dword_35F5C @ Load from Memory .text:0000DD5C MOV R12, #0 @ Rd = Op2 .text:0000DD60 STR R12, [R4] @ Store to Memory .text:0000DD64 LDR R5, =dword_35F80 @ Load from Memory .text:0000DD68 LDR R4, =dword_35F8C @ Load from Memory .text:0000DD6C STR R12, [R5] @ Store to Memory .text:0000DD70 STR R12, [R4] @ Store to Memory .text:0000DD74 LDR R5, =dword_35F90 @ Load from Memory .text:0000DD78 LDR R4, =dword_35F50 @ Load from Memory .text:0000DD7C LDR R2, =dword_45840 @ Load from Memory .text:0000DD80 ADD R0, SP, #0x368+var_350 @ Rd = Op1 + Op2 .text:0000DD84 ADD R1, SP, #0x368+var_354 @ Rd = Op1 + Op2 .text:0000DD88 MOV R3, R12 @ Rd = Op2 .text:0000DD8C STR R12, [R5] @ Store to Memory .text:0000DD90 STR R12, [R4] @ Store to Memory .text:0000DD94 BL phat_status @ Branch with Link .text:0000DD98 LDR R2, [SP,#0x368+var_350] @ Load from Memory .text:0000DD9C CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000DDA0 BLE loc_DDBC @ Branch .text:0000DDA4 LDR R1, [SP,#0x368+var_354] @ Load from Memory .text:0000DDA8 CMP R1, #0 @ Set cond. codes on Op1 - Op2 .text:0000DDAC LDRGT R3, =disk_num @ Load from Memory .text:0000DDB0 STRGT R2, [R3] @ Store to Memory .text:0000DDB4 LDRGT R2, =track_num @ Load from Memory .text:0000DDB8 STRGT R1, [R2] @ Store to Memory .text:0000DDBC .text:0000DDBC loc_DDBC: @ CODE XREF: processpack+1E78j .text:0000DDBC LDRB R3, [R7] @ Load from Memory .text:0000DDC0 LDRB R2, [R7,#2] @ Load from Memory .text:0000DDC4 LDRB R0, [R7,#1] @ Load from Memory .text:0000DDC8 LDRB R1, [R7,#3] @ Load from Memory .text:0000DDCC ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000DDD0 ADD R2, R2, R2,LSL#2 @ Rd = Op1 + Op2 .text:0000DDD4 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000DDD8 ADD R2, R2, R2,LSL#2 @ Rd = Op1 + Op2 .text:0000DDDC ADD R6, R1, R2,LSL#2 @ Rd = Op1 + Op2 .text:0000DDE0 ADD R0, R0, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000DDE4 STR R6, [SP,#0x368+var_350] @ Store to Memory .text:0000DDE8 BL sub_166EC @ Branch with Link .text:0000DDEC LDR R3, =debug_level @ Load from Memory .text:0000DDF0 LDR R2, [R3] @ Load from Memory .text:0000DDF4 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000DDF8 STR R0, [SP,#0x368+var_354] @ Store to Memory .text:0000DDFC BLT loc_DE54 @ Branch .text:0000DE00 MOV R0, #0 @ Rd = Op2 .text:0000DE04 BL time @ Branch with Link .text:0000DE08 LDR R2, =0x51EB851F @ Load from Memory .text:0000DE0C SMULL R5, R1, R2, R0 @ Signed Multiply long .text:0000DE10 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000DE14 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000DE18 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000DE1C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000DE20 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000DE24 BL call_gettimeofday @ Branch with Link .text:0000DE28 MOV R1, R4 @ Rd = Op2 .text:0000DE2C MOV R2, R0 @ Rd = Op2 .text:0000DE30 LDR R3, =aProcesspack @ Load from Memory .text:0000DE34 LDR R0, =logfile_format @ Load from Memory .text:0000DE38 BL printf @ Branch with Link .text:0000DE3C LDR R1, [SP,#0x368+var_350] @ Load from Memory .text:0000DE40 LDR R0, =aGotAudioIdII @ Load from Memory .text:0000DE44 LDR R2, [SP,#0x368+var_354] @ Load from Memory .text:0000DE48 BL printf @ Branch with Link .text:0000DE4C MOV R0, #0 @ Rd = Op2 .text:0000DE50 BL sub_257B4 @ Branch with Link .text:0000DE54 .text:0000DE54 loc_DE54: @ CODE XREF: processpack+1ED4j .text:0000DE54 LDR R1, =dword_35FE8 @ Load from Memory .text:0000DE58 LDR R2, [R1] @ Load from Memory .text:0000DE5C CMN R2, #1 @ Set cond. codes on Op1 + Op2 .text:0000DE60 LDRGT R3, =dword_45840 @ Load from Memory .text:0000DE64 STRGT R2, [R3] @ Store to Memory .text:0000DE68 MOVLGT R2, 0xFFFFFFFF .text:0000DE6C STRGT R2, [R1] @ Store to Memory .text:0000DE70 LDR R1, [SP,#0x368+var_354] @ Load from Memory .text:0000DE74 LDR R0, [SP,#0x368+var_350] @ Load from Memory .text:0000DE78 BL run_audio_id @ Branch with Link .text:0000DE7C LDR R3, =dword_45920 @ Load from Memory .text:0000DE80 MOV R1, #0 @ Rd = Op2 .text:0000DE84 LDR R0, [R3] @ Load from Memory .text:0000DE88 MOV R2, R1 @ Rd = Op2 .text:0000DE8C MOV R3, #1 @ Rd = Op2 .text:0000DE90 MOVL R12, 0xFFFFFFFF .text:0000DE94 STR R12, [SP,#0x368+var_368] @ Store to Memory .text:0000DE98 BL rw_packet @ Branch with Link .text:0000DE9C LDR R2, =dword_35F94 @ Load from Memory .text:0000DEA0 LDR R3, [R2] @ Load from Memory .text:0000DEA4 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0000DEA8 MOVNE R3, #0 @ Rd = Op2 .text:0000DEAC STRNE R3, [R2] @ Store to Memory .text:0000DEB0 B loc_C780 @ Branch .text:0000DEB4 @ --------------------------------------------------------------------------- .text:0000DEB4 .text:0000DEB4 mark_track: @ CODE XREF: processpack+18j .text:0000DEB4 @ DATA XREF: processpack+C0o .text:0000DEB4 LDRB R3, [R1] @ Load from Memory .text:0000DEB8 LDRB R0, [R1,#1] @ Load from Memory .text:0000DEBC ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000DEC0 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000DEC4 ADD R0, R0, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000DEC8 BL sub_166EC @ Branch with Link .text:0000DECC LDR R3, =debug_level @ Load from Memory .text:0000DED0 LDR R2, [R3] @ Load from Memory .text:0000DED4 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000DED8 MOV R6, R0 @ Rd = Op2 .text:0000DEDC BLT loc_DF48 @ Branch .text:0000DEE0 MOV R0, #0 @ Rd = Op2 .text:0000DEE4 BL time @ Branch with Link .text:0000DEE8 LDR R2, =0x51EB851F @ Load from Memory .text:0000DEEC SMULL R5, R1, R2, R0 @ Signed Multiply long .text:0000DEF0 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000DEF4 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000DEF8 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000DEFC ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000DF00 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000DF04 BL call_gettimeofday @ Branch with Link .text:0000DF08 MOV R1, R4 @ Rd = Op2 .text:0000DF0C MOV R2, R0 @ Rd = Op2 .text:0000DF10 LDR R3, =aProcesspack @ Load from Memory .text:0000DF14 LDR R0, =logfile_format @ Load from Memory .text:0000DF18 BL printf @ Branch with Link .text:0000DF1C LDRB R2, [R7,#2] @ Load from Memory .text:0000DF20 LDRB R1, [R7,#3] @ Load from Memory .text:0000DF24 ADD R2, R2, R2,LSL#2 @ Rd = Op1 + Op2 .text:0000DF28 ADD R2, R2, R2,LSL#2 @ Rd = Op1 + Op2 .text:0000DF2C ADD R1, R1, R2,LSL#2 @ Rd = Op1 + Op2 .text:0000DF30 LDRB R3, [R7,#4] @ Load from Memory .text:0000DF34 LDR R0, =aGotMarkTrackII @ Load from Memory .text:0000DF38 MOV R2, R6 @ Rd = Op2 .text:0000DF3C BL printf @ Branch with Link .text:0000DF40 MOV R0, #0 @ Rd = Op2 .text:0000DF44 BL sub_257B4 @ Branch with Link .text:0000DF48 .text:0000DF48 loc_DF48: @ CODE XREF: processpack+1FB4j .text:0000DF48 LDRB R3, [R7,#2] @ Load from Memory .text:0000DF4C LDRB R0, [R7,#3] @ Load from Memory .text:0000DF50 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000DF54 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000DF58 ADD R0, R0, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000DF5C MOV R1, R6 @ Rd = Op2 .text:0000DF60 BL phat_filename @ Branch with Link .text:0000DF64 BL sub_1A424 @ Branch with Link .text:0000DF68 LDRB R1, [R7,#4] @ Load from Memory .text:0000DF6C BL sub_1A3A4 @ Branch with Link .text:0000DF70 LDR R0, =aDosDataMarkedt @ filename .text:0000DF74 LDR R1, =aA @ mode .text:0000DF78 BL fopen @ Branch with Link .text:0000DF7C CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000DF80 MOV R5, R0 @ Rd = Op2 .text:0000DF84 BEQ loc_C780 @ Branch .text:0000DF88 LDRB R3, [R7,#2] @ Load from Memory .text:0000DF8C LDRB R0, [R7,#3] @ Load from Memory .text:0000DF90 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000DF94 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000DF98 MOV R1, R6 @ Rd = Op2 .text:0000DF9C ADD R0, R0, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000DFA0 BL phat_filename @ Branch with Link .text:0000DFA4 LDRB R1, [R7,#2] @ Load from Memory .text:0000DFA8 LDRB R3, [R7,#3] @ Load from Memory .text:0000DFAC MOV R4, R0 @ Rd = Op2 .text:0000DFB0 ADD R1, R1, R1,LSL#2 @ Rd = Op1 + Op2 .text:0000DFB4 LDR R0, =play_mode_0x34 @ Load from Memory .text:0000DFB8 LDRB R12, [R7,#4] @ Load from Memory .text:0000DFBC ADD R1, R1, R1,LSL#2 @ Rd = Op1 + Op2 .text:0000DFC0 LDR R2, [R0] @ Load from Memory .text:0000DFC4 ADD R3, R3, R1,LSL#2 @ Rd = Op1 + Op2 .text:0000DFC8 MOV R0, R5 @ Rd = Op2 .text:0000DFCC LDR R1, =aIIISI @ Load from Memory .text:0000DFD0 STR R12, [SP,#0x368+var_360] @ Store to Memory .text:0000DFD4 STR R6, [SP,#0x368+var_368] @ Store to Memory .text:0000DFD8 STR R4, [SP,#0x368+var_364] @ Store to Memory .text:0000DFDC BL sub_26818 @ Branch with Link .text:0000DFE0 MOV R0, R5 @ Rd = Op2 .text:0000DFE4 BL sub_25614 @ Branch with Link .text:0000DFE8 BL sync @ Branch with Link .text:0000DFEC B loc_C780 @ Branch .text:0000DFF0 @ --------------------------------------------------------------------------- .text:0000DFF0 .text:0000DFF0 rand_on: @ CODE XREF: processpack+18j .text:0000DFF0 @ DATA XREF: processpack+DCo .text:0000DFF0 LDR R3, =debug_level @ Load from Memory .text:0000DFF4 LDR R2, [R3] @ Load from Memory .text:0000DFF8 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000DFFC BLT loc_E04C @ Branch .text:0000E000 MOV R0, #0 @ Rd = Op2 .text:0000E004 BL time @ Branch with Link .text:0000E008 LDR R2, =0x51EB851F @ Load from Memory .text:0000E00C SMULL R5, R1, R2, R0 @ Signed Multiply long .text:0000E010 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000E014 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000E018 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000E01C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000E020 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000E024 BL call_gettimeofday @ Branch with Link .text:0000E028 MOV R1, R4 @ Rd = Op2 .text:0000E02C MOV R2, R0 @ Rd = Op2 .text:0000E030 LDR R3, =aProcesspack @ Load from Memory .text:0000E034 LDR R0, =logfile_format @ Load from Memory .text:0000E038 BL printf @ Branch with Link .text:0000E03C LDR R0, =aGotRandomOn @ Load from Memory .text:0000E040 BL xdebug_out @ Branch with Link .text:0000E044 MOV R0, #0 @ Rd = Op2 .text:0000E048 BL sub_257B4 @ Branch with Link .text:0000E04C .text:0000E04C loc_E04C: @ CODE XREF: processpack+20D4j .text:0000E04C LDRB R3, [R7,#1] @ Load from Memory .text:0000E050 LDRB R0, [R7,#2] @ Load from Memory .text:0000E054 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000E058 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000E05C ADD R0, R0, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000E060 BL sub_166EC @ Branch with Link .text:0000E064 LDRB R3, [R7,#3] @ Load from Memory .text:0000E068 MOV R1, R0 @ Rd = Op2 .text:0000E06C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000E070 LDRB R0, [R7,#4] @ Load from Memory .text:0000E074 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000E078 ADD R0, R0, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000E07C BL phat_setcur @ Branch with Link .text:0000E080 LDR R3, =dword_35F6C @ Load from Memory .text:0000E084 LDR R2, [R3] @ Load from Memory .text:0000E088 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000E08C BNE loc_E0A0 @ Branch .text:0000E090 LDRB R0, [R7] @ Load from Memory .text:0000E094 BL phat_randdisk @ Branch with Link .text:0000E098 .text:0000E098 loc_E098: @ CODE XREF: processpack+2180j .text:0000E098 @ processpack+22C0j .text:0000E098 MOV R2, #1 @ Rd = Op2 .text:0000E09C B loc_D990 @ Branch .text:0000E0A0 @ --------------------------------------------------------------------------- .text:0000E0A0 .text:0000E0A0 loc_E0A0: @ CODE XREF: processpack+2164j .text:0000E0A0 @ processpack+2214j .text:0000E0A0 LDRB R0, [R7] @ Load from Memory .text:0000E0A4 BL phat_randall @ Branch with Link .text:0000E0A8 B loc_E098 @ Branch .text:0000E0AC @ --------------------------------------------------------------------------- .text:0000E0AC .text:0000E0AC mag_rand_on: @ CODE XREF: processpack+18j .text:0000E0AC @ DATA XREF: processpack+E0o .text:0000E0AC LDR R3, =debug_level @ Load from Memory .text:0000E0B0 LDR R2, [R3] @ Load from Memory .text:0000E0B4 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000E0B8 BLT loc_E108 @ Branch .text:0000E0BC MOV R0, #0 @ Rd = Op2 .text:0000E0C0 BL time @ Branch with Link .text:0000E0C4 LDR R2, =0x51EB851F @ Load from Memory .text:0000E0C8 SMULL R6, R1, R2, R0 @ Signed Multiply long .text:0000E0CC MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000E0D0 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000E0D4 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000E0D8 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000E0DC SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000E0E0 BL call_gettimeofday @ Branch with Link .text:0000E0E4 MOV R1, R4 @ Rd = Op2 .text:0000E0E8 MOV R2, R0 @ Rd = Op2 .text:0000E0EC LDR R3, =aProcesspack @ Load from Memory .text:0000E0F0 LDR R0, =logfile_format @ Load from Memory .text:0000E0F4 BL printf @ Branch with Link .text:0000E0F8 LDR R0, =aGotMagRandomOn @ Load from Memory .text:0000E0FC BL xdebug_out @ Branch with Link .text:0000E100 MOV R0, #0 @ Rd = Op2 .text:0000E104 BL sub_257B4 @ Branch with Link .text:0000E108 .text:0000E108 loc_E108: @ CODE XREF: processpack+2190j .text:0000E108 LDRB R3, [R7,#1] @ Load from Memory .text:0000E10C LDRB R0, [R7,#2] @ Load from Memory .text:0000E110 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000E114 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000E118 ADD R0, R0, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000E11C BL sub_166EC @ Branch with Link .text:0000E120 LDRB R3, [R7,#3] @ Load from Memory .text:0000E124 MOV R1, R0 @ Rd = Op2 .text:0000E128 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000E12C LDRB R0, [R7,#4] @ Load from Memory .text:0000E130 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000E134 ADD R0, R0, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000E138 BL phat_setcur @ Branch with Link .text:0000E13C B loc_E0A0 @ Branch .text:0000E140 @ --------------------------------------------------------------------------- .text:0000E140 .text:0000E140 rand_press: @ CODE XREF: processpack+18j .text:0000E140 @ DATA XREF: processpack+E8o .text:0000E140 LDR R3, =debug_level @ Load from Memory .text:0000E144 LDR R2, [R3] @ Load from Memory .text:0000E148 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000E14C BLT loc_E19C @ Branch .text:0000E150 MOV R0, #0 @ Rd = Op2 .text:0000E154 BL time @ Branch with Link .text:0000E158 LDR R2, =0x51EB851F @ Load from Memory .text:0000E15C SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000E160 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000E164 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000E168 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000E16C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000E170 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000E174 BL call_gettimeofday @ Branch with Link .text:0000E178 MOV R1, R4 @ Rd = Op2 .text:0000E17C MOV R2, R0 @ Rd = Op2 .text:0000E180 LDR R3, =aProcesspack @ Load from Memory .text:0000E184 LDR R0, =logfile_format @ Load from Memory .text:0000E188 BL printf @ Branch with Link .text:0000E18C LDR R0, =aGotRandomPress @ Load from Memory .text:0000E190 BL xdebug_out @ Branch with Link .text:0000E194 MOV R0, #0 @ Rd = Op2 .text:0000E198 BL sub_257B4 @ Branch with Link .text:0000E19C .text:0000E19C loc_E19C: @ CODE XREF: processpack+2224j .text:0000E19C BL phat_stop @ Branch with Link .text:0000E1A0 LDR R3, =dword_35F6C @ Load from Memory .text:0000E1A4 LDR R2, [R3] @ Load from Memory .text:0000E1A8 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000E1AC BEQ loc_E228 @ Branch .text:0000E1B0 LDRB R0, [R7] @ Load from Memory .text:0000E1B4 BL phat_randall @ Branch with Link .text:0000E1B8 .text:0000E1B8 loc_E1B8: @ CODE XREF: processpack+2308j .text:0000E1B8 LDR R3, =track_offset @ Load from Memory .text:0000E1BC LDR R4, [R3] @ Load from Memory .text:0000E1C0 CMP R4, #0 @ Set cond. codes on Op1 - Op2 .text:0000E1C4 BEQ loc_E1EC @ Branch .text:0000E1C8 LDR R10, =disk_num @ Load from Memory .text:0000E1CC LDR R9, =track_num @ Load from Memory .text:0000E1D0 MOV R0, R10 @ Rd = Op2 .text:0000E1D4 MOV R1, R9 @ Rd = Op2 .text:0000E1D8 BL phat_nexttrack @ Branch with Link .text:0000E1DC .text:0000E1DC loc_E1DC: @ CODE XREF: processpack+22FCj .text:0000E1DC LDR R0, [R10] @ Load from Memory .text:0000E1E0 LDR R1, [R9] @ Load from Memory .text:0000E1E4 BL sub_15BE8 @ Branch with Link .text:0000E1E8 B loc_E098 @ Branch .text:0000E1EC @ --------------------------------------------------------------------------- .text:0000E1EC .text:0000E1EC loc_E1EC: @ CODE XREF: processpack+229Cj .text:0000E1EC LDR R10, =disk_num @ Load from Memory .text:0000E1F0 LDR R9, =track_num @ Load from Memory .text:0000E1F4 MOV R0, R10 @ Rd = Op2 .text:0000E1F8 MOV R1, R9 @ Rd = Op2 .text:0000E1FC BL phat_nexttrack @ Branch with Link .text:0000E200 LDR R1, [R9] @ Load from Memory .text:0000E204 MOV R2, R4 @ Rd = Op2 .text:0000E208 LDR R0, [R10] @ Load from Memory .text:0000E20C BL phat_play @ Branch with Link .text:0000E210 MOV R3, R4 @ Rd = Op2 .text:0000E214 LDR R2, =dword_45840 @ Load from Memory .text:0000E218 MOV R0, R10 @ Rd = Op2 .text:0000E21C MOV R1, R9 @ Rd = Op2 .text:0000E220 BL phat_status @ Branch with Link .text:0000E224 B loc_E1DC @ Branch .text:0000E228 @ --------------------------------------------------------------------------- .text:0000E228 .text:0000E228 loc_E228: @ CODE XREF: processpack+2284j .text:0000E228 LDRB R0, [R7] @ Load from Memory .text:0000E22C BL phat_randdisk @ Branch with Link .text:0000E230 B loc_E1B8 @ Branch .text:0000E234 @ --------------------------------------------------------------------------- .text:0000E234 .text:0000E234 mag_rand_press: @ CODE XREF: processpack+18j .text:0000E234 @ DATA XREF: processpack+ECo .text:0000E234 LDR R3, =debug_level @ Load from Memory .text:0000E238 LDR R2, [R3] @ Load from Memory .text:0000E23C CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000E240 BLT loc_E290 @ Branch .text:0000E244 MOV R0, #0 @ Rd = Op2 .text:0000E248 BL time @ Branch with Link .text:0000E24C LDR R2, =0x51EB851F @ Load from Memory .text:0000E250 SMULL R6, R1, R2, R0 @ Signed Multiply long .text:0000E254 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000E258 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000E25C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000E260 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000E264 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000E268 BL call_gettimeofday @ Branch with Link .text:0000E26C MOV R1, R4 @ Rd = Op2 .text:0000E270 MOV R2, R0 @ Rd = Op2 .text:0000E274 LDR R3, =aProcesspack @ Load from Memory .text:0000E278 LDR R0, =logfile_format @ Load from Memory .text:0000E27C BL printf @ Branch with Link .text:0000E280 LDR R0, =aGotMagRandomPr @ Load from Memory .text:0000E284 BL xdebug_out @ Branch with Link .text:0000E288 MOV R0, #0 @ Rd = Op2 .text:0000E28C BL sub_257B4 @ Branch with Link .text:0000E290 .text:0000E290 loc_E290: @ CODE XREF: processpack+2318j .text:0000E290 BL phat_stop @ Branch with Link .text:0000E294 LDRB R0, [R7] @ Load from Memory .text:0000E298 BL phat_randall @ Branch with Link .text:0000E29C LDR R3, =track_offset @ Load from Memory .text:0000E2A0 LDR R4, [R3] @ Load from Memory .text:0000E2A4 CMP R4, #0 @ Set cond. codes on Op1 - Op2 .text:0000E2A8 BEQ loc_E2D0 @ Branch .text:0000E2AC LDR R10, =disk_num @ Load from Memory .text:0000E2B0 LDR R9, =track_num @ Load from Memory .text:0000E2B4 MOV R0, R10 @ Rd = Op2 .text:0000E2B8 MOV R1, R9 @ Rd = Op2 .text:0000E2BC BL phat_nexttrack @ Branch with Link .text:0000E2C0 .text:0000E2C0 loc_E2C0: @ CODE XREF: processpack+23E0j .text:0000E2C0 LDR R0, [R10] @ Load from Memory .text:0000E2C4 LDR R1, [R9] @ Load from Memory .text:0000E2C8 BL sub_15BE8 @ Branch with Link .text:0000E2CC B loc_D98C @ Branch .text:0000E2D0 @ --------------------------------------------------------------------------- .text:0000E2D0 .text:0000E2D0 loc_E2D0: @ CODE XREF: processpack+2380j .text:0000E2D0 LDR R10, =disk_num @ Load from Memory .text:0000E2D4 LDR R9, =track_num @ Load from Memory .text:0000E2D8 MOV R0, R10 @ Rd = Op2 .text:0000E2DC MOV R1, R9 @ Rd = Op2 .text:0000E2E0 BL phat_nexttrack @ Branch with Link .text:0000E2E4 LDR R1, [R9] @ Load from Memory .text:0000E2E8 MOV R2, R4 @ Rd = Op2 .text:0000E2EC LDR R0, [R10] @ Load from Memory .text:0000E2F0 BL phat_play @ Branch with Link .text:0000E2F4 MOV R3, R4 @ Rd = Op2 .text:0000E2F8 LDR R2, =dword_45840 @ Load from Memory .text:0000E2FC MOV R0, R10 @ Rd = Op2 .text:0000E300 MOV R1, R9 @ Rd = Op2 .text:0000E304 BL phat_status @ Branch with Link .text:0000E308 B loc_E2C0 @ Branch .text:0000E30C @ --------------------------------------------------------------------------- .text:0000E30C .text:0000E30C rand_forward: @ CODE XREF: processpack+18j .text:0000E30C @ DATA XREF: processpack+F0o .text:0000E30C LDR R10, =debug_level @ Load from Memory .text:0000E310 LDR R3, [R10] @ Load from Memory .text:0000E314 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0000E318 BLT loc_E368 @ Branch .text:0000E31C MOV R0, #0 @ Rd = Op2 .text:0000E320 BL time @ Branch with Link .text:0000E324 LDR R2, =0x51EB851F @ Load from Memory .text:0000E328 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000E32C MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000E330 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000E334 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000E338 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000E33C SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000E340 BL call_gettimeofday @ Branch with Link .text:0000E344 MOV R1, R4 @ Rd = Op2 .text:0000E348 MOV R2, R0 @ Rd = Op2 .text:0000E34C LDR R3, =aProcesspack @ Load from Memory .text:0000E350 LDR R0, =logfile_format @ Load from Memory .text:0000E354 BL printf @ Branch with Link .text:0000E358 LDR R0, =aGotRandomForwa @ Load from Memory .text:0000E35C BL xdebug_out @ Branch with Link .text:0000E360 MOV R0, #0 @ Rd = Op2 .text:0000E364 BL sub_257B4 @ Branch with Link .text:0000E368 .text:0000E368 loc_E368: @ CODE XREF: processpack+23F0j .text:0000E368 LDR R3, =dword_35F5C @ Load from Memory .text:0000E36C LDR R2, [R3] @ Load from Memory .text:0000E370 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000E374 BNE loc_E474 @ Branch .text:0000E378 .text:0000E378 loc_E378: @ CODE XREF: processpack+2558j .text:0000E378 LDR R3, =track_offset @ Load from Memory .text:0000E37C LDR R2, =dword_35F80 @ Load from Memory .text:0000E380 LDR R4, [R3] @ Load from Memory .text:0000E384 LDR R3, =dword_35F50 @ Load from Memory .text:0000E388 MOV R1, #0 @ Rd = Op2 .text:0000E38C STR R1, [R3] @ Store to Memory .text:0000E390 STR R1, [R2] @ Store to Memory .text:0000E394 LDR R3, =dword_35F8C @ Load from Memory .text:0000E398 LDR R2, =dword_35F90 @ Load from Memory .text:0000E39C CMP R4, #0 @ Set cond. codes on Op1 - Op2 .text:0000E3A0 STR R1, [R3] @ Store to Memory .text:0000E3A4 STR R1, [R2] @ Store to Memory .text:0000E3A8 BEQ loc_E438 @ Branch .text:0000E3AC LDR R10, =disk_num @ Load from Memory .text:0000E3B0 LDR R9, =track_num @ Load from Memory .text:0000E3B4 BL phat_stop @ Branch with Link .text:0000E3B8 MOV R0, R10 @ Rd = Op2 .text:0000E3BC MOV R1, R9 @ Rd = Op2 .text:0000E3C0 BL phat_nexttrack @ Branch with Link .text:0000E3C4 .text:0000E3C4 loc_E3C4: @ CODE XREF: processpack+2548j .text:0000E3C4 LDR R3, =debug_level @ Load from Memory .text:0000E3C8 LDR R2, [R3] @ Load from Memory .text:0000E3CC CMP R2, #3 @ Set cond. codes on Op1 - Op2 .text:0000E3D0 BGT loc_E3E0 @ Branch .text:0000E3D4 .text:0000E3D4 loc_E3D4: @ CODE XREF: processpack+250Cj .text:0000E3D4 @ processpack+261Cj ... .text:0000E3D4 LDR R0, [R10] @ Load from Memory .text:0000E3D8 LDR R1, [R9] @ Load from Memory .text:0000E3DC B loc_DD50 @ Branch .text:0000E3E0 @ --------------------------------------------------------------------------- .text:0000E3E0 .text:0000E3E0 loc_E3E0: @ CODE XREF: processpack+24A8j .text:0000E3E0 MOV R0, #0 @ Rd = Op2 .text:0000E3E4 BL time @ Branch with Link .text:0000E3E8 LDR R2, =0x51EB851F @ Load from Memory .text:0000E3EC SMULL R5, R1, R2, R0 @ Signed Multiply long .text:0000E3F0 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000E3F4 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000E3F8 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000E3FC ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000E400 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000E404 BL call_gettimeofday @ Branch with Link .text:0000E408 MOV R1, R4 @ Rd = Op2 .text:0000E40C MOV R2, R0 @ Rd = Op2 .text:0000E410 LDR R3, =aProcesspack @ Load from Memory .text:0000E414 LDR R0, =logfile_format @ Load from Memory .text:0000E418 BL printf @ Branch with Link .text:0000E41C LDR R1, [R10] @ Load from Memory .text:0000E420 LDR R2, [R9] @ Load from Memory .text:0000E424 LDR R0, =aCurrentNextTra @ Load from Memory .text:0000E428 BL printf @ Branch with Link .text:0000E42C MOV R0, #0 @ Rd = Op2 .text:0000E430 BL sub_257B4 @ Branch with Link .text:0000E434 B loc_E3D4 @ Branch .text:0000E438 @ --------------------------------------------------------------------------- .text:0000E438 .text:0000E438 loc_E438: @ CODE XREF: processpack+2480j .text:0000E438 LDR R10, =disk_num @ Load from Memory .text:0000E43C LDR R9, =track_num @ Load from Memory .text:0000E440 MOV R0, R10 @ Rd = Op2 .text:0000E444 MOV R1, R9 @ Rd = Op2 .text:0000E448 BL phat_nexttrack @ Branch with Link .text:0000E44C LDR R1, [R9] @ Load from Memory .text:0000E450 MOV R2, R4 @ Rd = Op2 .text:0000E454 LDR R0, [R10] @ Load from Memory .text:0000E458 BL phat_play @ Branch with Link .text:0000E45C MOV R3, R4 @ Rd = Op2 .text:0000E460 LDR R2, =dword_45840 @ Load from Memory .text:0000E464 MOV R0, R10 @ Rd = Op2 .text:0000E468 MOV R1, R9 @ Rd = Op2 .text:0000E46C BL phat_status @ Branch with Link .text:0000E470 B loc_E3C4 @ Branch .text:0000E474 @ --------------------------------------------------------------------------- .text:0000E474 .text:0000E474 loc_E474: @ CODE XREF: processpack+244Cj .text:0000E474 MOVL R0, 0xFFFFFFFF .text:0000E478 MOV R1, R0 @ Rd = Op2 .text:0000E47C BL run_audio_id @ Branch with Link .text:0000E480 B loc_E378 @ Branch .text:0000E484 @ --------------------------------------------------------------------------- .text:0000E484 .text:0000E484 rand_reverse: @ CODE XREF: processpack+18j .text:0000E484 @ DATA XREF: processpack+F4o .text:0000E484 LDR R3, =debug_level @ Load from Memory .text:0000E488 LDR R2, [R3] @ Load from Memory .text:0000E48C CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000E490 BLT loc_E4E0 @ Branch .text:0000E494 MOV R0, #0 @ Rd = Op2 .text:0000E498 BL time @ Branch with Link .text:0000E49C LDR R2, =0x51EB851F @ Load from Memory .text:0000E4A0 SMULL R6, R1, R2, R0 @ Signed Multiply long .text:0000E4A4 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000E4A8 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000E4AC ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000E4B0 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000E4B4 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000E4B8 BL call_gettimeofday @ Branch with Link .text:0000E4BC MOV R1, R4 @ Rd = Op2 .text:0000E4C0 MOV R2, R0 @ Rd = Op2 .text:0000E4C4 LDR R3, =aProcesspack @ Load from Memory .text:0000E4C8 LDR R0, =logfile_format @ Load from Memory .text:0000E4CC BL printf @ Branch with Link .text:0000E4D0 LDR R0, =aGotRandomRever @ Load from Memory .text:0000E4D4 BL xdebug_out @ Branch with Link .text:0000E4D8 MOV R0, #0 @ Rd = Op2 .text:0000E4DC BL sub_257B4 @ Branch with Link .text:0000E4E0 .text:0000E4E0 loc_E4E0: @ CODE XREF: processpack+2568j .text:0000E4E0 LDR R3, =dword_35F5C @ Load from Memory .text:0000E4E4 LDR R2, [R3] @ Load from Memory .text:0000E4E8 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000E4EC BNE loc_E58C @ Branch .text:0000E4F0 .text:0000E4F0 loc_E4F0: @ CODE XREF: processpack+2670j .text:0000E4F0 LDR R3, =track_offset @ Load from Memory .text:0000E4F4 LDR R2, =dword_35F80 @ Load from Memory .text:0000E4F8 LDR R4, [R3] @ Load from Memory .text:0000E4FC LDR R3, =dword_35F50 @ Load from Memory .text:0000E500 MOV R1, #0 @ Rd = Op2 .text:0000E504 STR R1, [R3] @ Store to Memory .text:0000E508 STR R1, [R2] @ Store to Memory .text:0000E50C LDR R3, =dword_35F8C @ Load from Memory .text:0000E510 LDR R2, =dword_35F90 @ Load from Memory .text:0000E514 CMP R4, #0 @ Set cond. codes on Op1 - Op2 .text:0000E518 STR R1, [R3] @ Store to Memory .text:0000E51C STR R1, [R2] @ Store to Memory .text:0000E520 BEQ loc_E548 @ Branch .text:0000E524 LDR R9, =track_num @ Load from Memory .text:0000E528 LDR R10, =disk_num @ Load from Memory .text:0000E52C BL phat_stop @ Branch with Link .text:0000E530 MOVL R3, 0xFFFFFFFF .text:0000E534 STR R3, [R9] @ Store to Memory .text:0000E538 MOV R0, R10 @ Rd = Op2 .text:0000E53C MOV R1, R9 @ Rd = Op2 .text:0000E540 BL phat_nexttrack @ Branch with Link .text:0000E544 B loc_E3D4 @ Branch .text:0000E548 @ --------------------------------------------------------------------------- .text:0000E548 .text:0000E548 loc_E548: @ CODE XREF: processpack+25F8j .text:0000E548 LDR R9, =track_num @ Load from Memory .text:0000E54C LDR R10, =disk_num @ Load from Memory .text:0000E550 MOVL R3, 0xFFFFFFFF .text:0000E554 STR R3, [R9] @ Store to Memory .text:0000E558 MOV R1, R9 @ Rd = Op2 .text:0000E55C MOV R0, R10 @ Rd = Op2 .text:0000E560 BL phat_nexttrack @ Branch with Link .text:0000E564 LDR R1, [R9] @ Load from Memory .text:0000E568 MOV R2, R4 @ Rd = Op2 .text:0000E56C LDR R0, [R10] @ Load from Memory .text:0000E570 BL phat_play @ Branch with Link .text:0000E574 MOV R3, R4 @ Rd = Op2 .text:0000E578 LDR R2, =dword_45840 @ Load from Memory .text:0000E57C MOV R0, R10 @ Rd = Op2 .text:0000E580 MOV R1, R9 @ Rd = Op2 .text:0000E584 BL phat_status @ Branch with Link .text:0000E588 B loc_E3D4 @ Branch .text:0000E58C @ --------------------------------------------------------------------------- .text:0000E58C .text:0000E58C loc_E58C: @ CODE XREF: processpack+25C4j .text:0000E58C MOVL R0, 0xFFFFFFFF .text:0000E590 MOV R1, R0 @ Rd = Op2 .text:0000E594 BL run_audio_id @ Branch with Link .text:0000E598 B loc_E4F0 @ Branch .text:0000E59C @ --------------------------------------------------------------------------- .text:0000E59C .text:0000E59C rand_off: @ CODE XREF: processpack+18j .text:0000E59C @ DATA XREF: processpack+F8o .text:0000E59C LDR R3, =debug_level @ Load from Memory .text:0000E5A0 LDR R2, [R3] @ Load from Memory .text:0000E5A4 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000E5A8 BLT loc_E5F8 @ Branch .text:0000E5AC MOV R0, #0 @ Rd = Op2 .text:0000E5B0 BL time @ Branch with Link .text:0000E5B4 LDR R2, =0x51EB851F @ Load from Memory .text:0000E5B8 SMULL R5, R1, R2, R0 @ Signed Multiply long .text:0000E5BC MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000E5C0 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000E5C4 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000E5C8 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000E5CC SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000E5D0 BL call_gettimeofday @ Branch with Link .text:0000E5D4 MOV R1, R4 @ Rd = Op2 .text:0000E5D8 MOV R2, R0 @ Rd = Op2 .text:0000E5DC LDR R3, =aProcesspack @ Load from Memory .text:0000E5E0 LDR R0, =logfile_format @ Load from Memory .text:0000E5E4 BL printf @ Branch with Link .text:0000E5E8 LDR R0, =aGotRandomOff @ Load from Memory .text:0000E5EC BL xdebug_out @ Branch with Link .text:0000E5F0 MOV R0, #0 @ Rd = Op2 .text:0000E5F4 BL sub_257B4 @ Branch with Link .text:0000E5F8 .text:0000E5F8 loc_E5F8: @ CODE XREF: processpack+2680j .text:0000E5F8 BL phat_randoff @ Branch with Link .text:0000E5FC B loc_D98C @ Branch .text:0000E600 @ --------------------------------------------------------------------------- .text:0000E600 .text:0000E600 req_track_name: @ CODE XREF: processpack+18j .text:0000E600 @ DATA XREF: processpack+134o .text:0000E600 LDR R3, =debug_level @ Load from Memory .text:0000E604 LDR R2, [R3] @ Load from Memory .text:0000E608 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000E60C BLT loc_E68C @ Branch .text:0000E610 MOV R0, #0 @ Rd = Op2 .text:0000E614 BL time @ Branch with Link .text:0000E618 LDR R2, =0x51EB851F @ Load from Memory .text:0000E61C SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000E620 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000E624 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000E628 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000E62C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000E630 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000E634 BL call_gettimeofday @ Branch with Link .text:0000E638 MOV R1, R4 @ Rd = Op2 .text:0000E63C MOV R2, R0 @ Rd = Op2 .text:0000E640 LDR R3, =aProcesspack @ Load from Memory .text:0000E644 LDR R0, =logfile_format @ Load from Memory .text:0000E648 BL printf @ Branch with Link .text:0000E64C LDRB R3, [R7] @ Load from Memory .text:0000E650 LDRB R0, [R7,#1] @ Load from Memory .text:0000E654 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000E658 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000E65C ADD R0, R0, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000E660 BL sub_166EC @ Branch with Link .text:0000E664 LDRB R3, [R7,#2] @ Load from Memory .text:0000E668 LDRB R1, [R7,#3] @ Load from Memory .text:0000E66C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000E670 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000E674 MOV R2, R0 @ Rd = Op2 .text:0000E678 ADD R1, R1, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000E67C LDR R0, =aGotDirectTrack @ Load from Memory .text:0000E680 BL printf @ Branch with Link .text:0000E684 MOV R0, #0 @ Rd = Op2 .text:0000E688 BL sub_257B4 @ Branch with Link .text:0000E68C .text:0000E68C loc_E68C: @ CODE XREF: processpack+26E4j .text:0000E68C LDRB R3, [R7] @ Load from Memory .text:0000E690 LDRB R0, [R7,#1] @ Load from Memory .text:0000E694 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000E698 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000E69C ADD R0, R0, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000E6A0 BL sub_166EC @ Branch with Link .text:0000E6A4 LDRB R3, [R7,#2] @ Load from Memory .text:0000E6A8 MOV R1, R0 @ Rd = Op2 .text:0000E6AC ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000E6B0 LDRB R0, [R7,#3] @ Load from Memory .text:0000E6B4 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000E6B8 ADD R0, R0, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000E6BC BL phat_desc @ Branch with Link .text:0000E6C0 MOV R1, #1 @ Rd = Op2 .text:0000E6C4 .text:0000E6C4 loc_E6C4: @ CODE XREF: processpack+2830j .text:0000E6C4 BL write_text @ Branch with Link .text:0000E6C8 B loc_C780 @ Branch .text:0000E6CC @ --------------------------------------------------------------------------- .text:0000E6CC .text:0000E6CC req_disk_name: @ CODE XREF: processpack+18j .text:0000E6CC @ DATA XREF: processpack+138o .text:0000E6CC LDR R3, =debug_level @ Load from Memory .text:0000E6D0 LDR R2, [R3] @ Load from Memory .text:0000E6D4 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000E6D8 BLT loc_E73C @ Branch .text:0000E6DC MOV R0, #0 @ Rd = Op2 .text:0000E6E0 BL time @ Branch with Link .text:0000E6E4 LDR R2, =0x51EB851F @ Load from Memory .text:0000E6E8 SMULL R5, R1, R2, R0 @ Signed Multiply long .text:0000E6EC MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000E6F0 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000E6F4 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000E6F8 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000E6FC SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000E700 BL call_gettimeofday @ Branch with Link .text:0000E704 MOV R1, R4 @ Rd = Op2 .text:0000E708 MOV R2, R0 @ Rd = Op2 .text:0000E70C LDR R3, =aProcesspack @ Load from Memory .text:0000E710 LDR R0, =logfile_format @ Load from Memory .text:0000E714 BL printf @ Branch with Link .text:0000E718 LDRB R3, [R7] @ Load from Memory .text:0000E71C LDRB R1, [R7,#1] @ Load from Memory .text:0000E720 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000E724 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000E728 ADD R1, R1, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000E72C LDR R0, =aGotDirectDiscT @ Load from Memory .text:0000E730 BL printf @ Branch with Link .text:0000E734 MOV R0, #0 @ Rd = Op2 .text:0000E738 BL sub_257B4 @ Branch with Link .text:0000E73C .text:0000E73C loc_E73C: @ CODE XREF: processpack+27B0j .text:0000E73C LDRB R3, [R7] @ Load from Memory .text:0000E740 LDRB R0, [R7,#1] @ Load from Memory .text:0000E744 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000E748 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000E74C ADD R0, R0, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000E750 BL list_title_text @ Branch with Link .text:0000E754 MOV R1, #0 @ Rd = Op2 .text:0000E758 B loc_E6C4 @ Branch .text:0000E75C @ --------------------------------------------------------------------------- .text:0000E75C .text:0000E75C standby: @ CODE XREF: processpack+18j .text:0000E75C @ DATA XREF: processpack+15Co .text:0000E75C LDR R3, =debug_level @ Load from Memory .text:0000E760 LDR R2, [R3] @ Load from Memory .text:0000E764 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000E768 BLT loc_E7B8 @ Branch .text:0000E76C MOV R0, #0 @ Rd = Op2 .text:0000E770 BL time @ Branch with Link .text:0000E774 LDR R2, =0x51EB851F @ Load from Memory .text:0000E778 SMULL R6, R1, R2, R0 @ Signed Multiply long .text:0000E77C MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000E780 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000E784 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000E788 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000E78C SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000E790 BL call_gettimeofday @ Branch with Link .text:0000E794 MOV R1, R4 @ Rd = Op2 .text:0000E798 MOV R2, R0 @ Rd = Op2 .text:0000E79C LDR R3, =aProcesspack @ Load from Memory .text:0000E7A0 LDR R0, =logfile_format @ Load from Memory .text:0000E7A4 BL printf @ Branch with Link .text:0000E7A8 LDR R0, =aGotStandby @ Load from Memory .text:0000E7AC BL xdebug_out @ Branch with Link .text:0000E7B0 MOV R0, #0 @ Rd = Op2 .text:0000E7B4 BL sub_257B4 @ Branch with Link .text:0000E7B8 .text:0000E7B8 loc_E7B8: @ CODE XREF: processpack+2840j .text:0000E7B8 BL sub_19758 @ Branch with Link .text:0000E7BC BL sub_16ACC @ Branch with Link .text:0000E7C0 LDR R1, =aQ @ Load from Memory .text:0000E7C4 MOV R3, R0 @ Rd = Op2 .text:0000E7C8 LDR R2, =aY @ Load from Memory .text:0000E7CC LDR R0, =aDosHdparm @ Load from Memory .text:0000E7D0 BL call_exec @ Branch with Link .text:0000E7D4 LDR R3, =dword_45920 @ Load from Memory .text:0000E7D8 MOV R1, #0 @ Rd = Op2 .text:0000E7DC LDR R0, [R3] @ Load from Memory .text:0000E7E0 MOV R2, R1 @ Rd = Op2 .text:0000E7E4 MOV R3, #1 @ Rd = Op2 .text:0000E7E8 MOV R12, #0x76 @ 'v' @ Rd = Op2 .text:0000E7EC B loc_CDBC @ Branch .text:0000E7F0 @ --------------------------------------------------------------------------- .text:0000E7F0 .text:0000E7F0 shutdown: @ CODE XREF: processpack+18j .text:0000E7F0 @ DATA XREF: processpack+160o .text:0000E7F0 LDR R3, =debug_level @ Load from Memory .text:0000E7F4 LDR R2, [R3] @ Load from Memory .text:0000E7F8 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000E7FC BLT loc_E84C @ Branch .text:0000E800 MOV R0, #0 @ Rd = Op2 .text:0000E804 BL time @ Branch with Link .text:0000E808 LDR R2, =0x51EB851F @ Load from Memory .text:0000E80C SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000E810 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000E814 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000E818 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000E81C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000E820 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000E824 BL call_gettimeofday @ Branch with Link .text:0000E828 MOV R1, R4 @ Rd = Op2 .text:0000E82C MOV R2, R0 @ Rd = Op2 .text:0000E830 LDR R3, =aProcesspack @ Load from Memory .text:0000E834 LDR R0, =logfile_format @ Load from Memory .text:0000E838 BL printf @ Branch with Link .text:0000E83C LDR R0, =aGotShutdown @ Load from Memory .text:0000E840 BL xdebug_out @ Branch with Link .text:0000E844 MOV R0, #0 @ Rd = Op2 .text:0000E848 BL sub_257B4 @ Branch with Link .text:0000E84C .text:0000E84C loc_E84C: @ CODE XREF: processpack+28D4j .text:0000E84C BL sub_19758 @ Branch with Link .text:0000E850 LDR R0, =aDebug_log @ name .text:0000E854 BL getenv @ Branch with Link .text:0000E858 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000E85C BNE loc_E8B8 @ Branch .text:0000E860 .text:0000E860 loc_E860: @ CODE XREF: processpack+299Cj .text:0000E860 MOV R0, #1 @ Rd = Op2 .text:0000E864 MOV R1, #0x200 @ Rd = Op2 .text:0000E868 BL get_pn_board_ver @ Branch with Link .text:0000E86C CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000E870 BNE loc_E8B0 @ Branch .text:0000E874 .text:0000E874 loc_E874: @ CODE XREF: processpack+298Cj .text:0000E874 BL sub_16ACC @ Branch with Link .text:0000E878 LDR R1, =aQ @ Load from Memory .text:0000E87C MOV R3, R0 @ Rd = Op2 .text:0000E880 LDR R2, =aY_0 @ Load from Memory .text:0000E884 LDR R0, =aDosHdparm @ Load from Memory .text:0000E888 BL call_exec @ Branch with Link .text:0000E88C MOV R0, #2 @ Rd = Op2 .text:0000E890 BL sub_287AC @ Branch with Link .text:0000E894 LDR R3, =dword_45920 @ Load from Memory .text:0000E898 MOV R1, #0 @ Rd = Op2 .text:0000E89C LDR R0, [R3] @ Load from Memory .text:0000E8A0 MOV R2, R1 @ Rd = Op2 .text:0000E8A4 MOV R3, #1 @ Rd = Op2 .text:0000E8A8 MOV R12, #0x75 @ 'u' @ Rd = Op2 .text:0000E8AC B loc_CDBC @ Branch .text:0000E8B0 @ --------------------------------------------------------------------------- .text:0000E8B0 .text:0000E8B0 loc_E8B0: @ CODE XREF: processpack+2948j .text:0000E8B0 BL sync @ Branch with Link .text:0000E8B4 B loc_E874 @ Branch .text:0000E8B8 @ --------------------------------------------------------------------------- .text:0000E8B8 .text:0000E8B8 loc_E8B8: @ CODE XREF: processpack+2934j .text:0000E8B8 MOV R0, #0 @ Rd = Op2 .text:0000E8BC BL sub_257B4 @ Branch with Link .text:0000E8C0 BL sync @ Branch with Link .text:0000E8C4 B loc_E860 @ Branch .text:0000E8C8 @ --------------------------------------------------------------------------- .text:0000E8C8 .text:0000E8C8 hdd_wakeup: @ CODE XREF: processpack+18j .text:0000E8C8 @ DATA XREF: processpack+164o .text:0000E8C8 LDR R3, =debug_level @ Load from Memory .text:0000E8CC LDR R2, [R3] @ Load from Memory .text:0000E8D0 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000E8D4 BLT loc_E924 @ Branch .text:0000E8D8 MOV R0, #0 @ Rd = Op2 .text:0000E8DC BL time @ Branch with Link .text:0000E8E0 LDR R2, =0x51EB851F @ Load from Memory .text:0000E8E4 SMULL R5, R1, R2, R0 @ Signed Multiply long .text:0000E8E8 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000E8EC RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000E8F0 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000E8F4 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000E8F8 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000E8FC BL call_gettimeofday @ Branch with Link .text:0000E900 MOV R1, R4 @ Rd = Op2 .text:0000E904 MOV R2, R0 @ Rd = Op2 .text:0000E908 LDR R3, =aProcesspack @ Load from Memory .text:0000E90C LDR R0, =logfile_format @ Load from Memory .text:0000E910 BL printf @ Branch with Link .text:0000E914 LDR R0, =aGotHddWakeup @ Load from Memory .text:0000E918 BL xdebug_out @ Branch with Link .text:0000E91C MOV R0, #0 @ Rd = Op2 .text:0000E920 BL sub_257B4 @ Branch with Link .text:0000E924 .text:0000E924 loc_E924: @ CODE XREF: processpack+29ACj .text:0000E924 BL sub_16ACC @ Branch with Link .text:0000E928 LDR R1, =aQ @ Load from Memory .text:0000E92C MOV R3, R0 @ Rd = Op2 .text:0000E930 LDR R2, =aW @ Load from Memory .text:0000E934 LDR R0, =aDosHdparm @ Load from Memory .text:0000E938 BL call_exec @ Branch with Link .text:0000E93C LDR R3, =dword_45920 @ Load from Memory .text:0000E940 MOV R1, #0 @ Rd = Op2 .text:0000E944 LDR R0, [R3] @ Load from Memory .text:0000E948 MOV R2, R1 @ Rd = Op2 .text:0000E94C MOV R3, #1 @ Rd = Op2 .text:0000E950 MOV R12, #0x77 @ 'w' @ Rd = Op2 .text:0000E954 B loc_CDBC @ Branch .text:0000E958 @ --------------------------------------------------------------------------- .text:0000E958 .text:0000E958 prog_pld: @ CODE XREF: processpack+18j .text:0000E958 @ DATA XREF: processpack+168o .text:0000E958 LDR R3, =debug_level @ Load from Memory .text:0000E95C LDR R2, [R3] @ Load from Memory .text:0000E960 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000E964 BLT loc_E9B4 @ Branch .text:0000E968 MOV R0, #0 @ Rd = Op2 .text:0000E96C BL time @ Branch with Link .text:0000E970 LDR R2, =0x51EB851F @ Load from Memory .text:0000E974 SMULL R6, R1, R2, R0 @ Signed Multiply long .text:0000E978 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000E97C RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000E980 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000E984 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000E988 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000E98C BL call_gettimeofday @ Branch with Link .text:0000E990 MOV R1, R4 @ Rd = Op2 .text:0000E994 MOV R2, R0 @ Rd = Op2 .text:0000E998 LDR R3, =aProcesspack @ Load from Memory .text:0000E99C LDR R0, =logfile_format @ Load from Memory .text:0000E9A0 BL printf @ Branch with Link .text:0000E9A4 LDR R0, =aGotProgPld @ Load from Memory .text:0000E9A8 BL xdebug_out @ Branch with Link .text:0000E9AC MOV R0, #0 @ Rd = Op2 .text:0000E9B0 BL sub_257B4 @ Branch with Link .text:0000E9B4 .text:0000E9B4 loc_E9B4: @ CODE XREF: processpack+2A3Cj .text:0000E9B4 BL program_pld @ Branch with Link .text:0000E9B8 LDR R3, =dword_45920 @ Load from Memory .text:0000E9BC MOV R1, #0 @ Rd = Op2 .text:0000E9C0 LDR R0, [R3] @ Load from Memory .text:0000E9C4 MOV R2, R1 @ Rd = Op2 .text:0000E9C8 MOV R3, #1 @ Rd = Op2 .text:0000E9CC MOV R12, #0x74 @ 't' @ Rd = Op2 .text:0000E9D0 B loc_CDBC @ Branch .text:0000E9D4 @ --------------------------------------------------------------------------- .text:0000E9D4 .text:0000E9D4 play_loopfile: @ CODE XREF: processpack+18j .text:0000E9D4 @ DATA XREF: processpack+16Co .text:0000E9D4 LDR R3, =debug_level @ Load from Memory .text:0000E9D8 LDR R2, [R3] @ Load from Memory .text:0000E9DC CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000E9E0 BLT loc_EA30 @ Branch .text:0000E9E4 MOV R0, #0 @ Rd = Op2 .text:0000E9E8 BL time @ Branch with Link .text:0000E9EC LDR R2, =0x51EB851F @ Load from Memory .text:0000E9F0 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000E9F4 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000E9F8 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000E9FC ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000EA00 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000EA04 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000EA08 BL call_gettimeofday @ Branch with Link .text:0000EA0C MOV R1, R4 @ Rd = Op2 .text:0000EA10 MOV R2, R0 @ Rd = Op2 .text:0000EA14 LDR R3, =aProcesspack @ Load from Memory .text:0000EA18 LDR R0, =logfile_format @ Load from Memory .text:0000EA1C BL printf @ Branch with Link .text:0000EA20 LDR R0, =aGotPlayLoopfil @ Load from Memory .text:0000EA24 BL xdebug_out @ Branch with Link .text:0000EA28 MOV R0, #0 @ Rd = Op2 .text:0000EA2C BL sub_257B4 @ Branch with Link .text:0000EA30 .text:0000EA30 loc_EA30: @ CODE XREF: processpack+2AB8j .text:0000EA30 MOV R1, #0 @ Rd = Op2 .text:0000EA34 LDR R0, =a_loop @ Load from Memory .text:0000EA38 BL phat_playfile @ Branch with Link .text:0000EA3C B loc_C780 @ Branch .text:0000EA40 @ --------------------------------------------------------------------------- .text:0000EA40 .text:0000EA40 sync_req: @ CODE XREF: processpack+18j .text:0000EA40 @ DATA XREF: processpack+170o .text:0000EA40 LDR R3, =debug_level @ Load from Memory .text:0000EA44 LDR R2, [R3] @ Load from Memory .text:0000EA48 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000EA4C BLT loc_EA9C @ Branch .text:0000EA50 MOV R0, #0 @ Rd = Op2 .text:0000EA54 BL time @ Branch with Link .text:0000EA58 LDR R2, =0x51EB851F @ Load from Memory .text:0000EA5C SMULL R5, R1, R2, R0 @ Signed Multiply long .text:0000EA60 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000EA64 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000EA68 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000EA6C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000EA70 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000EA74 BL call_gettimeofday @ Branch with Link .text:0000EA78 MOV R1, R4 @ Rd = Op2 .text:0000EA7C MOV R2, R0 @ Rd = Op2 .text:0000EA80 LDR R3, =aProcesspack @ Load from Memory .text:0000EA84 LDR R0, =logfile_format @ Load from Memory .text:0000EA88 BL printf @ Branch with Link .text:0000EA8C LDR R0, =aGotSyncRequest @ Load from Memory .text:0000EA90 BL xdebug_out @ Branch with Link .text:0000EA94 MOV R0, #0 @ Rd = Op2 .text:0000EA98 BL sub_257B4 @ Branch with Link .text:0000EA9C .text:0000EA9C loc_EA9C: @ CODE XREF: processpack+2B24j .text:0000EA9C BL sub_152E4 @ Branch with Link .text:0000EAA0 B loc_C780 @ Branch .text:0000EAA4 @ --------------------------------------------------------------------------- .text:0000EAA4 .text:0000EAA4 ping: @ CODE XREF: processpack+18j .text:0000EAA4 @ DATA XREF: processpack+174o .text:0000EAA4 LDR R3, =debug_level @ Load from Memory .text:0000EAA8 LDR R2, [R3] @ Load from Memory .text:0000EAAC CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000EAB0 BLT loc_EB00 @ Branch .text:0000EAB4 MOV R0, #0 @ Rd = Op2 .text:0000EAB8 BL time @ Branch with Link .text:0000EABC LDR R2, =0x51EB851F @ Load from Memory .text:0000EAC0 SMULL R6, R1, R2, R0 @ Signed Multiply long .text:0000EAC4 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000EAC8 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000EACC ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000EAD0 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000EAD4 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000EAD8 BL call_gettimeofday @ Branch with Link .text:0000EADC MOV R1, R4 @ Rd = Op2 .text:0000EAE0 MOV R2, R0 @ Rd = Op2 .text:0000EAE4 LDR R3, =aProcesspack @ Load from Memory .text:0000EAE8 LDR R0, =logfile_format @ Load from Memory .text:0000EAEC BL printf @ Branch with Link .text:0000EAF0 LDR R0, =aGotPing @ Load from Memory .text:0000EAF4 BL xdebug_out @ Branch with Link .text:0000EAF8 MOV R0, #0 @ Rd = Op2 .text:0000EAFC BL sub_257B4 @ Branch with Link .text:0000EB00 .text:0000EB00 loc_EB00: @ CODE XREF: processpack+2B88j .text:0000EB00 BL sched_yield @ Branch with Link .text:0000EB04 LDR R3, =dword_45920 @ Load from Memory .text:0000EB08 MOV R1, #0 @ Rd = Op2 .text:0000EB0C LDR R0, [R3] @ Load from Memory .text:0000EB10 MOV R2, R1 @ Rd = Op2 .text:0000EB14 MOV R3, #1 @ Rd = Op2 .text:0000EB18 MOV R12, #0x70 @ 'p' @ Rd = Op2 .text:0000EB1C B loc_CDBC @ Branch .text:0000EB20 @ --------------------------------------------------------------------------- .text:0000EB20 .text:0000EB20 req_reboot_uC: @ CODE XREF: processpack+18j .text:0000EB20 @ DATA XREF: processpack+178o .text:0000EB20 LDR R3, =debug_level @ Load from Memory .text:0000EB24 LDR R2, [R3] @ Load from Memory .text:0000EB28 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000EB2C BLT loc_EB7C @ Branch .text:0000EB30 MOV R0, #0 @ Rd = Op2 .text:0000EB34 BL time @ Branch with Link .text:0000EB38 LDR R2, =0x51EB851F @ Load from Memory .text:0000EB3C SMULL R6, R1, R2, R0 @ Signed Multiply long .text:0000EB40 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000EB44 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000EB48 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000EB4C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000EB50 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000EB54 BL call_gettimeofday @ Branch with Link .text:0000EB58 MOV R1, R4 @ Rd = Op2 .text:0000EB5C MOV R2, R0 @ Rd = Op2 .text:0000EB60 LDR R3, =aProcesspack @ Load from Memory .text:0000EB64 LDR R0, =logfile_format @ Load from Memory .text:0000EB68 BL printf @ Branch with Link .text:0000EB6C LDR R0, =aGotRequestToRe @ Load from Memory .text:0000EB70 BL xdebug_out @ Branch with Link .text:0000EB74 MOV R0, #0 @ Rd = Op2 .text:0000EB78 BL sub_257B4 @ Branch with Link .text:0000EB7C .text:0000EB7C loc_EB7C: @ CODE XREF: processpack+2C04j .text:0000EB7C BL reset_51 @ Branch with Link .text:0000EB80 B loc_C780 @ Branch .text:0000EB84 @ --------------------------------------------------------------------------- .text:0000EB84 .text:0000EB84 cur_temp: @ CODE XREF: processpack+18j .text:0000EB84 @ DATA XREF: processpack+1A8o .text:0000EB84 LDR R3, =debug_level @ Load from Memory .text:0000EB88 LDR R2, [R3] @ Load from Memory .text:0000EB8C CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000EB90 BLT loc_C780 @ Branch .text:0000EB94 MOV R0, #0 @ Rd = Op2 .text:0000EB98 BL time @ Branch with Link .text:0000EB9C LDR R2, =0x51EB851F @ Load from Memory .text:0000EBA0 SMULL R5, R1, R2, R0 @ Signed Multiply long .text:0000EBA4 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000EBA8 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000EBAC ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000EBB0 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000EBB4 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000EBB8 BL call_gettimeofday @ Branch with Link .text:0000EBBC MOV R1, R4 @ Rd = Op2 .text:0000EBC0 MOV R2, R0 @ Rd = Op2 .text:0000EBC4 LDR R3, =aProcesspack @ Load from Memory .text:0000EBC8 LDR R0, =logfile_format @ Load from Memory .text:0000EBCC BL printf @ Branch with Link .text:0000EBD0 LDRB R1, [R7] @ Load from Memory .text:0000EBD4 LDR R0, =aGotCurTempINoA @ Load from Memory .text:0000EBD8 B loc_D610 @ Branch .text:0000EBDC @ --------------------------------------------------------------------------- .text:0000EBDC .text:0000EBDC inf_8051_rebooting: @ CODE XREF: processpack+18j .text:0000EBDC @ DATA XREF: processpack+1BCo .text:0000EBDC LDR R3, =debug_level @ Load from Memory .text:0000EBE0 LDR R2, [R3] @ Load from Memory .text:0000EBE4 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000EBE8 BLT loc_C780 @ Branch .text:0000EBEC MOV R0, #0 @ Rd = Op2 .text:0000EBF0 BL time @ Branch with Link .text:0000EBF4 LDR R2, =0x51EB851F @ Load from Memory .text:0000EBF8 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000EBFC MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000EC00 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000EC04 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000EC08 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000EC0C SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000EC10 BL call_gettimeofday @ Branch with Link .text:0000EC14 MOV R1, R4 @ Rd = Op2 .text:0000EC18 MOV R2, R0 @ Rd = Op2 .text:0000EC1C LDR R3, =aProcesspack @ Load from Memory .text:0000EC20 LDR R0, =logfile_format @ Load from Memory .text:0000EC24 BL printf @ Branch with Link .text:0000EC28 LDR R0, =aGot51Rebooting @ Load from Memory .text:0000EC2C B loc_DB90 @ Branch .text:0000EC30 @ --------------------------------------------------------------------------- .text:0000EC30 .text:0000EC30 unmute_dac: @ CODE XREF: processpack+18j .text:0000EC30 @ DATA XREF: processpack+1DCo .text:0000EC30 LDRB R5, [R1] @ Load from Memory .text:0000EC34 CMP R5, #1 @ Set cond. codes on Op1 - Op2 .text:0000EC38 BEQ loc_ED8C @ Branch .text:0000EC3C BGT loc_ED2C @ Branch .text:0000EC40 CMP R5, #0 @ Set cond. codes on Op1 - Op2 .text:0000EC44 BNE loc_C780 @ Branch .text:0000EC48 LDRB R6, [R1,#1] @ Load from Memory .text:0000EC4C CMP R6, #1 @ Set cond. codes on Op1 - Op2 .text:0000EC50 BEQ loc_ECC8 @ Branch .text:0000EC54 CMP R6, #0 @ Set cond. codes on Op1 - Op2 .text:0000EC58 BNE loc_C780 @ Branch .text:0000EC5C LDR R3, =debug_level @ Load from Memory .text:0000EC60 LDR R2, [R3] @ Load from Memory .text:0000EC64 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000EC68 BLT loc_ECB8 @ Branch .text:0000EC6C MOV R0, R6 @ Rd = Op2 .text:0000EC70 BL time @ Branch with Link .text:0000EC74 LDR R2, =0x51EB851F @ Load from Memory .text:0000EC78 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000EC7C MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000EC80 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000EC84 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000EC88 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000EC8C SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000EC90 BL call_gettimeofday @ Branch with Link .text:0000EC94 MOV R1, R4 @ Rd = Op2 .text:0000EC98 MOV R2, R0 @ Rd = Op2 .text:0000EC9C LDR R3, =aProcesspack @ Load from Memory .text:0000ECA0 LDR R0, =logfile_format @ Load from Memory .text:0000ECA4 BL printf @ Branch with Link .text:0000ECA8 LDR R0, =aUnmuteDac @ Load from Memory .text:0000ECAC BL xdebug_out @ Branch with Link .text:0000ECB0 MOV R0, R6 @ Rd = Op2 .text:0000ECB4 BL sub_257B4 @ Branch with Link .text:0000ECB8 .text:0000ECB8 loc_ECB8: @ CODE XREF: processpack+2D40j .text:0000ECB8 LDR R0, =aU @ Load from Memory .text:0000ECBC .text:0000ECBC loc_ECBC: @ CODE XREF: processpack+2E00j .text:0000ECBC LDR R1, =aDevDac @ Load from Memory .text:0000ECC0 BL sub_16B1C @ Branch with Link .text:0000ECC4 B loc_C780 @ Branch .text:0000ECC8 @ --------------------------------------------------------------------------- .text:0000ECC8 .text:0000ECC8 loc_ECC8: @ CODE XREF: processpack+2D28j .text:0000ECC8 LDR R3, =debug_level @ Load from Memory .text:0000ECCC LDR R2, [R3] @ Load from Memory .text:0000ECD0 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000ECD4 BLT loc_ED24 @ Branch .text:0000ECD8 MOV R0, R5 @ Rd = Op2 .text:0000ECDC BL time @ Branch with Link .text:0000ECE0 LDR R2, =0x51EB851F @ Load from Memory .text:0000ECE4 SMULL R6, R1, R2, R0 @ Signed Multiply long .text:0000ECE8 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000ECEC RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000ECF0 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000ECF4 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000ECF8 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000ECFC BL call_gettimeofday @ Branch with Link .text:0000ED00 MOV R1, R4 @ Rd = Op2 .text:0000ED04 MOV R2, R0 @ Rd = Op2 .text:0000ED08 LDR R3, =aProcesspack @ Load from Memory .text:0000ED0C LDR R0, =logfile_format @ Load from Memory .text:0000ED10 BL printf @ Branch with Link .text:0000ED14 LDR R0, =aMuteDac @ Load from Memory .text:0000ED18 BL xdebug_out @ Branch with Link .text:0000ED1C MOV R0, R5 @ Rd = Op2 .text:0000ED20 BL sub_257B4 @ Branch with Link .text:0000ED24 .text:0000ED24 loc_ED24: @ CODE XREF: processpack+2DACj .text:0000ED24 LDR R0, =(aAlbum+4) @ Load from Memory .text:0000ED28 B loc_ECBC @ Branch .text:0000ED2C @ --------------------------------------------------------------------------- .text:0000ED2C .text:0000ED2C loc_ED2C: @ CODE XREF: processpack+2D14j .text:0000ED2C CMP R5, #2 @ Set cond. codes on Op1 - Op2 .text:0000ED30 BNE loc_C780 @ Branch .text:0000ED34 LDR R3, =debug_level @ Load from Memory .text:0000ED38 LDR R2, [R3] @ Load from Memory .text:0000ED3C CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000ED40 BLT loc_C780 @ Branch .text:0000ED44 MOV R0, #0 @ Rd = Op2 .text:0000ED48 BL time @ Branch with Link .text:0000ED4C LDR R2, =0x51EB851F @ Load from Memory .text:0000ED50 SMULL R6, R1, R2, R0 @ Signed Multiply long .text:0000ED54 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000ED58 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000ED5C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000ED60 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000ED64 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000ED68 BL call_gettimeofday @ Branch with Link .text:0000ED6C MOV R1, R4 @ Rd = Op2 .text:0000ED70 MOV R2, R0 @ Rd = Op2 .text:0000ED74 LDR R3, =aProcesspack @ Load from Memory .text:0000ED78 LDR R0, =logfile_format @ Load from Memory .text:0000ED7C BL printf @ Branch with Link .text:0000ED80 LDRB R1, [R7,#1] @ Load from Memory .text:0000ED84 LDR R0, =aSetDacGainToI @ Load from Memory .text:0000ED88 B loc_D610 @ Branch .text:0000ED8C @ --------------------------------------------------------------------------- .text:0000ED8C .text:0000ED8C loc_ED8C: @ CODE XREF: processpack+2D10j .text:0000ED8C LDR R3, =debug_level @ Load from Memory .text:0000ED90 LDR R2, [R3] @ Load from Memory .text:0000ED94 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000ED98 BLT loc_C780 @ Branch .text:0000ED9C MOV R0, #0 @ Rd = Op2 .text:0000EDA0 BL time @ Branch with Link .text:0000EDA4 LDR R2, =0x51EB851F @ Load from Memory .text:0000EDA8 SMULL R5, R1, R2, R0 @ Signed Multiply long .text:0000EDAC MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000EDB0 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000EDB4 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000EDB8 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000EDBC SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000EDC0 BL call_gettimeofday @ Branch with Link .text:0000EDC4 MOV R1, R4 @ Rd = Op2 .text:0000EDC8 MOV R2, R0 @ Rd = Op2 .text:0000EDCC LDR R3, =aProcesspack @ Load from Memory .text:0000EDD0 LDR R0, =logfile_format @ Load from Memory .text:0000EDD4 BL printf @ Branch with Link .text:0000EDD8 LDR R0, =aInitializeDac @ Load from Memory .text:0000EDDC B loc_DB90 @ Branch .text:0000EDE0 @ --------------------------------------------------------------------------- .text:0000EDE0 .text:0000EDE0 ssa_play_mode: @ CODE XREF: processpack+18j .text:0000EDE0 @ DATA XREF: processpack+21Co .text:0000EDE0 LDRB R3, [R1] @ Load from Memory .text:0000EDE4 MOV R5, R3,LSR#4 @ Rd = Op2 .text:0000EDE8 CMP R5, #1 @ Set cond. codes on Op1 - Op2 .text:0000EDEC BEQ loc_EFFC @ Branch .text:0000EDF0 LDR R10, =debug_level @ Load from Memory .text:0000EDF4 .text:0000EDF4 loc_EDF4: @ CODE XREF: processpack+3114j .text:0000EDF4 AND R3, R3, #0xF @ Rd = Op1 & Op2 .text:0000EDF8 CMP R3, #2 @ Set cond. codes on Op1 - Op2 .text:0000EDFC BEQ loc_EF9C @ Branch .text:0000EE00 BGT loc_EF34 @ Branch .text:0000EE04 CMP R3, #1 @ Set cond. codes on Op1 - Op2 .text:0000EE08 BEQ loc_EED4 @ Branch .text:0000EE0C .text:0000EE0C loc_EE0C: @ CODE XREF: processpack+3010j .text:0000EE0C LDR R3, [R10] @ Load from Memory .text:0000EE10 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0000EE14 BLT loc_EE64 @ Branch .text:0000EE18 MOV R0, #0 @ Rd = Op2 .text:0000EE1C BL time @ Branch with Link .text:0000EE20 LDR R2, =0x51EB851F @ Load from Memory .text:0000EE24 SMULL R5, R1, R2, R0 @ Signed Multiply long .text:0000EE28 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000EE2C RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000EE30 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000EE34 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000EE38 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000EE3C BL call_gettimeofday @ Branch with Link .text:0000EE40 MOV R1, R4 @ Rd = Op2 .text:0000EE44 MOV R2, R0 @ Rd = Op2 .text:0000EE48 LDR R3, =aProcesspack @ Load from Memory .text:0000EE4C LDR R0, =logfile_format @ Load from Memory .text:0000EE50 BL printf @ Branch with Link .text:0000EE54 LDR R0, =aNormalPlayMode @ Load from Memory .text:0000EE58 BL xdebug_out @ Branch with Link .text:0000EE5C MOV R0, #0 @ Rd = Op2 .text:0000EE60 BL sub_257B4 @ Branch with Link .text:0000EE64 .text:0000EE64 loc_EE64: @ CODE XREF: processpack+2EECj .text:0000EE64 BL phat_plamode_normal @ Branch with Link .text:0000EE68 .text:0000EE68 loc_EE68: @ CODE XREF: processpack+3008j .text:0000EE68 @ processpack+3070j ... .text:0000EE68 LDR R6, =disk_num @ Load from Memory .text:0000EE6C LDRB R12, [R7] @ Load from Memory .text:0000EE70 LDR R5, =track_num @ Load from Memory .text:0000EE74 LDR R8, =dword_45840 @ Load from Memory .text:0000EE78 LDR R4, =play_mode_0x34 @ Load from Memory .text:0000EE7C MOV R0, R6 @ Rd = Op2 .text:0000EE80 MOV R1, R5 @ Rd = Op2 .text:0000EE84 MOV R2, R8 @ Rd = Op2 .text:0000EE88 MOV R3, #0 @ Rd = Op2 .text:0000EE8C STR R12, [R4] @ Store to Memory .text:0000EE90 BL phat_status @ Branch with Link .text:0000EE94 LDR R0, [R6] @ Load from Memory .text:0000EE98 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000EE9C BLT loc_EEAC @ Branch .text:0000EEA0 LDR R1, [R5] @ Load from Memory .text:0000EEA4 CMP R1, #0 @ Set cond. codes on Op1 - Op2 .text:0000EEA8 BGE loc_DD50 @ Branch .text:0000EEAC .text:0000EEAC loc_EEAC: @ CODE XREF: processpack+2F74j .text:0000EEAC MOVL R12, 0xFFFFFF9C .text:0000EEB0 MOV R1, R5 @ Rd = Op2 .text:0000EEB4 MOV R2, R8 @ Rd = Op2 .text:0000EEB8 MOV R0, R6 @ Rd = Op2 .text:0000EEBC MOV R3, #0 @ Rd = Op2 .text:0000EEC0 STR R12, [R5] @ Store to Memory .text:0000EEC4 BL phat_status @ Branch with Link .text:0000EEC8 LDR R0, [R6] @ Load from Memory .text:0000EECC LDR R1, [R5] @ Load from Memory .text:0000EED0 B loc_DD50 @ Branch .text:0000EED4 @ --------------------------------------------------------------------------- .text:0000EED4 .text:0000EED4 loc_EED4: @ CODE XREF: processpack+2EE0j .text:0000EED4 LDR R3, [R10] @ Load from Memory .text:0000EED8 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0000EEDC BLT loc_EF2C @ Branch .text:0000EEE0 MOV R0, #0 @ Rd = Op2 .text:0000EEE4 BL time @ Branch with Link .text:0000EEE8 LDR R2, =0x51EB851F @ Load from Memory .text:0000EEEC SMULL R5, R1, R2, R0 @ Signed Multiply long .text:0000EEF0 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000EEF4 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000EEF8 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000EEFC ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000EF00 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000EF04 BL call_gettimeofday @ Branch with Link .text:0000EF08 MOV R1, R4 @ Rd = Op2 .text:0000EF0C MOV R2, R0 @ Rd = Op2 .text:0000EF10 LDR R3, =aProcesspack @ Load from Memory .text:0000EF14 LDR R0, =logfile_format @ Load from Memory .text:0000EF18 BL printf @ Branch with Link .text:0000EF1C LDR R0, =aArtistPlayMode @ Load from Memory .text:0000EF20 BL xdebug_out @ Branch with Link .text:0000EF24 MOV R0, #0 @ Rd = Op2 .text:0000EF28 BL sub_257B4 @ Branch with Link .text:0000EF2C .text:0000EF2C loc_EF2C: @ CODE XREF: processpack+2FB4j .text:0000EF2C BL phat_playmode_artist @ Branch with Link .text:0000EF30 B loc_EE68 @ Branch .text:0000EF34 @ --------------------------------------------------------------------------- .text:0000EF34 .text:0000EF34 loc_EF34: @ CODE XREF: processpack+2ED8j .text:0000EF34 CMP R3, #3 @ Set cond. codes on Op1 - Op2 .text:0000EF38 BNE loc_EE0C @ Branch .text:0000EF3C LDR R3, [R10] @ Load from Memory .text:0000EF40 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0000EF44 BLT loc_EF94 @ Branch .text:0000EF48 MOV R0, #0 @ Rd = Op2 .text:0000EF4C BL time @ Branch with Link .text:0000EF50 LDR R2, =0x51EB851F @ Load from Memory .text:0000EF54 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000EF58 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000EF5C RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000EF60 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000EF64 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000EF68 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000EF6C BL call_gettimeofday @ Branch with Link .text:0000EF70 MOV R1, R4 @ Rd = Op2 .text:0000EF74 MOV R2, R0 @ Rd = Op2 .text:0000EF78 LDR R3, =aProcesspack @ Load from Memory .text:0000EF7C LDR R0, =logfile_format @ Load from Memory .text:0000EF80 BL printf @ Branch with Link .text:0000EF84 LDR R0, =aAlbumPlayMode @ Load from Memory .text:0000EF88 BL xdebug_out @ Branch with Link .text:0000EF8C MOV R0, #0 @ Rd = Op2 .text:0000EF90 BL sub_257B4 @ Branch with Link .text:0000EF94 .text:0000EF94 loc_EF94: @ CODE XREF: processpack+301Cj .text:0000EF94 BL phat_playmode_album @ Branch with Link .text:0000EF98 B loc_EE68 @ Branch .text:0000EF9C @ --------------------------------------------------------------------------- .text:0000EF9C .text:0000EF9C loc_EF9C: @ CODE XREF: processpack+2ED4j .text:0000EF9C LDR R3, [R10] @ Load from Memory .text:0000EFA0 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0000EFA4 BLT loc_EFF4 @ Branch .text:0000EFA8 MOV R0, #0 @ Rd = Op2 .text:0000EFAC BL time @ Branch with Link .text:0000EFB0 LDR R2, =0x51EB851F @ Load from Memory .text:0000EFB4 SMULL R6, R1, R2, R0 @ Signed Multiply long .text:0000EFB8 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000EFBC RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000EFC0 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000EFC4 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000EFC8 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000EFCC BL call_gettimeofday @ Branch with Link .text:0000EFD0 MOV R1, R4 @ Rd = Op2 .text:0000EFD4 MOV R2, R0 @ Rd = Op2 .text:0000EFD8 LDR R3, =aProcesspack @ Load from Memory .text:0000EFDC LDR R0, =logfile_format @ Load from Memory .text:0000EFE0 BL printf @ Branch with Link .text:0000EFE4 LDR R0, =aGenrePlayMode @ Load from Memory .text:0000EFE8 BL xdebug_out @ Branch with Link .text:0000EFEC MOV R0, #0 @ Rd = Op2 .text:0000EFF0 BL sub_257B4 @ Branch with Link .text:0000EFF4 .text:0000EFF4 loc_EFF4: @ CODE XREF: processpack+307Cj .text:0000EFF4 BL phat_playmode_genre @ Branch with Link .text:0000EFF8 B loc_EE68 @ Branch .text:0000EFFC @ --------------------------------------------------------------------------- .text:0000EFFC .text:0000EFFC loc_EFFC: @ CODE XREF: processpack+2EC4j .text:0000EFFC LDR R3, =dword_35F84 @ Load from Memory .text:0000F000 ADD R8, SP, #0x368+var_D4 @ Rd = Op1 + Op2 .text:0000F004 LDR R1, [R3] @ Load from Memory .text:0000F008 LDR R0, =aDosPhatbox_ini @ Load from Memory .text:0000F00C LDR R2, =aAudioid_3_0 @ Load from Memory .text:0000F010 MOV R3, R8 @ Rd = Op2 .text:0000F014 BL xread_ini @ Branch with Link .text:0000F018 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000F01C MOV R6, R0 @ Rd = Op2 .text:0000F020 BNE loc_F034 @ Branch .text:0000F024 ADD R1, SP, #0x368+var_168 @ Rd = Op1 + Op2 .text:0000F028 LDRB R3, [R1,#0x94] @ Load from Memory .text:0000F02C CMP R3, #0x2F @ '/' @ Set cond. codes on Op1 - Op2 .text:0000F030 BEQ loc_F040 @ Branch .text:0000F034 .text:0000F034 loc_F034: @ CODE XREF: processpack+30F8j .text:0000F034 LDR R10, =debug_level @ Load from Memory .text:0000F038 .text:0000F038 loc_F038: @ CODE XREF: processpack+313Cj .text:0000F038 LDRB R3, [R7] @ Load from Memory .text:0000F03C B loc_EDF4 @ Branch .text:0000F040 @ --------------------------------------------------------------------------- .text:0000F040 .text:0000F040 loc_F040: @ CODE XREF: processpack+3108j .text:0000F040 LDR R10, =debug_level @ Load from Memory .text:0000F044 LDR R3, [R10] @ Load from Memory .text:0000F048 CMP R3, #3 @ Set cond. codes on Op1 - Op2 .text:0000F04C BGT loc_F068 @ Branch .text:0000F050 .text:0000F050 loc_F050: @ CODE XREF: processpack+3188j .text:0000F050 MOV R0, R8 @ Rd = Op2 .text:0000F054 MOV R1, R6 @ Rd = Op2 .text:0000F058 BL phat_playfile @ Branch with Link .text:0000F05C LDR R3, =dword_35FB0 @ Load from Memory .text:0000F060 STR R5, [R3] @ Store to Memory .text:0000F064 B loc_F038 @ Branch .text:0000F068 @ --------------------------------------------------------------------------- .text:0000F068 .text:0000F068 loc_F068: @ CODE XREF: processpack+3124j .text:0000F068 BL time @ Branch with Link .text:0000F06C LDR R2, =0x51EB851F @ Load from Memory .text:0000F070 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000F074 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000F078 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000F07C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000F080 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000F084 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000F088 BL call_gettimeofday @ Branch with Link .text:0000F08C MOV R1, R4 @ Rd = Op2 .text:0000F090 MOV R2, R0 @ Rd = Op2 .text:0000F094 LDR R3, =aProcesspack @ Load from Memory .text:0000F098 LDR R0, =logfile_format @ Load from Memory .text:0000F09C BL printf @ Branch with Link .text:0000F0A0 LDR R0, =aBeepFileFoundP @ Load from Memory .text:0000F0A4 BL xdebug_out @ Branch with Link .text:0000F0A8 MOV R0, R6 @ Rd = Op2 .text:0000F0AC BL sub_257B4 @ Branch with Link .text:0000F0B0 B loc_F050 @ Branch .text:0000F0B4 @ --------------------------------------------------------------------------- .text:0000F0B4 .text:0000F0B4 enter_feature: @ CODE XREF: processpack+18j .text:0000F0B4 @ DATA XREF: processpack+220o .text:0000F0B4 LDR R7, =debug_level @ Load from Memory .text:0000F0B8 LDR R3, [R7] @ Load from Memory .text:0000F0BC CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0000F0C0 BLT loc_F110 @ Branch .text:0000F0C4 MOV R0, #0 @ Rd = Op2 .text:0000F0C8 BL time @ Branch with Link .text:0000F0CC LDR R2, =0x51EB851F @ Load from Memory .text:0000F0D0 SMULL R6, R1, R2, R0 @ Signed Multiply long .text:0000F0D4 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000F0D8 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000F0DC ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000F0E0 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000F0E4 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000F0E8 BL call_gettimeofday @ Branch with Link .text:0000F0EC MOV R1, R4 @ Rd = Op2 .text:0000F0F0 MOV R2, R0 @ Rd = Op2 .text:0000F0F4 LDR R3, =aProcesspack @ Load from Memory .text:0000F0F8 LDR R0, =logfile_format @ Load from Memory .text:0000F0FC BL printf @ Branch with Link .text:0000F100 LDR R0, =aGotEnterFeatur @ Load from Memory .text:0000F104 BL xdebug_out @ Branch with Link .text:0000F108 MOV R0, #0 @ Rd = Op2 .text:0000F10C BL sub_257B4 @ Branch with Link .text:0000F110 .text:0000F110 loc_F110: @ CODE XREF: processpack+3198j .text:0000F110 LDR R6, =dword_35F94 @ Load from Memory .text:0000F114 BL phat_stop @ Branch with Link .text:0000F118 LDR R5, [R6] @ Load from Memory .text:0000F11C CMP R5, #0 @ Set cond. codes on Op1 - Op2 .text:0000F120 BEQ loc_F164 @ Branch .text:0000F124 .text:0000F124 loc_F124: @ CODE XREF: processpack+3278j .text:0000F124 MOV R0, #0 @ Rd = Op2 .text:0000F128 BL feature_numitems @ Branch with Link .text:0000F12C LDR R3, =dword_45920 @ Load from Memory .text:0000F130 MOV R4, R0 @ Rd = Op2 .text:0000F134 ADD R5, SP, #0x368+var_168 @ Rd = Op1 + Op2 .text:0000F138 LDR R0, [R3] @ Load from Memory .text:0000F13C ADD R2, SP, #0x368+var_D4 @ Rd = Op1 + Op2 .text:0000F140 MOV R3, #1 @ Rd = Op2 .text:0000F144 STRB R4, [R5,#0x94] @ Store to Memory .text:0000F148 MOV R12, #0x92 @ 'Æ' @ Rd = Op2 .text:0000F14C MOV R1, #0 @ Rd = Op2 .text:0000F150 STR R12, [SP,#0x368+var_368] @ Store to Memory .text:0000F154 BL rw_packet @ Branch with Link .text:0000F158 LDR R3, =dword_35FDC @ Load from Memory .text:0000F15C MOV R2, #0 @ Rd = Op2 .text:0000F160 B loc_C78C @ Branch .text:0000F164 @ --------------------------------------------------------------------------- .text:0000F164 .text:0000F164 loc_F164: @ CODE XREF: processpack+31F8j .text:0000F164 LDR R8, =dword_45840 @ Load from Memory .text:0000F168 MOV R3, R5 @ Rd = Op2 .text:0000F16C MOV R0, R5 @ Rd = Op2 .text:0000F170 MOV R1, R5 @ Rd = Op2 .text:0000F174 MOV R2, R8 @ Rd = Op2 .text:0000F178 BL phat_status @ Branch with Link .text:0000F17C LDR R3, [R7] @ Load from Memory .text:0000F180 CMP R3, #3 @ Set cond. codes on Op1 - Op2 .text:0000F184 BGT loc_F1A4 @ Branch .text:0000F188 .text:0000F188 loc_F188: @ CODE XREF: processpack+32CCj .text:0000F188 LDR R3, =dword_35F68 @ Load from Memory .text:0000F18C LDR R3, [R3] @ Load from Memory .text:0000F190 LDR R2, [R8] @ Load from Memory .text:0000F194 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0000F198 STR R2, [R6] @ Store to Memory .text:0000F19C STRNE R3, [R6] @ Store to Memory .text:0000F1A0 B loc_F124 @ Branch .text:0000F1A4 @ --------------------------------------------------------------------------- .text:0000F1A4 .text:0000F1A4 loc_F1A4: @ CODE XREF: processpack+325Cj .text:0000F1A4 MOV R0, R5 @ Rd = Op2 .text:0000F1A8 BL time @ Branch with Link .text:0000F1AC LDR R2, =0x51EB851F @ Load from Memory .text:0000F1B0 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000F1B4 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000F1B8 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000F1BC ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000F1C0 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000F1C4 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000F1C8 BL call_gettimeofday @ Branch with Link .text:0000F1CC MOV R1, R4 @ Rd = Op2 .text:0000F1D0 MOV R2, R0 @ Rd = Op2 .text:0000F1D4 LDR R3, =aProcesspack @ Load from Memory .text:0000F1D8 LDR R0, =logfile_format @ Load from Memory .text:0000F1DC BL printf @ Branch with Link .text:0000F1E0 LDR R1, [R8] @ Load from Memory .text:0000F1E4 LDR R0, =aSetFrsToI @ Load from Memory .text:0000F1E8 BL printf @ Branch with Link .text:0000F1EC MOV R0, R5 @ Rd = Op2 .text:0000F1F0 BL sub_257B4 @ Branch with Link .text:0000F1F4 B loc_F188 @ Branch .text:0000F1F8 @ --------------------------------------------------------------------------- .text:0000F1F8 .text:0000F1F8 sel_menu_item: @ CODE XREF: processpack+18j .text:0000F1F8 @ DATA XREF: processpack+228o .text:0000F1F8 LDR R8, =debug_level @ Load from Memory .text:0000F1FC LDR R3, [R8] @ Load from Memory .text:0000F200 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0000F204 BLT loc_F258 @ Branch .text:0000F208 MOV R0, #0 @ Rd = Op2 .text:0000F20C BL time @ Branch with Link .text:0000F210 LDR R2, =0x51EB851F @ Load from Memory .text:0000F214 SMULL R6, R1, R2, R0 @ Signed Multiply long .text:0000F218 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000F21C RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000F220 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000F224 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000F228 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000F22C BL call_gettimeofday @ Branch with Link .text:0000F230 MOV R1, R4 @ Rd = Op2 .text:0000F234 MOV R2, R0 @ Rd = Op2 .text:0000F238 LDR R3, =aProcesspack @ Load from Memory .text:0000F23C LDR R0, =logfile_format @ Load from Memory .text:0000F240 BL printf @ Branch with Link .text:0000F244 LDRB R1, [R7] @ Load from Memory .text:0000F248 LDR R0, =aGotSelectedMen @ Load from Memory .text:0000F24C BL printf @ Branch with Link .text:0000F250 MOV R0, #0 @ Rd = Op2 .text:0000F254 BL sub_257B4 @ Branch with Link .text:0000F258 .text:0000F258 loc_F258: @ CODE XREF: processpack+32DCj .text:0000F258 LDR R6, =dword_35F94 @ Load from Memory .text:0000F25C LDR R5, [R6] @ Load from Memory .text:0000F260 CMP R5, #0 @ Set cond. codes on Op1 - Op2 .text:0000F264 BEQ loc_F2C8 @ Branch .text:0000F268 .text:0000F268 loc_F268: @ CODE XREF: processpack+33DCj .text:0000F268 LDR R3, =dword_35F5C @ Load from Memory .text:0000F26C LDR R2, [R3] @ Load from Memory .text:0000F270 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000F274 BNE loc_F2B8 @ Branch .text:0000F278 .text:0000F278 loc_F278: @ CODE XREF: processpack+339Cj .text:0000F278 LDR R3, =dword_35F50 @ Load from Memory .text:0000F27C MOV R1, #0 @ Rd = Op2 .text:0000F280 STR R1, [R3] @ Store to Memory .text:0000F284 LDR R2, =dword_35F80 @ Load from Memory .text:0000F288 LDR R3, =dword_35F8C @ Load from Memory .text:0000F28C STR R1, [R2] @ Store to Memory .text:0000F290 STR R1, [R3] @ Store to Memory .text:0000F294 LDR R2, =dword_35F90 @ Load from Memory .text:0000F298 LDR R3, =dword_35FDC @ Load from Memory .text:0000F29C STR R1, [R2] @ Store to Memory .text:0000F2A0 LDR R0, [R3] @ Load from Memory .text:0000F2A4 LDR R3, =dword_35FE0 @ Load from Memory .text:0000F2A8 LDRB R1, [R7] @ Load from Memory .text:0000F2AC LDR R2, [R3] @ Load from Memory .text:0000F2B0 BL menu_display @ Branch with Link .text:0000F2B4 B loc_C780 @ Branch .text:0000F2B8 @ --------------------------------------------------------------------------- .text:0000F2B8 .text:0000F2B8 loc_F2B8: @ CODE XREF: processpack+334Cj .text:0000F2B8 MOVL R0, 0xFFFFFFFF .text:0000F2BC MOV R1, R0 @ Rd = Op2 .text:0000F2C0 BL run_audio_id @ Branch with Link .text:0000F2C4 B loc_F278 @ Branch .text:0000F2C8 @ --------------------------------------------------------------------------- .text:0000F2C8 .text:0000F2C8 loc_F2C8: @ CODE XREF: processpack+333Cj .text:0000F2C8 LDR R10, =dword_45840 @ Load from Memory .text:0000F2CC MOV R3, R5 @ Rd = Op2 .text:0000F2D0 MOV R0, R5 @ Rd = Op2 .text:0000F2D4 MOV R1, R5 @ Rd = Op2 .text:0000F2D8 MOV R2, R10 @ Rd = Op2 .text:0000F2DC BL phat_status @ Branch with Link .text:0000F2E0 LDR R3, [R8] @ Load from Memory .text:0000F2E4 CMP R3, #3 @ Set cond. codes on Op1 - Op2 .text:0000F2E8 BGT loc_F308 @ Branch .text:0000F2EC .text:0000F2EC loc_F2EC: @ CODE XREF: processpack+3430j .text:0000F2EC LDR R3, =dword_35F68 @ Load from Memory .text:0000F2F0 LDR R3, [R3] @ Load from Memory .text:0000F2F4 LDR R2, [R10] @ Load from Memory .text:0000F2F8 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0000F2FC STR R2, [R6] @ Store to Memory .text:0000F300 STRNE R3, [R6] @ Store to Memory .text:0000F304 B loc_F268 @ Branch .text:0000F308 @ --------------------------------------------------------------------------- .text:0000F308 .text:0000F308 loc_F308: @ CODE XREF: processpack+33C0j .text:0000F308 MOV R0, R5 @ Rd = Op2 .text:0000F30C BL time @ Branch with Link .text:0000F310 LDR R2, =0x51EB851F @ Load from Memory .text:0000F314 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000F318 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000F31C RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000F320 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000F324 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000F328 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000F32C BL call_gettimeofday @ Branch with Link .text:0000F330 MOV R1, R4 @ Rd = Op2 .text:0000F334 MOV R2, R0 @ Rd = Op2 .text:0000F338 LDR R3, =aProcesspack @ Load from Memory .text:0000F33C LDR R0, =logfile_format @ Load from Memory .text:0000F340 BL printf @ Branch with Link .text:0000F344 LDR R1, [R10] @ Load from Memory .text:0000F348 LDR R0, =aSetFrsToI @ Load from Memory .text:0000F34C BL printf @ Branch with Link .text:0000F350 MOV R0, R5 @ Rd = Op2 .text:0000F354 BL sub_257B4 @ Branch with Link .text:0000F358 B loc_F2EC @ Branch .text:0000F358 @ --------------------------------------------------------------------------- .text:0000F35C dword_F35C: .long 0x51EB851F @ DATA XREF: processpack+24C0r .text:0000F35C @ processpack+2574r ... .text:0000F360 off_F360: .long aProcesspack @ DATA XREF: processpack+24E8r .text:0000F360 @ processpack+259Cr ... .text:0000F360 @ "processpack" .text:0000F364 off_F364: .long logfile_format @ DATA XREF: processpack+24ECr .text:0000F364 @ processpack+25A0r ... .text:0000F364 @ "%02li.%02li:51d :%-10.10s: " .text:0000F368 off_F368: .long aCurrentNextTra @ DATA XREF: processpack+24FCr .text:0000F368 @ "Current|Next track %i/%i\n" .text:0000F36C off_F36C: .long disk_num @ DATA XREF: processpack:loc_E438r .text:0000F36C @ processpack+2600r ... .text:0000F370 off_F370: .long track_num @ DATA XREF: processpack+2514r .text:0000F370 @ processpack+25FCr ... .text:0000F374 off_F374: .long aGotRandomRever @ DATA XREF: processpack+25A8r .text:0000F374 @ "Got Random Reverse" .text:0000F378 off_F378: .long track_offset @ DATA XREF: processpack:loc_E4F0r .text:0000F37C off_F37C: .long aGotRandomOff @ DATA XREF: processpack+26C0r .text:0000F37C @ "Got Random Off" .text:0000F380 off_F380: .long aGotDirectTrack @ DATA XREF: processpack+2754r .text:0000F380 @ "Got Direct Track Text - %i/%i\n" .text:0000F384 off_F384: .long aGotDirectDiscT @ DATA XREF: processpack+2804r .text:0000F384 @ "Got Direct Disc Text - %i\n" .text:0000F388 off_F388: .long aGotStandby @ DATA XREF: processpack+2880r .text:0000F388 @ "Got Standby" .text:0000F38C off_F38C: .long aQ @ DATA XREF: processpack+2898r .text:0000F38C @ processpack+2950r ... .text:0000F38C @ "-q" .text:0000F390 off_F390: .long aY @ DATA XREF: processpack+28A0r .text:0000F390 @ "-y" .text:0000F394 off_F394: .long aDosHdparm @ DATA XREF: processpack+28A4r .text:0000F394 @ processpack+295Cr ... .text:0000F394 @ "/dos/hdparm" .text:0000F398 off_F398: .long dword_45920 @ DATA XREF: processpack+28ACr .text:0000F398 @ processpack+296Cr ... .text:0000F39C off_F39C: .long aGotShutdown @ DATA XREF: processpack+2914r .text:0000F39C @ "Got Shutdown" .text:0000F3A0 @ char *off_F3A0 .text:0000F3A0 off_F3A0: .long aDebug_log @ DATA XREF: processpack+2928r .text:0000F3A0 @ "DEBUG_LOG" .text:0000F3A4 off_F3A4: .long aY_0 @ DATA XREF: processpack+2958r .text:0000F3A4 @ "-Y" .text:0000F3A8 off_F3A8: .long aGotHddWakeup @ DATA XREF: processpack+29ECr .text:0000F3A8 @ "Got HDD Wakeup" .text:0000F3AC off_F3AC: .long aW @ DATA XREF: processpack+2A08r .text:0000F3AC @ "-w" .text:0000F3B0 off_F3B0: .long aGotProgPld @ DATA XREF: processpack+2A7Cr .text:0000F3B0 @ "Got Prog PLD" .text:0000F3B4 off_F3B4: .long aGotPlayLoopfil @ DATA XREF: processpack+2AF8r .text:0000F3B4 @ "Got Play Loopfile" .text:0000F3B8 off_F3B8: .long a_loop @ DATA XREF: processpack+2B0Cr .text:0000F3B8 @ ".loop" .text:0000F3BC off_F3BC: .long aGotSyncRequest @ DATA XREF: processpack+2B64r .text:0000F3BC @ "Got Sync request" .text:0000F3C0 off_F3C0: .long aGotPing @ DATA XREF: processpack+2BC8r .text:0000F3C0 @ "Got PING" .text:0000F3C4 off_F3C4: .long aGotRequestToRe @ DATA XREF: processpack+2C44r .text:0000F3C4 @ "Got request to reboot uC" .text:0000F3C8 off_F3C8: .long aGotCurTempINoA @ DATA XREF: processpack+2CACr .text:0000F3C8 @ "Got Cur Temp %i - No Action\n" .text:0000F3CC off_F3CC: .long aGot51Rebooting @ DATA XREF: processpack+2D00r .text:0000F3CC @ "Got 51 rebooting - No Action" .text:0000F3D0 off_F3D0: .long aUnmuteDac @ DATA XREF: processpack+2D80r .text:0000F3D0 @ "Unmute DAC" .text:0000F3D4 off_F3D4: .long aU @ DATA XREF: processpack:loc_ECB8r .text:0000F3D4 @ "U" .text:0000F3D8 off_F3D8: .long aDevDac @ DATA XREF: processpack:loc_ECBCr .text:0000F3D8 @ "/dev/dac" .text:0000F3DC off_F3DC: .long aMuteDac @ DATA XREF: processpack+2DECr .text:0000F3DC @ "Mute DAC" .text:0000F3E0 off_F3E0: .long aAlbum+4 @ DATA XREF: processpack:loc_ED24r .text:0000F3E4 off_F3E4: .long aSetDacGainToI @ DATA XREF: processpack+2E5Cr .text:0000F3E4 @ "Set DAC gain to %i\n" .text:0000F3E8 off_F3E8: .long aInitializeDac @ DATA XREF: processpack+2EB0r .text:0000F3E8 @ "Initialize DAC" .text:0000F3EC off_F3EC: .long aNormalPlayMode @ DATA XREF: processpack+2F2Cr .text:0000F3EC @ "Normal play mode" .text:0000F3F0 off_F3F0: .long play_mode_0x34 @ DATA XREF: processpack+2F50r .text:0000F3F4 off_F3F4: .long aArtistPlayMode @ DATA XREF: processpack+2FF4r .text:0000F3F4 @ "Artist play mode" .text:0000F3F8 off_F3F8: .long aAlbumPlayMode @ DATA XREF: processpack+305Cr .text:0000F3F8 @ "Album play mode" .text:0000F3FC off_F3FC: .long aGenrePlayMode @ DATA XREF: processpack+30BCr .text:0000F3FC @ "Genre play mode" .text:0000F400 off_F400: .long dword_35F84 @ DATA XREF: processpack:loc_EFFCr .text:0000F404 off_F404: .long aDosPhatbox_ini @ DATA XREF: processpack+30E0r .text:0000F404 @ "/dos/phatbox.ini" .text:0000F408 off_F408: .long aAudioid_3_0 @ DATA XREF: processpack+30E4r .text:0000F408 @ "audioid.3.0" .text:0000F40C off_F40C: .long dword_35FB0 @ DATA XREF: processpack+3134r .text:0000F410 off_F410: .long aBeepFileFoundP @ DATA XREF: processpack+3178r .text:0000F410 @ "Beep file found, playing..." .text:0000F414 off_F414: .long aGotEnterFeatur @ DATA XREF: processpack+31D8r .text:0000F414 @ "Got Enter feature" .text:0000F418 off_F418: .long aGotSelectedMen @ DATA XREF: processpack+3320r .text:0000F418 @ "Got Selected Menu Item %i\n" .text:0000F41C off_F41C: .long dword_35FE0 @ DATA XREF: processpack+337Cr .text:0000F420 off_F420: .long aGotMenuDescend @ DATA XREF: processpack+360Cr .text:0000F420 @ "Got Menu Descend at Item %i\n" .text:0000F424 off_F424: .long dword_35F94 @ DATA XREF: processpack:loc_F110r .text:0000F424 @ processpack:loc_F258r ... .text:0000F428 off_F428: .long dword_35F5C @ DATA XREF: processpack:loc_E4E0r .text:0000F428 @ processpack:loc_F268r ... .text:0000F42C off_F42C: .long dword_35F50 @ DATA XREF: processpack+25D4r .text:0000F42C @ processpack:loc_F278r ... .text:0000F430 off_F430: .long dword_35F80 @ DATA XREF: processpack+25CCr .text:0000F430 @ processpack+335Cr ... .text:0000F434 off_F434: .long dword_35F8C @ DATA XREF: processpack+25E4r .text:0000F434 @ processpack+3360r ... .text:0000F438 off_F438: .long dword_35F90 @ DATA XREF: processpack+25E8r .text:0000F438 @ processpack+336Cr ... .text:0000F43C off_F43C: .long dword_45840 @ DATA XREF: processpack+2538r .text:0000F43C @ processpack+2650r ... .text:0000F440 off_F440: .long dword_35F68 @ DATA XREF: processpack:loc_F188r .text:0000F440 @ processpack:loc_F2ECr ... .text:0000F444 off_F444: .long aSetFrsToI @ DATA XREF: processpack+32BCr .text:0000F444 @ processpack+3420r ... .text:0000F444 @ "Set frs to %i\n" .text:0000F448 off_F448: .long aGotMenuAscendT @ DATA XREF: processpack+3768r .text:0000F448 @ "Got Menu Ascend to Item %i\n" .text:0000F44C off_F44C: .long dword_35FDC @ DATA XREF: processpack+3230r .text:0000F44C @ processpack+3370r ... .text:0000F450 off_F450: .long dword_35F3C @ DATA XREF: processpack+37E8r .text:0000F454 @ char *off_F454 .text:0000F454 off_F454: .long aDosFirmware_pa @ DATA XREF: processpack:loc_F724r .text:0000F454 @ "/dos/firmware.pac" .text:0000F458 off_F458: .long aGotTestFirmwar @ DATA XREF: processpack+3858r .text:0000F458 @ "Got test firmware request" .text:0000F45C off_F45C: .long aDosTest_pac @ DATA XREF: processpack:loc_F790r .text:0000F45C @ "/dos/test.pac" .text:0000F460 off_F460: .long aGotArmBootOkNo @ DATA XREF: processpack+38C0r .text:0000F460 @ "Got Arm Boot OK - No Action" .text:0000F464 off_F464: .long aGot51BootOkNoA @ DATA XREF: processpack+3914r .text:0000F464 @ "Got 51 Boot OK - No Action" .text:0000F468 off_F468: .long aGotEraseOkNoAc @ DATA XREF: processpack+3968r .text:0000F468 @ "Got Erase OK - No Action" .text:0000F46C off_F46C: .long debug_level @ DATA XREF: processpack:rand_reverser .text:0000F46C @ processpack:rand_offr ... .text:0000F470 off_F470: .long aGot51Programme @ DATA XREF: processpack+39BCr .text:0000F470 @ "Got 51 programmed OK - No Action" .text:0000F474 off_F474: .long aGotStatusResul @ DATA XREF: processpack+3A18r .text:0000F474 @ "Got Status Result: temp %i, port %i - N"... .text:0000F478 off_F478: .long aSmallTransport @ DATA XREF: processpack+3A74r .text:0000F478 @ "Small transport packet for %i\n" .text:0000F47C off_F47C: .long aMediumTranspor @ DATA XREF: processpack+3B20r .text:0000F47C @ "Medium transport packet for %i\n" .text:0000F480 off_F480: .long aLargeTransport @ DATA XREF: processpack+3BB4r .text:0000F480 @ "Large transport packet for %i\n" .text:0000F484 off_F484: .long aGotUtilityInfo @ DATA XREF: processpack+3C48r .text:0000F484 @ "Got Utility Info %i\n" .text:0000F488 off_F488: .long aGotUtilityHalt @ DATA XREF: processpack+3CB0r .text:0000F488 @ "Got Utility Halted - No Action" .text:0000F48C off_F48C: .long aUcDebug02x02x0 @ DATA XREF: processpack+3D24r .text:0000F48C @ "uC DEBUG: %02x %02x %02x %02x %02x %02x"... .text:0000F490 @ char *off_F490 .text:0000F490 off_F490: .long aDebug_phatlab @ DATA XREF: processpack:loc_FC6Cr .text:0000F490 @ "DEBUG_PHATLAB" .text:0000F494 off_F494: .long off_3D77C @ DATA XREF: processpack+3D54r .text:0000F498 off_F498: .long aGotFirmwareReq @ DATA XREF: processpack+37D4r .text:0000F498 @ processpack+3DC0r .text:0000F498 @ "Got Firmware request" .text:0000F49C off_F49C: .long aGotBootFirmwar @ DATA XREF: processpack+3E28r .text:0000F49C @ "Got boot firmware request" .text:0000F4A0 off_F4A0: .long dword_35FD8 @ DATA XREF: processpack+3C5Cr .text:0000F4A0 @ processpack:loc_FD60r .text:0000F4A4 off_F4A4: .long xnoenc_flag @ DATA XREF: processpack:loc_FD78r .text:0000F4A8 off_F4A8: .long aDosBoot5_pac @ DATA XREF: processpack:loc_FD90r .text:0000F4A8 @ "/dos/boot5.pac" .text:0000F4AC off_F4AC: .long aScc0101 @ DATA XREF: processpack+3E84r .text:0000F4AC @ "SCC0101" .text:0000F4B0 off_F4B0: .long aErr0101 @ DATA XREF: processpack:loc_FE24r .text:0000F4B0 @ "ERR0101" .text:0000F4B4 off_F4B4: .long aDosBoot_pac @ DATA XREF: processpack:loc_FE48r .text:0000F4B4 @ "/dos/boot.pac" .text:0000F4B8 off_F4B8: .long aScc0100 @ DATA XREF: processpack+3F3Cr .text:0000F4B8 @ "SCC0100" .text:0000F4BC off_F4BC: .long aCorruptS @ DATA XREF: processpack+3EECr .text:0000F4BC @ processpack+3F9Cr .text:0000F4BC @ "Corrupt %s\n" .text:0000F4C0 off_F4C0: .long aErr0100 @ DATA XREF: processpack:loc_FED4r .text:0000F4C0 @ "ERR0100" .text:0000F4C4 off_F4C4: .long aGotOldProgPld @ DATA XREF: processpack+400Cr .text:0000F4C4 @ "Got Old Prog PLD" .text:0000F4C8 off_F4C8: .long aUnhandledPacke @ DATA XREF: processpack+407Cr .text:0000F4C8 @ "Unhandled Packet Type %02x\n" .text:0000F4CC off_F4CC: .long aUcError02x02x0 @ DATA XREF: processpack+40F4r .text:0000F4CC @ "uC ERROR: %02x %02x %02x %02x %02x %02x"... .text:0000F4D0 off_F4D0: .long debug_level @ DATA XREF: processpack:inf_status_resultr .text:0000F4D0 @ processpack:small_trans_packr ... .text:0000F4D4 dword_F4D4: .long 0x51EB851F @ DATA XREF: processpack+35D4r .text:0000F4D4 @ processpack+36CCr ... .text:0000F4D8 off_F4D8: .long aProcesspack @ DATA XREF: processpack+35FCr .text:0000F4D8 @ processpack+36F4r ... .text:0000F4D8 @ "processpack" .text:0000F4DC off_F4DC: .long logfile_format @ DATA XREF: processpack+3600r .text:0000F4DC @ processpack+36F8r ... .text:0000F4DC @ "%02li.%02li:51d :%-10.10s: " .text:0000F4E0 off_F4E0: .long aGotError @ DATA XREF: processpack+415Cr .text:0000F4E0 @ "GOT ERROR!!!!!" .text:0000F4E4 @ --------------------------------------------------------------------------- .text:0000F4E4 .text:0000F4E4 menu_descend: @ CODE XREF: processpack+18j .text:0000F4E4 @ DATA XREF: processpack+22Co .text:0000F4E4 LDR R8, =debug_level @ Load from Memory .text:0000F4E8 LDR R3, [R8] @ Load from Memory .text:0000F4EC CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0000F4F0 BLT loc_F544 @ Branch .text:0000F4F4 MOV R0, #0 @ Rd = Op2 .text:0000F4F8 BL time @ Branch with Link .text:0000F4FC LDR R2, =0x51EB851F @ Load from Memory .text:0000F500 SMULL R5, R1, R2, R0 @ Signed Multiply long .text:0000F504 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000F508 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000F50C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000F510 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000F514 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000F518 BL call_gettimeofday @ Branch with Link .text:0000F51C MOV R1, R4 @ Rd = Op2 .text:0000F520 MOV R2, R0 @ Rd = Op2 .text:0000F524 LDR R3, =aProcesspack @ Load from Memory .text:0000F528 LDR R0, =logfile_format @ Load from Memory .text:0000F52C BL printf @ Branch with Link .text:0000F530 LDRB R1, [R7] @ Load from Memory .text:0000F534 LDR R0, =aGotMenuDescend @ Load from Memory .text:0000F538 BL printf @ Branch with Link .text:0000F53C MOV R0, #0 @ Rd = Op2 .text:0000F540 BL sub_257B4 @ Branch with Link .text:0000F544 .text:0000F544 loc_F544: @ CODE XREF: processpack+35C8j .text:0000F544 LDR R6, =dword_35F94 @ Load from Memory .text:0000F548 LDR R5, [R6] @ Load from Memory .text:0000F54C CMP R5, #0 @ Set cond. codes on Op1 - Op2 .text:0000F550 BEQ loc_F5AC @ Branch .text:0000F554 .text:0000F554 loc_F554: @ CODE XREF: processpack+36C0j .text:0000F554 LDR R3, =dword_35F5C @ Load from Memory .text:0000F558 LDR R2, [R3] @ Load from Memory .text:0000F55C CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000F560 BNE loc_F59C @ Branch .text:0000F564 .text:0000F564 loc_F564: @ CODE XREF: processpack+3680j .text:0000F564 LDR R3, =dword_35F50 @ Load from Memory .text:0000F568 LDR R2, =dword_35F80 @ Load from Memory .text:0000F56C MOV R1, #0 @ Rd = Op2 .text:0000F570 STR R1, [R3] @ Store to Memory .text:0000F574 STR R1, [R2] @ Store to Memory .text:0000F578 LDR R3, =dword_35F8C @ Load from Memory .text:0000F57C LDR R2, =dword_35F90 @ Load from Memory .text:0000F580 STR R1, [R3] @ Store to Memory .text:0000F584 STR R1, [R2] @ Store to Memory .text:0000F588 LDRB R0, [R7] @ Load from Memory .text:0000F58C BL menu_action @ Branch with Link .text:0000F590 LDR R3, =dword_35FDC @ Load from Memory .text:0000F594 STR R0, [R3] @ Store to Memory .text:0000F598 B loc_C780 @ Branch .text:0000F59C @ --------------------------------------------------------------------------- .text:0000F59C .text:0000F59C loc_F59C: @ CODE XREF: processpack+3638j .text:0000F59C MOVL R0, 0xFFFFFFFF .text:0000F5A0 MOV R1, R0 @ Rd = Op2 .text:0000F5A4 BL run_audio_id @ Branch with Link .text:0000F5A8 B loc_F564 @ Branch .text:0000F5AC @ --------------------------------------------------------------------------- .text:0000F5AC .text:0000F5AC loc_F5AC: @ CODE XREF: processpack+3628j .text:0000F5AC LDR R10, =dword_45840 @ Load from Memory .text:0000F5B0 MOV R3, R5 @ Rd = Op2 .text:0000F5B4 MOV R0, R5 @ Rd = Op2 .text:0000F5B8 MOV R1, R5 @ Rd = Op2 .text:0000F5BC MOV R2, R10 @ Rd = Op2 .text:0000F5C0 BL phat_status @ Branch with Link .text:0000F5C4 LDR R3, [R8] @ Load from Memory .text:0000F5C8 CMP R3, #3 @ Set cond. codes on Op1 - Op2 .text:0000F5CC BGT loc_F5EC @ Branch .text:0000F5D0 .text:0000F5D0 loc_F5D0: @ CODE XREF: processpack+3714j .text:0000F5D0 LDR R3, =dword_35F68 @ Load from Memory .text:0000F5D4 LDR R3, [R3] @ Load from Memory .text:0000F5D8 LDR R2, [R10] @ Load from Memory .text:0000F5DC CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0000F5E0 STR R2, [R6] @ Store to Memory .text:0000F5E4 STRNE R3, [R6] @ Store to Memory .text:0000F5E8 B loc_F554 @ Branch .text:0000F5EC @ --------------------------------------------------------------------------- .text:0000F5EC .text:0000F5EC loc_F5EC: @ CODE XREF: processpack+36A4j .text:0000F5EC MOV R0, R5 @ Rd = Op2 .text:0000F5F0 BL time @ Branch with Link .text:0000F5F4 LDR R2, =0x51EB851F @ Load from Memory .text:0000F5F8 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000F5FC MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000F600 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000F604 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000F608 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000F60C SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000F610 BL call_gettimeofday @ Branch with Link .text:0000F614 MOV R1, R4 @ Rd = Op2 .text:0000F618 MOV R2, R0 @ Rd = Op2 .text:0000F61C LDR R3, =aProcesspack @ Load from Memory .text:0000F620 LDR R0, =logfile_format @ Load from Memory .text:0000F624 BL printf @ Branch with Link .text:0000F628 LDR R1, [R10] @ Load from Memory .text:0000F62C LDR R0, =aSetFrsToI @ Load from Memory .text:0000F630 BL printf @ Branch with Link .text:0000F634 MOV R0, R5 @ Rd = Op2 .text:0000F638 BL sub_257B4 @ Branch with Link .text:0000F63C B loc_F5D0 @ Branch .text:0000F640 @ --------------------------------------------------------------------------- .text:0000F640 .text:0000F640 menu_ascend: @ CODE XREF: processpack+18j .text:0000F640 @ DATA XREF: processpack+230o .text:0000F640 LDR R3, =debug_level @ Load from Memory .text:0000F644 LDR R2, [R3] @ Load from Memory .text:0000F648 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000F64C BLT loc_F6A0 @ Branch .text:0000F650 MOV R0, #0 @ Rd = Op2 .text:0000F654 BL time @ Branch with Link .text:0000F658 LDR R2, =0x51EB851F @ Load from Memory .text:0000F65C SMULL R5, R1, R2, R0 @ Signed Multiply long .text:0000F660 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000F664 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000F668 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000F66C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000F670 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000F674 BL call_gettimeofday @ Branch with Link .text:0000F678 MOV R1, R4 @ Rd = Op2 .text:0000F67C MOV R2, R0 @ Rd = Op2 .text:0000F680 LDR R3, =aProcesspack @ Load from Memory .text:0000F684 LDR R0, =logfile_format @ Load from Memory .text:0000F688 BL printf @ Branch with Link .text:0000F68C LDRB R1, [R7] @ Load from Memory .text:0000F690 LDR R0, =aGotMenuAscendT @ Load from Memory .text:0000F694 BL printf @ Branch with Link .text:0000F698 MOV R0, #0 @ Rd = Op2 .text:0000F69C BL sub_257B4 @ Branch with Link .text:0000F6A0 .text:0000F6A0 loc_F6A0: @ CODE XREF: processpack+3724j .text:0000F6A0 LDR R4, =dword_35FDC @ Load from Memory .text:0000F6A4 LDR R0, [R4] @ Load from Memory .text:0000F6A8 BL menu_ascend @ Branch with Link .text:0000F6AC B loc_D858 @ Branch .text:0000F6B0 @ --------------------------------------------------------------------------- .text:0000F6B0 .text:0000F6B0 req_firmware: @ CODE XREF: processpack+18j .text:0000F6B0 @ DATA XREF: processpack+25Co .text:0000F6B0 LDR R3, =debug_level @ Load from Memory .text:0000F6B4 LDR R2, [R3] @ Load from Memory .text:0000F6B8 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000F6BC BLT loc_F70C @ Branch .text:0000F6C0 MOV R0, #0 @ Rd = Op2 .text:0000F6C4 BL time @ Branch with Link .text:0000F6C8 LDR R2, =0x51EB851F @ Load from Memory .text:0000F6CC SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000F6D0 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000F6D4 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000F6D8 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000F6DC ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000F6E0 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000F6E4 BL call_gettimeofday @ Branch with Link .text:0000F6E8 MOV R1, R4 @ Rd = Op2 .text:0000F6EC MOV R2, R0 @ Rd = Op2 .text:0000F6F0 LDR R3, =aProcesspack @ Load from Memory .text:0000F6F4 LDR R0, =logfile_format @ Load from Memory .text:0000F6F8 BL printf @ Branch with Link .text:0000F6FC LDR R0, =aGotFirmwareReq @ Load from Memory .text:0000F700 BL xdebug_out @ Branch with Link .text:0000F704 MOV R0, #0 @ Rd = Op2 .text:0000F708 BL sub_257B4 @ Branch with Link .text:0000F70C .text:0000F70C loc_F70C: @ CODE XREF: processpack+3794j .text:0000F70C BL sub_19758 @ Branch with Link .text:0000F710 LDR R2, =dword_35F3C @ Load from Memory .text:0000F714 LDR R3, [R2] @ Load from Memory .text:0000F718 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0000F71C MOVNE R3, #0 @ Rd = Op2 .text:0000F720 STRNE R3, [R2] @ Store to Memory .text:0000F724 .text:0000F724 loc_F724: @ CODE XREF: processpack+3DD4j .text:0000F724 LDR R1, =aDosFirmware_pa @ filename .text:0000F728 MOV R0, #0xA0 @ 'á' @ hexstuff .text:0000F72C .text:0000F72C loc_F72C: @ CODE XREF: processpack+3870j .text:0000F72C BL xread_firmware @ Branch with Link .text:0000F730 B loc_C780 @ Branch .text:0000F734 @ --------------------------------------------------------------------------- .text:0000F734 .text:0000F734 req_test_firmware: @ CODE XREF: processpack+18j .text:0000F734 @ DATA XREF: processpack+264o .text:0000F734 LDR R3, =debug_level @ Load from Memory .text:0000F738 LDR R2, [R3] @ Load from Memory .text:0000F73C CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000F740 BLT loc_F790 @ Branch .text:0000F744 MOV R0, #0 @ Rd = Op2 .text:0000F748 BL time @ Branch with Link .text:0000F74C LDR R2, =0x51EB851F @ Load from Memory .text:0000F750 SMULL R5, R1, R2, R0 @ Signed Multiply long .text:0000F754 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000F758 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000F75C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000F760 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000F764 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000F768 BL call_gettimeofday @ Branch with Link .text:0000F76C MOV R1, R4 @ Rd = Op2 .text:0000F770 MOV R2, R0 @ Rd = Op2 .text:0000F774 LDR R3, =aProcesspack @ Load from Memory .text:0000F778 LDR R0, =logfile_format @ Load from Memory .text:0000F77C BL printf @ Branch with Link .text:0000F780 LDR R0, =aGotTestFirmwar @ Load from Memory .text:0000F784 BL xdebug_out @ Branch with Link .text:0000F788 MOV R0, #0 @ Rd = Op2 .text:0000F78C BL sub_257B4 @ Branch with Link .text:0000F790 .text:0000F790 loc_F790: @ CODE XREF: processpack+3818j .text:0000F790 LDR R1, =aDosTest_pac @ Load from Memory .text:0000F794 MOV R0, #0xA2 @ 'ó' @ Rd = Op2 .text:0000F798 B loc_F72C @ Branch .text:0000F79C @ --------------------------------------------------------------------------- .text:0000F79C .text:0000F79C inf_arm_bootok: @ CODE XREF: processpack+18j .text:0000F79C @ DATA XREF: processpack+29Co .text:0000F79C LDR R3, =debug_level @ Load from Memory .text:0000F7A0 LDR R2, [R3] @ Load from Memory .text:0000F7A4 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000F7A8 BLT loc_C780 @ Branch .text:0000F7AC MOV R0, #0 @ Rd = Op2 .text:0000F7B0 BL time @ Branch with Link .text:0000F7B4 LDR R2, =0x51EB851F @ Load from Memory .text:0000F7B8 SMULL R5, R1, R2, R0 @ Signed Multiply long .text:0000F7BC MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000F7C0 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000F7C4 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000F7C8 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000F7CC SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000F7D0 BL call_gettimeofday @ Branch with Link .text:0000F7D4 MOV R1, R4 @ Rd = Op2 .text:0000F7D8 MOV R2, R0 @ Rd = Op2 .text:0000F7DC LDR R3, =aProcesspack @ Load from Memory .text:0000F7E0 LDR R0, =logfile_format @ Load from Memory .text:0000F7E4 BL printf @ Branch with Link .text:0000F7E8 LDR R0, =aGotArmBootOkNo @ Load from Memory .text:0000F7EC B loc_DB90 @ Branch .text:0000F7F0 @ --------------------------------------------------------------------------- .text:0000F7F0 .text:0000F7F0 inf_51_bootok: @ CODE XREF: processpack+18j .text:0000F7F0 @ DATA XREF: processpack+2A0o .text:0000F7F0 LDR R3, =debug_level @ Load from Memory .text:0000F7F4 LDR R2, [R3] @ Load from Memory .text:0000F7F8 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000F7FC BLT loc_C780 @ Branch .text:0000F800 MOV R0, #0 @ Rd = Op2 .text:0000F804 BL time @ Branch with Link .text:0000F808 LDR R2, =0x51EB851F @ Load from Memory .text:0000F80C SMULL R6, R1, R2, R0 @ Signed Multiply long .text:0000F810 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000F814 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000F818 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000F81C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000F820 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000F824 BL call_gettimeofday @ Branch with Link .text:0000F828 MOV R1, R4 @ Rd = Op2 .text:0000F82C MOV R2, R0 @ Rd = Op2 .text:0000F830 LDR R3, =aProcesspack @ Load from Memory .text:0000F834 LDR R0, =logfile_format @ Load from Memory .text:0000F838 BL printf @ Branch with Link .text:0000F83C LDR R0, =aGot51BootOkNoA @ Load from Memory .text:0000F840 B loc_DB90 @ Branch .text:0000F844 @ --------------------------------------------------------------------------- .text:0000F844 .text:0000F844 inf_erase_ok: @ CODE XREF: processpack+18j .text:0000F844 @ DATA XREF: processpack+2A4o .text:0000F844 LDR R3, =debug_level @ Load from Memory .text:0000F848 LDR R2, [R3] @ Load from Memory .text:0000F84C CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000F850 BLT loc_C780 @ Branch .text:0000F854 MOV R0, #0 @ Rd = Op2 .text:0000F858 BL time @ Branch with Link .text:0000F85C LDR R2, =0x51EB851F @ Load from Memory .text:0000F860 SMULL R6, R1, R2, R0 @ Signed Multiply long .text:0000F864 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000F868 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000F86C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000F870 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000F874 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000F878 BL call_gettimeofday @ Branch with Link .text:0000F87C MOV R1, R4 @ Rd = Op2 .text:0000F880 MOV R2, R0 @ Rd = Op2 .text:0000F884 LDR R3, =aProcesspack @ Load from Memory .text:0000F888 LDR R0, =logfile_format @ Load from Memory .text:0000F88C BL printf @ Branch with Link .text:0000F890 LDR R0, =aGotEraseOkNoAc @ Load from Memory .text:0000F894 B loc_DB90 @ Branch .text:0000F898 @ --------------------------------------------------------------------------- .text:0000F898 .text:0000F898 inf_51_proged_ok: @ CODE XREF: processpack+18j .text:0000F898 @ DATA XREF: processpack+2A8o .text:0000F898 LDR R3, =debug_level @ Load from Memory .text:0000F89C LDR R2, [R3] @ Load from Memory .text:0000F8A0 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000F8A4 BLT loc_C780 @ Branch .text:0000F8A8 MOV R0, #0 @ Rd = Op2 .text:0000F8AC BL time @ Branch with Link .text:0000F8B0 LDR R2, =0x51EB851F @ Load from Memory .text:0000F8B4 SMULL R6, R1, R2, R0 @ Signed Multiply long .text:0000F8B8 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000F8BC RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000F8C0 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000F8C4 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000F8C8 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000F8CC BL call_gettimeofday @ Branch with Link .text:0000F8D0 MOV R1, R4 @ Rd = Op2 .text:0000F8D4 MOV R2, R0 @ Rd = Op2 .text:0000F8D8 LDR R3, =aProcesspack @ Load from Memory .text:0000F8DC LDR R0, =logfile_format @ Load from Memory .text:0000F8E0 BL printf @ Branch with Link .text:0000F8E4 LDR R0, =aGot51Programme @ Load from Memory .text:0000F8E8 B loc_DB90 @ Branch .text:0000F8EC @ --------------------------------------------------------------------------- .text:0000F8EC .text:0000F8EC inf_status_result: @ CODE XREF: processpack+18j .text:0000F8EC @ DATA XREF: processpack+2B0o .text:0000F8EC LDR R3, =debug_level @ Load from Memory .text:0000F8F0 LDR R2, [R3] @ Load from Memory .text:0000F8F4 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000F8F8 BLT loc_C780 @ Branch .text:0000F8FC MOV R0, #0 @ Rd = Op2 .text:0000F900 BL time @ Branch with Link .text:0000F904 LDR R2, =0x51EB851F @ Load from Memory .text:0000F908 SMULL R5, R1, R2, R0 @ Signed Multiply long .text:0000F90C MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000F910 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000F914 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000F918 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000F91C SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000F920 BL call_gettimeofday @ Branch with Link .text:0000F924 MOV R1, R4 @ Rd = Op2 .text:0000F928 MOV R2, R0 @ Rd = Op2 .text:0000F92C LDR R3, =aProcesspack @ Load from Memory .text:0000F930 LDR R0, =logfile_format @ Load from Memory .text:0000F934 BL printf @ Branch with Link .text:0000F938 LDRB R2, [R7,#1] @ Load from Memory .text:0000F93C LDRB R1, [R7] @ Load from Memory .text:0000F940 LDR R0, =aGotStatusResul @ Load from Memory .text:0000F944 BL printf @ Branch with Link .text:0000F948 B loc_D614 @ Branch .text:0000F94C @ --------------------------------------------------------------------------- .text:0000F94C .text:0000F94C small_trans_pack: @ CODE XREF: processpack+18j .text:0000F94C @ DATA XREF: processpack+2DCo .text:0000F94C LDR R3, =debug_level @ Load from Memory .text:0000F950 LDR R2, [R3] @ Load from Memory .text:0000F954 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000F958 BLT loc_F9AC @ Branch .text:0000F95C MOV R0, #0 @ Rd = Op2 .text:0000F960 BL time @ Branch with Link .text:0000F964 LDR R2, =0x51EB851F @ Load from Memory .text:0000F968 SMULL R6, R1, R2, R0 @ Signed Multiply long .text:0000F96C MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000F970 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000F974 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000F978 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000F97C SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000F980 BL call_gettimeofday @ Branch with Link .text:0000F984 MOV R1, R4 @ Rd = Op2 .text:0000F988 MOV R2, R0 @ Rd = Op2 .text:0000F98C LDR R3, =aProcesspack @ Load from Memory .text:0000F990 LDR R0, =logfile_format @ Load from Memory .text:0000F994 BL printf @ Branch with Link .text:0000F998 LDRB R1, [R7] @ Load from Memory .text:0000F99C LDR R0, =aSmallTransport @ Load from Memory .text:0000F9A0 BL printf @ Branch with Link .text:0000F9A4 MOV R0, #0 @ Rd = Op2 .text:0000F9A8 BL sub_257B4 @ Branch with Link .text:0000F9AC .text:0000F9AC loc_F9AC: @ CODE XREF: processpack+3A30j .text:0000F9AC ADD R4, SP, #0x368+var_34C @ Rd = Op1 + Op2 .text:0000F9B0 MOV R2, #0x200 @ Rd = Op2 .text:0000F9B4 MOV R1, #0 @ Rd = Op2 .text:0000F9B8 MOV R0, R4 @ Rd = Op2 .text:0000F9BC BL sub_26A4C @ Branch with Link .text:0000F9C0 MOV R0, #0xC0 @ '+' @ Rd = Op2 .text:0000F9C4 BL hdr_isvalid @ Branch with Link .text:0000F9C8 ADD R1, R7, #1 @ Rd = Op1 + Op2 .text:0000F9CC SUB R2, R0, #1 @ Rd = Op1 - Op2 .text:0000F9D0 MOV R0, R4 @ Rd = Op2 .text:0000F9D4 BL memcpy @ Branch with Link .text:0000F9D8 MOV R0, #0xC0 @ '+' @ Rd = Op2 .text:0000F9DC .text:0000F9DC loc_F9DC: @ CODE XREF: processpack+3B60j .text:0000F9DC @ processpack+3BF4j .text:0000F9DC BL hdr_isvalid @ Branch with Link .text:0000F9E0 MOV R2, R0 @ Rd = Op2 .text:0000F9E4 SUB R2, R2, #1 @ Rd = Op1 - Op2 .text:0000F9E8 LDRB R0, [R7] @ Load from Memory .text:0000F9EC MOV R1, R4 @ Rd = Op2 .text:0000F9F0 BL sub_1992C @ Branch with Link .text:0000F9F4 B loc_C780 @ Branch .text:0000F9F8 @ --------------------------------------------------------------------------- .text:0000F9F8 .text:0000F9F8 med_trans_pack: @ CODE XREF: processpack+18j .text:0000F9F8 @ DATA XREF: processpack+2E4o .text:0000F9F8 LDR R3, =debug_level @ Load from Memory .text:0000F9FC LDR R2, [R3] @ Load from Memory .text:0000FA00 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000FA04 BLT loc_FA58 @ Branch .text:0000FA08 MOV R0, #0 @ Rd = Op2 .text:0000FA0C BL time @ Branch with Link .text:0000FA10 LDR R2, =0x51EB851F @ Load from Memory .text:0000FA14 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000FA18 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000FA1C RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000FA20 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000FA24 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000FA28 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000FA2C BL call_gettimeofday @ Branch with Link .text:0000FA30 MOV R1, R4 @ Rd = Op2 .text:0000FA34 MOV R2, R0 @ Rd = Op2 .text:0000FA38 LDR R3, =aProcesspack @ Load from Memory .text:0000FA3C LDR R0, =logfile_format @ Load from Memory .text:0000FA40 BL printf @ Branch with Link .text:0000FA44 LDRB R1, [R7] @ Load from Memory .text:0000FA48 LDR R0, =aMediumTranspor @ Load from Memory .text:0000FA4C BL printf @ Branch with Link .text:0000FA50 MOV R0, #0 @ Rd = Op2 .text:0000FA54 BL sub_257B4 @ Branch with Link .text:0000FA58 .text:0000FA58 loc_FA58: @ CODE XREF: processpack+3ADCj .text:0000FA58 ADD R4, SP, #0x368+var_34C @ Rd = Op1 + Op2 .text:0000FA5C MOV R2, #0x200 @ Rd = Op2 .text:0000FA60 MOV R1, #0 @ Rd = Op2 .text:0000FA64 MOV R0, R4 @ Rd = Op2 .text:0000FA68 BL sub_26A4C @ Branch with Link .text:0000FA6C MOV R0, #0xC2 @ '-' @ Rd = Op2 .text:0000FA70 BL hdr_isvalid @ Branch with Link .text:0000FA74 ADD R1, R7, #1 @ Rd = Op1 + Op2 .text:0000FA78 SUB R2, R0, #1 @ Rd = Op1 - Op2 .text:0000FA7C MOV R0, R4 @ Rd = Op2 .text:0000FA80 BL memcpy @ Branch with Link .text:0000FA84 MOV R0, #0xC2 @ '-' @ Rd = Op2 .text:0000FA88 B loc_F9DC @ Branch .text:0000FA8C @ --------------------------------------------------------------------------- .text:0000FA8C .text:0000FA8C lrg_trans_packet: @ CODE XREF: processpack+18j .text:0000FA8C @ DATA XREF: processpack+2E8o .text:0000FA8C LDR R3, =debug_level @ Load from Memory .text:0000FA90 LDR R2, [R3] @ Load from Memory .text:0000FA94 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000FA98 BLT loc_FAEC @ Branch .text:0000FA9C MOV R0, #0 @ Rd = Op2 .text:0000FAA0 BL time @ Branch with Link .text:0000FAA4 LDR R2, =0x51EB851F @ Load from Memory .text:0000FAA8 SMULL R5, R1, R2, R0 @ Signed Multiply long .text:0000FAAC MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000FAB0 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000FAB4 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000FAB8 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000FABC SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000FAC0 BL call_gettimeofday @ Branch with Link .text:0000FAC4 MOV R1, R4 @ Rd = Op2 .text:0000FAC8 MOV R2, R0 @ Rd = Op2 .text:0000FACC LDR R3, =aProcesspack @ Load from Memory .text:0000FAD0 LDR R0, =logfile_format @ Load from Memory .text:0000FAD4 BL printf @ Branch with Link .text:0000FAD8 LDRB R1, [R7] @ Load from Memory .text:0000FADC LDR R0, =aLargeTransport @ Load from Memory .text:0000FAE0 BL printf @ Branch with Link .text:0000FAE4 MOV R0, #0 @ Rd = Op2 .text:0000FAE8 BL sub_257B4 @ Branch with Link .text:0000FAEC .text:0000FAEC loc_FAEC: @ CODE XREF: processpack+3B70j .text:0000FAEC ADD R4, SP, #0x368+var_34C @ Rd = Op1 + Op2 .text:0000FAF0 MOV R2, #0x200 @ Rd = Op2 .text:0000FAF4 MOV R1, #0 @ Rd = Op2 .text:0000FAF8 MOV R0, R4 @ Rd = Op2 .text:0000FAFC BL sub_26A4C @ Branch with Link .text:0000FB00 MOV R0, #0xC3 @ '+' @ Rd = Op2 .text:0000FB04 BL hdr_isvalid @ Branch with Link .text:0000FB08 ADD R1, R7, #1 @ Rd = Op1 + Op2 .text:0000FB0C SUB R2, R0, #1 @ Rd = Op1 - Op2 .text:0000FB10 MOV R0, R4 @ Rd = Op2 .text:0000FB14 BL memcpy @ Branch with Link .text:0000FB18 MOV R0, #0xC3 @ '+' @ Rd = Op2 .text:0000FB1C B loc_F9DC @ Branch .text:0000FB20 @ --------------------------------------------------------------------------- .text:0000FB20 .text:0000FB20 util_info: @ CODE XREF: processpack+18j .text:0000FB20 @ DATA XREF: processpack+1A0o ... .text:0000FB20 LDR R3, =debug_level @ Load from Memory .text:0000FB24 LDR R2, [R3] @ Load from Memory .text:0000FB28 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000FB2C BLT loc_FB80 @ Branch .text:0000FB30 MOV R0, #0 @ Rd = Op2 .text:0000FB34 BL time @ Branch with Link .text:0000FB38 LDR R2, =0x51EB851F @ Load from Memory .text:0000FB3C SMULL R6, R1, R2, R0 @ Signed Multiply long .text:0000FB40 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000FB44 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000FB48 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000FB4C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000FB50 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000FB54 BL call_gettimeofday @ Branch with Link .text:0000FB58 MOV R1, R4 @ Rd = Op2 .text:0000FB5C MOV R2, R0 @ Rd = Op2 .text:0000FB60 LDR R3, =aProcesspack @ Load from Memory .text:0000FB64 LDR R0, =logfile_format @ Load from Memory .text:0000FB68 BL printf @ Branch with Link .text:0000FB6C LDRB R1, [R7] @ Load from Memory .text:0000FB70 LDR R0, =aGotUtilityInfo @ Load from Memory .text:0000FB74 BL printf @ Branch with Link .text:0000FB78 MOV R0, #0 @ Rd = Op2 .text:0000FB7C BL sub_257B4 @ Branch with Link .text:0000FB80 .text:0000FB80 loc_FB80: @ CODE XREF: processpack+3C04j .text:0000FB80 LDRB R2, [R7] @ Load from Memory .text:0000FB84 LDR R3, =dword_35FD8 @ Load from Memory .text:0000FB88 B loc_C78C @ Branch .text:0000FB8C @ --------------------------------------------------------------------------- .text:0000FB8C .text:0000FB8C util_halted: @ CODE XREF: processpack+18j .text:0000FB8C @ DATA XREF: processpack+1A4o ... .text:0000FB8C LDR R3, =debug_level @ Load from Memory .text:0000FB90 LDR R2, [R3] @ Load from Memory .text:0000FB94 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000FB98 BLT loc_C780 @ Branch .text:0000FB9C MOV R0, #0 @ Rd = Op2 .text:0000FBA0 BL time @ Branch with Link .text:0000FBA4 LDR R2, =0x51EB851F @ Load from Memory .text:0000FBA8 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000FBAC MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000FBB0 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000FBB4 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000FBB8 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000FBBC SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000FBC0 BL call_gettimeofday @ Branch with Link .text:0000FBC4 MOV R1, R4 @ Rd = Op2 .text:0000FBC8 MOV R2, R0 @ Rd = Op2 .text:0000FBCC LDR R3, =aProcesspack @ Load from Memory .text:0000FBD0 LDR R0, =logfile_format @ Load from Memory .text:0000FBD4 BL printf @ Branch with Link .text:0000FBD8 LDR R0, =aGotUtilityHalt @ Load from Memory .text:0000FBDC B loc_DB90 @ Branch .text:0000FBE0 @ --------------------------------------------------------------------------- .text:0000FBE0 .text:0000FBE0 uc_debug: @ CODE XREF: processpack+18j .text:0000FBE0 @ DATA XREF: processpack+364o .text:0000FBE0 LDR R3, =debug_level @ Load from Memory .text:0000FBE4 LDR R2, [R3] @ Load from Memory .text:0000FBE8 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000FBEC BLT loc_FC6C @ Branch .text:0000FBF0 MOV R0, #0 @ Rd = Op2 .text:0000FBF4 BL time @ Branch with Link .text:0000FBF8 LDR R2, =0x51EB851F @ Load from Memory .text:0000FBFC SMULL R6, R1, R2, R0 @ Signed Multiply long .text:0000FC00 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000FC04 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000FC08 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000FC0C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000FC10 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000FC14 BL call_gettimeofday @ Branch with Link .text:0000FC18 MOV R1, R4 @ Rd = Op2 .text:0000FC1C MOV R2, R0 @ Rd = Op2 .text:0000FC20 LDR R3, =aProcesspack @ Load from Memory .text:0000FC24 LDR R0, =logfile_format @ Load from Memory .text:0000FC28 BL printf @ Branch with Link .text:0000FC2C LDRB R12, [R7,#3] @ Load from Memory .text:0000FC30 LDRB LR, [R7,#4] @ Load from Memory .text:0000FC34 LDRB R4, [R7,#5] @ Load from Memory .text:0000FC38 LDRB R5, [R7,#6] @ Load from Memory .text:0000FC3C LDRB R6, [R7,#7] @ Load from Memory .text:0000FC40 LDRB R1, [R7] @ Load from Memory .text:0000FC44 LDRB R2, [R7,#1] @ Load from Memory .text:0000FC48 LDRB R3, [R7,#2] @ Load from Memory .text:0000FC4C LDR R0, =aUcDebug02x02x0 @ Load from Memory .text:0000FC50 STMEA SP, {R12,LR} @ Store Block to Memory .text:0000FC54 STR R4, [SP,#0x368+var_360] @ Store to Memory .text:0000FC58 STR R5, [SP,#0x368+var_35C] @ Store to Memory .text:0000FC5C STR R6, [SP,#0x368+var_358] @ Store to Memory .text:0000FC60 BL printf @ Branch with Link .text:0000FC64 MOV R0, #0 @ Rd = Op2 .text:0000FC68 BL sub_257B4 @ Branch with Link .text:0000FC6C .text:0000FC6C loc_FC6C: @ CODE XREF: processpack+3CC4j .text:0000FC6C LDR R0, =aDebug_phatlab @ name .text:0000FC70 BL getenv @ Branch with Link .text:0000FC74 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000FC78 BEQ loc_C780 @ Branch .text:0000FC7C LDR R4, =off_3D77C @ Load from Memory .text:0000FC80 MOV R0, R7 @ Rd = Op2 .text:0000FC84 LDR R3, [R4] @ Load from Memory .text:0000FC88 MOV R1, #1 @ Rd = Op2 .text:0000FC8C MOV R2, #8 @ Rd = Op2 .text:0000FC90 BL sub_25CB0 @ Branch with Link .text:0000FC94 LDR R0, [R4] @ Load from Memory .text:0000FC98 B loc_D618 @ Branch .text:0000FC9C @ --------------------------------------------------------------------------- .text:0000FC9C .text:0000FC9C old_req_firmware: @ CODE XREF: processpack+18j .text:0000FC9C @ DATA XREF: processpack+3A8o .text:0000FC9C LDR R3, =debug_level @ Load from Memory .text:0000FCA0 LDR R2, [R3] @ Load from Memory .text:0000FCA4 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000FCA8 BLT loc_FCF8 @ Branch .text:0000FCAC MOV R0, #0 @ Rd = Op2 .text:0000FCB0 BL time @ Branch with Link .text:0000FCB4 LDR R2, =0x51EB851F @ Load from Memory .text:0000FCB8 SMULL R5, R1, R2, R0 @ Signed Multiply long .text:0000FCBC MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000FCC0 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000FCC4 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000FCC8 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000FCCC SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000FCD0 BL call_gettimeofday @ Branch with Link .text:0000FCD4 MOV R1, R4 @ Rd = Op2 .text:0000FCD8 MOV R2, R0 @ Rd = Op2 .text:0000FCDC LDR R3, =aProcesspack @ Load from Memory .text:0000FCE0 LDR R0, =logfile_format @ Load from Memory .text:0000FCE4 BL printf @ Branch with Link .text:0000FCE8 LDR R0, =aGotFirmwareReq @ Load from Memory .text:0000FCEC BL xdebug_out @ Branch with Link .text:0000FCF0 MOV R0, #0 @ Rd = Op2 .text:0000FCF4 BL sub_257B4 @ Branch with Link .text:0000FCF8 .text:0000FCF8 loc_FCF8: @ CODE XREF: processpack+3D80j .text:0000FCF8 BL sub_19758 @ Branch with Link .text:0000FCFC B loc_F724 @ Branch .text:0000FD00 @ --------------------------------------------------------------------------- .text:0000FD00 .text:0000FD00 req_boot_firmware: @ CODE XREF: processpack+18j .text:0000FD00 @ DATA XREF: processpack+260o ... .text:0000FD00 LDR R5, =debug_level @ Load from Memory .text:0000FD04 LDR R3, [R5] @ Load from Memory .text:0000FD08 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0000FD0C BLT loc_FD60 @ Branch .text:0000FD10 MOV R0, #0 @ Rd = Op2 .text:0000FD14 BL time @ Branch with Link .text:0000FD18 LDR R2, =0x51EB851F @ Load from Memory .text:0000FD1C SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000FD20 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000FD24 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000FD28 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000FD2C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000FD30 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000FD34 BL call_gettimeofday @ Branch with Link .text:0000FD38 LDR R8, =aProcesspack @ Load from Memory .text:0000FD3C MOV R2, R0 @ Rd = Op2 .text:0000FD40 MOV R1, R4 @ Rd = Op2 .text:0000FD44 MOV R3, R8 @ Rd = Op2 .text:0000FD48 LDR R0, =logfile_format @ Load from Memory .text:0000FD4C BL printf @ Branch with Link .text:0000FD50 LDR R0, =aGotBootFirmwar @ Load from Memory .text:0000FD54 BL xdebug_out @ Branch with Link .text:0000FD58 MOV R0, #0 @ Rd = Op2 .text:0000FD5C BL sub_257B4 @ Branch with Link .text:0000FD60 .text:0000FD60 loc_FD60: @ CODE XREF: processpack+3DE4j .text:0000FD60 LDR R3, =dword_35FD8 @ Load from Memory .text:0000FD64 LDR R3, [R3] @ Load from Memory .text:0000FD68 CMP R3, #4 @ Set cond. codes on Op1 - Op2 .text:0000FD6C BLE loc_FE48 @ Branch .text:0000FD70 CMP R3, #5 @ Set cond. codes on Op1 - Op2 .text:0000FD74 BEQ loc_FD90 @ Branch .text:0000FD78 .text:0000FD78 loc_FD78: @ CODE XREF: processpack+3E9Cj .text:0000FD78 LDR R3, =xnoenc_flag @ Load from Memory .text:0000FD7C LDR R2, [R3] @ Load from Memory .text:0000FD80 CMP R2, #2 @ Set cond. codes on Op1 - Op2 .text:0000FD84 BNE loc_C780 @ Branch .text:0000FD88 BL program_pld @ Branch with Link .text:0000FD8C B loc_C780 @ Branch .text:0000FD90 @ --------------------------------------------------------------------------- .text:0000FD90 .text:0000FD90 loc_FD90: @ CODE XREF: processpack+3E4Cj .text:0000FD90 LDR R7, =aDosBoot5_pac @ Load from Memory .text:0000FD94 MOV R0, R7 @ Rd = Op2 .text:0000FD98 BL verify_sig @ boot5.pac .text:0000FD9C CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000FDA0 MOV R6, R0 @ Rd = Op2 .text:0000FDA4 BEQ loc_FDC8 @ Branch .text:0000FDA8 LDR R1, =aProcesspack @ Load from Memory .text:0000FDAC LDR R2, =aScc0101 @ Load from Memory .text:0000FDB0 MOV R0, #1 @ Rd = Op2 .text:0000FDB4 BL sub_251D0 @ Branch with Link .text:0000FDB8 MOV R1, R7 @ filename .text:0000FDBC .text:0000FDBC loc_FDBC: @ CODE XREF: processpack+3F4Cj .text:0000FDBC MOV R0, #0xA1 @ 'í' @ hexstuff .text:0000FDC0 BL xread_firmware @ Branch with Link .text:0000FDC4 B loc_FD78 @ Branch .text:0000FDC8 @ --------------------------------------------------------------------------- .text:0000FDC8 .text:0000FDC8 loc_FDC8: @ CODE XREF: processpack+3E7Cj .text:0000FDC8 LDR R3, [R5] @ Load from Memory .text:0000FDCC CMN R3, #2 @ Set cond. codes on Op1 + Op2 .text:0000FDD0 BLT loc_FE40 @ Branch .text:0000FDD4 BL time @ Branch with Link .text:0000FDD8 LDR R2, =0x51EB851F @ Load from Memory .text:0000FDDC SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000FDE0 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000FDE4 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000FDE8 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000FDEC ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000FDF0 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000FDF4 BL call_gettimeofday @ Branch with Link .text:0000FDF8 LDR R8, =aProcesspack @ Load from Memory .text:0000FDFC MOV R2, R0 @ Rd = Op2 .text:0000FE00 MOV R1, R4 @ Rd = Op2 .text:0000FE04 MOV R3, R8 @ Rd = Op2 .text:0000FE08 LDR R0, =logfile_format @ Load from Memory .text:0000FE0C BL printf @ Branch with Link .text:0000FE10 MOV R1, R7 @ Rd = Op2 .text:0000FE14 LDR R0, =aCorruptS @ Load from Memory .text:0000FE18 BL printf @ Branch with Link .text:0000FE1C MOV R0, R6 @ Rd = Op2 .text:0000FE20 BL sub_257B4 @ Branch with Link .text:0000FE24 .text:0000FE24 loc_FE24: @ CODE XREF: processpack+3F1Cj .text:0000FE24 LDR R2, =aErr0101 @ Load from Memory .text:0000FE28 MOV R1, R8 @ Rd = Op2 .text:0000FE2C .text:0000FE2C loc_FE2C: @ CODE XREF: processpack+3FB4j .text:0000FE2C MOV R0, #1 @ Rd = Op2 .text:0000FE30 BL sub_251D0 @ Branch with Link .text:0000FE34 BL error_blink_forever @ Branch with Link .text:0000FE38 MOV R0, #1 @ Rd = Op2 .text:0000FE3C BL sub_274E4 @ Branch with Link .text:0000FE40 .text:0000FE40 loc_FE40: @ CODE XREF: processpack+3EA8j .text:0000FE40 LDR R8, =aProcesspack @ Load from Memory .text:0000FE44 B loc_FE24 @ Branch .text:0000FE48 @ --------------------------------------------------------------------------- .text:0000FE48 .text:0000FE48 loc_FE48: @ CODE XREF: processpack+3E44j .text:0000FE48 LDR R6, =aDosBoot_pac @ Load from Memory .text:0000FE4C MOV R0, R6 @ Rd = Op2 .text:0000FE50 BL verify_sig @ boot.pac .text:0000FE54 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0000FE58 MOV R7, R0 @ Rd = Op2 .text:0000FE5C BEQ loc_FE78 @ Branch .text:0000FE60 LDR R1, =aProcesspack @ Load from Memory .text:0000FE64 LDR R2, =aScc0100 @ Load from Memory .text:0000FE68 MOV R0, #1 @ Rd = Op2 .text:0000FE6C BL sub_251D0 @ Branch with Link .text:0000FE70 MOV R1, R6 @ Rd = Op2 .text:0000FE74 B loc_FDBC @ Branch .text:0000FE78 @ --------------------------------------------------------------------------- .text:0000FE78 .text:0000FE78 loc_FE78: @ CODE XREF: processpack+3F34j .text:0000FE78 LDR R3, [R5] @ Load from Memory .text:0000FE7C CMN R3, #2 @ Set cond. codes on Op1 + Op2 .text:0000FE80 BLT loc_FEE0 @ Branch .text:0000FE84 BL time @ Branch with Link .text:0000FE88 LDR R2, =0x51EB851F @ Load from Memory .text:0000FE8C SMULL R5, R1, R2, R0 @ Signed Multiply long .text:0000FE90 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000FE94 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000FE98 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000FE9C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000FEA0 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000FEA4 BL call_gettimeofday @ Branch with Link .text:0000FEA8 LDR R8, =aProcesspack @ Load from Memory .text:0000FEAC MOV R2, R0 @ Rd = Op2 .text:0000FEB0 MOV R1, R4 @ Rd = Op2 .text:0000FEB4 MOV R3, R8 @ Rd = Op2 .text:0000FEB8 LDR R0, =logfile_format @ Load from Memory .text:0000FEBC BL printf @ Branch with Link .text:0000FEC0 MOV R1, R6 @ Rd = Op2 .text:0000FEC4 LDR R0, =aCorruptS @ Load from Memory .text:0000FEC8 BL printf @ Branch with Link .text:0000FECC MOV R0, R7 @ Rd = Op2 .text:0000FED0 BL sub_257B4 @ Branch with Link .text:0000FED4 .text:0000FED4 loc_FED4: @ CODE XREF: processpack+3FBCj .text:0000FED4 LDR R2, =aErr0100 @ Load from Memory .text:0000FED8 MOV R1, R8 @ Rd = Op2 .text:0000FEDC B loc_FE2C @ Branch .text:0000FEE0 @ --------------------------------------------------------------------------- .text:0000FEE0 .text:0000FEE0 loc_FEE0: @ CODE XREF: processpack+3F58j .text:0000FEE0 LDR R8, =aProcesspack @ Load from Memory .text:0000FEE4 B loc_FED4 @ Branch .text:0000FEE8 @ --------------------------------------------------------------------------- .text:0000FEE8 .text:0000FEE8 old_prog_pld: @ CODE XREF: processpack+18j .text:0000FEE8 @ DATA XREF: processpack+3C8o .text:0000FEE8 LDR R3, =debug_level @ Load from Memory .text:0000FEEC LDR R2, [R3] @ Load from Memory .text:0000FEF0 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000FEF4 BLT loc_FF44 @ Branch .text:0000FEF8 MOV R0, #0 @ Rd = Op2 .text:0000FEFC BL time @ Branch with Link .text:0000FF00 LDR R2, =0x51EB851F @ Load from Memory .text:0000FF04 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000FF08 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000FF0C RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000FF10 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000FF14 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000FF18 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000FF1C BL call_gettimeofday @ Branch with Link .text:0000FF20 MOV R1, R4 @ Rd = Op2 .text:0000FF24 MOV R2, R0 @ Rd = Op2 .text:0000FF28 LDR R3, =aProcesspack @ Load from Memory .text:0000FF2C LDR R0, =logfile_format @ Load from Memory .text:0000FF30 BL printf @ Branch with Link .text:0000FF34 LDR R0, =aGotOldProgPld @ Load from Memory .text:0000FF38 BL xdebug_out @ Branch with Link .text:0000FF3C MOV R0, #0 @ Rd = Op2 .text:0000FF40 BL sub_257B4 @ Branch with Link .text:0000FF44 .text:0000FF44 loc_FF44: @ CODE XREF: processpack+3FCCj .text:0000FF44 BL program_pld @ Branch with Link .text:0000FF48 MOV R1, #0 @ Rd = Op2 .text:0000FF4C MOV R0, #0xFC @ 'n' @ Rd = Op2 .text:0000FF50 BL write_old_packet @ Branch with Link .text:0000FF54 B loc_C780 @ Branch .text:0000FF58 @ --------------------------------------------------------------------------- .text:0000FF58 .text:0000FF58 invalid_code: @ CODE XREF: processpack+18j .text:0000FF58 @ processpack+1Cj .text:0000FF58 @ DATA XREF: ... .text:0000FF58 LDR R3, =debug_level @ Load from Memory .text:0000FF5C LDR R2, [R3] @ Load from Memory .text:0000FF60 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000FF64 BLT loc_C780 @ Branch .text:0000FF68 MOV R0, #0 @ Rd = Op2 .text:0000FF6C BL time @ Branch with Link .text:0000FF70 LDR R2, =0x51EB851F @ Load from Memory .text:0000FF74 SMULL R6, R1, R2, R0 @ Signed Multiply long .text:0000FF78 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000FF7C RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000FF80 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000FF84 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000FF88 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000FF8C BL call_gettimeofday @ Branch with Link .text:0000FF90 MOV R1, R4 @ Rd = Op2 .text:0000FF94 MOV R2, R0 @ Rd = Op2 .text:0000FF98 LDR R3, =aProcesspack @ Load from Memory .text:0000FF9C LDR R0, =logfile_format @ Load from Memory .text:0000FFA0 BL printf @ Branch with Link .text:0000FFA4 LDR R0, =aUnhandledPacke @ Load from Memory .text:0000FFA8 MOV R1, R5 @ Rd = Op2 .text:0000FFAC B loc_D610 @ Branch .text:0000FFB0 @ --------------------------------------------------------------------------- .text:0000FFB0 .text:0000FFB0 error_data: @ CODE XREF: processpack+18j .text:0000FFB0 @ DATA XREF: processpack+3D4o .text:0000FFB0 LDR R3, =debug_level @ Load from Memory .text:0000FFB4 LDR R2, [R3] @ Load from Memory .text:0000FFB8 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0000FFBC BLT loc_C780 @ Branch .text:0000FFC0 MOV R0, #0 @ Rd = Op2 .text:0000FFC4 BL time @ Branch with Link .text:0000FFC8 LDR R2, =0x51EB851F @ Load from Memory .text:0000FFCC SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0000FFD0 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0000FFD4 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0000FFD8 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000FFDC ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0000FFE0 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0000FFE4 BL call_gettimeofday @ Branch with Link .text:0000FFE8 MOV R1, R4 @ Rd = Op2 .text:0000FFEC MOV R2, R0 @ Rd = Op2 .text:0000FFF0 LDR R3, =aProcesspack @ Load from Memory .text:0000FFF4 LDR R0, =logfile_format @ Load from Memory .text:0000FFF8 BL printf @ Branch with Link .text:0000FFFC LDRB R6, [R7,#7] @ Load from Memory .text:00010000 .text:00010000 loc_10000: @ DATA XREF: MD5Transform+B20o .text:00010000 @ sub_24024+50o ... .text:00010000 LDRB R12, [R7,#3] @ Load from Memory .text:00010004 .text:00010004 loc_10004: @ DATA XREF: .data:0003CE50o .text:00010004 LDRB LR, [R7,#4] @ Load from Memory .text:00010008 LDRB R4, [R7,#5] @ Load from Memory .text:0001000C LDRB R5, [R7,#6] @ Load from Memory .text:00010010 LDRB R1, [R7] @ Load from Memory .text:00010014 LDRB R2, [R7,#1] @ Load from Memory .text:00010018 LDRB R3, [R7,#2] @ Load from Memory .text:0001001C LDR R0, =aUcError02x02x0 @ Load from Memory .text:00010020 STMEA SP, {R12,LR} @ Store Block to Memory .text:00010024 STR R4, [SP,#0x368+var_360] @ Store to Memory .text:00010028 STR R5, [SP,#0x368+var_35C] @ Store to Memory .text:0001002C STR R6, [SP,#0x368+var_358] @ Store to Memory .text:00010030 BL printf @ Branch with Link .text:00010034 B loc_D614 @ Branch .text:00010038 @ --------------------------------------------------------------------------- .text:00010038 .text:00010038 error: @ CODE XREF: processpack+18j .text:00010038 @ DATA XREF: processpack+3D8o .text:00010038 LDR R3, =debug_level @ Load from Memory .text:0001003C LDR R2, [R3] @ Load from Memory .text:00010040 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00010044 BLT loc_C780 @ Branch .text:00010048 MOV R0, #0 @ Rd = Op2 .text:0001004C BL time @ Branch with Link .text:00010050 LDR R2, =0x51EB851F @ Load from Memory .text:00010054 SMULL R5, R1, R2, R0 @ Signed Multiply long .text:00010058 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0001005C RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00010060 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00010064 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00010068 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0001006C BL call_gettimeofday @ Branch with Link .text:00010070 MOV R1, R4 @ Rd = Op2 .text:00010074 MOV R2, R0 @ Rd = Op2 .text:00010078 LDR R3, =aProcesspack @ Load from Memory .text:0001007C LDR R0, =logfile_format @ Load from Memory .text:00010080 BL printf @ Branch with Link .text:00010084 LDR R0, =aGotError @ Load from Memory .text:00010088 B loc_DB90 @ Branch .text:00010088 @ End of function processpack .text:00010088 .text:0001008C .text:0001008C @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001008C .text:0001008C .text:0001008C sub_1008C: @ CODE XREF: rw_packet+9A0p .text:0001008C MOV R12, #0 @ Rd = Op2 .text:00010090 CMP R12, R1 @ Set cond. codes on Op1 - Op2 .text:00010094 MOV R2, R12 @ Rd = Op2 .text:00010098 BGE loc_100B0 @ Branch .text:0001009C .text:0001009C loc_1009C: @ CODE XREF: sub_1008C+20j .text:0001009C LDRB R3, [R0,R2] @ Load from Memory .text:000100A0 ADD R2, R2, #1 @ Rd = Op1 + Op2 .text:000100A4 CMP R2, R1 @ Set cond. codes on Op1 - Op2 .text:000100A8 ADD R12, R12, R3 @ Rd = Op1 + Op2 .text:000100AC BLT loc_1009C @ Branch .text:000100B0 .text:000100B0 loc_100B0: @ CODE XREF: sub_1008C+Cj .text:000100B0 TST R12, #0xFF @ Set cond. codes on Op1 & Op2 .text:000100B4 MOVNE R0, #0 @ Rd = Op2 .text:000100B8 MOVEQ R0, #1 @ Rd = Op2 .text:000100BC RET @ Return from Subroutine .text:000100BC @ End of function sub_1008C .text:000100BC .text:000100C0 .text:000100C0 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:000100C0 .text:000100C0 .text:000100C0 hdr_isvalid: @ CODE XREF: rw_packet+19Cp .text:000100C0 @ rw_packet+230p ... .text:000100C0 SUB R0, R0, #0x10 @ Rd = Op1 - Op2 .text:000100C4 CMP R0, #0xEF @ 'n' @ Set cond. codes on Op1 - Op2 .text:000100C8 LDRLS PC, [PC,R0,LSL#2] @ Corresponds to jump table at the beginning of processpack .text:000100CC B invalid_hdr @ Branch .text:000100CC @ --------------------------------------------------------------------------- .text:000100D0 .long len_6 @ 0x10 .text:000100D4 .long len_4 @ 0x11 .text:000100D8 .long len_0 @ 0x12 .text:000100DC .long len_4 @ 0x13 .text:000100E0 .long len_6 @ 0x14 .text:000100E4 .long len_2 @ 0x15 .text:000100E8 .long invalid_hdr .text:000100EC .long invalid_hdr .text:000100F0 .long invalid_hdr @ 0x18 .text:000100F4 .long invalid_hdr .text:000100F8 .long invalid_hdr .text:000100FC .long invalid_hdr .text:00010100 .long invalid_hdr .text:00010104 .long invalid_hdr .text:00010108 .long invalid_hdr .text:0001010C .long invalid_hdr .text:00010110 .long len_2 @ 0x20 .text:00010114 .long len_0 @ 0x21 .text:00010118 .long len_4 @ 0x22 .text:0001011C .long invalid_hdr .text:00010120 .long invalid_hdr .text:00010124 .long invalid_hdr .text:00010128 .long invalid_hdr .text:0001012C .long invalid_hdr .text:00010130 .long invalid_hdr @ 0x28 .text:00010134 .long invalid_hdr .text:00010138 .long invalid_hdr .text:0001013C .long invalid_hdr .text:00010140 .long invalid_hdr .text:00010144 .long invalid_hdr .text:00010148 .long invalid_hdr .text:0001014C .long invalid_hdr .text:00010150 .long len_6 @ 0x30 .text:00010154 .long invalid_hdr .text:00010158 .long len_0 @ 0x32 .text:0001015C .long len_0 @ 0x32 .text:00010160 .long len_0 @ 0x34 .text:00010164 .long len_0 @ 0x35 .text:00010168 .long len_1 @ 0x36 .text:0001016C .long len_0 @ 0x37 .text:00010170 .long len_4 @ 0x38 .text:00010174 .long len_5 @ 0x39 .text:00010178 .long invalid_hdr .text:0001017C .long invalid_hdr .text:00010180 .long invalid_hdr .text:00010184 .long invalid_hdr .text:00010188 .long invalid_hdr .text:0001018C .long invalid_hdr .text:00010190 .long len_5 @ 0x40 .text:00010194 .long len_5 @ 0x41 .text:00010198 .long invalid_hdr .text:0001019C .long len_1 @ 0x43 .text:000101A0 .long len_1 @ 0x44 .text:000101A4 .long len_0 @ 0x45 .text:000101A8 .long len_0 @ 0x46 .text:000101AC .long len_0 @ 0x47 .text:000101B0 .long len_4 @ 0x48 .text:000101B4 .long invalid_hdr .text:000101B8 .long invalid_hdr .text:000101BC .long invalid_hdr .text:000101C0 .long invalid_hdr .text:000101C4 .long invalid_hdr .text:000101C8 .long invalid_hdr .text:000101CC .long invalid_hdr .text:000101D0 .long len_14 @ 0x50 .text:000101D4 .long invalid_hdr .text:000101D8 .long invalid_hdr .text:000101DC .long invalid_hdr .text:000101E0 .long invalid_hdr .text:000101E4 .long invalid_hdr .text:000101E8 .long len_4 @ 0x56 .text:000101EC .long len_2 @ 0x57 .text:000101F0 .long invalid_hdr @ 0x58 .text:000101F4 .long invalid_hdr .text:000101F8 .long invalid_hdr .text:000101FC .long invalid_hdr .text:00010200 .long invalid_hdr .text:00010204 .long invalid_hdr .text:00010208 .long invalid_hdr .text:0001020C .long invalid_hdr .text:00010210 .long len_0 @ 0x60 .text:00010214 .long len_0 .text:00010218 .long len_0 .text:0001021C .long len_0 .text:00010220 .long len_0 .text:00010224 .long len_0 .text:00010228 .long len_0 .text:0001022C .long len_0 .text:00010230 .long invalid_hdr @ 0x68 .text:00010234 .long invalid_hdr .text:00010238 .long invalid_hdr .text:0001023C .long invalid_hdr .text:00010240 .long invalid_hdr .text:00010244 .long invalid_hdr .text:00010248 .long invalid_hdr .text:0001024C .long invalid_hdr .text:00010250 .long len_0 @ 0x70 .text:00010254 .long len_1 @ 0x71 .text:00010258 .long len_0 @ 0x72 .text:0001025C .long len_1 @ 0x73 .text:00010260 .long len_0 @ 0x74 .text:00010264 .long len_0 @ 0x75 .text:00010268 .long len_0 @ 0x76 .text:0001026C .long len_0 @ 0x77 .text:00010270 .long len_0 @ 0x78 .text:00010274 .long len_0 @ 0x79 .text:00010278 .long len_0 @ 0x7a .text:0001027C .long len_8 @ 0x7b .text:00010280 .long len_4 @ 0x7c .text:00010284 .long len_2 @ 0x7d .text:00010288 .long len_6 @ 0x7e .text:0001028C .long len_0 @ 0x7f .text:00010290 .long len_2 @ 0x80 .text:00010294 .long invalid_hdr .text:00010298 .long invalid_hdr .text:0001029C .long invalid_hdr .text:000102A0 .long invalid_hdr .text:000102A4 .long invalid_hdr .text:000102A8 .long invalid_hdr .text:000102AC .long invalid_hdr .text:000102B0 .long invalid_hdr @ 0x88 .text:000102B4 .long invalid_hdr .text:000102B8 .long invalid_hdr .text:000102BC .long invalid_hdr .text:000102C0 .long invalid_hdr .text:000102C4 .long invalid_hdr .text:000102C8 .long invalid_hdr .text:000102CC .long invalid_hdr .text:000102D0 .long len_1 @ 0x90 .text:000102D4 .long len_0 @ 0x91 .text:000102D8 .long len_1 @ 0x92 .text:000102DC .long len_1 .text:000102E0 .long len_1 .text:000102E4 .long len_1 @ 0x95 .text:000102E8 .long invalid_hdr .text:000102EC .long invalid_hdr .text:000102F0 .long invalid_hdr @ 0x98 .text:000102F4 .long invalid_hdr .text:000102F8 .long invalid_hdr .text:000102FC .long invalid_hdr .text:00010300 .long invalid_hdr .text:00010304 .long invalid_hdr .text:00010308 .long invalid_hdr .text:0001030C .long invalid_hdr .text:00010310 .long len_0 @ 0xa0 .text:00010314 .long len_0 .text:00010318 .long len_0 @ 0xa2 .text:0001031C .long len_9 @ 0xa3 .text:00010320 .long invalid_hdr .text:00010324 .long invalid_hdr .text:00010328 .long invalid_hdr .text:0001032C .long invalid_hdr .text:00010330 .long invalid_hdr @ 0xa8 .text:00010334 .long invalid_hdr .text:00010338 .long invalid_hdr .text:0001033C .long invalid_hdr .text:00010340 .long invalid_hdr .text:00010344 .long invalid_hdr .text:00010348 .long invalid_hdr .text:0001034C .long invalid_hdr .text:00010350 .long len_0 @ 0xb0 .text:00010354 .long len_0 .text:00010358 .long len_0 .text:0001035C .long len_0 .text:00010360 .long len_0 @ 0xb4 .text:00010364 .long len_2 @ 0xb5 .text:00010368 .long len_0 @ 0xb6 .text:0001036C .long invalid_hdr .text:00010370 .long invalid_hdr @ 0xb8 .text:00010374 .long invalid_hdr .text:00010378 .long invalid_hdr .text:0001037C .long invalid_hdr .text:00010380 .long invalid_hdr .text:00010384 .long invalid_hdr .text:00010388 .long invalid_hdr .text:0001038C .long invalid_hdr .text:00010390 .long len_14 @ 0xc0 .text:00010394 .long invalid_hdr .text:00010398 .long len_43 @ 0xc2 .text:0001039C .long len_128 @ 0xc3 .text:000103A0 .long invalid_hdr .text:000103A4 .long invalid_hdr .text:000103A8 .long invalid_hdr .text:000103AC .long invalid_hdr .text:000103B0 .long invalid_hdr @ 0xc8 .text:000103B4 .long invalid_hdr .text:000103B8 .long invalid_hdr .text:000103BC .long invalid_hdr .text:000103C0 .long invalid_hdr .text:000103C4 .long invalid_hdr .text:000103C8 .long invalid_hdr .text:000103CC .long invalid_hdr .text:000103D0 .long invalid_hdr @ 0xd0 .text:000103D4 .long invalid_hdr .text:000103D8 .long invalid_hdr .text:000103DC .long invalid_hdr .text:000103E0 .long invalid_hdr .text:000103E4 .long invalid_hdr .text:000103E8 .long invalid_hdr .text:000103EC .long invalid_hdr .text:000103F0 .long invalid_hdr @ 0xd8 .text:000103F4 .long invalid_hdr .text:000103F8 .long invalid_hdr .text:000103FC .long invalid_hdr .text:00010400 off_10400: .long invalid_hdr @ DATA XREF: .data:0003CE54o .text:00010404 .long invalid_hdr .text:00010408 .long invalid_hdr .text:0001040C .long invalid_hdr .text:00010410 .long loc_104D8 @ 0xe0 .text:00010414 .long loc_104F0 @ 0xe1 .text:00010418 .long len_8 @ 0xe2 .text:0001041C .long invalid_hdr .text:00010420 .long invalid_hdr .text:00010424 .long invalid_hdr .text:00010428 .long invalid_hdr .text:0001042C .long invalid_hdr .text:00010430 .long invalid_hdr @ 0xe8 .text:00010434 .long invalid_hdr .text:00010438 .long invalid_hdr .text:0001043C .long invalid_hdr .text:00010440 .long invalid_hdr .text:00010444 .long invalid_hdr .text:00010448 .long invalid_hdr .text:0001044C .long invalid_hdr .text:00010450 .long invalid_hdr @ 0xf0 .text:00010454 .long invalid_hdr .text:00010458 .long invalid_hdr .text:0001045C .long loc_104F0 @ 0xf3 .text:00010460 .long invalid_hdr .text:00010464 .long loc_104F0 @ 0xf5 .text:00010468 .long invalid_hdr .text:0001046C .long invalid_hdr .text:00010470 .long invalid_hdr @ 0xf8 .text:00010474 .long invalid_hdr .text:00010478 .long invalid_hdr .text:0001047C .long loc_104F0 @ 0xfb .text:00010480 .long loc_104F0 @ 0xfc .text:00010484 .long invalid_hdr .text:00010488 .long len_8 @ 0xfe .text:0001048C .long len_0 @ 0xff .text:00010490 @ --------------------------------------------------------------------------- .text:00010490 .text:00010490 len_128: @ CODE XREF: hdr_isvalid+8j .text:00010490 @ DATA XREF: hdr_isvalid+2DCo .text:00010490 MOV R0, #0x80 @ 'Ç' @ Rd = Op2 .text:00010494 RET @ Return from Subroutine .text:00010498 @ --------------------------------------------------------------------------- .text:00010498 .text:00010498 len_5: @ CODE XREF: hdr_isvalid+8j .text:00010498 @ DATA XREF: hdr_isvalid+B4o ... .text:00010498 MOV R0, #5 @ Rd = Op2 .text:0001049C RET @ Return from Subroutine .text:000104A0 @ --------------------------------------------------------------------------- .text:000104A0 .text:000104A0 len_4: @ CODE XREF: hdr_isvalid+8j .text:000104A0 @ DATA XREF: hdr_isvalid+14o ... .text:000104A0 MOV R0, #4 @ Rd = Op2 .text:000104A4 RET @ Return from Subroutine .text:000104A8 @ --------------------------------------------------------------------------- .text:000104A8 .text:000104A8 len_6: @ CODE XREF: hdr_isvalid+8j .text:000104A8 @ DATA XREF: hdr_isvalid+10o ... .text:000104A8 MOV R0, #6 @ Rd = Op2 .text:000104AC RET @ Return from Subroutine .text:000104B0 @ --------------------------------------------------------------------------- .text:000104B0 .text:000104B0 len_1: @ CODE XREF: hdr_isvalid+8j .text:000104B0 @ DATA XREF: hdr_isvalid+A8o ... .text:000104B0 MOV R0, #1 @ Rd = Op2 .text:000104B4 RET @ Return from Subroutine .text:000104B8 @ --------------------------------------------------------------------------- .text:000104B8 .text:000104B8 len_9: @ CODE XREF: hdr_isvalid+8j .text:000104B8 @ DATA XREF: hdr_isvalid+25Co .text:000104B8 MOV R0, #9 @ Rd = Op2 .text:000104BC RET @ Return from Subroutine .text:000104C0 @ --------------------------------------------------------------------------- .text:000104C0 .text:000104C0 len_2: @ CODE XREF: hdr_isvalid+8j .text:000104C0 @ DATA XREF: hdr_isvalid+24o ... .text:000104C0 MOV R0, #2 @ Rd = Op2 .text:000104C4 RET @ Return from Subroutine .text:000104C8 @ --------------------------------------------------------------------------- .text:000104C8 .text:000104C8 len_14: @ CODE XREF: hdr_isvalid+8j .text:000104C8 @ DATA XREF: hdr_isvalid+110o ... .text:000104C8 MOV R0, #0xE @ Rd = Op2 .text:000104CC RET @ Return from Subroutine .text:000104D0 @ --------------------------------------------------------------------------- .text:000104D0 .text:000104D0 len_43: @ CODE XREF: hdr_isvalid+8j .text:000104D0 @ DATA XREF: hdr_isvalid+2D8o .text:000104D0 MOV R0, #0x2B @ '+' @ Rd = Op2 .text:000104D4 RET @ Return from Subroutine .text:000104D8 @ --------------------------------------------------------------------------- .text:000104D8 .text:000104D8 loc_104D8: @ CODE XREF: hdr_isvalid+8j .text:000104D8 @ DATA XREF: hdr_isvalid+350o .text:000104D8 LDR R3, =dword_35F3C @ Load from Memory .text:000104DC LDR R2, [R3] @ Load from Memory .text:000104E0 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:000104E4 MOVLEQ R0, 0xFFFFFFFF .text:000104E8 MOVNE R0, #1 @ Rd = Op2 .text:000104EC RET @ Return from Subroutine .text:000104F0 @ --------------------------------------------------------------------------- .text:000104F0 .text:000104F0 loc_104F0: @ CODE XREF: hdr_isvalid+8j .text:000104F0 @ DATA XREF: hdr_isvalid+354o ... .text:000104F0 LDR R3, =dword_35F3C @ Load from Memory .text:000104F4 LDR R2, [R3] @ Load from Memory .text:000104F8 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:000104FC MOVLEQ R0, 0xFFFFFFFF .text:00010500 MOVNE R0, #0 @ Rd = Op2 .text:00010504 RET @ Return from Subroutine .text:00010508 @ --------------------------------------------------------------------------- .text:00010508 .text:00010508 invalid_hdr: @ CODE XREF: hdr_isvalid+8j .text:00010508 @ hdr_isvalid+Cj .text:00010508 @ DATA XREF: ... .text:00010508 MOVL R0, 0xFFFFFFFF .text:0001050C RET @ Return from Subroutine .text:00010510 @ --------------------------------------------------------------------------- .text:00010510 .text:00010510 len_8: @ CODE XREF: hdr_isvalid+8j .text:00010510 @ DATA XREF: hdr_isvalid+1BCo ... .text:00010510 MOV R0, #8 @ Rd = Op2 .text:00010514 RET @ Return from Subroutine .text:00010518 @ --------------------------------------------------------------------------- .text:00010518 .text:00010518 len_0: @ CODE XREF: hdr_isvalid+8j .text:00010518 @ DATA XREF: hdr_isvalid+18o ... .text:00010518 MOV R0, #0 @ Rd = Op2 .text:0001051C RET @ Return from Subroutine .text:0001051C @ End of function hdr_isvalid .text:0001051C .text:0001051C @ --------------------------------------------------------------------------- .text:00010520 off_10520: .long dword_35F3C @ DATA XREF: hdr_isvalid:loc_104D8r .text:00010520 @ hdr_isvalid:loc_104F0r .text:00010524 .text:00010524 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00010524 .text:00010524 .text:00010524 sub_10524: @ CODE XREF: rw_packet+24BCp .text:00010524 STMFD SP!, {R4-R7,LR} @ Store Block to Memory .text:00010528 MOV R6, R0 @ Rd = Op2 .text:0001052C STRB R1, [R6] @ Store to Memory .text:00010530 MOV R0, R1 @ Rd = Op2 .text:00010534 MOV R5, R1 @ Rd = Op2 .text:00010538 MOV R4, R2 @ Rd = Op2 .text:0001053C BL hdr_isvalid @ Branch with Link .text:00010540 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00010544 MOV R7, #0 @ Rd = Op2 .text:00010548 BLE loc_10564 @ Branch .text:0001054C MOV R0, R5 @ Rd = Op2 .text:00010550 BL hdr_isvalid @ Branch with Link .text:00010554 MOV R1, R4 @ Rd = Op2 .text:00010558 MOV R2, R0 @ Rd = Op2 .text:0001055C ADD R0, R6, #1 @ Rd = Op1 + Op2 .text:00010560 BL memcpy @ Branch with Link .text:00010564 .text:00010564 loc_10564: @ CODE XREF: sub_10524+24j .text:00010564 MOV R4, R7 @ Rd = Op2 .text:00010568 .text:00010568 loc_10568: @ CODE XREF: sub_10524+60j .text:00010568 MOV R0, R5 @ Rd = Op2 .text:0001056C BL hdr_isvalid @ Branch with Link .text:00010570 ADD R0, R0, #1 @ Rd = Op1 + Op2 .text:00010574 CMP R4, R0 @ Set cond. codes on Op1 - Op2 .text:00010578 LDRLTB R3, [R6,R4] @ Load from Memory .text:0001057C ADDLT R4, R4, #1 @ Rd = Op1 + Op2 .text:00010580 ADDLT R7, R7, R3 @ Rd = Op1 + Op2 .text:00010584 BLT loc_10568 @ Branch .text:00010588 MOV R0, R5 @ Rd = Op2 .text:0001058C BL hdr_isvalid @ Branch with Link .text:00010590 RSB R3, R7, #0 @ Rd = Op2 - Op1 .text:00010594 ADD R0, R6, R0 @ Rd = Op1 + Op2 .text:00010598 STRB R3, [R0,#1] @ Store to Memory .text:0001059C MOV R0, #1 @ Rd = Op2 .text:000105A0 LDMFD SP!, {R4-R7,PC} @ Load Block from Memory .text:000105A0 @ End of function sub_10524 .text:000105A0 .text:000105A4 .text:000105A4 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:000105A4 .text:000105A4 .text:000105A4 sub_105A4: @ CODE XREF: main+36Cp .text:000105A4 .text:000105A4 var_20 = -0x20 .text:000105A4 var_1C = -0x1C .text:000105A4 var_14 = -0x14 .text:000105A4 .text:000105A4 STMFD SP!, {R4-R7,LR} @ Store Block to Memory .text:000105A8 MOV R1, #1 @ oflag .text:000105AC SUB SP, SP, #0xC @ Rd = Op1 - Op2 .text:000105B0 LDR R0, =aDevLed @ file .text:000105B4 BL __libc_open @ Branch with Link .text:000105B8 LDR R2, =dword_35FA8 @ Load from Memory .text:000105BC CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000105C0 MOVLE R3, #0 @ Rd = Op2 .text:000105C4 STR R0, [R2] @ Store to Memory .text:000105C8 MOV R1, #0x100 @ Rd = Op2 .text:000105CC STRLE R3, [R2] @ Store to Memory .text:000105D0 MOV R0, #1 @ Rd = Op2 .text:000105D4 BL get_pn_board_ver @ Branch with Link .text:000105D8 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000105DC BEQ loc_105F8 @ Branch .text:000105E0 MOVL R1, 0x1FF .text:000105E8 MOVL R0, 0xFFFFFFFF .text:000105EC BL get_pn_board_ver @ Branch with Link .text:000105F0 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000105F4 BNE loc_109B8 @ Branch .text:000105F8 .text:000105F8 loc_105F8: @ CODE XREF: sub_105A4+38j .text:000105F8 MOV R0, #1 @ Rd = Op2 .text:000105FC MOV R1, #0x200 @ Rd = Op2 .text:00010600 BL get_pn_board_ver @ Branch with Link .text:00010604 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00010608 BNE loc_108C0 @ Branch .text:0001060C .text:0001060C loc_1060C: @ CODE XREF: sub_105A4+330j .text:0001060C LDR R3, =debug_level @ Load from Memory .text:00010610 LDR R2, [R3] @ Load from Memory .text:00010614 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00010618 BLT loc_1066C @ Branch .text:0001061C MOV R0, #0 @ Rd = Op2 .text:00010620 BL time @ Branch with Link .text:00010624 LDR R2, =0x51EB851F @ Load from Memory .text:00010628 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0001062C MOV R3, R0,ASR#31 @ Rd = Op2 .text:00010630 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00010634 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00010638 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0001063C SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00010640 BL call_gettimeofday @ Branch with Link .text:00010644 LDR R7, =aInit @ Load from Memory .text:00010648 MOV R2, R0 @ Rd = Op2 .text:0001064C MOV R1, R4 @ Rd = Op2 .text:00010650 MOV R3, R7 @ Rd = Op2 .text:00010654 LDR R0, =logfile_format @ Load from Memory .text:00010658 BL printf @ Branch with Link .text:0001065C LDR R0, =aDonTHaveBoardV @ Load from Memory .text:00010660 .text:00010660 loc_10660: @ CODE XREF: sub_105A4+3A4j .text:00010660 BL xdebug_out @ Branch with Link .text:00010664 MOV R0, #0 @ Rd = Op2 .text:00010668 BL sub_257B4 @ Branch with Link .text:0001066C .text:0001066C loc_1066C: @ CODE XREF: sub_105A4+74j .text:0001066C @ sub_105A4+35Cj ... .text:0001066C LDR R0, =aDosBoot_pac @ Load from Memory .text:00010670 BL sub_10C94 @ Branch with Link .text:00010674 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00010678 LDREQ R2, =filename @ Load from Memory .text:0001067C LDREQ R0, =aCanTFindBoot_p @ Load from Memory .text:00010680 LDREQ R3, [R2] @ Load from Memory .text:00010684 BEQ loc_10810 @ Branch .text:00010688 LDR R0, =aDosBoot5_pac @ Load from Memory .text:0001068C BL sub_10C94 @ Branch with Link .text:00010690 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00010694 LDREQ R2, =filename @ Load from Memory .text:00010698 LDREQ R0, =aCanTFindBoot5_ @ Load from Memory .text:0001069C LDREQ R3, [R2] @ Load from Memory .text:000106A0 BEQ loc_107F4 @ Branch .text:000106A4 LDR R5, =aDosFirmware_pa @ Load from Memory .text:000106A8 MOV R0, R5 @ Rd = Op2 .text:000106AC BL sub_10C94 @ Branch with Link .text:000106B0 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000106B4 BEQ loc_108A8 @ Branch .text:000106B8 MOV R0, R5 @ Rd = Op2 .text:000106BC BL verify_sig @ firmware.pac .text:000106C0 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000106C4 MOV R6, R0 @ Rd = Op2 .text:000106C8 BEQ loc_10834 @ Branch .text:000106CC LDR R6, =aInit @ Load from Memory .text:000106D0 LDR R2, =aScc0102 @ Load from Memory .text:000106D4 MOV R1, R6 @ Rd = Op2 .text:000106D8 MOV R0, #1 @ Rd = Op2 .text:000106DC BL sub_251D0 @ Branch with Link .text:000106E0 LDR R0, =aDosProgpld @ Load from Memory .text:000106E4 BL sub_10C94 @ Branch with Link .text:000106E8 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000106EC BEQ loc_1081C @ Branch .text:000106F0 LDR R0, =aDosProg_bif @ Load from Memory .text:000106F4 BL sub_10C94 @ Branch with Link .text:000106F8 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000106FC BEQ loc_10804 @ Branch .text:00010700 LDR R0, =aDosBlank_bif @ Load from Memory .text:00010704 BL sub_10C94 @ Branch with Link .text:00010708 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0001070C BEQ loc_107E8 @ Branch .text:00010710 LDR R7, =aDosHdparm @ Load from Memory .text:00010714 MOV R0, R7 @ Rd = Op2 .text:00010718 BL verify_sig @ /dos/hdparm .text:0001071C CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00010720 MOV R5, R0 @ Rd = Op2 .text:00010724 BEQ loc_10770 @ Branch .text:00010728 MOV R1, R6 @ Rd = Op2 .text:0001072C LDR R2, =aScc0106 @ Load from Memory .text:00010730 MOV R0, #1 @ Rd = Op2 .text:00010734 BL sub_251D0 @ Branch with Link .text:00010738 LDR R0, =aDisable_sched @ name .text:0001073C BL getenv @ Branch with Link .text:00010740 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00010744 BEQ loc_10758 @ Branch .text:00010748 .text:00010748 loc_10748: @ CODE XREF: sub_105A4+1C8j .text:00010748 BL sub_10AA8 @ Branch with Link .text:0001074C BL sub_10BDC @ Branch with Link .text:00010750 ADD SP, SP, #0xC @ Rd = Op1 + Op2 .text:00010754 LDMFD SP!, {R4-R7,PC} @ Load Block from Memory .text:00010758 @ --------------------------------------------------------------------------- .text:00010758 .text:00010758 loc_10758: @ CODE XREF: sub_105A4+1A0j .text:00010758 ADD R2, SP, #0x20+var_14 @ Rd = Op1 + Op2 .text:0001075C MOV R3, #8 @ Rd = Op2 .text:00010760 STR R3, [R2,#-4]! @ Store to Memory .text:00010764 MOV R1, #2 @ Rd = Op2 .text:00010768 BL sched_getscheduler @ Branch with Link .text:0001076C B loc_10748 @ Branch .text:00010770 @ --------------------------------------------------------------------------- .text:00010770 .text:00010770 loc_10770: @ CODE XREF: sub_105A4+180j .text:00010770 LDR R3, =debug_level @ Load from Memory .text:00010774 LDR R2, [R3] @ Load from Memory .text:00010778 CMN R2, #2 @ Set cond. codes on Op1 + Op2 .text:0001077C BLT loc_107CC @ Branch .text:00010780 BL time @ Branch with Link .text:00010784 LDR R2, =0x51EB851F @ Load from Memory .text:00010788 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0001078C MOV R3, R0,ASR#31 @ Rd = Op2 .text:00010790 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00010794 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00010798 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0001079C SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:000107A0 BL call_gettimeofday @ Branch with Link .text:000107A4 MOV R1, R4 @ Rd = Op2 .text:000107A8 MOV R2, R0 @ Rd = Op2 .text:000107AC MOV R3, R6 @ Rd = Op2 .text:000107B0 LDR R0, =logfile_format @ Load from Memory .text:000107B4 BL printf @ Branch with Link .text:000107B8 MOV R1, R7 @ Rd = Op2 .text:000107BC LDR R0, =aCorruptS @ Load from Memory .text:000107C0 BL printf @ Branch with Link .text:000107C4 MOV R0, R5 @ Rd = Op2 .text:000107C8 BL sub_257B4 @ Branch with Link .text:000107CC .text:000107CC loc_107CC: @ CODE XREF: sub_105A4+1D8j .text:000107CC LDR R2, =aErr0106 @ Load from Memory .text:000107D0 MOV R1, R6 @ Rd = Op2 .text:000107D4 .text:000107D4 loc_107D4: @ CODE XREF: sub_105A4+2F8j .text:000107D4 MOV R0, #1 @ Rd = Op2 .text:000107D8 BL sub_251D0 @ Branch with Link .text:000107DC .text:000107DC loc_107DC: @ CODE XREF: sub_105A4+25Cj .text:000107DC BL error_blink_forever @ Branch with Link .text:000107E0 .text:000107E0 loc_107E0: @ CODE XREF: sub_105A4+474j .text:000107E0 MOV R0, #1 @ Rd = Op2 .text:000107E4 BL sub_274E4 @ Branch with Link .text:000107E8 .text:000107E8 loc_107E8: @ CODE XREF: sub_105A4+168j .text:000107E8 LDR R2, =filename @ Load from Memory .text:000107EC LDR R0, =aCanTFindBlank_ @ Load from Memory .text:000107F0 LDR R3, [R2] @ Load from Memory .text:000107F4 .text:000107F4 loc_107F4: @ CODE XREF: sub_105A4+FCj .text:000107F4 MOV R1, #1 @ Rd = Op2 .text:000107F8 MOV R2, #0x17 @ Rd = Op2 .text:000107FC .text:000107FC loc_107FC: @ CODE XREF: sub_105A4+274j .text:000107FC @ sub_105A4+28Cj ... .text:000107FC BL sub_25CB0 @ Branch with Link .text:00010800 B loc_107DC @ Branch .text:00010804 @ --------------------------------------------------------------------------- .text:00010804 .text:00010804 loc_10804: @ CODE XREF: sub_105A4+158j .text:00010804 LDR R2, =filename @ Load from Memory .text:00010808 LDR R0, =aCanTFindProg_b @ Load from Memory .text:0001080C LDR R3, [R2] @ Load from Memory .text:00010810 .text:00010810 loc_10810: @ CODE XREF: sub_105A4+E0j .text:00010810 MOV R1, #1 @ Rd = Op2 .text:00010814 MOV R2, #0x16 @ Rd = Op2 .text:00010818 B loc_107FC @ Branch .text:0001081C @ --------------------------------------------------------------------------- .text:0001081C .text:0001081C loc_1081C: @ CODE XREF: sub_105A4+148j .text:0001081C LDR R2, =filename @ Load from Memory .text:00010820 LDR R0, =aCanTFindProgpl @ Load from Memory .text:00010824 LDR R3, [R2] @ Load from Memory .text:00010828 MOV R1, #1 @ Rd = Op2 .text:0001082C MOV R2, #0x15 @ Rd = Op2 .text:00010830 B loc_107FC @ Branch .text:00010834 @ --------------------------------------------------------------------------- .text:00010834 .text:00010834 loc_10834: @ CODE XREF: sub_105A4+124j .text:00010834 LDR R3, =debug_level @ Load from Memory .text:00010838 LDR R2, [R3] @ Load from Memory .text:0001083C CMN R2, #2 @ Set cond. codes on Op1 + Op2 .text:00010840 BLT loc_108A0 @ Branch .text:00010844 BL time @ Branch with Link .text:00010848 LDR R2, =0x51EB851F @ Load from Memory .text:0001084C SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00010850 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00010854 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00010858 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0001085C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00010860 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00010864 BL call_gettimeofday @ Branch with Link .text:00010868 LDR R7, =aInit @ Load from Memory .text:0001086C MOV R2, R0 @ Rd = Op2 .text:00010870 MOV R1, R4 @ Rd = Op2 .text:00010874 MOV R3, R7 @ Rd = Op2 .text:00010878 LDR R0, =logfile_format @ Load from Memory .text:0001087C BL printf @ Branch with Link .text:00010880 MOV R1, R5 @ Rd = Op2 .text:00010884 LDR R0, =aCorruptS @ Load from Memory .text:00010888 BL printf @ Branch with Link .text:0001088C MOV R0, R6 @ Rd = Op2 .text:00010890 BL sub_257B4 @ Branch with Link .text:00010894 .text:00010894 loc_10894: @ CODE XREF: sub_105A4+300j .text:00010894 LDR R2, =aErr0102 @ Load from Memory .text:00010898 MOV R1, R7 @ Rd = Op2 .text:0001089C B loc_107D4 @ Branch .text:000108A0 @ --------------------------------------------------------------------------- .text:000108A0 .text:000108A0 loc_108A0: @ CODE XREF: sub_105A4+29Cj .text:000108A0 LDR R7, =aInit @ Load from Memory .text:000108A4 B loc_10894 @ Branch .text:000108A8 @ --------------------------------------------------------------------------- .text:000108A8 .text:000108A8 loc_108A8: @ CODE XREF: sub_105A4+110j .text:000108A8 LDR R2, =filename @ Load from Memory .text:000108AC LDR R0, =aCanTFindFirmwa @ Load from Memory .text:000108B0 LDR R3, [R2] @ Load from Memory .text:000108B4 MOV R1, #1 @ Rd = Op2 .text:000108B8 MOV R2, #0x1A @ Rd = Op2 .text:000108BC B loc_107FC @ Branch .text:000108C0 @ --------------------------------------------------------------------------- .text:000108C0 .text:000108C0 loc_108C0: @ CODE XREF: sub_105A4+64j .text:000108C0 MOVL R1, 0x2FF .text:000108C8 MOVL R0, 0xFFFFFFFF .text:000108CC BL get_pn_board_ver @ Branch with Link .text:000108D0 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000108D4 BEQ loc_1060C @ Branch .text:000108D8 LDR R0, =aDev8051 @ file .text:000108DC MOV R1, #1 @ oflag .text:000108E0 BL __libc_open @ Branch with Link .text:000108E4 LDR R5, =dword_35F30 @ Load from Memory .text:000108E8 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000108EC STR R0, [R5] @ Store to Memory .text:000108F0 BLE loc_1094C @ Branch .text:000108F4 LDR R3, =debug_level @ Load from Memory .text:000108F8 LDR R2, [R3] @ Load from Memory .text:000108FC CMP R2, #3 @ Set cond. codes on Op1 - Op2 .text:00010900 BLE loc_1066C @ Branch .text:00010904 MOV R0, #0 @ Rd = Op2 .text:00010908 BL time @ Branch with Link .text:0001090C LDR R2, =0x51EB851F @ Load from Memory .text:00010910 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00010914 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00010918 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0001091C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00010920 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00010924 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00010928 BL call_gettimeofday @ Branch with Link .text:0001092C LDR R7, =aInit @ Load from Memory .text:00010930 MOV R2, R0 @ Rd = Op2 .text:00010934 MOV R1, R4 @ Rd = Op2 .text:00010938 MOV R3, R7 @ Rd = Op2 .text:0001093C LDR R0, =logfile_format @ Load from Memory .text:00010940 BL printf @ Branch with Link .text:00010944 LDR R0, =aV2UcPowerContr @ Load from Memory .text:00010948 B loc_10660 @ Branch .text:0001094C @ --------------------------------------------------------------------------- .text:0001094C .text:0001094C loc_1094C: @ CODE XREF: sub_105A4+34Cj .text:0001094C LDR R3, =debug_level @ Load from Memory .text:00010950 LDR R2, [R3] @ Load from Memory .text:00010954 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00010958 BLT loc_109AC @ Branch .text:0001095C MOV R0, #0 @ Rd = Op2 .text:00010960 BL time @ Branch with Link .text:00010964 LDR R2, =0x51EB851F @ Load from Memory .text:00010968 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0001096C MOV R3, R0,ASR#31 @ Rd = Op2 .text:00010970 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00010974 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00010978 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0001097C SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00010980 BL call_gettimeofday @ Branch with Link .text:00010984 LDR R7, =aInit @ Load from Memory .text:00010988 MOV R2, R0 @ Rd = Op2 .text:0001098C MOV R1, R4 @ Rd = Op2 .text:00010990 MOV R3, R7 @ Rd = Op2 .text:00010994 LDR R0, =logfile_format @ Load from Memory .text:00010998 BL printf @ Branch with Link .text:0001099C LDR R0, =aCouldnTOpenDev @ Load from Memory .text:000109A0 BL xdebug_out @ Branch with Link .text:000109A4 MOV R0, #0 @ Rd = Op2 .text:000109A8 BL sub_257B4 @ Branch with Link .text:000109AC .text:000109AC loc_109AC: @ CODE XREF: sub_105A4+3B4j .text:000109AC MOV R3, #0 @ Rd = Op2 .text:000109B0 STR R3, [R5] @ Store to Memory .text:000109B4 B loc_1066C @ Branch .text:000109B8 @ --------------------------------------------------------------------------- .text:000109B8 .text:000109B8 loc_109B8: @ CODE XREF: sub_105A4+50j .text:000109B8 LDR R4, =aDevMem @ Load from Memory .text:000109BC MOV R1, #2 @ oflag .text:000109C0 MOV R0, R4 @ file .text:000109C4 BL __libc_open @ Branch with Link .text:000109C8 LDR R3, =dword_45960 @ Load from Memory .text:000109CC CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000109D0 MOV R12, R0 @ Rd = Op2 .text:000109D4 STR R0, [R3] @ Store to Memory .text:000109D8 MOVLT R0, R4 @ Rd = Op2 .text:000109DC BLT loc_10A14 @ Branch .text:000109E0 MOV R3, #1 @ Rd = Op2 .text:000109E4 STR R12, [SP,#0x20+var_20] @ Store to Memory .text:000109E8 MOV R0, #0 @ Rd = Op2 .text:000109EC MOV R12, #0x80000000 @ Rd = Op2 .text:000109F0 MOV R1, #0x1000 @ Rd = Op2 .text:000109F4 MOV R2, #3 @ Rd = Op2 .text:000109F8 STR R12, [SP,#0x20+var_1C] @ Store to Memory .text:000109FC BL xcall_mmap @ Branch with Link .text:00010A00 LDR R3, =dword_45880 @ Load from Memory .text:00010A04 CMN R0, #1 @ Set cond. codes on Op1 + Op2 .text:00010A08 STR R0, [R3] @ Store to Memory .text:00010A0C BNE loc_1066C @ Branch .text:00010A10 LDR R0, =aMmap @ Load from Memory .text:00010A14 .text:00010A14 loc_10A14: @ CODE XREF: sub_105A4+438j .text:00010A14 BL xhandle_error @ Branch with Link .text:00010A18 B loc_107E0 @ Branch .text:00010A18 @ End of function sub_105A4 .text:00010A18 .text:00010A18 @ --------------------------------------------------------------------------- .text:00010A1C @ char *off_10A1C .text:00010A1C off_10A1C: .long aDevLed @ DATA XREF: sub_105A4+Cr .text:00010A1C @ "/dev/led" .text:00010A20 off_10A20: .long dword_35FA8 @ DATA XREF: sub_105A4+14r .text:00010A24 off_10A24: .long debug_level @ DATA XREF: sub_105A4:loc_1060Cr .text:00010A24 @ sub_105A4:loc_10770r ... .text:00010A28 dword_10A28: .long 0x51EB851F @ DATA XREF: sub_105A4+80r .text:00010A28 @ sub_105A4+1E0r ... .text:00010A2C off_10A2C: .long aInit @ DATA XREF: sub_105A4+A0r .text:00010A2C @ sub_105A4+128r ... .text:00010A2C @ "init" .text:00010A30 off_10A30: .long logfile_format @ DATA XREF: sub_105A4+B0r .text:00010A30 @ sub_105A4+20Cr ... .text:00010A30 @ "%02li.%02li:51d :%-10.10s: " .text:00010A34 off_10A34: .long aDonTHaveBoardV @ DATA XREF: sub_105A4+B8r .text:00010A34 @ "Don't have board version, will not open"... .text:00010A38 off_10A38: .long aDosBoot_pac @ DATA XREF: sub_105A4:loc_1066Cr .text:00010A38 @ "/dos/boot.pac" .text:00010A3C off_10A3C: .long filename @ DATA XREF: sub_105A4+D4r .text:00010A3C @ sub_105A4+F0r ... .text:00010A40 off_10A40: .long aCanTFindBoot_p @ DATA XREF: sub_105A4+D8r .text:00010A40 @ "Can't find boot.pac !\n" .text:00010A44 off_10A44: .long aDosBoot5_pac @ DATA XREF: sub_105A4+E4r .text:00010A44 @ "/dos/boot5.pac" .text:00010A48 off_10A48: .long aCanTFindBoot5_ @ DATA XREF: sub_105A4+F4r .text:00010A48 @ "Can't find boot5.pac !\n" .text:00010A4C off_10A4C: .long aDosFirmware_pa @ DATA XREF: sub_105A4+100r .text:00010A4C @ "/dos/firmware.pac" .text:00010A50 off_10A50: .long aScc0102 @ DATA XREF: sub_105A4+12Cr .text:00010A50 @ "SCC0102" .text:00010A54 off_10A54: .long aDosProgpld @ DATA XREF: sub_105A4+13Cr .text:00010A54 @ "/dos/progpld" .text:00010A58 off_10A58: .long aDosProg_bif @ DATA XREF: sub_105A4+14Cr .text:00010A58 @ "/dos/prog.bif" .text:00010A5C off_10A5C: .long aDosBlank_bif @ DATA XREF: sub_105A4+15Cr .text:00010A5C @ "/dos/blank.bif" .text:00010A60 off_10A60: .long aDosHdparm @ DATA XREF: sub_105A4+16Cr .text:00010A60 @ "/dos/hdparm" .text:00010A64 off_10A64: .long aScc0106 @ DATA XREF: sub_105A4+188r .text:00010A64 @ "SCC0106" .text:00010A68 @ char *off_10A68 .text:00010A68 off_10A68: .long aDisable_sched @ DATA XREF: sub_105A4+194r .text:00010A68 @ "DISABLE_SCHED" .text:00010A6C off_10A6C: .long aCorruptS @ DATA XREF: sub_105A4+218r .text:00010A6C @ sub_105A4+2E0r .text:00010A6C @ "Corrupt %s\n" .text:00010A70 off_10A70: .long aErr0106 @ DATA XREF: sub_105A4:loc_107CCr .text:00010A70 @ "ERR0106" .text:00010A74 off_10A74: .long aCanTFindBlank_ @ DATA XREF: sub_105A4+248r .text:00010A74 @ "Can't find blank.bif !\n" .text:00010A78 off_10A78: .long aCanTFindProg_b @ DATA XREF: sub_105A4+264r .text:00010A78 @ "Can't find prog.bif !\n" .text:00010A7C off_10A7C: .long aCanTFindProgpl @ DATA XREF: sub_105A4+27Cr .text:00010A7C @ "Can't find progpld !\n" .text:00010A80 off_10A80: .long aErr0102 @ DATA XREF: sub_105A4:loc_10894r .text:00010A80 @ "ERR0102" .text:00010A84 off_10A84: .long aCanTFindFirmwa @ DATA XREF: sub_105A4+308r .text:00010A84 @ "Can't find firmware.pac !\n" .text:00010A88 @ char *off_10A88 .text:00010A88 off_10A88: .long aDev8051 @ DATA XREF: sub_105A4+334r .text:00010A88 @ "/dev/8051" .text:00010A8C off_10A8C: .long dword_35F30 @ DATA XREF: sub_105A4+340r .text:00010A90 off_10A90: .long aV2UcPowerContr @ DATA XREF: sub_105A4+3A0r .text:00010A90 @ "V2 uc power control ready" .text:00010A94 off_10A94: .long aCouldnTOpenDev @ DATA XREF: sub_105A4+3F8r .text:00010A94 @ "Couldn't open /dev/8051 on V2 board!" .text:00010A98 @ char *off_10A98 .text:00010A98 off_10A98: .long aDevMem @ DATA XREF: sub_105A4:loc_109B8r .text:00010A98 @ "/dev/mem" .text:00010A9C off_10A9C: .long dword_45960 @ DATA XREF: sub_105A4+424r .text:00010AA0 off_10AA0: .long dword_45880 @ DATA XREF: sub_105A4+45Cr .text:00010AA4 off_10AA4: .long aMmap @ DATA XREF: sub_105A4+46Cr .text:00010AA4 @ "mmap" .text:00010AA8 .text:00010AA8 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00010AA8 .text:00010AA8 .text:00010AA8 sub_10AA8: @ CODE XREF: sub_105A4:loc_10748p .text:00010AA8 .text:00010AA8 var_4 = -4 .text:00010AA8 arg_4 = 4 .text:00010AA8 .text:00010AA8 MOV R1, #0x100 @ Rd = Op2 .text:00010AAC STR LR, [SP,#var_4]! @ Store to Memory .text:00010AB0 MOV R0, #1 @ Rd = Op2 .text:00010AB4 BL get_pn_board_ver @ Branch with Link .text:00010AB8 MOV R3, R0 @ Rd = Op2 .text:00010ABC MOV R1, #0x1FC @ Rd = Op2 .text:00010AC0 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00010AC4 ADD R1, R1, #3 @ Rd = Op1 + Op2 .text:00010AC8 MOVL R0, 0xFFFFFFFF .text:00010ACC BEQ loc_10AF4 @ Branch .text:00010AD0 BL get_pn_board_ver @ Branch with Link .text:00010AD4 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00010AD8 BEQ loc_10AF4 @ Branch .text:00010ADC LDR R3, =dword_45880 @ Load from Memory .text:00010AE0 LDR R1, [R3] @ Load from Memory .text:00010AE4 LDRB R2, [R1,#0x43] @ Load from Memory .text:00010AE8 BIC R2, R2, #0x10 @ Rd = Op1 & ~Op2 .text:00010AEC STRB R2, [R1,#0x43] @ Store to Memory .text:00010AF0 LDR PC, [SP],#arg_4 @ Indirect Jump .text:00010AF4 @ --------------------------------------------------------------------------- .text:00010AF4 .text:00010AF4 loc_10AF4: @ CODE XREF: sub_10AA8+24j .text:00010AF4 @ sub_10AA8+30j .text:00010AF4 MOV R1, #0x200 @ Rd = Op2 .text:00010AF8 MOV R0, #1 @ Rd = Op2 .text:00010AFC BL get_pn_board_ver @ Branch with Link .text:00010B00 MOV R3, R0 @ Rd = Op2 .text:00010B04 MOV R1, #0x2FC @ Rd = Op2 .text:00010B08 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00010B0C ADD R1, R1, #3 @ Rd = Op1 + Op2 .text:00010B10 MOVL R0, 0xFFFFFFFF .text:00010B14 LDREQ PC, [SP],#arg_4 @ Indirect Jump .text:00010B18 BL get_pn_board_ver @ Branch with Link .text:00010B1C LDR PC, [SP],#arg_4 @ Indirect Jump .text:00010B1C @ End of function sub_10AA8 .text:00010B1C .text:00010B1C @ --------------------------------------------------------------------------- .text:00010B20 off_10B20: .long dword_45880 @ DATA XREF: sub_10AA8+34r .text:00010B24 .text:00010B24 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00010B24 .text:00010B24 .text:00010B24 sub_10B24: @ CODE XREF: send_firmware+14p .text:00010B24 @ reset_51+94p .text:00010B24 .text:00010B24 var_4 = -4 .text:00010B24 .text:00010B24 STR LR, [SP,#var_4]! @ Store to Memory .text:00010B28 MOV R1, #0x100 @ Rd = Op2 .text:00010B2C SUB SP, SP, #4 @ Rd = Op1 - Op2 .text:00010B30 MOV R0, #1 @ Rd = Op2 .text:00010B34 BL get_pn_board_ver @ Branch with Link .text:00010B38 MOV R3, R0 @ Rd = Op2 .text:00010B3C MOV R1, #0x1FC @ Rd = Op2 .text:00010B40 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00010B44 ADD R1, R1, #3 @ Rd = Op1 + Op2 .text:00010B48 MOVL R0, 0xFFFFFFFF .text:00010B4C BEQ loc_10B78 @ Branch .text:00010B50 BL get_pn_board_ver @ Branch with Link .text:00010B54 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00010B58 BEQ loc_10B78 @ Branch .text:00010B5C LDR R3, =dword_45880 @ Load from Memory .text:00010B60 LDR R1, [R3] @ Load from Memory .text:00010B64 LDRB R2, [R1,#3] @ Load from Memory .text:00010B68 ORR R2, R2, #0x10 @ Rd = Op2 | Op1 .text:00010B6C STRB R2, [R1,#3] @ Store to Memory .text:00010B70 .text:00010B70 loc_10B70: @ CODE XREF: sub_10B24+74j .text:00010B70 @ sub_10B24+80j ... .text:00010B70 ADD SP, SP, #4 @ Rd = Op1 + Op2 .text:00010B74 LDMFD SP!, {PC} @ Load Block from Memory .text:00010B78 @ --------------------------------------------------------------------------- .text:00010B78 .text:00010B78 loc_10B78: @ CODE XREF: sub_10B24+28j .text:00010B78 @ sub_10B24+34j .text:00010B78 MOV R1, #0x200 @ Rd = Op2 .text:00010B7C MOV R0, #1 @ Rd = Op2 .text:00010B80 BL get_pn_board_ver @ Branch with Link .text:00010B84 MOV R3, R0 @ Rd = Op2 .text:00010B88 MOV R1, #0x2FC @ Rd = Op2 .text:00010B8C CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00010B90 ADD R1, R1, #3 @ Rd = Op1 + Op2 .text:00010B94 MOVL R0, 0xFFFFFFFF .text:00010B98 BEQ loc_10B70 @ Branch .text:00010B9C BL get_pn_board_ver @ Branch with Link .text:00010BA0 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00010BA4 BEQ loc_10B70 @ Branch .text:00010BA8 LDR R3, =dword_35F30 @ Load from Memory .text:00010BAC LDR R12, [R3] @ Load from Memory .text:00010BB0 CMP R12, #0 @ Set cond. codes on Op1 - Op2 .text:00010BB4 MOV R2, #1 @ count .text:00010BB8 MOV R0, R12 @ fd .text:00010BBC MOV R1, SP @ buf .text:00010BC0 BEQ loc_10B70 @ Branch .text:00010BC4 MOV R3, #0x50 @ 'P' @ Rd = Op2 .text:00010BC8 STRB R3, [SP,#4+var_4] @ Store to Memory .text:00010BCC BL __libc_write @ Branch with Link .text:00010BD0 B loc_10B70 @ Branch .text:00010BD0 @ End of function sub_10B24 .text:00010BD0 .text:00010BD0 @ --------------------------------------------------------------------------- .text:00010BD4 off_10BD4: .long dword_45880 @ DATA XREF: sub_10B24+38r .text:00010BD8 off_10BD8: .long dword_35F30 @ DATA XREF: sub_10B24+84r .text:00010BDC .text:00010BDC @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00010BDC .text:00010BDC .text:00010BDC sub_10BDC: @ CODE XREF: sub_105A4+1A8p .text:00010BDC @ send_firmware+34p .text:00010BDC .text:00010BDC var_4 = -4 .text:00010BDC .text:00010BDC STR LR, [SP,#var_4]! @ Store to Memory .text:00010BE0 MOV R1, #0x100 @ Rd = Op2 .text:00010BE4 SUB SP, SP, #4 @ Rd = Op1 - Op2 .text:00010BE8 MOV R0, #1 @ Rd = Op2 .text:00010BEC BL get_pn_board_ver @ Branch with Link .text:00010BF0 MOV R3, R0 @ Rd = Op2 .text:00010BF4 MOV R1, #0x1FC @ Rd = Op2 .text:00010BF8 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00010BFC ADD R1, R1, #3 @ Rd = Op1 + Op2 .text:00010C00 MOVL R0, 0xFFFFFFFF .text:00010C04 BEQ loc_10C30 @ Branch .text:00010C08 BL get_pn_board_ver @ Branch with Link .text:00010C0C CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00010C10 BEQ loc_10C30 @ Branch .text:00010C14 LDR R3, =dword_45880 @ Load from Memory .text:00010C18 LDR R1, [R3] @ Load from Memory .text:00010C1C LDRB R2, [R1,#3] @ Load from Memory .text:00010C20 BIC R2, R2, #0x10 @ Rd = Op1 & ~Op2 .text:00010C24 STRB R2, [R1,#3] @ Store to Memory .text:00010C28 .text:00010C28 loc_10C28: @ CODE XREF: sub_10BDC+74j .text:00010C28 @ sub_10BDC+80j ... .text:00010C28 ADD SP, SP, #4 @ Rd = Op1 + Op2 .text:00010C2C LDMFD SP!, {PC} @ Load Block from Memory .text:00010C30 @ --------------------------------------------------------------------------- .text:00010C30 .text:00010C30 loc_10C30: @ CODE XREF: sub_10BDC+28j .text:00010C30 @ sub_10BDC+34j .text:00010C30 MOV R1, #0x200 @ Rd = Op2 .text:00010C34 MOV R0, #1 @ Rd = Op2 .text:00010C38 BL get_pn_board_ver @ Branch with Link .text:00010C3C MOV R3, R0 @ Rd = Op2 .text:00010C40 MOV R1, #0x2FC @ Rd = Op2 .text:00010C44 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00010C48 ADD R1, R1, #3 @ Rd = Op1 + Op2 .text:00010C4C MOVL R0, 0xFFFFFFFF .text:00010C50 BEQ loc_10C28 @ Branch .text:00010C54 BL get_pn_board_ver @ Branch with Link .text:00010C58 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00010C5C BEQ loc_10C28 @ Branch .text:00010C60 LDR R3, =dword_35F30 @ Load from Memory .text:00010C64 LDR R12, [R3] @ Load from Memory .text:00010C68 CMP R12, #0 @ Set cond. codes on Op1 - Op2 .text:00010C6C MOV R2, #1 @ count .text:00010C70 MOV R0, R12 @ fd .text:00010C74 MOV R1, SP @ buf .text:00010C78 BEQ loc_10C28 @ Branch .text:00010C7C MOV R3, #0x4E @ 'N' @ Rd = Op2 .text:00010C80 STRB R3, [SP,#4+var_4] @ Store to Memory .text:00010C84 BL __libc_write @ Branch with Link .text:00010C88 B loc_10C28 @ Branch .text:00010C88 @ End of function sub_10BDC .text:00010C88 .text:00010C88 @ --------------------------------------------------------------------------- .text:00010C8C off_10C8C: .long dword_45880 @ DATA XREF: sub_10BDC+38r .text:00010C90 off_10C90: .long dword_35F30 @ DATA XREF: sub_10BDC+84r .text:00010C94 .text:00010C94 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00010C94 .text:00010C94 .text:00010C94 sub_10C94: @ CODE XREF: sub_105A4+CCp .text:00010C94 @ sub_105A4+E8p ... .text:00010C94 .text:00010C94 var_4 = -4 .text:00010C94 arg_4 = 4 .text:00010C94 .text:00010C94 STR LR, [SP,#var_4]! @ Store to Memory .text:00010C98 MOV R1, #0 @ oflag .text:00010C9C BL __libc_open @ Branch with Link .text:00010CA0 CMN R0, #1 @ Set cond. codes on Op1 + Op2 .text:00010CA4 MOV R3, #0 @ Rd = Op2 .text:00010CA8 BEQ loc_10CB4 @ Branch .text:00010CAC BL close @ Branch with Link .text:00010CB0 MOV R3, #1 @ Rd = Op2 .text:00010CB4 .text:00010CB4 loc_10CB4: @ CODE XREF: sub_10C94+14j .text:00010CB4 MOV R0, R3 @ Rd = Op2 .text:00010CB8 LDR PC, [SP],#arg_4 @ Indirect Jump .text:00010CB8 @ End of function sub_10C94 .text:00010CB8 .text:00010CBC .text:00010CBC @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00010CBC .text:00010CBC .text:00010CBC @ int __cdecl parse_pac(char *filename,char *buf) .text:00010CBC parse_pac: @ CODE XREF: send_arm_status+18p .text:00010CBC @ xread_firmware+24p ... .text:00010CBC STMFD SP!, {R4-R7,LR} @ Store Block to Memory .text:00010CC0 LDR R7, =debug_level @ Load from Memory .text:00010CC4 LDR R3, [R7] @ Load from Memory .text:00010CC8 CMP R3, #2 @ Set cond. codes on Op1 - Op2 .text:00010CCC MOV R5, R0 @ Rd = Op2 .text:00010CD0 MOV R6, R1 @ Rd = Op2 .text:00010CD4 BGT loc_10FF0 @ if debug_level>2 .text:00010CD8 .text:00010CD8 loc_10CD8: @ CODE XREF: parse_pac+384j .text:00010CD8 MOV R0, R5 @ filename .text:00010CDC LDR R1, =aR @ mode .text:00010CE0 BL fopen @ Branch with Link .text:00010CE4 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00010CE8 MOV R5, R0 @ Rd = Op2 .text:00010CEC LDMEQFD SP!, {R4-R7,PC} @ Load Block from Memory .text:00010CF0 MOV R3, R5 @ fp .text:00010CF4 MOV R0, R6 @ buf .text:00010CF8 MOV R1, #7 @ sign .text:00010CFC MOV R2, #1 @ nelm .text:00010D00 BL fread @ read 7 bytes into buf (header) .text:00010D04 LDR R3, [R7] @ Load from Memory .text:00010D08 CMP R3, #1 @ Set cond. codes on Op1 - Op2 .text:00010D0C BGT loc_10D1C @ Branch .text:00010D10 .text:00010D10 loc_10D10: @ CODE XREF: parse_pac+B4j .text:00010D10 @ parse_pac+110j ... .text:00010D10 MOV R0, R5 @ Rd = Op2 .text:00010D14 LDMFD SP!, {R4-R7,LR} @ Load Block from Memory .text:00010D18 B sub_25614 @ Branch .text:00010D1C @ --------------------------------------------------------------------------- .text:00010D1C .text:00010D1C loc_10D1C: @ CODE XREF: parse_pac+50j .text:00010D1C MOV R0, #0 @ Rd = Op2 .text:00010D20 BL time @ Branch with Link .text:00010D24 LDR R2, =0x51EB851F @ Load from Memory .text:00010D28 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00010D2C MOV R3, R0,ASR#31 @ Rd = Op2 .text:00010D30 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00010D34 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00010D38 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00010D3C SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00010D40 BL call_gettimeofday @ Branch with Link .text:00010D44 LDR R3, =aParse_pac @ Load from Memory .text:00010D48 MOV R2, R0 @ Rd = Op2 .text:00010D4C MOV R1, R4 @ Rd = Op2 .text:00010D50 LDR R0, =logfile_format @ Load from Memory .text:00010D54 BL printf @ Branch with Link .text:00010D58 LDR R0, =aPacFileSummary @ Load from Memory .text:00010D5C BL xdebug_out @ Branch with Link .text:00010D60 MOV R0, #0 @ Rd = Op2 .text:00010D64 BL sub_257B4 @ Branch with Link .text:00010D68 LDR R3, [R7] @ Load from Memory .text:00010D6C CMP R3, #1 @ Set cond. codes on Op1 - Op2 .text:00010D70 BLE loc_10D10 @ Branch .text:00010D74 MOV R0, #0 @ Rd = Op2 .text:00010D78 BL time @ Branch with Link .text:00010D7C LDR R2, =0x51EB851F @ Load from Memory .text:00010D80 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00010D84 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00010D88 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00010D8C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00010D90 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00010D94 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00010D98 BL call_gettimeofday @ Branch with Link .text:00010D9C LDR R3, =aParse_pac @ Load from Memory .text:00010DA0 MOV R2, R0 @ Rd = Op2 .text:00010DA4 MOV R1, R4 @ Rd = Op2 .text:00010DA8 LDR R0, =logfile_format @ Load from Memory .text:00010DAC BL printf @ Branch with Link .text:00010DB0 LDRB R1, [R6] @ Load from Memory .text:00010DB4 LDR R0, =aFirmwareNameH0 @ Load from Memory .text:00010DB8 BL printf @ Branch with Link .text:00010DBC MOV R0, #0 @ Rd = Op2 .text:00010DC0 BL sub_257B4 @ Branch with Link .text:00010DC4 LDR R3, [R7] @ Load from Memory .text:00010DC8 CMP R3, #1 @ Set cond. codes on Op1 - Op2 .text:00010DCC BLE loc_10D10 @ Branch .text:00010DD0 MOV R0, #0 @ Rd = Op2 .text:00010DD4 BL time @ Branch with Link .text:00010DD8 LDR R2, =0x51EB851F @ Load from Memory .text:00010DDC SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00010DE0 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00010DE4 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00010DE8 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00010DEC ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00010DF0 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00010DF4 BL call_gettimeofday @ Branch with Link .text:00010DF8 LDR R3, =aParse_pac @ Load from Memory .text:00010DFC MOV R2, R0 @ Rd = Op2 .text:00010E00 MOV R1, R4 @ Rd = Op2 .text:00010E04 LDR R0, =logfile_format @ Load from Memory .text:00010E08 BL printf @ Branch with Link .text:00010E0C LDRB R1, [R6,#1] @ Load from Memory .text:00010E10 LDR R0, =aFirmwareNameL0 @ Load from Memory .text:00010E14 BL printf @ Branch with Link .text:00010E18 MOV R0, #0 @ Rd = Op2 .text:00010E1C BL sub_257B4 @ Branch with Link .text:00010E20 LDR R3, [R7] @ Load from Memory .text:00010E24 CMP R3, #1 @ Set cond. codes on Op1 - Op2 .text:00010E28 BLE loc_10D10 @ Branch .text:00010E2C MOV R0, #0 @ Rd = Op2 .text:00010E30 BL time @ Branch with Link .text:00010E34 LDR R2, =0x51EB851F @ Load from Memory .text:00010E38 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00010E3C MOV R3, R0,ASR#31 @ Rd = Op2 .text:00010E40 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00010E44 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00010E48 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00010E4C SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00010E50 BL call_gettimeofday @ Branch with Link .text:00010E54 LDR R3, =aParse_pac @ Load from Memory .text:00010E58 MOV R2, R0 @ Rd = Op2 .text:00010E5C MOV R1, R4 @ Rd = Op2 .text:00010E60 LDR R0, =logfile_format @ Load from Memory .text:00010E64 BL printf @ Branch with Link .text:00010E68 LDRB R1, [R6,#2] @ Load from Memory .text:00010E6C LDR R0, =aFirmwareVer02x @ Load from Memory .text:00010E70 BL printf @ Branch with Link .text:00010E74 MOV R0, #0 @ Rd = Op2 .text:00010E78 BL sub_257B4 @ Branch with Link .text:00010E7C LDR R3, [R7] @ Load from Memory .text:00010E80 CMP R3, #1 @ Set cond. codes on Op1 - Op2 .text:00010E84 BLE loc_10D10 @ Branch .text:00010E88 MOV R0, #0 @ Rd = Op2 .text:00010E8C BL time @ Branch with Link .text:00010E90 LDR R2, =0x51EB851F @ Load from Memory .text:00010E94 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00010E98 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00010E9C RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00010EA0 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00010EA4 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00010EA8 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00010EAC BL call_gettimeofday @ Branch with Link .text:00010EB0 LDR R3, =aParse_pac @ Load from Memory .text:00010EB4 MOV R2, R0 @ Rd = Op2 .text:00010EB8 MOV R1, R4 @ Rd = Op2 .text:00010EBC LDR R0, =logfile_format @ Load from Memory .text:00010EC0 BL printf @ Branch with Link .text:00010EC4 LDRB R1, [R6,#3] @ Load from Memory .text:00010EC8 LDR R0, =aFirmwareBaseH0 @ Load from Memory .text:00010ECC BL printf @ Branch with Link .text:00010ED0 MOV R0, #0 @ Rd = Op2 .text:00010ED4 BL sub_257B4 @ Branch with Link .text:00010ED8 LDR R3, [R7] @ Load from Memory .text:00010EDC CMP R3, #1 @ Set cond. codes on Op1 - Op2 .text:00010EE0 BLE loc_10D10 @ Branch .text:00010EE4 MOV R0, #0 @ Rd = Op2 .text:00010EE8 BL time @ Branch with Link .text:00010EEC LDR R2, =0x51EB851F @ Load from Memory .text:00010EF0 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00010EF4 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00010EF8 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00010EFC ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00010F00 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00010F04 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00010F08 BL call_gettimeofday @ Branch with Link .text:00010F0C LDR R3, =aParse_pac @ Load from Memory .text:00010F10 MOV R2, R0 @ Rd = Op2 .text:00010F14 MOV R1, R4 @ Rd = Op2 .text:00010F18 LDR R0, =logfile_format @ Load from Memory .text:00010F1C BL printf @ Branch with Link .text:00010F20 LDRB R1, [R6,#4] @ Load from Memory .text:00010F24 LDR R0, =aFirmwareBaseL0 @ Load from Memory .text:00010F28 BL printf @ Branch with Link .text:00010F2C MOV R0, #0 @ Rd = Op2 .text:00010F30 BL sub_257B4 @ Branch with Link .text:00010F34 LDR R3, [R7] @ Load from Memory .text:00010F38 CMP R3, #1 @ Set cond. codes on Op1 - Op2 .text:00010F3C BLE loc_10D10 @ Branch .text:00010F40 MOV R0, #0 @ Rd = Op2 .text:00010F44 BL time @ Branch with Link .text:00010F48 LDR R2, =0x51EB851F @ Load from Memory .text:00010F4C SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00010F50 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00010F54 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00010F58 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00010F5C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00010F60 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00010F64 BL call_gettimeofday @ Branch with Link .text:00010F68 LDR R3, =aParse_pac @ Load from Memory .text:00010F6C MOV R2, R0 @ Rd = Op2 .text:00010F70 MOV R1, R4 @ Rd = Op2 .text:00010F74 LDR R0, =logfile_format @ Load from Memory .text:00010F78 BL printf @ Branch with Link .text:00010F7C LDRB R1, [R6,#5] @ Load from Memory .text:00010F80 LDR R0, =aFirmwareSizeH0 @ Load from Memory .text:00010F84 BL printf @ Branch with Link .text:00010F88 MOV R0, #0 @ Rd = Op2 .text:00010F8C BL sub_257B4 @ Branch with Link .text:00010F90 LDR R3, [R7] @ Load from Memory .text:00010F94 CMP R3, #1 @ Set cond. codes on Op1 - Op2 .text:00010F98 BLE loc_10D10 @ Branch .text:00010F9C MOV R0, #0 @ Rd = Op2 .text:00010FA0 BL time @ Branch with Link .text:00010FA4 LDR R2, =0x51EB851F @ Load from Memory .text:00010FA8 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00010FAC MOV R3, R0,ASR#31 @ Rd = Op2 .text:00010FB0 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00010FB4 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00010FB8 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00010FBC SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00010FC0 BL call_gettimeofday @ Branch with Link .text:00010FC4 MOV R1, R4 @ Rd = Op2 .text:00010FC8 MOV R2, R0 @ Rd = Op2 .text:00010FCC LDR R3, =aParse_pac @ Load from Memory .text:00010FD0 LDR R0, =logfile_format @ Load from Memory .text:00010FD4 BL printf @ Branch with Link .text:00010FD8 LDRB R1, [R6,#6] @ Load from Memory .text:00010FDC LDR R0, =aFirmwareSizeL0 @ Load from Memory .text:00010FE0 BL printf @ Branch with Link .text:00010FE4 MOV R0, #0 @ Rd = Op2 .text:00010FE8 BL sub_257B4 @ Branch with Link .text:00010FEC B loc_10D10 @ Branch .text:00010FF0 @ --------------------------------------------------------------------------- .text:00010FF0 .text:00010FF0 loc_10FF0: @ CODE XREF: parse_pac+18j .text:00010FF0 MOV R0, #0 @ Rd = Op2 .text:00010FF4 BL time @ Branch with Link .text:00010FF8 LDR R2, =0x51EB851F @ Load from Memory .text:00010FFC SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00011000 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00011004 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00011008 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0001100C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00011010 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00011014 BL call_gettimeofday @ Branch with Link .text:00011018 MOV R1, R4 @ Rd = Op2 .text:0001101C MOV R2, R0 @ Rd = Op2 .text:00011020 LDR R3, =aParse_pac @ Load from Memory .text:00011024 LDR R0, =logfile_format @ Load from Memory .text:00011028 BL printf @ Branch with Link .text:0001102C LDR R0, =aOpeningS @ Load from Memory .text:00011030 MOV R1, R5 @ Rd = Op2 .text:00011034 BL printf @ Branch with Link .text:00011038 MOV R0, #0 @ Rd = Op2 .text:0001103C BL sub_257B4 @ Branch with Link .text:00011040 B loc_10CD8 @ Branch .text:00011040 @ End of function parse_pac .text:00011040 .text:00011040 @ --------------------------------------------------------------------------- .text:00011044 off_11044: .long debug_level @ DATA XREF: parse_pac+4r .text:00011048 @ char *off_11048 .text:00011048 off_11048: .long aR @ DATA XREF: parse_pac+20r .text:00011048 @ "r" .text:0001104C dword_1104C: .long 0x51EB851F @ DATA XREF: parse_pac+68r .text:0001104C @ parse_pac+C0r ... .text:00011050 off_11050: .long aParse_pac @ DATA XREF: parse_pac+88r .text:00011050 @ parse_pac+E0r ... .text:00011050 @ "parse_pac" .text:00011054 off_11054: .long logfile_format @ DATA XREF: parse_pac+94r .text:00011054 @ parse_pac+ECr ... .text:00011054 @ "%02li.%02li:51d :%-10.10s: " .text:00011058 off_11058: .long aPacFileSummary @ DATA XREF: parse_pac+9Cr .text:00011058 @ "PAC file summary" .text:0001105C off_1105C: .long aFirmwareNameH0 @ DATA XREF: parse_pac+F8r .text:0001105C @ "\t firmware name h: %02x\n" .text:00011060 off_11060: .long aFirmwareNameL0 @ DATA XREF: parse_pac+154r .text:00011060 @ "\t firmware name l: %02x\n" .text:00011064 off_11064: .long aFirmwareVer02x @ DATA XREF: parse_pac+1B0r .text:00011064 @ "\t firmware ver : %02x\n" .text:00011068 off_11068: .long aFirmwareBaseH0 @ DATA XREF: parse_pac+20Cr .text:00011068 @ "\t firmware base h: %02x\n" .text:0001106C off_1106C: .long aFirmwareBaseL0 @ DATA XREF: parse_pac+268r .text:0001106C @ "\t firmware base l: %02x\n" .text:00011070 off_11070: .long aFirmwareSizeH0 @ DATA XREF: parse_pac+2C4r .text:00011070 @ "\t firmware size h: %02x\n" .text:00011074 off_11074: .long aFirmwareSizeL0 @ DATA XREF: parse_pac+320r .text:00011074 @ "\t firmware size l: %02x\n" .text:00011078 off_11078: .long aOpeningS @ DATA XREF: parse_pac+370r .text:00011078 @ "opening %s\n" .text:0001107C .text:0001107C @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001107C .text:0001107C .text:0001107C send_arm_status: @ CODE XREF: main+4F0p .text:0001107C .text:0001107C var_178 = -0x178 .text:0001107C var_174 = -0x174 .text:0001107C buf = -0x134 .text:0001107C var_124 = -0x124 .text:0001107C var_11C = -0x11C .text:0001107C var_1C = -0x1C .text:0001107C .text:0001107C STMFD SP!, {R4-R8,R10,LR} @ Store Block to Memory .text:00011080 SUB SP, SP, #0x15C @ Rd = Op1 - Op2 .text:00011084 ADD R1, SP, #0x178+buf @ buf .text:00011088 MOV R8, R0 @ r8=noenc_flag .text:0001108C ADD R6, SP, #0x178+var_11C @ Rd = Op1 + Op2 .text:00011090 LDR R0, =aDosFirmware_pa @ filename .text:00011094 BL parse_pac @ Branch with Link .text:00011098 LDR R0, =aDosPhatbox_ini @ Load from Memory .text:0001109C LDR R2, =aModification @ Load from Memory .text:000110A0 MOV R1, #0 @ Rd = Op2 .text:000110A4 MOV R3, R6 @ Rd = Op2 .text:000110A8 BL xread_ini @ Branch with Link .text:000110AC CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000110B0 MOV R5, R0 @ Rd = Op2 .text:000110B4 BNE loc_11280 @ Branch .text:000110B8 LDR R7, =debug_level @ Load from Memory .text:000110BC LDR R3, [R7] @ Load from Memory .text:000110C0 CMP R3, #1 @ Set cond. codes on Op1 - Op2 .text:000110C4 BGT loc_11230 @ Branch .text:000110C8 .text:000110C8 loc_110C8: @ CODE XREF: send_arm_status+200j .text:000110C8 MOV R0, R6 @ Rd = Op2 .text:000110CC BL sysv_signal_0x0_0xA @ Branch with Link .text:000110D0 AND R10, R0, #0xFF @ Rd = Op1 & Op2 .text:000110D4 .text:000110D4 loc_110D4: @ CODE XREF: send_arm_status+218j .text:000110D4 MOVL R4, 0xFFFFFEEB .text:000110D8 MOV R5, #0xBA000000 @ Rd = Op2 .text:000110DC SUB R6, R4, #2 @ Rd = Op1 - Op2 .text:000110E0 MOV R5, R5,ASR#22 @ Rd = Op2 .text:000110E4 ADD R2, SP, #0x178+var_1C @ Rd = Op1 + Op2 .text:000110E8 LDRB R1, [R2,R5] @ Load from Memory .text:000110EC MOV R0, R8 @ r0 = noenc_flag .text:000110F0 LDRB R2, [R2,R6] @ Load from Memory .text:000110F4 BL read_phatbox_ini @ Branch with Link .text:000110F8 SUB R4, R4, #1 @ Rd = Op1 - Op2 .text:000110FC ADD R3, SP, #0x178+var_1C @ Rd = Op1 + Op2 .text:00011100 LDRB LR, [R3,R4] @ Load from Memory .text:00011104 MOV R8, R0 @ Rd = Op2 .text:00011108 LDRB R4, [R3,R6] @ Load from Memory .text:0001110C LDR R0, [R7] @ Load from Memory .text:00011110 LDRB R7, [R3,R5] @ Load from Memory .text:00011114 MOV R3, #0xBE000000 @ Rd = Op2 .text:00011118 ADD R6, SP, #0x178+var_1C @ Rd = Op1 + Op2 .text:0001111C MOVL R2, 0xFFFFFEFB .text:00011120 MOV R3, R3,ASR#22 @ Rd = Op2 .text:00011124 MOV R1, #0xBF000000 @ Rd = Op2 .text:00011128 MOVL R5, 0xFFFFFEFF .text:0001112C STRB LR, [R6,R3] @ Store to Memory .text:00011130 CMP R0, #3 @ Set cond. codes on Op1 - Op2 .text:00011134 SUB R12, R2, #1 @ Rd = Op1 - Op2 .text:00011138 SUB R0, R2, #2 @ Rd = Op1 - Op2 .text:0001113C MOV R1, R1,ASR#22 @ Rd = Op2 .text:00011140 SUB R5, R5, #2 @ Rd = Op1 - Op2 .text:00011144 MOV R3, #0 @ Rd = Op2 .text:00011148 STRB R7, [R6,R0] @ Store to Memory .text:0001114C STRB R4, [R6,R12] @ Store to Memory .text:00011150 STRB R8, [R6,R2] @ Store to Memory .text:00011154 STRB R10, [R6,R1] @ Store to Memory .text:00011158 STRB R3, [R6,R5] @ Store to Memory .text:0001115C BLE loc_1121C @ Branch .text:00011160 .text:00011160 loc_11160: @ CODE XREF: send_arm_status+1B0j .text:00011160 ADD R1, SP, #0x178+var_1C @ Rd = Op1 + Op2 .text:00011164 LDRB R3, [R1,R5] @ Load from Memory .text:00011168 ORR R3, R3, #1 @ Rd = Op2 | Op1 .text:0001116C STRB R3, [R1,R5] @ Store to Memory .text:00011170 .text:00011170 loc_11170: @ CODE XREF: send_arm_status+1ACj .text:00011170 LDR R0, =aDosForcesettin @ Load from Memory .text:00011174 ADD R1, SP, #0x178+var_174 @ Rd = Op1 + Op2 .text:00011178 BL stat @ Branch with Link .text:0001117C CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00011180 BNE loc_1119C @ Branch .text:00011184 MOVL R2, 0xFFFFFEFF .text:00011188 SUB R2, R2, #2 @ Rd = Op1 - Op2 .text:0001118C ADD R6, SP, #0x178+var_1C @ Rd = Op1 + Op2 .text:00011190 LDRB R3, [R6,R2] @ Load from Memory .text:00011194 ORR R3, R3, #2 @ Rd = Op2 | Op1 .text:00011198 STRB R3, [R6,R2] @ Store to Memory .text:0001119C .text:0001119C loc_1119C: @ CODE XREF: send_arm_status+104j .text:0001119C MOV R1, #0 @ Rd = Op2 .text:000111A0 MOV R0, #1 @ Rd = Op2 .text:000111A4 MOV R2, R1 @ Rd = Op2 .text:000111A8 BL sub_1A838 @ Branch with Link .text:000111AC CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000111B0 BLE loc_111CC @ Branch .text:000111B4 MOVL R2, 0xFFFFFEFF .text:000111B8 SUB R2, R2, #2 @ Rd = Op1 - Op2 .text:000111BC ADD R1, SP, #0x178+var_1C @ Rd = Op1 + Op2 .text:000111C0 LDRB R3, [R1,R2] @ Load from Memory .text:000111C4 ORR R3, R3, #4 @ Rd = Op2 | Op1 .text:000111C8 STRB R3, [R1,R2] @ Store to Memory .text:000111CC .text:000111CC loc_111CC: @ CODE XREF: send_arm_status+134j .text:000111CC LDR R0, =aNo_uc_reboot @ name .text:000111D0 BL getenv @ Branch with Link .text:000111D4 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000111D8 BEQ loc_111F4 @ Branch .text:000111DC MOVL R2, 0xFFFFFEFF .text:000111E0 SUB R2, R2, #2 @ Rd = Op1 - Op2 .text:000111E4 ADD R6, SP, #0x178+var_1C @ Rd = Op1 + Op2 .text:000111E8 LDRB R3, [R6,R2] @ Load from Memory .text:000111EC ORR R3, R3, #8 @ Rd = Op2 | Op1 .text:000111F0 STRB R3, [R6,R2] @ Store to Memory .text:000111F4 .text:000111F4 loc_111F4: @ CODE XREF: send_arm_status+15Cj .text:000111F4 LDR R3, =dword_45920 @ Load from Memory .text:000111F8 MOV R12, #0x10 @ Rd = Op2 .text:000111FC LDR R0, [R3] @ Load from Memory .text:00011200 ADD R2, SP, #0x178+var_124 @ Rd = Op1 + Op2 .text:00011204 MOV R1, #0 @ Rd = Op2 .text:00011208 MOV R3, #1 @ Rd = Op2 .text:0001120C STR R12, [SP,#0x178+var_178] @ Store to Memory .text:00011210 BL rw_packet @ Branch with Link .text:00011214 ADD SP, SP, #0x15C @ Rd = Op1 + Op2 .text:00011218 LDMFD SP!, {R4-R8,R10,PC} @ Load Block from Memory .text:0001121C @ --------------------------------------------------------------------------- .text:0001121C .text:0001121C loc_1121C: @ CODE XREF: send_arm_status+E0j .text:0001121C LDR R0, =aEnable_uc_debu @ name .text:00011220 BL getenv @ Branch with Link .text:00011224 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00011228 BEQ loc_11170 @ Branch .text:0001122C B loc_11160 @ Branch .text:00011230 @ --------------------------------------------------------------------------- .text:00011230 .text:00011230 loc_11230: @ CODE XREF: send_arm_status+48j .text:00011230 BL time @ Branch with Link .text:00011234 LDR R2, =0x51EB851F @ Load from Memory .text:00011238 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0001123C MOV R3, R0,ASR#31 @ Rd = Op2 .text:00011240 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00011244 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00011248 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0001124C SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00011250 BL call_gettimeofday @ Branch with Link .text:00011254 MOV R1, R4 @ Rd = Op2 .text:00011258 MOV R2, R0 @ Rd = Op2 .text:0001125C LDR R3, =aSend_arm_statu @ Load from Memory .text:00011260 LDR R0, =logfile_format @ Load from Memory .text:00011264 BL printf @ Branch with Link .text:00011268 LDR R0, =aFirmware_modif @ Load from Memory .text:0001126C MOV R1, R6 @ Rd = Op2 .text:00011270 BL printf @ Branch with Link .text:00011274 MOV R0, R5 @ Rd = Op2 .text:00011278 BL sub_257B4 @ Branch with Link .text:0001127C B loc_110C8 @ Branch .text:00011280 @ --------------------------------------------------------------------------- .text:00011280 .text:00011280 loc_11280: @ CODE XREF: send_arm_status+38j .text:00011280 LDR R7, =debug_level @ Load from Memory .text:00011284 LDR R3, [R7] @ Load from Memory .text:00011288 CMP R3, #1 @ Set cond. codes on Op1 - Op2 .text:0001128C BGT loc_11298 @ Branch .text:00011290 .text:00011290 loc_11290: @ CODE XREF: send_arm_status+268j .text:00011290 MOV R10, #0 @ Rd = Op2 .text:00011294 B loc_110D4 @ Branch .text:00011298 @ --------------------------------------------------------------------------- .text:00011298 .text:00011298 loc_11298: @ CODE XREF: send_arm_status+210j .text:00011298 MOV R0, #0 @ Rd = Op2 .text:0001129C BL time @ Branch with Link .text:000112A0 LDR R2, =0x51EB851F @ Load from Memory .text:000112A4 SMULL R6, R1, R2, R0 @ Signed Multiply long .text:000112A8 MOV R3, R0,ASR#31 @ Rd = Op2 .text:000112AC RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:000112B0 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:000112B4 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:000112B8 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:000112BC BL call_gettimeofday @ Branch with Link .text:000112C0 MOV R1, R4 @ Rd = Op2 .text:000112C4 MOV R2, R0 @ Rd = Op2 .text:000112C8 LDR R3, =aSend_arm_statu @ Load from Memory .text:000112CC LDR R0, =logfile_format @ Load from Memory .text:000112D0 BL printf @ Branch with Link .text:000112D4 LDR R0, =aNoModification @ Load from Memory .text:000112D8 BL xdebug_out @ Branch with Link .text:000112DC MOV R0, #0 @ Rd = Op2 .text:000112E0 BL sub_257B4 @ Branch with Link .text:000112E4 B loc_11290 @ Branch .text:000112E4 @ End of function send_arm_status .text:000112E4 .text:000112E4 @ --------------------------------------------------------------------------- .text:000112E8 @ char *off_112E8 .text:000112E8 off_112E8: .long aDosFirmware_pa @ DATA XREF: send_arm_status+14r .text:000112E8 @ "/dos/firmware.pac" .text:000112EC off_112EC: .long aDosPhatbox_ini @ DATA XREF: send_arm_status+1Cr .text:000112EC @ "/dos/phatbox.ini" .text:000112F0 off_112F0: .long aModification @ DATA XREF: send_arm_status+20r .text:000112F0 @ "modification" .text:000112F4 off_112F4: .long debug_level @ DATA XREF: send_arm_status+3Cr .text:000112F4 @ send_arm_status:loc_11280r .text:000112F8 off_112F8: .long aDosForcesettin @ DATA XREF: send_arm_status:loc_11170r .text:000112F8 @ "/dos/forcesettings" .text:000112FC @ char *off_112FC .text:000112FC off_112FC: .long aNo_uc_reboot @ DATA XREF: send_arm_status:loc_111CCr .text:000112FC @ "NO_UC_REBOOT" .text:00011300 off_11300: .long dword_45920 @ DATA XREF: send_arm_status:loc_111F4r .text:00011304 @ char *off_11304 .text:00011304 off_11304: .long aEnable_uc_debu @ DATA XREF: send_arm_status:loc_1121Cr .text:00011304 @ "ENABLE_uC_DEBUG" .text:00011308 dword_11308: .long 0x51EB851F @ DATA XREF: send_arm_status+1B8r .text:00011308 @ send_arm_status+224r .text:0001130C off_1130C: .long aSend_arm_statu @ DATA XREF: send_arm_status+1E0r .text:0001130C @ send_arm_status+24Cr .text:0001130C @ "send_arm_status" .text:00011310 off_11310: .long logfile_format @ DATA XREF: send_arm_status+1E4r .text:00011310 @ send_arm_status+250r .text:00011310 @ "%02li.%02li:51d :%-10.10s: " .text:00011314 off_11314: .long aFirmware_modif @ DATA XREF: send_arm_status+1ECr .text:00011314 @ "firmware_modification=%s\n" .text:00011318 off_11318: .long aNoModification @ DATA XREF: send_arm_status+258r .text:00011318 @ "no modification= in phatbox.ini. Setti"... .text:0001131C .text:0001131C @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001131C .text:0001131C .text:0001131C write_text: @ CODE XREF: processpack:loc_E6C4p .text:0001131C @ menu_display+1B8p .text:0001131C .text:0001131C var_34 = -0x34 .text:0001131C var_30 = -0x30 .text:0001131C .text:0001131C STMFD SP!, {R4-R10,LR} @ Store Block to Memory .text:00011320 LDR R3, =debug_level @ Load from Memory .text:00011324 LDR R2, [R3] @ Load from Memory .text:00011328 CMP R2, #2 @ Set cond. codes on Op1 - Op2 .text:0001132C SUB SP, SP, #0x14 @ Rd = Op1 - Op2 .text:00011330 MOV R10, R0 @ Rd = Op2 .text:00011334 MOV R9, R1 @ Rd = Op2 .text:00011338 BGT loc_11430 @ Branch .text:0001133C .text:0001133C loc_1133C: @ CODE XREF: write_text+164j .text:0001133C MOV R6, #0 @ Rd = Op2 .text:00011340 MOV R5, R10 @ Rd = Op2 .text:00011344 .text:00011344 loc_11344: @ CODE XREF: write_text+B4j .text:00011344 MOV R0, R10 @ Rd = Op2 .text:00011348 BL sub_26BDC @ Branch with Link .text:0001134C LDR R3, =0xAAAAAAAB @ Load from Memory .text:00011350 UMULL R2, R12, R3, R0 @ Unsigned Multiply long .text:00011354 MOV R12, R12,LSR#3 @ Rd = Op2 .text:00011358 ADD R12, R12, #1 @ Rd = Op1 + Op2 .text:0001135C ADD R7, SP, #0x34+var_30 @ Rd = Op1 + Op2 .text:00011360 CMP R6, R12 @ Set cond. codes on Op1 - Op2 .text:00011364 MOV R1, #0 @ Rd = Op2 .text:00011368 MOV R2, #0xF @ Rd = Op2 .text:0001136C ADD R8, SP, #0x34+var_30+2 @ Rd = Op1 + Op2 .text:00011370 MOV R0, R7 @ Rd = Op2 .text:00011374 BCS loc_11424 @ Branch .text:00011378 BL sub_26A4C @ Branch with Link .text:0001137C MOV R1, R5 @ Rd = Op2 .text:00011380 MOV R2, #0xC @ Rd = Op2 .text:00011384 MOV R0, R8 @ Rd = Op2 .text:00011388 STRB R6, [SP,#0x34+var_30+1] @ Store to Memory .text:0001138C STRB R9, [SP,#0x34+var_30] @ Store to Memory .text:00011390 BL strncat @ Branch with Link .text:00011394 LDR R3, =debug_level @ Load from Memory .text:00011398 LDR R2, [R3] @ Load from Memory .text:0001139C CMP R2, #3 @ Set cond. codes on Op1 - Op2 .text:000113A0 MOV R0, #0 @ Rd = Op2 .text:000113A4 ADD R5, R5, #0xC @ Rd = Op1 + Op2 .text:000113A8 ADD R6, R6, #1 @ Rd = Op1 + Op2 .text:000113AC BGT loc_113D4 @ Branch .text:000113B0 .text:000113B0 loc_113B0: @ CODE XREF: write_text+104j .text:000113B0 LDR R4, =dword_45920 @ Load from Memory .text:000113B4 MOV R12, #0x50 @ 'P' @ Rd = Op2 .text:000113B8 LDR R0, [R4] @ Load from Memory .text:000113BC MOV R2, R7 @ Rd = Op2 .text:000113C0 MOV R1, #0 @ Rd = Op2 .text:000113C4 MOV R3, #1 @ Rd = Op2 .text:000113C8 STR R12, [SP,#0x34+var_34] @ Store to Memory .text:000113CC BL rw_packet @ Branch with Link .text:000113D0 B loc_11344 @ Branch .text:000113D4 @ --------------------------------------------------------------------------- .text:000113D4 .text:000113D4 loc_113D4: @ CODE XREF: write_text+90j .text:000113D4 BL time @ Branch with Link .text:000113D8 LDR R2, =0x51EB851F @ Load from Memory .text:000113DC SMULL R3, R1, R2, R0 @ Signed Multiply long .text:000113E0 MOV R3, R0,ASR#31 @ Rd = Op2 .text:000113E4 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:000113E8 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:000113EC ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:000113F0 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:000113F4 BL call_gettimeofday @ Branch with Link .text:000113F8 MOV R1, R4 @ Rd = Op2 .text:000113FC MOV R2, R0 @ Rd = Op2 .text:00011400 LDR R3, =aWrite_text @ Load from Memory .text:00011404 LDR R0, =logfile_format @ Load from Memory .text:00011408 BL printf @ Branch with Link .text:0001140C MOV R1, R8 @ Rd = Op2 .text:00011410 LDR R0, =aWritingTextPac @ Load from Memory .text:00011414 BL printf @ Branch with Link .text:00011418 MOV R0, #0 @ Rd = Op2 .text:0001141C BL sub_257B4 @ Branch with Link .text:00011420 B loc_113B0 @ Branch .text:00011424 @ --------------------------------------------------------------------------- .text:00011424 .text:00011424 loc_11424: @ CODE XREF: write_text+58j .text:00011424 MOV R0, #1 @ Rd = Op2 .text:00011428 ADD SP, SP, #0x14 @ Rd = Op1 + Op2 .text:0001142C LDMFD SP!, {R4-R10,PC} @ Load Block from Memory .text:00011430 @ --------------------------------------------------------------------------- .text:00011430 .text:00011430 loc_11430: @ CODE XREF: write_text+1Cj .text:00011430 MOV R0, #0 @ Rd = Op2 .text:00011434 BL time @ Branch with Link .text:00011438 LDR R2, =0x51EB851F @ Load from Memory .text:0001143C SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00011440 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00011444 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00011448 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0001144C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00011450 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00011454 BL call_gettimeofday @ Branch with Link .text:00011458 MOV R1, R4 @ Rd = Op2 .text:0001145C MOV R2, R0 @ Rd = Op2 .text:00011460 LDR R3, =aWrite_text @ Load from Memory .text:00011464 LDR R0, =logfile_format @ Load from Memory .text:00011468 BL printf @ Branch with Link .text:0001146C LDR R0, =aWriteS @ Load from Memory .text:00011470 MOV R1, R10 @ Rd = Op2 .text:00011474 BL printf @ Branch with Link .text:00011478 MOV R0, #0 @ Rd = Op2 .text:0001147C BL sub_257B4 @ Branch with Link .text:00011480 B loc_1133C @ Branch .text:00011480 @ End of function write_text .text:00011480 .text:00011480 @ --------------------------------------------------------------------------- .text:00011484 off_11484: .long debug_level @ DATA XREF: write_text+4r .text:00011484 @ write_text+78r .text:00011488 dword_11488: .long 0xAAAAAAAB @ DATA XREF: write_text+30r .text:0001148C off_1148C: .long dword_45920 @ DATA XREF: write_text:loc_113B0r .text:00011490 dword_11490: .long 0x51EB851F @ DATA XREF: write_text+BCr .text:00011490 @ write_text+11Cr .text:00011494 off_11494: .long aWrite_text @ DATA XREF: write_text+E4r .text:00011494 @ write_text+144r .text:00011494 @ "write_text" .text:00011498 off_11498: .long logfile_format @ DATA XREF: write_text+E8r .text:00011498 @ write_text+148r .text:00011498 @ "%02li.%02li:51d :%-10.10s: " .text:0001149C off_1149C: .long aWritingTextPac @ DATA XREF: write_text+F4r .text:0001149C @ "Writing text packet %s\n" .text:000114A0 off_114A0: .long aWriteS @ DATA XREF: write_text+150r .text:000114A0 @ "Write %s\n" .text:000114A4 .text:000114A4 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:000114A4 .text:000114A4 .text:000114A4 program_pld: @ CODE XREF: processpack:loc_E9B4p .text:000114A4 @ processpack+3E60p ... .text:000114A4 STMFD SP!, {R4-R8,R10,LR} @ Store Block to Memory .text:000114A8 MOV R0, #1 @ Rd = Op2 .text:000114AC MOV R1, #0x100 @ Rd = Op2 .text:000114B0 BL get_pn_board_ver @ Branch with Link .text:000114B4 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000114B8 BNE loc_1151C @ Branch .text:000114BC .text:000114BC loc_114BC: @ CODE XREF: program_pld+8Cj .text:000114BC LDR R3, =debug_level @ Load from Memory .text:000114C0 LDR R2, [R3] @ Load from Memory .text:000114C4 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:000114C8 LDMLTFD SP!, {R4-R8,R10,PC} @ Load Block from Memory .text:000114CC MOV R0, #0 @ Rd = Op2 .text:000114D0 BL time @ Branch with Link .text:000114D4 LDR R2, =0x51EB851F @ Load from Memory .text:000114D8 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:000114DC MOV R3, R0,ASR#31 @ Rd = Op2 .text:000114E0 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:000114E4 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:000114E8 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:000114EC SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:000114F0 BL call_gettimeofday @ Branch with Link .text:000114F4 MOV R1, R4 @ Rd = Op2 .text:000114F8 MOV R2, R0 @ Rd = Op2 .text:000114FC LDR R3, =aProgram_pld @ Load from Memory .text:00011500 LDR R0, =logfile_format @ Load from Memory .text:00011504 BL printf @ Branch with Link .text:00011508 LDR R0, =aRefusingToProg @ Load from Memory .text:0001150C BL xdebug_out @ Branch with Link .text:00011510 MOV R0, #0 @ Rd = Op2 .text:00011514 LDMFD SP!, {R4-R8,R10,LR} @ Load Block from Memory .text:00011518 B sub_257B4 @ Branch .text:0001151C @ --------------------------------------------------------------------------- .text:0001151C .text:0001151C loc_1151C: @ CODE XREF: program_pld+14j .text:0001151C MOVL R1, 0x1FF .text:00011524 MOVL R0, 0xFFFFFFFF .text:00011528 BL get_pn_board_ver @ Branch with Link .text:0001152C CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00011530 BEQ loc_114BC @ Branch .text:00011534 LDR R3, =debug_level @ Load from Memory .text:00011538 LDR R2, [R3] @ Load from Memory .text:0001153C CMP R2, #1 @ Set cond. codes on Op1 - Op2 .text:00011540 BGT loc_11750 @ Branch .text:00011544 LDR R10, =aProgram_pld @ Load from Memory .text:00011548 .text:00011548 loc_11548: @ CODE XREF: program_pld+2FCj .text:00011548 LDR R6, =aDosProgpld @ Load from Memory .text:0001154C MOV R0, R6 @ Rd = Op2 .text:00011550 BL verify_sig @ progpld .text:00011554 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00011558 MOV R5, R0 @ Rd = Op2 .text:0001155C BEQ loc_116E8 @ Branch .text:00011560 LDR R7, =aDosBlank_bif @ Load from Memory .text:00011564 LDR R2, =aScc0103 @ Load from Memory .text:00011568 MOV R1, R10 @ Rd = Op2 .text:0001156C MOV R0, #1 @ Rd = Op2 .text:00011570 BL sub_251D0 @ Branch with Link .text:00011574 MOV R0, R7 @ Rd = Op2 .text:00011578 BL verify_sig @ blank.bif .text:0001157C CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00011580 MOV R5, R0 @ Rd = Op2 .text:00011584 BEQ loc_11680 @ Branch .text:00011588 LDR R2, =aScc0105 @ Load from Memory .text:0001158C MOV R1, R10 @ Rd = Op2 .text:00011590 MOV R0, #1 @ Rd = Op2 .text:00011594 BL sub_251D0 @ Branch with Link .text:00011598 LDR R3, =xnoenc_flag @ noenc_flag=blank? .text:0001159C LDR R2, [R3] @ Load from Memory .text:000115A0 CMP R2, #2 @ noenc_flag=blank? .text:000115A4 MOVEQ R2, #0 @ Rd = Op2 .text:000115A8 MOVEQ R0, R6 @ Rd = Op2 .text:000115AC MOVEQ R1, R7 @ Rd = Op2 .text:000115B0 BEQ loc_115FC @ Branch .text:000115B4 LDR R5, =aDosProg_bif @ Load from Memory .text:000115B8 MOV R0, R5 @ Rd = Op2 .text:000115BC BL verify_sig @ prog.bif .text:000115C0 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000115C4 MOV R8, R0 @ Rd = Op2 .text:000115C8 BEQ loc_11608 @ Branch .text:000115CC MOV R1, R10 @ Rd = Op2 .text:000115D0 LDR R2, =aScc0104 @ Load from Memory .text:000115D4 MOV R0, #1 @ Rd = Op2 .text:000115D8 BL sub_251D0 @ Branch with Link .text:000115DC MOV R2, #0 @ Rd = Op2 .text:000115E0 MOV R1, R7 @ Rd = Op2 .text:000115E4 MOV R3, R2 @ Rd = Op2 .text:000115E8 MOV R0, R6 @ Rd = Op2 .text:000115EC BL call_exec @ Branch with Link .text:000115F0 MOV R0, R6 @ Rd = Op2 .text:000115F4 MOV R1, R5 @ Rd = Op2 .text:000115F8 MOV R2, #0 @ Rd = Op2 .text:000115FC .text:000115FC loc_115FC: @ CODE XREF: program_pld+10Cj .text:000115FC MOV R3, R2 @ Rd = Op2 .text:00011600 LDMFD SP!, {R4-R8,R10,LR} @ Load Block from Memory .text:00011604 B call_exec @ Branch .text:00011608 @ --------------------------------------------------------------------------- .text:00011608 .text:00011608 loc_11608: @ CODE XREF: program_pld+124j .text:00011608 LDR R3, =debug_level @ Load from Memory .text:0001160C LDR R2, [R3] @ Load from Memory .text:00011610 CMN R2, #2 @ Set cond. codes on Op1 + Op2 .text:00011614 BLT loc_11664 @ Branch .text:00011618 BL time @ Branch with Link .text:0001161C LDR R2, =0x51EB851F @ Load from Memory .text:00011620 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00011624 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00011628 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0001162C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00011630 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00011634 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00011638 BL call_gettimeofday @ Branch with Link .text:0001163C MOV R1, R4 @ Rd = Op2 .text:00011640 MOV R2, R0 @ Rd = Op2 .text:00011644 MOV R3, R10 @ Rd = Op2 .text:00011648 LDR R0, =logfile_format @ Load from Memory .text:0001164C BL printf @ Branch with Link .text:00011650 MOV R1, R5 @ Rd = Op2 .text:00011654 LDR R0, =aCorruptS @ Load from Memory .text:00011658 BL printf @ Branch with Link .text:0001165C MOV R0, R8 @ Rd = Op2 .text:00011660 BL sub_257B4 @ Branch with Link .text:00011664 .text:00011664 loc_11664: @ CODE XREF: program_pld+170j .text:00011664 LDR R2, =aErr0104 @ Load from Memory .text:00011668 MOV R1, R10 @ Rd = Op2 .text:0001166C .text:0001166C loc_1166C: @ CODE XREF: program_pld+240j .text:0001166C @ program_pld+2A8j .text:0001166C MOV R0, #1 @ Rd = Op2 .text:00011670 BL sub_251D0 @ Branch with Link .text:00011674 BL error_blink_forever @ Branch with Link .text:00011678 MOV R0, #1 @ Rd = Op2 .text:0001167C BL sub_274E4 @ Branch with Link .text:00011680 .text:00011680 loc_11680: @ CODE XREF: program_pld+E0j .text:00011680 LDR R3, =debug_level @ Load from Memory .text:00011684 LDR R2, [R3] @ Load from Memory .text:00011688 CMN R2, #2 @ Set cond. codes on Op1 + Op2 .text:0001168C BLT loc_116DC @ Branch .text:00011690 BL time @ Branch with Link .text:00011694 LDR R2, =0x51EB851F @ Load from Memory .text:00011698 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0001169C MOV R3, R0,ASR#31 @ Rd = Op2 .text:000116A0 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:000116A4 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:000116A8 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:000116AC SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:000116B0 BL call_gettimeofday @ Branch with Link .text:000116B4 MOV R1, R4 @ Rd = Op2 .text:000116B8 MOV R2, R0 @ Rd = Op2 .text:000116BC MOV R3, R10 @ Rd = Op2 .text:000116C0 LDR R0, =logfile_format @ Load from Memory .text:000116C4 BL printf @ Branch with Link .text:000116C8 MOV R1, R7 @ Rd = Op2 .text:000116CC LDR R0, =aCorruptS @ Load from Memory .text:000116D0 BL printf @ Branch with Link .text:000116D4 MOV R0, R5 @ Rd = Op2 .text:000116D8 BL sub_257B4 @ Branch with Link .text:000116DC .text:000116DC loc_116DC: @ CODE XREF: program_pld+1E8j .text:000116DC LDR R2, =aErr0105 @ Load from Memory .text:000116E0 MOV R1, R10 @ Rd = Op2 .text:000116E4 B loc_1166C @ Branch .text:000116E8 @ --------------------------------------------------------------------------- .text:000116E8 .text:000116E8 loc_116E8: @ CODE XREF: program_pld+B8j .text:000116E8 LDR R3, =debug_level @ Load from Memory .text:000116EC LDR R2, [R3] @ Load from Memory .text:000116F0 CMN R2, #2 @ Set cond. codes on Op1 + Op2 .text:000116F4 BLT loc_11744 @ Branch .text:000116F8 BL time @ Branch with Link .text:000116FC LDR R2, =0x51EB851F @ Load from Memory .text:00011700 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00011704 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00011708 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0001170C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00011710 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00011714 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00011718 BL call_gettimeofday @ Branch with Link .text:0001171C MOV R1, R4 @ Rd = Op2 .text:00011720 MOV R2, R0 @ Rd = Op2 .text:00011724 MOV R3, R10 @ Rd = Op2 .text:00011728 LDR R0, =logfile_format @ Load from Memory .text:0001172C BL printf @ Branch with Link .text:00011730 MOV R1, R6 @ Rd = Op2 .text:00011734 LDR R0, =aCorruptS @ Load from Memory .text:00011738 BL printf @ Branch with Link .text:0001173C MOV R0, R5 @ Rd = Op2 .text:00011740 BL sub_257B4 @ Branch with Link .text:00011744 .text:00011744 loc_11744: @ CODE XREF: program_pld+250j .text:00011744 LDR R2, =aErr0103 @ Load from Memory .text:00011748 MOV R1, R10 @ Rd = Op2 .text:0001174C B loc_1166C @ Branch .text:00011750 @ --------------------------------------------------------------------------- .text:00011750 .text:00011750 loc_11750: @ CODE XREF: program_pld+9Cj .text:00011750 MOV R0, #0 @ Rd = Op2 .text:00011754 BL time @ Branch with Link .text:00011758 LDR R2, =0x51EB851F @ Load from Memory .text:0001175C SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00011760 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00011764 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00011768 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0001176C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00011770 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00011774 BL call_gettimeofday @ Branch with Link .text:00011778 LDR R10, =aProgram_pld @ Load from Memory .text:0001177C MOV R2, R0 @ Rd = Op2 .text:00011780 MOV R1, R4 @ Rd = Op2 .text:00011784 MOV R3, R10 @ Rd = Op2 .text:00011788 LDR R0, =logfile_format @ Load from Memory .text:0001178C BL printf @ Branch with Link .text:00011790 LDR R0, =aProgrammingPld @ Load from Memory .text:00011794 BL xdebug_out @ Branch with Link .text:00011798 MOV R0, #0 @ Rd = Op2 .text:0001179C BL sub_257B4 @ Branch with Link .text:000117A0 B loc_11548 @ Branch .text:000117A0 @ End of function program_pld .text:000117A0 .text:000117A0 @ --------------------------------------------------------------------------- .text:000117A4 off_117A4: .long debug_level @ DATA XREF: program_pld:loc_114BCr .text:000117A4 @ program_pld+90r ... .text:000117A8 dword_117A8: .long 0x51EB851F @ DATA XREF: program_pld+30r .text:000117A8 @ program_pld+178r ... .text:000117AC off_117AC: .long aProgram_pld @ DATA XREF: program_pld+58r .text:000117AC @ program_pld+A0r ... .text:000117AC @ "program_pld" .text:000117B0 off_117B0: .long logfile_format @ DATA XREF: program_pld+5Cr .text:000117B0 @ program_pld+1A4r ... .text:000117B0 @ "%02li.%02li:51d :%-10.10s: " .text:000117B4 off_117B4: .long aRefusingToProg @ DATA XREF: program_pld+64r .text:000117B4 @ "!!!Refusing to program PLD on this boar"... .text:000117B8 off_117B8: .long aDosProgpld @ DATA XREF: program_pld:loc_11548r .text:000117B8 @ "/dos/progpld" .text:000117BC off_117BC: .long aDosBlank_bif @ DATA XREF: program_pld+BCr .text:000117BC @ "/dos/blank.bif" .text:000117C0 off_117C0: .long aScc0103 @ DATA XREF: program_pld+C0r .text:000117C0 @ "SCC0103" .text:000117C4 off_117C4: .long aScc0105 @ DATA XREF: program_pld+E4r .text:000117C4 @ "SCC0105" .text:000117C8 off_117C8: .long xnoenc_flag @ DATA XREF: program_pld+F4r .text:000117CC off_117CC: .long aDosProg_bif @ DATA XREF: program_pld+110r .text:000117CC @ "/dos/prog.bif" .text:000117D0 off_117D0: .long aScc0104 @ DATA XREF: program_pld+12Cr .text:000117D0 @ "SCC0104" .text:000117D4 off_117D4: .long aCorruptS @ DATA XREF: program_pld+1B0r .text:000117D4 @ program_pld+228r ... .text:000117D4 @ "Corrupt %s\n" .text:000117D8 off_117D8: .long aErr0104 @ DATA XREF: program_pld:loc_11664r .text:000117D8 @ "ERR0104" .text:000117DC off_117DC: .long aErr0105 @ DATA XREF: program_pld:loc_116DCr .text:000117DC @ "ERR0105" .text:000117E0 off_117E0: .long aErr0103 @ DATA XREF: program_pld:loc_11744r .text:000117E0 @ "ERR0103" .text:000117E4 off_117E4: .long aProgrammingPld @ DATA XREF: program_pld+2ECr .text:000117E4 @ "programming PLD..." .text:000117E8 .text:000117E8 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:000117E8 .text:000117E8 .text:000117E8 @ int __cdecl xread_firmware(char hexstuff,char *filename) .text:000117E8 xread_firmware: @ CODE XREF: processpack:loc_F72Cp .text:000117E8 @ processpack+3E98p .text:000117E8 STMFD SP!, {R4-R6,LR} @ Store Block to Memory .text:000117EC LDR R3, =dword_35F70 @ Load from Memory .text:000117F0 SUB SP, SP, #0x10 @ Rd = Op1 - Op2 .text:000117F4 MOV R2, #1 @ Rd = Op2 .text:000117F8 MOV R4, R1 @ Rd = Op2 .text:000117FC MOV R6, R0 @ Rd = Op2 .text:00011800 STR R2, [R3] @ Store to Memory .text:00011804 MOV R0, R1 @ filename .text:00011808 MOV R1, SP @ buf .text:0001180C BL parse_pac @ Branch with Link .text:00011810 MOV R0, R6 @ Rd = Op2 .text:00011814 MOV R1, R4 @ Rd = Op2 .text:00011818 MOV R2, SP @ Rd = Op2 .text:0001181C MOV R5, SP @ Rd = Op2 .text:00011820 BL send_firmware @ Branch with Link .text:00011824 ADD SP, SP, #0x10 @ Rd = Op1 + Op2 .text:00011828 LDMFD SP!, {R4-R6,PC} @ Load Block from Memory .text:00011828 @ End of function xread_firmware .text:00011828 .text:00011828 @ --------------------------------------------------------------------------- .text:0001182C off_1182C: .long dword_35F70 @ DATA XREF: xread_firmware+4r .text:00011830 .text:00011830 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00011830 .text:00011830 .text:00011830 send_firmware: @ CODE XREF: xread_firmware+38p .text:00011830 STMFD SP!, {R4-R8,LR} @ Store Block to Memory .text:00011834 MOV R4, R0 @ Rd = Op2 .text:00011838 SUB SP, SP, #0x40 @ Rd = Op1 - Op2 .text:0001183C MOV R6, R1 @ Rd = Op2 .text:00011840 MOV R5, R2 @ Rd = Op2 .text:00011844 BL sub_10B24 @ Branch with Link .text:00011848 CMP R4, #0xA1 @ 'í' @ Set cond. codes on Op1 - Op2 .text:0001184C MOV R7, #0 @ Rd = Op2 .text:00011850 BEQ loc_119D0 @ Branch .text:00011854 BGT loc_1195C @ Branch .text:00011858 CMP R4, #0xA0 @ 'á' @ Set cond. codes on Op1 - Op2 .text:0001185C BEQ loc_11870 @ Branch .text:00011860 .text:00011860 loc_11860: @ CODE XREF: send_firmware+BCj .text:00011860 @ send_firmware+D4j ... .text:00011860 BL sync @ Branch with Link .text:00011864 BL sub_10BDC @ Branch with Link .text:00011868 ADD SP, SP, #0x40 @ Rd = Op1 + Op2 .text:0001186C LDMFD SP!, {R4-R8,PC} @ Load Block from Memory .text:00011870 @ --------------------------------------------------------------------------- .text:00011870 .text:00011870 loc_11870: @ CODE XREF: send_firmware+2Cj .text:00011870 LDR R8, =debug_level @ Load from Memory .text:00011874 LDR R3, [R8] @ Load from Memory .text:00011878 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0001187C BLE loc_118CC @ Branch .text:00011880 MOV R0, R7 @ Rd = Op2 .text:00011884 BL time @ Branch with Link .text:00011888 LDR R2, =0x51EB851F @ Load from Memory .text:0001188C SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00011890 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00011894 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00011898 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0001189C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:000118A0 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:000118A4 BL call_gettimeofday @ Branch with Link .text:000118A8 MOV R1, R4 @ Rd = Op2 .text:000118AC MOV R2, R0 @ Rd = Op2 .text:000118B0 LDR R3, =aSend_firmware @ Load from Memory .text:000118B4 LDR R0, =logfile_format @ Load from Memory .text:000118B8 BL printf @ Branch with Link .text:000118BC LDR R0, =aSendingFirmwar @ Load from Memory .text:000118C0 BL xdebug_out @ Branch with Link .text:000118C4 MOV R0, R7 @ Rd = Op2 .text:000118C8 BL sub_257B4 @ Branch with Link .text:000118CC .text:000118CC loc_118CC: @ CODE XREF: send_firmware+4Cj .text:000118CC MOV R1, R5 @ Rd = Op2 .text:000118D0 LDR R5, =aDosForceupdate @ Load from Memory .text:000118D4 MOV R0, R6 @ Rd = Op2 .text:000118D8 BL read_and_send_pac @ Branch with Link .text:000118DC MOV R1, SP @ Rd = Op2 .text:000118E0 MOV R0, R5 @ Rd = Op2 .text:000118E4 BL stat @ Branch with Link .text:000118E8 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000118EC BNE loc_11860 @ Branch .text:000118F0 MOV R0, R5 @ pathname .text:000118F4 BL unlink @ Branch with Link .text:000118F8 BL sync @ Branch with Link .text:000118FC LDR R3, [R8] @ Load from Memory .text:00011900 CMP R3, #9 @ Set cond. codes on Op1 - Op2 .text:00011904 BLE loc_11860 @ Branch .text:00011908 MOV R0, R7 @ Rd = Op2 .text:0001190C BL time @ Branch with Link .text:00011910 LDR R2, =0x51EB851F @ Load from Memory .text:00011914 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00011918 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0001191C RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00011920 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00011924 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00011928 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0001192C BL call_gettimeofday @ Branch with Link .text:00011930 MOV R1, R4 @ Rd = Op2 .text:00011934 MOV R2, R0 @ Rd = Op2 .text:00011938 LDR R3, =aSend_firmware @ Load from Memory .text:0001193C LDR R0, =logfile_format @ Load from Memory .text:00011940 BL printf @ Branch with Link .text:00011944 MOV R1, R5 @ Rd = Op2 .text:00011948 LDR R0, =aDeletedS @ Load from Memory .text:0001194C BL printf @ Branch with Link .text:00011950 MOV R0, R7 @ Rd = Op2 .text:00011954 BL sub_257B4 @ Branch with Link .text:00011958 B loc_11860 @ Branch .text:0001195C @ --------------------------------------------------------------------------- .text:0001195C .text:0001195C loc_1195C: @ CODE XREF: send_firmware+24j .text:0001195C CMP R4, #0xA2 @ 'ó' @ Set cond. codes on Op1 - Op2 .text:00011960 BNE loc_11860 @ Branch .text:00011964 LDR R3, =debug_level @ Load from Memory .text:00011968 LDR R2, [R3] @ Load from Memory .text:0001196C CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00011970 BLE loc_119C0 @ Branch .text:00011974 MOV R0, R7 @ Rd = Op2 .text:00011978 BL time @ Branch with Link .text:0001197C LDR R2, =0x51EB851F @ Load from Memory .text:00011980 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00011984 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00011988 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0001198C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00011990 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00011994 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00011998 BL call_gettimeofday @ Branch with Link .text:0001199C MOV R1, R4 @ Rd = Op2 .text:000119A0 MOV R2, R0 @ Rd = Op2 .text:000119A4 LDR R3, =aSend_firmware @ Load from Memory .text:000119A8 LDR R0, =logfile_format @ Load from Memory .text:000119AC BL printf @ Branch with Link .text:000119B0 LDR R0, =aSendingTest @ Load from Memory .text:000119B4 BL xdebug_out @ Branch with Link .text:000119B8 MOV R0, R7 @ Rd = Op2 .text:000119BC BL sub_257B4 @ Branch with Link .text:000119C0 .text:000119C0 loc_119C0: @ CODE XREF: send_firmware+140j .text:000119C0 LDR R0, =aDosTest_pac @ Load from Memory .text:000119C4 MOV R1, R5 @ Rd = Op2 .text:000119C8 .text:000119C8 loc_119C8: @ CODE XREF: send_firmware+204j .text:000119C8 BL read_and_send_pac @ Branch with Link .text:000119CC B loc_11860 @ Branch .text:000119D0 @ --------------------------------------------------------------------------- .text:000119D0 .text:000119D0 loc_119D0: @ CODE XREF: send_firmware+20j .text:000119D0 LDR R3, =debug_level @ Load from Memory .text:000119D4 LDR R2, [R3] @ Load from Memory .text:000119D8 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:000119DC BLE loc_11A2C @ Branch .text:000119E0 MOV R0, R7 @ Rd = Op2 .text:000119E4 BL time @ Branch with Link .text:000119E8 LDR R2, =0x51EB851F @ Load from Memory .text:000119EC SMULL R3, R1, R2, R0 @ Signed Multiply long .text:000119F0 MOV R3, R0,ASR#31 @ Rd = Op2 .text:000119F4 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:000119F8 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:000119FC ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00011A00 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00011A04 BL call_gettimeofday @ Branch with Link .text:00011A08 MOV R1, R4 @ Rd = Op2 .text:00011A0C MOV R2, R0 @ Rd = Op2 .text:00011A10 LDR R3, =aSend_firmware @ Load from Memory .text:00011A14 LDR R0, =logfile_format @ Load from Memory .text:00011A18 BL printf @ Branch with Link .text:00011A1C LDR R0, =aSendingBoot @ Load from Memory .text:00011A20 BL xdebug_out @ Branch with Link .text:00011A24 MOV R0, R7 @ Rd = Op2 .text:00011A28 BL sub_257B4 @ Branch with Link .text:00011A2C .text:00011A2C loc_11A2C: @ CODE XREF: send_firmware+1ACj .text:00011A2C MOV R0, R6 @ Rd = Op2 .text:00011A30 MOV R1, R5 @ Rd = Op2 .text:00011A34 B loc_119C8 @ Branch .text:00011A34 @ End of function send_firmware .text:00011A34 .text:00011A34 @ --------------------------------------------------------------------------- .text:00011A38 off_11A38: .long debug_level @ DATA XREF: send_firmware:loc_11870r .text:00011A38 @ send_firmware+134r ... .text:00011A3C dword_11A3C: .long 0x51EB851F @ DATA XREF: send_firmware+58r .text:00011A3C @ send_firmware+E0r ... .text:00011A40 off_11A40: .long aSend_firmware @ DATA XREF: send_firmware+80r .text:00011A40 @ send_firmware+108r ... .text:00011A40 @ "send_firmware" .text:00011A44 off_11A44: .long logfile_format @ DATA XREF: send_firmware+84r .text:00011A44 @ send_firmware+10Cr ... .text:00011A44 @ "%02li.%02li:51d :%-10.10s: " .text:00011A48 off_11A48: .long aSendingFirmwar @ DATA XREF: send_firmware+8Cr .text:00011A48 @ "sending FIRMWARE" .text:00011A4C off_11A4C: .long aDosForceupdate @ DATA XREF: send_firmware+A0r .text:00011A4C @ "/dos/forceupdate" .text:00011A50 off_11A50: .long aDeletedS @ DATA XREF: send_firmware+118r .text:00011A50 @ "Deleted %s\n" .text:00011A54 off_11A54: .long aSendingTest @ DATA XREF: send_firmware+180r .text:00011A54 @ "sending TEST" .text:00011A58 off_11A58: .long aDosTest_pac @ DATA XREF: send_firmware:loc_119C0r .text:00011A58 @ "/dos/test.pac" .text:00011A5C off_11A5C: .long aSendingBoot @ DATA XREF: send_firmware+1ECr .text:00011A5C @ "sending BOOT" .text:00011A60 .text:00011A60 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00011A60 .text:00011A60 .text:00011A60 read_and_send_pac: @ CODE XREF: send_firmware+A8p .text:00011A60 @ send_firmware:loc_119C8p .text:00011A60 .text:00011A60 var_43C = -0x43C .text:00011A60 buf = -0x434 .text:00011A60 var_424 = -0x424 .text:00011A60 var_2C = -0x2C .text:00011A60 .text:00011A60 STMFD SP!, {R4-R11,LR} @ Store Block to Memory .text:00011A64 SUB SP, SP, #0x410 @ Rd = Op1 - Op2 .text:00011A68 SUB SP, SP, #8 @ Rd = Op1 - Op2 .text:00011A6C ADD R6, SP, #0x43C+var_2C @ Rd = Op1 + Op2 .text:00011A70 LDRB R4, [R1,#5] @ Load from Memory .text:00011A74 LDRB R12, [R1,#6] @ Load from Memory .text:00011A78 MOV R2, #0x44 @ 'D' @ Rd = Op2 .text:00011A7C MOVL R3, 0xFFFFFBEF .text:00011A80 ADD R6, R6, #8 @ Rd = Op1 + Op2 .text:00011A84 MOV R5, R1 @ Rd = Op2 .text:00011A88 MOV R11, R0 @ Rd = Op2 .text:00011A8C MOV R1, #0x100 @ Rd = Op2 .text:00011A90 MOV R0, #1 @ Rd = Op2 .text:00011A94 STRB R2, [R6,R3] @ Store to Memory .text:00011A98 MLA R10, R4, R1, R12 @ Multiply-Accumulate .text:00011A9C BL get_pn_board_ver @ Branch with Link .text:00011AA0 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00011AA4 BNE loc_11E70 @ Branch .text:00011AA8 .text:00011AA8 loc_11AA8: @ CODE XREF: read_and_send_pac+438j .text:00011AA8 ADD R9, SP, #0x43C+buf @ Rd = Op1 + Op2 .text:00011AAC MOV R2, #0x10 @ Rd = Op2 .text:00011AB0 MOV R1, #0 @ Rd = Op2 .text:00011AB4 MOV R0, R9 @ Rd = Op2 .text:00011AB8 BL sub_26A4C @ Branch with Link .text:00011ABC LDR R3, =dword_35F3C @ Load from Memory .text:00011AC0 MOVL R2, 0xFFFFFBFF .text:00011AC4 LDR R8, [R3] @ Load from Memory .text:00011AC8 LDRB R7, [R5,#6] @ Load from Memory .text:00011ACC LDRB LR, [R5,#3] @ Load from Memory .text:00011AD0 LDRB R4, [R5,#4] @ Load from Memory .text:00011AD4 SUB R6, R2, #0xB @ Rd = Op1 - Op2 .text:00011AD8 LDRB R5, [R5,#5] @ Load from Memory .text:00011ADC SUB R0, R2, #0xE @ Rd = Op1 - Op2 .text:00011AE0 SUB R12, R2, #0xD @ Rd = Op1 - Op2 .text:00011AE4 MOV R1, #0xBF000000 @ Rd = Op2 .text:00011AE8 ADD R2, SP, #0x43C+var_2C @ Rd = Op1 + Op2 .text:00011AEC ADD R2, R2, #8 @ Rd = Op1 + Op2 .text:00011AF0 MOV R1, R1,ASR#20 @ Rd = Op2 .text:00011AF4 MOV R3, #2 @ Rd = Op2 .text:00011AF8 CMP R8, #0 @ Set cond. codes on Op1 - Op2 .text:00011AFC STRB R3, [R2,R1] @ Store to Memory .text:00011B00 STRB LR, [R2,R0] @ Store to Memory .text:00011B04 STRB R4, [R2,R12] @ Store to Memory .text:00011B08 STRB R5, [SP,#0x43C+buf+3] @ Store to Memory .text:00011B0C STRB R7, [R2,R6] @ Store to Memory .text:00011B10 BEQ loc_11E48 @ Branch .text:00011B14 MOV R1, R9 @ Rd = Op2 .text:00011B18 MOV R0, #0xFE @ '¦' @ Rd = Op2 .text:00011B1C BL write_old_packet @ Branch with Link .text:00011B20 .text:00011B20 loc_11B20: @ CODE XREF: read_and_send_pac+40Cj .text:00011B20 LDR R5, =debug_level @ Load from Memory .text:00011B24 LDR R3, [R5] @ Load from Memory .text:00011B28 CMP R3, #2 @ Set cond. codes on Op1 - Op2 .text:00011B2C BGT loc_11DF8 @ Branch .text:00011B30 .text:00011B30 loc_11B30: @ CODE XREF: read_and_send_pac+3E4j .text:00011B30 LDR R1, =aR @ mode .text:00011B34 MOV R0, R11 @ filename .text:00011B38 BL fopen @ open pac file .text:00011B3C CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00011B40 MOV R6, R0 @ Rd = Op2 .text:00011B44 BEQ loc_11D98 @ failed to open .text:00011B48 ADD R7, SP, #0x43C+var_424 @ Rd = Op1 + Op2 .text:00011B4C MOV R0, R7 @ buf .text:00011B50 MOV R1, #7 @ sign .text:00011B54 MOV R2, #1 @ nelm .text:00011B58 MOV R3, R6 @ fp .text:00011B5C MOV R5, #0 @ Rd = Op2 .text:00011B60 BL fread @ read header .text:00011B64 CMP R5, R10 @ Set cond. codes on Op1 - Op2 .text:00011B68 BLT loc_11C50 @ Branch .text:00011B6C .text:00011B6C loc_11B6C: @ CODE XREF: read_and_send_pac+2FCj .text:00011B6C MOV R3, #0xBF000000 @ Rd = Op2 .text:00011B70 ADD R0, SP, #0x43C+var_2C @ Rd = Op1 + Op2 .text:00011B74 MOV R3, R3,ASR#20 @ Rd = Op2 .text:00011B78 MOV R2, #1 @ Rd = Op2 .text:00011B7C ADD R0, R0, #8 @ Rd = Op1 + Op2 .text:00011B80 STRB R2, [R0,R3] @ Store to Memory .text:00011B84 ADD R3, SP, #0x43C+var_424 @ Rd = Op1 + Op2 .text:00011B88 MOV R1, #0 @ Rd = Op2 .text:00011B8C SUB R3, R3, #0xF @ Rd = Op1 - Op2 .text:00011B90 ADD R2, R2, #6 @ Rd = Op1 + Op2 .text:00011B94 .text:00011B94 loc_11B94: @ CODE XREF: read_and_send_pac+13Cj .text:00011B94 SUBS R2, R2, #1 @ Rd = Op1 - Op2 .text:00011B98 STRB R1, [R3],#1 @ Store to Memory .text:00011B9C BPL loc_11B94 @ Branch .text:00011BA0 LDR R3, =dword_35F3C @ Load from Memory .text:00011BA4 LDR R1, [R3] @ Load from Memory .text:00011BA8 CMP R1, #0 @ Set cond. codes on Op1 - Op2 .text:00011BAC BEQ loc_11C2C @ Branch .text:00011BB0 MOV R1, R9 @ Rd = Op2 .text:00011BB4 MOV R0, #0xFE @ '¦' @ Rd = Op2 .text:00011BB8 BL write_old_packet @ Branch with Link .text:00011BBC .text:00011BBC loc_11BBC: @ CODE XREF: read_and_send_pac+1ECj .text:00011BBC LDR R3, =debug_level @ Load from Memory .text:00011BC0 LDR R2, [R3] @ Load from Memory .text:00011BC4 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00011BC8 BLE loc_11C18 @ Branch .text:00011BCC MOV R0, #0 @ Rd = Op2 .text:00011BD0 BL time @ Branch with Link .text:00011BD4 LDR R2, =0x51EB851F @ Load from Memory .text:00011BD8 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00011BDC MOV R3, R0,ASR#31 @ Rd = Op2 .text:00011BE0 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00011BE4 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00011BE8 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00011BEC SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00011BF0 BL call_gettimeofday @ Branch with Link .text:00011BF4 MOV R1, R4 @ Rd = Op2 .text:00011BF8 MOV R2, R0 @ Rd = Op2 .text:00011BFC LDR R3, =aRead_and_send_ @ Load from Memory .text:00011C00 LDR R0, =logfile_format @ Load from Memory .text:00011C04 BL printf @ Branch with Link .text:00011C08 LDR R0, =aRead_and_sen_0 @ Load from Memory .text:00011C0C BL xdebug_out @ Branch with Link .text:00011C10 MOV R0, #0 @ Rd = Op2 .text:00011C14 BL sub_257B4 @ Branch with Link .text:00011C18 .text:00011C18 loc_11C18: @ CODE XREF: read_and_send_pac+168j .text:00011C18 MOV R0, R6 @ Rd = Op2 .text:00011C1C BL sub_25614 @ Branch with Link .text:00011C20 .text:00011C20 loc_11C20: @ CODE XREF: read_and_send_pac+340j .text:00011C20 @ read_and_send_pac+394j .text:00011C20 ADD SP, SP, #0x18 @ Rd = Op1 + Op2 .text:00011C24 ADD SP, SP, #0x400 @ Rd = Op1 + Op2 .text:00011C28 LDMFD SP!, {R4-R11,PC} @ Load Block from Memory .text:00011C2C @ --------------------------------------------------------------------------- .text:00011C2C .text:00011C2C loc_11C2C: @ CODE XREF: read_and_send_pac+14Cj .text:00011C2C LDR R3, =dword_45920 @ Load from Memory .text:00011C30 MOV R12, #0xA3 @ 'ú' @ Rd = Op2 .text:00011C34 LDR R0, [R3] @ Load from Memory .text:00011C38 MOV R2, R9 @ Rd = Op2 .text:00011C3C MOV R3, #1 @ Rd = Op2 .text:00011C40 STR R12, [SP,#0x43C+var_43C] @ Store to Memory .text:00011C44 BL rw_packet @ Branch with Link .text:00011C48 BL flush_buffer @ Branch with Link .text:00011C4C B loc_11BBC @ Branch .text:00011C50 @ --------------------------------------------------------------------------- .text:00011C50 .text:00011C50 loc_11C50: @ CODE XREF: read_and_send_pac+108j .text:00011C50 @ read_and_send_pac+2F8j .text:00011C50 MOV R1, #8 @ sign .text:00011C54 MOV R2, #1 @ nelm .text:00011C58 MOV R0, R7 @ buf .text:00011C5C MOV R3, R6 @ fp .text:00011C60 BL fread @ read 8 bytes from pac into buffer .text:00011C64 ADD R1, SP, #0x43C+var_424 @ Rd = Op1 + Op2 .text:00011C68 SUB R1, R1, #0xF @ Rd = Op1 - Op2 .text:00011C6C MOV R2, #7 @ Rd = Op2 .text:00011C70 .text:00011C70 loc_11C70: @ CODE XREF: read_and_send_pac+21Cj .text:00011C70 LDRB R3, [R1,#0xF] @ Load from Memory .text:00011C74 SUBS R2, R2, #1 @ Rd = Op1 - Op2 .text:00011C78 STRB R3, [R1],#1 @ Store to Memory .text:00011C7C BPL loc_11C70 @ Branch .text:00011C80 LDR R3, =dword_35F3C @ Load from Memory .text:00011C84 LDR R1, [R3] @ Load from Memory .text:00011C88 ADD R0, SP, #0x43C+var_2C @ Rd = Op1 + Op2 .text:00011C8C MOV R2, #0 @ Rd = Op2 .text:00011C90 MOV R3, #0xBF000000 @ Rd = Op2 .text:00011C94 ADD R0, R0, #8 @ Rd = Op1 + Op2 .text:00011C98 CMP R1, #0 @ Set cond. codes on Op1 - Op2 .text:00011C9C STRB R2, [R0,R3,ASR#20] @ Store to Memory .text:00011CA0 BEQ loc_11D74 @ Branch .text:00011CA4 MOV R1, R9 @ Rd = Op2 .text:00011CA8 MOV R0, #0xFE @ '¦' @ Rd = Op2 .text:00011CAC BL write_old_packet @ Branch with Link .text:00011CB0 .text:00011CB0 loc_11CB0: @ CODE XREF: read_and_send_pac+334j .text:00011CB0 LDR R3, =dword_35FA8 @ Load from Memory .text:00011CB4 LDR R0, [R3] @ Load from Memory .text:00011CB8 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00011CBC BNE loc_11D60 @ Branch .text:00011CC0 .text:00011CC0 loc_11CC0: @ CODE XREF: read_and_send_pac+310j .text:00011CC0 ADD R1, SP, #0x43C+var_2C @ Rd = Op1 + Op2 .text:00011CC4 MOVL R2, 0xFFFFFBEF .text:00011CC8 ADD R1, R1, #8 @ Rd = Op1 + Op2 .text:00011CCC LDRB R3, [R1,R2] @ Load from Memory .text:00011CD0 CMP R3, #0x44 @ 'D' @ Set cond. codes on Op1 - Op2 .text:00011CD4 ADDNE R0, SP, #0x43C+var_2C @ Rd = Op1 + Op2 .text:00011CD8 MOVEQ R3, #0x47 @ 'G' @ Rd = Op2 .text:00011CDC MOVNE R3, #0x44 @ 'D' @ Rd = Op2 .text:00011CE0 ADDNE R0, R0, #8 @ Rd = Op1 + Op2 .text:00011CE4 STREQB R3, [R1,R2] @ Store to Memory .text:00011CE8 STRNEB R3, [R0,R2] @ Store to Memory .text:00011CEC LDR R3, =debug_level @ Load from Memory .text:00011CF0 LDR R2, [R3] @ Load from Memory .text:00011CF4 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00011CF8 BLE loc_11D50 @ Branch .text:00011CFC MOV R0, #0 @ Rd = Op2 .text:00011D00 BL time @ Branch with Link .text:00011D04 LDR R2, =0x51EB851F @ Load from Memory .text:00011D08 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00011D0C MOV R3, R0,ASR#31 @ Rd = Op2 .text:00011D10 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00011D14 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00011D18 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00011D1C SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00011D20 BL call_gettimeofday @ Branch with Link .text:00011D24 MOV R1, R4 @ Rd = Op2 .text:00011D28 MOV R2, R0 @ Rd = Op2 .text:00011D2C LDR R3, =aRead_and_send_ @ Load from Memory .text:00011D30 LDR R0, =logfile_format @ Load from Memory .text:00011D34 BL printf @ Branch with Link .text:00011D38 LDR R0, =aDDWritten @ Load from Memory .text:00011D3C MOV R1, R5 @ Rd = Op2 .text:00011D40 MOV R2, R10 @ Rd = Op2 .text:00011D44 BL printf @ Branch with Link .text:00011D48 MOV R0, #0 @ Rd = Op2 .text:00011D4C BL sub_257B4 @ Branch with Link .text:00011D50 .text:00011D50 loc_11D50: @ CODE XREF: read_and_send_pac+298j .text:00011D50 ADD R5, R5, #8 @ Rd = Op1 + Op2 .text:00011D54 CMP R5, R10 @ Set cond. codes on Op1 - Op2 .text:00011D58 BLT loc_11C50 @ Branch .text:00011D5C B loc_11B6C @ Branch .text:00011D60 @ --------------------------------------------------------------------------- .text:00011D60 .text:00011D60 loc_11D60: @ CODE XREF: read_and_send_pac+25Cj .text:00011D60 ADD R1, SP, #0x43C+buf @ Rd = Op1 + Op2 .text:00011D64 SUB R1, R1, #1 @ buf .text:00011D68 MOV R2, #1 @ count .text:00011D6C BL __libc_write @ Branch with Link .text:00011D70 B loc_11CC0 @ Branch .text:00011D74 @ --------------------------------------------------------------------------- .text:00011D74 .text:00011D74 loc_11D74: @ CODE XREF: read_and_send_pac+240j .text:00011D74 LDR R3, =dword_45920 @ Load from Memory .text:00011D78 MOV R12, #0xA3 @ 'ú' @ Rd = Op2 .text:00011D7C LDR R0, [R3] @ Load from Memory .text:00011D80 MOV R2, R9 @ Rd = Op2 .text:00011D84 MOV R3, #1 @ Rd = Op2 .text:00011D88 STR R12, [SP,#0x43C+var_43C] @ Store to Memory .text:00011D8C BL rw_packet @ Branch with Link .text:00011D90 BL flush_buffer @ Branch with Link .text:00011D94 B loc_11CB0 @ Branch .text:00011D98 @ --------------------------------------------------------------------------- .text:00011D98 .text:00011D98 loc_11D98: @ CODE XREF: read_and_send_pac+E4j .text:00011D98 LDR R3, [R5] @ Load from Memory .text:00011D9C CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00011DA0 BLT loc_11C20 @ Branch .text:00011DA4 BL time @ Branch with Link .text:00011DA8 LDR R2, =0x51EB851F @ Load from Memory .text:00011DAC MOV R4, R0 @ Rd = Op2 .text:00011DB0 SMULL R0, R1, R2, R4 @ Signed Multiply long .text:00011DB4 MOV R3, R4,ASR#31 @ Rd = Op2 .text:00011DB8 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00011DBC ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00011DC0 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00011DC4 SUB R4, R4, R3,LSL#2 @ Rd = Op1 - Op2 .text:00011DC8 BL call_gettimeofday @ Branch with Link .text:00011DCC MOV R1, R4 @ Rd = Op2 .text:00011DD0 MOV R2, R0 @ Rd = Op2 .text:00011DD4 LDR R3, =aRead_and_send_ @ Load from Memory .text:00011DD8 LDR R0, =logfile_format @ Load from Memory .text:00011DDC BL printf @ Branch with Link .text:00011DE0 MOV R1, R11 @ Rd = Op2 .text:00011DE4 LDR R0, =aCouldnTOpenS @ Load from Memory .text:00011DE8 BL printf @ Branch with Link .text:00011DEC MOV R0, R6 @ Rd = Op2 .text:00011DF0 BL sub_257B4 @ Branch with Link .text:00011DF4 B loc_11C20 @ Branch .text:00011DF8 @ --------------------------------------------------------------------------- .text:00011DF8 .text:00011DF8 loc_11DF8: @ CODE XREF: read_and_send_pac+CCj .text:00011DF8 MOV R0, #0 @ Rd = Op2 .text:00011DFC BL time @ Branch with Link .text:00011E00 LDR R2, =0x51EB851F @ Load from Memory .text:00011E04 SMULL R6, R1, R2, R0 @ Signed Multiply long .text:00011E08 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00011E0C RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00011E10 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00011E14 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00011E18 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00011E1C BL call_gettimeofday @ Branch with Link .text:00011E20 MOV R1, R4 @ Rd = Op2 .text:00011E24 MOV R2, R0 @ Rd = Op2 .text:00011E28 LDR R3, =aRead_and_send_ @ Load from Memory .text:00011E2C LDR R0, =logfile_format @ Load from Memory .text:00011E30 BL printf @ Branch with Link .text:00011E34 LDR R0, =aSentFirmwareBa @ Load from Memory .text:00011E38 BL xdebug_out @ Branch with Link .text:00011E3C MOV R0, #0 @ Rd = Op2 .text:00011E40 BL sub_257B4 @ Branch with Link .text:00011E44 B loc_11B30 @ Branch .text:00011E48 @ --------------------------------------------------------------------------- .text:00011E48 .text:00011E48 loc_11E48: @ CODE XREF: read_and_send_pac+B0j .text:00011E48 LDR R3, =dword_45920 @ Load from Memory .text:00011E4C MOV R12, #0xA3 @ 'ú' @ Rd = Op2 .text:00011E50 LDR R0, [R3] @ Load from Memory .text:00011E54 MOV R1, R8 @ Rd = Op2 .text:00011E58 MOV R2, R9 @ Rd = Op2 .text:00011E5C MOV R3, #1 @ Rd = Op2 .text:00011E60 STR R12, [SP,#0x43C+var_43C] @ Store to Memory .text:00011E64 BL rw_packet @ Branch with Link .text:00011E68 BL flush_buffer @ Branch with Link .text:00011E6C B loc_11B20 @ Branch .text:00011E70 @ --------------------------------------------------------------------------- .text:00011E70 .text:00011E70 loc_11E70: @ CODE XREF: read_and_send_pac+44j .text:00011E70 MOVL R1, 0x1FF .text:00011E78 MOVL R0, 0xFFFFFFFF .text:00011E7C BL get_pn_board_ver @ Branch with Link .text:00011E80 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00011E84 LDRNE R3, =dword_45880 @ Load from Memory .text:00011E88 LDRNE R1, [R3] @ Load from Memory .text:00011E8C LDRNEB R2, [R1,#0x43] @ Load from Memory .text:00011E90 BICNE R2, R2, #1 @ Rd = Op1 & ~Op2 .text:00011E94 STRNEB R2, [R1,#0x43] @ Store to Memory .text:00011E98 B loc_11AA8 @ Branch .text:00011E98 @ End of function read_and_send_pac .text:00011E98 .text:00011E98 @ --------------------------------------------------------------------------- .text:00011E9C off_11E9C: .long dword_35F3C @ DATA XREF: read_and_send_pac+5Cr .text:00011E9C @ read_and_send_pac+140r ... .text:00011EA0 off_11EA0: .long debug_level @ DATA XREF: read_and_send_pac:loc_11B20r .text:00011EA0 @ read_and_send_pac:loc_11BBCr ... .text:00011EA4 @ char *off_11EA4 .text:00011EA4 off_11EA4: .long aR @ DATA XREF: read_and_send_pac:loc_11B30r .text:00011EA4 @ "r" .text:00011EA8 dword_11EA8: .long 0x51EB851F @ DATA XREF: read_and_send_pac+174r .text:00011EA8 @ read_and_send_pac+2A4r ... .text:00011EAC off_11EAC: .long aRead_and_send_ @ DATA XREF: read_and_send_pac+19Cr .text:00011EAC @ read_and_send_pac+2CCr ... .text:00011EAC @ "read_and_send_pac" .text:00011EB0 off_11EB0: .long logfile_format @ DATA XREF: read_and_send_pac+1A0r .text:00011EB0 @ read_and_send_pac+2D0r ... .text:00011EB0 @ "%02li.%02li:51d :%-10.10s: " .text:00011EB4 off_11EB4: .long aRead_and_sen_0 @ DATA XREF: read_and_send_pac+1A8r .text:00011EB4 @ "read_and_send_pac done" .text:00011EB8 off_11EB8: .long dword_45920 @ DATA XREF: read_and_send_pac:loc_11C2Cr .text:00011EB8 @ read_and_send_pac:loc_11D74r ... .text:00011EBC off_11EBC: .long dword_35FA8 @ DATA XREF: read_and_send_pac:loc_11CB0r .text:00011EC0 off_11EC0: .long aDDWritten @ DATA XREF: read_and_send_pac+2D8r .text:00011EC0 @ "%d/%d written\n" .text:00011EC4 off_11EC4: .long aCouldnTOpenS @ DATA XREF: read_and_send_pac+384r .text:00011EC4 @ "Couldn't open %s\n" .text:00011EC8 off_11EC8: .long aSentFirmwareBa @ DATA XREF: read_and_send_pac+3D4r .text:00011EC8 @ "sent firmware base address info" .text:00011ECC off_11ECC: .long dword_45880 @ DATA XREF: read_and_send_pac+424r .text:00011ED0 .text:00011ED0 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00011ED0 .text:00011ED0 .text:00011ED0 flush_buffer: @ CODE XREF: read_and_send_pac+1E8p .text:00011ED0 @ read_and_send_pac+330p ... .text:00011ED0 .text:00011ED0 var_B4 = -0xB4 .text:00011ED0 var_B0 = -0xB0 .text:00011ED0 var_AC = -0xAC .text:00011ED0 var_A4 = -0xA4 .text:00011ED0 var_24 = -0x24 .text:00011ED0 .text:00011ED0 STMFD SP!, {R4-R11,LR} @ Store Block to Memory .text:00011ED4 MOVL R3, 0xFFFFFFFF .text:00011ED8 SUB SP, SP, #0x90 @ Rd = Op1 - Op2 .text:00011EDC MOV R6, #0 @ Rd = Op2 .text:00011EE0 STR R3, [SP,#0xB4+var_B0] @ Store to Memory .text:00011EE4 MOV R11, #1 @ Rd = Op2 .text:00011EE8 ADD R5, SP, #0xB4+var_A4 @ Rd = Op1 + Op2 .text:00011EEC ADD R9, SP, #0xB4+var_AC @ Rd = Op1 + Op2 .text:00011EF0 MOV R8, R6 @ Rd = Op2 .text:00011EF4 .text:00011EF4 loc_11EF4: @ CODE XREF: flush_buffer+E4j .text:00011EF4 LDR R3, =dword_45920 @ Load from Memory .text:00011EF8 MOV R1, R8 @ Rd = Op2 .text:00011EFC LDR R0, [R3] @ Load from Memory .text:00011F00 MOV R2, R8 @ Rd = Op2 .text:00011F04 MOV R3, #2 @ Rd = Op2 .text:00011F08 STR R8, [SP,#0xB4+var_B4] @ Store to Memory .text:00011F0C BL rw_packet @ Branch with Link .text:00011F10 MOV R3, R8 @ Rd = Op2 .text:00011F14 .text:00011F14 loc_11F14: @ CODE XREF: flush_buffer+50j .text:00011F14 STR R6, [R5,R3,LSL#2] @ Store to Memory .text:00011F18 ADD R3, R3, #1 @ Rd = Op1 + Op2 .text:00011F1C CMP R3, #0x1F @ Set cond. codes on Op1 - Op2 .text:00011F20 BLS loc_11F14 @ Branch .text:00011F24 LDR R10, =dword_45920 @ Load from Memory .text:00011F28 LDR R2, [R10] @ Load from Memory .text:00011F2C ADD R1, SP, #0xB4+var_24 @ Rd = Op1 + Op2 .text:00011F30 MOV R3, R2,LSR#5 @ Rd = Op2 .text:00011F34 ADD R4, R1, R3,LSL#2 @ Rd = Op1 + Op2 .text:00011F38 LDR R3, =off_35F44 @ Load from Memory .text:00011F3C LDR R12, [R4,#-0x80] @ Load from Memory .text:00011F40 LDR LR, [R3] @ Load from Memory .text:00011F44 ADD R0, R2, #1 @ Rd = Op1 + Op2 .text:00011F48 MOV R3, #1 @ Rd = Op2 .text:00011F4C AND R2, R2, #0x1F @ Rd = Op1 & Op2 .text:00011F50 MOV R7, #0 @ Rd = Op2 .text:00011F54 ORR R12, R12, R3,LSL R2 @ Rd = Op2 | Op1 .text:00011F58 STR R12, [R4,#-0x80] @ Store to Memory .text:00011F5C MOV R1, R5 @ Rd = Op2 .text:00011F60 MOV R2, R7 @ Rd = Op2 .text:00011F64 MOV R3, R7 @ Rd = Op2 .text:00011F68 STR LR, [R9,#4] @ Store to Memory .text:00011F6C STR R7, [SP,#0xB4+var_AC] @ Store to Memory .text:00011F70 STR R9, [SP,#0xB4+var_B4] @ Store to Memory .text:00011F74 BL newselect @ Branch with Link .text:00011F78 CMP R0, R7 @ Set cond. codes on Op1 - Op2 .text:00011F7C BLE loc_1202C @ Branch .text:00011F80 MOV R3, R7 @ Rd = Op2 .text:00011F84 LDR R0, [R10] @ Load from Memory .text:00011F88 ADD R1, SP, #0xB4+var_B0 @ Rd = Op1 + Op2 .text:00011F8C MOV R2, R7 @ Rd = Op2 .text:00011F90 STR R7, [SP,#0xB4+var_B4] @ Store to Memory .text:00011F94 BL rw_packet @ Branch with Link .text:00011F98 LDR R3, [SP,#0xB4+var_B0] @ Load from Memory .text:00011F9C CMP R3, #0xCE @ '+' @ Set cond. codes on Op1 - Op2 .text:00011FA0 MOVEQ R11, R7 @ Rd = Op2 .text:00011FA4 BEQ loc_11FB0 @ Branch .text:00011FA8 CMN R3, #1 @ Set cond. codes on Op1 + Op2 .text:00011FAC BNE loc_11FC4 @ Branch .text:00011FB0 .text:00011FB0 loc_11FB0: @ CODE XREF: flush_buffer+D4j .text:00011FB0 @ flush_buffer+168j ... .text:00011FB0 CMP R11, #0 @ Set cond. codes on Op1 - Op2 .text:00011FB4 BNE loc_11EF4 @ Branch .text:00011FB8 MOV R0, #1 @ Rd = Op2 .text:00011FBC .text:00011FBC loc_11FBC: @ CODE XREF: flush_buffer+158j .text:00011FBC ADD SP, SP, #0x90 @ Rd = Op1 + Op2 .text:00011FC0 LDMFD SP!, {R4-R11,PC} @ Load Block from Memory .text:00011FC4 @ --------------------------------------------------------------------------- .text:00011FC4 .text:00011FC4 loc_11FC4: @ CODE XREF: flush_buffer+DCj .text:00011FC4 LDR R3, =debug_level @ Load from Memory .text:00011FC8 LDR R2, [R3] @ Load from Memory .text:00011FCC CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00011FD0 BLT loc_12024 @ Branch .text:00011FD4 MOV R0, R7 @ Rd = Op2 .text:00011FD8 BL time @ Branch with Link .text:00011FDC LDR R2, =0x51EB851F @ Load from Memory .text:00011FE0 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00011FE4 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00011FE8 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00011FEC ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00011FF0 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00011FF4 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00011FF8 BL call_gettimeofday @ Branch with Link .text:00011FFC MOV R1, R4 @ Rd = Op2 .text:00012000 MOV R2, R0 @ Rd = Op2 .text:00012004 LDR R3, =aFlush_buffer @ Load from Memory .text:00012008 LDR R0, =logfile_format @ Load from Memory .text:0001200C BL printf @ Branch with Link .text:00012010 LDR R0, =aVeryBadPacket0 @ Load from Memory .text:00012014 LDR R1, [SP,#0xB4+var_B0] @ Load from Memory .text:00012018 BL printf @ Branch with Link .text:0001201C MOV R0, R7 @ Rd = Op2 .text:00012020 BL sub_257B4 @ Branch with Link .text:00012024 .text:00012024 loc_12024: @ CODE XREF: flush_buffer+100j .text:00012024 MOV R0, R7 @ Rd = Op2 .text:00012028 B loc_11FBC @ Branch .text:0001202C @ --------------------------------------------------------------------------- .text:0001202C .text:0001202C loc_1202C: @ CODE XREF: flush_buffer+ACj .text:0001202C LDR R3, =debug_level @ Load from Memory .text:00012030 LDR R2, [R3] @ Load from Memory .text:00012034 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00012038 BLE loc_11FB0 @ Branch .text:0001203C MOV R0, R7 @ Rd = Op2 .text:00012040 BL time @ Branch with Link .text:00012044 LDR R2, =0x51EB851F @ Load from Memory .text:00012048 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0001204C MOV R3, R0,ASR#31 @ Rd = Op2 .text:00012050 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00012054 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00012058 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0001205C SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00012060 BL call_gettimeofday @ Branch with Link .text:00012064 MOV R1, R4 @ Rd = Op2 .text:00012068 MOV R2, R0 @ Rd = Op2 .text:0001206C LDR R3, =aFlush_buffer @ Load from Memory .text:00012070 LDR R0, =logfile_format @ Load from Memory .text:00012074 BL printf @ Branch with Link .text:00012078 LDR R0, =aTimeoutInWaiti @ Load from Memory .text:0001207C BL xdebug_out @ Branch with Link .text:00012080 MOV R0, R7 @ Rd = Op2 .text:00012084 BL sub_257B4 @ Branch with Link .text:00012088 B loc_11FB0 @ Branch .text:00012088 @ End of function flush_buffer .text:00012088 .text:00012088 @ --------------------------------------------------------------------------- .text:0001208C off_1208C: .long dword_45920 @ DATA XREF: flush_buffer:loc_11EF4r .text:0001208C @ flush_buffer+54r .text:00012090 off_12090: .long off_35F44 @ DATA XREF: flush_buffer+68r .text:00012094 off_12094: .long debug_level @ DATA XREF: flush_buffer:loc_11FC4r .text:00012094 @ flush_buffer:loc_1202Cr .text:00012098 dword_12098: .long 0x51EB851F @ DATA XREF: flush_buffer+10Cr .text:00012098 @ flush_buffer+174r .text:0001209C off_1209C: .long aFlush_buffer @ DATA XREF: flush_buffer+134r .text:0001209C @ flush_buffer+19Cr .text:0001209C @ "flush_buffer" .text:000120A0 off_120A0: .long logfile_format @ DATA XREF: flush_buffer+138r .text:000120A0 @ flush_buffer+1A0r .text:000120A0 @ "%02li.%02li:51d :%-10.10s: " .text:000120A4 off_120A4: .long aVeryBadPacket0 @ DATA XREF: flush_buffer+140r .text:000120A4 @ "VERY BAD, packet %02d will be dropped\n" .text:000120A8 off_120A8: .long aTimeoutInWaiti @ DATA XREF: flush_buffer+1A8r .text:000120A8 @ "Timeout in waiting for xACK" .text:000120AC .text:000120AC @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:000120AC .text:000120AC .text:000120AC write_old_packet: @ CODE XREF: processpack+4028p .text:000120AC @ read_and_send_pac+BCp ... .text:000120AC .text:000120AC var_B8 = -0xB8 .text:000120AC var_B4 = -0xB4 .text:000120AC var_B0 = -0xB0 .text:000120AC var_AC = -0xAC .text:000120AC var_A5 = -0xA5 .text:000120AC var_24 = -0x24 .text:000120AC .text:000120AC STMFD SP!, {R4-R11,LR} @ Store Block to Memory .text:000120B0 LDR R5, =debug_level @ Load from Memory .text:000120B4 LDR R3, [R5] @ Load from Memory .text:000120B8 SUB SP, SP, #0x94 @ Rd = Op1 - Op2 .text:000120BC CMP R3, #3 @ Set cond. codes on Op1 - Op2 .text:000120C0 MOV R11, R0 @ Rd = Op2 .text:000120C4 STR R1, [SP,#0xB8+var_B4] @ Store to Memory .text:000120C8 MOV R7, #0 @ Rd = Op2 .text:000120CC BGT loc_125A0 @ Branch .text:000120D0 .text:000120D0 loc_120D0: @ CODE XREF: write_old_packet+540j .text:000120D0 LDR R3, =dword_45920 @ Load from Memory .text:000120D4 ADD R9, SP, #0xB8+var_A5 @ Rd = Op1 + Op2 .text:000120D8 LDR R0, [R3] @ fd .text:000120DC MOV R1, R9 @ buf .text:000120E0 MOV R2, #1 @ count .text:000120E4 STRB R11, [SP,#0xB8+var_A5] @ Store to Memory .text:000120E8 BL __libc_write @ Branch with Link .text:000120EC LDR R3, [R5] @ Load from Memory .text:000120F0 CMP R3, #1 @ Set cond. codes on Op1 - Op2 .text:000120F4 BGT loc_12548 @ Branch .text:000120F8 .text:000120F8 loc_120F8: @ CODE XREF: write_old_packet+4F0j .text:000120F8 ADD R6, SP, #0xB8+var_A5+1 @ Rd = Op1 + Op2 .text:000120FC MOV R3, R7 @ Rd = Op2 .text:00012100 MOV R2, R7 @ Rd = Op2 .text:00012104 .text:00012104 loc_12104: @ CODE XREF: write_old_packet+64j .text:00012104 STR R2, [R6,R3,LSL#2] @ Store to Memory .text:00012108 ADD R3, R3, #1 @ Rd = Op1 + Op2 .text:0001210C CMP R3, #0x1F @ Set cond. codes on Op1 - Op2 .text:00012110 BLS loc_12104 @ Branch .text:00012114 LDR R5, =dword_45920 @ Load from Memory .text:00012118 LDR R1, [R5] @ Load from Memory .text:0001211C ADD R2, SP, #0xB8+var_24 @ Rd = Op1 + Op2 .text:00012120 MOV R3, R1,LSR#5 @ Rd = Op2 .text:00012124 ADD R4, R2, R3,LSL#2 @ Rd = Op1 + Op2 .text:00012128 LDR R3, =off_35F40 @ Load from Memory .text:0001212C LDR R0, [R4,#-0x80] @ Load from Memory .text:00012130 LDR R12, [R3] @ Load from Memory .text:00012134 AND R1, R1, #0x1F @ Rd = Op1 & Op2 .text:00012138 MOV R2, #1 @ Rd = Op2 .text:0001213C ORR R0, R0, R2,LSL R1 @ Rd = Op2 | Op1 .text:00012140 MOV R3, #0 @ Rd = Op2 .text:00012144 MOV R10, R5 @ Rd = Op2 .text:00012148 ADD R8, SP, #0xB8+var_B0 @ Rd = Op1 + Op2 .text:0001214C STR R0, [R4,#-0x80] @ Store to Memory .text:00012150 STR R3, [SP,#0xB8+var_B0] @ Store to Memory .text:00012154 STR R12, [SP,#0xB8+var_AC] @ Store to Memory .text:00012158 .text:00012158 loc_12158: @ CODE XREF: write_old_packet+15Cj .text:00012158 LDR R0, [R10] @ Load from Memory .text:0001215C MOV R2, #0 @ Rd = Op2 .text:00012160 ADD R0, R0, #1 @ Rd = Op1 + Op2 .text:00012164 MOV R1, R6 @ Rd = Op2 .text:00012168 MOV R3, R2 @ Rd = Op2 .text:0001216C STR R8, [SP,#0xB8+var_B8] @ Store to Memory .text:00012170 BL newselect @ Branch with Link .text:00012174 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00012178 BGT loc_1231C @ Branch .text:0001217C CMP R7, #5 @ Set cond. codes on Op1 - Op2 .text:00012180 ADD R7, R7, #1 @ Rd = Op1 + Op2 .text:00012184 BGT loc_122B4 @ Branch .text:00012188 LDR R5, =debug_level @ Load from Memory .text:0001218C LDR R3, [R5] @ Load from Memory .text:00012190 CMP R3, #3 @ Set cond. codes on Op1 - Op2 .text:00012194 BGT loc_12264 @ Branch .text:00012198 .text:00012198 loc_12198: @ CODE XREF: write_old_packet+204j .text:00012198 LDR R0, [R10] @ fd .text:0001219C MOV R1, R9 @ buf .text:000121A0 MOV R2, #1 @ count .text:000121A4 BL __libc_write @ Branch with Link .text:000121A8 LDR R3, [R5] @ Load from Memory .text:000121AC CMP R3, #3 @ Set cond. codes on Op1 - Op2 .text:000121B0 BGT loc_1220C @ Branch .text:000121B4 .text:000121B4 loc_121B4: @ CODE XREF: write_old_packet+1B4j .text:000121B4 MOV R3, #0 @ Rd = Op2 .text:000121B8 MOV R2, R3 @ Rd = Op2 .text:000121BC .text:000121BC loc_121BC: @ CODE XREF: write_old_packet+11Cj .text:000121BC STR R2, [R6,R3,LSL#2] @ Store to Memory .text:000121C0 ADD R3, R3, #1 @ Rd = Op1 + Op2 .text:000121C4 CMP R3, #0x1F @ Set cond. codes on Op1 - Op2 .text:000121C8 BLS loc_121BC @ Branch .text:000121CC LDR R3, =dword_45920 @ Load from Memory .text:000121D0 LDR R0, [R3] @ Load from Memory .text:000121D4 ADD R3, SP, #0xB8+var_24 @ Rd = Op1 + Op2 .text:000121D8 MOV R2, R0,LSR#5 @ Rd = Op2 .text:000121DC ADD R4, R3, R2,LSL#2 @ Rd = Op1 + Op2 .text:000121E0 LDR R3, =off_35F40 @ Load from Memory .text:000121E4 LDR R1, [R4,#-0x80] @ Load from Memory .text:000121E8 LDR R12, [R3] @ Load from Memory .text:000121EC AND R0, R0, #0x1F @ Rd = Op1 & Op2 .text:000121F0 MOV R2, #1 @ Rd = Op2 .text:000121F4 ORR R1, R1, R2,LSL R0 @ Rd = Op2 | Op1 .text:000121F8 MOV R3, #0 @ Rd = Op2 .text:000121FC STR R1, [R4,#-0x80] @ Store to Memory .text:00012200 STR R3, [SP,#0xB8+var_B0] @ Store to Memory .text:00012204 STR R12, [R8,#4] @ Store to Memory .text:00012208 B loc_12158 @ Branch .text:0001220C @ --------------------------------------------------------------------------- .text:0001220C .text:0001220C loc_1220C: @ CODE XREF: write_old_packet+104j .text:0001220C MOV R0, #0 @ Rd = Op2 .text:00012210 BL time @ Branch with Link .text:00012214 LDR R2, =0x51EB851F @ Load from Memory .text:00012218 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0001221C MOV R3, R0,ASR#31 @ Rd = Op2 .text:00012220 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00012224 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00012228 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0001222C SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00012230 BL call_gettimeofday @ Branch with Link .text:00012234 MOV R1, R4 @ Rd = Op2 .text:00012238 MOV R2, R0 @ Rd = Op2 .text:0001223C LDR R3, =aWrite_old_pack @ Load from Memory .text:00012240 LDR R0, =logfile_format @ Load from Memory .text:00012244 BL printf @ Branch with Link .text:00012248 LDRB R1, [SP,#0xB8+var_A5] @ Load from Memory .text:0001224C LDR R0, =a02xI @ Load from Memory .text:00012250 MOV R2, R1 @ Rd = Op2 .text:00012254 BL printf @ Branch with Link .text:00012258 MOV R0, #0 @ Rd = Op2 .text:0001225C BL sub_257B4 @ Branch with Link .text:00012260 B loc_121B4 @ Branch .text:00012264 @ --------------------------------------------------------------------------- .text:00012264 .text:00012264 loc_12264: @ CODE XREF: write_old_packet+E8j .text:00012264 MOV R0, #0 @ Rd = Op2 .text:00012268 BL time @ Branch with Link .text:0001226C LDR R2, =0x51EB851F @ Load from Memory .text:00012270 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00012274 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00012278 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0001227C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00012280 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00012284 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00012288 BL call_gettimeofday @ Branch with Link .text:0001228C MOV R1, R4 @ Rd = Op2 .text:00012290 MOV R2, R0 @ Rd = Op2 .text:00012294 LDR R3, =aWrite_old_pack @ Load from Memory .text:00012298 LDR R0, =logfile_format @ Load from Memory .text:0001229C BL printf @ Branch with Link .text:000122A0 LDR R0, =aTimeoutResendi @ Load from Memory .text:000122A4 BL xdebug_out @ Branch with Link .text:000122A8 MOV R0, #0 @ Rd = Op2 .text:000122AC BL sub_257B4 @ Branch with Link .text:000122B0 B loc_12198 @ Branch .text:000122B4 @ --------------------------------------------------------------------------- .text:000122B4 .text:000122B4 loc_122B4: @ CODE XREF: write_old_packet+D8j .text:000122B4 LDR R3, =debug_level @ Load from Memory .text:000122B8 LDR R2, [R3] @ Load from Memory .text:000122BC CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:000122C0 BLE loc_12310 @ Branch .text:000122C4 MOV R0, #0 @ Rd = Op2 .text:000122C8 BL time @ Branch with Link .text:000122CC LDR R2, =0x51EB851F @ Load from Memory .text:000122D0 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:000122D4 MOV R3, R0,ASR#31 @ Rd = Op2 .text:000122D8 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:000122DC ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:000122E0 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:000122E4 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:000122E8 BL call_gettimeofday @ Branch with Link .text:000122EC MOV R1, R4 @ Rd = Op2 .text:000122F0 MOV R2, R0 @ Rd = Op2 .text:000122F4 LDR R3, =aWrite_old_pack @ Load from Memory .text:000122F8 LDR R0, =logfile_format @ Load from Memory .text:000122FC BL printf @ Branch with Link .text:00012300 LDR R0, =aGaveUp @ Load from Memory .text:00012304 BL xdebug_out @ Branch with Link .text:00012308 MOV R0, #0 @ Rd = Op2 .text:0001230C BL sub_257B4 @ Branch with Link .text:00012310 .text:00012310 loc_12310: @ CODE XREF: write_old_packet+214j .text:00012310 MOV R0, #0 @ Rd = Op2 .text:00012314 .text:00012314 loc_12314: @ CODE XREF: write_old_packet+328j .text:00012314 ADD SP, SP, #0x94 @ Rd = Op1 + Op2 .text:00012318 LDMFD SP!, {R4-R11,PC} @ Load Block from Memory .text:0001231C @ --------------------------------------------------------------------------- .text:0001231C .text:0001231C loc_1231C: @ CODE XREF: write_old_packet+CCj .text:0001231C LDR R7, =dword_45920 @ Load from Memory .text:00012320 LDR R10, =debug_level @ Load from Memory .text:00012324 LDR R0, [R7] @ fd .text:00012328 MOV R1, R9 @ buf .text:0001232C MOV R2, #1 @ count .text:00012330 BL __libc_read @ Branch with Link .text:00012334 LDR R3, [R10] @ Load from Memory .text:00012338 CMP R3, #3 @ Set cond. codes on Op1 - Op2 .text:0001233C BGT loc_124F0 @ Branch .text:00012340 .text:00012340 loc_12340: @ CODE XREF: write_old_packet+498j .text:00012340 MOV R0, R11 @ Rd = Op2 .text:00012344 BL hdr_isvalid @ Branch with Link .text:00012348 CMP R11, #0xFE @ '¦' @ Set cond. codes on Op1 - Op2 .text:0001234C MOV R6, R0 @ Rd = Op2 .text:00012350 BEQ loc_124D0 @ Branch .text:00012354 .text:00012354 loc_12354: @ CODE XREF: write_old_packet+440j .text:00012354 MOV R5, #0 @ Rd = Op2 .text:00012358 CMP R5, R6 @ Set cond. codes on Op1 - Op2 .text:0001235C BGE loc_123C0 @ Branch .text:00012360 MOV R8, R7 @ Rd = Op2 .text:00012364 MOV R7, R10 @ Rd = Op2 .text:00012368 .text:00012368 loc_12368: @ CODE XREF: write_old_packet+310j .text:00012368 LDR R2, [SP,#0xB8+var_B4] @ Load from Memory .text:0001236C LDRB R3, [R2,R5] @ Load from Memory .text:00012370 LDR R0, [R8] @ fd .text:00012374 MOV R1, R9 @ buf .text:00012378 MOV R2, #1 @ count .text:0001237C STRB R3, [SP,#0xB8+var_A5] @ Store to Memory .text:00012380 BL __libc_write @ Branch with Link .text:00012384 LDR R3, [R7] @ Load from Memory .text:00012388 CMP R3, #3 @ Set cond. codes on Op1 - Op2 .text:0001238C MOV R0, #0 @ Rd = Op2 .text:00012390 ADD R5, R5, #1 @ Rd = Op1 + Op2 .text:00012394 BGT loc_1247C @ Branch .text:00012398 .text:00012398 loc_12398: @ CODE XREF: write_old_packet+420j .text:00012398 LDR R0, [R8] @ fd .text:0001239C MOV R1, R9 @ buf .text:000123A0 MOV R2, #1 @ count .text:000123A4 BL __libc_read @ Branch with Link .text:000123A8 LDR R3, [R7] @ Load from Memory .text:000123AC CMP R3, #3 @ Set cond. codes on Op1 - Op2 .text:000123B0 MOV R0, #0 @ Rd = Op2 .text:000123B4 BGT loc_12428 @ Branch .text:000123B8 .text:000123B8 loc_123B8: @ CODE XREF: write_old_packet+3CCj .text:000123B8 CMP R5, R6 @ Set cond. codes on Op1 - Op2 .text:000123BC BLT loc_12368 @ Branch .text:000123C0 .text:000123C0 loc_123C0: @ CODE XREF: write_old_packet+2B0j .text:000123C0 LDR R3, =debug_level @ Load from Memory .text:000123C4 LDR R2, [R3] @ Load from Memory .text:000123C8 CMP R2, #3 @ Set cond. codes on Op1 - Op2 .text:000123CC BGT loc_123D8 @ Branch .text:000123D0 .text:000123D0 loc_123D0: @ CODE XREF: write_old_packet+378j .text:000123D0 MOV R0, #1 @ Rd = Op2 .text:000123D4 B loc_12314 @ Branch .text:000123D8 @ --------------------------------------------------------------------------- .text:000123D8 .text:000123D8 loc_123D8: @ CODE XREF: write_old_packet+320j .text:000123D8 MOV R0, #0 @ Rd = Op2 .text:000123DC BL time @ Branch with Link .text:000123E0 LDR R2, =0x51EB851F @ Load from Memory .text:000123E4 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:000123E8 MOV R3, R0,ASR#31 @ Rd = Op2 .text:000123EC RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:000123F0 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:000123F4 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:000123F8 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:000123FC BL call_gettimeofday @ Branch with Link .text:00012400 MOV R1, R4 @ Rd = Op2 .text:00012404 MOV R2, R0 @ Rd = Op2 .text:00012408 LDR R3, =aWrite_old_pack @ Load from Memory .text:0001240C LDR R0, =logfile_format @ Load from Memory .text:00012410 BL printf @ Branch with Link .text:00012414 LDR R0, =aDoneWritingLeg @ Load from Memory .text:00012418 BL xdebug_out @ Branch with Link .text:0001241C MOV R0, #0 @ Rd = Op2 .text:00012420 BL sub_257B4 @ Branch with Link .text:00012424 B loc_123D0 @ Branch .text:00012428 @ --------------------------------------------------------------------------- .text:00012428 .text:00012428 loc_12428: @ CODE XREF: write_old_packet+308j .text:00012428 BL time @ Branch with Link .text:0001242C LDR R2, =0x51EB851F @ Load from Memory .text:00012430 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00012434 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00012438 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0001243C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00012440 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00012444 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00012448 BL call_gettimeofday @ Branch with Link .text:0001244C MOV R1, R4 @ Rd = Op2 .text:00012450 MOV R2, R0 @ Rd = Op2 .text:00012454 LDR R3, =aWrite_old_pack @ Load from Memory .text:00012458 LDR R0, =logfile_format @ Load from Memory .text:0001245C BL printf @ Branch with Link .text:00012460 LDRB R1, [SP,#0xB8+var_A5] @ Load from Memory .text:00012464 LDR R0, =a02xI_0 @ Load from Memory .text:00012468 MOV R2, R1 @ Rd = Op2 .text:0001246C BL printf @ Branch with Link .text:00012470 MOV R0, #0 @ Rd = Op2 .text:00012474 BL sub_257B4 @ Branch with Link .text:00012478 B loc_123B8 @ Branch .text:0001247C @ --------------------------------------------------------------------------- .text:0001247C .text:0001247C loc_1247C: @ CODE XREF: write_old_packet+2E8j .text:0001247C BL time @ Branch with Link .text:00012480 LDR R2, =0x51EB851F @ Load from Memory .text:00012484 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00012488 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0001248C RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00012490 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00012494 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00012498 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0001249C BL call_gettimeofday @ Branch with Link .text:000124A0 MOV R1, R4 @ Rd = Op2 .text:000124A4 MOV R2, R0 @ Rd = Op2 .text:000124A8 LDR R3, =aWrite_old_pack @ Load from Memory .text:000124AC LDR R0, =logfile_format @ Load from Memory .text:000124B0 BL printf @ Branch with Link .text:000124B4 LDRB R1, [SP,#0xB8+var_A5] @ Load from Memory .text:000124B8 LDR R0, =a02xI @ Load from Memory .text:000124BC MOV R2, R1 @ Rd = Op2 .text:000124C0 BL printf @ Branch with Link .text:000124C4 MOV R0, #0 @ Rd = Op2 .text:000124C8 BL sub_257B4 @ Branch with Link .text:000124CC B loc_12398 @ Branch .text:000124D0 @ --------------------------------------------------------------------------- .text:000124D0 .text:000124D0 loc_124D0: @ CODE XREF: write_old_packet+2A4j .text:000124D0 LDR R2, [SP,#0xB8+var_B4] @ Load from Memory .text:000124D4 LDRB R3, [R2] @ Load from Memory .text:000124D8 CMP R3, #2 @ Set cond. codes on Op1 - Op2 .text:000124DC MOVNE R6, #9 @ Rd = Op2 .text:000124E0 MOVEQ R6, #3 @ Rd = Op2 .text:000124E4 CMP R3, #1 @ Set cond. codes on Op1 - Op2 .text:000124E8 MOVEQ R6, #1 @ Rd = Op2 .text:000124EC B loc_12354 @ Branch .text:000124F0 @ --------------------------------------------------------------------------- .text:000124F0 .text:000124F0 loc_124F0: @ CODE XREF: write_old_packet+290j .text:000124F0 MOV R0, #0 @ Rd = Op2 .text:000124F4 BL time @ Branch with Link .text:000124F8 LDR R2, =0x51EB851F @ Load from Memory .text:000124FC SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00012500 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00012504 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00012508 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0001250C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00012510 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00012514 BL call_gettimeofday @ Branch with Link .text:00012518 MOV R1, R4 @ Rd = Op2 .text:0001251C MOV R2, R0 @ Rd = Op2 .text:00012520 LDR R3, =aWrite_old_pack @ Load from Memory .text:00012524 LDR R0, =logfile_format @ Load from Memory .text:00012528 BL printf @ Branch with Link .text:0001252C LDRB R1, [SP,#0xB8+var_A5] @ Load from Memory .text:00012530 LDR R0, =a02xI_0 @ Load from Memory .text:00012534 MOV R2, R1 @ Rd = Op2 .text:00012538 BL printf @ Branch with Link .text:0001253C MOV R0, #0 @ Rd = Op2 .text:00012540 BL sub_257B4 @ Branch with Link .text:00012544 B loc_12340 @ Branch .text:00012548 @ --------------------------------------------------------------------------- .text:00012548 .text:00012548 loc_12548: @ CODE XREF: write_old_packet+48j .text:00012548 MOV R0, R7 @ Rd = Op2 .text:0001254C BL time @ Branch with Link .text:00012550 LDR R2, =0x51EB851F @ Load from Memory .text:00012554 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00012558 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0001255C RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00012560 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00012564 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00012568 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0001256C BL call_gettimeofday @ Branch with Link .text:00012570 MOV R1, R4 @ Rd = Op2 .text:00012574 MOV R2, R0 @ Rd = Op2 .text:00012578 LDR R3, =aWrite_old_pack @ Load from Memory .text:0001257C LDR R0, =logfile_format @ Load from Memory .text:00012580 BL printf @ Branch with Link .text:00012584 LDRB R1, [SP,#0xB8+var_A5] @ Load from Memory .text:00012588 LDR R0, =a02xI @ Load from Memory .text:0001258C MOV R2, R1 @ Rd = Op2 .text:00012590 BL printf @ Branch with Link .text:00012594 MOV R0, R7 @ Rd = Op2 .text:00012598 BL sub_257B4 @ Branch with Link .text:0001259C B loc_120F8 @ Branch .text:000125A0 @ --------------------------------------------------------------------------- .text:000125A0 .text:000125A0 loc_125A0: @ CODE XREF: write_old_packet+20j .text:000125A0 MOV R0, R7 @ Rd = Op2 .text:000125A4 BL time @ Branch with Link .text:000125A8 LDR R2, =0x51EB851F @ Load from Memory .text:000125AC SMULL R3, R1, R2, R0 @ Signed Multiply long .text:000125B0 MOV R3, R0,ASR#31 @ Rd = Op2 .text:000125B4 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:000125B8 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:000125BC ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:000125C0 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:000125C4 BL call_gettimeofday @ Branch with Link .text:000125C8 MOV R1, R4 @ Rd = Op2 .text:000125CC MOV R2, R0 @ Rd = Op2 .text:000125D0 LDR R3, =aWrite_old_pack @ Load from Memory .text:000125D4 LDR R0, =logfile_format @ Load from Memory .text:000125D8 BL printf @ Branch with Link .text:000125DC LDR R0, =aBeginWritingLe @ Load from Memory .text:000125E0 BL xdebug_out @ Branch with Link .text:000125E4 MOV R0, R7 @ Rd = Op2 .text:000125E8 BL sub_257B4 @ Branch with Link .text:000125EC B loc_120D0 @ Branch .text:000125EC @ End of function write_old_packet .text:000125EC .text:000125EC @ --------------------------------------------------------------------------- .text:000125F0 off_125F0: .long debug_level @ DATA XREF: write_old_packet+4r .text:000125F0 @ write_old_packet+DCr ... .text:000125F4 off_125F4: .long dword_45920 @ DATA XREF: write_old_packet:loc_120D0r .text:000125F4 @ write_old_packet+68r ... .text:000125F8 off_125F8: .long off_35F40 @ DATA XREF: write_old_packet+7Cr .text:000125F8 @ write_old_packet+134r .text:000125FC dword_125FC: .long 0x51EB851F @ DATA XREF: write_old_packet+168r .text:000125FC @ write_old_packet+1C0r ... .text:00012600 off_12600: .long aWrite_old_pack @ DATA XREF: write_old_packet+190r .text:00012600 @ write_old_packet+1E8r ... .text:00012600 @ "write_old_packet" .text:00012604 off_12604: .long logfile_format @ DATA XREF: write_old_packet+194r .text:00012604 @ write_old_packet+1ECr ... .text:00012604 @ "%02li.%02li:51d :%-10.10s: " .text:00012608 off_12608: .long a02xI @ DATA XREF: write_old_packet+1A0r .text:00012608 @ write_old_packet+40Cr ... .text:00012608 @ "\t\t %02x (%i) ------------>\n" .text:0001260C off_1260C: .long aTimeoutResendi @ DATA XREF: write_old_packet+1F4r .text:0001260C @ "Timeout, resending..." .text:00012610 off_12610: .long aGaveUp @ DATA XREF: write_old_packet+254r .text:00012610 @ "Gave Up!" .text:00012614 off_12614: .long aDoneWritingLeg @ DATA XREF: write_old_packet+368r .text:00012614 @ "============= Done writing legacy packe"... .text:00012618 off_12618: .long a02xI_0 @ DATA XREF: write_old_packet+3B8r .text:00012618 @ write_old_packet+484r .text:00012618 @ "\t\t\t\t <============ %02x (%i)\n" .text:0001261C off_1261C: .long aBeginWritingLe @ DATA XREF: write_old_packet+530r .text:0001261C @ "============= Begin writing legacy pack"... .text:00012620 .text:00012620 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00012620 .text:00012620 .text:00012620 sub_12620: @ CODE XREF: rw_packet+724p .text:00012620 SUB R0, R0, #0xE0 @ Rd = Op1 - Op2 .text:00012624 MOV R3, #1 @ Rd = Op2 .text:00012628 CMP R0, #0x1C @ Set cond. codes on Op1 - Op2 .text:0001262C LDRLS PC, [PC,R0,LSL#2] @ Indirect Jump .text:00012630 B loc_126A8 @ Branch .text:00012630 @ --------------------------------------------------------------------------- .text:00012634 .long loc_126AC .text:00012638 .long loc_126AC .text:0001263C .long loc_126A8 .text:00012640 .long loc_126A8 .text:00012644 .long loc_126A8 .text:00012648 .long loc_126A8 .text:0001264C .long loc_126A8 .text:00012650 .long loc_126A8 .text:00012654 .long loc_126A8 .text:00012658 .long loc_126A8 .text:0001265C .long loc_126A8 .text:00012660 .long loc_126A8 .text:00012664 .long loc_126A8 .text:00012668 .long loc_126A8 .text:0001266C .long loc_126A8 .text:00012670 .long loc_126A8 .text:00012674 .long loc_126A8 .text:00012678 .long loc_126A8 .text:0001267C .long loc_126A8 .text:00012680 .long loc_126AC .text:00012684 .long loc_126A8 .text:00012688 .long loc_126AC .text:0001268C .long loc_126A8 .text:00012690 .long loc_126A8 .text:00012694 .long loc_126A8 .text:00012698 .long loc_126A8 .text:0001269C .long loc_126A8 .text:000126A0 .long loc_126AC .text:000126A4 .long loc_126AC .text:000126A8 @ --------------------------------------------------------------------------- .text:000126A8 .text:000126A8 loc_126A8: @ CODE XREF: sub_12620+Cj .text:000126A8 @ sub_12620+10j .text:000126A8 @ DATA XREF: ... .text:000126A8 MOV R3, #0 @ Rd = Op2 .text:000126AC .text:000126AC loc_126AC: @ CODE XREF: sub_12620+Cj .text:000126AC @ DATA XREF: sub_12620+14o ... .text:000126AC MOV R0, R3 @ Rd = Op2 .text:000126B0 RET @ Return from Subroutine .text:000126B0 @ End of function sub_12620 .text:000126B0 .text:000126B4 .text:000126B4 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:000126B4 .text:000126B4 .text:000126B4 feature_numitems: @ CODE XREF: processpack+3200p .text:000126B4 @ menu_action+1FCp ... .text:000126B4 .text:000126B4 var_414 = -0x414 .text:000126B4 .text:000126B4 STMFD SP!, {R4-R7,LR} @ Store Block to Memory .text:000126B8 SUB SP, SP, #0x800 @ Rd = Op1 - Op2 .text:000126BC ADD R5, SP, #0x814+var_414 @ Rd = Op1 + Op2 .text:000126C0 MOV R3, R0 @ Rd = Op2 .text:000126C4 LDR R2, =aMenu_I_numitem @ Load from Memory .text:000126C8 MOV R1, #0x400 @ Rd = Op2 .text:000126CC MOV R0, R5 @ Rd = Op2 .text:000126D0 BL sub_26838 @ Branch with Link .text:000126D4 LDR R3, =dword_35F84 @ Load from Memory .text:000126D8 LDR R0, =aDosPhatbox_ini @ Load from Memory .text:000126DC LDR R1, [R3] @ Load from Memory .text:000126E0 MOV R2, R5 @ Rd = Op2 .text:000126E4 MOV R3, SP @ Rd = Op2 .text:000126E8 BL xread_ini @ Branch with Link .text:000126EC CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000126F0 MOV R7, SP @ Rd = Op2 .text:000126F4 MOV R6, R0 @ Rd = Op2 .text:000126F8 BNE loc_1276C @ Branch .text:000126FC LDR R3, =debug_level @ Load from Memory .text:00012700 LDR R2, [R3] @ Load from Memory .text:00012704 CMP R2, #2 @ Set cond. codes on Op1 - Op2 .text:00012708 BGT loc_1271C @ Branch .text:0001270C .text:0001270C loc_1270C: @ CODE XREF: feature_numitems+B4j .text:0001270C MOV R0, R7 @ Rd = Op2 .text:00012710 BL sysv_signal_0x0_0xA @ Branch with Link .text:00012714 .text:00012714 loc_12714: @ CODE XREF: feature_numitems+D0j .text:00012714 ADD SP, SP, #0x800 @ Rd = Op1 + Op2 .text:00012718 LDMFD SP!, {R4-R7,PC} @ Load Block from Memory .text:0001271C @ --------------------------------------------------------------------------- .text:0001271C .text:0001271C loc_1271C: @ CODE XREF: feature_numitems+54j .text:0001271C BL time @ Branch with Link .text:00012720 LDR R2, =0x51EB851F @ Load from Memory .text:00012724 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00012728 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0001272C RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00012730 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00012734 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00012738 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0001273C BL call_gettimeofday @ Branch with Link .text:00012740 LDR R3, =aFeature_numite @ Load from Memory .text:00012744 MOV R2, R0 @ Rd = Op2 .text:00012748 MOV R1, R4 @ Rd = Op2 .text:0001274C LDR R0, =logfile_format @ Load from Memory .text:00012750 BL printf @ Branch with Link .text:00012754 LDR R0, =aSItemsInMenu @ Load from Memory .text:00012758 MOV R1, SP @ Rd = Op2 .text:0001275C BL printf @ Branch with Link .text:00012760 MOV R0, R6 @ Rd = Op2 .text:00012764 BL sub_257B4 @ Branch with Link .text:00012768 B loc_1270C @ Branch .text:0001276C @ --------------------------------------------------------------------------- .text:0001276C .text:0001276C loc_1276C: @ CODE XREF: feature_numitems+44j .text:0001276C LDR R3, =debug_level @ Load from Memory .text:00012770 LDR R2, [R3] @ Load from Memory .text:00012774 CMP R2, #1 @ Set cond. codes on Op1 - Op2 .text:00012778 MOV R0, #0 @ Rd = Op2 .text:0001277C BGT loc_12788 @ Branch .text:00012780 .text:00012780 loc_12780: @ CODE XREF: feature_numitems+120j .text:00012780 MOV R0, #0 @ Rd = Op2 .text:00012784 B loc_12714 @ Branch .text:00012788 @ --------------------------------------------------------------------------- .text:00012788 .text:00012788 loc_12788: @ CODE XREF: feature_numitems+C8j .text:00012788 BL time @ Branch with Link .text:0001278C LDR R2, =0x51EB851F @ Load from Memory .text:00012790 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00012794 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00012798 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0001279C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:000127A0 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:000127A4 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:000127A8 BL call_gettimeofday @ Branch with Link .text:000127AC MOV R1, R4 @ Rd = Op2 .text:000127B0 MOV R2, R0 @ Rd = Op2 .text:000127B4 LDR R3, =aFeature_numite @ Load from Memory .text:000127B8 LDR R0, =logfile_format @ Load from Memory .text:000127BC BL printf @ Branch with Link .text:000127C0 MOV R1, R5 @ Rd = Op2 .text:000127C4 LDR R0, =aKeySNotFound @ Load from Memory .text:000127C8 BL printf @ Branch with Link .text:000127CC MOV R0, #0 @ Rd = Op2 .text:000127D0 BL sub_257B4 @ Branch with Link .text:000127D4 B loc_12780 @ Branch .text:000127D4 @ End of function feature_numitems .text:000127D4 .text:000127D4 @ --------------------------------------------------------------------------- .text:000127D8 off_127D8: .long aMenu_I_numitem @ DATA XREF: feature_numitems+10r .text:000127D8 @ "menu.%i.numitems" .text:000127DC off_127DC: .long dword_35F84 @ DATA XREF: feature_numitems+20r .text:000127E0 off_127E0: .long aDosPhatbox_ini @ DATA XREF: feature_numitems+24r .text:000127E0 @ "/dos/phatbox.ini" .text:000127E4 off_127E4: .long debug_level @ DATA XREF: feature_numitems+48r .text:000127E4 @ feature_numitems:loc_1276Cr .text:000127E8 dword_127E8: .long 0x51EB851F @ DATA XREF: feature_numitems+6Cr .text:000127E8 @ feature_numitems+D8r .text:000127EC off_127EC: .long aFeature_numite @ DATA XREF: feature_numitems+8Cr .text:000127EC @ feature_numitems+100r .text:000127EC @ "feature_numitems" .text:000127F0 off_127F0: .long logfile_format @ DATA XREF: feature_numitems+98r .text:000127F0 @ feature_numitems+104r .text:000127F0 @ "%02li.%02li:51d :%-10.10s: " .text:000127F4 off_127F4: .long aSItemsInMenu @ DATA XREF: feature_numitems+A0r .text:000127F4 @ "%s items in menu\n" .text:000127F8 off_127F8: .long aKeySNotFound @ DATA XREF: feature_numitems+110r .text:000127F8 @ "Key %s not found\n" .text:000127FC .text:000127FC @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:000127FC .text:000127FC .text:000127FC menu_display: @ CODE XREF: processpack+3388p .text:000127FC .text:000127FC var_420 = -0x420 .text:000127FC .text:000127FC STMFD SP!, {R4-R10,LR} @ Store Block to Memory .text:00012800 SUB SP, SP, #0x800 @ Rd = Op1 - Op2 .text:00012804 MOV R8, R1 @ Rd = Op2 .text:00012808 ADD R7, SP, #0x820+var_420 @ Rd = Op1 + Op2 .text:0001280C MOV R1, #0x400 @ Rd = Op2 .text:00012810 MOV R3, R8 @ Rd = Op2 .text:00012814 MOV R10, R2 @ Rd = Op2 .text:00012818 MOV R0, R7 @ Rd = Op2 .text:0001281C LDR R2, =aMenu_I_text @ Load from Memory .text:00012820 BL sub_26838 @ Branch with Link .text:00012824 LDR R3, =dword_35F84 @ Load from Memory .text:00012828 LDR R0, =aDosPhatbox_ini @ Load from Memory .text:0001282C LDR R1, [R3] @ Load from Memory .text:00012830 MOV R2, R7 @ Rd = Op2 .text:00012834 MOV R3, SP @ Rd = Op2 .text:00012838 BL xread_ini @ Branch with Link .text:0001283C CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00012840 MOV R6, SP @ Rd = Op2 .text:00012844 MOV R5, R0 @ Rd = Op2 .text:00012848 BNE loc_12A0C @ Branch .text:0001284C LDR R9, =debug_level @ Load from Memory .text:00012850 LDR R3, [R9] @ Load from Memory .text:00012854 CMP R3, #1 @ Set cond. codes on Op1 - Op2 .text:00012858 BGT loc_129BC @ Branch .text:0001285C .text:0001285C loc_1285C: @ CODE XREF: menu_display+20Cj .text:0001285C CMP R10, #0 @ Set cond. codes on Op1 - Op2 .text:00012860 BNE loc_129AC @ Branch .text:00012864 .text:00012864 loc_12864: @ CODE XREF: menu_display+1BCj .text:00012864 @ menu_display+21Cj ... .text:00012864 MOV R3, R8 @ Rd = Op2 .text:00012868 LDR R10, =dword_35F84 @ Load from Memory .text:0001286C LDR R8, =aDosPhatbox_ini @ Load from Memory .text:00012870 LDR R2, =aMenu_I_audio @ Load from Memory .text:00012874 MOV R1, #0x400 @ Rd = Op2 .text:00012878 MOV R0, R7 @ Rd = Op2 .text:0001287C BL sub_26838 @ Branch with Link .text:00012880 LDR R1, [R10] @ Load from Memory .text:00012884 MOV R0, R8 @ Rd = Op2 .text:00012888 MOV R2, R7 @ Rd = Op2 .text:0001288C MOV R3, R6 @ Rd = Op2 .text:00012890 BL xread_ini @ Branch with Link .text:00012894 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00012898 MOV R5, R0 @ Rd = Op2 .text:0001289C BNE loc_1294C @ Branch .text:000128A0 LDR R3, [R9] @ Load from Memory .text:000128A4 CMP R3, #1 @ Set cond. codes on Op1 - Op2 .text:000128A8 BGT loc_128FC @ Branch .text:000128AC .text:000128AC loc_128AC: @ CODE XREF: menu_display+14Cj .text:000128AC MOV R1, R5 @ Rd = Op2 .text:000128B0 MOV R0, R6 @ Rd = Op2 .text:000128B4 BL phat_playfile @ Branch with Link .text:000128B8 LDR R1, [R10] @ Load from Memory .text:000128BC MOV R0, R8 @ Rd = Op2 .text:000128C0 LDR R2, =aMenu_wait @ Load from Memory .text:000128C4 MOV R3, R6 @ Rd = Op2 .text:000128C8 BL xread_ini @ Branch with Link .text:000128CC CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000128D0 BNE loc_128F0 @ Branch .text:000128D4 MOV R0, R6 @ Rd = Op2 .text:000128D8 BL sysv_signal_0x0_0xA @ Branch with Link .text:000128DC LDR R3, =dword_35F80 @ Load from Memory .text:000128E0 STR R0, [R3] @ Store to Memory .text:000128E4 LDR R3, =dword_45940 @ Load from Memory .text:000128E8 MOV R2, #1 @ Rd = Op2 .text:000128EC STR R2, [R3] @ Store to Memory .text:000128F0 .text:000128F0 loc_128F0: @ CODE XREF: menu_display+D4j .text:000128F0 @ menu_display+158j ... .text:000128F0 MOV R0, #0 @ Rd = Op2 .text:000128F4 ADD SP, SP, #0x800 @ Rd = Op1 + Op2 .text:000128F8 LDMFD SP!, {R4-R10,PC} @ Load Block from Memory .text:000128FC @ --------------------------------------------------------------------------- .text:000128FC .text:000128FC loc_128FC: @ CODE XREF: menu_display+ACj .text:000128FC BL time @ Branch with Link .text:00012900 LDR R2, =0x51EB851F @ Load from Memory .text:00012904 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00012908 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0001290C RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00012910 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00012914 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00012918 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0001291C BL call_gettimeofday @ Branch with Link .text:00012920 MOV R1, R4 @ Rd = Op2 .text:00012924 MOV R2, R0 @ Rd = Op2 .text:00012928 LDR R3, =aMenu_display @ Load from Memory .text:0001292C LDR R0, =logfile_format @ Load from Memory .text:00012930 BL printf @ Branch with Link .text:00012934 LDR R0, =aAudioFileToPla @ Load from Memory .text:00012938 MOV R1, R6 @ Rd = Op2 .text:0001293C BL printf @ Branch with Link .text:00012940 MOV R0, R5 @ Rd = Op2 .text:00012944 BL sub_257B4 @ Branch with Link .text:00012948 B loc_128AC @ Branch .text:0001294C @ --------------------------------------------------------------------------- .text:0001294C .text:0001294C loc_1294C: @ CODE XREF: menu_display+A0j .text:0001294C LDR R3, [R9] @ Load from Memory .text:00012950 CMP R3, #1 @ Set cond. codes on Op1 - Op2 .text:00012954 BLE loc_128F0 @ Branch .text:00012958 MOV R0, #0 @ Rd = Op2 .text:0001295C BL time @ Branch with Link .text:00012960 LDR R2, =0x51EB851F @ Load from Memory .text:00012964 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00012968 MOV R3, R0,ASR#31 @ Rd = Op2 .text:0001296C RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00012970 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00012974 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00012978 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0001297C BL call_gettimeofday @ Branch with Link .text:00012980 MOV R1, R4 @ Rd = Op2 .text:00012984 MOV R2, R0 @ Rd = Op2 .text:00012988 LDR R3, =aMenu_display @ Load from Memory .text:0001298C LDR R0, =logfile_format @ Load from Memory .text:00012990 BL printf @ Branch with Link .text:00012994 MOV R1, R7 @ Rd = Op2 .text:00012998 LDR R0, =aKeySNotFoundNo @ Load from Memory .text:0001299C BL printf @ Branch with Link .text:000129A0 MOV R0, #0 @ Rd = Op2 .text:000129A4 BL sub_257B4 @ Branch with Link .text:000129A8 B loc_128F0 @ Branch .text:000129AC @ --------------------------------------------------------------------------- .text:000129AC .text:000129AC loc_129AC: @ CODE XREF: menu_display+64j .text:000129AC MOV R1, R5 @ Rd = Op2 .text:000129B0 MOV R0, R6 @ Rd = Op2 .text:000129B4 BL write_text @ Branch with Link .text:000129B8 B loc_12864 @ Branch .text:000129BC @ --------------------------------------------------------------------------- .text:000129BC .text:000129BC loc_129BC: @ CODE XREF: menu_display+5Cj .text:000129BC BL time @ Branch with Link .text:000129C0 LDR R2, =0x51EB851F @ Load from Memory .text:000129C4 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:000129C8 MOV R3, R0,ASR#31 @ Rd = Op2 .text:000129CC RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:000129D0 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:000129D4 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:000129D8 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:000129DC BL call_gettimeofday @ Branch with Link .text:000129E0 MOV R1, R4 @ Rd = Op2 .text:000129E4 MOV R2, R0 @ Rd = Op2 .text:000129E8 LDR R3, =aMenu_display @ Load from Memory .text:000129EC LDR R0, =logfile_format @ Load from Memory .text:000129F0 BL printf @ Branch with Link .text:000129F4 LDR R0, =aTextForItemS @ Load from Memory .text:000129F8 MOV R1, SP @ Rd = Op2 .text:000129FC BL printf @ Branch with Link .text:00012A00 MOV R0, R5 @ Rd = Op2 .text:00012A04 BL sub_257B4 @ Branch with Link .text:00012A08 B loc_1285C @ Branch .text:00012A0C @ --------------------------------------------------------------------------- .text:00012A0C .text:00012A0C loc_12A0C: @ CODE XREF: menu_display+4Cj .text:00012A0C LDR R9, =debug_level @ Load from Memory .text:00012A10 LDR R3, [R9] @ Load from Memory .text:00012A14 CMP R3, #1 @ Set cond. codes on Op1 - Op2 .text:00012A18 BLE loc_12864 @ Branch .text:00012A1C MOV R0, #0 @ Rd = Op2 .text:00012A20 BL time @ Branch with Link .text:00012A24 LDR R2, =0x51EB851F @ Load from Memory .text:00012A28 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00012A2C MOV R3, R0,ASR#31 @ Rd = Op2 .text:00012A30 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00012A34 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00012A38 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00012A3C SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00012A40 BL call_gettimeofday @ Branch with Link .text:00012A44 MOV R1, R4 @ Rd = Op2 .text:00012A48 MOV R2, R0 @ Rd = Op2 .text:00012A4C LDR R3, =aMenu_display @ Load from Memory .text:00012A50 LDR R0, =logfile_format @ Load from Memory .text:00012A54 BL printf @ Branch with Link .text:00012A58 LDR R0, =aKeySNotFound_0 @ Load from Memory .text:00012A5C MOV R1, R7 @ Rd = Op2 .text:00012A60 BL printf @ Branch with Link .text:00012A64 MOV R0, #0 @ Rd = Op2 .text:00012A68 BL sub_257B4 @ Branch with Link .text:00012A6C B loc_12864 @ Branch .text:00012A6C @ End of function menu_display .text:00012A6C .text:00012A6C @ --------------------------------------------------------------------------- .text:00012A70 off_12A70: .long aMenu_I_text @ DATA XREF: menu_display+20r .text:00012A70 @ "menu.%i.text" .text:00012A74 off_12A74: .long dword_35F84 @ DATA XREF: menu_display+28r .text:00012A74 @ menu_display+6Cr .text:00012A78 off_12A78: .long aDosPhatbox_ini @ DATA XREF: menu_display+2Cr .text:00012A78 @ menu_display+70r .text:00012A78 @ "/dos/phatbox.ini" .text:00012A7C off_12A7C: .long debug_level @ DATA XREF: menu_display+50r .text:00012A7C @ menu_display:loc_12A0Cr .text:00012A80 off_12A80: .long aMenu_I_audio @ DATA XREF: menu_display+74r .text:00012A80 @ "menu.%i.audio" .text:00012A84 off_12A84: .long aMenu_wait @ DATA XREF: menu_display+C4r .text:00012A84 @ "menu.wait" .text:00012A88 off_12A88: .long dword_35F80 @ DATA XREF: menu_display+E0r .text:00012A8C off_12A8C: .long dword_45940 @ DATA XREF: menu_display+E8r .text:00012A90 dword_12A90: .long 0x51EB851F @ DATA XREF: menu_display+104r .text:00012A90 @ menu_display+164r ... .text:00012A94 off_12A94: .long aMenu_display @ DATA XREF: menu_display+12Cr .text:00012A94 @ menu_display+18Cr ... .text:00012A94 @ "menu_display" .text:00012A98 off_12A98: .long logfile_format @ DATA XREF: menu_display+130r .text:00012A98 @ menu_display+190r ... .text:00012A98 @ "%02li.%02li:51d :%-10.10s: " .text:00012A9C off_12A9C: .long aAudioFileToPla @ DATA XREF: menu_display+138r .text:00012A9C @ "Audio file to play: %s\n" .text:00012AA0 off_12AA0: .long aKeySNotFoundNo @ DATA XREF: menu_display+19Cr .text:00012AA0 @ "Key %s not found, no audio for item\n" .text:00012AA4 off_12AA4: .long aTextForItemS @ DATA XREF: menu_display+1F8r .text:00012AA4 @ "Text for item: %s\n" .text:00012AA8 off_12AA8: .long aKeySNotFound_0 @ DATA XREF: menu_display+25Cr .text:00012AA8 @ "Key %s not found, no text for item\n" .text:00012AAC .text:00012AAC @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00012AAC .text:00012AAC .text:00012AAC menu_action: @ CODE XREF: main+A9Cp .text:00012AAC @ processpack+3664p .text:00012AAC .text:00012AAC var_850 = -0x850 .text:00012AAC var_84C = -0x84C .text:00012AAC shell_exe = -0x848 .text:00012AAC var_844 = -0x844 .text:00012AAC var_824 = -0x824 .text:00012AAC var_430 = -0x430 .text:00012AAC .text:00012AAC STMFD SP!, {R4-R11,LR} @ Store Block to Memory .text:00012AB0 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00012AB4 LDRGT R2, =dword_3DD28 @ Load from Memory .text:00012AB8 SUB SP, SP, #0x820 @ Rd = Op1 - Op2 .text:00012ABC SUB SP, SP, #0xC @ Rd = Op1 - Op2 .text:00012AC0 MOV R10, R0 @ Rd = Op2 .text:00012AC4 LDRGT R3, =dword_3DD2C @ Load from Memory .text:00012AC8 STRGT R10, [R2] @ Store to Memory .text:00012ACC LDRLE R2, =dword_3DD28 @ Load from Memory .text:00012AD0 ADD R11, SP, #0x850+var_430 @ Rd = Op1 + Op2 .text:00012AD4 MOV R0, #0 @ Rd = Op2 .text:00012AD8 ADD R11, R11, #0xC @ Rd = Op1 + Op2 .text:00012ADC STRGT R0, [R3] @ Store to Memory .text:00012AE0 STR R0, [SP,#0x850+var_84C] @ Store to Memory .text:00012AE4 LDR R3, [R2] @ Load from Memory .text:00012AE8 MOV R1, #0x400 @ Rd = Op2 .text:00012AEC LDR R2, =aMenu_I_action @ Load from Memory .text:00012AF0 MOV R0, R11 @ Rd = Op2 .text:00012AF4 BL sub_26838 @ Branch with Link .text:00012AF8 LDR R3, =dword_35F84 @ Load from Memory .text:00012AFC ADD R6, SP, #0x850+var_824 @ Rd = Op1 + Op2 .text:00012B00 LDR R1, [R3] @ Load from Memory .text:00012B04 LDR R0, =aDosPhatbox_ini @ Load from Memory .text:00012B08 MOV R2, R11 @ Rd = Op2 .text:00012B0C MOV R3, R6 @ Rd = Op2 .text:00012B10 BL xread_ini @ Branch with Link .text:00012B14 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00012B18 MOV R9, #1 @ Rd = Op2 .text:00012B1C MOV R5, R0 @ Rd = Op2 .text:00012B20 BNE loc_13444 @ Branch .text:00012B24 LDR R3, =debug_level @ Load from Memory .text:00012B28 LDR R2, [R3] @ Load from Memory .text:00012B2C CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00012B30 BLE loc_12B80 @ Branch .text:00012B34 BL time @ Branch with Link .text:00012B38 LDR R2, =0x51EB851F @ Load from Memory .text:00012B3C SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00012B40 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00012B44 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00012B48 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00012B4C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00012B50 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00012B54 BL call_gettimeofday @ Branch with Link .text:00012B58 MOV R1, R4 @ Rd = Op2 .text:00012B5C MOV R2, R0 @ Rd = Op2 .text:00012B60 LDR R3, =aMenu_action @ Load from Memory .text:00012B64 LDR R0, =logfile_format @ Load from Memory .text:00012B68 BL printf @ Branch with Link .text:00012B6C LDR R0, =aFeatureIniS @ Load from Memory .text:00012B70 MOV R1, R6 @ Rd = Op2 .text:00012B74 BL printf @ Branch with Link .text:00012B78 MOV R0, R5 @ Rd = Op2 .text:00012B7C BL sub_257B4 @ Branch with Link .text:00012B80 .text:00012B80 loc_12B80: @ CODE XREF: menu_action+84j .text:00012B80 LDR R2, =dword_3DD2C @ Load from Memory .text:00012B84 LDR R3, [R2] @ Load from Memory .text:00012B88 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00012B8C MOV R8, R6 @ Rd = Op2 .text:00012B90 STR R6, [SP,#0x850+shell_exe] @ Store to Memory .text:00012B94 BLE loc_12BDC @ Branch .text:00012B98 LDR R0, [SP,#0x850+var_84C] @ Load from Memory .text:00012B9C ADD R3, R3, #1 @ Rd = Op1 + Op2 .text:00012BA0 CMP R0, R3 @ Set cond. codes on Op1 - Op2 .text:00012BA4 MOV R4, R5 @ Rd = Op2 .text:00012BA8 BGE loc_12BDC @ Branch .text:00012BAC ADD R5, SP, #0x850+var_844 @ Rd = Op1 + Op2 .text:00012BB0 MOV R6, R2 @ Rd = Op2 .text:00012BB4 SUB R5, R5, #4 @ Rd = Op1 - Op2 .text:00012BB8 .text:00012BB8 loc_12BB8: @ CODE XREF: menu_action+12Cj .text:00012BB8 LDR R1, =asc_2BF54 @ Load from Memory .text:00012BBC MOV R0, R5 @ Rd = Op2 .text:00012BC0 BL sub_26CE0 @ Branch with Link .text:00012BC4 LDR R3, [R6] @ Load from Memory .text:00012BC8 ADD R4, R4, #1 @ Rd = Op1 + Op2 .text:00012BCC ADD R3, R3, #1 @ Rd = Op1 + Op2 .text:00012BD0 CMP R4, R3 @ Set cond. codes on Op1 - Op2 .text:00012BD4 MOV R8, R0 @ Rd = Op2 .text:00012BD8 BLT loc_12BB8 @ Branch .text:00012BDC .text:00012BDC loc_12BDC: @ CODE XREF: menu_action+E8j .text:00012BDC @ menu_action+FCj .text:00012BDC CMP R9, #0 @ Set cond. codes on Op1 - Op2 .text:00012BE0 BEQ loc_12CF0 @ Branch .text:00012BE4 .text:00012BE4 loc_12BE4: @ CODE XREF: menu_action+240j .text:00012BE4 MOV R0, R8 @ Rd = Op2 .text:00012BE8 MOV R1, #0x3B @ ';' @ Rd = Op2 .text:00012BEC BL sub_26B4C @ Branch with Link .text:00012BF0 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00012BF4 MOV R9, #0 @ Rd = Op2 .text:00012BF8 BEQ loc_12C24 @ Branch .text:00012BFC ADD R0, SP, #0x850+var_844 @ Rd = Op1 + Op2 .text:00012C00 LDR R1, =asc_2BF54 @ Load from Memory .text:00012C04 SUB R0, R0, #4 @ Rd = Op1 - Op2 .text:00012C08 BL sub_26CE0 @ Branch with Link .text:00012C0C LDR R2, =dword_3DD2C @ Load from Memory .text:00012C10 LDR R3, [R2] @ Load from Memory .text:00012C14 ADD R3, R3, #1 @ Rd = Op1 + Op2 .text:00012C18 STR R3, [R2] @ Store to Memory .text:00012C1C MOV R8, R0 @ Rd = Op2 .text:00012C20 ADD R9, R9, #1 @ Rd = Op1 + Op2 .text:00012C24 .text:00012C24 loc_12C24: @ CODE XREF: menu_action+14Cj .text:00012C24 LDR R6, =debug_level @ Load from Memory .text:00012C28 LDR R3, [R6] @ Load from Memory .text:00012C2C CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00012C30 BLE loc_12C84 @ Branch .text:00012C34 MOV R0, #0 @ Rd = Op2 .text:00012C38 BL time @ Branch with Link .text:00012C3C LDR R2, =0x51EB851F @ Load from Memory .text:00012C40 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00012C44 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00012C48 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00012C4C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00012C50 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00012C54 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00012C58 BL call_gettimeofday @ Branch with Link .text:00012C5C MOV R1, R4 @ Rd = Op2 .text:00012C60 MOV R2, R0 @ Rd = Op2 .text:00012C64 LDR R3, =aMenu_action @ Load from Memory .text:00012C68 LDR R0, =logfile_format @ Load from Memory .text:00012C6C BL printf @ Branch with Link .text:00012C70 LDR R0, =aExecuteS @ Load from Memory .text:00012C74 MOV R1, R8 @ Rd = Op2 .text:00012C78 BL printf @ Branch with Link .text:00012C7C MOV R0, #0 @ Rd = Op2 .text:00012C80 BL sub_257B4 @ Branch with Link .text:00012C84 .text:00012C84 loc_12C84: @ CODE XREF: menu_action+184j .text:00012C84 LDR R1, =aMenu @ Load from Memory .text:00012C88 MOV R0, R8 @ Rd = Op2 .text:00012C8C BL sub_26D28 @ Branch with Link .text:00012C90 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00012C94 MOV R5, R0 @ Rd = Op2 .text:00012C98 BEQ loc_12D40 @ Branch .text:00012C9C ADD R0, R8, #5 @ Rd = Op1 + Op2 .text:00012CA0 BL sysv_signal_0x0_0xA @ Branch with Link .text:00012CA4 MOV R10, R0 @ Rd = Op2 .text:00012CA8 BL feature_numitems @ Branch with Link .text:00012CAC LDR R3, =dword_45920 @ Load from Memory .text:00012CB0 STRB R0, [R8] @ Store to Memory .text:00012CB4 LDR R0, [R3] @ Load from Memory .text:00012CB8 MOV R1, #0 @ Rd = Op2 .text:00012CBC MOV R2, R8 @ Rd = Op2 .text:00012CC0 MOV R3, #1 @ Rd = Op2 .text:00012CC4 MOV R12, #0x92 @ 'Æ' @ Rd = Op2 .text:00012CC8 .text:00012CC8 loc_12CC8: @ CODE XREF: menu_action+994j .text:00012CC8 STR R12, [SP,#0x850+var_850] @ Store to Memory .text:00012CCC BL rw_packet @ Branch with Link .text:00012CD0 .text:00012CD0 loc_12CD0: @ CODE XREF: menu_action+330j .text:00012CD0 @ menu_action+624j ... .text:00012CD0 CMP R9, #0 @ Set cond. codes on Op1 - Op2 .text:00012CD4 LDRNE R8, [SP,#0x850+shell_exe] @ Load from Memory .text:00012CD8 BNE loc_12CE8 @ Branch .text:00012CDC LDR R2, [SP,#0x850+var_84C] @ Load from Memory .text:00012CE0 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00012CE4 BEQ loc_12D00 @ Branch .text:00012CE8 .text:00012CE8 loc_12CE8: @ CODE XREF: menu_action+22Cj .text:00012CE8 @ menu_action+270j ... .text:00012CE8 CMP R9, #0 @ Set cond. codes on Op1 - Op2 .text:00012CEC BNE loc_12BE4 @ Branch .text:00012CF0 .text:00012CF0 loc_12CF0: @ CODE XREF: menu_action+134j .text:00012CF0 @ menu_action+9A4j ... .text:00012CF0 MOV R0, R10 @ Rd = Op2 .text:00012CF4 ADD SP, SP, #0x2C @ Rd = Op1 + Op2 .text:00012CF8 ADD SP, SP, #0x800 @ Rd = Op1 + Op2 .text:00012CFC LDMFD SP!, {R4-R11,PC} @ Load Block from Memory .text:00012D00 @ --------------------------------------------------------------------------- .text:00012D00 .text:00012D00 loc_12D00: @ CODE XREF: menu_action+238j .text:00012D00 LDR R3, =dword_35F84 @ Load from Memory .text:00012D04 LDR R0, =aDosPhatbox_ini @ Load from Memory .text:00012D08 LDR R1, [R3] @ Load from Memory .text:00012D0C LDR R2, =aMenu_wait @ Load from Memory .text:00012D10 MOV R3, R8 @ Rd = Op2 .text:00012D14 BL xread_ini @ Branch with Link .text:00012D18 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00012D1C BNE loc_12CE8 @ Branch .text:00012D20 MOV R0, R8 @ Rd = Op2 .text:00012D24 BL sysv_signal_0x0_0xA @ Branch with Link .text:00012D28 LDR R3, =dword_35F80 @ Load from Memory .text:00012D2C STR R0, [R3] @ Store to Memory .text:00012D30 LDR R3, =dword_45940 @ Load from Memory .text:00012D34 MOV R2, #1 @ Rd = Op2 .text:00012D38 STR R2, [R3] @ Store to Memory .text:00012D3C B loc_12CE8 @ Branch .text:00012D40 @ --------------------------------------------------------------------------- .text:00012D40 .text:00012D40 loc_12D40: @ CODE XREF: menu_action+1ECj .text:00012D40 LDR R1, =aVpon @ Load from Memory .text:00012D44 MOV R0, R8 @ Rd = Op2 .text:00012D48 BL sub_26D28 @ Branch with Link .text:00012D4C CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00012D50 MOV R7, R0 @ Rd = Op2 .text:00012D54 BEQ loc_12DE0 @ Branch .text:00012D58 LDR R3, [R6] @ Load from Memory .text:00012D5C CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00012D60 BLE loc_12DB4 @ Branch .text:00012D64 MOV R0, R5 @ Rd = Op2 .text:00012D68 BL time @ Branch with Link .text:00012D6C LDR R2, =0x51EB851F @ Load from Memory .text:00012D70 MOV R4, R0 @ Rd = Op2 .text:00012D74 SMULL R0, R1, R2, R4 @ Signed Multiply long .text:00012D78 MOV R3, R4,ASR#31 @ Rd = Op2 .text:00012D7C RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00012D80 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00012D84 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00012D88 SUB R4, R4, R3,LSL#2 @ Rd = Op1 - Op2 .text:00012D8C BL call_gettimeofday @ Branch with Link .text:00012D90 MOV R1, R4 @ Rd = Op2 .text:00012D94 MOV R2, R0 @ Rd = Op2 .text:00012D98 LDR R3, =aMenu_action @ Load from Memory .text:00012D9C LDR R0, =logfile_format @ Load from Memory .text:00012DA0 BL printf @ Branch with Link .text:00012DA4 LDR R0, =aTurnOnVoicePro @ Load from Memory .text:00012DA8 BL xdebug_out @ Branch with Link .text:00012DAC MOV R0, R5 @ Rd = Op2 .text:00012DB0 BL sub_257B4 @ Branch with Link .text:00012DB4 .text:00012DB4 loc_12DB4: @ CODE XREF: menu_action+2B4j .text:00012DB4 LDR R3, =dword_3DD2C @ Load from Memory .text:00012DB8 LDR R2, [R3] @ Load from Memory .text:00012DBC LDR R3, =dword_35F54 @ Load from Memory .text:00012DC0 CMP R2, #2 @ Set cond. codes on Op1 - Op2 .text:00012DC4 MOVLT R1, #0 @ Rd = Op2 .text:00012DC8 MOVLGE R1, 0xFFFFFFFF .text:00012DCC ADD R0, R8, #5 @ Rd = Op1 + Op2 .text:00012DD0 MOV R2, #1 @ Rd = Op2 .text:00012DD4 .text:00012DD4 loc_12DD4: @ CODE XREF: menu_action+4E8j .text:00012DD4 STR R2, [R3] @ Store to Memory .text:00012DD8 .text:00012DD8 loc_12DD8: @ CODE XREF: menu_action+3C4j .text:00012DD8 @ menu_action+454j ... .text:00012DD8 BL phat_playfile @ Branch with Link .text:00012DDC B loc_12CD0 @ Branch .text:00012DE0 @ --------------------------------------------------------------------------- .text:00012DE0 .text:00012DE0 loc_12DE0: @ CODE XREF: menu_action+2A8j .text:00012DE0 LDR R1, =aVpoff @ Load from Memory .text:00012DE4 MOV R0, R8 @ Rd = Op2 .text:00012DE8 BL sub_26D28 @ Branch with Link .text:00012DEC CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00012DF0 MOV R5, R0 @ Rd = Op2 .text:00012DF4 BEQ loc_12E74 @ Branch .text:00012DF8 LDR R3, [R6] @ Load from Memory .text:00012DFC CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00012E00 BLE loc_12E50 @ Branch .text:00012E04 MOV R0, R7 @ Rd = Op2 .text:00012E08 BL time @ Branch with Link .text:00012E0C LDR R2, =0x51EB851F @ Load from Memory .text:00012E10 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00012E14 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00012E18 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00012E1C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00012E20 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00012E24 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00012E28 BL call_gettimeofday @ Branch with Link .text:00012E2C MOV R1, R4 @ Rd = Op2 .text:00012E30 MOV R2, R0 @ Rd = Op2 .text:00012E34 LDR R3, =aMenu_action @ Load from Memory .text:00012E38 LDR R0, =logfile_format @ Load from Memory .text:00012E3C BL printf @ Branch with Link .text:00012E40 LDR R0, =aTurnOffVoicePr @ Load from Memory .text:00012E44 BL xdebug_out @ Branch with Link .text:00012E48 MOV R0, R7 @ Rd = Op2 .text:00012E4C BL sub_257B4 @ Branch with Link .text:00012E50 .text:00012E50 loc_12E50: @ CODE XREF: menu_action+354j .text:00012E50 LDR R3, =dword_3DD2C @ Load from Memory .text:00012E54 LDR R2, [R3] @ Load from Memory .text:00012E58 LDR R3, =dword_35F54 @ Load from Memory .text:00012E5C CMP R2, #2 @ Set cond. codes on Op1 - Op2 .text:00012E60 MOVLT R1, #0 @ Rd = Op2 .text:00012E64 MOVLGE R1, 0xFFFFFFFF .text:00012E68 ADD R0, R8, #6 @ Rd = Op1 + Op2 .text:00012E6C STR R7, [R3] @ Store to Memory .text:00012E70 B loc_12DD8 @ Branch .text:00012E74 @ --------------------------------------------------------------------------- .text:00012E74 .text:00012E74 loc_12E74: @ CODE XREF: menu_action+348j .text:00012E74 LDR R1, =aPlay @ Load from Memory .text:00012E78 MOV R0, R8 @ Rd = Op2 .text:00012E7C BL sub_26D28 @ Branch with Link .text:00012E80 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00012E84 MOV R7, R0 @ Rd = Op2 .text:00012E88 BEQ loc_12F04 @ Branch .text:00012E8C LDR R3, [R6] @ Load from Memory .text:00012E90 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00012E94 BLE loc_12EE8 @ Branch .text:00012E98 MOV R0, R5 @ Rd = Op2 .text:00012E9C BL time @ Branch with Link .text:00012EA0 LDR R2, =0x51EB851F @ Load from Memory .text:00012EA4 MOV R4, R0 @ Rd = Op2 .text:00012EA8 SMULL R0, R1, R2, R4 @ Signed Multiply long .text:00012EAC MOV R3, R4,ASR#31 @ Rd = Op2 .text:00012EB0 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00012EB4 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00012EB8 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00012EBC SUB R4, R4, R3,LSL#2 @ Rd = Op1 - Op2 .text:00012EC0 BL call_gettimeofday @ Branch with Link .text:00012EC4 LDR R3, =aMenu_action @ Load from Memory .text:00012EC8 MOV R2, R0 @ Rd = Op2 .text:00012ECC MOV R1, R4 @ Rd = Op2 .text:00012ED0 LDR R0, =logfile_format @ Load from Memory .text:00012ED4 BL printf @ Branch with Link .text:00012ED8 MOV R0, R8 @ Rd = Op2 .text:00012EDC BL xdebug_out @ Branch with Link .text:00012EE0 MOV R0, R5 @ Rd = Op2 .text:00012EE4 BL sub_257B4 @ Branch with Link .text:00012EE8 .text:00012EE8 loc_12EE8: @ CODE XREF: menu_action+3E8j .text:00012EE8 LDR R3, =dword_3DD2C @ Load from Memory .text:00012EEC LDR R2, [R3] @ Load from Memory .text:00012EF0 CMP R2, #2 @ Set cond. codes on Op1 - Op2 .text:00012EF4 MOVLT R1, #0 @ Rd = Op2 .text:00012EF8 MOVLGE R1, 0xFFFFFFFF .text:00012EFC ADD R0, R8, #5 @ Rd = Op1 + Op2 .text:00012F00 B loc_12DD8 @ Branch .text:00012F04 @ --------------------------------------------------------------------------- .text:00012F04 .text:00012F04 loc_12F04: @ CODE XREF: menu_action+3DCj .text:00012F04 LDR R1, =aMagrandon @ Load from Memory .text:00012F08 MOV R0, R8 @ Rd = Op2 .text:00012F0C BL sub_26D28 @ Branch with Link .text:00012F10 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00012F14 MOV R5, R0 @ Rd = Op2 .text:00012F18 BEQ loc_12F98 @ Branch .text:00012F1C LDR R3, [R6] @ Load from Memory .text:00012F20 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00012F24 BLE loc_12F74 @ Branch .text:00012F28 MOV R0, R7 @ Rd = Op2 .text:00012F2C BL time @ Branch with Link .text:00012F30 LDR R2, =0x51EB851F @ Load from Memory .text:00012F34 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00012F38 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00012F3C RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00012F40 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00012F44 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00012F48 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00012F4C BL call_gettimeofday @ Branch with Link .text:00012F50 MOV R1, R4 @ Rd = Op2 .text:00012F54 MOV R2, R0 @ Rd = Op2 .text:00012F58 LDR R3, =aMenu_action @ Load from Memory .text:00012F5C LDR R0, =logfile_format @ Load from Memory .text:00012F60 BL printf @ Branch with Link .text:00012F64 LDR R0, =aForceMagRandom @ Load from Memory .text:00012F68 BL xdebug_out @ Branch with Link .text:00012F6C MOV R0, R7 @ Rd = Op2 .text:00012F70 BL sub_257B4 @ Branch with Link .text:00012F74 .text:00012F74 loc_12F74: @ CODE XREF: menu_action+478j .text:00012F74 LDR R3, =dword_3DD2C @ Load from Memory .text:00012F78 LDR R2, [R3] @ Load from Memory .text:00012F7C LDR R3, =dword_35F6C @ Load from Memory .text:00012F80 CMP R2, #2 @ Set cond. codes on Op1 - Op2 .text:00012F84 MOVLT R1, #0 @ Rd = Op2 .text:00012F88 MOVLGE R1, 0xFFFFFFFF .text:00012F8C ADD R0, R8, #0xA @ Rd = Op1 + Op2 .text:00012F90 MOV R2, #1 @ Rd = Op2 .text:00012F94 B loc_12DD4 @ Branch .text:00012F98 @ --------------------------------------------------------------------------- .text:00012F98 .text:00012F98 loc_12F98: @ CODE XREF: menu_action+46Cj .text:00012F98 LDR R1, =aMagrandoff @ Load from Memory .text:00012F9C MOV R0, R8 @ Rd = Op2 .text:00012FA0 BL sub_26D28 @ Branch with Link .text:00012FA4 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00012FA8 MOV R7, R0 @ Rd = Op2 .text:00012FAC BEQ loc_13030 @ Branch .text:00012FB0 LDR R3, [R6] @ Load from Memory .text:00012FB4 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00012FB8 BLE loc_1300C @ Branch .text:00012FBC MOV R0, R5 @ Rd = Op2 .text:00012FC0 BL time @ Branch with Link .text:00012FC4 LDR R2, =0x51EB851F @ Load from Memory .text:00012FC8 MOV R4, R0 @ Rd = Op2 .text:00012FCC SMULL R0, R1, R2, R4 @ Signed Multiply long .text:00012FD0 MOV R3, R4,ASR#31 @ Rd = Op2 .text:00012FD4 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00012FD8 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00012FDC ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00012FE0 SUB R4, R4, R3,LSL#2 @ Rd = Op1 - Op2 .text:00012FE4 BL call_gettimeofday @ Branch with Link .text:00012FE8 MOV R1, R4 @ Rd = Op2 .text:00012FEC MOV R2, R0 @ Rd = Op2 .text:00012FF0 LDR R3, =aMenu_action @ Load from Memory .text:00012FF4 LDR R0, =logfile_format @ Load from Memory .text:00012FF8 BL printf @ Branch with Link .text:00012FFC LDR R0, =aForceMagRand_0 @ Load from Memory .text:00013000 BL xdebug_out @ Branch with Link .text:00013004 MOV R0, R5 @ Rd = Op2 .text:00013008 BL sub_257B4 @ Branch with Link .text:0001300C .text:0001300C loc_1300C: @ CODE XREF: menu_action+50Cj .text:0001300C LDR R3, =dword_3DD2C @ Load from Memory .text:00013010 LDR R2, [R3] @ Load from Memory .text:00013014 LDR R3, =dword_35F6C @ Load from Memory .text:00013018 CMP R2, #2 @ Set cond. codes on Op1 - Op2 .text:0001301C MOVLT R1, #0 @ Rd = Op2 .text:00013020 MOVLGE R1, 0xFFFFFFFF .text:00013024 ADD R0, R8, #0xB @ Rd = Op1 + Op2 .text:00013028 STR R5, [R3] @ Store to Memory .text:0001302C B loc_12DD8 @ Branch .text:00013030 @ --------------------------------------------------------------------------- .text:00013030 .text:00013030 loc_13030: @ CODE XREF: menu_action+500j .text:00013030 LDR R1, =aShell @ Load from Memory .text:00013034 MOV R0, R8 @ Rd = Op2 .text:00013038 BL sub_26D28 @ Branch with Link .text:0001303C CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00013040 MOV R5, R0 @ Rd = Op2 .text:00013044 BEQ loc_130E8 @ Branch .text:00013048 LDR R3, [R6] @ Load from Memory .text:0001304C ADD R2, R8, #6 @ Rd = Op1 + Op2 .text:00013050 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00013054 STR R2, [SP,#0x850+shell_exe] @ Store to Memory .text:00013058 BLE loc_130AC @ Branch .text:0001305C MOV R0, R7 @ Rd = Op2 .text:00013060 BL time @ Branch with Link .text:00013064 LDR R2, =0x51EB851F @ Load from Memory .text:00013068 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0001306C MOV R3, R0,ASR#31 @ Rd = Op2 .text:00013070 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00013074 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00013078 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0001307C SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00013080 BL call_gettimeofday @ Branch with Link .text:00013084 MOV R1, R4 @ Rd = Op2 .text:00013088 MOV R2, R0 @ Rd = Op2 .text:0001308C LDR R3, =aMenu_action @ Load from Memory .text:00013090 LDR R0, =logfile_format @ Load from Memory .text:00013094 BL printf @ Branch with Link .text:00013098 LDR R0, =aExecuteShellCo @ Load from Memory .text:0001309C LDR R1, [SP,#0x850+shell_exe] @ Load from Memory .text:000130A0 BL printf @ Branch with Link .text:000130A4 MOV R0, R7 @ Rd = Op2 .text:000130A8 BL sub_257B4 @ Branch with Link .text:000130AC .text:000130AC loc_130AC: @ CODE XREF: menu_action+5ACj .text:000130AC LDR R0, [SP,#0x850+shell_exe] @ Load from Memory .text:000130B0 BL verify_sig @ shell command .text:000130B4 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000130B8 BEQ loc_130D4 @ Branch .text:000130BC .text:000130BC loc_130BC: @ CODE XREF: menu_action+638j .text:000130BC MOV R1, R7 @ Rd = Op2 .text:000130C0 LDR R0, [SP,#0x850+shell_exe] @ Load from Memory .text:000130C4 MOV R2, R7 @ Rd = Op2 .text:000130C8 MOV R3, R7 @ Rd = Op2 .text:000130CC BL call_exec @ Branch with Link .text:000130D0 B loc_12CD0 @ Branch .text:000130D4 @ --------------------------------------------------------------------------- .text:000130D4 .text:000130D4 loc_130D4: @ CODE XREF: menu_action+60Cj .text:000130D4 LDR R0, [SP,#0x850+shell_exe] @ Load from Memory .text:000130D8 LDR R1, =aBinFalse @ Load from Memory .text:000130DC MOV R2, #0xB @ Rd = Op2 .text:000130E0 BL memcpy @ Branch with Link .text:000130E4 B loc_130BC @ Branch .text:000130E8 @ --------------------------------------------------------------------------- .text:000130E8 .text:000130E8 loc_130E8: @ CODE XREF: menu_action+598j .text:000130E8 LDR R1, =aFirmware_versi @ Load from Memory .text:000130EC MOV R0, R8 @ Rd = Op2 .text:000130F0 BL sub_26D28 @ Branch with Link .text:000130F4 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000130F8 MOV R4, R0 @ Rd = Op2 .text:000130FC BEQ loc_13310 @ Branch .text:00013100 LDR R3, [R6] @ Load from Memory .text:00013104 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00013108 BLE loc_1315C @ Branch .text:0001310C MOV R0, R5 @ Rd = Op2 .text:00013110 BL time @ Branch with Link .text:00013114 LDR R2, =0x51EB851F @ Load from Memory .text:00013118 MOV R4, R0 @ Rd = Op2 .text:0001311C SMULL R0, R1, R2, R4 @ Signed Multiply long .text:00013120 MOV R3, R4,ASR#31 @ Rd = Op2 .text:00013124 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00013128 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0001312C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00013130 SUB R4, R4, R3,LSL#2 @ Rd = Op1 - Op2 .text:00013134 BL call_gettimeofday @ Branch with Link .text:00013138 MOV R1, R4 @ Rd = Op2 .text:0001313C MOV R2, R0 @ Rd = Op2 .text:00013140 LDR R3, =aMenu_action @ Load from Memory .text:00013144 LDR R0, =logfile_format @ Load from Memory .text:00013148 BL printf @ Branch with Link .text:0001314C LDR R0, =aReadingFirmwar @ Load from Memory .text:00013150 BL xdebug_out @ Branch with Link .text:00013154 MOV R0, R5 @ Rd = Op2 .text:00013158 BL sub_257B4 @ Branch with Link .text:0001315C .text:0001315C loc_1315C: @ CODE XREF: menu_action+65Cj .text:0001315C ADD R6, SP, #0x850+var_844 @ Rd = Op1 + Op2 .text:00013160 MOV R3, R6 @ Rd = Op2 .text:00013164 LDR R2, =aAlpha_file_ext @ Load from Memory .text:00013168 MOV R1, R5 @ Rd = Op2 .text:0001316C LDR R0, =aDosPhatbox_ini @ Load from Memory .text:00013170 BL xread_ini @ Branch with Link .text:00013174 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00013178 MOVLNE R3, 0x766100 .text:00013180 ADDNE R3, R3, #0x77 @ Rd = Op1 + Op2 .text:00013184 STRNE R3, [SP,#0x850+var_844] @ Store to Memory .text:00013188 LDR R3, =dword_3DD2C @ Load from Memory .text:0001318C LDR R2, [R3] @ Load from Memory .text:00013190 CMP R2, #2 @ Set cond. codes on Op1 - Op2 .text:00013194 MOVLT R1, #0 @ Rd = Op2 .text:00013198 MOVLGE R1, 0xFFFFFFFF .text:0001319C LDR R0, =aDosTtsFirmware @ Load from Memory .text:000131A0 BL phat_playfile @ Branch with Link .text:000131A4 LDR R3, =dword_35F9C @ Load from Memory .text:000131A8 LDR R2, [R3] @ Load from Memory .text:000131AC MOV R2, R2,ASR#4 @ Rd = Op2 .text:000131B0 CMP R2, #9 @ Set cond. codes on Op1 - Op2 .text:000131B4 LDRGT R1, =aDosTtsX_alpha_ @ Load from Memory .text:000131B8 LDRLE R1, =aDosTtsX_S @ Load from Memory .text:000131BC MOVGT R0, R11 @ Rd = Op2 .text:000131C0 MOVLE R0, R11 @ Rd = Op2 .text:000131C4 MOV R3, R6 @ Rd = Op2 .text:000131C8 BL xsprintf @ Branch with Link .text:000131CC MOVL R1, 0xFFFFFFFF .text:000131D0 MOV R0, R11 @ Rd = Op2 .text:000131D4 BL phat_playfile @ Branch with Link .text:000131D8 LDR R3, =dword_35F9C @ Load from Memory .text:000131DC LDR R2, [R3] @ Load from Memory .text:000131E0 AND R2, R2, #0xF @ Rd = Op1 & Op2 .text:000131E4 CMP R2, #9 @ Set cond. codes on Op1 - Op2 .text:000131E8 LDRGT R1, =aDosTtsX_alpha_ @ Load from Memory .text:000131EC LDRLE R1, =aDosTtsX_S @ Load from Memory .text:000131F0 MOVGT R0, R11 @ Rd = Op2 .text:000131F4 MOVLE R0, R11 @ Rd = Op2 .text:000131F8 MOV R3, R6 @ Rd = Op2 .text:000131FC BL xsprintf @ Branch with Link .text:00013200 MOVL R1, 0xFFFFFFFF .text:00013204 MOV R0, R11 @ Rd = Op2 .text:00013208 BL phat_playfile @ Branch with Link .text:0001320C LDR R3, =dword_35FA0 @ Load from Memory .text:00013210 LDR R2, [R3] @ Load from Memory .text:00013214 MOV R2, R2,ASR#4 @ Rd = Op2 .text:00013218 CMP R2, #9 @ Set cond. codes on Op1 - Op2 .text:0001321C LDRGT R1, =aDosTtsX_alpha_ @ Load from Memory .text:00013220 LDRLE R1, =aDosTtsX_S @ Load from Memory .text:00013224 MOVGT R0, R11 @ Rd = Op2 .text:00013228 MOVLE R0, R11 @ Rd = Op2 .text:0001322C MOV R3, R6 @ Rd = Op2 .text:00013230 BL xsprintf @ Branch with Link .text:00013234 MOVL R1, 0xFFFFFFFF .text:00013238 MOV R0, R11 @ Rd = Op2 .text:0001323C BL phat_playfile @ Branch with Link .text:00013240 LDR R3, =dword_35FA0 @ Load from Memory .text:00013244 LDR R2, [R3] @ Load from Memory .text:00013248 AND R2, R2, #0xF @ Rd = Op1 & Op2 .text:0001324C CMP R2, #9 @ Set cond. codes on Op1 - Op2 .text:00013250 LDRGT R1, =aDosTtsX_alpha_ @ Load from Memory .text:00013254 LDRLE R1, =aDosTtsX_S @ Load from Memory .text:00013258 MOVGT R0, R11 @ Rd = Op2 .text:0001325C MOVLE R0, R11 @ Rd = Op2 .text:00013260 MOV R3, R6 @ Rd = Op2 .text:00013264 MOVL R4, 0xFFFFFFFF .text:00013268 BL xsprintf @ Branch with Link .text:0001326C MOV R1, R4 @ Rd = Op2 .text:00013270 MOV R0, R11 @ Rd = Op2 .text:00013274 BL phat_playfile @ Branch with Link .text:00013278 LDR R7, =dword_35FA4 @ Load from Memory .text:0001327C MOV R2, R6 @ Rd = Op2 .text:00013280 LDR R1, =aDosTtsDot_S @ Load from Memory .text:00013284 MOV R0, R11 @ Rd = Op2 .text:00013288 BL xsprintf @ Branch with Link .text:0001328C MOV R1, R4 @ Rd = Op2 .text:00013290 MOV R0, R11 @ Rd = Op2 .text:00013294 BL phat_playfile @ Branch with Link .text:00013298 LDR R1, [R7] @ Load from Memory .text:0001329C LDR R3, =0x66666667 @ Load from Memory .text:000132A0 SMULL R0, R2, R3, R1 @ Signed Multiply long .text:000132A4 MOV R3, R1,ASR#31 @ Rd = Op2 .text:000132A8 RSBS R2, R3, R2,ASR#2 @ Rd = Op2 - Op1 .text:000132AC BNE loc_132E8 @ Branch .text:000132B0 LDR R5, =aDosTtsI_S @ Load from Memory .text:000132B4 .text:000132B4 loc_132B4: @ CODE XREF: menu_action+860j .text:000132B4 LDR R2, =0x66666667 @ Load from Memory .text:000132B8 SMULL R0, R3, R2, R1 @ Signed Multiply long .text:000132BC MOV R2, R1,ASR#31 @ Rd = Op2 .text:000132C0 RSB R2, R2, R3,ASR#2 @ Rd = Op2 - Op1 .text:000132C4 ADD R2, R2, R2,LSL#2 @ Rd = Op1 + Op2 .text:000132C8 SUB R2, R1, R2,LSL#1 @ Rd = Op1 - Op2 .text:000132CC MOV R3, R6 @ Rd = Op2 .text:000132D0 MOV R1, R5 @ Rd = Op2 .text:000132D4 MOV R0, R11 @ Rd = Op2 .text:000132D8 BL xsprintf @ Branch with Link .text:000132DC MOV R0, R11 @ Rd = Op2 .text:000132E0 MOVL R1, 0xFFFFFFFF .text:000132E4 B loc_12DD8 @ Branch .text:000132E8 @ --------------------------------------------------------------------------- .text:000132E8 .text:000132E8 loc_132E8: @ CODE XREF: menu_action+800j .text:000132E8 LDR R5, =aDosTtsI_S @ Load from Memory .text:000132EC MOV R3, R6 @ Rd = Op2 .text:000132F0 MOV R1, R5 @ Rd = Op2 .text:000132F4 MOV R0, R11 @ Rd = Op2 .text:000132F8 BL xsprintf @ Branch with Link .text:000132FC MOV R1, R4 @ Rd = Op2 .text:00013300 MOV R0, R11 @ Rd = Op2 .text:00013304 BL phat_playfile @ Branch with Link .text:00013308 LDR R1, [R7] @ Load from Memory .text:0001330C B loc_132B4 @ Branch .text:00013310 @ --------------------------------------------------------------------------- .text:00013310 .text:00013310 loc_13310: @ CODE XREF: menu_action+650j .text:00013310 LDR R1, =aSleep @ Load from Memory .text:00013314 MOV R0, R8 @ Rd = Op2 .text:00013318 BL sub_26D28 @ Branch with Link .text:0001331C CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00013320 BEQ loc_13350 @ Branch .text:00013324 ADD R0, R8, #6 @ Rd = Op1 + Op2 .text:00013328 BL sysv_signal_0x0_0xA @ Branch with Link .text:0001332C LDR R3, =dword_35F80 @ Load from Memory .text:00013330 STR R0, [R3] @ Store to Memory .text:00013334 LDR R3, =dword_45940 @ Load from Memory .text:00013338 MOV R1, #1 @ Rd = Op2 .text:0001333C MOV R2, #2 @ Rd = Op2 .text:00013340 MOV R9, R4 @ Rd = Op2 .text:00013344 STR R1, [SP,#0x850+var_84C] @ Store to Memory .text:00013348 STR R2, [R3] @ Store to Memory .text:0001334C B loc_12CD0 @ Branch .text:00013350 @ --------------------------------------------------------------------------- .text:00013350 .text:00013350 loc_13350: @ CODE XREF: menu_action+874j .text:00013350 LDR R1, =aSync @ Load from Memory .text:00013354 MOV R0, R8 @ Rd = Op2 .text:00013358 BL sub_26D28 @ Branch with Link .text:0001335C CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00013360 MOV R4, R0 @ Rd = Op2 .text:00013364 BEQ loc_13370 @ Branch .text:00013368 BL sub_152E4 @ Branch with Link .text:0001336C B loc_12CD0 @ Branch .text:00013370 @ --------------------------------------------------------------------------- .text:00013370 .text:00013370 loc_13370: @ CODE XREF: menu_action+8B8j .text:00013370 LDR R1, =aContinue @ Load from Memory .text:00013374 MOV R0, R8 @ Rd = Op2 .text:00013378 BL sub_26D28 @ Branch with Link .text:0001337C CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00013380 MOV R5, R0 @ Rd = Op2 .text:00013384 BEQ loc_13414 @ Branch .text:00013388 MOV R0, R4 @ Rd = Op2 .text:0001338C MOV R1, R4 @ Rd = Op2 .text:00013390 MOV R2, R4 @ Rd = Op2 .text:00013394 MOV R3, R4 @ Rd = Op2 .text:00013398 BL phat_status @ Branch with Link .text:0001339C CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000133A0 BEQ loc_133CC @ Branch .text:000133A4 LDR R4, =dword_35F94 @ Load from Memory .text:000133A8 LDR R3, =disk_num @ Load from Memory .text:000133AC LDR R2, =track_num @ Load from Memory .text:000133B0 LDR R0, [R3] @ Load from Memory .text:000133B4 LDR R1, [R2] @ Load from Memory .text:000133B8 LDR R2, [R4] @ Load from Memory .text:000133BC BL phat_play @ Branch with Link .text:000133C0 .text:000133C0 loc_133C0: @ CODE XREF: menu_action+964j .text:000133C0 MOV R3, #0 @ Rd = Op2 .text:000133C4 STR R3, [R4] @ Store to Memory .text:000133C8 B loc_12CD0 @ Branch .text:000133CC @ --------------------------------------------------------------------------- .text:000133CC .text:000133CC loc_133CC: @ CODE XREF: menu_action+8F4j .text:000133CC LDR R4, =dword_35F94 @ Load from Memory .text:000133D0 LDR R3, =disk_num @ Load from Memory .text:000133D4 LDR R1, =track_num @ Load from Memory .text:000133D8 LDR R12, [R4] @ Load from Memory .text:000133DC LDR R2, [R3] @ Load from Memory .text:000133E0 MOV R0, R8 @ Rd = Op2 .text:000133E4 LDR R3, [R1] @ Load from Memory .text:000133E8 LDR R1, =aPlaydItIsI @ Load from Memory .text:000133EC STR R12, [SP,#0x850+var_850] @ Store to Memory .text:000133F0 BL xsprintf @ Branch with Link .text:000133F4 LDR R3, =dword_3DD2C @ Load from Memory .text:000133F8 LDR R2, [R3] @ Load from Memory .text:000133FC CMP R2, #2 @ Set cond. codes on Op1 - Op2 .text:00013400 MOVLT R1, #0 @ Rd = Op2 .text:00013404 MOVLGE R1, 0xFFFFFFFF .text:00013408 MOV R0, R8 @ Rd = Op2 .text:0001340C BL phat_playfile @ Branch with Link .text:00013410 B loc_133C0 @ Branch .text:00013414 @ --------------------------------------------------------------------------- .text:00013414 .text:00013414 loc_13414: @ CODE XREF: menu_action+8D8j .text:00013414 LDR R1, =aEaid @ Load from Memory .text:00013418 MOV R0, R8 @ Rd = Op2 .text:0001341C BL sub_26D28 @ Branch with Link .text:00013420 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00013424 BEQ loc_12CD0 @ Branch .text:00013428 LDR R3, =dword_45920 @ Load from Memory .text:0001342C MOV R1, R5 @ Rd = Op2 .text:00013430 LDR R0, [R3] @ Load from Memory .text:00013434 MOV R2, R5 @ Rd = Op2 .text:00013438 MOV R3, #1 @ Rd = Op2 .text:0001343C MOV R12, #0x7F @ '' @ Rd = Op2 .text:00013440 B loc_12CC8 @ Branch .text:00013444 @ --------------------------------------------------------------------------- .text:00013444 .text:00013444 loc_13444: @ CODE XREF: menu_action+74j .text:00013444 LDR R3, =debug_level @ Load from Memory .text:00013448 LDR R2, [R3] @ Load from Memory .text:0001344C CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00013450 BLE loc_12CF0 @ Branch .text:00013454 MOV R0, #0 @ Rd = Op2 .text:00013458 BL time @ Branch with Link .text:0001345C LDR R2, =0x51EB851F @ Load from Memory .text:00013460 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00013464 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00013468 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0001346C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00013470 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00013474 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00013478 BL call_gettimeofday @ Branch with Link .text:0001347C MOV R1, R4 @ Rd = Op2 .text:00013480 MOV R2, R0 @ Rd = Op2 .text:00013484 LDR R3, =aMenu_action @ Load from Memory .text:00013488 LDR R0, =logfile_format @ Load from Memory .text:0001348C BL printf @ Branch with Link .text:00013490 MOV R1, R11 @ Rd = Op2 .text:00013494 LDR R0, =aKeySNotFound @ Load from Memory .text:00013498 BL printf @ Branch with Link .text:0001349C MOV R0, #0 @ Rd = Op2 .text:000134A0 BL sub_257B4 @ Branch with Link .text:000134A4 B loc_12CF0 @ Branch .text:000134A4 @ End of function menu_action .text:000134A4 .text:000134A4 @ --------------------------------------------------------------------------- .text:000134A8 off_134A8: .long dword_3DD28 @ DATA XREF: menu_action+8r .text:000134A8 @ menu_action+20r .text:000134AC off_134AC: .long dword_3DD2C @ DATA XREF: menu_action+18r .text:000134AC @ menu_action:loc_12B80r ... .text:000134B0 off_134B0: .long aMenu_I_action @ DATA XREF: menu_action+40r .text:000134B0 @ "menu.%i.action" .text:000134B4 off_134B4: .long dword_35F84 @ DATA XREF: menu_action+4Cr .text:000134B4 @ menu_action:loc_12D00r .text:000134B8 off_134B8: .long aDosPhatbox_ini @ DATA XREF: menu_action+58r .text:000134B8 @ menu_action+258r ... .text:000134B8 @ "/dos/phatbox.ini" .text:000134BC off_134BC: .long debug_level @ DATA XREF: menu_action+78r .text:000134BC @ menu_action:loc_12C24r ... .text:000134C0 dword_134C0: .long 0x51EB851F @ DATA XREF: menu_action+8Cr .text:000134C0 @ menu_action+190r ... .text:000134C4 off_134C4: .long aMenu_action @ DATA XREF: menu_action+B4r .text:000134C4 @ menu_action+1B8r ... .text:000134C4 @ "menu_action" .text:000134C8 off_134C8: .long logfile_format @ DATA XREF: menu_action+B8r .text:000134C8 @ menu_action+1BCr ... .text:000134C8 @ "%02li.%02li:51d :%-10.10s: " .text:000134CC off_134CC: .long aFeatureIniS @ DATA XREF: menu_action+C0r .text:000134CC @ "feature ini - %s\n" .text:000134D0 off_134D0: .long asc_2BF54 @ DATA XREF: menu_action:loc_12BB8r .text:000134D0 @ menu_action+154r .text:000134D0 @ ";" .text:000134D4 off_134D4: .long aExecuteS @ DATA XREF: menu_action+1C4r .text:000134D4 @ "Execute %s\n" .text:000134D8 off_134D8: .long aMenu @ DATA XREF: menu_action:loc_12C84r .text:000134D8 @ "MENU" .text:000134DC off_134DC: .long dword_45920 @ DATA XREF: menu_action+200r .text:000134DC @ menu_action+97Cr .text:000134E0 off_134E0: .long aMenu_wait @ DATA XREF: menu_action+260r .text:000134E0 @ "menu.wait" .text:000134E4 off_134E4: .long dword_35F80 @ DATA XREF: menu_action+27Cr .text:000134E4 @ menu_action+880r .text:000134E8 off_134E8: .long dword_45940 @ DATA XREF: menu_action+284r .text:000134E8 @ menu_action+888r .text:000134EC off_134EC: .long aVpon @ DATA XREF: menu_action:loc_12D40r .text:000134EC @ "VPON" .text:000134F0 off_134F0: .long aTurnOnVoicePro @ DATA XREF: menu_action+2F8r .text:000134F0 @ "Turn on voice prompting" .text:000134F4 off_134F4: .long dword_35F54 @ DATA XREF: menu_action+310r .text:000134F4 @ menu_action+3ACr .text:000134F8 off_134F8: .long aVpoff @ DATA XREF: menu_action:loc_12DE0r .text:000134F8 @ "VPOFF" .text:000134FC off_134FC: .long aTurnOffVoicePr @ DATA XREF: menu_action+394r .text:000134FC @ "Turn off voice prompting" .text:00013500 off_13500: .long aPlay @ DATA XREF: menu_action:loc_12E74r .text:00013500 @ "PLAY" .text:00013504 off_13504: .long aMagrandon @ DATA XREF: menu_action:loc_12F04r .text:00013504 @ "MAGRANDON" .text:00013508 off_13508: .long aForceMagRandom @ DATA XREF: menu_action+4B8r .text:00013508 @ "Force mag random on" .text:0001350C off_1350C: .long dword_35F6C @ DATA XREF: menu_action+4D0r .text:0001350C @ menu_action+568r .text:00013510 off_13510: .long aMagrandoff @ DATA XREF: menu_action:loc_12F98r .text:00013510 @ "MAGRANDOFF" .text:00013514 off_13514: .long aForceMagRand_0 @ DATA XREF: menu_action+550r .text:00013514 @ "Force mag random off" .text:00013518 off_13518: .long aShell @ DATA XREF: menu_action:loc_13030r .text:00013518 @ "SHELL" .text:0001351C off_1351C: .long aExecuteShellCo @ DATA XREF: menu_action+5ECr .text:0001351C @ "Execute shell command %s\n" .text:00013520 off_13520: .long aBinFalse @ DATA XREF: menu_action+62Cr .text:00013520 @ "/bin/false" .text:00013524 off_13524: .long aFirmware_versi @ DATA XREF: menu_action:loc_130E8r .text:00013524 @ "FIRMWARE_VERSION" .text:00013528 off_13528: .long aReadingFirmwar @ DATA XREF: menu_action+6A0r .text:00013528 @ "Reading firmware version" .text:0001352C off_1352C: .long aAlpha_file_ext @ DATA XREF: menu_action+6B8r .text:0001352C @ "alpha_file_ext" .text:00013530 off_13530: .long aDosTtsFirmware @ DATA XREF: menu_action+6F0r .text:00013530 @ "/dos/tts/firmware.mp3" .text:00013534 off_13534: .long dword_35F9C @ DATA XREF: menu_action+6F8r .text:00013534 @ menu_action+72Cr .text:00013538 off_13538: .long aDosTtsX_alpha_ @ DATA XREF: menu_action+708r .text:00013538 @ menu_action+73Cr ... .text:00013538 @ "/dos/tts/%x.alpha.%s" .text:0001353C off_1353C: .long aDosTtsX_S @ DATA XREF: menu_action+70Cr .text:0001353C @ menu_action+740r ... .text:0001353C @ "/dos/tts/%x.%s" .text:00013540 off_13540: .long dword_35FA0 @ DATA XREF: menu_action+760r .text:00013540 @ menu_action+794r .text:00013544 off_13544: .long dword_35FA4 @ DATA XREF: menu_action+7CCr .text:00013548 off_13548: .long aDosTtsDot_S @ DATA XREF: menu_action+7D4r .text:00013548 @ "/dos/tts/dot.%s" .text:0001354C dword_1354C: .long 0x66666667 @ DATA XREF: menu_action+7F0r .text:0001354C @ menu_action:loc_132B4r .text:00013550 off_13550: .long aDosTtsI_S @ DATA XREF: menu_action+804r .text:00013550 @ menu_action:loc_132E8r .text:00013550 @ "/dos/tts/%i.%s" .text:00013554 off_13554: .long aSleep @ DATA XREF: menu_action:loc_13310r .text:00013554 @ "SLEEP:" .text:00013558 off_13558: .long aSync @ DATA XREF: menu_action:loc_13350r .text:00013558 @ "SYNC" .text:0001355C off_1355C: .long aContinue @ DATA XREF: menu_action:loc_13370r .text:0001355C @ "CONTINUE" .text:00013560 off_13560: .long dword_35F94 @ DATA XREF: menu_action+8F8r .text:00013560 @ menu_action:loc_133CCr .text:00013564 off_13564: .long disk_num @ DATA XREF: menu_action+8FCr .text:00013564 @ menu_action+924r .text:00013568 off_13568: .long track_num @ DATA XREF: menu_action+900r .text:00013568 @ menu_action+928r .text:0001356C off_1356C: .long aPlaydItIsI @ DATA XREF: menu_action+93Cr .text:0001356C @ "PLAYd%it%is%i" .text:00013570 off_13570: .long aEaid @ DATA XREF: menu_action:loc_13414r .text:00013570 @ "EAID" .text:00013574 off_13574: .long aKeySNotFound @ DATA XREF: menu_action+9E8r .text:00013574 @ "Key %s not found\n" .text:00013578 .text:00013578 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00013578 .text:00013578 .text:00013578 menu_ascend: @ CODE XREF: processpack+3780p .text:00013578 .text:00013578 var_820 = -0x820 .text:00013578 var_81C = -0x81C .text:00013578 var_420 = -0x420 .text:00013578 var_20 = -0x20 .text:00013578 .text:00013578 STMFD SP!, {R4-R8,R10,LR} @ Store Block to Memory .text:0001357C SUB SP, SP, #0x800 @ Rd = Op1 - Op2 .text:00013580 SUB SP, SP, #4 @ Rd = Op1 - Op2 .text:00013584 ADD R7, SP, #0x820+var_420 @ Rd = Op1 + Op2 .text:00013588 ADD R7, R7, #4 @ Rd = Op1 + Op2 .text:0001358C MOV R3, R0 @ Rd = Op2 .text:00013590 LDR R2, =aMenu_I_parent @ Load from Memory .text:00013594 MOV R1, #0x400 @ Rd = Op2 .text:00013598 MOV R6, R0 @ Rd = Op2 .text:0001359C MOV R0, R7 @ Rd = Op2 .text:000135A0 BL sub_26838 @ Branch with Link .text:000135A4 LDR R3, =dword_35F84 @ Load from Memory .text:000135A8 ADD R8, SP, #0x820+var_81C @ Rd = Op1 + Op2 .text:000135AC LDR R1, [R3] @ Load from Memory .text:000135B0 LDR R0, =aDosPhatbox_ini @ Load from Memory .text:000135B4 MOV R2, R7 @ Rd = Op2 .text:000135B8 MOV R3, R8 @ Rd = Op2 .text:000135BC BL xread_ini @ Branch with Link .text:000135C0 MOV R10, #0x80000000 @ Rd = Op2 .text:000135C4 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000135C8 MOV R10, R10,ASR#20 @ Rd = Op2 .text:000135CC MOV R5, R0 @ Rd = Op2 .text:000135D0 BNE loc_13684 @ Branch .text:000135D4 LDR R3, =debug_level @ Load from Memory .text:000135D8 LDR R2, [R3] @ Load from Memory .text:000135DC CMP R2, #1 @ Set cond. codes on Op1 - Op2 .text:000135E0 BGT loc_13634 @ Branch .text:000135E4 .text:000135E4 loc_135E4: @ CODE XREF: menu_ascend+108j .text:000135E4 MOV R0, R8 @ Rd = Op2 .text:000135E8 BL sysv_signal_0x0_0xA @ Branch with Link .text:000135EC MOV R6, R0 @ Rd = Op2 .text:000135F0 BL feature_numitems @ Branch with Link .text:000135F4 LDR R3, =dword_45920 @ Load from Memory .text:000135F8 MOV R1, R5 @ Rd = Op2 .text:000135FC ADD R5, SP, #0x820+var_20 @ Rd = Op1 + Op2 .text:00013600 MOV R4, R0 @ Rd = Op2 .text:00013604 ADD R5, R5, #4 @ Rd = Op1 + Op2 .text:00013608 LDR R0, [R3] @ Load from Memory .text:0001360C STRB R4, [R5,R10] @ Store to Memory .text:00013610 MOV R12, #0x92 @ 'Æ' @ Rd = Op2 .text:00013614 MOV R2, R8 @ Rd = Op2 .text:00013618 MOV R3, #1 @ Rd = Op2 .text:0001361C STR R12, [SP,#0x820+var_820] @ Store to Memory .text:00013620 BL rw_packet @ Branch with Link .text:00013624 .text:00013624 loc_13624: @ CODE XREF: menu_ascend+11Cj .text:00013624 @ menu_ascend+16Cj .text:00013624 MOV R0, R6 @ Rd = Op2 .text:00013628 ADD SP, SP, #4 @ Rd = Op1 + Op2 .text:0001362C ADD SP, SP, #0x800 @ Rd = Op1 + Op2 .text:00013630 LDMFD SP!, {R4-R8,R10,PC} @ Load Block from Memory .text:00013634 @ --------------------------------------------------------------------------- .text:00013634 .text:00013634 loc_13634: @ CODE XREF: menu_ascend+68j .text:00013634 BL time @ Branch with Link .text:00013638 LDR R2, =0x51EB851F @ Load from Memory .text:0001363C SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00013640 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00013644 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00013648 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0001364C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00013650 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00013654 BL call_gettimeofday @ Branch with Link .text:00013658 LDR R3, =aMenu_ascend @ Load from Memory .text:0001365C MOV R2, R0 @ Rd = Op2 .text:00013660 MOV R1, R4 @ Rd = Op2 .text:00013664 LDR R0, =logfile_format @ Load from Memory .text:00013668 BL printf @ Branch with Link .text:0001366C LDR R0, =aReturningToPar @ Load from Memory .text:00013670 MOV R1, R8 @ Rd = Op2 .text:00013674 BL printf @ Branch with Link .text:00013678 MOV R0, R5 @ Rd = Op2 .text:0001367C BL sub_257B4 @ Branch with Link .text:00013680 B loc_135E4 @ Branch .text:00013684 @ --------------------------------------------------------------------------- .text:00013684 .text:00013684 loc_13684: @ CODE XREF: menu_ascend+58j .text:00013684 LDR R3, =debug_level @ Load from Memory .text:00013688 LDR R2, [R3] @ Load from Memory .text:0001368C MOV R0, #0 @ Rd = Op2 .text:00013690 CMP R2, R0 @ Set cond. codes on Op1 - Op2 .text:00013694 BLE loc_13624 @ Branch .text:00013698 BL time @ Branch with Link .text:0001369C LDR R2, =0x51EB851F @ Load from Memory .text:000136A0 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:000136A4 MOV R3, R0,ASR#31 @ Rd = Op2 .text:000136A8 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:000136AC ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:000136B0 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:000136B4 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:000136B8 BL call_gettimeofday @ Branch with Link .text:000136BC MOV R1, R4 @ Rd = Op2 .text:000136C0 MOV R2, R0 @ Rd = Op2 .text:000136C4 LDR R3, =aMenu_ascend @ Load from Memory .text:000136C8 LDR R0, =logfile_format @ Load from Memory .text:000136CC BL printf @ Branch with Link .text:000136D0 MOV R1, R7 @ Rd = Op2 .text:000136D4 LDR R0, =aKeySNotFound @ Load from Memory .text:000136D8 BL printf @ Branch with Link .text:000136DC MOV R0, #0 @ Rd = Op2 .text:000136E0 BL sub_257B4 @ Branch with Link .text:000136E4 B loc_13624 @ Branch .text:000136E4 @ End of function menu_ascend .text:000136E4 .text:000136E4 @ --------------------------------------------------------------------------- .text:000136E8 off_136E8: .long aMenu_I_parent @ DATA XREF: menu_ascend+18r .text:000136E8 @ "menu.%i.parent" .text:000136EC off_136EC: .long dword_35F84 @ DATA XREF: menu_ascend+2Cr .text:000136F0 off_136F0: .long aDosPhatbox_ini @ DATA XREF: menu_ascend+38r .text:000136F0 @ "/dos/phatbox.ini" .text:000136F4 off_136F4: .long debug_level @ DATA XREF: menu_ascend+5Cr .text:000136F4 @ menu_ascend:loc_13684r .text:000136F8 off_136F8: .long dword_45920 @ DATA XREF: menu_ascend+7Cr .text:000136FC dword_136FC: .long 0x51EB851F @ DATA XREF: menu_ascend+C0r .text:000136FC @ menu_ascend+124r .text:00013700 off_13700: .long aMenu_ascend @ DATA XREF: menu_ascend+E0r .text:00013700 @ menu_ascend+14Cr .text:00013700 @ "menu_ascend" .text:00013704 off_13704: .long logfile_format @ DATA XREF: menu_ascend+ECr .text:00013704 @ menu_ascend+150r .text:00013704 @ "%02li.%02li:51d :%-10.10s: " .text:00013708 off_13708: .long aReturningToPar @ DATA XREF: menu_ascend+F4r .text:00013708 @ "Returning to parent menu %s\n" .text:0001370C off_1370C: .long aKeySNotFound @ DATA XREF: menu_ascend+15Cr .text:0001370C @ "Key %s not found\n" .text:00013710 .text:00013710 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00013710 .text:00013710 .text:00013710 reset_51: @ CODE XREF: processpack:loc_EB7Cp .text:00013710 .text:00013710 var_18 = -0x18 .text:00013710 .text:00013710 STMFD SP!, {R4-R7,LR} @ Store Block to Memory .text:00013714 MOV R0, #1 @ Rd = Op2 .text:00013718 SUB SP, SP, #4 @ Rd = Op1 - Op2 .text:0001371C MOV R1, #0x100 @ Rd = Op2 .text:00013720 BL get_pn_board_ver @ Branch with Link .text:00013724 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00013728 BNE loc_13924 @ Branch .text:0001372C .text:0001372C loc_1372C: @ CODE XREF: reset_51+228j .text:0001372C LDR R7, =dword_35F30 @ Load from Memory .text:00013730 LDR R5, [R7] @ Load from Memory .text:00013734 CMP R5, #0 @ Set cond. codes on Op1 - Op2 .text:00013738 BNE loc_137A0 @ Branch .text:0001373C LDR R3, =debug_level @ Load from Memory .text:00013740 LDR R2, [R3] @ Load from Memory .text:00013744 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00013748 BLT loc_13798 @ Branch .text:0001374C MOV R0, R5 @ Rd = Op2 .text:00013750 BL time @ Branch with Link .text:00013754 LDR R2, =0x51EB851F @ Load from Memory .text:00013758 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0001375C MOV R3, R0,ASR#31 @ Rd = Op2 .text:00013760 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00013764 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00013768 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0001376C SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00013770 BL call_gettimeofday @ Branch with Link .text:00013774 MOV R1, R4 @ Rd = Op2 .text:00013778 MOV R2, R0 @ Rd = Op2 .text:0001377C LDR R3, =aReset_51 @ Load from Memory .text:00013780 LDR R0, =logfile_format @ Load from Memory .text:00013784 BL printf @ Branch with Link .text:00013788 LDR R0, =aCouldnTResetUc @ Load from Memory .text:0001378C BL xdebug_out @ Branch with Link .text:00013790 MOV R0, R5 @ Rd = Op2 .text:00013794 BL sub_257B4 @ Branch with Link .text:00013798 .text:00013798 loc_13798: @ CODE XREF: reset_51+38j .text:00013798 @ reset_51+120j ... .text:00013798 ADD SP, SP, #4 @ Rd = Op1 + Op2 .text:0001379C LDMFD SP!, {R4-R7,PC} @ Load Block from Memory .text:000137A0 @ --------------------------------------------------------------------------- .text:000137A0 .text:000137A0 loc_137A0: @ CODE XREF: reset_51+28j .text:000137A0 LDR R5, =debug_level @ Load from Memory .text:000137A4 BL sub_10B24 @ Branch with Link .text:000137A8 LDR R3, [R5] @ Load from Memory .text:000137AC CMP R3, #3 @ Set cond. codes on Op1 - Op2 .text:000137B0 BGT loc_138D4 @ Branch .text:000137B4 .text:000137B4 loc_137B4: @ CODE XREF: reset_51+210j .text:000137B4 MOV R3, #0x55 @ 'U' @ Rd = Op2 .text:000137B8 MOV R1, SP @ buf .text:000137BC MOV R2, #1 @ count .text:000137C0 LDR R0, [R7] @ fd .text:000137C4 STRB R3, [SP,#0x18+var_18] @ Store to Memory .text:000137C8 BL __libc_write @ Branch with Link .text:000137CC MOVL R0, dword_3D090 .text:000137D4 BL sub_287E4 @ Branch with Link .text:000137D8 LDR R3, [R5] @ Load from Memory .text:000137DC CMP R3, #3 @ Set cond. codes on Op1 - Op2 .text:000137E0 MOV R6, SP @ Rd = Op2 .text:000137E4 BGT loc_13884 @ Branch .text:000137E8 .text:000137E8 loc_137E8: @ CODE XREF: reset_51+1C0j .text:000137E8 MOV R3, #0x48 @ 'H' @ Rd = Op2 .text:000137EC MOV R1, R6 @ buf .text:000137F0 MOV R2, #1 @ count .text:000137F4 LDR R0, [R7] @ fd .text:000137F8 STRB R3, [SP,#0x18+var_18] @ Store to Memory .text:000137FC BL __libc_write @ Branch with Link .text:00013800 MOVL R0, 0x7A120 .text:00013808 BL sub_287E4 @ Branch with Link .text:0001380C LDR R3, [R5] @ Load from Memory .text:00013810 CMP R3, #3 @ Set cond. codes on Op1 - Op2 .text:00013814 BGT loc_13834 @ Branch .text:00013818 .text:00013818 loc_13818: @ CODE XREF: reset_51+170j .text:00013818 MOV R3, #0x68 @ 'h' @ Rd = Op2 .text:0001381C LDR R0, [R7] @ fd .text:00013820 MOV R1, R6 @ buf .text:00013824 MOV R2, #1 @ count .text:00013828 STRB R3, [SP,#0x18+var_18] @ Store to Memory .text:0001382C BL __libc_write @ Branch with Link .text:00013830 B loc_13798 @ Branch .text:00013834 @ --------------------------------------------------------------------------- .text:00013834 .text:00013834 loc_13834: @ CODE XREF: reset_51+104j .text:00013834 MOV R0, #0 @ Rd = Op2 .text:00013838 BL time @ Branch with Link .text:0001383C LDR R2, =0x51EB851F @ Load from Memory .text:00013840 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00013844 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00013848 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0001384C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00013850 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00013854 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00013858 BL call_gettimeofday @ Branch with Link .text:0001385C MOV R1, R4 @ Rd = Op2 .text:00013860 MOV R2, R0 @ Rd = Op2 .text:00013864 LDR R3, =aReset_51 @ Load from Memory .text:00013868 LDR R0, =logfile_format @ Load from Memory .text:0001386C BL printf @ Branch with Link .text:00013870 LDR R0, =aSetUc_rstLow @ Load from Memory .text:00013874 BL xdebug_out @ Branch with Link .text:00013878 MOV R0, #0 @ Rd = Op2 .text:0001387C BL sub_257B4 @ Branch with Link .text:00013880 B loc_13818 @ Branch .text:00013884 @ --------------------------------------------------------------------------- .text:00013884 .text:00013884 loc_13884: @ CODE XREF: reset_51+D4j .text:00013884 MOV R0, #0 @ Rd = Op2 .text:00013888 BL time @ Branch with Link .text:0001388C LDR R2, =0x51EB851F @ Load from Memory .text:00013890 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00013894 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00013898 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0001389C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:000138A0 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:000138A4 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:000138A8 BL call_gettimeofday @ Branch with Link .text:000138AC MOV R1, R4 @ Rd = Op2 .text:000138B0 MOV R2, R0 @ Rd = Op2 .text:000138B4 LDR R3, =aReset_51 @ Load from Memory .text:000138B8 LDR R0, =logfile_format @ Load from Memory .text:000138BC BL printf @ Branch with Link .text:000138C0 LDR R0, =aSetUc_rstHigh @ Load from Memory .text:000138C4 BL xdebug_out @ Branch with Link .text:000138C8 MOV R0, #0 @ Rd = Op2 .text:000138CC BL sub_257B4 @ Branch with Link .text:000138D0 B loc_137E8 @ Branch .text:000138D4 @ --------------------------------------------------------------------------- .text:000138D4 .text:000138D4 loc_138D4: @ CODE XREF: reset_51+A0j .text:000138D4 MOV R0, #0 @ Rd = Op2 .text:000138D8 BL time @ Branch with Link .text:000138DC LDR R2, =0x51EB851F @ Load from Memory .text:000138E0 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:000138E4 MOV R3, R0,ASR#31 @ Rd = Op2 .text:000138E8 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:000138EC ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:000138F0 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:000138F4 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:000138F8 BL call_gettimeofday @ Branch with Link .text:000138FC MOV R1, R4 @ Rd = Op2 .text:00013900 MOV R2, R0 @ Rd = Op2 .text:00013904 LDR R3, =aReset_51 @ Load from Memory .text:00013908 LDR R0, =logfile_format @ Load from Memory .text:0001390C BL printf @ Branch with Link .text:00013910 LDR R0, =aSetP43High @ Load from Memory .text:00013914 BL xdebug_out @ Branch with Link .text:00013918 MOV R0, #0 @ Rd = Op2 .text:0001391C BL sub_257B4 @ Branch with Link .text:00013920 B loc_137B4 @ Branch .text:00013924 @ --------------------------------------------------------------------------- .text:00013924 .text:00013924 loc_13924: @ CODE XREF: reset_51+18j .text:00013924 MOVL R1, 0x1FF .text:0001392C MOVL R0, 0xFFFFFFFF .text:00013930 BL get_pn_board_ver @ Branch with Link .text:00013934 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00013938 BEQ loc_1372C @ Branch .text:0001393C LDR R0, =dword_45880 @ Load from Memory .text:00013940 LDR R2, [R0] @ Load from Memory .text:00013944 LDRB R3, [R2,#0x43] @ Load from Memory .text:00013948 BIC R3, R3, #8 @ Rd = Op1 & ~Op2 .text:0001394C STRB R3, [R2,#0x43] @ Store to Memory .text:00013950 LDR R1, [R0] @ Load from Memory .text:00013954 LDRB R3, [R1,#3] @ Load from Memory .text:00013958 ORR R3, R3, #8 @ Rd = Op2 | Op1 .text:0001395C STRB R3, [R1,#3] @ Store to Memory .text:00013960 LDR R2, [R0] @ Load from Memory .text:00013964 LDRB R3, [R2,#0x43] @ Load from Memory .text:00013968 BIC R3, R3, #0x10 @ Rd = Op1 & ~Op2 .text:0001396C STRB R3, [R2,#0x43] @ Store to Memory .text:00013970 LDR R1, [R0] @ Load from Memory .text:00013974 LDRB R3, [R1,#3] @ Load from Memory .text:00013978 ORR R3, R3, #0x10 @ Rd = Op2 | Op1 .text:0001397C STRB R3, [R1,#3] @ Store to Memory .text:00013980 LDR R2, [R0] @ Load from Memory .text:00013984 LDRB R3, [R2,#0x43] @ Load from Memory .text:00013988 BIC R3, R3, #2 @ Rd = Op1 & ~Op2 .text:0001398C STRB R3, [R2,#0x43] @ Store to Memory .text:00013990 LDR R1, [R0] @ Load from Memory .text:00013994 LDRB R3, [R1,#3] @ Load from Memory .text:00013998 ORR R3, R3, #2 @ Rd = Op2 | Op1 .text:0001399C STRB R3, [R1,#3] @ Store to Memory .text:000139A0 MOV R2, #9 @ Rd = Op2 .text:000139A4 MOV R1, #0x3E4 @ Rd = Op2 .text:000139A8 .text:000139A8 loc_139A8: @ CODE XREF: reset_51+2A8j .text:000139A8 ADD R3, R1, #3 @ Rd = Op1 + Op2 .text:000139AC .text:000139AC loc_139AC: @ CODE XREF: reset_51+2A0j .text:000139AC SUBS R3, R3, #1 @ Rd = Op1 - Op2 .text:000139B0 BPL loc_139AC @ Branch .text:000139B4 SUBS R2, R2, #1 @ Rd = Op1 - Op2 .text:000139B8 BPL loc_139A8 @ Branch .text:000139BC LDR R3, =dword_45880 @ Load from Memory .text:000139C0 LDR R1, [R3] @ Load from Memory .text:000139C4 LDRB R2, [R1,#3] @ Load from Memory .text:000139C8 BIC R2, R2, #2 @ Rd = Op1 & ~Op2 .text:000139CC STRB R2, [R1,#3] @ Store to Memory .text:000139D0 B loc_13798 @ Branch .text:000139D0 @ End of function reset_51 .text:000139D0 .text:000139D0 @ --------------------------------------------------------------------------- .text:000139D4 off_139D4: .long dword_35F30 @ DATA XREF: reset_51:loc_1372Cr .text:000139D8 off_139D8: .long debug_level @ DATA XREF: reset_51+2Cr .text:000139D8 @ reset_51:loc_137A0r .text:000139DC dword_139DC: .long 0x51EB851F @ DATA XREF: reset_51+44r .text:000139DC @ reset_51+12Cr ... .text:000139E0 off_139E0: .long aReset_51 @ DATA XREF: reset_51+6Cr .text:000139E0 @ reset_51+154r ... .text:000139E0 @ "reset_51" .text:000139E4 off_139E4: .long logfile_format @ DATA XREF: reset_51+70r .text:000139E4 @ reset_51+158r ... .text:000139E4 @ "%02li.%02li:51d :%-10.10s: " .text:000139E8 off_139E8: .long aCouldnTResetUc @ DATA XREF: reset_51+78r .text:000139E8 @ "Couldn't reset uc (no /dev/8051)!" .text:000139EC off_139EC: .long aSetUc_rstLow @ DATA XREF: reset_51+160r .text:000139EC @ "Set UC_RST low" .text:000139F0 off_139F0: .long aSetUc_rstHigh @ DATA XREF: reset_51+1B0r .text:000139F0 @ "Set UC_RST high" .text:000139F4 off_139F4: .long aSetP43High @ DATA XREF: reset_51+200r .text:000139F4 @ "Set P43 high" .text:000139F8 off_139F8: .long dword_45880 @ DATA XREF: reset_51+22Cr .text:000139F8 @ reset_51+2ACr .text:000139FC .text:000139FC @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:000139FC .text:000139FC .text:000139FC test_uC_ver: @ CODE XREF: main+49Cp .text:000139FC .text:000139FC var_C4 = -0xC4 .text:000139FC var_C0 = -0xC0 .text:000139FC var_BC = -0xBC .text:000139FC var_B8 = -0xB8 .text:000139FC var_B4 = -0xB4 .text:000139FC var_B0 = -0xB0 .text:000139FC var_A8 = -0xA8 .text:000139FC var_28 = -0x28 .text:000139FC var_20 = -0x20 .text:000139FC .text:000139FC STMFD SP!, {R4-R10,LR} @ Store Block to Memory .text:00013A00 LDR R3, =dword_45920 @ Load from Memory .text:00013A04 SUB SP, SP, #0xA4 @ Rd = Op1 - Op2 .text:00013A08 ADD R9, SP, #0xC4+var_28 @ Rd = Op1 + Op2 .text:00013A0C LDR R0, [R3] @ fd .text:00013A10 MOV R2, #1 @ count .text:00013A14 MOVL R3, 0xFFFFFFF9 .text:00013A18 MOV R1, R9 @ buf .text:00013A1C STRB R3, [SP,#0xC4+var_28] @ Store to Memory .text:00013A20 BL __libc_write @ Branch with Link .text:00013A24 LDR R3, =debug_level @ Load from Memory .text:00013A28 LDR R2, [R3] @ Load from Memory .text:00013A2C CMP R2, #1 @ Set cond. codes on Op1 - Op2 .text:00013A30 BGT loc_13E98 @ Branch .text:00013A34 .text:00013A34 loc_13A34: @ CODE XREF: test_uC_ver+4F4j .text:00013A34 MOV R3, #0 @ Rd = Op2 .text:00013A38 ADD R1, SP, #0xC4+var_A8 @ Rd = Op1 + Op2 .text:00013A3C MOV R2, R3 @ Rd = Op2 .text:00013A40 .text:00013A40 loc_13A40: @ CODE XREF: test_uC_ver+50j .text:00013A40 STR R2, [R1,R3,LSL#2] @ Store to Memory .text:00013A44 ADD R3, R3, #1 @ Rd = Op1 + Op2 .text:00013A48 CMP R3, #0x1F @ Set cond. codes on Op1 - Op2 .text:00013A4C BLS loc_13A40 @ Branch .text:00013A50 LDR R10, =dword_45920 @ Load from Memory .text:00013A54 LDR R2, [R10] @ Load from Memory .text:00013A58 ADD R0, SP, #0xC4+var_20 @ Rd = Op1 + Op2 .text:00013A5C MOV R3, R2,LSR#5 @ Rd = Op2 .text:00013A60 ADD R4, R0, R3,LSL#2 @ Rd = Op1 + Op2 .text:00013A64 LDR LR, [R4,#-0x88] @ Load from Memory .text:00013A68 LDR R3, =off_35F40 @ Load from Memory .text:00013A6C ADD R0, R2, #1 @ Rd = Op1 + Op2 .text:00013A70 MOV R7, #1 @ Rd = Op2 .text:00013A74 AND R2, R2, #0x1F @ Rd = Op1 & Op2 .text:00013A78 LDR R5, [R3] @ Load from Memory .text:00013A7C MOV R6, #0 @ Rd = Op2 .text:00013A80 ORR LR, LR, R7,LSL R2 @ Rd = Op2 | Op1 .text:00013A84 STR LR, [R4,#-0x88] @ Store to Memory .text:00013A88 ADD R12, SP, #0xC4+var_C0 @ Rd = Op1 + Op2 .text:00013A8C MOV R2, R6 @ Rd = Op2 .text:00013A90 MOV R3, R6 @ Rd = Op2 .text:00013A94 STR R12, [SP,#0xC4+var_C4] @ Store to Memory .text:00013A98 STR R5, [SP,#0xC4+var_BC] @ Store to Memory .text:00013A9C STR R6, [SP,#0xC4+var_C0] @ Store to Memory .text:00013AA0 BL newselect @ Branch with Link .text:00013AA4 CMP R0, R6 @ Set cond. codes on Op1 - Op2 .text:00013AA8 BLE loc_13BF4 @ Branch .text:00013AAC LDR R0, [R10] @ fd .text:00013AB0 ADD R3, SP, #0xC4+var_20 @ Rd = Op1 + Op2 .text:00013AB4 MOV R2, R0,LSR#5 @ Rd = Op2 .text:00013AB8 ADD R1, R3, R2,LSL#2 @ Rd = Op1 + Op2 .text:00013ABC LDR R3, [R1,#-0x88] @ Load from Memory .text:00013AC0 AND R2, R0, #0x1F @ Rd = Op1 & Op2 .text:00013AC4 MOV R3, R3,ASR R2 @ Rd = Op2 .text:00013AC8 ANDS R3, R3, R7 @ Rd = Op1 & Op2 .text:00013ACC BEQ loc_13E90 @ Branch .text:00013AD0 LDR R8, =debug_level @ Load from Memory .text:00013AD4 MOV R1, R9 @ buf .text:00013AD8 MOV R2, R7 @ count .text:00013ADC BL __libc_read @ Branch with Link .text:00013AE0 LDR R3, [R8] @ Load from Memory .text:00013AE4 CMP R3, R7 @ Set cond. codes on Op1 - Op2 .text:00013AE8 BGT loc_13E34 @ Branch .text:00013AEC .text:00013AEC loc_13AEC: @ CODE XREF: test_uC_ver+490j .text:00013AEC LDRB R2, [SP,#0xC4+var_28] @ Load from Memory .text:00013AF0 CMP R2, #0xDB @ '¦' @ Set cond. codes on Op1 - Op2 .text:00013AF4 MOVNE R3, #0 @ Rd = Op2 .text:00013AF8 MOVEQ R3, #1 @ Rd = Op2 .text:00013AFC CMP R2, #0xBD @ '+' @ Set cond. codes on Op1 - Op2 .text:00013B00 MOVNE R5, R3 @ Rd = Op2 .text:00013B04 ORREQ R5, R3, #1 @ Rd = Op2 | Op1 .text:00013B08 CMP R5, #0 @ Set cond. codes on Op1 - Op2 .text:00013B0C BNE loc_13DE0 @ Branch .text:00013B10 CMP R2, #0x53 @ 'S' @ Set cond. codes on Op1 - Op2 .text:00013B14 BNE loc_13B88 @ Branch .text:00013B18 LDR R3, [R8] @ Load from Memory .text:00013B1C CMP R3, #2 @ Set cond. codes on Op1 - Op2 .text:00013B20 BGT loc_13B30 @ Branch .text:00013B24 .text:00013B24 loc_13B24: @ CODE XREF: test_uC_ver+188j .text:00013B24 MOV R0, #1 @ Rd = Op2 .text:00013B28 ADD SP, SP, #0xA4 @ Rd = Op1 + Op2 .text:00013B2C LDMFD SP!, {R4-R10,PC} @ Load Block from Memory .text:00013B30 @ --------------------------------------------------------------------------- .text:00013B30 .text:00013B30 loc_13B30: @ CODE XREF: test_uC_ver+124j .text:00013B30 MOV R0, R5 @ Rd = Op2 .text:00013B34 BL time @ Branch with Link .text:00013B38 LDR R2, =0x51EB851F @ Load from Memory .text:00013B3C MOV R4, R0 @ Rd = Op2 .text:00013B40 SMULL R0, R1, R2, R4 @ Signed Multiply long .text:00013B44 MOV R3, R4,ASR#31 @ Rd = Op2 .text:00013B48 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00013B4C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00013B50 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00013B54 SUB R4, R4, R3,LSL#2 @ Rd = Op1 - Op2 .text:00013B58 BL call_gettimeofday @ Branch with Link .text:00013B5C MOV R1, R4 @ Rd = Op2 .text:00013B60 MOV R2, R0 @ Rd = Op2 .text:00013B64 LDR R3, =aTest_uc_ver @ Load from Memory .text:00013B68 LDR R0, =logfile_format @ Load from Memory .text:00013B6C BL printf @ Branch with Link .text:00013B70 LDRB R1, [SP,#0xC4+var_28] @ Load from Memory .text:00013B74 LDR R0, =aGot02xForInval @ Load from Memory .text:00013B78 BL printf @ Branch with Link .text:00013B7C MOV R0, R5 @ Rd = Op2 .text:00013B80 BL sub_257B4 @ Branch with Link .text:00013B84 B loc_13B24 @ Branch .text:00013B88 @ --------------------------------------------------------------------------- .text:00013B88 .text:00013B88 loc_13B88: @ CODE XREF: test_uC_ver+118j .text:00013B88 CMP R2, #0xFA @ '·' @ Set cond. codes on Op1 - Op2 .text:00013B8C BEQ loc_13D44 @ Branch .text:00013B90 .text:00013B90 loc_13B90: @ CODE XREF: test_uC_ver+358j .text:00013B90 @ test_uC_ver+370j .text:00013B90 LDR R3, =debug_level @ Load from Memory .text:00013B94 LDR R2, [R3] @ Load from Memory .text:00013B98 CMP R2, #2 @ Set cond. codes on Op1 - Op2 .text:00013B9C BLE loc_13BF4 @ Branch .text:00013BA0 MOV R0, #0 @ Rd = Op2 .text:00013BA4 BL time @ Branch with Link .text:00013BA8 LDR R2, =0x51EB851F @ Load from Memory .text:00013BAC MOV R4, R0 @ Rd = Op2 .text:00013BB0 SMULL R0, R1, R2, R4 @ Signed Multiply long .text:00013BB4 MOV R3, R4,ASR#31 @ Rd = Op2 .text:00013BB8 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00013BBC ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00013BC0 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00013BC4 SUB R4, R4, R3,LSL#2 @ Rd = Op1 - Op2 .text:00013BC8 BL call_gettimeofday @ Branch with Link .text:00013BCC MOV R1, R4 @ Rd = Op2 .text:00013BD0 MOV R2, R0 @ Rd = Op2 .text:00013BD4 LDR R3, =aTest_uc_ver @ Load from Memory .text:00013BD8 LDR R0, =logfile_format @ Load from Memory .text:00013BDC BL printf @ Branch with Link .text:00013BE0 LDRB R1, [SP,#0xC4+var_28] @ Load from Memory .text:00013BE4 LDR R0, =aGot02xForInv_0 @ Load from Memory .text:00013BE8 .text:00013BE8 loc_13BE8: @ CODE XREF: test_uC_ver+434j .text:00013BE8 BL printf @ Branch with Link .text:00013BEC MOV R0, #0 @ Rd = Op2 .text:00013BF0 BL sub_257B4 @ Branch with Link .text:00013BF4 .text:00013BF4 loc_13BF4: @ CODE XREF: test_uC_ver+ACj .text:00013BF4 @ test_uC_ver+1A0j ... .text:00013BF4 LDR R3, =dword_45920 @ Load from Memory .text:00013BF8 LDR R0, [R3] @ fd .text:00013BFC BL close @ Branch with Link .text:00013C00 MOV R0, #1 @ Rd = Op2 .text:00013C04 MOV R1, #0x100 @ Rd = Op2 .text:00013C08 BL get_pn_board_ver @ Branch with Link .text:00013C0C CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00013C10 BEQ loc_13CC4 @ Branch .text:00013C14 MOVL R1, 0x1FF .text:00013C1C MOVL R0, 0xFFFFFFFF .text:00013C20 BL get_pn_board_ver @ Branch with Link .text:00013C24 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00013C28 BEQ loc_13CC4 @ Branch .text:00013C2C LDR R0, =aForce_12_dac @ name .text:00013C30 BL getenv @ Branch with Link .text:00013C34 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00013C38 MOV R5, R0 @ Rd = Op2 .text:00013C3C BNE loc_13CC4 @ Branch .text:00013C40 LDR R3, =debug_level @ Load from Memory .text:00013C44 LDR R2, [R3] @ Load from Memory .text:00013C48 LDR R6, =aDosPhat @ Load from Memory .text:00013C4C LDR R3, =aUpdate @ Load from Memory .text:00013C50 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00013C54 STR R3, [SP,#0xC4+var_B4] @ Store to Memory .text:00013C58 STR R6, [SP,#0xC4+var_B8] @ Store to Memory .text:00013C5C STR R0, [SP,#0xC4+var_B0] @ Store to Memory .text:00013C60 BLT loc_13CB0 @ run /dos/phat .text:00013C64 BL time @ Branch with Link .text:00013C68 LDR R2, =0x51EB851F @ Load from Memory .text:00013C6C SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00013C70 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00013C74 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00013C78 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00013C7C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00013C80 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00013C84 BL call_gettimeofday @ Branch with Link .text:00013C88 MOV R1, R4 @ Rd = Op2 .text:00013C8C MOV R2, R0 @ Rd = Op2 .text:00013C90 LDR R3, =aTest_uc_ver @ Load from Memory .text:00013C94 LDR R0, =logfile_format @ Load from Memory .text:00013C98 BL printf @ Branch with Link .text:00013C9C LDR R0, =aNoResponseOrBa @ Load from Memory .text:00013CA0 MOV R1, R6 @ Rd = Op2 .text:00013CA4 BL printf @ Branch with Link .text:00013CA8 MOV R0, R5 @ Rd = Op2 .text:00013CAC BL sub_257B4 @ Branch with Link .text:00013CB0 .text:00013CB0 loc_13CB0: @ CODE XREF: test_uC_ver+264j .text:00013CB0 MOV R0, R6 @ Rd = Op2 .text:00013CB4 ADD R1, SP, #0xC4+var_B8 @ Rd = Op1 + Op2 .text:00013CB8 BL xcall_execve @ execute /dos/phat .text:00013CBC MOV R0, #0xFF @ Rd = Op2 .text:00013CC0 BL sub_274E4 @ Branch with Link .text:00013CC4 .text:00013CC4 loc_13CC4: @ CODE XREF: test_uC_ver+214j .text:00013CC4 @ test_uC_ver+22Cj ... .text:00013CC4 LDRB R0, [SP,#0xC4+var_28] @ Load from Memory .text:00013CC8 BL check_forceupdate @ Branch with Link .text:00013CCC BL sub_16730 @ Branch with Link .text:00013CD0 LDRB R0, [SP,#0xC4+var_28] @ Load from Memory .text:00013CD4 BL check_replacement_prog @ Branch with Link .text:00013CD8 LDR R3, =debug_level @ Load from Memory .text:00013CDC LDR R2, [R3] @ Load from Memory .text:00013CE0 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00013CE4 BLT loc_13D38 @ Branch .text:00013CE8 MOV R0, #0 @ Rd = Op2 .text:00013CEC BL time @ Branch with Link .text:00013CF0 LDR R2, =0x51EB851F @ Load from Memory .text:00013CF4 MOV R4, R0 @ Rd = Op2 .text:00013CF8 SMULL R0, R1, R2, R4 @ Signed Multiply long .text:00013CFC MOV R3, R4,ASR#31 @ Rd = Op2 .text:00013D00 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00013D04 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00013D08 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00013D0C SUB R4, R4, R3,LSL#2 @ Rd = Op1 - Op2 .text:00013D10 BL call_gettimeofday @ Branch with Link .text:00013D14 MOV R1, R4 @ Rd = Op2 .text:00013D18 MOV R2, R0 @ Rd = Op2 .text:00013D1C LDR R3, =aTest_uc_ver @ Load from Memory .text:00013D20 LDR R0, =logfile_format @ Load from Memory .text:00013D24 BL printf @ Branch with Link .text:00013D28 LDR R0, =aNoResponseOr_0 @ Load from Memory .text:00013D2C BL xdebug_out @ Branch with Link .text:00013D30 MOV R0, #0 @ Rd = Op2 .text:00013D34 BL sub_257B4 @ Branch with Link .text:00013D38 .text:00013D38 loc_13D38: @ CODE XREF: test_uC_ver+2E8j .text:00013D38 @ test_uC_ver+344j .text:00013D38 MOV R0, #0xE10 @ Rd = Op2 .text:00013D3C BL sub_287AC @ Branch with Link .text:00013D40 B loc_13D38 @ Branch .text:00013D44 @ --------------------------------------------------------------------------- .text:00013D44 .text:00013D44 loc_13D44: @ CODE XREF: test_uC_ver+190j .text:00013D44 MOV R0, R7 @ Rd = Op2 .text:00013D48 MOV R1, #0x100 @ Rd = Op2 .text:00013D4C BL get_pn_board_ver @ Branch with Link .text:00013D50 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00013D54 BEQ loc_13B90 @ Branch .text:00013D58 MOVL R1, 0x1FF .text:00013D60 MOVL R0, 0xFFFFFFFF .text:00013D64 BL get_pn_board_ver @ Branch with Link .text:00013D68 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00013D6C BEQ loc_13B90 @ Branch .text:00013D70 LDR R3, [R8] @ Load from Memory .text:00013D74 CMP R3, #2 @ Set cond. codes on Op1 - Op2 .text:00013D78 BLE loc_13DCC @ Branch .text:00013D7C MOV R0, R5 @ Rd = Op2 .text:00013D80 BL time @ Branch with Link .text:00013D84 LDR R2, =0x51EB851F @ Load from Memory .text:00013D88 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00013D8C MOV R3, R0,ASR#31 @ Rd = Op2 .text:00013D90 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00013D94 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00013D98 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00013D9C SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00013DA0 BL call_gettimeofday @ Branch with Link .text:00013DA4 MOV R1, R4 @ Rd = Op2 .text:00013DA8 MOV R2, R0 @ Rd = Op2 .text:00013DAC LDR R3, =aTest_uc_ver @ Load from Memory .text:00013DB0 LDR R0, =logfile_format @ Load from Memory .text:00013DB4 BL printf @ Branch with Link .text:00013DB8 LDRB R1, [SP,#0xC4+var_28] @ Load from Memory .text:00013DBC LDR R0, =aGot02xForInv_1 @ Load from Memory .text:00013DC0 BL printf @ Branch with Link .text:00013DC4 MOV R0, R5 @ Rd = Op2 .text:00013DC8 BL sub_257B4 @ Branch with Link .text:00013DCC .text:00013DCC loc_13DCC: @ CODE XREF: test_uC_ver+37Cj .text:00013DCC LDR R0, [R10] @ fd .text:00013DD0 MOV R1, R9 @ buf .text:00013DD4 MOV R2, #2 @ count .text:00013DD8 BL __libc_read @ Branch with Link .text:00013DDC B loc_13BF4 @ Branch .text:00013DE0 @ --------------------------------------------------------------------------- .text:00013DE0 .text:00013DE0 loc_13DE0: @ CODE XREF: test_uC_ver+110j .text:00013DE0 LDR R3, [R8] @ Load from Memory .text:00013DE4 CMP R3, #2 @ Set cond. codes on Op1 - Op2 .text:00013DE8 BLE loc_13BF4 @ Branch .text:00013DEC MOV R0, R6 @ Rd = Op2 .text:00013DF0 BL time @ Branch with Link .text:00013DF4 LDR R2, =0x51EB851F @ Load from Memory .text:00013DF8 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00013DFC MOV R3, R0,ASR#31 @ Rd = Op2 .text:00013E00 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00013E04 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00013E08 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00013E0C SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00013E10 BL call_gettimeofday @ Branch with Link .text:00013E14 MOV R1, R4 @ Rd = Op2 .text:00013E18 MOV R2, R0 @ Rd = Op2 .text:00013E1C LDR R3, =aTest_uc_ver @ Load from Memory .text:00013E20 LDR R0, =logfile_format @ Load from Memory .text:00013E24 BL printf @ Branch with Link .text:00013E28 LDRB R1, [SP,#0xC4+var_28] @ Load from Memory .text:00013E2C LDR R0, =aGot02xForInv_2 @ Load from Memory .text:00013E30 B loc_13BE8 @ Branch .text:00013E34 @ --------------------------------------------------------------------------- .text:00013E34 .text:00013E34 loc_13E34: @ CODE XREF: test_uC_ver+ECj .text:00013E34 MOV R0, R6 @ Rd = Op2 .text:00013E38 BL time @ Branch with Link .text:00013E3C LDR R2, =0x51EB851F @ Load from Memory .text:00013E40 MOV R4, R0 @ Rd = Op2 .text:00013E44 SMULL R0, R1, R2, R4 @ Signed Multiply long .text:00013E48 MOV R3, R4,ASR#31 @ Rd = Op2 .text:00013E4C RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00013E50 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00013E54 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00013E58 SUB R4, R4, R3,LSL#2 @ Rd = Op1 - Op2 .text:00013E5C BL call_gettimeofday @ Branch with Link .text:00013E60 MOV R1, R4 @ Rd = Op2 .text:00013E64 MOV R2, R0 @ Rd = Op2 .text:00013E68 LDR R3, =aTest_uc_ver @ Load from Memory .text:00013E6C LDR R0, =logfile_format @ Load from Memory .text:00013E70 BL printf @ Branch with Link .text:00013E74 LDRB R1, [SP,#0xC4+var_28] @ Load from Memory .text:00013E78 LDR R0, =a02xI_0 @ Load from Memory .text:00013E7C MOV R2, R1 @ Rd = Op2 .text:00013E80 BL printf @ Branch with Link .text:00013E84 MOV R0, R6 @ Rd = Op2 .text:00013E88 BL sub_257B4 @ Branch with Link .text:00013E8C B loc_13AEC @ Branch .text:00013E90 @ --------------------------------------------------------------------------- .text:00013E90 .text:00013E90 loc_13E90: @ CODE XREF: test_uC_ver+D0j .text:00013E90 STRB R3, [SP,#0xC4+var_28] @ Store to Memory .text:00013E94 B loc_13BF4 @ Branch .text:00013E98 @ --------------------------------------------------------------------------- .text:00013E98 .text:00013E98 loc_13E98: @ CODE XREF: test_uC_ver+34j .text:00013E98 MOV R0, #0 @ Rd = Op2 .text:00013E9C BL time @ Branch with Link .text:00013EA0 LDR R2, =0x51EB851F @ Load from Memory .text:00013EA4 MOV R4, R0 @ Rd = Op2 .text:00013EA8 SMULL R0, R1, R2, R4 @ Signed Multiply long .text:00013EAC MOV R3, R4,ASR#31 @ Rd = Op2 .text:00013EB0 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00013EB4 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00013EB8 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00013EBC SUB R4, R4, R3,LSL#2 @ Rd = Op1 - Op2 .text:00013EC0 BL call_gettimeofday @ Branch with Link .text:00013EC4 MOV R1, R4 @ Rd = Op2 .text:00013EC8 MOV R2, R0 @ Rd = Op2 .text:00013ECC LDR R3, =aTest_uc_ver @ Load from Memory .text:00013ED0 LDR R0, =logfile_format @ Load from Memory .text:00013ED4 BL printf @ Branch with Link .text:00013ED8 LDRB R1, [SP,#0xC4+var_28] @ Load from Memory .text:00013EDC LDR R0, =a02xI @ Load from Memory .text:00013EE0 MOV R2, R1 @ Rd = Op2 .text:00013EE4 BL printf @ Branch with Link .text:00013EE8 MOV R0, #0 @ Rd = Op2 .text:00013EEC BL sub_257B4 @ Branch with Link .text:00013EF0 B loc_13A34 @ Branch .text:00013EF0 @ End of function test_uC_ver .text:00013EF0 .text:00013EF0 @ --------------------------------------------------------------------------- .text:00013EF4 off_13EF4: .long dword_45920 @ DATA XREF: test_uC_ver+4r .text:00013EF4 @ test_uC_ver+54r ... .text:00013EF8 off_13EF8: .long debug_level @ DATA XREF: test_uC_ver+28r .text:00013EF8 @ test_uC_ver+D4r ... .text:00013EFC off_13EFC: .long off_35F40 @ DATA XREF: test_uC_ver+6Cr .text:00013F00 dword_13F00: .long 0x51EB851F @ DATA XREF: test_uC_ver+13Cr .text:00013F00 @ test_uC_ver+1ACr ... .text:00013F04 off_13F04: .long aTest_uc_ver @ DATA XREF: test_uC_ver+168r .text:00013F04 @ test_uC_ver+1D8r ... .text:00013F04 @ "test_uC_ver" .text:00013F08 off_13F08: .long logfile_format @ DATA XREF: test_uC_ver+16Cr .text:00013F08 @ test_uC_ver+1DCr ... .text:00013F08 @ "%02li.%02li:51d :%-10.10s: " .text:00013F0C off_13F0C: .long aGot02xForInval @ DATA XREF: test_uC_ver+178r .text:00013F0C @ "Got %02x for invalid header, must have "... .text:00013F10 off_13F10: .long aGot02xForInv_0 @ DATA XREF: test_uC_ver+1E8r .text:00013F10 @ "Got %02x for invalid header, will check"... .text:00013F14 @ char *off_13F14 .text:00013F14 off_13F14: .long aForce_12_dac @ DATA XREF: test_uC_ver+230r .text:00013F14 @ "FORCE_12_DAC" .text:00013F18 off_13F18: .long aDosPhat @ DATA XREF: test_uC_ver+24Cr .text:00013F18 @ "/dos/phat" .text:00013F1C off_13F1C: .long aUpdate @ DATA XREF: test_uC_ver+250r .text:00013F1C @ "update" .text:00013F20 off_13F20: .long aNoResponseOrBa @ DATA XREF: test_uC_ver+2A0r .text:00013F20 @ "No response, or bad response, will exec"... .text:00013F24 off_13F24: .long aNoResponseOr_0 @ DATA XREF: test_uC_ver+32Cr .text:00013F24 @ "No response, or bad response, disabling"... .text:00013F28 off_13F28: .long aGot02xForInv_1 @ DATA XREF: test_uC_ver+3C0r .text:00013F28 @ "Got %02x for invalid header, must have "... .text:00013F2C off_13F2C: .long aGot02xForInv_2 @ DATA XREF: test_uC_ver+430r .text:00013F2C @ "Got %02x for invalid header, must have "... .text:00013F30 off_13F30: .long a02xI_0 @ DATA XREF: test_uC_ver+47Cr .text:00013F30 @ "\t\t\t\t <============ %02x (%i)\n" .text:00013F34 off_13F34: .long a02xI @ DATA XREF: test_uC_ver+4E0r .text:00013F34 @ "\t\t %02x (%i) ------------>\n" .text:00013F38 .text:00013F38 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00013F38 .text:00013F38 .text:00013F38 run_audio_id: @ CODE XREF: main+A4Cp .text:00013F38 @ main+11B4p ... .text:00013F38 .text:00013F38 var_320 = -0x320 .text:00013F38 var_31C = -0x31C .text:00013F38 var_2DC = -0x2DC .text:00013F38 var_29C = -0x29C .text:00013F38 var_264 = -0x264 .text:00013F38 var_224 = -0x224 .text:00013F38 var_24 = -0x24 .text:00013F38 .text:00013F38 STMFD SP!, {R4-R11,LR} @ Store Block to Memory .text:00013F3C LDR R4, =dword_35FF0 @ Load from Memory .text:00013F40 LDR R3, [R4] @ Load from Memory .text:00013F44 CMN R3, #1 @ Set cond. codes on Op1 + Op2 .text:00013F48 LDREQ R3, =play_mode_0x34 @ Load from Memory .text:00013F4C LDREQ R2, [R3] @ Load from Memory .text:00013F50 MOV R7, R0 @ Rd = Op2 .text:00013F54 STREQ R2, [R4] @ Store to Memory .text:00013F58 CMP R7, #0 @ Set cond. codes on Op1 - Op2 .text:00013F5C SUB SP, SP, #0x2FC @ Rd = Op1 - Op2 .text:00013F60 MOV R8, R1 @ Rd = Op2 .text:00013F64 BLT loc_149D4 @ Branch .text:00013F68 BNE loc_1415C @ Branch .text:00013F6C LDR R3, =dword_35FF8 @ Load from Memory .text:00013F70 LDR R2, [R3] @ Load from Memory .text:00013F74 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00013F78 BNE loc_140A4 @ Branch .text:00013F7C LDR R5, =dword_35F5C @ Load from Memory .text:00013F80 LDR R6, =debug_level @ Load from Memory .text:00013F84 LDR R3, [R5] @ Load from Memory .text:00013F88 LDR R2, [R6] @ Load from Memory .text:00013F8C SUB R3, R3, #1 @ Rd = Op1 - Op2 .text:00013F90 CMP R2, #4 @ Set cond. codes on Op1 - Op2 .text:00013F94 STR R3, [R5] @ Store to Memory .text:00013F98 BGT loc_14054 @ Branch .text:00013F9C .text:00013F9C loc_13F9C: @ CODE XREF: run_audio_id+168j .text:00013F9C LDR R3, [R5] @ Load from Memory .text:00013FA0 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00013FA4 BLE loc_13FB4 @ Branch .text:00013FA8 .text:00013FA8 loc_13FA8: @ CODE XREF: run_audio_id+A4j .text:00013FA8 @ run_audio_id+1A4j ... .text:00013FA8 MOV R0, #0 @ Rd = Op2 .text:00013FAC ADD SP, SP, #0x2FC @ Rd = Op1 + Op2 .text:00013FB0 LDMFD SP!, {R4-R11,PC} @ Load Block from Memory .text:00013FB4 @ --------------------------------------------------------------------------- .text:00013FB4 .text:00013FB4 loc_13FB4: @ CODE XREF: run_audio_id+6Cj .text:00013FB4 LDR R3, [R6] @ Load from Memory .text:00013FB8 CMP R3, #3 @ Set cond. codes on Op1 - Op2 .text:00013FBC BGT loc_14004 @ Branch .text:00013FC0 .text:00013FC0 loc_13FC0: @ CODE XREF: run_audio_id+118j .text:00013FC0 LDR R3, =dword_35F50 @ Load from Memory .text:00013FC4 LDR R2, [R3] @ Load from Memory .text:00013FC8 .text:00013FC8 loc_13FC8: @ DATA XREF: xdtostr:off_29DD4o .text:00013FC8 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00013FCC BEQ loc_13FE0 @ Branch .text:00013FD0 .text:00013FD0 loc_13FD0: @ CODE XREF: run_audio_id+C8j .text:00013FD0 LDR R3, =dword_35FF4 @ Load from Memory .text:00013FD4 STR R7, [R5] @ Store to Memory .text:00013FD8 STR R7, [R3] @ Store to Memory .text:00013FDC B loc_13FA8 @ Branch .text:00013FE0 @ --------------------------------------------------------------------------- .text:00013FE0 .text:00013FE0 loc_13FE0: @ CODE XREF: run_audio_id+94j .text:00013FE0 LDR R3, =dword_45920 @ Load from Memory .text:00013FE4 MOV R12, #0x7F @ '' @ Rd = Op2 .text:00013FE8 LDR R0, [R3] @ Load from Memory .text:00013FEC MOV R1, R7 @ Rd = Op2 .text:00013FF0 MOV R2, R7 @ Rd = Op2 .text:00013FF4 MOV R3, #1 @ Rd = Op2 .text:00013FF8 STR R12, [SP,#0x320+var_320] @ Store to Memory .text:00013FFC BL rw_packet @ Branch with Link .text:00014000 B loc_13FD0 @ Branch .text:00014004 @ --------------------------------------------------------------------------- .text:00014004 .text:00014004 loc_14004: @ CODE XREF: run_audio_id+84j .text:00014004 MOV R0, R7 @ Rd = Op2 .text:00014008 BL time @ Branch with Link .text:0001400C LDR R2, =0x51EB851F @ Load from Memory .text:00014010 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00014014 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00014018 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0001401C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00014020 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00014024 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00014028 BL call_gettimeofday @ Branch with Link .text:0001402C MOV R1, R4 @ Rd = Op2 .text:00014030 MOV R2, R0 @ Rd = Op2 .text:00014034 LDR R3, =aRun_audio_id @ Load from Memory .text:00014038 LDR R0, =logfile_format @ Load from Memory .text:0001403C BL printf @ Branch with Link .text:00014040 LDR R0, =aAudioIdDone @ Load from Memory .text:00014044 BL xdebug_out @ Branch with Link .text:00014048 MOV R0, R7 @ Rd = Op2 .text:0001404C BL sub_257B4 @ Branch with Link .text:00014050 B loc_13FC0 @ Branch .text:00014054 @ --------------------------------------------------------------------------- .text:00014054 .text:00014054 loc_14054: @ CODE XREF: run_audio_id+60j .text:00014054 BL time @ Branch with Link .text:00014058 LDR R2, =0x51EB851F @ Load from Memory .text:0001405C SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00014060 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00014064 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00014068 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0001406C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00014070 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00014074 BL call_gettimeofday @ Branch with Link .text:00014078 MOV R1, R4 @ Rd = Op2 .text:0001407C MOV R2, R0 @ Rd = Op2 .text:00014080 LDR R3, =aRun_audio_id @ Load from Memory .text:00014084 LDR R0, =logfile_format @ Load from Memory .text:00014088 BL printf @ Branch with Link .text:0001408C LDR R1, [R5] @ Load from Memory .text:00014090 LDR R0, =aIStepsLeftBefo @ Load from Memory .text:00014094 BL printf @ Branch with Link .text:00014098 MOV R0, R7 @ Rd = Op2 .text:0001409C BL sub_257B4 @ Branch with Link .text:000140A0 B loc_13F9C @ Branch .text:000140A4 @ --------------------------------------------------------------------------- .text:000140A4 .text:000140A4 loc_140A4: @ CODE XREF: run_audio_id+40j .text:000140A4 LDR R6, =dword_36004 @ Load from Memory .text:000140A8 .text:000140A8 loc_140A8: @ CODE XREF: run_audio_id+1ACj .text:000140A8 LDR R12, [R6] @ Load from Memory .text:000140AC LDR R1, =dword_35FF8 @ Load from Memory .text:000140B0 LDR R3, =dword_36000 @ Load from Memory .text:000140B4 LDR R4, =dword_35FFC @ Load from Memory .text:000140B8 LDR R2, [R1] @ Load from Memory .text:000140BC MOV R1, R12 @ Rd = Op2 .text:000140C0 ADD R12, R12, #1 @ Rd = Op1 + Op2 .text:000140C4 LDR R0, [R3] @ Load from Memory .text:000140C8 STR R12, [R6] @ Store to Memory .text:000140CC LDR R3, [R4] @ Load from Memory .text:000140D0 BL execute_audio_id_command @ Branch with Link .text:000140D4 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000140D8 MOV R5, R0 @ Rd = Op2 .text:000140DC BEQ loc_13FA8 @ Branch .text:000140E0 CMP R5, #2 @ Set cond. codes on Op1 - Op2 .text:000140E4 BNE loc_140A8 @ Branch .text:000140E8 LDR R3, =debug_level @ Load from Memory .text:000140EC LDR R2, [R3] @ Load from Memory .text:000140F0 CMP R2, #3 @ Set cond. codes on Op1 - Op2 .text:000140F4 BGT loc_1410C @ Branch .text:000140F8 .text:000140F8 loc_140F8: @ CODE XREF: run_audio_id+220j .text:000140F8 LDR R3, =dword_35FF4 @ Load from Memory .text:000140FC LDR R2, =dword_35F5C @ Load from Memory .text:00014100 STR R7, [R3] @ Store to Memory .text:00014104 STR R7, [R2] @ Store to Memory .text:00014108 B loc_13FA8 @ Branch .text:0001410C @ --------------------------------------------------------------------------- .text:0001410C .text:0001410C loc_1410C: @ CODE XREF: run_audio_id+1BCj .text:0001410C MOV R0, #0 @ Rd = Op2 .text:00014110 BL time @ Branch with Link .text:00014114 LDR R2, =0x51EB851F @ Load from Memory .text:00014118 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0001411C MOV R3, R0,ASR#31 @ Rd = Op2 .text:00014120 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00014124 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00014128 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0001412C SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00014130 BL call_gettimeofday @ Branch with Link .text:00014134 MOV R1, R4 @ Rd = Op2 .text:00014138 MOV R2, R0 @ Rd = Op2 .text:0001413C LDR R3, =aRun_audio_id @ Load from Memory .text:00014140 LDR R0, =logfile_format @ Load from Memory .text:00014144 BL printf @ Branch with Link .text:00014148 LDR R0, =aDiscAudioIdDon @ Load from Memory .text:0001414C BL xdebug_out @ Branch with Link .text:00014150 MOV R0, #0 @ Rd = Op2 .text:00014154 BL sub_257B4 @ Branch with Link .text:00014158 B loc_140F8 @ Branch .text:0001415C @ --------------------------------------------------------------------------- .text:0001415C .text:0001415C loc_1415C: @ CODE XREF: run_audio_id+30j .text:0001415C CMP R8, #0 @ Set cond. codes on Op1 - Op2 .text:00014160 BNE loc_145D4 @ Branch .text:00014164 LDR R0, =disk_num @ Load from Memory .text:00014168 LDR R3, [R0] @ Load from Memory .text:0001416C CMP R7, R3 @ Set cond. codes on Op1 - Op2 .text:00014170 LDR R2, =dword_35FF8 @ Load from Memory .text:00014174 LDRNE R1, =track_num @ Load from Memory .text:00014178 MOVNE R3, #1 @ Rd = Op2 .text:0001417C STRNE R3, [R1] @ Store to Memory .text:00014180 STR R7, [R2] @ Store to Memory .text:00014184 LDR R3, =dword_35FF4 @ Load from Memory .text:00014188 LDRNE R2, =dword_45840 @ Load from Memory .text:0001418C LDREQ R1, =track_num @ Load from Memory .text:00014190 LDRNE R6, =dword_35F68 @ Load from Memory .text:00014194 STRNE R8, [R2] @ Store to Memory .text:00014198 LDR R2, [R3] @ Load from Memory .text:0001419C LDR R1, [R1] @ Load from Memory .text:000141A0 LDR R5, =dword_35FFC @ Load from Memory .text:000141A4 STRNE R7, [R0] @ Store to Memory .text:000141A8 STRNE R8, [R6] @ Store to Memory .text:000141AC LDREQ R6, =dword_35F68 @ Load from Memory .text:000141B0 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:000141B4 STR R1, [R5] @ Store to Memory .text:000141B8 BEQ loc_142C0 @ Branch .text:000141BC LDR R4, =dword_35F60 @ Load from Memory .text:000141C0 LDR R0, [R4] @ fd .text:000141C4 LDR R9, =dword_36000 @ Load from Memory .text:000141C8 LDR R10, =dword_36004 @ Load from Memory .text:000141CC LDR R12, =dword_35F5C @ Load from Memory .text:000141D0 MOV R3, #1 @ Rd = Op2 .text:000141D4 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000141D8 STR R3, [R12] @ Store to Memory .text:000141DC STR R8, [R6] @ Store to Memory .text:000141E0 STR R8, [R9] @ Store to Memory .text:000141E4 STR R8, [R10] @ Store to Memory .text:000141E8 BLE loc_14204 @ Branch .text:000141EC BL close @ Branch with Link .text:000141F0 LDR R0, [R4,#4] @ fd .text:000141F4 BL close @ Branch with Link .text:000141F8 MOVL R3, 0xFFFFFFFF .text:000141FC STR R3, [R4,#4] @ Store to Memory .text:00014200 STR R3, [R4] @ Store to Memory .text:00014204 .text:00014204 loc_14204: @ CODE XREF: run_audio_id+2B0j .text:00014204 LDR R3, =debug_level @ Load from Memory .text:00014208 LDR R2, [R3] @ Load from Memory .text:0001420C CMP R2, #3 @ Set cond. codes on Op1 - Op2 .text:00014210 BGT loc_14270 @ Branch .text:00014214 .text:00014214 loc_14214: @ CODE XREF: run_audio_id+384j .text:00014214 LDR R8, =dword_35FF8 @ Load from Memory .text:00014218 MOV R7, R9 @ Rd = Op2 .text:0001421C MOV R4, R10 @ Rd = Op2 .text:00014220 MOV R6, R5 @ Rd = Op2 .text:00014224 .text:00014224 loc_14224: @ CODE XREF: run_audio_id+31Cj .text:00014224 LDR R12, [R4] @ Load from Memory .text:00014228 MOV R1, R12 @ Rd = Op2 .text:0001422C ADD R12, R12, #1 @ Rd = Op1 + Op2 .text:00014230 LDR R0, [R7] @ Load from Memory .text:00014234 LDR R2, [R8] @ Load from Memory .text:00014238 LDR R3, [R6] @ Load from Memory .text:0001423C STR R12, [R4] @ Store to Memory .text:00014240 BL execute_audio_id_command @ Branch with Link .text:00014244 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00014248 MOV R5, R0 @ Rd = Op2 .text:0001424C BEQ loc_13FA8 @ Branch .text:00014250 CMP R5, #2 @ Set cond. codes on Op1 - Op2 .text:00014254 BNE loc_14224 @ Branch .text:00014258 .text:00014258 loc_14258: @ CODE XREF: run_audio_id+470j .text:00014258 LDR R2, =dword_35FF4 @ Load from Memory .text:0001425C LDR R1, =dword_35F5C @ Load from Memory .text:00014260 MOV R3, #0 @ Rd = Op2 .text:00014264 STR R3, [R2] @ Store to Memory .text:00014268 STR R3, [R1] @ Store to Memory .text:0001426C B loc_13FA8 @ Branch .text:00014270 @ --------------------------------------------------------------------------- .text:00014270 .text:00014270 loc_14270: @ CODE XREF: run_audio_id+2D8j .text:00014270 MOV R0, R8 @ Rd = Op2 .text:00014274 BL time @ Branch with Link .text:00014278 LDR R2, =0x51EB851F @ Load from Memory .text:0001427C SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00014280 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00014284 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00014288 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0001428C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00014290 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00014294 BL call_gettimeofday @ Branch with Link .text:00014298 MOV R1, R4 @ Rd = Op2 .text:0001429C MOV R2, R0 @ Rd = Op2 .text:000142A0 LDR R3, =aRun_audio_id @ Load from Memory .text:000142A4 LDR R0, =logfile_format @ Load from Memory .text:000142A8 BL printf @ Branch with Link .text:000142AC LDR R0, =aAudioIdFromTra @ Load from Memory .text:000142B0 BL xdebug_out @ Branch with Link .text:000142B4 MOV R0, R8 @ Rd = Op2 .text:000142B8 BL sub_257B4 @ Branch with Link .text:000142BC B loc_14214 @ Branch .text:000142C0 @ --------------------------------------------------------------------------- .text:000142C0 .text:000142C0 loc_142C0: @ CODE XREF: run_audio_id+280j .text:000142C0 LDR R3, =dword_35FF0 @ Load from Memory .text:000142C4 LDR R2, =play_mode_0x34 @ Load from Memory .text:000142C8 LDR R1, [R3] @ Load from Memory .text:000142CC LDR R3, [R2] @ Load from Memory .text:000142D0 CMP R1, R3 @ Set cond. codes on Op1 - Op2 .text:000142D4 BEQ loc_14454 @ Branch .text:000142D8 LDR R3, [R6] @ Load from Memory .text:000142DC CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:000142E0 LDREQ R3, =dword_45840 @ Load from Memory .text:000142E4 LDR R5, =dword_35F94 @ Load from Memory .text:000142E8 LDREQ R2, [R3] @ Load from Memory .text:000142EC STREQ R2, [R6] @ Store to Memory .text:000142F0 LDR R2, [R5] @ Load from Memory .text:000142F4 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:000142F8 LDREQ R7, =debug_level @ Load from Memory .text:000142FC BEQ loc_1431C @ Branch .text:00014300 LDR R7, =debug_level @ Load from Memory .text:00014304 LDR R3, [R7] @ Load from Memory .text:00014308 CMP R3, #4 @ Set cond. codes on Op1 - Op2 .text:0001430C BGT loc_143FC @ Branch .text:00014310 .text:00014310 loc_14310: @ CODE XREF: run_audio_id+518j .text:00014310 MOV R3, #0 @ Rd = Op2 .text:00014314 STR R2, [R6] @ Store to Memory .text:00014318 STR R3, [R5] @ Store to Memory .text:0001431C .text:0001431C loc_1431C: @ CODE XREF: run_audio_id+3C4j .text:0001431C LDR R3, [R7] @ Load from Memory .text:00014320 LDR R9, =dword_36000 @ Load from Memory .text:00014324 LDR R10, =dword_36004 @ Load from Memory .text:00014328 CMP R3, #3 @ Set cond. codes on Op1 - Op2 .text:0001432C MOV R5, #0 @ Rd = Op2 .text:00014330 MOV R3, #2 @ Rd = Op2 .text:00014334 STR R3, [R9] @ Store to Memory .text:00014338 STR R5, [R10] @ Store to Memory .text:0001433C BGT loc_143AC @ Branch .text:00014340 .text:00014340 loc_14340: @ CODE XREF: run_audio_id+4C0j .text:00014340 LDR R3, =play_mode_0x34 @ Load from Memory .text:00014344 LDR R12, =dword_35F5C @ Load from Memory .text:00014348 LDR R0, [R3] @ Load from Memory .text:0001434C LDR R2, =dword_35FF4 @ Load from Memory .text:00014350 LDR R3, =dword_35FF0 @ Load from Memory .text:00014354 LDR R8, =dword_35FF8 @ Load from Memory .text:00014358 LDR R7, =dword_35FFC @ Load from Memory .text:0001435C MOV R1, #1 @ Rd = Op2 .text:00014360 MOV R6, R9 @ Rd = Op2 .text:00014364 MOV R4, R10 @ Rd = Op2 .text:00014368 STR R1, [R12] @ Store to Memory .text:0001436C STR R0, [R3] @ Store to Memory .text:00014370 STR R1, [R2] @ Store to Memory .text:00014374 .text:00014374 loc_14374: @ CODE XREF: run_audio_id+46Cj .text:00014374 LDR R12, [R4] @ Load from Memory .text:00014378 MOV R1, R12 @ Rd = Op2 .text:0001437C ADD R12, R12, #1 @ Rd = Op1 + Op2 .text:00014380 LDR R0, [R6] @ Load from Memory .text:00014384 LDR R2, [R8] @ Load from Memory .text:00014388 LDR R3, [R7] @ Load from Memory .text:0001438C STR R12, [R4] @ Store to Memory .text:00014390 BL execute_audio_id_command @ Branch with Link .text:00014394 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00014398 MOV R5, R0 @ Rd = Op2 .text:0001439C BEQ loc_13FA8 @ Branch .text:000143A0 CMP R5, #2 @ Set cond. codes on Op1 - Op2 .text:000143A4 BNE loc_14374 @ Branch .text:000143A8 B loc_14258 @ Branch .text:000143AC @ --------------------------------------------------------------------------- .text:000143AC .text:000143AC loc_143AC: @ CODE XREF: run_audio_id+404j .text:000143AC MOV R0, R5 @ Rd = Op2 .text:000143B0 BL time @ Branch with Link .text:000143B4 LDR R2, =0x51EB851F @ Load from Memory .text:000143B8 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:000143BC MOV R3, R0,ASR#31 @ Rd = Op2 .text:000143C0 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:000143C4 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:000143C8 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:000143CC SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:000143D0 BL call_gettimeofday @ Branch with Link .text:000143D4 MOV R1, R4 @ Rd = Op2 .text:000143D8 MOV R2, R0 @ Rd = Op2 .text:000143DC LDR R3, =aRun_audio_id @ Load from Memory .text:000143E0 LDR R0, =logfile_format @ Load from Memory .text:000143E4 BL printf @ Branch with Link .text:000143E8 LDR R0, =aAudioIdFromSsa @ Load from Memory .text:000143EC BL xdebug_out @ Branch with Link .text:000143F0 MOV R0, R5 @ Rd = Op2 .text:000143F4 BL sub_257B4 @ Branch with Link .text:000143F8 B loc_14340 @ Branch .text:000143FC @ --------------------------------------------------------------------------- .text:000143FC .text:000143FC loc_143FC: @ CODE XREF: run_audio_id+3D4j .text:000143FC MOV R0, #0 @ Rd = Op2 .text:00014400 BL time @ Branch with Link .text:00014404 LDR R2, =0x51EB851F @ Load from Memory .text:00014408 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0001440C MOV R3, R0,ASR#31 @ Rd = Op2 .text:00014410 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00014414 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00014418 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0001441C SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00014420 BL call_gettimeofday @ Branch with Link .text:00014424 LDR R3, =aRun_audio_id @ Load from Memory .text:00014428 MOV R2, R0 @ Rd = Op2 .text:0001442C MOV R1, R4 @ Rd = Op2 .text:00014430 LDR R0, =logfile_format @ Load from Memory .text:00014434 BL printf @ Branch with Link .text:00014438 LDR R1, [R5] @ Load from Memory .text:0001443C LDR R0, =aSettingResumes @ Load from Memory .text:00014440 BL printf @ Branch with Link .text:00014444 MOV R0, #0 @ Rd = Op2 .text:00014448 BL sub_257B4 @ Branch with Link .text:0001444C LDR R2, [R5] @ Load from Memory .text:00014450 B loc_14310 @ Branch .text:00014454 @ --------------------------------------------------------------------------- .text:00014454 .text:00014454 loc_14454: @ CODE XREF: run_audio_id+39Cj .text:00014454 LDR R3, [R6] @ Load from Memory .text:00014458 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0001445C LDREQ R3, =dword_45840 @ Load from Memory .text:00014460 LDR R5, =dword_35F94 @ Load from Memory .text:00014464 LDREQ R2, [R3] @ Load from Memory .text:00014468 STREQ R2, [R6] @ Store to Memory .text:0001446C LDR R2, [R5] @ Load from Memory .text:00014470 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00014474 LDREQ R7, =debug_level @ Load from Memory .text:00014478 .text:00014478 loc_14478: @ DATA XREF: .text:off_2975Co .text:00014478 BEQ loc_14498 @ Branch .text:0001447C LDR R7, =debug_level @ Load from Memory .text:00014480 LDR R3, [R7] @ Load from Memory .text:00014484 CMP R3, #4 @ Set cond. codes on Op1 - Op2 .text:00014488 BGT loc_1457C @ Branch .text:0001448C .text:0001448C loc_1448C: @ CODE XREF: run_audio_id+698j .text:0001448C MOV R3, #0 @ Rd = Op2 .text:00014490 STR R2, [R6] @ Store to Memory .text:00014494 STR R3, [R5] @ Store to Memory .text:00014498 .text:00014498 loc_14498: @ CODE XREF: run_audio_id:loc_14478j .text:00014498 LDR R3, [R7] @ Load from Memory .text:0001449C LDR R6, =dword_36000 @ Load from Memory .text:000144A0 LDR R9, =dword_36004 @ Load from Memory .text:000144A4 MOV R10, #1 @ Rd = Op2 .text:000144A8 MOV R5, #0 @ Rd = Op2 .text:000144AC CMP R3, #3 @ Set cond. codes on Op1 - Op2 .text:000144B0 STR R10, [R6] @ Store to Memory .text:000144B4 STR R5, [R9] @ Store to Memory .text:000144B8 BGT loc_1452C @ Branch .text:000144BC .text:000144BC loc_144BC: @ CODE XREF: run_audio_id+640j .text:000144BC LDR R3, =dword_35FF4 @ Load from Memory .text:000144C0 LDR R8, =dword_35FF8 @ Load from Memory .text:000144C4 LDR R7, =dword_35FFC @ Load from Memory .text:000144C8 MOV R4, R9 @ Rd = Op2 .text:000144CC STR R10, [R3] @ Store to Memory .text:000144D0 .text:000144D0 loc_144D0: @ CODE XREF: run_audio_id+5C8j .text:000144D0 LDR R12, [R4] @ Load from Memory .text:000144D4 MOV R1, R12 @ Rd = Op2 .text:000144D8 ADD R12, R12, #1 @ Rd = Op1 + Op2 .text:000144DC LDR R0, [R6] @ Load from Memory .text:000144E0 LDR R2, [R8] @ Load from Memory .text:000144E4 LDR R3, [R7] @ Load from Memory .text:000144E8 STR R12, [R4] @ Store to Memory .text:000144EC BL execute_audio_id_command @ Branch with Link .text:000144F0 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000144F4 MOV R5, R0 @ Rd = Op2 .text:000144F8 BEQ loc_14524 @ Branch .text:000144FC CMP R5, #2 @ Set cond. codes on Op1 - Op2 .text:00014500 BNE loc_144D0 @ Branch .text:00014504 LDR R12, =dword_35F5C @ Load from Memory .text:00014508 LDR R3, =dword_35FF4 @ Load from Memory .text:0001450C MOV R2, #0 @ Rd = Op2 .text:00014510 STR R2, [R3] @ Store to Memory .text:00014514 STR R2, [R12] @ Store to Memory .text:00014518 .text:00014518 loc_14518: @ CODE XREF: run_audio_id+5F0j .text:00014518 MOV R3, #1 @ Rd = Op2 .text:0001451C STR R3, [R12] @ Store to Memory .text:00014520 B loc_13FA8 @ Branch .text:00014524 @ --------------------------------------------------------------------------- .text:00014524 .text:00014524 loc_14524: @ CODE XREF: run_audio_id+5C0j .text:00014524 LDR R12, =dword_35F5C @ Load from Memory .text:00014528 B loc_14518 @ Branch .text:0001452C @ --------------------------------------------------------------------------- .text:0001452C .text:0001452C loc_1452C: @ CODE XREF: run_audio_id+580j .text:0001452C MOV R0, R5 @ Rd = Op2 .text:00014530 BL time @ Branch with Link .text:00014534 LDR R2, =0x51EB851F @ Load from Memory .text:00014538 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0001453C MOV R3, R0,ASR#31 @ Rd = Op2 .text:00014540 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00014544 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00014548 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0001454C SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00014550 BL call_gettimeofday @ Branch with Link .text:00014554 MOV R1, R4 @ Rd = Op2 .text:00014558 MOV R2, R0 @ Rd = Op2 .text:0001455C LDR R3, =aRun_audio_id @ Load from Memory .text:00014560 LDR R0, =logfile_format @ Load from Memory .text:00014564 BL printf @ Branch with Link .text:00014568 LDR R0, =aAudioIdFromS_0 @ Load from Memory .text:0001456C BL xdebug_out @ Branch with Link .text:00014570 MOV R0, R5 @ Rd = Op2 .text:00014574 BL sub_257B4 @ Branch with Link .text:00014578 B loc_144BC @ Branch .text:0001457C @ --------------------------------------------------------------------------- .text:0001457C .text:0001457C loc_1457C: @ CODE XREF: run_audio_id+550j .text:0001457C MOV R0, #0 @ Rd = Op2 .text:00014580 BL time @ Branch with Link .text:00014584 LDR R2, =0x51EB851F @ Load from Memory .text:00014588 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0001458C MOV R3, R0,ASR#31 @ Rd = Op2 .text:00014590 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00014594 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00014598 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0001459C SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:000145A0 BL call_gettimeofday @ Branch with Link .text:000145A4 LDR R3, =aRun_audio_id @ Load from Memory .text:000145A8 MOV R2, R0 @ Rd = Op2 .text:000145AC MOV R1, R4 @ Rd = Op2 .text:000145B0 LDR R0, =logfile_format @ Load from Memory .text:000145B4 BL printf @ Branch with Link .text:000145B8 LDR R1, [R5] @ Load from Memory .text:000145BC LDR R0, =aSettingResumes @ Load from Memory .text:000145C0 BL printf @ Branch with Link .text:000145C4 MOV R0, #0 @ Rd = Op2 .text:000145C8 BL sub_257B4 @ Branch with Link .text:000145CC LDR R2, [R5] @ Load from Memory .text:000145D0 B loc_1448C @ Branch .text:000145D4 @ --------------------------------------------------------------------------- .text:000145D4 .text:000145D4 loc_145D4: @ CODE XREF: run_audio_id+228j .text:000145D4 LDR R3, =debug_level @ Load from Memory .text:000145D8 LDR R2, [R3] @ Load from Memory .text:000145DC CMP R2, #3 @ Set cond. codes on Op1 - Op2 .text:000145E0 BGT loc_14984 @ Branch .text:000145E4 .text:000145E4 loc_145E4: @ CODE XREF: run_audio_id+A98j .text:000145E4 MOV R2, #0x40 @ '@' @ Rd = Op2 .text:000145E8 MOV R1, #0 @ Rd = Op2 .text:000145EC ADD R0, SP, #0x320+var_264 @ Rd = Op1 + Op2 .text:000145F0 BL sub_26A4C @ Branch with Link .text:000145F4 LDR R3, =dword_35FF4 @ Load from Memory .text:000145F8 MOV R12, #1 @ Rd = Op2 .text:000145FC STR R12, [R3] @ Store to Memory .text:00014600 LDR R4, =dword_35FF8 @ Load from Memory .text:00014604 LDR R3, =dword_35F5C @ Load from Memory .text:00014608 MOV R5, #0 @ Rd = Op2 .text:0001460C ADD R9, SP, #0x320+var_29C @ Rd = Op1 + Op2 .text:00014610 LDR R1, =aAudioid_3_I @ Load from Memory .text:00014614 MOV R0, R9 @ Rd = Op2 .text:00014618 MOV R2, R5 @ Rd = Op2 .text:0001461C STR R5, [R4] @ Store to Memory .text:00014620 STR R5, [R3] @ Store to Memory .text:00014624 BL xsprintf @ Branch with Link .text:00014628 ADD R6, SP, #0x320+var_2DC @ Rd = Op1 + Op2 .text:0001462C MOV R10, R5 @ Rd = Op2 .text:00014630 MOV R11, R6 @ Rd = Op2 .text:00014634 .text:00014634 loc_14634: @ CODE XREF: run_audio_id+7D8j .text:00014634 LDR R3, =dword_35F84 @ Load from Memory .text:00014638 LDR R0, =aDosPhatbox_ini @ Load from Memory .text:0001463C LDR R1, [R3] @ Load from Memory .text:00014640 MOV R2, R9 @ Rd = Op2 .text:00014644 MOV R3, R6 @ Rd = Op2 .text:00014648 BL xread_ini @ Branch with Link .text:0001464C CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00014650 BNE loc_148F4 @ Branch .text:00014654 LDR R1, =aPlaylist @ Load from Memory .text:00014658 MOV R0, R11 @ Rd = Op2 .text:0001465C BL sub_26AB0 @ Branch with Link .text:00014660 CMP R0, R6 @ Set cond. codes on Op1 - Op2 .text:00014664 BEQ loc_148C0 @ Branch .text:00014668 LDR R1, =aArtist @ Load from Memory .text:0001466C MOV R0, R6 @ Rd = Op2 .text:00014670 BL sub_26AB0 @ Branch with Link .text:00014674 CMP R0, R6 @ Set cond. codes on Op1 - Op2 .text:00014678 BEQ loc_14878 @ Branch .text:0001467C LDR R1, =aAlbum @ Load from Memory .text:00014680 MOV R0, R6 @ Rd = Op2 .text:00014684 BL sub_26AB0 @ Branch with Link .text:00014688 CMP R0, R6 @ Set cond. codes on Op1 - Op2 .text:0001468C BEQ loc_14830 @ Branch .text:00014690 LDR R1, =aGenre @ Load from Memory .text:00014694 MOV R0, R6 @ Rd = Op2 .text:00014698 BL sub_26AB0 @ Branch with Link .text:0001469C CMP R0, R6 @ Set cond. codes on Op1 - Op2 .text:000146A0 BEQ loc_147BC @ Branch .text:000146A4 LDR R1, =aTitle @ Load from Memory .text:000146A8 MOV R0, R6 @ Rd = Op2 .text:000146AC BL sub_26AB0 @ Branch with Link .text:000146B0 CMP R0, R6 @ Set cond. codes on Op1 - Op2 .text:000146B4 BEQ loc_14730 @ Branch .text:000146B8 LDR R1, =aCurmode @ Load from Memory .text:000146BC MOV R0, R6 @ Rd = Op2 .text:000146C0 BL sub_26A68 @ Branch with Link .text:000146C4 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000146C8 BNE loc_14714 @ Branch .text:000146CC LDR R3, =play_mode_0x34 @ Load from Memory .text:000146D0 LDR R1, =aDosTtsBrI_mp3 @ Load from Memory .text:000146D4 LDR R2, [R3] @ Load from Memory .text:000146D8 ADD R4, SP, #0x320+var_224 @ Rd = Op1 + Op2 .text:000146DC .text:000146DC loc_146DC: @ CODE XREF: run_audio_id+8D8j .text:000146DC MOV R0, R4 @ Rd = Op2 .text:000146E0 BL xsprintf @ Branch with Link .text:000146E4 .text:000146E4 loc_146E4: @ CODE XREF: run_audio_id+864j .text:000146E4 @ run_audio_id+880j .text:000146E4 MOV R0, R4 @ Rd = Op2 .text:000146E8 BL sub_26BB0 @ Branch with Link .text:000146EC ADD R2, SP, #0x320+var_24 @ Rd = Op1 + Op2 .text:000146F0 ADD R3, R2, R5,LSL#2 @ Rd = Op1 + Op2 .text:000146F4 ADD R5, R5, #1 @ Rd = Op1 + Op2 .text:000146F8 STR R0, [R3,#-0x240] @ Store to Memory .text:000146FC .text:000146FC loc_146FC: @ CODE XREF: run_audio_id+7F4j .text:000146FC @ run_audio_id+80Cj ... .text:000146FC ADD R10, R10, #1 @ Rd = Op1 + Op2 .text:00014700 MOV R0, R9 @ Rd = Op2 .text:00014704 LDR R1, =aAudioid_3_I @ Load from Memory .text:00014708 MOV R2, R10 @ Rd = Op2 .text:0001470C BL xsprintf @ Branch with Link .text:00014710 B loc_14634 @ Branch .text:00014714 @ --------------------------------------------------------------------------- .text:00014714 .text:00014714 loc_14714: @ CODE XREF: run_audio_id+790j .text:00014714 MOV R0, R6 @ Rd = Op2 .text:00014718 BL sub_26BB0 @ Branch with Link .text:0001471C ADD R2, SP, #0x320+var_24 @ Rd = Op1 + Op2 .text:00014720 ADD R3, R2, R5,LSL#2 @ Rd = Op1 + Op2 .text:00014724 STR R0, [R3,#-0x240] @ Store to Memory .text:00014728 ADD R5, R5, #1 @ Rd = Op1 + Op2 .text:0001472C B loc_146FC @ Branch .text:00014730 @ --------------------------------------------------------------------------- .text:00014730 .text:00014730 loc_14730: @ CODE XREF: run_audio_id+77Cj .text:00014730 MOV R0, R7 @ Rd = Op2 .text:00014734 MOV R1, R8 @ Rd = Op2 .text:00014738 BL phat_songname @ Branch with Link .text:0001473C CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00014740 MOV R4, R0 @ Rd = Op2 .text:00014744 BEQ loc_146FC @ Branch .text:00014748 LDR R1, =aUnknownTitle @ Load from Memory .text:0001474C MOV R2, #0xE @ Rd = Op2 .text:00014750 BL xstrcmp @ Branch with Link .text:00014754 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00014758 BEQ loc_146FC @ Branch .text:0001475C MOV R0, R4 @ Rd = Op2 .text:00014760 BL sub_19548 @ Branch with Link .text:00014764 ADD R4, SP, #0x320+var_224 @ Rd = Op1 + Op2 .text:00014768 MOV R2, R0 @ Rd = Op2 .text:0001476C LDR R1, =aDosDataTtsS_wa @ Load from Memory .text:00014770 MOV R0, R4 @ Rd = Op2 .text:00014774 BL xsprintf @ Branch with Link .text:00014778 MOV R0, R4 @ Rd = Op2 .text:0001477C ADD R1, SP, #0x320+var_31C @ Rd = Op1 + Op2 .text:00014780 BL stat @ Branch with Link .text:00014784 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00014788 BNE loc_146FC @ Branch .text:0001478C LDR R1, =a_title @ Load from Memory .text:00014790 MOV R0, R6 @ Rd = Op2 .text:00014794 BL sub_26AB0 @ Branch with Link .text:00014798 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0001479C BNE loc_146E4 @ Branch .text:000147A0 LDR R0, =aDosTtsTitle_mp @ Load from Memory .text:000147A4 BL sub_26BB0 @ Branch with Link .text:000147A8 ADD R2, SP, #0x320+var_24 @ Rd = Op1 + Op2 .text:000147AC ADD R3, R2, R5,LSL#2 @ Rd = Op1 + Op2 .text:000147B0 ADD R5, R5, #1 @ Rd = Op1 + Op2 .text:000147B4 STR R0, [R3,#-0x240] @ Store to Memory .text:000147B8 B loc_146E4 @ Branch .text:000147BC @ --------------------------------------------------------------------------- .text:000147BC .text:000147BC loc_147BC: @ CODE XREF: run_audio_id+768j .text:000147BC MOV R0, R7 @ Rd = Op2 .text:000147C0 MOV R1, R8 @ Rd = Op2 .text:000147C4 BL phat_genre @ Branch with Link .text:000147C8 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000147CC MOV R4, R0 @ Rd = Op2 .text:000147D0 BEQ loc_146FC @ Branch .text:000147D4 LDR R1, =aUnknownGenre @ Load from Memory .text:000147D8 MOV R2, #0xE @ Rd = Op2 .text:000147DC BL xstrcmp @ Branch with Link .text:000147E0 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000147E4 BEQ loc_146FC @ Branch .text:000147E8 LDR R1, =a_title @ Load from Memory .text:000147EC MOV R0, R6 @ Rd = Op2 .text:000147F0 BL sub_26AB0 @ Branch with Link .text:000147F4 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000147F8 BEQ loc_14814 @ Branch .text:000147FC .text:000147FC loc_147FC: @ CODE XREF: run_audio_id+8F4j .text:000147FC @ run_audio_id+93Cj ... .text:000147FC MOV R0, R4 @ Rd = Op2 .text:00014800 BL sub_19548 @ Branch with Link .text:00014804 LDR R1, =aDosDataTtsS_wa @ Load from Memory .text:00014808 MOV R2, R0 @ Rd = Op2 .text:0001480C ADD R4, SP, #0x320+var_224 @ Rd = Op1 + Op2 .text:00014810 B loc_146DC @ Branch .text:00014814 @ --------------------------------------------------------------------------- .text:00014814 .text:00014814 loc_14814: @ CODE XREF: run_audio_id+8C0j .text:00014814 LDR R0, =aDosTtsGenre_mp @ Load from Memory .text:00014818 .text:00014818 loc_14818: @ CODE XREF: run_audio_id+938j .text:00014818 @ run_audio_id+980j ... .text:00014818 BL sub_26BB0 @ Branch with Link .text:0001481C ADD R2, SP, #0x320+var_24 @ Rd = Op1 + Op2 .text:00014820 ADD R3, R2, R5,LSL#2 @ Rd = Op1 + Op2 .text:00014824 STR R0, [R3,#-0x240] @ Store to Memory .text:00014828 ADD R5, R5, #1 @ Rd = Op1 + Op2 .text:0001482C B loc_147FC @ Branch .text:00014830 @ --------------------------------------------------------------------------- .text:00014830 .text:00014830 loc_14830: @ CODE XREF: run_audio_id+754j .text:00014830 MOV R0, R7 @ Rd = Op2 .text:00014834 MOV R1, R8 @ Rd = Op2 .text:00014838 BL phat_album @ Branch with Link .text:0001483C CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00014840 MOV R4, R0 @ Rd = Op2 .text:00014844 BEQ loc_146FC @ Branch .text:00014848 LDR R1, =aUnknownAlbum @ Load from Memory .text:0001484C MOV R2, #0xE @ Rd = Op2 .text:00014850 BL xstrcmp @ Branch with Link .text:00014854 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00014858 BEQ loc_146FC @ Branch .text:0001485C LDR R1, =a_title @ Load from Memory .text:00014860 MOV R0, R6 @ Rd = Op2 .text:00014864 BL sub_26AB0 @ Branch with Link .text:00014868 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0001486C LDREQ R0, =aDosTtsAlbum_mp @ Load from Memory .text:00014870 BEQ loc_14818 @ Branch .text:00014874 B loc_147FC @ Branch .text:00014878 @ --------------------------------------------------------------------------- .text:00014878 .text:00014878 loc_14878: @ CODE XREF: run_audio_id+740j .text:00014878 MOV R0, R7 @ Rd = Op2 .text:0001487C MOV R1, R8 @ Rd = Op2 .text:00014880 BL phat_artist @ Branch with Link .text:00014884 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00014888 MOV R4, R0 @ Rd = Op2 .text:0001488C BEQ loc_146FC @ Branch .text:00014890 LDR R1, =aUnknownArtist @ Load from Memory .text:00014894 MOV R2, #0xF @ Rd = Op2 .text:00014898 BL xstrcmp @ Branch with Link .text:0001489C CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000148A0 BEQ loc_146FC @ Branch .text:000148A4 LDR R1, =a_title @ Load from Memory .text:000148A8 MOV R0, R6 @ Rd = Op2 .text:000148AC BL sub_26AB0 @ Branch with Link .text:000148B0 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000148B4 LDREQ R0, =aDosTtsArtist_m @ Load from Memory .text:000148B8 BEQ loc_14818 @ Branch .text:000148BC B loc_147FC @ Branch .text:000148C0 @ --------------------------------------------------------------------------- .text:000148C0 .text:000148C0 loc_148C0: @ CODE XREF: run_audio_id+72Cj .text:000148C0 MOV R0, R7 @ Rd = Op2 .text:000148C4 MOV R1, R8 @ Rd = Op2 .text:000148C8 BL phat_playlist @ Branch with Link .text:000148CC CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000148D0 MOV R4, R0 @ Rd = Op2 .text:000148D4 BEQ loc_146FC @ Branch .text:000148D8 LDR R1, =a_title @ Load from Memory .text:000148DC MOV R0, R6 @ Rd = Op2 .text:000148E0 BL sub_26AB0 @ Branch with Link .text:000148E4 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000148E8 LDREQ R0, =aDosTtsPlaylist @ Load from Memory .text:000148EC BEQ loc_14818 @ Branch .text:000148F0 B loc_147FC @ Branch .text:000148F4 @ --------------------------------------------------------------------------- .text:000148F4 .text:000148F4 loc_148F4: @ CODE XREF: run_audio_id+718j .text:000148F4 CMP R5, #0 @ Set cond. codes on Op1 - Op2 .text:000148F8 BEQ loc_14960 @ Branch .text:000148FC LDR R3, [SP,#0x320+var_264] @ Load from Memory .text:00014900 LDR R2, =dword_35F5C @ Load from Memory .text:00014904 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00014908 STR R5, [R2] @ Store to Memory .text:0001490C MOV R5, #0 @ Rd = Op2 .text:00014910 BEQ loc_13FA8 @ Branch .text:00014914 MOV R4, R5 @ Rd = Op2 .text:00014918 .text:00014918 loc_14918: @ CODE XREF: run_audio_id+A20j .text:00014918 ADD R3, SP, #0x320+var_24 @ Rd = Op1 + Op2 .text:0001491C ADD R4, R4, R3 @ Rd = Op1 + Op2 .text:00014920 CMP R5, #0 @ Set cond. codes on Op1 - Op2 .text:00014924 MOVEQ R1, #0 @ Rd = Op2 .text:00014928 .text:00014928 loc_14928: @ DATA XREF: .text:off_292F0o .text:00014928 MOVLNE R1, 0xFFFFFFFF .text:0001492C LDR R0, [R4,#-0x240] @ Load from Memory .text:00014930 BL phat_playfile @ Branch with Link .text:00014934 ADD R5, R5, #1 @ Rd = Op1 + Op2 .text:00014938 LDR R0, [R4,#-0x240] @ Load from Memory .text:0001493C BL sub_27C54 @ Branch with Link .text:00014940 MOV R3, R5,LSL#2 @ Rd = Op2 .text:00014944 MOV R4, R3 @ Rd = Op2 .text:00014948 ADD R3, SP, #0x320+var_24 @ Rd = Op1 + Op2 .text:0001494C ADD R2, R4, R3 @ Rd = Op1 + Op2 .text:00014950 LDR R3, [R2,#-0x240] @ Load from Memory .text:00014954 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00014958 BNE loc_14918 @ Branch .text:0001495C B loc_13FA8 @ Branch .text:00014960 @ --------------------------------------------------------------------------- .text:00014960 .text:00014960 loc_14960: @ CODE XREF: run_audio_id+9C0j .text:00014960 LDR R3, =dword_45920 @ Load from Memory .text:00014964 MOV R1, #0 @ Rd = Op2 .text:00014968 LDR R0, [R3] @ Load from Memory .text:0001496C MOV R12, #0x7F @ '' @ Rd = Op2 .text:00014970 MOV R2, R1 @ Rd = Op2 .text:00014974 MOV R3, #1 @ Rd = Op2 .text:00014978 STR R12, [SP,#0x320+var_320] @ Store to Memory .text:0001497C BL rw_packet @ Branch with Link .text:00014980 B loc_13FA8 @ Branch .text:00014984 @ --------------------------------------------------------------------------- .text:00014984 .text:00014984 loc_14984: @ CODE XREF: run_audio_id+6A8j .text:00014984 MOV R0, #0 @ Rd = Op2 .text:00014988 BL time @ Branch with Link .text:0001498C LDR R2, =0x51EB851F @ Load from Memory .text:00014990 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00014994 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00014998 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0001499C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:000149A0 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:000149A4 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:000149A8 BL call_gettimeofday @ Branch with Link .text:000149AC MOV R1, R4 @ Rd = Op2 .text:000149B0 MOV R2, R0 @ Rd = Op2 .text:000149B4 LDR R3, =aRun_audio_id @ Load from Memory .text:000149B8 LDR R0, =logfile_format @ Load from Memory .text:000149BC BL printf @ Branch with Link .text:000149C0 LDR R0, =aAudioIdForTrac @ Load from Memory .text:000149C4 BL xdebug_out @ Branch with Link .text:000149C8 MOV R0, #0 @ Rd = Op2 .text:000149CC BL sub_257B4 @ Branch with Link .text:000149D0 B loc_145E4 @ Branch .text:000149D4 @ --------------------------------------------------------------------------- .text:000149D4 .text:000149D4 loc_149D4: @ CODE XREF: run_audio_id+2Cj .text:000149D4 CMP R8, #0 @ Set cond. codes on Op1 - Op2 .text:000149D8 LDR R4, =dword_35F60 @ Load from Memory .text:000149DC LDRLT R3, =dword_35FF4 @ Load from Memory .text:000149E0 MOVLT R2, #0 @ Rd = Op2 .text:000149E4 LDR R0, [R4] @ fd .text:000149E8 STRLT R2, [R3] @ Store to Memory .text:000149EC LDR R3, =dword_35F5C @ Load from Memory .text:000149F0 MOV R2, #0 @ Rd = Op2 .text:000149F4 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000149F8 .text:000149F8 loc_149F8: @ DATA XREF: .text:off_28E2Co .text:000149F8 STR R2, [R3] @ Store to Memory .text:000149FC BLE loc_13FA8 @ Branch .text:00014A00 BL close @ Branch with Link .text:00014A04 LDR R0, [R4,#4] @ fd .text:00014A08 BL close @ Branch with Link .text:00014A0C MOVL R3, 0xFFFFFFFF .text:00014A10 STR R3, [R4,#4] @ Store to Memory .text:00014A14 STR R3, [R4] @ Store to Memory .text:00014A18 B loc_13FA8 @ Branch .text:00014A18 @ End of function run_audio_id .text:00014A18 .text:00014A18 @ --------------------------------------------------------------------------- .text:00014A1C off_14A1C: .long dword_35FF0 @ DATA XREF: run_audio_id+4r .text:00014A1C @ run_audio_id:loc_142C0r ... .text:00014A20 off_14A20: .long play_mode_0x34 @ DATA XREF: run_audio_id+10r .text:00014A20 @ run_audio_id+38Cr ... .text:00014A24 off_14A24: .long dword_35FF8 @ DATA XREF: run_audio_id+34r .text:00014A24 @ run_audio_id+174r ... .text:00014A28 off_14A28: .long dword_35F5C @ DATA XREF: run_audio_id+44r .text:00014A28 @ run_audio_id+1C4r ... .text:00014A2C off_14A2C: .long debug_level @ DATA XREF: run_audio_id+48r .text:00014A2C @ run_audio_id+1B0r ... .text:00014A30 off_14A30: .long dword_35F50 @ DATA XREF: run_audio_id:loc_13FC0r .text:00014A34 off_14A34: .long dword_35FF4 @ DATA XREF: run_audio_id:loc_13FD0r .text:00014A34 @ run_audio_id:loc_140F8r ... .text:00014A38 off_14A38: .long dword_45920 @ DATA XREF: run_audio_id:loc_13FE0r .text:00014A38 @ run_audio_id:loc_14960r .text:00014A3C dword_14A3C: .long 0x51EB851F @ DATA XREF: run_audio_id+D4r .text:00014A3C @ run_audio_id+120r ... .text:00014A40 off_14A40: .long aRun_audio_id @ DATA XREF: run_audio_id+FCr .text:00014A40 @ run_audio_id+148r ... .text:00014A40 @ "run_audio_id" .text:00014A44 off_14A44: .long logfile_format @ DATA XREF: run_audio_id+100r .text:00014A44 @ run_audio_id+14Cr ... .text:00014A44 @ "%02li.%02li:51d :%-10.10s: " .text:00014A48 off_14A48: .long aAudioIdDone @ DATA XREF: run_audio_id+108r .text:00014A48 @ "Audio ID Done" .text:00014A4C off_14A4C: .long aIStepsLeftBefo @ DATA XREF: run_audio_id+158r .text:00014A4C @ "%i steps left before Audio ID done\n" .text:00014A50 off_14A50: .long dword_36004 @ DATA XREF: run_audio_id:loc_140A4r .text:00014A50 @ run_audio_id+290r ... .text:00014A54 off_14A54: .long dword_36000 @ DATA XREF: run_audio_id+178r .text:00014A54 @ run_audio_id+28Cr ... .text:00014A58 off_14A58: .long dword_35FFC @ DATA XREF: run_audio_id+17Cr .text:00014A58 @ run_audio_id+268r ... .text:00014A5C off_14A5C: .long aDiscAudioIdDon @ DATA XREF: run_audio_id+210r .text:00014A5C @ "Disc Audio ID Done" .text:00014A60 off_14A60: .long disk_num @ DATA XREF: run_audio_id+22Cr .text:00014A64 off_14A64: .long track_num @ DATA XREF: run_audio_id+23Cr .text:00014A64 @ run_audio_id+254r .text:00014A68 off_14A68: .long dword_45840 @ DATA XREF: run_audio_id+250r .text:00014A68 @ run_audio_id+3A8r ... .text:00014A6C off_14A6C: .long dword_35F68 @ DATA XREF: run_audio_id+258r .text:00014A6C @ run_audio_id+274r .text:00014A70 off_14A70: .long dword_35F60 @ DATA XREF: run_audio_id+284r .text:00014A70 @ run_audio_id+AA0r .text:00014A74 off_14A74: .long aAudioIdFromTra @ DATA XREF: run_audio_id+374r .text:00014A74 @ "Audio ID from track forward/back" .text:00014A78 off_14A78: .long dword_35F94 @ DATA XREF: run_audio_id+3ACr .text:00014A78 @ run_audio_id+528r .text:00014A7C off_14A7C: .long aAudioIdFromSsa @ DATA XREF: run_audio_id+4B0r .text:00014A7C @ "Audio ID from SSA mode switch" .text:00014A80 off_14A80: .long aSettingResumes @ DATA XREF: run_audio_id+504r .text:00014A80 @ run_audio_id+684r .text:00014A80 @ "Setting resumesces to %i\n" .text:00014A84 off_14A84: .long aAudioIdFromS_0 @ DATA XREF: run_audio_id+630r .text:00014A84 @ "Audio ID from SSA mode non-switch" .text:00014A88 off_14A88: .long aAudioid_3_I @ DATA XREF: run_audio_id+6D8r .text:00014A88 @ run_audio_id+7CCr .text:00014A88 @ "audioid.3.%i" .text:00014A8C off_14A8C: .long dword_35F84 @ DATA XREF: run_audio_id:loc_14634r .text:00014A90 off_14A90: .long aDosPhatbox_ini @ DATA XREF: run_audio_id+700r .text:00014A90 @ "/dos/phatbox.ini" .text:00014A94 off_14A94: .long aPlaylist @ DATA XREF: run_audio_id+71Cr .text:00014A94 @ "PLAYLIST" .text:00014A98 off_14A98: .long aArtist @ DATA XREF: run_audio_id+730r .text:00014A98 @ "ARTIST" .text:00014A9C off_14A9C: .long aAlbum @ DATA XREF: run_audio_id+744r .text:00014A9C @ "ALBUM" .text:00014AA0 off_14AA0: .long aGenre @ DATA XREF: run_audio_id+758r .text:00014AA0 @ "GENRE" .text:00014AA4 off_14AA4: .long aTitle @ DATA XREF: run_audio_id+76Cr .text:00014AA4 @ "TITLE" .text:00014AA8 off_14AA8: .long aCurmode @ DATA XREF: run_audio_id+780r .text:00014AA8 @ "CURMODE" .text:00014AAC off_14AAC: .long aDosTtsBrI_mp3 @ DATA XREF: run_audio_id+798r .text:00014AAC @ "/dos/tts/br%i.mp3" .text:00014AB0 off_14AB0: .long aUnknownTitle @ DATA XREF: run_audio_id+810r .text:00014AB0 @ "Unknown Title" .text:00014AB4 off_14AB4: .long aDosDataTtsS_wa @ DATA XREF: run_audio_id+834r .text:00014AB4 @ run_audio_id+8CCr .text:00014AB4 @ "/dos/data/tts/%s.wav" .text:00014AB8 off_14AB8: .long a_title @ DATA XREF: run_audio_id+854r .text:00014AB8 @ run_audio_id+8B0r ... .text:00014AB8 @ "_title" .text:00014ABC off_14ABC: .long aDosTtsTitle_mp @ DATA XREF: run_audio_id+868r .text:00014ABC @ "/dos/tts/title.mp3" .text:00014AC0 off_14AC0: .long aUnknownGenre @ DATA XREF: run_audio_id+89Cr .text:00014AC0 @ "Unknown Genre" .text:00014AC4 off_14AC4: .long aDosTtsGenre_mp @ DATA XREF: run_audio_id:loc_14814r .text:00014AC4 @ "/dos/tts/genre.mp3" .text:00014AC8 off_14AC8: .long aUnknownAlbum @ DATA XREF: run_audio_id+910r .text:00014AC8 @ "Unknown Album" .text:00014ACC off_14ACC: .long aDosTtsAlbum_mp @ DATA XREF: run_audio_id+934r .text:00014ACC @ "/dos/tts/album.mp3" .text:00014AD0 off_14AD0: .long aUnknownArtist @ DATA XREF: run_audio_id+958r .text:00014AD0 @ "Unknown Artist" .text:00014AD4 off_14AD4: .long aDosTtsArtist_m @ DATA XREF: run_audio_id+97Cr .text:00014AD4 @ "/dos/tts/artist.mp3" .text:00014AD8 off_14AD8: .long aDosTtsPlaylist @ DATA XREF: run_audio_id+9B0r .text:00014AD8 @ "/dos/tts/playlist.mp3" .text:00014ADC off_14ADC: .long aAudioIdForTrac @ DATA XREF: run_audio_id+A88r .text:00014ADC @ "Audio ID for Track" .text:00014AE0 .text:00014AE0 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00014AE0 .text:00014AE0 .text:00014AE0 start_wait: @ CODE XREF: main+12F4p .text:00014AE0 @ execute_audio_id_command+3ECp .text:00014AE0 .text:00014AE0 var_1C = -0x1C .text:00014AE0 var_18 = -0x18 .text:00014AE0 var_14 = -0x14 .text:00014AE0 var_10 = -0x10 .text:00014AE0 .text:00014AE0 STMFD SP!, {R4,R5,LR} @ Store Block to Memory .text:00014AE4 LDR R5, =dword_35F60 @ Load from Memory .text:00014AE8 LDR R3, [R5] @ Load from Memory .text:00014AEC CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00014AF0 MOV R4, R0 @ Rd = Op2 .text:00014AF4 SUB SP, SP, #0x10 @ Rd = Op1 - Op2 .text:00014AF8 MOV R0, R3 @ fd .text:00014AFC BLE loc_14B0C @ Branch .text:00014B00 BL close @ Branch with Link .text:00014B04 LDR R0, [R5,#4] @ fd .text:00014B08 BL close @ Branch with Link .text:00014B0C .text:00014B0C loc_14B0C: @ CODE XREF: start_wait+1Cj .text:00014B0C MOV R0, R5 @ Rd = Op2 .text:00014B10 BL pipe @ Branch with Link .text:00014B14 MOV R3, #0 @ Rd = Op2 .text:00014B18 STR R3, [SP,#0x1C+var_18] @ Store to Memory .text:00014B1C STR R3, [SP,#0x1C+var_1C] @ Store to Memory .text:00014B20 MOV R0, R4 @ Rd = Op2 .text:00014B24 BL sysv_signal_0x0_0xA @ Branch with Link .text:00014B28 MOV R1, #0x2E @ '.' @ Rd = Op2 .text:00014B2C MOV R3, R0 @ Rd = Op2 .text:00014B30 MOV R0, R4 @ Rd = Op2 .text:00014B34 STR R3, [SP,#0x1C+var_14] @ Store to Memory .text:00014B38 BL sub_26B4C @ Branch with Link .text:00014B3C MOV R3, R0 @ Rd = Op2 .text:00014B40 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00014B44 MOV R0, R4 @ Rd = Op2 .text:00014B48 MOV R1, #0x2E @ '.' @ Rd = Op2 .text:00014B4C BNE loc_14BD8 @ Branch .text:00014B50 STR R3, [SP,#0x1C+var_10] @ Store to Memory .text:00014B54 .text:00014B54 loc_14B54: @ CODE XREF: start_wait+118j .text:00014B54 LDR R3, =debug_level @ Load from Memory .text:00014B58 LDR R2, [R3] @ Load from Memory .text:00014B5C CMP R2, #9 @ Set cond. codes on Op1 - Op2 .text:00014B60 MOV R0, #0 @ Rd = Op2 .text:00014B64 BGT loc_14B84 @ Branch .text:00014B68 .text:00014B68 loc_14B68: @ CODE XREF: start_wait+F4j .text:00014B68 MOV R0, #0 @ Rd = Op2 .text:00014B6C MOV R1, SP @ Rd = Op2 .text:00014B70 MOV R2, R0 @ Rd = Op2 .text:00014B74 BL setitimer @ Branch with Link .text:00014B78 MOV R0, #0 @ Rd = Op2 .text:00014B7C ADD SP, SP, #0x10 @ Rd = Op1 + Op2 .text:00014B80 LDMFD SP!, {R4,R5,PC} @ Load Block from Memory .text:00014B84 @ --------------------------------------------------------------------------- .text:00014B84 .text:00014B84 loc_14B84: @ CODE XREF: start_wait+84j .text:00014B84 BL time @ Branch with Link .text:00014B88 LDR R2, =0x51EB851F @ Load from Memory .text:00014B8C SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00014B90 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00014B94 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00014B98 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00014B9C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00014BA0 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00014BA4 BL call_gettimeofday @ Branch with Link .text:00014BA8 MOV R1, R4 @ Rd = Op2 .text:00014BAC MOV R2, R0 @ Rd = Op2 .text:00014BB0 LDR R3, =aStart_wait @ Load from Memory .text:00014BB4 LDR R0, =logfile_format @ Load from Memory .text:00014BB8 BL printf @ Branch with Link .text:00014BBC ADD R1, SP, #0x1C+var_14 @ Rd = Op1 + Op2 .text:00014BC0 LDMIA R1, {R1,R2} @ Load Block from Memory .text:00014BC4 LDR R0, =aSleepLiSecLiUs @ Load from Memory .text:00014BC8 BL printf @ Branch with Link .text:00014BCC MOV R0, #0 @ Rd = Op2 .text:00014BD0 BL sub_257B4 @ Branch with Link .text:00014BD4 B loc_14B68 @ Branch .text:00014BD8 @ --------------------------------------------------------------------------- .text:00014BD8 .text:00014BD8 loc_14BD8: @ CODE XREF: start_wait+6Cj .text:00014BD8 BL sub_26B4C @ Branch with Link .text:00014BDC ADD R0, R0, #1 @ Rd = Op1 + Op2 .text:00014BE0 BL sysv_signal_0x0_0xA @ Branch with Link .text:00014BE4 RSB R3, R0, R0,LSL#5 @ Rd = Op2 - Op1 .text:00014BE8 ADD R0, R0, R3,LSL#2 @ Rd = Op1 + Op2 .text:00014BEC ADD R0, R0, R0,LSL#2 @ Rd = Op1 + Op2 .text:00014BF0 MOV R0, R0,LSL#4 @ Rd = Op2 .text:00014BF4 STR R0, [SP,#0x1C+var_10] @ Store to Memory .text:00014BF8 B loc_14B54 @ Branch .text:00014BF8 @ End of function start_wait .text:00014BF8 .text:00014BF8 @ --------------------------------------------------------------------------- .text:00014BFC off_14BFC: .long dword_35F60 @ DATA XREF: start_wait+4r .text:00014C00 off_14C00: .long debug_level @ DATA XREF: start_wait:loc_14B54r .text:00014C04 dword_14C04: .long 0x51EB851F @ DATA XREF: start_wait+A8r .text:00014C08 off_14C08: .long aStart_wait @ DATA XREF: start_wait+D0r .text:00014C08 @ "start_wait" .text:00014C0C off_14C0C: .long logfile_format @ DATA XREF: start_wait+D4r .text:00014C0C @ "%02li.%02li:51d :%-10.10s: " .text:00014C10 off_14C10: .long aSleepLiSecLiUs @ DATA XREF: start_wait+E4r .text:00014C10 @ "Sleep %li sec, %li usec\n" .text:00014C14 .text:00014C14 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00014C14 .text:00014C14 .text:00014C14 execute_audio_id_command: @ CODE XREF: run_audio_id+198p .text:00014C14 @ run_audio_id+308p ... .text:00014C14 .text:00014C14 var_4B4 = -0x4B4 .text:00014C14 var_4AC = -0x4AC .text:00014C14 var_4A8 = -0x4A8 .text:00014C14 var_4A4 = -0x4A4 .text:00014C14 var_4A0 = -0x4A0 .text:00014C14 var_49C = -0x49C .text:00014C14 var_41C = -0x41C .text:00014C14 var_21C = -0x21C .text:00014C14 var_218 = -0x218 .text:00014C14 var_24 = -0x24 .text:00014C14 .text:00014C14 STMFD SP!, {R4-R8,R10,LR} @ Store Block to Memory .text:00014C18 CMP R1, #0 @ Set cond. codes on Op1 - Op2 .text:00014C1C SUB SP, SP, #0x490 @ Rd = Op1 - Op2 .text:00014C20 SUB SP, SP, #8 @ Rd = Op1 - Op2 .text:00014C24 MOV R8, R3 @ Rd = Op2 .text:00014C28 LDREQ R3, =dword_36008 @ Load from Memory .text:00014C2C MOV R5, R1 @ Rd = Op2 .text:00014C30 ADD R7, SP, #0x4B4+var_21C @ Rd = Op1 + Op2 .text:00014C34 MOV R1, #0 @ Rd = Op2 .text:00014C38 STR R1, [SP,#0x4B4+var_4A0] @ Store to Memory .text:00014C3C MOV R10, R2 @ Rd = Op2 .text:00014C40 STREQ R5, [R3] @ Store to Memory .text:00014C44 LDR R2, =aAudioid_I_I @ Load from Memory .text:00014C48 MOV R3, R0 @ Rd = Op2 .text:00014C4C MOV R1, #0x200 @ Rd = Op2 .text:00014C50 MOV R0, R7 @ Rd = Op2 .text:00014C54 STR R5, [SP,#0x4B4+var_4B4] @ Store to Memory .text:00014C58 BL sub_26838 @ Branch with Link .text:00014C5C LDR R3, =dword_35F84 @ Load from Memory .text:00014C60 ADD R6, SP, #0x4B4+var_41C @ Rd = Op1 + Op2 .text:00014C64 LDR R1, [R3] @ Load from Memory .text:00014C68 LDR R0, =aDosPhatbox_ini @ Load from Memory .text:00014C6C MOV R2, R7 @ Rd = Op2 .text:00014C70 MOV R3, R6 @ Rd = Op2 .text:00014C74 BL xread_ini @ Branch with Link .text:00014C78 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00014C7C MOVNE R0, #2 @ Rd = Op2 .text:00014C80 BNE loc_14D90 @ Branch .text:00014C84 CMP R5, #0 @ Set cond. codes on Op1 - Op2 .text:00014C88 BNE loc_14CB8 @ Branch .text:00014C8C LDR R4, =dword_35FB0 @ Load from Memory .text:00014C90 LDR R3, [R4] @ Load from Memory .text:00014C94 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00014C98 BEQ loc_14CB8 @ Branch .text:00014C9C LDR R3, =aBeepwait @ Load from Memory .text:00014CA0 LDMIA R3, {R0-R2} @ Load Block from Memory .text:00014CA4 MOV R3, R6 @ Rd = Op2 .text:00014CA8 STR R6, [SP,#0x4B4+var_4AC] @ Store to Memory .text:00014CAC STMIA R3!, {R0,R1} @ Store Block to Memory .text:00014CB0 STR R5, [R4] @ Store to Memory .text:00014CB4 STRB R2, [R3] @ Store to Memory .text:00014CB8 .text:00014CB8 loc_14CB8: @ CODE XREF: execute_audio_id_command+74j .text:00014CB8 @ execute_audio_id_command+84j .text:00014CB8 LDR R1, =aPlay @ Load from Memory .text:00014CBC MOV R0, R6 @ Rd = Op2 .text:00014CC0 BL sub_26AB0 @ Branch with Link .text:00014CC4 CMP R0, R6 @ Set cond. codes on Op1 - Op2 .text:00014CC8 BEQ loc_150FC @ Branch .text:00014CCC LDR R1, =aEnd @ Load from Memory .text:00014CD0 MOV R0, R6 @ Rd = Op2 .text:00014CD4 BL sub_26AB0 @ Branch with Link .text:00014CD8 CMP R0, R6 @ Set cond. codes on Op1 - Op2 .text:00014CDC BEQ loc_150CC @ Branch .text:00014CE0 LDR R1, =aSync @ Load from Memory .text:00014CE4 MOV R0, R6 @ Rd = Op2 .text:00014CE8 BL sub_26AB0 @ Branch with Link .text:00014CEC CMP R0, R6 @ Set cond. codes on Op1 - Op2 .text:00014CF0 BEQ loc_150C4 @ Branch .text:00014CF4 LDR R1, =aStop @ Load from Memory .text:00014CF8 MOV R0, R6 @ Rd = Op2 .text:00014CFC BL sub_26AB0 @ Branch with Link .text:00014D00 CMP R0, R6 @ Set cond. codes on Op1 - Op2 .text:00014D04 BEQ loc_1507C @ Branch .text:00014D08 LDR R1, =aCurrent @ Load from Memory .text:00014D0C MOV R0, R6 @ Rd = Op2 .text:00014D10 BL sub_26AB0 @ Branch with Link .text:00014D14 CMP R0, R6 @ Set cond. codes on Op1 - Op2 .text:00014D18 BEQ loc_1505C @ Branch .text:00014D1C LDR R1, =aBrowsing @ Load from Memory .text:00014D20 MOV R0, R6 @ Rd = Op2 .text:00014D24 BL sub_26AB0 @ Branch with Link .text:00014D28 CMP R0, R6 @ Set cond. codes on Op1 - Op2 .text:00014D2C BEQ loc_1503C @ Branch .text:00014D30 LDR R1, =aHelp_0 @ Load from Memory .text:00014D34 MOV R0, R6 @ Rd = Op2 .text:00014D38 BL sub_26AB0 @ Branch with Link .text:00014D3C CMP R0, R6 @ Set cond. codes on Op1 - Op2 .text:00014D40 BEQ loc_15024 @ Branch .text:00014D44 LDR R1, =aTitle @ Load from Memory .text:00014D48 MOV R0, R6 @ Rd = Op2 .text:00014D4C BL sub_26AB0 @ Branch with Link .text:00014D50 CMP R0, R6 @ Set cond. codes on Op1 - Op2 .text:00014D54 BEQ loc_15008 @ Branch .text:00014D58 LDR R1, =(aBeepwait+4) @ Load from Memory .text:00014D5C MOV R0, R6 @ Rd = Op2 .text:00014D60 BL sub_26AB0 @ Branch with Link .text:00014D64 CMP R0, R6 @ Set cond. codes on Op1 - Op2 .text:00014D68 BEQ loc_14FFC @ Branch .text:00014D6C LDR R1, =aBeepwait @ Load from Memory .text:00014D70 MOV R0, R6 @ Rd = Op2 .text:00014D74 BL sub_26AB0 @ Branch with Link .text:00014D78 CMP R0, R6 @ Set cond. codes on Op1 - Op2 .text:00014D7C MOVNE R0, R6 @ Rd = Op2 .text:00014D80 BEQ loc_14D9C @ Branch .text:00014D84 .text:00014D84 loc_14D84: @ CODE XREF: execute_audio_id_command+40Cj .text:00014D84 MOV R1, #0 @ Rd = Op2 .text:00014D88 BL phat_playfile @ Branch with Link .text:00014D8C .text:00014D8C loc_14D8C: @ CODE XREF: execute_audio_id_command+2BCj .text:00014D8C @ execute_audio_id_command+30Cj ... .text:00014D8C MOV R0, #0 @ Rd = Op2 .text:00014D90 .text:00014D90 loc_14D90: @ CODE XREF: execute_audio_id_command+6Cj .text:00014D90 @ execute_audio_id_command+2ACj .text:00014D90 ADD SP, SP, #0x98 @ Rd = Op1 + Op2 .text:00014D94 ADD SP, SP, #0x400 @ Rd = Op1 + Op2 .text:00014D98 LDMFD SP!, {R4-R8,R10,PC} @ Load Block from Memory .text:00014D9C @ --------------------------------------------------------------------------- .text:00014D9C .text:00014D9C loc_14D9C: @ CODE XREF: execute_audio_id_command+16Cj .text:00014D9C MOV R3, #0 @ Rd = Op2 .text:00014DA0 ADD R7, SP, #0x4B4+var_49C @ Rd = Op1 + Op2 .text:00014DA4 MOV R2, R3 @ Rd = Op2 .text:00014DA8 .text:00014DA8 loc_14DA8: @ CODE XREF: execute_audio_id_command+1A0j .text:00014DA8 STR R2, [R7,R3,LSL#2] @ Store to Memory .text:00014DAC ADD R3, R3, #1 @ Rd = Op1 + Op2 .text:00014DB0 CMP R3, #0x1F @ Set cond. codes on Op1 - Op2 .text:00014DB4 BLS loc_14DA8 @ Branch .text:00014DB8 BL get_phatsock_fd2 @ Branch with Link .text:00014DBC ADD R2, SP, #0x4B4+var_24 @ Rd = Op1 + Op2 .text:00014DC0 ADD R2, R2, #8 @ Rd = Op1 + Op2 .text:00014DC4 MOV R0, R0,LSR#5 @ Rd = Op2 .text:00014DC8 ADD R5, R2, R0,LSL#2 @ Rd = Op1 + Op2 .text:00014DCC BL get_phatsock_fd2 @ Branch with Link .text:00014DD0 LDR R2, [R5,#-0x480] @ Load from Memory .text:00014DD4 MOV R3, #1 @ Rd = Op2 .text:00014DD8 AND R0, R0, #0x1F @ Rd = Op1 & Op2 .text:00014DDC ORR R2, R2, R3,LSL R0 @ Rd = Op2 | Op1 .text:00014DE0 MOV R6, #0 @ Rd = Op2 .text:00014DE4 STR R2, [R5,#-0x480] @ Store to Memory .text:00014DE8 STR R6, [SP,#0x4B4+var_4A8] @ Store to Memory .text:00014DEC STR R6, [SP,#0x4B4+var_4A4] @ Store to Memory .text:00014DF0 BL get_phatsock_fd2 @ Branch with Link .text:00014DF4 MOV R2, R6 @ Rd = Op2 .text:00014DF8 ADD R6, SP, #0x4B4+var_49C @ Rd = Op1 + Op2 .text:00014DFC ADD R0, R0, #1 @ Rd = Op1 + Op2 .text:00014E00 SUB R6, R6, #0xC @ Rd = Op1 - Op2 .text:00014E04 MOV R1, R7 @ Rd = Op2 .text:00014E08 MOV R3, R2 @ Rd = Op2 .text:00014E0C STR R6, [SP,#0x4B4+var_4B4] @ Store to Memory .text:00014E10 BL newselect @ Branch with Link .text:00014E14 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00014E18 BLT loc_14F74 @ Branch .text:00014E1C .text:00014E1C loc_14E1C: @ CODE XREF: execute_audio_id_command+398j .text:00014E1C CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00014E20 BLE loc_14E74 @ Branch .text:00014E24 BL get_phatsock_fd2 @ Branch with Link .text:00014E28 ADD R4, SP, #0x4B4+var_24 @ Rd = Op1 + Op2 .text:00014E2C MOV R0, R0,LSR#5 @ Rd = Op2 .text:00014E30 ADD R4, R4, #8 @ Rd = Op1 + Op2 .text:00014E34 ADD R5, R4, R0,LSL#2 @ Rd = Op1 + Op2 .text:00014E38 BL get_phatsock_fd2 @ Branch with Link .text:00014E3C LDR R3, [R5,#-0x480] @ Load from Memory .text:00014E40 AND R0, R0, #0x1F @ Rd = Op1 & Op2 .text:00014E44 MOV R3, R3,ASR R0 @ Rd = Op2 .text:00014E48 TST R3, #1 @ Set cond. codes on Op1 & Op2 .text:00014E4C BEQ loc_14E74 @ Branch .text:00014E50 LDR R3, =debug_level @ Load from Memory .text:00014E54 LDR R2, [R3] @ Load from Memory .text:00014E58 CMP R2, #4 @ Set cond. codes on Op1 - Op2 .text:00014E5C BGT loc_14F24 @ Branch .text:00014E60 .text:00014E60 loc_14E60: @ CODE XREF: execute_audio_id_command+35Cj .text:00014E60 MOV R0, #0 @ Rd = Op2 .text:00014E64 MOV R1, R0 @ Rd = Op2 .text:00014E68 MOV R2, R0 @ Rd = Op2 .text:00014E6C MOV R3, R0 @ Rd = Op2 .text:00014E70 BL phat_recv_status @ Branch with Link .text:00014E74 .text:00014E74 loc_14E74: @ CODE XREF: execute_audio_id_command+20Cj .text:00014E74 @ execute_audio_id_command+238j .text:00014E74 LDR R3, =aNull @ Load from Memory .text:00014E78 LDMIA R3, {R0,R1} @ Load Block from Memory .text:00014E7C ADD R4, SP, #0x4B4+var_21C @ Rd = Op1 + Op2 .text:00014E80 STR R0, [SP,#0x4B4+var_21C] @ Store to Memory .text:00014E84 ADD R3, SP, #0x4B4+var_218 @ Rd = Op1 + Op2 .text:00014E88 MOV R0, #0 @ Rd = Op2 .text:00014E8C STRB R1, [R3] @ Store to Memory .text:00014E90 MOV R2, R0 @ Rd = Op2 .text:00014E94 MOV R1, R0 @ Rd = Op2 .text:00014E98 MOV R3, R4 @ Rd = Op2 .text:00014E9C BL phat_status @ Branch with Link .text:00014EA0 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00014EA4 BEQ loc_14EBC @ Branch .text:00014EA8 LDR R1, =aDosTtsBeep @ Load from Memory .text:00014EAC MOV R0, R4 @ Rd = Op2 .text:00014EB0 BL sub_26AB0 @ Branch with Link .text:00014EB4 CMP R0, R4 @ Set cond. codes on Op1 - Op2 .text:00014EB8 BEQ loc_14EC4 @ Branch .text:00014EBC .text:00014EBC loc_14EBC: @ CODE XREF: execute_audio_id_command+290j .text:00014EBC @ execute_audio_id_command+444j ... .text:00014EBC MOV R0, #1 @ Rd = Op2 .text:00014EC0 B loc_14D90 @ Branch .text:00014EC4 @ --------------------------------------------------------------------------- .text:00014EC4 .text:00014EC4 loc_14EC4: @ CODE XREF: execute_audio_id_command+2A4j .text:00014EC4 LDR R3, =debug_level @ Load from Memory .text:00014EC8 LDR R2, [R3] @ Load from Memory .text:00014ECC CMP R2, #4 @ Set cond. codes on Op1 - Op2 .text:00014ED0 BLE loc_14D8C @ Branch .text:00014ED4 MOV R0, #0 @ Rd = Op2 .text:00014ED8 BL time @ Branch with Link .text:00014EDC LDR R2, =0x51EB851F @ Load from Memory .text:00014EE0 SMULL R4, R1, R2, R0 @ Signed Multiply long .text:00014EE4 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00014EE8 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00014EEC ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00014EF0 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00014EF4 SUB R5, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00014EF8 BL call_gettimeofday @ Branch with Link .text:00014EFC MOV R1, R5 @ Rd = Op2 .text:00014F00 MOV R2, R0 @ Rd = Op2 .text:00014F04 LDR R3, =aExecute_audio_ @ Load from Memory .text:00014F08 LDR R0, =logfile_format @ Load from Memory .text:00014F0C BL printf @ Branch with Link .text:00014F10 LDR R0, =aWaitForBeepToF @ Load from Memory .text:00014F14 BL xdebug_out @ Branch with Link .text:00014F18 MOV R0, #0 @ Rd = Op2 .text:00014F1C BL sub_257B4 @ Branch with Link .text:00014F20 B loc_14D8C @ Branch .text:00014F24 @ --------------------------------------------------------------------------- .text:00014F24 .text:00014F24 loc_14F24: @ CODE XREF: execute_audio_id_command+248j .text:00014F24 MOV R0, #0 @ Rd = Op2 .text:00014F28 BL time @ Branch with Link .text:00014F2C LDR R2, =0x51EB851F @ Load from Memory .text:00014F30 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00014F34 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00014F38 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00014F3C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00014F40 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00014F44 SUB R5, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00014F48 BL call_gettimeofday @ Branch with Link .text:00014F4C MOV R1, R5 @ Rd = Op2 .text:00014F50 MOV R2, R0 @ Rd = Op2 .text:00014F54 LDR R3, =aExecute_audio_ @ Load from Memory .text:00014F58 LDR R0, =logfile_format @ Load from Memory .text:00014F5C BL printf @ Branch with Link .text:00014F60 LDR R0, =aFlushThisStatu @ Load from Memory .text:00014F64 BL xdebug_out @ Branch with Link .text:00014F68 MOV R0, #0 @ Rd = Op2 .text:00014F6C BL sub_257B4 @ Branch with Link .text:00014F70 B loc_14E60 @ Branch .text:00014F74 @ --------------------------------------------------------------------------- .text:00014F74 .text:00014F74 loc_14F74: @ CODE XREF: execute_audio_id_command+204j .text:00014F74 @ execute_audio_id_command+394j .text:00014F74 LDR R3, =debug_level @ Load from Memory .text:00014F78 LDR R2, [R3] @ Load from Memory .text:00014F7C CMP R2, #4 @ Set cond. codes on Op1 - Op2 .text:00014F80 MOV R0, #0 @ Rd = Op2 .text:00014F84 BGT loc_14FB0 @ Branch .text:00014F88 .text:00014F88 loc_14F88: @ CODE XREF: execute_audio_id_command+3E4j .text:00014F88 BL get_phatsock_fd2 @ Branch with Link .text:00014F8C MOV R2, #0 @ Rd = Op2 .text:00014F90 ADD R0, R0, #1 @ Rd = Op1 + Op2 .text:00014F94 MOV R1, R7 @ Rd = Op2 .text:00014F98 MOV R3, R2 @ Rd = Op2 .text:00014F9C STR R6, [SP,#0x4B4+var_4B4] @ Store to Memory .text:00014FA0 BL newselect @ Branch with Link .text:00014FA4 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00014FA8 BLT loc_14F74 @ Branch .text:00014FAC B loc_14E1C @ Branch .text:00014FB0 @ --------------------------------------------------------------------------- .text:00014FB0 .text:00014FB0 loc_14FB0: @ CODE XREF: execute_audio_id_command+370j .text:00014FB0 BL time @ Branch with Link .text:00014FB4 LDR R2, =0x51EB851F @ Load from Memory .text:00014FB8 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00014FBC MOV R3, R0,ASR#31 @ Rd = Op2 .text:00014FC0 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00014FC4 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00014FC8 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00014FCC SUB R5, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00014FD0 BL call_gettimeofday @ Branch with Link .text:00014FD4 MOV R1, R5 @ Rd = Op2 .text:00014FD8 MOV R2, R0 @ Rd = Op2 .text:00014FDC LDR R3, =aExecute_audio_ @ Load from Memory .text:00014FE0 LDR R0, =logfile_format @ Load from Memory .text:00014FE4 BL printf @ Branch with Link .text:00014FE8 LDR R0, =aSomeSillySigna @ Load from Memory .text:00014FEC BL xdebug_out @ Branch with Link .text:00014FF0 MOV R0, #0 @ Rd = Op2 .text:00014FF4 BL sub_257B4 @ Branch with Link .text:00014FF8 B loc_14F88 @ Branch .text:00014FFC @ --------------------------------------------------------------------------- .text:00014FFC .text:00014FFC loc_14FFC: @ CODE XREF: execute_audio_id_command+154j .text:00014FFC ADD R0, R6, #5 @ Rd = Op1 + Op2 .text:00015000 BL start_wait @ Branch with Link .text:00015004 B loc_14D8C @ Branch .text:00015008 @ --------------------------------------------------------------------------- .text:00015008 .text:00015008 loc_15008: @ CODE XREF: execute_audio_id_command+140j .text:00015008 MOV R2, R10 @ Rd = Op2 .text:0001500C LDR R1, =aTts_I_I @ Load from Memory .text:00015010 MOV R3, R8 @ Rd = Op2 .text:00015014 MOV R0, R7 @ Rd = Op2 .text:00015018 BL xsprintf @ Branch with Link .text:0001501C .text:0001501C loc_1501C: @ CODE XREF: execute_audio_id_command+424j .text:0001501C MOV R0, R7 @ Rd = Op2 .text:00015020 B loc_14D84 @ Branch .text:00015024 @ --------------------------------------------------------------------------- .text:00015024 .text:00015024 loc_15024: @ CODE XREF: execute_audio_id_command+12Cj .text:00015024 LDR R3, =play_mode_0x34 @ Load from Memory .text:00015028 LDR R1, =aDosTtsHelpI_mp @ Load from Memory .text:0001502C LDR R2, [R3] @ Load from Memory .text:00015030 .text:00015030 loc_15030: @ CODE XREF: execute_audio_id_command:loc_15054j .text:00015030 @ execute_audio_id_command+460j .text:00015030 MOV R0, R7 @ Rd = Op2 .text:00015034 BL xsprintf @ Branch with Link .text:00015038 B loc_1501C @ Branch .text:0001503C @ --------------------------------------------------------------------------- .text:0001503C .text:0001503C loc_1503C: @ CODE XREF: execute_audio_id_command+118j .text:0001503C LDR R3, =dword_35F54 @ Load from Memory .text:00015040 LDR R2, [R3] @ Load from Memory .text:00015044 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00015048 LDRNE R3, =play_mode_0x34 @ Load from Memory .text:0001504C LDRNE R1, =aDosTtsBrI_mp3 @ Load from Memory .text:00015050 LDRNE R2, [R3] @ Load from Memory .text:00015054 .text:00015054 loc_15054: @ DATA XREF: .text:off_287A4o .text:00015054 BNE loc_15030 @ Branch .text:00015058 B loc_14EBC @ Branch .text:0001505C @ --------------------------------------------------------------------------- .text:0001505C .text:0001505C loc_1505C: @ CODE XREF: execute_audio_id_command+104j .text:0001505C LDR R3, =dword_35F54 @ Load from Memory .text:00015060 LDR R2, [R3] @ Load from Memory .text:00015064 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00015068 LDRNE R3, =play_mode_0x34 @ Load from Memory .text:0001506C LDRNE R1, =aDosTtsCurI_mp3 @ Load from Memory .text:00015070 LDRNE R2, [R3] @ Load from Memory .text:00015074 BNE loc_15030 @ Branch .text:00015078 B loc_14EBC @ Branch .text:0001507C @ --------------------------------------------------------------------------- .text:0001507C .text:0001507C loc_1507C: @ CODE XREF: execute_audio_id_command+F0j .text:0001507C LDR R4, =dword_35F68 @ Load from Memory .text:00015080 BL phat_stop @ Branch with Link .text:00015084 LDR R12, [R4] @ Load from Memory .text:00015088 CMP R12, #0 @ Set cond. codes on Op1 - Op2 .text:0001508C BNE loc_14EBC @ Branch .text:00015090 LDR R3, =dword_36008 @ Load from Memory .text:00015094 .text:00015094 loc_15094: @ DATA XREF: .text:off_2877Co .text:00015094 LDR R2, [R3] @ Load from Memory .text:00015098 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0001509C BEQ loc_14EBC @ Branch .text:000150A0 ADD R2, SP, #0x4B4+var_49C @ Rd = Op1 + Op2 .text:000150A4 MOV R3, R12 @ Rd = Op2 .text:000150A8 SUB R2, R2, #4 @ Rd = Op1 - Op2 .text:000150AC LDR R0, =disk_num @ Load from Memory .text:000150B0 LDR R1, =track_num @ Load from Memory .text:000150B4 BL phat_status @ Branch with Link .text:000150B8 LDR R3, [SP,#0x4B4+var_4A0] @ Load from Memory .text:000150BC STR R3, [R4] @ Store to Memory .text:000150C0 B loc_14EBC @ Branch .text:000150C4 @ --------------------------------------------------------------------------- .text:000150C4 .text:000150C4 loc_150C4: @ CODE XREF: execute_audio_id_command+DCj .text:000150C4 BL sub_152E4 @ Branch with Link .text:000150C8 B loc_14EBC @ Branch .text:000150CC @ --------------------------------------------------------------------------- .text:000150CC .text:000150CC loc_150CC: @ CODE XREF: execute_audio_id_command+C8j .text:000150CC LDR R3, =dword_35F50 @ Load from Memory .text:000150D0 LDR R1, [R3] @ Load from Memory .text:000150D4 CMP R1, #0 @ Set cond. codes on Op1 - Op2 .text:000150D8 BNE loc_14EBC @ Branch .text:000150DC LDR R3, =dword_45920 @ Load from Memory .text:000150E0 MOV R12, #0x7F @ '' @ Rd = Op2 .text:000150E4 LDR R0, [R3] @ Load from Memory .text:000150E8 MOV R2, R1 @ Rd = Op2 .text:000150EC MOV R3, #1 @ Rd = Op2 .text:000150F0 STR R12, [SP,#0x4B4+var_4B4] @ Store to Memory .text:000150F4 BL rw_packet @ Branch with Link .text:000150F8 B loc_14EBC @ Branch .text:000150FC @ --------------------------------------------------------------------------- .text:000150FC .text:000150FC loc_150FC: @ CODE XREF: execute_audio_id_command+B4j .text:000150FC LDR R1, =dword_35F68 @ Load from Memory .text:00015100 LDR R2, [R1] @ Load from Memory .text:00015104 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00015108 MOVNE R3, #0 @ Rd = Op2 .text:0001510C STRNE R3, [R1] @ Store to Memory .text:00015110 MOV R0, R6 @ Rd = Op2 .text:00015114 STRNE R2, [SP,#0x4B4+var_4A0] @ Store to Memory .text:00015118 BL sub_26BDC @ Branch with Link .text:0001511C CMP R0, #5 @ Set cond. codes on Op1 - Op2 .text:00015120 BLS loc_15130 @ Branch .text:00015124 ADD R0, R6, #5 @ Rd = Op1 + Op2 .text:00015128 BL sysv_signal_0x0_0xA @ Branch with Link .text:0001512C STR R0, [SP,#0x4B4+var_4A0] @ Store to Memory .text:00015130 .text:00015130 loc_15130: @ CODE XREF: execute_audio_id_command+50Cj .text:00015130 LDR R3, =disk_num @ Load from Memory .text:00015134 LDR R2, [R3] @ Load from Memory .text:00015138 CMP R8, #0 @ Set cond. codes on Op1 - Op2 .text:0001513C LDR R6, =dword_35F98 @ Load from Memory .text:00015140 MOVEQ R8, #1 @ Rd = Op2 .text:00015144 CMP R10, R2 @ Set cond. codes on Op1 - Op2 .text:00015148 LDREQ R7, =track_num @ Load from Memory .text:0001514C LDR R3, [R6] @ Load from Memory .text:00015150 LDREQ R8, [R7] @ Load from Memory .text:00015154 LDRNE R7, =track_num @ Load from Memory .text:00015158 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0001515C BNE loc_15210 @ Branch .text:00015160 .text:00015160 loc_15160: @ CODE XREF: execute_audio_id_command+600j .text:00015160 LDR R3, =debug_level @ Load from Memory .text:00015164 LDR R2, [R3] @ Load from Memory .text:00015168 CMP R2, #7 @ Set cond. codes on Op1 - Op2 .text:0001516C BGT loc_151B8 @ Branch .text:00015170 .text:00015170 loc_15170: @ CODE XREF: execute_audio_id_command+5F8j .text:00015170 MOV R0, R10 @ Rd = Op2 .text:00015174 MOV R1, R8 @ Rd = Op2 .text:00015178 LDR R2, [SP,#0x4B4+var_4A0] @ Load from Memory .text:0001517C BL phat_play @ Branch with Link .text:00015180 LDR R3, [R6] @ Load from Memory .text:00015184 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00015188 BNE loc_151B0 @ Branch .text:0001518C .text:0001518C loc_1518C: @ CODE XREF: execute_audio_id_command+5A0j .text:0001518C LDR R4, =dword_36008 @ Load from Memory .text:00015190 MOV R5, #1 @ Rd = Op2 .text:00015194 MOV R1, R7 @ Rd = Op2 .text:00015198 LDR R2, =dword_45840 @ Load from Memory .text:0001519C MOV R3, #0 @ Rd = Op2 .text:000151A0 STR R5, [R4] @ Store to Memory .text:000151A4 LDR R0, =disk_num @ Load from Memory .text:000151A8 BL phat_status @ Branch with Link .text:000151AC B loc_14EBC @ Branch .text:000151B0 @ --------------------------------------------------------------------------- .text:000151B0 .text:000151B0 loc_151B0: @ CODE XREF: execute_audio_id_command+574j .text:000151B0 BL phat_announceon @ Branch with Link .text:000151B4 B loc_1518C @ Branch .text:000151B8 @ --------------------------------------------------------------------------- .text:000151B8 .text:000151B8 loc_151B8: @ CODE XREF: execute_audio_id_command+558j .text:000151B8 MOV R0, #0 @ Rd = Op2 .text:000151BC BL time @ Branch with Link .text:000151C0 LDR R2, =0x51EB851F @ Load from Memory .text:000151C4 SMULL R4, R1, R2, R0 @ Signed Multiply long .text:000151C8 MOV R3, R0,ASR#31 @ Rd = Op2 .text:000151CC RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:000151D0 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:000151D4 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:000151D8 SUB R5, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:000151DC BL call_gettimeofday @ Branch with Link .text:000151E0 MOV R1, R5 @ Rd = Op2 .text:000151E4 MOV R2, R0 @ Rd = Op2 .text:000151E8 LDR R3, =aExecute_audio_ @ Load from Memory .text:000151EC LDR R0, =logfile_format @ Load from Memory .text:000151F0 BL printf @ Branch with Link .text:000151F4 LDR R0, =aAudioidPlayOfI @ Load from Memory .text:000151F8 MOV R1, R10 @ Rd = Op2 .text:000151FC MOV R2, R8 @ Rd = Op2 .text:00015200 BL printf @ Branch with Link .text:00015204 MOV R0, #0 @ Rd = Op2 .text:00015208 BL sub_257B4 @ Branch with Link .text:0001520C B loc_15170 @ Branch .text:00015210 @ --------------------------------------------------------------------------- .text:00015210 .text:00015210 loc_15210: @ CODE XREF: execute_audio_id_command+548j .text:00015210 BL phat_announceoff @ Branch with Link .text:00015214 B loc_15160 @ Branch .text:00015214 @ End of function execute_audio_id_command .text:00015214 .text:00015214 @ --------------------------------------------------------------------------- .text:00015218 off_15218: .long dword_36008 @ DATA XREF: execute_audio_id_command+14r .text:00015218 @ execute_audio_id_command+47Cr ... .text:0001521C off_1521C: .long aAudioid_I_I @ DATA XREF: execute_audio_id_command+30r .text:0001521C @ "audioid.%i.%i" .text:00015220 off_15220: .long dword_35F84 @ DATA XREF: execute_audio_id_command+48r .text:00015224 off_15224: .long aDosPhatbox_ini @ DATA XREF: execute_audio_id_command+54r .text:00015224 @ "/dos/phatbox.ini" .text:00015228 off_15228: .long dword_35FB0 @ DATA XREF: execute_audio_id_command+78r .text:0001522C off_1522C: .long aBeepwait @ DATA XREF: execute_audio_id_command+88r .text:0001522C @ execute_audio_id_command+158r .text:0001522C @ "BEEPWAIT" .text:00015230 off_15230: .long aPlay @ DATA XREF: execute_audio_id_command:loc_14CB8r .text:00015230 @ "PLAY" .text:00015234 off_15234: .long aEnd @ DATA XREF: execute_audio_id_command+B8r .text:00015234 @ "END" .text:00015238 off_15238: .long aSync @ DATA XREF: execute_audio_id_command+CCr .text:00015238 @ "SYNC" .text:0001523C off_1523C: .long aStop @ DATA XREF: execute_audio_id_command+E0r .text:0001523C @ "STOP" .text:00015240 off_15240: .long aCurrent @ DATA XREF: execute_audio_id_command+F4r .text:00015240 @ "CURRENT" .text:00015244 off_15244: .long aBrowsing @ DATA XREF: execute_audio_id_command+108r .text:00015244 @ "BROWSING" .text:00015248 off_15248: .long aHelp_0 @ DATA XREF: execute_audio_id_command+11Cr .text:00015248 @ "HELP" .text:0001524C off_1524C: .long aTitle @ DATA XREF: execute_audio_id_command+130r .text:0001524C @ "TITLE" .text:00015250 off_15250: .long aBeepwait+4 @ DATA XREF: execute_audio_id_command+144r .text:00015254 off_15254: .long debug_level @ DATA XREF: execute_audio_id_command+23Cr .text:00015254 @ execute_audio_id_command:loc_14EC4r ... .text:00015258 off_15258: .long aNull @ DATA XREF: execute_audio_id_command:loc_14E74r .text:00015258 @ "NULL" .text:0001525C off_1525C: .long aDosTtsBeep @ DATA XREF: execute_audio_id_command+294r .text:0001525C @ "/dos/tts/beep" .text:00015260 dword_15260: .long 0x51EB851F @ DATA XREF: execute_audio_id_command+2C8r .text:00015260 @ execute_audio_id_command+318r ... .text:00015264 off_15264: .long aExecute_audio_ @ DATA XREF: execute_audio_id_command+2F0r .text:00015264 @ execute_audio_id_command+340r ... .text:00015264 @ "execute_audio_id_command" .text:00015268 off_15268: .long logfile_format @ DATA XREF: execute_audio_id_command+2F4r .text:00015268 @ execute_audio_id_command+344r ... .text:00015268 @ "%02li.%02li:51d :%-10.10s: " .text:0001526C off_1526C: .long aWaitForBeepToF @ DATA XREF: execute_audio_id_command+2FCr .text:0001526C @ "Wait for beep to finish before continui"... .text:00015270 off_15270: .long aFlushThisStatu @ DATA XREF: execute_audio_id_command+34Cr .text:00015270 @ "Flush this status report coming in" .text:00015274 off_15274: .long aSomeSillySigna @ DATA XREF: execute_audio_id_command+3D4r .text:00015274 @ "Some silly signal interrupted our wait "... .text:00015278 off_15278: .long aTts_I_I @ DATA XREF: execute_audio_id_command+3F8r .text:00015278 @ "TTS.%i.%i" .text:0001527C off_1527C: .long play_mode_0x34 @ DATA XREF: execute_audio_id_command:loc_15024r .text:0001527C @ execute_audio_id_command+434r ... .text:00015280 off_15280: .long aDosTtsHelpI_mp @ DATA XREF: execute_audio_id_command+414r .text:00015280 @ "/dos/tts/help%i.mp3" .text:00015284 off_15284: .long dword_35F54 @ DATA XREF: execute_audio_id_command:loc_1503Cr .text:00015284 @ execute_audio_id_command:loc_1505Cr .text:00015288 off_15288: .long aDosTtsBrI_mp3 @ DATA XREF: execute_audio_id_command+438r .text:00015288 @ "/dos/tts/br%i.mp3" .text:0001528C off_1528C: .long aDosTtsCurI_mp3 @ DATA XREF: execute_audio_id_command+458r .text:0001528C @ "/dos/tts/cur%i.mp3" .text:00015290 off_15290: .long dword_35F68 @ DATA XREF: execute_audio_id_command:loc_1507Cr .text:00015290 @ execute_audio_id_command:loc_150FCr .text:00015294 off_15294: .long disk_num @ DATA XREF: execute_audio_id_command+498r .text:00015294 @ execute_audio_id_command:loc_15130r ... .text:00015298 off_15298: .long track_num @ DATA XREF: execute_audio_id_command+49Cr .text:00015298 @ execute_audio_id_command+534r ... .text:0001529C off_1529C: .long dword_35F50 @ DATA XREF: execute_audio_id_command:loc_150CCr .text:000152A0 off_152A0: .long dword_45920 @ DATA XREF: execute_audio_id_command+4C8r .text:000152A4 off_152A4: .long dword_35F98 @ DATA XREF: execute_audio_id_command+528r .text:000152A8 off_152A8: .long dword_45840 @ DATA XREF: execute_audio_id_command+584r .text:000152AC off_152AC: .long aAudioidPlayOfI @ DATA XREF: execute_audio_id_command+5E0r .text:000152AC @ "AudioID Play of %i/%i\n" .text:000152B0 @ --------------------------------------------------------------------------- .text:000152B0 .text:000152B0 loc_152B0: @ DATA XREF: main:off_90E8o .text:000152B0 STR LR, [SP,#-4]! @ Store to Memory .text:000152B4 LDR R3, =dword_35F60 @ Load from Memory .text:000152B8 LDR R12, [R3,#4] @ Load from Memory .text:000152BC SUB SP, SP, #4 @ Rd = Op1 - Op2 .text:000152C0 SUBS R0, R12, #0 @ Rd = Op1 - Op2 .text:000152C4 MOV R1, SP @ Rd = Op2 .text:000152C8 MOV R2, #1 @ Rd = Op2 .text:000152CC MOVGT R3, #0 @ Rd = Op2 .text:000152D0 STRGTB R3, [SP] @ Store to Memory .text:000152D4 BLGT __libc_write @ Branch with Link .text:000152D8 ADD SP, SP, #4 @ Rd = Op1 + Op2 .text:000152DC LDMFD SP!, {PC} @ Load Block from Memory .text:000152DC @ --------------------------------------------------------------------------- .text:000152E0 off_152E0: .long dword_35F60 @ DATA XREF: .text:000152B4r .text:000152E4 .text:000152E4 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:000152E4 .text:000152E4 .text:000152E4 sub_152E4: @ CODE XREF: main:loc_896Cp .text:000152E4 @ processpack:loc_EA9Cp ... .text:000152E4 .text:000152E4 var_38 = -0x38 .text:000152E4 var_34 = -0x34 .text:000152E4 var_30 = -0x30 .text:000152E4 var_2C = -0x2C .text:000152E4 var_28 = -0x28 .text:000152E4 var_27 = -0x27 .text:000152E4 var_26 = -0x26 .text:000152E4 var_25 = -0x25 .text:000152E4 var_24 = -0x24 .text:000152E4 var_23 = -0x23 .text:000152E4 var_22 = -0x22 .text:000152E4 var_21 = -0x21 .text:000152E4 .text:000152E4 STMFD SP!, {R4-R8,LR} @ Store Block to Memory .text:000152E8 SUB SP, SP, #0x20 @ Rd = Op1 - Op2 .text:000152EC ADD R2, SP, #0x38+var_34 @ Rd = Op1 + Op2 .text:000152F0 ADD R0, SP, #0x38+var_2C @ Rd = Op1 + Op2 .text:000152F4 ADD R1, SP, #0x38+var_30 @ Rd = Op1 + Op2 .text:000152F8 MOV R3, #0 @ Rd = Op2 .text:000152FC BL phat_status @ Branch with Link .text:00015300 LDR R2, [SP,#0x38+var_2C] @ Load from Memory .text:00015304 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00015308 MOV R8, R0 @ Rd = Op2 .text:0001530C BLT loc_1549C @ Branch .text:00015310 LDR R7, [SP,#0x38+var_30] @ Load from Memory .text:00015314 CMP R7, #0 @ Set cond. codes on Op1 - Op2 .text:00015318 BLT loc_1549C @ Branch .text:0001531C LDR R3, =disk_num @ Load from Memory .text:00015320 STR R2, [R3] @ Store to Memory .text:00015324 LDR R2, =track_num @ Load from Memory .text:00015328 STR R7, [R2] @ Store to Memory .text:0001532C .text:0001532C loc_1532C: @ CODE XREF: sub_152E4+1D4j .text:0001532C CMP R7, #0 @ Set cond. codes on Op1 - Op2 .text:00015330 MOVEQ R7, #1 @ Rd = Op2 .text:00015334 MOV R0, R7 @ Rd = Op2 .text:00015338 STREQ R7, [SP,#0x38+var_30] @ Store to Memory .text:0001533C BL sub_166A4 @ Branch with Link .text:00015340 LDR R3, =dword_35F94 @ Load from Memory .text:00015344 LDR R3, [R3] @ Load from Memory .text:00015348 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0001534C STRNE R3, [SP,#0x38+var_34] @ Store to Memory .text:00015350 LDR R5, [SP,#0x38+var_2C] @ Load from Memory .text:00015354 LDR R4, [SP,#0x38+var_34] @ Load from Memory .text:00015358 LDR R2, =0x51EB851F @ Load from Memory .text:0001535C LDR R3, =0x88888889 @ Load from Memory .text:00015360 MOV R7, R0 @ Rd = Op2 .text:00015364 STR R0, [SP,#0x38+var_30] @ Store to Memory .text:00015368 SMULL R0, R6, R2, R5 @ Signed Multiply long .text:0001536C SMULL R0, R1, R3, R4 @ Signed Multiply long .text:00015370 SMULL R3, R0, R2, R7 @ Signed Multiply long .text:00015374 MOV LR, R5,ASR#31 @ Rd = Op2 .text:00015378 MOV R12, R7,ASR#31 @ Rd = Op2 .text:0001537C RSB R12, R12, R0,ASR#5 @ Rd = Op2 - Op1 .text:00015380 RSB LR, LR, R6,ASR#5 @ Rd = Op2 - Op1 .text:00015384 ADD R1, R1, R4 @ Rd = Op1 + Op2 .text:00015388 MOV R0, R4,ASR#31 @ Rd = Op2 .text:0001538C RSB R0, R0, R1,ASR#5 @ Rd = Op2 - Op1 .text:00015390 ADD R2, R12, R12,LSL#2 @ Rd = Op1 + Op2 .text:00015394 ADD R3, LR, LR,LSL#2 @ Rd = Op1 + Op2 .text:00015398 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0001539C RSB R1, R0, R0,LSL#4 @ Rd = Op2 - Op1 .text:000153A0 ADD R2, R2, R2,LSL#2 @ Rd = Op1 + Op2 .text:000153A4 SUB R2, R7, R2,LSL#2 @ Rd = Op1 - Op2 .text:000153A8 SUB R5, R5, R3,LSL#2 @ Rd = Op1 - Op2 .text:000153AC SUB R4, R4, R1,LSL#2 @ Rd = Op1 - Op2 .text:000153B0 MOV R3, #0 @ Rd = Op2 .text:000153B4 STRB R2, [SP,#0x38+var_27] @ Store to Memory .text:000153B8 STRB R5, [SP,#0x38+var_25] @ Store to Memory .text:000153BC STRB R4, [SP,#0x38+var_23] @ Store to Memory .text:000153C0 STRB R3, [SP,#0x38+var_22] @ Store to Memory .text:000153C4 STRB R12, [SP,#0x38+var_28] @ Store to Memory .text:000153C8 STRB LR, [SP,#0x38+var_26] @ Store to Memory .text:000153CC STRB R0, [SP,#0x38+var_24] @ Store to Memory .text:000153D0 BL phat_playmode @ Branch with Link .text:000153D4 SUB R0, R0, #0x17 @ Rd = Op1 - Op2 .text:000153D8 CMP R0, #4 @ Set cond. codes on Op1 - Op2 .text:000153DC LDRLS PC, [PC,R0,LSL#2] @ Indirect Jump .text:000153E0 B loc_15404 @ Branch .text:000153E0 @ --------------------------------------------------------------------------- .text:000153E4 .long loc_153F8 .text:000153E8 .long loc_15478 .text:000153EC .long loc_15404 .text:000153F0 .long loc_15484 .text:000153F4 .long loc_15490 .text:000153F8 @ --------------------------------------------------------------------------- .text:000153F8 .text:000153F8 loc_153F8: @ CODE XREF: sub_152E4+F8j .text:000153F8 @ DATA XREF: sub_152E4+100o .text:000153F8 LDRB R3, [SP,#0x38+var_22] @ Load from Memory .text:000153FC ORR R3, R3, #1 @ Rd = Op2 | Op1 .text:00015400 .text:00015400 loc_15400: @ CODE XREF: sub_152E4+19Cj .text:00015400 @ sub_152E4+1A8j ... .text:00015400 STRB R3, [SP,#0x38+var_22] @ Store to Memory .text:00015404 .text:00015404 loc_15404: @ CODE XREF: sub_152E4+F8j .text:00015404 @ sub_152E4+FCj .text:00015404 @ DATA XREF: ... .text:00015404 CMP R8, #0 @ Set cond. codes on Op1 - Op2 .text:00015408 LDRNEB R3, [SP,#0x38+var_22] @ Load from Memory .text:0001540C ORRNE R3, R3, #0x10 @ Rd = Op2 | Op1 .text:00015410 STRNEB R3, [SP,#0x38+var_22] @ Store to Memory .text:00015414 LDR R3, =dword_35F54 @ Load from Memory .text:00015418 LDR R2, [R3] @ Load from Memory .text:0001541C CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00015420 LDRNEB R3, [SP,#0x38+var_22] @ Load from Memory .text:00015424 ORRNE R3, R3, #0x20 @ Rd = Op2 | Op1 .text:00015428 STRNEB R3, [SP,#0x38+var_22] @ Store to Memory .text:0001542C LDR R3, =dword_35F6C @ Load from Memory .text:00015430 LDR R2, [R3] @ Load from Memory .text:00015434 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00015438 LDRNEB R3, [SP,#0x38+var_22] @ Load from Memory .text:0001543C ORRNE R3, R3, #0x40 @ Rd = Op2 | Op1 .text:00015440 STRNEB R3, [SP,#0x38+var_22] @ Store to Memory .text:00015444 BL phat_playlistmode @ Branch with Link .text:00015448 LDR R3, =dword_45920 @ Load from Memory .text:0001544C MOV R4, R0 @ Rd = Op2 .text:00015450 MOV R12, #0x7B @ '{' @ Rd = Op2 .text:00015454 LDR R0, [R3] @ Load from Memory .text:00015458 ADD R2, SP, #0x38+var_28 @ Rd = Op1 + Op2 .text:0001545C MOV R1, #0 @ Rd = Op2 .text:00015460 MOV R3, #1 @ Rd = Op2 .text:00015464 STRB R4, [SP,#0x38+var_21] @ Store to Memory .text:00015468 STR R12, [SP,#0x38+var_38] @ Store to Memory .text:0001546C BL rw_packet @ Branch with Link .text:00015470 ADD SP, SP, #0x20 @ Rd = Op1 + Op2 .text:00015474 LDMFD SP!, {R4-R8,PC} @ Load Block from Memory .text:00015478 @ --------------------------------------------------------------------------- .text:00015478 .text:00015478 loc_15478: @ CODE XREF: sub_152E4+F8j .text:00015478 @ DATA XREF: sub_152E4+104o .text:00015478 LDRB R3, [SP,#0x38+var_22] @ Load from Memory .text:0001547C ORR R3, R3, #2 @ Rd = Op2 | Op1 .text:00015480 B loc_15400 @ Branch .text:00015484 @ --------------------------------------------------------------------------- .text:00015484 .text:00015484 loc_15484: @ CODE XREF: sub_152E4+F8j .text:00015484 @ DATA XREF: sub_152E4+10Co .text:00015484 LDRB R3, [SP,#0x38+var_22] @ Load from Memory .text:00015488 ORR R3, R3, #8 @ Rd = Op2 | Op1 .text:0001548C B loc_15400 @ Branch .text:00015490 @ --------------------------------------------------------------------------- .text:00015490 .text:00015490 loc_15490: @ CODE XREF: sub_152E4+F8j .text:00015490 @ DATA XREF: sub_152E4+110o .text:00015490 LDRB R3, [SP,#0x38+var_22] @ Load from Memory .text:00015494 ORR R3, R3, #4 @ Rd = Op2 | Op1 .text:00015498 B loc_15400 @ Branch .text:0001549C @ --------------------------------------------------------------------------- .text:0001549C .text:0001549C loc_1549C: @ CODE XREF: sub_152E4+28j .text:0001549C @ sub_152E4+34j .text:0001549C LDR R3, =disk_num @ Load from Memory .text:000154A0 LDR R2, =track_num @ Load from Memory .text:000154A4 LDR R1, [R3] @ Load from Memory .text:000154A8 LDR R7, [R2] @ Load from Memory .text:000154AC MOV R3, #0 @ Rd = Op2 .text:000154B0 STR R1, [SP,#0x38+var_2C] @ Store to Memory .text:000154B4 STMFA SP, {R3,R7} @ Store Block to Memory .text:000154B8 B loc_1532C @ Branch .text:000154B8 @ End of function sub_152E4 .text:000154B8 .text:000154B8 @ --------------------------------------------------------------------------- .text:000154BC off_154BC: .long disk_num @ DATA XREF: sub_152E4+38r .text:000154BC @ sub_152E4:loc_1549Cr .text:000154C0 off_154C0: .long track_num @ DATA XREF: sub_152E4+40r .text:000154C0 @ sub_152E4+1BCr .text:000154C4 off_154C4: .long dword_35F94 @ DATA XREF: sub_152E4+5Cr .text:000154C8 dword_154C8: .long 0x51EB851F @ DATA XREF: sub_152E4+74r .text:000154CC dword_154CC: .long 0x88888889 @ DATA XREF: sub_152E4+78r .text:000154D0 off_154D0: .long dword_35F54 @ DATA XREF: sub_152E4+130r .text:000154D4 off_154D4: .long dword_35F6C @ DATA XREF: sub_152E4+148r .text:000154D8 off_154D8: .long dword_45920 @ DATA XREF: sub_152E4+164r .text:000154DC .text:000154DC @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:000154DC .text:000154DC .text:000154DC print_51d_segv: @ DATA XREF: main:off_90ECo .text:000154DC .text:000154DC var_4 = -4 .text:000154DC .text:000154DC STR LR, [SP,#var_4]! @ Store to Memory .text:000154E0 LDR R0, =a51dSegv @ Load from Memory .text:000154E4 BL xdebug_out @ Branch with Link .text:000154E8 MOV R0, #1 @ Rd = Op2 .text:000154EC BL sub_274E4 @ Branch with Link .text:000154EC @ End of function print_51d_segv .text:000154EC .text:000154EC @ --------------------------------------------------------------------------- .text:000154F0 off_154F0: .long a51dSegv @ DATA XREF: print_51d_segv+4r .text:000154F0 @ "51d segv" .text:000154F4 .text:000154F4 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:000154F4 .text:000154F4 .text:000154F4 run_swgrli: @ CODE XREF: rw_packet:loc_9DECp .text:000154F4 @ rw_packet:loc_BC98p .text:000154F4 .text:000154F4 var_264 = -0x264 .text:000154F4 var_224 = -0x224 .text:000154F4 var_220 = -0x220 .text:000154F4 var_21C = -0x21C .text:000154F4 var_214 = -0x214 .text:000154F4 var_14 = -0x14 .text:000154F4 .text:000154F4 STMFD SP!, {R4-R7,LR} @ Store Block to Memory .text:000154F8 LDR R3, =dword_3600C @ Load from Memory .text:000154FC LDR R2, [R3] @ Load from Memory .text:00015500 SUB SP, SP, #0x254 @ Rd = Op1 - Op2 .text:00015504 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00015508 MOV R1, #0x47 @ 'G' @ Rd = Op2 .text:0001550C MVN R3, #0x250 @ Rd = ~Op2 .text:00015510 .text:00015510 loc_15510: @ DATA XREF: .text:off_28334o .text:00015510 ADD R2, SP, #0x268+var_14 @ Rd = Op1 + Op2 .text:00015514 STRB R1, [R2,R3] @ Store to Memory .text:00015518 LDRNE R6, =dword_35F70 @ Load from Memory .text:0001551C BEQ loc_15558 @ Branch .text:00015520 .text:00015520 loc_15520: @ CODE XREF: run_swgrli+80j .text:00015520 LDR R3, [R6] @ Load from Memory .text:00015524 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00015528 BNE loc_1553C @ Branch .text:0001552C LDR R3, =dword_35FA8 @ Load from Memory .text:00015530 LDR R0, [R3] @ Load from Memory .text:00015534 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00015538 BNE loc_15544 @ Branch .text:0001553C .text:0001553C loc_1553C: @ CODE XREF: run_swgrli+34j .text:0001553C @ run_swgrli+60j .text:0001553C ADD SP, SP, #0x254 @ Rd = Op1 + Op2 .text:00015540 LDMFD SP!, {R4-R7,PC} @ Load Block from Memory .text:00015544 @ --------------------------------------------------------------------------- .text:00015544 .text:00015544 loc_15544: @ CODE XREF: run_swgrli+44j .text:00015544 ADD R1, SP, #0x268+var_264 @ Rd = Op1 + Op2 .text:00015548 SUB R1, R1, #1 @ buf .text:0001554C MOV R2, #1 @ count .text:00015550 BL __libc_write @ Branch with Link .text:00015554 B loc_1553C @ Branch .text:00015558 @ --------------------------------------------------------------------------- .text:00015558 .text:00015558 loc_15558: @ CODE XREF: run_swgrli+28j .text:00015558 BL phat_numdiscs @ Branch with Link .text:0001555C CMP R0, #9 @ Set cond. codes on Op1 - Op2 .text:00015560 BGT loc_15578 @ Branch .text:00015564 .text:00015564 loc_15564: @ CODE XREF: run_swgrli+98j .text:00015564 LDR R6, =dword_35F70 @ Load from Memory .text:00015568 .text:00015568 loc_15568: @ CODE XREF: run_swgrli+F8j .text:00015568 @ run_swgrli+FCj .text:00015568 LDR R3, =dword_3600C @ Load from Memory .text:0001556C MOV R2, #1 @ Rd = Op2 .text:00015570 STR R2, [R3] @ Store to Memory .text:00015574 B loc_15520 @ Branch .text:00015578 @ --------------------------------------------------------------------------- .text:00015578 .text:00015578 loc_15578: @ CODE XREF: run_swgrli+6Cj .text:00015578 MOV R0, #0xA @ Rd = Op2 .text:0001557C BL phat_diskname @ Branch with Link .text:00015580 LDR R1, =aPhat @ Load from Memory .text:00015584 BL sub_26AB0 @ Branch with Link .text:00015588 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0001558C BEQ loc_15564 @ Branch .text:00015590 LDR LR, =aDosSwgrli @ Load from Memory .text:00015594 LDR R3, =disk_num @ Load from Memory .text:00015598 LDR R2, =track_num @ Load from Memory .text:0001559C LDR R4, [R3] @ Load from Memory .text:000155A0 LDR R6, =dword_35F70 @ Load from Memory .text:000155A4 LDR R3, [R2] @ Load from Memory .text:000155A8 LDMIA LR, {R0-R2} @ Load Block from Memory .text:000155AC MOV R12, #1 @ Rd = Op2 .text:000155B0 ADD R5, SP, #0x268+var_214 @ Rd = Op1 + Op2 .text:000155B4 ADD R7, SP, #0x268+var_264 @ Rd = Op1 + Op2 .text:000155B8 STR R12, [R6] @ Store to Memory .text:000155BC STMIA R5, {R0-R2} @ Store Block to Memory .text:000155C0 LDR R1, =aII @ Load from Memory .text:000155C4 MOV R2, R4 @ Rd = Op2 .text:000155C8 MOV R0, R7 @ Rd = Op2 .text:000155CC BL xsprintf @ Branch with Link .text:000155D0 MOV R0, R5 @ Rd = Op2 .text:000155D4 BL verify_sig @ swgrli? .text:000155D8 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000155DC BEQ loc_155F8 @ Branch .text:000155E0 .text:000155E0 loc_155E0: @ CODE XREF: run_swgrli+12Cj .text:000155E0 BL fork @ Branch with Link .text:000155E4 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000155E8 MOV R4, R0 @ Rd = Op2 .text:000155EC BLT loc_15568 @ Branch .text:000155F0 BNE loc_15568 @ Branch .text:000155F4 B loc_15624 @ Branch .text:000155F8 @ --------------------------------------------------------------------------- .text:000155F8 .text:000155F8 loc_155F8: @ CODE XREF: run_swgrli+E8j .text:000155F8 LDR R1, =aGron @ Load from Memory .text:000155FC LDR R2, =aErr0002 @ Load from Memory .text:00015600 BL sub_251D0 @ Branch with Link .text:00015604 LDR R3, =aBinFalse @ Load from Memory .text:00015608 LDMIA R3, {R0-R2} @ Load Block from Memory .text:0001560C MOV R4, R5 @ Rd = Op2 .text:00015610 STMIA R4!, {R0,R1} @ Store Block to Memory .text:00015614 STRH R2, [R4],#2 @ Store to Memory .text:00015618 MOV R2, R2,LSR#16 @ Rd = Op2 .text:0001561C STRB R2, [R4] @ Store to Memory .text:00015620 B loc_155E0 @ Branch .text:00015624 @ --------------------------------------------------------------------------- .text:00015624 .text:00015624 loc_15624: @ CODE XREF: run_swgrli+100j .text:00015624 MOV R0, #0xA @ Rd = Op2 .text:00015628 BL sub_287AC @ Branch with Link .text:0001562C MOV R0, R5 @ Rd = Op2 .text:00015630 ADD R1, SP, #0x268+var_224 @ Rd = Op1 + Op2 .text:00015634 STR R7, [SP,#0x268+var_220] @ Store to Memory .text:00015638 STR R4, [SP,#0x268+var_21C] @ Store to Memory .text:0001563C STR R5, [SP,#0x268+var_224] @ Store to Memory .text:00015640 BL xcall_execve @ Branch with Link .text:00015644 MOV R0, #0xFF @ Rd = Op2 .text:00015648 BL sub_274E4 @ Branch with Link .text:00015648 @ End of function run_swgrli .text:00015648 .text:00015648 @ --------------------------------------------------------------------------- .text:0001564C off_1564C: .long dword_3600C @ DATA XREF: run_swgrli+4r .text:0001564C @ run_swgrli:loc_15568r .text:00015650 off_15650: .long dword_35F70 @ DATA XREF: run_swgrli+24r .text:00015650 @ run_swgrli:loc_15564r ... .text:00015654 off_15654: .long dword_35FA8 @ DATA XREF: run_swgrli+38r .text:00015658 off_15658: .long aPhat @ DATA XREF: run_swgrli+8Cr .text:00015658 @ "phat" .text:0001565C off_1565C: .long aDosSwgrli @ DATA XREF: run_swgrli+9Cr .text:0001565C @ "/dos/swgrli" .text:00015660 off_15660: .long disk_num @ DATA XREF: run_swgrli+A0r .text:00015664 off_15664: .long track_num @ DATA XREF: run_swgrli+A4r .text:00015668 off_15668: .long aII @ DATA XREF: run_swgrli+CCr .text:00015668 @ "%i%i\n" .text:0001566C off_1566C: .long aGron @ DATA XREF: run_swgrli:loc_155F8r .text:0001566C @ "gron" .text:00015670 off_15670: .long aErr0002 @ DATA XREF: run_swgrli+108r .text:00015670 @ "ERR0002" .text:00015674 off_15674: .long aBinFalse @ DATA XREF: run_swgrli+110r .text:00015674 @ "/bin/false" .text:00015678 .text:00015678 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00015678 .text:00015678 .text:00015678 sub_15678: @ CODE XREF: rw_packet+98Cp .text:00015678 @ rw_packet+187Cp .text:00015678 .text:00015678 var_4 = -4 .text:00015678 .text:00015678 STR LR, [SP,#var_4]! @ Store to Memory .text:0001567C LDR R3, =dword_35F70 @ Load from Memory .text:00015680 LDR R2, [R3] @ count .text:00015684 SUB SP, SP, #4 @ Rd = Op1 - Op2 .text:00015688 MOV R3, #0x44 @ 'D' @ Rd = Op2 .text:0001568C CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00015690 STRB R3, [SP,#4+var_4+3] @ Store to Memory .text:00015694 BNE loc_156B0 @ Branch .text:00015698 LDR R3, =dword_35FA8 @ Load from Memory .text:0001569C LDR R12, [R3] @ Load from Memory .text:000156A0 SUBS R0, R12, #0 @ Rd = Op1 - Op2 .text:000156A4 ADD R1, SP, #4+var_4+3 @ Rd = Op1 + Op2 .text:000156A8 MOV R2, #1 @ Rd = Op2 .text:000156AC BNE loc_156B8 @ Branch .text:000156B0 .text:000156B0 loc_156B0: @ CODE XREF: sub_15678+1Cj .text:000156B0 @ sub_15678+44j .text:000156B0 ADD SP, SP, #4 @ Rd = Op1 + Op2 .text:000156B4 LDMFD SP!, {PC} @ Load Block from Memory .text:000156B8 @ --------------------------------------------------------------------------- .text:000156B8 .text:000156B8 loc_156B8: @ CODE XREF: sub_15678+34j .text:000156B8 BL __libc_write @ Branch with Link .text:000156BC B loc_156B0 @ Branch .text:000156BC @ End of function sub_15678 .text:000156BC .text:000156BC @ --------------------------------------------------------------------------- .text:000156C0 off_156C0: .long dword_35F70 @ DATA XREF: sub_15678+4r .text:000156C4 off_156C4: .long dword_35FA8 @ DATA XREF: sub_15678+20r .text:000156C8 .text:000156C8 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:000156C8 .text:000156C8 .text:000156C8 check_forcesettings: @ CODE XREF: rw_packet+1888p .text:000156C8 STMFD SP!, {R4,LR} @ Store Block to Memory .text:000156CC MOV R3, R0 @ Rd = Op2 .text:000156D0 LDR R4, =aDosForcesettin @ Load from Memory .text:000156D4 SUB SP, SP, #0x40 @ Rd = Op1 - Op2 .text:000156D8 CMP R3, #0x13 @ Set cond. codes on Op1 - Op2 .text:000156DC MOV R1, SP @ Rd = Op2 .text:000156E0 MOV R0, R4 @ Rd = Op2 .text:000156E4 BEQ loc_156F4 @ Branch .text:000156E8 .text:000156E8 loc_156E8: @ CODE XREF: check_forcesettings+3Cj .text:000156E8 @ check_forcesettings+48j .text:000156E8 MOV R0, #1 @ Rd = Op2 .text:000156EC ADD SP, SP, #0x40 @ Rd = Op1 + Op2 .text:000156F0 LDMFD SP!, {R4,PC} @ Load Block from Memory .text:000156F4 @ --------------------------------------------------------------------------- .text:000156F4 .text:000156F4 loc_156F4: @ CODE XREF: check_forcesettings+1Cj .text:000156F4 BL stat @ Branch with Link .text:000156F8 MOV R3, R0 @ Rd = Op2 .text:000156FC CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00015700 MOV R0, R4 @ pathname .text:00015704 BNE loc_156E8 @ Branch .text:00015708 BL unlink @ Branch with Link .text:0001570C BL sync @ Branch with Link .text:00015710 B loc_156E8 @ Branch .text:00015710 @ End of function check_forcesettings .text:00015710 .text:00015710 @ --------------------------------------------------------------------------- .text:00015714 off_15714: .long aDosForcesettin @ DATA XREF: check_forcesettings+8r .text:00015714 @ "/dos/forcesettings" .text:00015718 .text:00015718 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00015718 .text:00015718 .text:00015718 packblocked: @ CODE XREF: rw_packet+EE4p .text:00015718 @ rw_packet+14F0p ... .text:00015718 CMP R0, #0x48 @ 'H' @ Set cond. codes on Op1 - Op2 .text:0001571C STMFD SP!, {R4,LR} @ Store Block to Memory .text:00015720 BEQ loc_15734 @ Branch .text:00015724 SUB R0, R0, #0x79 @ Rd = Op1 - Op2 .text:00015728 BLT loc_15798 @ Branch .text:0001572C CMP R0, #1 @ Set cond. codes on Op1 - Op2 .text:00015730 BHI loc_15798 @ Branch .text:00015734 .text:00015734 loc_15734: @ CODE XREF: packblocked+8j .text:00015734 LDR R3, =debug_level @ Load from Memory .text:00015738 LDR R2, [R3] @ Load from Memory .text:0001573C MOV R0, #0 @ Rd = Op2 .text:00015740 CMP R2, R0 @ Set cond. codes on Op1 - Op2 .text:00015744 BLT loc_15790 @ Branch .text:00015748 BL time @ Branch with Link .text:0001574C LDR R2, =0x51EB851F @ Load from Memory .text:00015750 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00015754 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00015758 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0001575C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00015760 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00015764 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00015768 BL call_gettimeofday @ Branch with Link .text:0001576C MOV R1, R4 @ Rd = Op2 .text:00015770 MOV R2, R0 @ Rd = Op2 .text:00015774 LDR R3, =aPackblocked @ Load from Memory .text:00015778 LDR R0, =logfile_format @ Load from Memory .text:0001577C BL printf @ Branch with Link .text:00015780 LDR R0, =aWarningEotEodA @ Load from Memory .text:00015784 BL xdebug_out @ Branch with Link .text:00015788 MOV R0, #0 @ Rd = Op2 .text:0001578C BL sub_257B4 @ Branch with Link .text:00015790 .text:00015790 loc_15790: @ CODE XREF: packblocked+2Cj .text:00015790 MOV R0, #6 @ Rd = Op2 .text:00015794 BL sub_1A748 @ Branch with Link .text:00015798 .text:00015798 loc_15798: @ CODE XREF: packblocked+10j .text:00015798 @ packblocked+18j .text:00015798 MOV R0, #1 @ Rd = Op2 .text:0001579C LDMFD SP!, {R4,PC} @ Load Block from Memory .text:0001579C @ End of function packblocked .text:0001579C .text:0001579C @ --------------------------------------------------------------------------- .text:000157A0 off_157A0: .long debug_level @ DATA XREF: packblocked:loc_15734r .text:000157A4 dword_157A4: .long 0x51EB851F @ DATA XREF: packblocked+34r .text:000157A8 off_157A8: .long aPackblocked @ DATA XREF: packblocked+5Cr .text:000157A8 @ "packblocked" .text:000157AC off_157AC: .long logfile_format @ DATA XREF: packblocked+60r .text:000157AC @ "%02li.%02li:51d :%-10.10s: " .text:000157B0 off_157B0: .long aWarningEotEodA @ DATA XREF: packblocked+68r .text:000157B0 @ "WARNING! EOT/EOD/ATC BLOCKED!" .text:000157B4 .text:000157B4 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:000157B4 .text:000157B4 .text:000157B4 sub_157B4: @ CODE XREF: processpack:loc_C978p .text:000157B4 @ processpack+1190p .text:000157B4 .text:000157B4 var_210 = -0x210 .text:000157B4 var_20C = -0x20C .text:000157B4 var_10 = -0x10 .text:000157B4 var_C = -0xC .text:000157B4 .text:000157B4 STMFD SP!, {R4,LR} @ Store Block to Memory .text:000157B8 SUB SP, SP, #0x208 @ Rd = Op1 - Op2 .text:000157BC MOV R12, #0 @ Rd = Op2 .text:000157C0 .text:000157C0 loc_157C0: @ DATA XREF: .text:off_2824Co .text:000157C0 ADD R4, SP, #0x210+var_20C @ Rd = Op1 + Op2 .text:000157C4 LDR R0, =aDosPhatbox_ini @ Load from Memory .text:000157C8 MOV R1, R12 @ Rd = Op2 .text:000157CC LDR R2, =aKenwood_digits @ Load from Memory .text:000157D0 MOV R3, R4 @ Rd = Op2 .text:000157D4 STR R12, [SP,#0x210+var_C] @ Store to Memory .text:000157D8 BL xread_ini @ Branch with Link .text:000157DC CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000157E0 BNE loc_15A64 @ Branch .text:000157E4 MOV R0, R4 @ Rd = Op2 .text:000157E8 BL sysv_signal_0x0_0xA @ Branch with Link .text:000157EC CMP R0, #2 @ Set cond. codes on Op1 - Op2 .text:000157F0 BEQ loc_15A64 @ Branch .text:000157F4 .text:000157F4 loc_157F4: @ CODE XREF: sub_157B4+2C0j .text:000157F4 LDR R0, =aDosPhatbox_ini @ Load from Memory .text:000157F8 LDR R2, =aPioneer_99_dig @ Load from Memory .text:000157FC MOV R1, #0 @ Rd = Op2 .text:00015800 MOV R3, R4 @ Rd = Op2 .text:00015804 BL xread_ini @ Branch with Link .text:00015808 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0001580C BEQ loc_15A0C @ Branch .text:00015810 .text:00015810 loc_15810: @ CODE XREF: sub_157B4+280j .text:00015810 @ sub_157B4+2A8j .text:00015810 LDR R0, =aDosPhatbox_ini @ Load from Memory .text:00015814 LDR R2, =aSsa_use_disc_u @ Load from Memory .text:00015818 MOV R1, #0 @ Rd = Op2 .text:0001581C MOV R3, R4 @ Rd = Op2 .text:00015820 BL xread_ini @ Branch with Link .text:00015824 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00015828 BEQ loc_159B4 @ Branch .text:0001582C .text:0001582C loc_1582C: @ CODE XREF: sub_157B4+228j .text:0001582C @ sub_157B4+250j .text:0001582C LDR R0, =aDosPluginsKenw @ Load from Memory .text:00015830 LDR R2, =aKenwood_ssa @ Load from Memory .text:00015834 MOV R1, #0 @ Rd = Op2 .text:00015838 MOV R3, R4 @ Rd = Op2 .text:0001583C BL xread_ini @ Branch with Link .text:00015840 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00015844 BEQ loc_1595C @ Branch .text:00015848 .text:00015848 loc_15848: @ CODE XREF: sub_157B4+1D0j .text:00015848 @ sub_157B4+1F8j .text:00015848 LDR R0, =aDosPhatbox_ini @ Load from Memory .text:0001584C LDR R2, =aTrack_display_ @ Load from Memory .text:00015850 MOV R1, #0 @ Rd = Op2 .text:00015854 MOV R3, R4 @ Rd = Op2 .text:00015858 BL xread_ini @ Branch with Link .text:0001585C CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00015860 BEQ loc_15904 @ Branch .text:00015864 .text:00015864 loc_15864: @ CODE XREF: sub_157B4+178j .text:00015864 @ sub_157B4+1A0j .text:00015864 LDR R0, =aDosPhatbox_ini @ Load from Memory .text:00015868 LDR R2, =aDisc_display_2 @ Load from Memory .text:0001586C MOV R1, #0 @ Rd = Op2 .text:00015870 MOV R3, R4 @ Rd = Op2 .text:00015874 BL xread_ini @ Branch with Link .text:00015878 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0001587C BEQ loc_158AC @ Branch .text:00015880 .text:00015880 loc_15880: @ CODE XREF: sub_157B4+120j .text:00015880 @ sub_157B4+14Cj .text:00015880 LDR R3, =dword_45920 @ Load from Memory .text:00015884 MOV R12, #0x13 @ Rd = Op2 .text:00015888 LDR R0, [R3] @ Load from Memory .text:0001588C ADD R2, SP, #0x210+var_C @ Rd = Op1 + Op2 .text:00015890 MOV R1, #0 @ Rd = Op2 .text:00015894 MOV R3, #1 @ Rd = Op2 .text:00015898 STR R12, [SP,#0x210+var_210] @ Store to Memory .text:0001589C BL rw_packet @ Branch with Link .text:000158A0 MOV R0, #1 @ Rd = Op2 .text:000158A4 ADD SP, SP, #0x208 @ Rd = Op1 + Op2 .text:000158A8 LDMFD SP!, {R4,PC} @ Load Block from Memory .text:000158AC @ --------------------------------------------------------------------------- .text:000158AC .text:000158AC loc_158AC: @ CODE XREF: sub_157B4+C8j .text:000158AC LDR R1, =(aGotUtilityHalt+0x1C) @ Load from Memory .text:000158B0 MOV R0, R4 @ Rd = Op2 .text:000158B4 MOV R2, #3 @ Rd = Op2 .text:000158B8 BL xstrcmp @ Branch with Link .text:000158BC CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000158C0 BNE loc_158D8 @ Branch .text:000158C4 .text:000158C4 loc_158C4: @ CODE XREF: sub_157B4+138j .text:000158C4 @ sub_157B4+148j .text:000158C4 ADD R2, SP, #0x210+var_10 @ Rd = Op1 + Op2 .text:000158C8 LDRB R3, [R2,#4] @ Load from Memory .text:000158CC ORR R3, R3, #0x20 @ Rd = Op2 | Op1 .text:000158D0 STRB R3, [R2,#4] @ Store to Memory .text:000158D4 B loc_15880 @ Branch .text:000158D8 @ --------------------------------------------------------------------------- .text:000158D8 .text:000158D8 loc_158D8: @ CODE XREF: sub_157B4+10Cj .text:000158D8 LDR R1, =aTrue @ Load from Memory .text:000158DC MOV R0, R4 @ Rd = Op2 .text:000158E0 MOV R2, #5 @ Rd = Op2 .text:000158E4 BL xstrcmp @ Branch with Link .text:000158E8 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000158EC BEQ loc_158C4 @ Branch .text:000158F0 MOV R0, R4 @ Rd = Op2 .text:000158F4 BL sysv_signal_0x0_0xA @ Branch with Link .text:000158F8 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000158FC BNE loc_158C4 @ Branch .text:00015900 B loc_15880 @ Branch .text:00015904 @ --------------------------------------------------------------------------- .text:00015904 .text:00015904 loc_15904: @ CODE XREF: sub_157B4+ACj .text:00015904 LDR R1, =(aGotUtilityHalt+0x1C) @ Load from Memory .text:00015908 MOV R0, R4 @ Rd = Op2 .text:0001590C MOV R2, #3 @ Rd = Op2 .text:00015910 BL xstrcmp @ Branch with Link .text:00015914 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00015918 BNE loc_15930 @ Branch .text:0001591C .text:0001591C loc_1591C: @ CODE XREF: sub_157B4+190j .text:0001591C @ sub_157B4+1A4j .text:0001591C ADD R2, SP, #0x210+var_10 @ Rd = Op1 + Op2 .text:00015920 LDRB R3, [R2,#4] @ Load from Memory .text:00015924 ORR R3, R3, #0x10 @ Rd = Op2 | Op1 .text:00015928 STRB R3, [R2,#4] @ Store to Memory .text:0001592C B loc_15864 @ Branch .text:00015930 @ --------------------------------------------------------------------------- .text:00015930 .text:00015930 loc_15930: @ CODE XREF: sub_157B4+164j .text:00015930 LDR R1, =aTrue @ Load from Memory .text:00015934 MOV R0, R4 @ Rd = Op2 .text:00015938 MOV R2, #5 @ Rd = Op2 .text:0001593C BL xstrcmp @ Branch with Link .text:00015940 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00015944 BEQ loc_1591C @ Branch .text:00015948 MOV R0, R4 @ Rd = Op2 .text:0001594C BL sysv_signal_0x0_0xA @ Branch with Link .text:00015950 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00015954 BEQ loc_15864 @ Branch .text:00015958 B loc_1591C @ Branch .text:0001595C @ --------------------------------------------------------------------------- .text:0001595C .text:0001595C loc_1595C: @ CODE XREF: sub_157B4+90j .text:0001595C LDR R1, =(aGotUtilityHalt+0x1C) @ Load from Memory .text:00015960 MOV R0, R4 @ Rd = Op2 .text:00015964 MOV R2, #3 @ Rd = Op2 .text:00015968 BL xstrcmp @ Branch with Link .text:0001596C CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00015970 BNE loc_15988 @ Branch .text:00015974 .text:00015974 loc_15974: @ CODE XREF: sub_157B4+1E8j .text:00015974 @ sub_157B4+1FCj .text:00015974 ADD R2, SP, #0x210+var_10 @ Rd = Op1 + Op2 .text:00015978 LDRB R3, [R2,#4] @ Load from Memory .text:0001597C ORR R3, R3, #8 @ Rd = Op2 | Op1 .text:00015980 STRB R3, [R2,#4] @ Store to Memory .text:00015984 B loc_15848 @ Branch .text:00015988 @ --------------------------------------------------------------------------- .text:00015988 .text:00015988 loc_15988: @ CODE XREF: sub_157B4+1BCj .text:00015988 LDR R1, =aTrue @ Load from Memory .text:0001598C MOV R0, R4 @ Rd = Op2 .text:00015990 MOV R2, #5 @ Rd = Op2 .text:00015994 BL xstrcmp @ Branch with Link .text:00015998 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0001599C BEQ loc_15974 @ Branch .text:000159A0 MOV R0, R4 @ Rd = Op2 .text:000159A4 BL sysv_signal_0x0_0xA @ Branch with Link .text:000159A8 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000159AC BEQ loc_15848 @ Branch .text:000159B0 B loc_15974 @ Branch .text:000159B4 @ --------------------------------------------------------------------------- .text:000159B4 .text:000159B4 loc_159B4: @ CODE XREF: sub_157B4+74j .text:000159B4 LDR R1, =(aGotUtilityHalt+0x1C) @ Load from Memory .text:000159B8 MOV R0, R4 @ Rd = Op2 .text:000159BC MOV R2, #3 @ Rd = Op2 .text:000159C0 BL xstrcmp @ Branch with Link .text:000159C4 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000159C8 BNE loc_159E0 @ Branch .text:000159CC .text:000159CC loc_159CC: @ CODE XREF: sub_157B4+240j .text:000159CC @ sub_157B4+254j .text:000159CC ADD R2, SP, #0x210+var_10 @ Rd = Op1 + Op2 .text:000159D0 LDRB R3, [R2,#4] @ Load from Memory .text:000159D4 ORR R3, R3, #4 @ Rd = Op2 | Op1 .text:000159D8 STRB R3, [R2,#4] @ Store to Memory .text:000159DC B loc_1582C @ Branch .text:000159E0 @ --------------------------------------------------------------------------- .text:000159E0 .text:000159E0 loc_159E0: @ CODE XREF: sub_157B4+214j .text:000159E0 LDR R1, =aTrue @ Load from Memory .text:000159E4 MOV R0, R4 @ Rd = Op2 .text:000159E8 MOV R2, #5 @ Rd = Op2 .text:000159EC BL xstrcmp @ Branch with Link .text:000159F0 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000159F4 BEQ loc_159CC @ Branch .text:000159F8 MOV R0, R4 @ Rd = Op2 .text:000159FC BL sysv_signal_0x0_0xA @ Branch with Link .text:00015A00 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00015A04 BEQ loc_1582C @ Branch .text:00015A08 B loc_159CC @ Branch .text:00015A0C @ --------------------------------------------------------------------------- .text:00015A0C .text:00015A0C loc_15A0C: @ CODE XREF: sub_157B4+58j .text:00015A0C LDR R1, =(aGotUtilityHalt+0x1C) @ Load from Memory .text:00015A10 MOV R0, R4 @ Rd = Op2 .text:00015A14 MOV R2, #3 @ Rd = Op2 .text:00015A18 BL xstrcmp @ Branch with Link .text:00015A1C CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00015A20 BNE loc_15A38 @ Branch .text:00015A24 .text:00015A24 loc_15A24: @ CODE XREF: sub_157B4+298j .text:00015A24 @ sub_157B4+2ACj .text:00015A24 ADD R2, SP, #0x210+var_10 @ Rd = Op1 + Op2 .text:00015A28 LDRB R3, [R2,#4] @ Load from Memory .text:00015A2C ORR R3, R3, #2 @ Rd = Op2 | Op1 .text:00015A30 STRB R3, [R2,#4] @ Store to Memory .text:00015A34 B loc_15810 @ Branch .text:00015A38 @ --------------------------------------------------------------------------- .text:00015A38 .text:00015A38 loc_15A38: @ CODE XREF: sub_157B4+26Cj .text:00015A38 LDR R1, =aTrue @ Load from Memory .text:00015A3C MOV R0, R4 @ Rd = Op2 .text:00015A40 MOV R2, #5 @ Rd = Op2 .text:00015A44 BL xstrcmp @ Branch with Link .text:00015A48 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00015A4C BEQ loc_15A24 @ Branch .text:00015A50 MOV R0, R4 @ Rd = Op2 .text:00015A54 BL sysv_signal_0x0_0xA @ Branch with Link .text:00015A58 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00015A5C BEQ loc_15810 @ Branch .text:00015A60 B loc_15A24 @ Branch .text:00015A64 @ --------------------------------------------------------------------------- .text:00015A64 .text:00015A64 loc_15A64: @ CODE XREF: sub_157B4+2Cj .text:00015A64 @ sub_157B4+3Cj .text:00015A64 ADD R2, SP, #0x210+var_10 @ Rd = Op1 + Op2 .text:00015A68 LDRB R3, [R2,#4] @ Load from Memory .text:00015A6C ORR R3, R3, #1 @ Rd = Op2 | Op1 .text:00015A70 STRB R3, [R2,#4] @ Store to Memory .text:00015A74 B loc_157F4 @ Branch .text:00015A74 @ End of function sub_157B4 .text:00015A74 .text:00015A74 @ --------------------------------------------------------------------------- .text:00015A78 off_15A78: .long aDosPhatbox_ini @ DATA XREF: sub_157B4+10r .text:00015A78 @ sub_157B4:loc_157F4r ... .text:00015A78 @ "/dos/phatbox.ini" .text:00015A7C off_15A7C: .long aKenwood_digits @ DATA XREF: sub_157B4+18r .text:00015A7C @ "kenwood_digits" .text:00015A80 off_15A80: .long aPioneer_99_dig @ DATA XREF: sub_157B4+44r .text:00015A80 @ "pioneer_99_digits" .text:00015A84 off_15A84: .long aSsa_use_disc_u @ DATA XREF: sub_157B4+60r .text:00015A84 @ "ssa_use_disc_up_down" .text:00015A88 off_15A88: .long aDosPluginsKenw @ DATA XREF: sub_157B4:loc_1582Cr .text:00015A88 @ "/dos/plugins/Kenwood SSA/options.ini" .text:00015A8C off_15A8C: .long aKenwood_ssa @ DATA XREF: sub_157B4+7Cr .text:00015A8C @ "kenwood_ssa" .text:00015A90 off_15A90: .long aTrack_display_ @ DATA XREF: sub_157B4+98r .text:00015A90 @ "track_display_250" .text:00015A94 off_15A94: .long aDisc_display_2 @ DATA XREF: sub_157B4+B4r .text:00015A94 @ "disc_display_250" .text:00015A98 off_15A98: .long dword_45920 @ DATA XREF: sub_157B4:loc_15880r .text:00015A9C off_15A9C: .long aGotUtilityHalt+0x1C @ DATA XREF: sub_157B4:loc_158ACr .text:00015A9C @ sub_157B4:loc_15904r ... .text:00015AA0 off_15AA0: .long aTrue @ DATA XREF: sub_157B4:loc_158D8r .text:00015AA0 @ sub_157B4:loc_15930r ... .text:00015AA0 @ "true" .text:00015AA4 .text:00015AA4 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00015AA4 .text:00015AA4 .text:00015AA4 error_blink_forever: @ CODE XREF: processpack+3F0Cp .text:00015AA4 @ sub_105A4:loc_107DCp ... .text:00015AA4 .text:00015AA4 var_28 = -0x28 .text:00015AA4 var_24 = -0x24 .text:00015AA4 .text:00015AA4 STMFD SP!, {R4-R7,LR} @ Store Block to Memory .text:00015AA8 LDR R5, =debug_level @ Load from Memory .text:00015AAC LDR R3, [R5] @ Load from Memory .text:00015AB0 CMP R3, #0xB @ Set cond. codes on Op1 - Op2 .text:00015AB4 SUB SP, SP, #0x14 @ Rd = Op1 - Op2 .text:00015AB8 BLE loc_15BC0 @ Branch .text:00015ABC MOV R0, #0 @ Rd = Op2 .text:00015AC0 BL time @ Branch with Link .text:00015AC4 LDR R2, =0x51EB851F @ Load from Memory .text:00015AC8 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00015ACC MOV R3, R0,ASR#31 @ Rd = Op2 .text:00015AD0 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00015AD4 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00015AD8 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00015ADC SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00015AE0 BL call_gettimeofday @ Branch with Link .text:00015AE4 LDR R7, =logfile_format @ Load from Memory .text:00015AE8 LDR R6, =aError_blink_fo @ Load from Memory .text:00015AEC MOV R2, R0 @ Rd = Op2 .text:00015AF0 MOV R3, R6 @ Rd = Op2 .text:00015AF4 MOV R1, R4 @ Rd = Op2 .text:00015AF8 MOV R0, R7 @ Rd = Op2 .text:00015AFC BL printf @ Branch with Link .text:00015B00 LDR R0, =aBmw_native @ Load from Memory .text:00015B04 BL printf @ Branch with Link .text:00015B08 MOV R0, #0 @ Rd = Op2 .text:00015B0C BL sub_257B4 @ Branch with Link .text:00015B10 LDR R3, [R5] @ Load from Memory .text:00015B14 .text:00015B14 loc_15B14: @ CODE XREF: error_blink_forever+124j .text:00015B14 CMP R3, #0xB @ Set cond. codes on Op1 - Op2 .text:00015B18 BLE loc_15B68 @ Branch .text:00015B1C MOV R0, #0 @ Rd = Op2 .text:00015B20 BL time @ Branch with Link .text:00015B24 LDR R2, =0x51EB851F @ Load from Memory .text:00015B28 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00015B2C MOV R3, R0,ASR#31 @ Rd = Op2 .text:00015B30 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00015B34 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00015B38 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00015B3C SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00015B40 BL call_gettimeofday @ Branch with Link .text:00015B44 .text:00015B44 loc_15B44: @ DATA XREF: .text:off_27FF0o .text:00015B44 MOV R1, R4 @ Rd = Op2 .text:00015B48 MOV R2, R0 @ Rd = Op2 .text:00015B4C MOV R3, R6 @ Rd = Op2 .text:00015B50 MOV R0, R7 @ Rd = Op2 .text:00015B54 BL printf @ Branch with Link .text:00015B58 LDR R0, =aHeyDonTPeekAtM @ Load from Memory .text:00015B5C BL printf @ Branch with Link .text:00015B60 MOV R0, #0 @ Rd = Op2 .text:00015B64 BL sub_257B4 @ Branch with Link .text:00015B68 .text:00015B68 loc_15B68: @ CODE XREF: error_blink_forever+74j .text:00015B68 ADD R5, SP, #0x28+var_24 @ Rd = Op1 + Op2 .text:00015B6C MOV R2, #0x10 @ Rd = Op2 .text:00015B70 MOV R1, #0 @ Rd = Op2 .text:00015B74 MOV R0, R5 @ Rd = Op2 .text:00015B78 BL sub_26A4C @ Branch with Link .text:00015B7C LDR R3, =dword_45920 @ Load from Memory .text:00015B80 MOV R4, #1 @ Rd = Op2 .text:00015B84 .text:00015B84 loc_15B84: @ DATA XREF: .text:off_27C88o .text:00015B84 LDR R0, [R3] @ Load from Memory .text:00015B88 MOV R12, #0xFE @ '¦' @ Rd = Op2 .text:00015B8C MOV R2, R5 @ Rd = Op2 .text:00015B90 MOV R3, R4 @ Rd = Op2 .text:00015B94 MOV R1, #0 @ Rd = Op2 .text:00015B98 STR R12, [SP,#0x28+var_28] @ Store to Memory .text:00015B9C STRB R4, [SP,#0x28+var_24] @ Store to Memory .text:00015BA0 STRB R4, [SP,#0x28+var_24+1] @ Store to Memory .text:00015BA4 BL rw_packet @ Branch with Link .text:00015BA8 BL flush_buffer @ Branch with Link .text:00015BAC MOV R0, #0xC @ Rd = Op2 .text:00015BB0 BL sub_1A748 @ Branch with Link .text:00015BB4 .text:00015BB4 loc_15BB4: @ CODE XREF: error_blink_forever+118j .text:00015BB4 MOV R0, #0x3C @ '<' @ Rd = Op2 .text:00015BB8 BL sub_287AC @ Branch with Link .text:00015BBC B loc_15BB4 @ Branch .text:00015BC0 @ --------------------------------------------------------------------------- .text:00015BC0 .text:00015BC0 loc_15BC0: @ CODE XREF: error_blink_forever+14j .text:00015BC0 LDR R7, =logfile_format @ Load from Memory .text:00015BC4 LDR R6, =aError_blink_fo @ Load from Memory .text:00015BC8 B loc_15B14 @ Branch .text:00015BC8 @ End of function error_blink_forever .text:00015BC8 .text:00015BC8 @ --------------------------------------------------------------------------- .text:00015BCC off_15BCC: .long debug_level @ DATA XREF: error_blink_forever+4r .text:00015BD0 dword_15BD0: .long 0x51EB851F @ DATA XREF: error_blink_forever+20r .text:00015BD0 @ error_blink_forever+80r .text:00015BD4 off_15BD4: .long logfile_format @ DATA XREF: error_blink_forever+40r .text:00015BD4 @ error_blink_forever:loc_15BC0r .text:00015BD4 @ "%02li.%02li:51d :%-10.10s: " .text:00015BD8 off_15BD8: .long aError_blink_fo @ DATA XREF: error_blink_forever+44r .text:00015BD8 @ error_blink_forever+120r .text:00015BD8 @ "error_blink_forever" .text:00015BDC off_15BDC: .long aBmw_native @ DATA XREF: error_blink_forever+5Cr .text:00015BDC @ "bmw_native" .text:00015BE0 off_15BE0: .long aHeyDonTPeekAtM @ DATA XREF: error_blink_forever+B4r .text:00015BE0 @ "Hey! Don't peek at my strings!" .text:00015BE4 off_15BE4: .long dword_45920 @ DATA XREF: error_blink_forever+D8r .text:00015BE8 .text:00015BE8 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00015BE8 .text:00015BE8 .text:00015BE8 sub_15BE8: @ CODE XREF: main:loc_8C8Cp .text:00015BE8 @ processpack:loc_DD50p ... .text:00015BE8 .text:00015BE8 var_20 = -0x20 .text:00015BE8 var_1C = -0x1C .text:00015BE8 .text:00015BE8 STMFD SP!, {R4,R5,LR} @ Store Block to Memory .text:00015BEC MOV R5, R0 @ Rd = Op2 .text:00015BF0 SUB SP, SP, #0x14 @ Rd = Op1 - Op2 .text:00015BF4 MOV R0, R1 @ Rd = Op2 .text:00015BF8 BL sub_166A4 @ Branch with Link .text:00015BFC LDR R3, =0x51EB851F @ Load from Memory .text:00015C00 MOV R12, R0 @ Rd = Op2 .text:00015C04 SMULL R0, R2, R3, R12 @ Signed Multiply long .text:00015C08 SMULL R0, R1, R3, R5 @ Signed Multiply long .text:00015C0C MOV LR, R12,ASR#31 @ Rd = Op2 .text:00015C10 RSB LR, LR, R2,ASR#5 @ Rd = Op2 - Op1 .text:00015C14 MOV R4, R5,ASR#31 @ Rd = Op2 .text:00015C18 RSB R4, R4, R1,ASR#5 @ Rd = Op2 - Op1 .text:00015C1C ADD R2, LR, LR,LSL#2 @ Rd = Op1 + Op2 .text:00015C20 ADD R1, R4, R4,LSL#2 @ Rd = Op1 + Op2 .text:00015C24 LDR R3, =dword_45920 @ Load from Memory .text:00015C28 ADD R2, R2, R2,LSL#2 @ Rd = Op1 + Op2 .text:00015C2C SUB R12, R12, R2,LSL#2 @ Rd = Op1 - Op2 .text:00015C30 ADD R1, R1, R1,LSL#2 @ Rd = Op1 + Op2 .text:00015C34 SUB R5, R5, R1,LSL#2 @ Rd = Op1 - Op2 .text:00015C38 LDR R0, [R3] @ Load from Memory .text:00015C3C STRB R12, [SP,#0x20+var_1C+1] @ Store to Memory .text:00015C40 ADD R2, SP, #0x20+var_1C @ Rd = Op1 + Op2 .text:00015C44 MOV R12, #0x48 @ 'H' @ Rd = Op2 .text:00015C48 MOV R1, #0 @ Rd = Op2 .text:00015C4C MOV R3, #1 @ Rd = Op2 .text:00015C50 STRB R5, [SP,#0x20+var_1C+3] @ Store to Memory .text:00015C54 STR R12, [SP,#0x20+var_20] @ Store to Memory .text:00015C58 STRB LR, [SP,#0x20+var_1C] @ Store to Memory .text:00015C5C STRB R4, [SP,#0x20+var_1C+2] @ Store to Memory .text:00015C60 BL rw_packet @ Branch with Link .text:00015C64 ADD SP, SP, #0x14 @ Rd = Op1 + Op2 .text:00015C68 LDMFD SP!, {R4,R5,PC} @ Load Block from Memory .text:00015C68 @ End of function sub_15BE8 .text:00015C68 .text:00015C68 @ --------------------------------------------------------------------------- .text:00015C6C dword_15C6C: .long 0x51EB851F @ DATA XREF: sub_15BE8+14r .text:00015C70 off_15C70: .long dword_45920 @ DATA XREF: sub_15BE8+3Cr .text:00015C74 .text:00015C74 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00015C74 .text:00015C74 .text:00015C74 send_ioctl_SNDCTL_DSP_SPEED: @ CODE XREF: main+368p .text:00015C74 @ processpack+4D8p .text:00015C74 .text:00015C74 var_10 = -0x10 .text:00015C74 .text:00015C74 STMFD SP!, {R4,R5,LR} @ Store Block to Memory .text:00015C78 MOV R3, R0 @ Rd = Op2 .text:00015C7C SUB SP, SP, #4 @ Rd = Op1 - Op2 .text:00015C80 MOV R1, #1 @ oflag .text:00015C84 LDR R0, =aDevDsp @ file .text:00015C88 STR R3, [SP,#0x10+var_10] @ Store to Memory .text:00015C8C BL __libc_open @ Branch with Link .text:00015C90 MOV R1, #0xC0000002 @ Rd = Op2 .text:00015C94 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00015C98 MOV R4, R0 @ Rd = Op2 .text:00015C9C ADD R1, R1, #dword_45000 @ request .text:00015CA0 MOV R2, SP @ arg .text:00015CA4 MOVL R3, 0xFFFFFFFF .text:00015CA8 MOV R5, #0 @ Rd = Op2 .text:00015CAC BLT loc_15CD0 @ Branch .text:00015CB0 BL ioctl @ SNDCTL_DSP_SPEED .text:00015CB4 MOV R3, R0 @ Rd = Op2 .text:00015CB8 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00015CBC LDR R0, =aIoctlSndctl_ds @ Load from Memory .text:00015CC0 BLT loc_15CDC @ Branch .text:00015CC4 .text:00015CC4 loc_15CC4: @ CODE XREF: send_ioctl_SNDCTL_DSP_SPEED+70j .text:00015CC4 MOV R0, R4 @ fd .text:00015CC8 BL close @ Branch with Link .text:00015CCC MOV R3, R5 @ Rd = Op2 .text:00015CD0 .text:00015CD0 loc_15CD0: @ CODE XREF: send_ioctl_SNDCTL_DSP_SPEED+38j .text:00015CD0 MOV R0, R3 @ Rd = Op2 .text:00015CD4 ADD SP, SP, #4 @ Rd = Op1 + Op2 .text:00015CD8 LDMFD SP!, {R4,R5,PC} @ Load Block from Memory .text:00015CDC @ --------------------------------------------------------------------------- .text:00015CDC .text:00015CDC loc_15CDC: @ CODE XREF: send_ioctl_SNDCTL_DSP_SPEED+4Cj .text:00015CDC BL xhandle_error @ Branch with Link .text:00015CE0 MOVL R5, 0xFFFFFFFF .text:00015CE4 B loc_15CC4 @ Branch .text:00015CE4 @ End of function send_ioctl_SNDCTL_DSP_SPEED .text:00015CE4 .text:00015CE4 @ --------------------------------------------------------------------------- .text:00015CE8 @ char *off_15CE8 .text:00015CE8 off_15CE8: .long aDevDsp @ DATA XREF: send_ioctl_SNDCTL_DSP_SPEED+10r .text:00015CE8 @ "/dev/dsp" .text:00015CEC off_15CEC: .long aIoctlSndctl_ds @ DATA XREF: send_ioctl_SNDCTL_DSP_SPEED+48r .text:00015CEC @ "ioctl SNDCTL_DSP_SPEED" .text:00015CF0 .text:00015CF0 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00015CF0 .text:00015CF0 .text:00015CF0 sub_15CF0: @ CODE XREF: processpack+464p .text:00015CF0 .text:00015CF0 var_20C = -0x20C .text:00015CF0 .text:00015CF0 STMFD SP!, {R4,R5,LR} @ Store Block to Memory .text:00015CF4 SUB SP, SP, #0x240 @ Rd = Op1 - Op2 .text:00015CF8 ADD R4, SP, #0x24C+var_20C @ Rd = Op1 + Op2 .text:00015CFC MOV R2, R0 @ Rd = Op2 .text:00015D00 MOV R3, R1 @ Rd = Op2 .text:00015D04 MOV R0, R4 @ Rd = Op2 .text:00015D08 LDR R1, =aBc_02x02x @ Load from Memory .text:00015D0C BL xsprintf @ Branch with Link .text:00015D10 MOV R2, R4 @ Rd = Op2 .text:00015D14 MOV R3, SP @ Rd = Op2 .text:00015D18 MOV R1, #0 @ Rd = Op2 .text:00015D1C LDR R0, =aDosPhatbox_ini @ Load from Memory .text:00015D20 BL xread_ini @ Branch with Link .text:00015D24 MOV R3, R0 @ Rd = Op2 .text:00015D28 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00015D2C MOV R1, R0 @ Rd = Op2 .text:00015D30 MOV R5, SP @ Rd = Op2 .text:00015D34 MOV R0, SP @ Rd = Op2 .text:00015D38 MOV R2, R3 @ Rd = Op2 .text:00015D3C MOVNE R0, #1 @ Rd = Op2 .text:00015D40 BEQ loc_15D4C @ Branch .text:00015D44 .text:00015D44 loc_15D44: @ CODE XREF: sub_15CF0+60j .text:00015D44 ADD SP, SP, #0x240 @ Rd = Op1 + Op2 .text:00015D48 LDMFD SP!, {R4,R5,PC} @ Load Block from Memory .text:00015D4C @ --------------------------------------------------------------------------- .text:00015D4C .text:00015D4C loc_15D4C: @ CODE XREF: sub_15CF0+50j .text:00015D4C BL sysv_signal @ Branch with Link .text:00015D50 B loc_15D44 @ Branch .text:00015D50 @ End of function sub_15CF0 .text:00015D50 .text:00015D50 @ --------------------------------------------------------------------------- .text:00015D54 off_15D54: .long aBc_02x02x @ DATA XREF: sub_15CF0+18r .text:00015D54 @ "bc.%02x%02x" .text:00015D58 off_15D58: .long aDosPhatbox_ini @ DATA XREF: sub_15CF0+2Cr .text:00015D58 @ "/dos/phatbox.ini" .text:00015D5C .text:00015D5C @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00015D5C .text:00015D5C .text:00015D5C read_message: @ CODE XREF: main+AD0p .text:00015D5C .text:00015D5C var_418 = -0x418 .text:00015D5C var_414 = -0x414 .text:00015D5C var_410 = -0x410 .text:00015D5C var_40C = -0x40C .text:00015D5C var_408 = -0x408 .text:00015D5C var_20C = -0x20C .text:00015D5C var_18 = -0x18 .text:00015D5C .text:00015D5C STMFD SP!, {R4,R5,LR} @ Store Block to Memory .text:00015D60 SUB SP, SP, #0x400 @ Rd = Op1 - Op2 .text:00015D64 SUB SP, SP, #0xC @ Rd = Op1 - Op2 .text:00015D68 ADD R0, SP, #0x418+var_40C @ Rd = Op1 + Op2 .text:00015D6C ADD R2, SP, #0x418+var_40C @ Rd = Op1 + Op2 .text:00015D70 ADD R5, SP, #0x418+var_20C @ Rd = Op1 + Op2 .text:00015D74 SUB R2, R2, #8 @ Rd = Op1 - Op2 .text:00015D78 SUB R0, R0, #4 @ Rd = Op1 - Op2 .text:00015D7C MOV R1, R5 @ Rd = Op2 .text:00015D80 BL sub_199C0 @ Branch with Link .text:00015D84 LDR R3, =debug_level @ Load from Memory .text:00015D88 LDR R2, [R3] @ Load from Memory .text:00015D8C CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00015D90 BLE loc_15DE8 @ Branch .text:00015D94 MOV R0, #0 @ Rd = Op2 .text:00015D98 BL time @ Branch with Link .text:00015D9C LDR R2, =0x51EB851F @ Load from Memory .text:00015DA0 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00015DA4 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00015DA8 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00015DAC ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00015DB0 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00015DB4 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00015DB8 BL call_gettimeofday @ Branch with Link .text:00015DBC MOV R1, R4 @ Rd = Op2 .text:00015DC0 MOV R2, R0 @ Rd = Op2 .text:00015DC4 LDR R3, =aRead_message @ Load from Memory .text:00015DC8 LDR R0, =logfile_format @ Load from Memory .text:00015DCC BL printf @ Branch with Link .text:00015DD0 LDR R1, [SP,#0x418+var_410] @ Load from Memory .text:00015DD4 LDR R0, =aGotMessageFrom @ Load from Memory .text:00015DD8 LDR R2, [SP,#0x418+var_414] @ Load from Memory .text:00015DDC BL printf @ Branch with Link .text:00015DE0 MOV R0, #0 @ Rd = Op2 .text:00015DE4 BL sub_257B4 @ Branch with Link .text:00015DE8 .text:00015DE8 loc_15DE8: @ CODE XREF: read_message+34j .text:00015DE8 LDR R3, [SP,#0x418+var_410] @ Load from Memory .text:00015DEC CMP R3, #5 @ Set cond. codes on Op1 - Op2 .text:00015DF0 BEQ loc_15F0C @ Branch .text:00015DF4 ADD R4, SP, #0x418+var_40C @ Rd = Op1 + Op2 .text:00015DF8 MOV R2, #0x200 @ Rd = Op2 .text:00015DFC MOV R1, #0 @ Rd = Op2 .text:00015E00 MOV R0, R4 @ Rd = Op2 .text:00015E04 BL sub_26A4C @ Branch with Link .text:00015E08 MOV R3, #0x80000000 @ Rd = Op2 .text:00015E0C ADD R1, SP, #0x418+var_18 @ Rd = Op1 + Op2 .text:00015E10 MOV R2, #2 @ Rd = Op2 .text:00015E14 MOV R3, R3,ASR#21 @ Rd = Op2 .text:00015E18 ADD R1, R1, #0xC @ Rd = Op1 + Op2 .text:00015E1C STRB R2, [R1,R3] @ Store to Memory .text:00015E20 MOV R0, #0xC0 @ '+' @ Rd = Op2 .text:00015E24 BL hdr_isvalid @ Branch with Link .text:00015E28 LDR R2, [SP,#0x418+var_414] @ Load from Memory .text:00015E2C CMP R2, R0 @ Set cond. codes on Op1 - Op2 .text:00015E30 BGE loc_15E74 @ Branch .text:00015E34 ADD R0, SP, #0x418+var_408 @ Rd = Op1 + Op2 .text:00015E38 MOV R1, R5 @ Rd = Op2 .text:00015E3C SUB R0, R0, #3 @ Rd = Op1 - Op2 .text:00015E40 BL memcpy @ Branch with Link .text:00015E44 LDR R3, =dword_45920 @ Load from Memory .text:00015E48 LDR R0, [R3] @ Load from Memory .text:00015E4C MOV R2, R4 @ Rd = Op2 .text:00015E50 MOV R1, #0 @ Rd = Op2 .text:00015E54 MOV R3, #1 @ Rd = Op2 .text:00015E58 MOV R12, #0xC0 @ '+' @ Rd = Op2 .text:00015E5C .text:00015E5C loc_15E5C: @ CODE XREF: read_message+154j .text:00015E5C @ read_message+198j ... .text:00015E5C STR R12, [SP,#0x418+var_418] @ Store to Memory .text:00015E60 BL rw_packet @ Branch with Link .text:00015E64 MOV R0, #1 @ Rd = Op2 .text:00015E68 ADD SP, SP, #0xC @ Rd = Op1 + Op2 .text:00015E6C ADD SP, SP, #0x400 @ Rd = Op1 + Op2 .text:00015E70 LDMFD SP!, {R4,R5,PC} @ Load Block from Memory .text:00015E74 @ --------------------------------------------------------------------------- .text:00015E74 .text:00015E74 loc_15E74: @ CODE XREF: read_message+D4j .text:00015E74 MOV R0, #0xC2 @ '-' @ Rd = Op2 .text:00015E78 BL hdr_isvalid @ Branch with Link .text:00015E7C LDR R2, [SP,#0x418+var_414] @ Load from Memory .text:00015E80 CMP R2, R0 @ Set cond. codes on Op1 - Op2 .text:00015E84 BGE loc_15EB4 @ Branch .text:00015E88 ADD R0, SP, #0x418+var_408 @ Rd = Op1 + Op2 .text:00015E8C MOV R1, R5 @ Rd = Op2 .text:00015E90 SUB R0, R0, #3 @ Rd = Op1 - Op2 .text:00015E94 BL memcpy @ Branch with Link .text:00015E98 LDR R3, =dword_45920 @ Load from Memory .text:00015E9C LDR R0, [R3] @ Load from Memory .text:00015EA0 MOV R2, R4 @ Rd = Op2 .text:00015EA4 MOV R1, #0 @ Rd = Op2 .text:00015EA8 MOV R3, #1 @ Rd = Op2 .text:00015EAC MOV R12, #0xC2 @ '-' @ Rd = Op2 .text:00015EB0 B loc_15E5C @ Branch .text:00015EB4 @ --------------------------------------------------------------------------- .text:00015EB4 .text:00015EB4 loc_15EB4: @ CODE XREF: read_message+128j .text:00015EB4 MOV R0, #0xC3 @ '+' @ Rd = Op2 .text:00015EB8 BL hdr_isvalid @ Branch with Link .text:00015EBC LDR R2, [SP,#0x418+var_414] @ Load from Memory .text:00015EC0 SUB R0, R0, #1 @ Rd = Op1 - Op2 .text:00015EC4 CMP R2, R0 @ Set cond. codes on Op1 - Op2 .text:00015EC8 BGT loc_15EF8 @ Branch .text:00015ECC .text:00015ECC loc_15ECC: @ CODE XREF: read_message+1ACj .text:00015ECC ADD R0, SP, #0x418+var_408 @ Rd = Op1 + Op2 .text:00015ED0 MOV R1, R5 @ Rd = Op2 .text:00015ED4 SUB R0, R0, #3 @ Rd = Op1 - Op2 .text:00015ED8 BL memcpy @ Branch with Link .text:00015EDC LDR R3, =dword_45920 @ Load from Memory .text:00015EE0 MOV R2, R4 @ Rd = Op2 .text:00015EE4 LDR R0, [R3] @ Load from Memory .text:00015EE8 MOV R1, #0 @ Rd = Op2 .text:00015EEC MOV R3, #1 @ Rd = Op2 .text:00015EF0 MOV R12, #0xC3 @ '+' @ Rd = Op2 .text:00015EF4 B loc_15E5C @ Branch .text:00015EF8 @ --------------------------------------------------------------------------- .text:00015EF8 .text:00015EF8 loc_15EF8: @ CODE XREF: read_message+16Cj .text:00015EF8 MOV R0, #0xC3 @ '+' @ Rd = Op2 .text:00015EFC BL hdr_isvalid @ Branch with Link .text:00015F00 SUB R2, R0, #1 @ Rd = Op1 - Op2 .text:00015F04 STR R2, [SP,#0x418+var_414] @ Store to Memory .text:00015F08 B loc_15ECC @ Branch .text:00015F0C @ --------------------------------------------------------------------------- .text:00015F0C .text:00015F0C loc_15F0C: @ CODE XREF: read_message+94j .text:00015F0C LDR R3, =dword_45920 @ Load from Memory .text:00015F10 MOV R1, #0x80000000 @ Rd = Op2 .text:00015F14 LDR R0, [R3] @ Load from Memory .text:00015F18 ADD R3, SP, #0x418+var_18 @ Rd = Op1 + Op2 .text:00015F1C MOV R1, R1,ASR#22 @ Rd = Op2 .text:00015F20 ADD R3, R3, #0xC @ Rd = Op1 + Op2 .text:00015F24 LDRB R12, [R3,R1] @ Load from Memory .text:00015F28 ADD R2, R5, #1 @ Rd = Op1 + Op2 .text:00015F2C MOV R1, #0 @ Rd = Op2 .text:00015F30 MOV R3, #1 @ Rd = Op2 .text:00015F34 B loc_15E5C @ Branch .text:00015F34 @ End of function read_message .text:00015F34 .text:00015F34 @ --------------------------------------------------------------------------- .text:00015F38 off_15F38: .long debug_level @ DATA XREF: read_message+28r .text:00015F3C dword_15F3C: .long 0x51EB851F @ DATA XREF: read_message+40r .text:00015F40 off_15F40: .long aRead_message @ DATA XREF: read_message+68r .text:00015F40 @ "read_message" .text:00015F44 off_15F44: .long logfile_format @ DATA XREF: read_message+6Cr .text:00015F44 @ "%02li.%02li:51d :%-10.10s: " .text:00015F48 off_15F48: .long aGotMessageFrom @ DATA XREF: read_message+78r .text:00015F48 @ "Got Message from %i length %i\n" .text:00015F4C off_15F4C: .long dword_45920 @ DATA XREF: read_message+E8r .text:00015F4C @ read_message+13Cr ... .text:00015F50 .text:00015F50 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00015F50 .text:00015F50 .text:00015F50 int_handler: @ DATA XREF: main:off_90F0o .text:00015F50 STMFD SP!, {R4,LR} @ Store Block to Memory .text:00015F54 LDR R3, =debug_level @ Load from Memory .text:00015F58 LDR R2, [R3] @ Load from Memory .text:00015F5C CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00015F60 BLT loc_15FB0 @ Branch .text:00015F64 MOV R0, #0 @ Rd = Op2 .text:00015F68 .text:00015F68 loc_15F68: @ DATA XREF: .text:off_27C34o .text:00015F68 BL time @ Branch with Link .text:00015F6C LDR R2, =0x51EB851F @ Load from Memory .text:00015F70 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00015F74 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00015F78 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00015F7C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00015F80 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00015F84 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00015F88 BL call_gettimeofday @ Branch with Link .text:00015F8C MOV R1, R4 @ Rd = Op2 .text:00015F90 MOV R2, R0 @ Rd = Op2 .text:00015F94 LDR R3, =aInt_handler @ Load from Memory .text:00015F98 LDR R0, =logfile_format @ Load from Memory .text:00015F9C BL printf @ Branch with Link .text:00015FA0 LDR R0, =aExitingOnSigin @ Load from Memory .text:00015FA4 BL xdebug_out @ Branch with Link .text:00015FA8 MOV R0, #0 @ Rd = Op2 .text:00015FAC BL sub_257B4 @ Branch with Link .text:00015FB0 .text:00015FB0 loc_15FB0: @ CODE XREF: int_handler+10j .text:00015FB0 MOV R0, #0 @ Rd = Op2 .text:00015FB4 .text:00015FB4 loc_15FB4: @ DATA XREF: .text:off_27860o .text:00015FB4 BL sub_274E4 @ Branch with Link .text:00015FB4 @ End of function int_handler .text:00015FB4 .text:00015FB4 @ --------------------------------------------------------------------------- .text:00015FB8 off_15FB8: .long debug_level @ DATA XREF: int_handler+4r .text:00015FBC dword_15FBC: .long 0x51EB851F @ DATA XREF: int_handler+1Cr .text:00015FC0 off_15FC0: .long aInt_handler @ DATA XREF: int_handler+44r .text:00015FC0 @ "int_handler" .text:00015FC4 off_15FC4: .long logfile_format @ DATA XREF: int_handler+48r .text:00015FC4 @ "%02li.%02li:51d :%-10.10s: " .text:00015FC8 off_15FC8: .long aExitingOnSigin @ DATA XREF: int_handler+50r .text:00015FC8 @ "Exiting on SIGINT" .text:00015FCC .text:00015FCC @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00015FCC .text:00015FCC .text:00015FCC sub_15FCC: @ CODE XREF: sub_1605C:loc_1619Cp .text:00015FCC STMFD SP!, {R4,LR} @ Store Block to Memory .text:00015FD0 MOV R4, R1 @ Rd = Op2 .text:00015FD4 BL phat_playlistmode @ Branch with Link .text:00015FD8 CMP R0, #2 @ Set cond. codes on Op1 - Op2 .text:00015FDC BEQ loc_16030 @ Branch .text:00015FE0 BGT loc_1601C @ Branch .text:00015FE4 CMP R0, #1 @ Set cond. codes on Op1 - Op2 .text:00015FE8 BEQ loc_16004 @ Branch .text:00015FEC .text:00015FEC loc_15FEC: @ CODE XREF: sub_15FCC+54j .text:00015FEC LDR R2, =aPly @ Load from Memory .text:00015FF0 LDR R3, =aPlaylist_0 @ Load from Memory .text:00015FF4 CMP R4, #0 @ Set cond. codes on Op1 - Op2 .text:00015FF8 MOVEQ R0, R2 @ Rd = Op2 .text:00015FFC MOVNE R0, R3 @ Rd = Op2 .text:00016000 .text:00016000 loc_16000: @ DATA XREF: MD5Transform+670o .text:00016000 LDMFD SP!, {R4,PC} @ Load Block from Memory .text:00016004 @ --------------------------------------------------------------------------- .text:00016004 .text:00016004 loc_16004: @ CODE XREF: sub_15FCC+1Cj .text:00016004 LDR R2, =(aUnknownArtist+8) @ Load from Memory .text:00016008 LDR R3, =aArt @ Load from Memory .text:0001600C .text:0001600C loc_1600C: @ CODE XREF: sub_15FCC+60j .text:0001600C @ sub_15FCC+6Cj .text:0001600C CMP R4, #0 @ Set cond. codes on Op1 - Op2 .text:00016010 MOVNE R0, R2 @ Rd = Op2 .text:00016014 MOVEQ R0, R3 @ Rd = Op2 .text:00016018 LDMFD SP!, {R4,PC} @ Load Block from Memory .text:0001601C @ --------------------------------------------------------------------------- .text:0001601C .text:0001601C loc_1601C: @ CODE XREF: sub_15FCC+14j .text:0001601C CMP R0, #3 @ Set cond. codes on Op1 - Op2 .text:00016020 BNE loc_15FEC @ Branch .text:00016024 LDR R2, =(aUnknownAlbum+8) @ Load from Memory .text:00016028 LDR R3, =aAlb @ Load from Memory .text:0001602C B loc_1600C @ Branch .text:00016030 @ --------------------------------------------------------------------------- .text:00016030 .text:00016030 loc_16030: @ CODE XREF: sub_15FCC+10j .text:00016030 LDR R2, =(aUnknownGenre+8) @ Load from Memory .text:00016034 LDR R3, =aGen @ Load from Memory .text:00016038 B loc_1600C @ Branch .text:00016038 @ End of function sub_15FCC .text:00016038 .text:00016038 @ --------------------------------------------------------------------------- .text:0001603C off_1603C: .long aPly @ DATA XREF: sub_15FCC:loc_15FECr .text:0001603C @ "PLY" .text:00016040 off_16040: .long aPlaylist_0 @ DATA XREF: sub_15FCC+24r .text:00016040 @ "Playlist" .text:00016044 off_16044: .long aUnknownArtist+8 @ DATA XREF: sub_15FCC:loc_16004r .text:00016048 off_16048: .long aArt @ DATA XREF: sub_15FCC+3Cr .text:00016048 @ "ART" .text:0001604C off_1604C: .long aUnknownAlbum+8 @ DATA XREF: sub_15FCC+58r .text:00016050 off_16050: .long aAlb @ DATA XREF: sub_15FCC+5Cr .text:00016050 @ "ALB" .text:00016054 off_16054: .long aUnknownGenre+8 @ DATA XREF: sub_15FCC:loc_16030r .text:00016058 off_16058: .long aGen @ DATA XREF: sub_15FCC+68r .text:00016058 @ "GEN" .text:0001605C .text:0001605C @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001605C .text:0001605C .text:0001605C sub_1605C: @ CODE XREF: list_title_text+70p .text:0001605C STMFD SP!, {R4-R10,LR} @ Store Block to Memory .text:00016060 LDR R5, =dword_36010 @ Load from Memory .text:00016064 LDRB R12, [R5] @ Load from Memory .text:00016068 CMP R12, #0 @ Set cond. codes on Op1 - Op2 .text:0001606C SUB SP, SP, #0x80 @ Rd = Op1 - Op2 .text:00016070 MOV R6, R0 @ Rd = Op2 .text:00016074 MOV R10, R1 @ Rd = Op2 .text:00016078 MOV R7, R2 @ Rd = Op2 .text:0001607C MOV R8, R3 @ Rd = Op2 .text:00016080 BEQ loc_161E0 @ Branch .text:00016084 .text:00016084 loc_16084: @ CODE XREF: sub_1605C+198j .text:00016084 MOV R3, #0 @ Rd = Op2 .text:00016088 MOV R4, R3 @ Rd = Op2 .text:0001608C MOV R9, SP @ Rd = Op2 .text:00016090 STRB R3, [R6] @ Store to Memory .text:00016094 .text:00016094 loc_16094: @ CODE XREF: sub_1605C+6Cj .text:00016094 MOV R0, R5 @ Rd = Op2 .text:00016098 BL sub_26BDC @ Branch with Link .text:0001609C MOV R3, R0 @ Rd = Op2 .text:000160A0 CMP R4, R3 @ Set cond. codes on Op1 - Op2 .text:000160A4 ADD R1, R4, R5 @ Rd = Op1 + Op2 .text:000160A8 MOV R0, R6 @ Rd = Op2 .text:000160AC MOV R2, #1 @ Rd = Op2 .text:000160B0 BCS loc_161D4 @ Branch .text:000160B4 LDRB R3, [R5,R4] @ Load from Memory .text:000160B8 CMP R3, #0x25 @ '%' @ Set cond. codes on Op1 - Op2 .text:000160BC BEQ loc_160CC @ Branch .text:000160C0 BL sub_26C00 @ Branch with Link .text:000160C4 .text:000160C4 loc_160C4: @ CODE XREF: sub_1605C+80j .text:000160C4 @ sub_1605C+84j ... .text:000160C4 ADD R4, R4, #1 @ Rd = Op1 + Op2 .text:000160C8 B loc_16094 @ Branch .text:000160CC @ --------------------------------------------------------------------------- .text:000160CC .text:000160CC loc_160CC: @ CODE XREF: sub_1605C+60j .text:000160CC ADD R4, R4, #1 @ Rd = Op1 + Op2 .text:000160D0 LDRB R3, [R5,R4] @ Load from Memory .text:000160D4 SUB R3, R3, #0x4D @ Rd = Op1 - Op2 .text:000160D8 CMP R3, #0x27 @ ''' @ Set cond. codes on Op1 - Op2 .text:000160DC LDRLS PC, [PC,R3,LSL#2] @ Indirect Jump .text:000160E0 B loc_160C4 @ Branch .text:000160E0 @ --------------------------------------------------------------------------- .text:000160E4 .long loc_16194 .text:000160E8 .long loc_160C4 .text:000160EC .long loc_160C4 .text:000160F0 .long loc_160C4 .text:000160F4 .long loc_160C4 .text:000160F8 .long loc_160C4 .text:000160FC .long loc_160C4 .text:00016100 .long loc_160C4 .text:00016104 .long loc_160C4 .text:00016108 .long loc_160C4 .text:0001610C .long loc_160C4 .text:00016110 .long loc_160C4 .text:00016114 .long loc_160C4 .text:00016118 .long loc_160C4 .text:0001611C .long loc_160C4 .text:00016120 .long loc_160C4 .text:00016124 .long loc_160C4 .text:00016128 .long loc_160C4 .text:0001612C off_1612C: .long loc_160C4 @ DATA XREF: .text:off_277F8o .text:00016130 .long loc_160C4 .text:00016134 .long loc_160C4 .text:00016138 .long loc_160C4 .text:0001613C .long loc_160C4 .text:00016140 .long loc_160C4 .text:00016144 .long loc_160C4 .text:00016148 .long loc_160C4 .text:0001614C .long loc_160C4 .text:00016150 .long loc_160C4 .text:00016154 .long loc_160C4 .text:00016158 .long loc_160C4 .text:0001615C .long loc_160C4 .text:00016160 .long loc_160C4 .text:00016164 .long loc_161AC .text:00016168 .long loc_161B8 .text:0001616C .long loc_160C4 .text:00016170 .long loc_160C4 .text:00016174 .long loc_160C4 .text:00016178 .long loc_160C4 .text:0001617C .long loc_160C4 .text:00016180 .long loc_16184 .text:00016184 @ --------------------------------------------------------------------------- .text:00016184 .text:00016184 loc_16184: @ CODE XREF: sub_1605C+80j .text:00016184 @ DATA XREF: sub_1605C+124o .text:00016184 MOV R0, R6 @ Rd = Op2 .text:00016188 MOV R1, R10 @ Rd = Op2 .text:0001618C .text:0001618C loc_1618C: @ CODE XREF: sub_1605C+14Cj .text:0001618C @ sub_1605C+174j .text:0001618C BL sub_26B24 @ Branch with Link .text:00016190 B loc_160C4 @ Branch .text:00016194 @ --------------------------------------------------------------------------- .text:00016194 .text:00016194 loc_16194: @ CODE XREF: sub_1605C+80j .text:00016194 @ DATA XREF: sub_1605C+88o .text:00016194 MOV R0, R7 @ Rd = Op2 .text:00016198 MOV R1, #1 @ Rd = Op2 .text:0001619C .text:0001619C loc_1619C: @ CODE XREF: sub_1605C+158j .text:0001619C BL sub_15FCC @ Branch with Link .text:000161A0 MOV R1, R0 @ Rd = Op2 .text:000161A4 MOV R0, R6 @ Rd = Op2 .text:000161A8 B loc_1618C @ Branch .text:000161AC @ --------------------------------------------------------------------------- .text:000161AC .text:000161AC loc_161AC: @ CODE XREF: sub_1605C+80j .text:000161AC @ DATA XREF: sub_1605C+108o .text:000161AC MOV R0, R7 @ Rd = Op2 .text:000161B0 MOV R1, #0 @ Rd = Op2 .text:000161B4 B loc_1619C @ Branch .text:000161B8 @ --------------------------------------------------------------------------- .text:000161B8 .text:000161B8 loc_161B8: @ CODE XREF: sub_1605C+80j .text:000161B8 @ DATA XREF: sub_1605C+10Co .text:000161B8 LDR R1, =(aFw_02x02x_I+0xC) @ Load from Memory .text:000161BC .text:000161BC loc_161BC: @ DATA XREF: .text:off_27694o .text:000161BC MOV R0, R9 @ Rd = Op2 .text:000161C0 MOV R2, R8 @ Rd = Op2 .text:000161C4 BL xsprintf @ Branch with Link .text:000161C8 MOV R0, R6 @ Rd = Op2 .text:000161CC MOV R1, R9 @ Rd = Op2 .text:000161D0 B loc_1618C @ Branch .text:000161D4 @ --------------------------------------------------------------------------- .text:000161D4 .text:000161D4 loc_161D4: @ CODE XREF: sub_1605C+54j .text:000161D4 MOV R0, R2 @ Rd = Op2 .text:000161D8 ADD SP, SP, #0x80 @ Rd = Op1 + Op2 .text:000161DC LDMFD SP!, {R4-R10,PC} @ Load Block from Memory .text:000161E0 @ --------------------------------------------------------------------------- .text:000161E0 .text:000161E0 loc_161E0: @ CODE XREF: sub_1605C+24j .text:000161E0 LDR R0, =aDosPhatbox_ini @ Load from Memory .text:000161E4 MOV R1, R12 @ Rd = Op2 .text:000161E8 LDR R2, =aList_title_tex @ Load from Memory .text:000161EC MOV R3, R5 @ Rd = Op2 .text:000161F0 BL xread_ini @ Branch with Link .text:000161F4 B loc_16084 @ Branch .text:000161F4 @ End of function sub_1605C .text:000161F4 .text:000161F4 @ --------------------------------------------------------------------------- .text:000161F8 off_161F8: .long dword_36010 @ DATA XREF: sub_1605C+4r .text:000161FC off_161FC: .long aFw_02x02x_I+0xC @ DATA XREF: sub_1605C:loc_161B8r .text:00016200 off_16200: .long aDosPhatbox_ini @ DATA XREF: sub_1605C:loc_161E0r .text:00016200 @ "/dos/phatbox.ini" .text:00016204 off_16204: .long aList_title_tex @ DATA XREF: sub_1605C+18Cr .text:00016204 @ "list_title_text" .text:00016208 .text:00016208 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00016208 .text:00016208 .text:00016208 list_title_text: @ CODE XREF: processpack+2828p .text:00016208 STMFD SP!, {R4-R6,LR} @ Store Block to Memory .text:0001620C LDR R5, =dword_36090 @ Load from Memory .text:00016210 LDR R12, [R5] @ Load from Memory .text:00016214 SUB SP, SP, #0x40 @ Rd = Op1 - Op2 .text:00016218 MOV LR, #0 @ Rd = Op2 .text:0001621C CMN R12, #1 @ Set cond. codes on Op1 + Op2 .text:00016220 MOV R4, R0 @ Rd = Op2 .text:00016224 LDR R6, =dword_3DD30 @ Load from Memory .text:00016228 MOV R1, LR @ Rd = Op2 .text:0001622C LDR R2, =aList_title_tex @ Load from Memory .text:00016230 MOV R3, SP @ Rd = Op2 .text:00016234 LDR R0, =aDosPhatbox_ini @ Load from Memory .text:00016238 BEQ loc_16284 @ Branch .text:0001623C .text:0001623C loc_1623C: @ CODE XREF: list_title_text+90j .text:0001623C MOV R0, R4 @ Rd = Op2 .text:00016240 BL phat_diskname @ Branch with Link .text:00016244 LDR R2, =dword_36090 @ Load from Memory .text:00016248 LDR R12, [R2] @ Load from Memory .text:0001624C MOV LR, R0 @ Rd = Op2 .text:00016250 CMP R12, #0 @ Set cond. codes on Op1 - Op2 .text:00016254 MOV R1, R0 @ Rd = Op2 .text:00016258 MOV R3, R4 @ Rd = Op2 .text:0001625C MOV R0, R6 @ Rd = Op2 .text:00016260 MOVEQ R0, LR @ Rd = Op2 .text:00016264 BNE loc_16270 @ Branch .text:00016268 .text:00016268 loc_16268: @ CODE XREF: list_title_text+78j .text:00016268 ADD SP, SP, #0x40 @ Rd = Op1 + Op2 .text:0001626C LDMFD SP!, {R4-R6,PC} @ Load Block from Memory .text:00016270 @ --------------------------------------------------------------------------- .text:00016270 .text:00016270 loc_16270: @ CODE XREF: list_title_text+5Cj .text:00016270 LDR R4, =play_mode_0x34 @ Load from Memory .text:00016274 LDR R2, [R4] @ Load from Memory .text:00016278 BL sub_1605C @ Branch with Link .text:0001627C MOV R0, R6 @ Rd = Op2 .text:00016280 B loc_16268 @ Branch .text:00016284 @ --------------------------------------------------------------------------- .text:00016284 .text:00016284 loc_16284: @ CODE XREF: list_title_text+30j .text:00016284 @ DATA XREF: .text:off_275D4o .text:00016284 STR LR, [R5] @ Store to Memory .text:00016288 BL xread_ini @ Branch with Link .text:0001628C CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00016290 MOVEQ R3, #1 @ Rd = Op2 .text:00016294 STREQ R3, [R5] @ Store to Memory .text:00016298 B loc_1623C @ Branch .text:00016298 @ End of function list_title_text .text:00016298 .text:00016298 @ --------------------------------------------------------------------------- .text:0001629C off_1629C: .long dword_36090 @ DATA XREF: list_title_text+4r .text:0001629C @ list_title_text+3Cr .text:000162A0 off_162A0: .long dword_3DD30 @ DATA XREF: list_title_text+1Cr .text:000162A4 off_162A4: .long aList_title_tex @ DATA XREF: list_title_text+24r .text:000162A4 @ "list_title_text" .text:000162A8 off_162A8: .long aDosPhatbox_ini @ DATA XREF: list_title_text+2Cr .text:000162A8 @ "/dos/phatbox.ini" .text:000162AC off_162AC: .long play_mode_0x34 @ DATA XREF: list_title_text:loc_16270r .text:000162B0 .text:000162B0 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:000162B0 .text:000162B0 .text:000162B0 sub_162B0: .text:000162B0 STMFD SP!, {R4,R5,LR} @ Store Block to Memory .text:000162B4 LDR R1, =aA @ mode .text:000162B8 MOV R4, R0 @ Rd = Op2 .text:000162BC LDR R0, =aDosError_log_t @ filename .text:000162C0 BL fopen @ Branch with Link .text:000162C4 MOV R5, R0 @ Rd = Op2 .text:000162C8 SUBS R1, R5, #0 @ Rd = Op1 - Op2 .text:000162CC MOV R0, R4 @ Rd = Op2 .text:000162D0 LDMEQFD SP!, {R4,R5,PC} @ Load Block from Memory .text:000162D4 BL sub_25B0C @ Branch with Link .text:000162D8 MOV R0, R5 @ Rd = Op2 .text:000162DC BL sub_25614 @ Branch with Link .text:000162E0 LDMFD SP!, {R4,R5,LR} @ Load Block from Memory .text:000162E4 B sync @ Branch .text:000162E4 @ End of function sub_162B0 .text:000162E4 .text:000162E4 @ --------------------------------------------------------------------------- .text:000162E8 @ char *off_162E8 .text:000162E8 off_162E8: .long aA @ DATA XREF: sub_162B0+4r .text:000162E8 @ "a" .text:000162EC @ char *off_162EC .text:000162EC off_162EC: .long aDosError_log_t @ DATA XREF: sub_162B0+Cr .text:000162EC @ "/dos/error_log.txt" .text:000162F0 .text:000162F0 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:000162F0 .text:000162F0 .text:000162F0 check_replacement_prog: @ CODE XREF: processpack+10B4p .text:000162F0 @ test_uC_ver+2D8p .text:000162F0 .text:000162F0 var_120 = -0x120 .text:000162F0 var_11C = -0x11C .text:000162F0 var_110 = -0x110 .text:000162F0 .text:000162F0 STMFD SP!, {R4-R6,LR} @ Store Block to Memory .text:000162F4 .text:000162F4 loc_162F4: @ DATA XREF: .text:off_27544o .text:000162F4 LDR R3, =dword_35F84 @ Load from Memory .text:000162F8 LDR LR, [R3] @ Load from Memory .text:000162FC SUB SP, SP, #0x210 @ Rd = Op1 - Op2 .text:00016300 MOV R12, R0 @ Rd = Op2 .text:00016304 ADD R5, SP, #0x220+var_110 @ Rd = Op1 + Op2 .text:00016308 CMP LR, #0 @ Set cond. codes on Op1 - Op2 .text:0001630C LDR R2, =aUc_prog @ Load from Memory .text:00016310 MOV R1, LR @ Rd = Op2 .text:00016314 MOV R3, R5 @ Rd = Op2 .text:00016318 LDR R0, =dword_45888 @ Load from Memory .text:0001631C AND R12, R12, #0xFF @ Rd = Op1 & Op2 .text:00016320 BNE loc_16358 @ Branch .text:00016324 SUBS R2, R12, #0 @ Rd = Op1 - Op2 .text:00016328 MOV R4, SP @ Rd = Op2 .text:0001632C LDR R1, =aUc_prog_02x @ Load from Memory .text:00016330 MOV R0, SP @ Rd = Op2 .text:00016334 BNE loc_16340 @ Branch .text:00016338 .text:00016338 loc_16338: @ CODE XREF: check_replacement_prog+70j .text:00016338 @ check_replacement_prog+E8j .text:00016338 ADD SP, SP, #0x210 @ Rd = Op1 + Op2 .text:0001633C LDMFD SP!, {R4-R6,PC} @ Load Block from Memory .text:00016340 @ --------------------------------------------------------------------------- .text:00016340 .text:00016340 loc_16340: @ CODE XREF: check_replacement_prog+44j .text:00016340 BL xsprintf @ Branch with Link .text:00016344 BL get_phatboard_version @ Branch with Link .text:00016348 MOV R1, R0 @ Rd = Op2 .text:0001634C LDR R0, =dword_45888 @ Load from Memory .text:00016350 MOV R2, SP @ Rd = Op2 .text:00016354 MOV R3, R5 @ Rd = Op2 .text:00016358 .text:00016358 loc_16358: @ CODE XREF: check_replacement_prog+30j .text:00016358 BL xread_ini @ Branch with Link .text:0001635C CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00016360 BNE loc_16338 @ Branch .text:00016364 MOV R0, R5 @ Rd = Op2 .text:00016368 BL verify_sig @ Branch with Link .text:0001636C CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00016370 MOV R6, R0 @ Rd = Op2 .text:00016374 BNE loc_163DC @ Branch .text:00016378 LDR R3, =debug_level @ Load from Memory .text:0001637C LDR R2, [R3] @ Load from Memory .text:00016380 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00016384 BLT loc_163D4 @ Branch .text:00016388 BL time @ Branch with Link .text:0001638C LDR R2, =0x51EB851F @ Load from Memory .text:00016390 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00016394 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00016398 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0001639C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:000163A0 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:000163A4 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:000163A8 BL call_gettimeofday @ Branch with Link .text:000163AC LDR R3, =aCheck_replacem @ Load from Memory .text:000163B0 MOV R2, R0 @ Rd = Op2 .text:000163B4 MOV R1, R4 @ Rd = Op2 .text:000163B8 LDR R0, =logfile_format @ Load from Memory .text:000163BC BL printf @ Branch with Link .text:000163C0 MOV R1, R5 @ Rd = Op2 .text:000163C4 LDR R0, =aSCorrupt @ Load from Memory .text:000163C8 BL printf @ Branch with Link .text:000163CC MOV R0, R6 @ Rd = Op2 .text:000163D0 BL sub_257B4 @ Branch with Link .text:000163D4 .text:000163D4 loc_163D4: @ CODE XREF: check_replacement_prog+94j .text:000163D4 BL error_blink_forever @ Branch with Link .text:000163D8 B loc_16338 @ Branch .text:000163DC @ --------------------------------------------------------------------------- .text:000163DC .text:000163DC loc_163DC: @ CODE XREF: check_replacement_prog+84j .text:000163DC BL close_phatsock_ @ Branch with Link .text:000163E0 LDR R3, =dword_45920 @ Load from Memory .text:000163E4 LDR R0, [R3] @ fd .text:000163E8 BL close @ Branch with Link .text:000163EC MOV R6, #0 @ Rd = Op2 .text:000163F0 MOV R0, R5 @ Rd = Op2 .text:000163F4 ADD R1, SP, #0x220+var_120 @ Rd = Op1 + Op2 .text:000163F8 STR R5, [SP,#0x220+var_120] @ Store to Memory .text:000163FC STR R6, [SP,#0x220+var_11C] @ Store to Memory .text:00016400 BL xcall_execve @ Branch with Link .text:00016404 LDR R3, =debug_level @ Load from Memory .text:00016408 LDR R2, [R3] @ Load from Memory .text:0001640C CMP R2, R6 @ Set cond. codes on Op1 - Op2 .text:00016410 BLT loc_16460 @ Branch .text:00016414 MOV R0, R6 @ Rd = Op2 .text:00016418 BL time @ Branch with Link .text:0001641C LDR R2, =0x51EB851F @ Load from Memory .text:00016420 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00016424 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00016428 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:0001642C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00016430 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00016434 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00016438 BL call_gettimeofday @ Branch with Link .text:0001643C MOV R1, R4 @ Rd = Op2 .text:00016440 MOV R2, R0 @ Rd = Op2 .text:00016444 LDR R3, =aCheck_replacem @ Load from Memory .text:00016448 LDR R0, =logfile_format @ Load from Memory .text:0001644C BL printf @ Branch with Link .text:00016450 LDR R0, =aWhoaDudeMyRepl @ Load from Memory .text:00016454 BL xdebug_out @ Branch with Link .text:00016458 MOV R0, R6 @ Rd = Op2 .text:0001645C BL sub_257B4 @ Branch with Link .text:00016460 .text:00016460 loc_16460: @ CODE XREF: check_replacement_prog+120j .text:00016460 MOV R0, #0xFF @ Rd = Op2 .text:00016464 BL sub_274E4 @ Branch with Link .text:00016464 @ End of function check_replacement_prog .text:00016464 .text:00016464 @ --------------------------------------------------------------------------- .text:00016468 off_16468: .long dword_35F84 @ DATA XREF: check_replacement_prog:loc_162F4r .text:0001646C off_1646C: .long aUc_prog @ DATA XREF: check_replacement_prog+1Cr .text:0001646C @ "uc_prog" .text:00016470 off_16470: .long dword_45888 @ DATA XREF: check_replacement_prog+28r .text:00016470 @ check_replacement_prog+5Cr .text:00016474 off_16474: .long aUc_prog_02x @ DATA XREF: check_replacement_prog+3Cr .text:00016474 @ "uc_prog_%02x" .text:00016478 off_16478: .long debug_level @ DATA XREF: check_replacement_prog+88r .text:00016478 @ check_replacement_prog+114r .text:0001647C dword_1647C: .long 0x51EB851F @ DATA XREF: check_replacement_prog+9Cr .text:0001647C @ check_replacement_prog+12Cr .text:00016480 off_16480: .long aCheck_replacem @ DATA XREF: check_replacement_prog+BCr .text:00016480 @ check_replacement_prog+154r .text:00016480 @ "check_replacement_prog" .text:00016484 off_16484: .long logfile_format @ DATA XREF: check_replacement_prog+C8r .text:00016484 @ check_replacement_prog+158r .text:00016484 @ "%02li.%02li:51d :%-10.10s: " .text:00016488 off_16488: .long aSCorrupt @ DATA XREF: check_replacement_prog+D4r .text:00016488 @ "%s corrupt\n" .text:0001648C off_1648C: .long dword_45920 @ DATA XREF: check_replacement_prog+F0r .text:00016490 off_16490: .long aWhoaDudeMyRepl @ DATA XREF: check_replacement_prog+160r .text:00016490 @ "Whoa dude! My replacement program didn"... .text:00016494 .text:00016494 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00016494 .text:00016494 .text:00016494 check_forceupdate: @ CODE XREF: test_uC_ver+2CCp .text:00016494 .text:00016494 var_68 = -0x68 .text:00016494 var_67 = -0x67 .text:00016494 var_58 = -0x58 .text:00016494 .text:00016494 STMFD SP!, {R4-R8,LR} @ Store Block to Memory .text:00016498 AND R5, R0, #0xFF @ Rd = Op1 & Op2 .text:0001649C CMP R5, #1 @ Set cond. codes on Op1 - Op2 .text:000164A0 SUB SP, SP, #0x50 @ Rd = Op1 - Op2 .text:000164A4 BEQ loc_164B0 @ Branch .text:000164A8 .text:000164A8 loc_164A8: @ CODE XREF: check_forceupdate+2Cj .text:000164A8 @ check_forceupdate+58j ... .text:000164A8 ADD SP, SP, #0x50 @ Rd = Op1 + Op2 .text:000164AC LDMFD SP!, {R4-R8,PC} @ Load Block from Memory .text:000164B0 @ --------------------------------------------------------------------------- .text:000164B0 .text:000164B0 loc_164B0: @ CODE XREF: check_forceupdate+10j .text:000164B0 LDR R0, =aDosForceupdate @ Load from Memory .text:000164B4 ADD R1, SP, #0x68+var_58 @ Rd = Op1 + Op2 .text:000164B8 BL stat @ Branch with Link .text:000164BC CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000164C0 BNE loc_164A8 @ Branch .text:000164C4 LDR R0, =aDosFirmware_pa @ filename .text:000164C8 MOV R1, SP @ buf .text:000164CC BL parse_pac @ Branch with Link .text:000164D0 LDRB R3, [SP,#0x68+var_68] @ Load from Memory .text:000164D4 CMP R3, #0x15 @ Set cond. codes on Op1 - Op2 .text:000164D8 MOV R7, SP @ Rd = Op2 .text:000164DC BEQ loc_16548 @ Branch .text:000164E0 .text:000164E0 loc_164E0: @ CODE XREF: check_forceupdate+BCj .text:000164E0 LDR R3, =debug_level @ Load from Memory .text:000164E4 LDR R2, [R3] @ Load from Memory .text:000164E8 CMP R2, #3 @ Set cond. codes on Op1 - Op2 .text:000164EC BLE loc_164A8 @ Branch .text:000164F0 MOV R0, #0 @ Rd = Op2 .text:000164F4 BL time @ Branch with Link .text:000164F8 LDR R2, =0x51EB851F @ Load from Memory .text:000164FC SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00016500 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00016504 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00016508 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0001650C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00016510 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00016514 BL call_gettimeofday @ Branch with Link .text:00016518 MOV R1, R4 @ Rd = Op2 .text:0001651C MOV R2, R0 @ Rd = Op2 .text:00016520 LDR R3, =aCheck_forceupd @ Load from Memory .text:00016524 LDR R0, =logfile_format @ Load from Memory .text:00016528 BL printf @ Branch with Link .text:0001652C LDRB R1, [SP,#0x68+var_68] @ Load from Memory .text:00016530 LDRB R2, [SP,#0x68+var_67] @ Load from Memory .text:00016534 LDR R0, =aFirmwareFileDo @ Load from Memory .text:00016538 BL printf @ Branch with Link .text:0001653C .text:0001653C loc_1653C: @ CODE XREF: check_forceupdate+130j .text:0001653C MOV R0, #0 @ Rd = Op2 .text:00016540 BL sub_257B4 @ Branch with Link .text:00016544 B loc_164A8 @ Branch .text:00016548 @ --------------------------------------------------------------------------- .text:00016548 .text:00016548 loc_16548: @ CODE XREF: check_forceupdate+48j .text:00016548 LDRB R6, [SP,#0x68+var_67] @ Load from Memory .text:0001654C CMP R6, #0 @ Set cond. codes on Op1 - Op2 .text:00016550 BNE loc_164E0 @ Branch .text:00016554 LDR R8, =debug_level @ Load from Memory .text:00016558 LDR R3, [R8] @ Load from Memory .text:0001655C CMP R3, #3 @ Set cond. codes on Op1 - Op2 .text:00016560 BGT loc_1662C @ Branch .text:00016564 .text:00016564 loc_16564: @ CODE XREF: check_forceupdate+1E4j .text:00016564 LDR R4, =dword_35F30 @ Load from Memory .text:00016568 LDR R6, [R4] @ Load from Memory .text:0001656C CMP R6, #0 @ Set cond. codes on Op1 - Op2 .text:00016570 BNE loc_165C8 @ Branch .text:00016574 LDR R3, [R8] @ Load from Memory .text:00016578 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0001657C BLT loc_164A8 @ Branch .text:00016580 MOV R0, R6 @ Rd = Op2 .text:00016584 BL time @ Branch with Link .text:00016588 LDR R2, =0x51EB851F @ Load from Memory .text:0001658C SMULL R3, R1, R2, R0 @ Signed Multiply long .text:00016590 MOV R3, R0,ASR#31 @ Rd = Op2 .text:00016594 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00016598 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0001659C ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:000165A0 SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:000165A4 BL call_gettimeofday @ Branch with Link .text:000165A8 MOV R1, R4 @ Rd = Op2 .text:000165AC MOV R2, R0 @ Rd = Op2 .text:000165B0 LDR R3, =aCheck_forceupd @ Load from Memory .text:000165B4 LDR R0, =logfile_format @ Load from Memory .text:000165B8 BL printf @ Branch with Link .text:000165BC LDR R0, =aCouldnTOpenD_0 @ Load from Memory .text:000165C0 BL xdebug_out @ Branch with Link .text:000165C4 B loc_1653C @ Branch .text:000165C8 @ --------------------------------------------------------------------------- .text:000165C8 .text:000165C8 loc_165C8: @ CODE XREF: check_forceupdate+DCj .text:000165C8 MOV R1, R7 @ buf .text:000165CC MOV R2, R5 @ count .text:000165D0 MOV R3, #0x75 @ 'u' @ Rd = Op2 .text:000165D4 MOV R0, R6 @ fd .text:000165D8 .text:000165D8 loc_165D8: @ DATA XREF: .text:off_272ACo .text:000165D8 STRB R3, [SP,#0x68+var_68] @ Store to Memory .text:000165DC BL __libc_write @ Branch with Link .text:000165E0 MOVL R0, dword_3D090 .text:000165E8 BL sub_287E4 @ Branch with Link .text:000165EC MOV R1, R7 @ buf .text:000165F0 MOV R2, R5 @ count .text:000165F4 MOV R3, #0x48 @ 'H' @ Rd = Op2 .text:000165F8 LDR R0, [R4] @ fd .text:000165FC STRB R3, [SP,#0x68+var_68] @ Store to Memory .text:00016600 BL __libc_write @ Branch with Link .text:00016604 MOVL R0, 0x7A120 .text:0001660C BL sub_287E4 @ Branch with Link .text:00016610 MOV R3, #0x68 @ 'h' @ Rd = Op2 .text:00016614 LDR R0, [R4] @ fd .text:00016618 MOV R1, R7 @ buf .text:0001661C MOV R2, R5 @ count .text:00016620 STRB R3, [SP,#0x68+var_68] @ Store to Memory .text:00016624 BL __libc_write @ Branch with Link .text:00016628 B loc_164A8 @ Branch .text:0001662C @ --------------------------------------------------------------------------- .text:0001662C .text:0001662C loc_1662C: @ CODE XREF: check_forceupdate+CCj .text:0001662C MOV R0, R6 @ Rd = Op2 .text:00016630 BL time @ Branch with Link .text:00016634 LDR R2, =0x51EB851F @ Load from Memory .text:00016638 SMULL R3, R1, R2, R0 @ Signed Multiply long .text:0001663C MOV R3, R0,ASR#31 @ Rd = Op2 .text:00016640 RSB R3, R3, R1,ASR#5 @ Rd = Op2 - Op1 .text:00016644 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00016648 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:0001664C SUB R4, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:00016650 BL call_gettimeofday @ Branch with Link .text:00016654 MOV R1, R4 @ Rd = Op2 .text:00016658 MOV R2, R0 @ Rd = Op2 .text:0001665C LDR R3, =aCheck_forceupd @ Load from Memory .text:00016660 LDR R0, =logfile_format @ Load from Memory .text:00016664 BL printf @ Branch with Link .text:00016668 LDR R0, =aFoundForceupda @ Load from Memory .text:0001666C BL xdebug_out @ Branch with Link .text:00016670 MOV R0, R6 @ Rd = Op2 .text:00016674 BL sub_257B4 @ Branch with Link .text:00016678 B loc_16564 @ Branch .text:00016678 @ End of function check_forceupdate .text:00016678 .text:00016678 @ --------------------------------------------------------------------------- .text:0001667C off_1667C: .long aDosForceupdate @ DATA XREF: check_forceupdate:loc_164B0r .text:0001667C @ "/dos/forceupdate" .text:00016680 @ char *off_16680 .text:00016680 off_16680: .long aDosFirmware_pa @ DATA XREF: check_forceupdate+30r .text:00016680 @ "/dos/firmware.pac" .text:00016684 off_16684: .long debug_level @ DATA XREF: check_forceupdate:loc_164E0r .text:00016684 @ check_forceupdate+C0r .text:00016688 dword_16688: .long 0x51EB851F @ DATA XREF: check_forceupdate+64r .text:00016688 @ check_forceupdate+F4r ... .text:0001668C off_1668C: .long aCheck_forceupd @ DATA XREF: check_forceupdate+8Cr .text:0001668C @ check_forceupdate+11Cr ... .text:0001668C @ "check_forceupdate" .text:00016690 off_16690: .long logfile_format @ DATA XREF: check_forceupdate+90r .text:00016690 @ check_forceupdate+120r ... .text:00016690 @ "%02li.%02li:51d :%-10.10s: " .text:00016694 off_16694: .long aFirmwareFileDo @ DATA XREF: check_forceupdate+A0r .text:00016694 @ "Firmware file does not match 0x1500 (0x"... .text:00016698 off_16698: .long dword_35F30 @ DATA XREF: check_forceupdate:loc_16564r .text:0001669C off_1669C: .long aCouldnTOpenD_0 @ DATA XREF: check_forceupdate+128r .text:0001669C @ "Couldn't open /dev/8051 to reboot uC" .text:000166A0 off_166A0: .long aFoundForceupda @ DATA XREF: check_forceupdate+1D4r .text:000166A0 @ "Found forceupdate, will reboot uC" .text:000166A4 .text:000166A4 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:000166A4 .text:000166A4 .text:000166A4 sub_166A4: @ CODE XREF: processpack+1288p .text:000166A4 @ sub_152E4+58p ... .text:000166A4 LDR R3, =dword_35FB4 @ Load from Memory .text:000166A8 LDR R2, [R3] @ Load from Memory .text:000166AC CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:000166B0 MOV R1, R0,ASR#31 @ Rd = Op2 .text:000166B4 MOVEQ PC, LR @ Rd = Op2 .text:000166B8 LDR R3, =0xA57EB503 @ Load from Memory .text:000166BC SMULL R12, R2, R3, R0 @ Signed Multiply long .text:000166C0 ADD R2, R2, R0 @ Rd = Op1 + Op2 .text:000166C4 RSB R2, R1, R2,ASR#6 @ Rd = Op2 - Op1 .text:000166C8 ADD R3, R2, R2,LSL#1 @ Rd = Op1 + Op2 .text:000166CC ADD R3, R3, R3,LSL#5 @ Rd = Op1 + Op2 .text:000166D0 ADD R2, R2, R2,LSL#2 @ Rd = Op1 + Op2 .text:000166D4 RSB R3, R3, R0 @ Rd = Op2 - Op1 .text:000166D8 ADD R2, R2, R2,LSL#2 @ Rd = Op1 + Op2 .text:000166DC ADD R0, R3, R2,LSL#2 @ Rd = Op1 + Op2 .text:000166E0 RET @ Return from Subroutine .text:000166E0 @ End of function sub_166A4 .text:000166E0 .text:000166E0 @ --------------------------------------------------------------------------- .text:000166E4 off_166E4: .long dword_35FB4 @ DATA XREF: sub_166A4r .text:000166E8 dword_166E8: .long 0xA57EB503 @ DATA XREF: sub_166A4+14r .text:000166EC .text:000166EC @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:000166EC .text:000166EC .text:000166EC sub_166EC: @ CODE XREF: processpack+1584p .text:000166EC @ processpack+17CCp ... .text:000166EC LDR R3, =dword_35FB4 @ Load from Memory .text:000166F0 LDR R2, [R3] @ Load from Memory .text:000166F4 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:000166F8 MOV R1, R0,ASR#31 @ Rd = Op2 .text:000166FC MOVEQ PC, LR @ Rd = Op2 .text:00016700 LDR R3, =0x51EB851F @ Load from Memory .text:00016704 SMULL R12, R2, R3, R0 @ Signed Multiply long .text:00016708 RSB R2, R1, R2,ASR#5 @ Rd = Op2 - Op1 .text:0001670C ADD R3, R2, R2,LSL#2 @ Rd = Op1 + Op2 .text:00016710 ADD R3, R3, R3,LSL#2 @ Rd = Op1 + Op2 .text:00016714 ADD R2, R2, R2,LSL#1 @ Rd = Op1 + Op2 .text:00016718 SUB R3, R0, R3,LSL#2 @ Rd = Op1 - Op2 .text:0001671C ADD R2, R2, R2,LSL#5 @ Rd = Op1 + Op2 .text:00016720 ADD R0, R2, R3 @ Rd = Op1 + Op2 .text:00016724 RET @ Return from Subroutine .text:00016724 @ End of function sub_166EC .text:00016724 .text:00016724 @ --------------------------------------------------------------------------- .text:00016728 off_16728: .long dword_35FB4 @ DATA XREF: sub_166ECr .text:0001672C dword_1672C: .long 0x51EB851F @ DATA XREF: sub_166EC+14r .text:00016730 .text:00016730 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00016730 .text:00016730 .text:00016730 sub_16730: @ CODE XREF: test_uC_ver+2D0p .text:00016730 .text:00016730 var_4 = -4 .text:00016730 arg_4 = 4 .text:00016730 .text:00016730 @ FUNCTION CHUNK AT .rodata:0002C998 SIZE 0000003B BYTES .text:00016730 .text:00016730 STR LR, [SP,#var_4]! @ Store to Memory .text:00016734 LDR R0, =aLot @ name .text:00016738 BL getenv @ Branch with Link .text:0001673C MOV R1, #0 @ Rd = Op2 .text:00016740 CMP R0, R1 @ Set cond. codes on Op1 - Op2 .text:00016744 MOV R2, #0x10 @ Rd = Op2 .text:00016748 BEQ loc_16754 @ Branch .text:0001674C BL sysv_signal @ Branch with Link .text:00016750 BL sub_1A7C0 @ Branch with Link .text:00016754 .text:00016754 loc_16754: @ CODE XREF: sub_16730+18j .text:00016754 MOV R0, #1 @ Rd = Op2 .text:00016758 LDR PC, [SP],#arg_4 @ Indirect Jump .text:00016758 @ End of function sub_16730 .text:00016758 .text:00016758 @ --------------------------------------------------------------------------- .text:0001675C @ char *off_1675C .text:0001675C off_1675C: .long aLot @ DATA XREF: sub_16730+4r .text:0001675C @ "lot" .text:00016760 .text:00016760 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00016760 .text:00016760 .text:00016760 read_phatbox_ini: @ CODE XREF: send_arm_status+78p .text:00016760 .text:00016760 var_11C = -0x11C .text:00016760 var_9C = -0x9C .text:00016760 .text:00016760 STMFD SP!, {R4-R8,R10,LR} @ Store Block to Memory .text:00016764 MOV R4, R0 @ r4=noenc_flag .text:00016768 SUB SP, SP, #0x180 @ Rd = Op1 - Op2 .text:0001676C LDR R0, =aLot @ name .text:00016770 AND R5, R1, #0xFF @ Rd = Op1 & Op2 .text:00016774 AND R6, R2, #0xFF @ Rd = Op1 & Op2 .text:00016778 BL getenv @ Branch with Link .text:0001677C MOV R3, R0 @ Rd = Op2 .text:00016780 ADD R7, SP, #0x19C+var_9C @ Rd = Op1 + Op2 .text:00016784 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00016788 MOV R2, R0 @ Rd = Op2 .text:0001678C MOV R10, SP @ Rd = Op2 .text:00016790 ADD R8, SP, #0x19C+var_11C @ Rd = Op1 + Op2 .text:00016794 LDR R1, =aFwok_S @ Load from Memory .text:00016798 MOV R0, R7 @ Rd = Op2 .text:0001679C BEQ loc_167FC @ Branch .text:000167A0 BL xsprintf @ Branch with Link .text:000167A4 MOV R2, R5 @ Rd = Op2 .text:000167A8 LDR R1, =a02x02x @ Load from Memory .text:000167AC MOV R3, R6 @ Rd = Op2 .text:000167B0 MOV R0, SP @ Rd = Op2 .text:000167B4 BL xsprintf @ Branch with Link .text:000167B8 MOV R1, #0 @ Rd = Op2 .text:000167BC MOV R2, R7 @ Rd = Op2 .text:000167C0 MOV R3, R8 @ Rd = Op2 .text:000167C4 LDR R0, =aDosPhatbox_ini @ Load from Memory .text:000167C8 BL xread_ini @ Branch with Link .text:000167CC MOV R1, #0 @ Rd = Op2 .text:000167D0 MOV R12, R0 @ Rd = Op2 .text:000167D4 CMP R12, R1 @ Set cond. codes on Op1 - Op2 .text:000167D8 MOV R2, R7 @ Rd = Op2 .text:000167DC LDR R0, =aPnPhatbox_ini @ Load from Memory .text:000167E0 MOV R3, R8 @ Rd = Op2 .text:000167E4 BNE loc_16808 @ Branch .text:000167E8 .text:000167E8 loc_167E8: @ CODE XREF: read_phatbox_ini+B0j .text:000167E8 MOV R0, R8 @ Rd = Op2 .text:000167EC MOV R1, R10 @ Rd = Op2 .text:000167F0 BL strcmp @ Branch with Link .text:000167F4 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000167F8 MOVNE R4, #0 @ Rd = Op2 .text:000167FC .text:000167FC loc_167FC: @ CODE XREF: read_phatbox_ini+3Cj .text:000167FC @ read_phatbox_ini+B4j .text:000167FC MOV R0, R4 @ Rd = Op2 .text:00016800 ADD SP, SP, #0x180 @ Rd = Op1 + Op2 .text:00016804 LDMFD SP!, {R4-R8,R10,PC} @ Load Block from Memory .text:00016808 @ --------------------------------------------------------------------------- .text:00016808 .text:00016808 loc_16808: @ CODE XREF: read_phatbox_ini+84j .text:00016808 BL xread_ini @ Branch with Link .text:0001680C CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00016810 BEQ loc_167E8 @ Branch .text:00016814 B loc_167FC @ Branch .text:00016814 @ End of function read_phatbox_ini .text:00016814 .text:00016814 @ --------------------------------------------------------------------------- .text:00016818 @ char *off_16818 .text:00016818 off_16818: .long aLot @ DATA XREF: read_phatbox_ini+Cr .text:00016818 @ "lot" .text:0001681C off_1681C: .long aFwok_S @ DATA XREF: read_phatbox_ini+34r .text:0001681C @ "fwok.%s" .text:00016820 off_16820: .long a02x02x @ DATA XREF: read_phatbox_ini+48r .text:00016820 @ "%02x%02x" .text:00016824 off_16824: .long aDosPhatbox_ini @ DATA XREF: read_phatbox_ini+64r .text:00016824 @ "/dos/phatbox.ini" .text:00016828 off_16828: .long aPnPhatbox_ini @ DATA XREF: read_phatbox_ini+7Cr .text:00016828 @ "/pn/phatbox.ini" .text:0001682C .text:0001682C @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001682C .text:0001682C .text:0001682C get_pn_board_ver: @ CODE XREF: processpack+2940p .text:0001682C @ sub_105A4+30p ... .text:0001682C .text:0001682C var_18 = -0x18 .text:0001682C .text:0001682C STMFD SP!, {R4-R8,LR} @ Store Block to Memory .text:00016830 LDR R4, =dword_36094 @ Load from Memory .text:00016834 LDR R3, [R4] @ Load from Memory .text:00016838 CMN R3, #1 @ Set cond. codes on Op1 + Op2 .text:0001683C SUB SP, SP, #0x200 @ Rd = Op1 - Op2 .text:00016840 MOV R6, R0 @ Rd = Op2 .text:00016844 MOV R5, R1 @ Rd = Op2 .text:00016848 BEQ loc_1689C @ Branch .text:0001684C .text:0001684C loc_1684C: @ CODE XREF: get_pn_board_ver+D0j .text:0001684C @ get_pn_board_ver+114j ... .text:0001684C LDR R3, =dword_36094 @ Load from Memory .text:00016850 LDR R0, [R3] @ Load from Memory .text:00016854 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00016858 BEQ loc_16874 @ Branch .text:0001685C CMP R6, #0 @ Set cond. codes on Op1 - Op2 .text:00016860 BLT loc_1688C @ Branch .text:00016864 BNE loc_1687C @ Branch .text:00016868 CMP R0, R5 @ Set cond. codes on Op1 - Op2 .text:0001686C MOVNE R0, #0 @ Rd = Op2 .text:00016870 MOVEQ R0, #1 @ Rd = Op2 .text:00016874 .text:00016874 loc_16874: @ CODE XREF: get_pn_board_ver+2Cj .text:00016874 @ get_pn_board_ver+5Cj ... .text:00016874 ADD SP, SP, #0x200 @ Rd = Op1 + Op2 .text:00016878 LDMFD SP!, {R4-R8,PC} @ Load Block from Memory .text:0001687C @ --------------------------------------------------------------------------- .text:0001687C .text:0001687C loc_1687C: @ CODE XREF: get_pn_board_ver+38j .text:0001687C CMP R0, R5 @ Set cond. codes on Op1 - Op2 .text:00016880 MOVLT R0, #0 @ Rd = Op2 .text:00016884 MOVGE R0, #1 @ Rd = Op2 .text:00016888 B loc_16874 @ Branch .text:0001688C @ --------------------------------------------------------------------------- .text:0001688C .text:0001688C loc_1688C: @ CODE XREF: get_pn_board_ver+34j .text:0001688C CMP R0, R5 @ Set cond. codes on Op1 - Op2 .text:00016890 MOVGT R0, #0 @ Rd = Op2 .text:00016894 MOVLE R0, #1 @ Rd = Op2 .text:00016898 B loc_16874 @ Branch .text:0001689C @ --------------------------------------------------------------------------- .text:0001689C .text:0001689C loc_1689C: @ CODE XREF: get_pn_board_ver+1Cj .text:0001689C MOV R3, #0x80000000 @ Rd = Op2 .text:000168A0 MOV R2, #0 @ Rd = Op2 .text:000168A4 MOV R3, R3,ASR#22 @ Rd = Op2 .text:000168A8 ADD R7, SP, #0x218+var_18 @ Rd = Op1 + Op2 .text:000168AC STRB R2, [R7,R3] @ Store to Memory .text:000168B0 STR R2, [R4] @ Store to Memory .text:000168B4 LDR R0, =aProcPn_board_ver @ filename .text:000168B8 LDR R1, =aR @ mode .text:000168BC BL fopen @ read board version .text:000168C0 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000168C4 MOV R4, R0 @ Rd = Op2 .text:000168C8 MOV R7, SP @ Rd = Op2 .text:000168CC BEQ loc_1695C @ Branch .text:000168D0 MOV R0, SP @ Rd = Op2 .text:000168D4 MOV R1, #0x200 @ Rd = Op2 .text:000168D8 MOV R2, R4 @ Rd = Op2 .text:000168DC BL sub_25A34 @ Branch with Link .text:000168E0 MOV R0, R4 @ Rd = Op2 .text:000168E4 BL sub_25614 @ Branch with Link .text:000168E8 .text:000168E8 loc_168E8: @ CODE XREF: get_pn_board_ver+154j .text:000168E8 @ get_pn_board_ver+16Cj .text:000168E8 MOV R3, #0x80000000 @ Rd = Op2 .text:000168EC MOV R3, R3,ASR#22 @ Rd = Op2 .text:000168F0 ADD R1, SP, #0x218+var_18 @ Rd = Op1 + Op2 .text:000168F4 LDRB R2, [R1,R3] @ Load from Memory .text:000168F8 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:000168FC BEQ loc_1684C @ Branch .text:00016900 MOV R1, #0x76 @ 'v' @ Rd = Op2 .text:00016904 MOV R0, R7 @ Rd = Op2 .text:00016908 BL strrchr @ Branch with Link .text:0001690C CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00016910 MOVEQ R4, R7 @ Rd = Op2 .text:00016914 ADDNE R4, R0, #1 @ Rd = Op1 + Op2 .text:00016918 MOV R0, R4 @ Rd = Op2 .text:0001691C BL sysv_signal_0x0_0xA @ Branch with Link .text:00016920 LDR R8, =dword_36094 @ Load from Memory .text:00016924 MOV R7, R0,LSL#8 @ Rd = Op2 .text:00016928 STR R7, [R8] @ Store to Memory .text:0001692C MOV R0, R4 @ Rd = Op2 .text:00016930 MOV R1, #0x2E @ '.' @ Rd = Op2 .text:00016934 BL sub_26B4C @ Branch with Link .text:00016938 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0001693C MOV R4, R0 @ Rd = Op2 .text:00016940 BEQ loc_1684C @ Branch .text:00016944 ADD R4, R0, #1 @ Rd = Op1 + Op2 .text:00016948 MOV R0, R4 @ Rd = Op2 .text:0001694C BL sysv_signal_0x0_0xA @ Branch with Link .text:00016950 ADD R0, R7, R0 @ Rd = Op1 + Op2 .text:00016954 STR R0, [R8] @ Store to Memory .text:00016958 B loc_1684C @ Branch .text:0001695C @ --------------------------------------------------------------------------- .text:0001695C .text:0001695C loc_1695C: @ CODE XREF: get_pn_board_ver+A0j .text:0001695C LDR R4, =aPn_board_ver @ Load from Memory .text:00016960 MOV R0, R4 @ name .text:00016964 BL getenv @ Branch with Link .text:00016968 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0001696C BNE loc_16984 @ Branch .text:00016970 LDR R4, =aPn_board_rev @ Load from Memory .text:00016974 MOV R0, R4 @ name .text:00016978 BL getenv @ Branch with Link .text:0001697C CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00016980 BEQ loc_168E8 @ Branch .text:00016984 .text:00016984 loc_16984: @ CODE XREF: get_pn_board_ver+140j .text:00016984 MOV R0, R4 @ name .text:00016988 BL getenv @ Branch with Link .text:0001698C MOV R1, R0 @ Rd = Op2 .text:00016990 MOV R0, R7 @ Rd = Op2 .text:00016994 BL strcpy @ Branch with Link .text:00016998 B loc_168E8 @ Branch .text:00016998 @ End of function get_pn_board_ver .text:00016998 .text:00016998 @ --------------------------------------------------------------------------- .text:0001699C off_1699C: .long dword_36094 @ DATA XREF: get_pn_board_ver+4r .text:0001699C @ get_pn_board_ver:loc_1684Cr ... .text:000169A0 @ char *off_169A0 .text:000169A0 off_169A0: .long aProcPn_board_ver @ DATA XREF: get_pn_board_ver+88r .text:000169A0 @ "/proc/pn_board_ver" .text:000169A4 @ char *off_169A4 .text:000169A4 off_169A4: .long aR @ DATA XREF: get_pn_board_ver+8Cr .text:000169A4 @ "r" .text:000169A8 @ char *off_169A8 .text:000169A8 off_169A8: .long aPn_board_ver @ DATA XREF: get_pn_board_ver:loc_1695Cr .text:000169A8 @ "pn_board_ver" .text:000169AC @ char *off_169AC .text:000169AC off_169AC: .long aPn_board_rev @ DATA XREF: get_pn_board_ver+144r .text:000169AC @ "pn_board_rev" .text:000169B0 .text:000169B0 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:000169B0 .text:000169B0 .text:000169B0 call_exec: @ CODE XREF: processpack+28A8p .text:000169B0 @ processpack+2960p ... .text:000169B0 .text:000169B0 var_30 = -0x30 .text:000169B0 var_2C = -0x2C .text:000169B0 var_28 = -0x28 .text:000169B0 var_24 = -0x24 .text:000169B0 var_20 = -0x20 .text:000169B0 var_1C = -0x1C .text:000169B0 .text:000169B0 STMFD SP!, {R4-R8,LR} @ Store Block to Memory .text:000169B4 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000169B8 MOV R5, R0 @ Rd = Op2 .text:000169BC SUB SP, SP, #0x18 @ Rd = Op1 - Op2 .text:000169C0 MOV R6, R1 @ Rd = Op2 .text:000169C4 MOV R7, R2 @ Rd = Op2 .text:000169C8 MOV R8, R3 @ Rd = Op2 .text:000169CC MOVEQ R0, #1 @ Rd = Op2 .text:000169D0 BEQ loc_16A14 @ Branch .text:000169D4 BL fork @ Branch with Link .text:000169D8 CMN R0, #1 @ Set cond. codes on Op1 + Op2 .text:000169DC MOV R4, R0 @ Rd = Op2 .text:000169E0 BEQ loc_16A14 @ Branch .text:000169E4 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000169E8 BEQ loc_16A1C @ Branch .text:000169EC MOV R5, SP @ Rd = Op2 .text:000169F0 .text:000169F0 loc_169F0: @ CODE XREF: call_exec+60j .text:000169F0 MOV R1, R5 @ Rd = Op2 .text:000169F4 MOV R2, #0 @ Rd = Op2 .text:000169F8 MOV R0, R4 @ Rd = Op2 .text:000169FC BL xcall_wait4 @ Branch with Link .text:00016A00 CMN R0, #1 @ Set cond. codes on Op1 + Op2 .text:00016A04 LDRNE R0, [SP,#0x30+var_30] @ Load from Memory .text:00016A08 BNE loc_16A14 @ Branch .text:00016A0C BL sched_yield @ Branch with Link .text:00016A10 B loc_169F0 @ Branch .text:00016A14 @ --------------------------------------------------------------------------- .text:00016A14 .text:00016A14 loc_16A14: @ CODE XREF: call_exec+20j .text:00016A14 @ call_exec+30j ... .text:00016A14 ADD SP, SP, #0x18 @ Rd = Op1 + Op2 .text:00016A18 LDMFD SP!, {R4-R8,PC} @ Load Block from Memory .text:00016A1C @ --------------------------------------------------------------------------- .text:00016A1C .text:00016A1C loc_16A1C: @ CODE XREF: call_exec+38j .text:00016A1C MOV R0, R5 @ Rd = Op2 .text:00016A20 ADD R1, SP, #0x30+var_2C @ Rd = Op1 + Op2 .text:00016A24 .text:00016A24 loc_16A24: @ DATA XREF: .text:off_26E9Co .text:00016A24 STR R6, [SP,#0x30+var_28] @ Store to Memory .text:00016A28 STR R7, [SP,#0x30+var_24] @ Store to Memory .text:00016A2C STR R8, [SP,#0x30+var_20] @ Store to Memory .text:00016A30 STR R4, [SP,#0x30+var_1C] @ Store to Memory .text:00016A34 STR R5, [SP,#0x30+var_2C] @ Store to Memory .text:00016A38 BL xcall_execve @ Branch with Link .text:00016A3C MOV R0, #0x7F @ '' @ Rd = Op2 .text:00016A40 BL sub_274E4 @ Branch with Link .text:00016A40 @ End of function call_exec .text:00016A40 .text:00016A44 .text:00016A44 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00016A44 .text:00016A44 .text:00016A44 call_gettimeofday: @ CODE XREF: main+DCp .text:00016A44 @ main+140p ... .text:00016A44 .text:00016A44 var_4 = -4 .text:00016A44 .text:00016A44 STR LR, [SP,#var_4]! @ Store to Memory .text:00016A48 SUB SP, SP, #8 @ Rd = Op1 - Op2 .text:00016A4C MOV R0, SP @ Rd = Op2 .text:00016A50 MOV R1, #0 @ Rd = Op2 .text:00016A54 BL gettimeofday @ Branch with Link .text:00016A58 LDR R0, [SP,#8+var_4] @ Load from Memory .text:00016A5C LDR R3, =0x431BDE83 @ Load from Memory .text:00016A60 SMULL R2, R1, R3, R0 @ Signed Multiply long .text:00016A64 .text:00016A64 loc_16A64: @ DATA XREF: .text:off_26D9Co .text:00016A64 MOV R2, R0,ASR#31 @ Rd = Op2 .text:00016A68 RSB R2, R2, R1,ASR#18 @ Rd = Op2 - Op1 .text:00016A6C RSB R3, R2, R2,LSL#5 @ Rd = Op2 - Op1 .text:00016A70 RSB R3, R3, R3,LSL#6 @ Rd = Op2 - Op1 .text:00016A74 ADD R2, R2, R3,LSL#3 @ Rd = Op1 + Op2 .text:00016A78 LDR R3, =0x68DB8BAD @ Load from Memory .text:00016A7C SUB R0, R0, R2,LSL#6 @ Rd = Op1 - Op2 .text:00016A80 SMULL R1, R2, R3, R0 @ Signed Multiply long .text:00016A84 MOV R0, R0,ASR#31 @ Rd = Op2 .text:00016A88 RSB R0, R0, R2,ASR#12 @ Rd = Op2 - Op1 .text:00016A8C ADD SP, SP, #8 @ Rd = Op1 + Op2 .text:00016A90 LDMFD SP!, {PC} @ Load Block from Memory .text:00016A90 @ End of function call_gettimeofday .text:00016A90 .text:00016A90 @ --------------------------------------------------------------------------- .text:00016A94 dword_16A94: .long 0x431BDE83 @ DATA XREF: call_gettimeofday+18r .text:00016A98 dword_16A98: .long 0x68DB8BAD @ DATA XREF: call_gettimeofday+34r .text:00016A9C .text:00016A9C @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00016A9C .text:00016A9C .text:00016A9C get_phatboard_version: @ CODE XREF: check_replacement_prog+54p .text:00016A9C .text:00016A9C var_4 = -4 .text:00016A9C arg_4 = 4 .text:00016A9C .text:00016A9C @ FUNCTION CHUNK AT .rodata:0002C9F4 SIZE 0000003A BYTES .text:00016A9C .text:00016A9C STR LR, [SP,#var_4]! @ Store to Memory .text:00016AA0 MOV R1, #0x200 @ Rd = Op2 .text:00016AA4 MOV R0, #1 @ Rd = Op2 .text:00016AA8 BL get_pn_board_ver @ Branch with Link .text:00016AAC LDR R2, =aV2 @ Load from Memory .text:00016AB0 MOV R3, R0 @ Rd = Op2 .text:00016AB4 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00016AB8 LDR R0, =aV1 @ Load from Memory .text:00016ABC MOVNE R0, R2 @ Rd = Op2 .text:00016AC0 LDR PC, [SP],#arg_4 @ Indirect Jump .text:00016AC0 @ End of function get_phatboard_version .text:00016AC0 .text:00016AC0 @ --------------------------------------------------------------------------- .text:00016AC4 off_16AC4: .long aV2 @ DATA XREF: get_phatboard_version+10r .text:00016AC4 @ "V2" .text:00016AC8 off_16AC8: .long aV1 @ DATA XREF: get_phatboard_version+1Cr .text:00016AC8 @ "V1" .text:00016ACC .text:00016ACC @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00016ACC .text:00016ACC .text:00016ACC sub_16ACC: @ CODE XREF: processpack+2894p .text:00016ACC @ processpack:loc_E874p ... .text:00016ACC .text:00016ACC var_4 = -4 .text:00016ACC arg_4 = 4 .text:00016ACC .text:00016ACC MOV R1, #0x200 @ Rd = Op2 .text:00016AD0 STR LR, [SP,#var_4]! @ Store to Memory .text:00016AD4 MOV R0, #1 @ Rd = Op2 .text:00016AD8 BL get_pn_board_ver @ Branch with Link .text:00016ADC MOV R3, R0 @ Rd = Op2 .text:00016AE0 MOV R1, #0x2FC @ Rd = Op2 .text:00016AE4 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00016AE8 ADD R1, R1, #3 @ Rd = Op1 + Op2 .text:00016AEC MOVL R0, 0xFFFFFFFF .text:00016AF0 BNE loc_16B00 @ Branch .text:00016AF4 .text:00016AF4 loc_16AF4: @ CODE XREF: sub_16ACC+44j .text:00016AF4 LDR R3, =aDevHda @ Load from Memory .text:00016AF8 .text:00016AF8 loc_16AF8: @ CODE XREF: sub_16ACC+40j .text:00016AF8 MOV R0, R3 @ Rd = Op2 .text:00016AFC LDR PC, [SP],#arg_4 @ Indirect Jump .text:00016B00 @ --------------------------------------------------------------------------- .text:00016B00 .text:00016B00 loc_16B00: @ CODE XREF: sub_16ACC+24j .text:00016B00 BL get_pn_board_ver @ Branch with Link .text:00016B04 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00016B08 LDR R3, =aDevIdeHost0Bus0Tar @ Load from Memory .text:00016B0C BNE loc_16AF8 @ Branch .text:00016B10 B loc_16AF4 @ Branch .text:00016B10 @ End of function sub_16ACC .text:00016B10 .text:00016B10 @ --------------------------------------------------------------------------- .text:00016B14 off_16B14: .long aDevHda @ DATA XREF: sub_16ACC:loc_16AF4r .text:00016B14 @ "/dev/hda" .text:00016B18 off_16B18: .long aDevIdeHost0Bus0Tar @ DATA XREF: sub_16ACC+3Cr .text:00016B18 @ "/dev/ide/host0/bus0/target0/lun0/disc" .text:00016B1C .text:00016B1C @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00016B1C .text:00016B1C .text:00016B1C sub_16B1C: @ CODE XREF: processpack+2D98p .text:00016B1C STMFD SP!, {R4,R5,LR} @ Store Block to Memory .text:00016B20 MOV R5, R0 @ Rd = Op2 .text:00016B24 MOV R0, R1 @ file .text:00016B28 MOV R1, #1 @ oflag .text:00016B2C BL __libc_open @ Branch with Link .text:00016B30 MOV R4, R0 @ Rd = Op2 .text:00016B34 CMP R4, #0 @ Set cond. codes on Op1 - Op2 .text:00016B38 MOV R0, R5 @ Rd = Op2 .text:00016B3C MOV R3, #0 @ Rd = Op2 .text:00016B40 BLT loc_16B64 @ Branch .text:00016B44 BL sub_26BDC @ Branch with Link .text:00016B48 MOV R1, R5 @ buf .text:00016B4C MOV R2, R0 @ count .text:00016B50 MOV R0, R4 @ fd .text:00016B54 BL __libc_write @ Branch with Link .text:00016B58 MOV R0, R4 @ fd .text:00016B5C BL close @ Branch with Link .text:00016B60 MOV R3, #1 @ Rd = Op2 .text:00016B64 .text:00016B64 loc_16B64: @ CODE XREF: sub_16B1C+24j .text:00016B64 MOV R0, R3 @ Rd = Op2 .text:00016B68 LDMFD SP!, {R4,R5,PC} @ Load Block from Memory .text:00016B68 @ End of function sub_16B1C .text:00016B68 .text:00016B6C .text:00016B6C @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00016B6C .text:00016B6C .text:00016B6C sub_16B6C: @ CODE XREF: xread_ini-1B48p .text:00016B6C CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00016B70 MOV R1, R0 @ Rd = Op2 .text:00016B74 MOVEQ PC, LR @ Rd = Op2 .text:00016B78 LDRB R3, [R0] @ Load from Memory .text:00016B7C CMP R3, #9 @ Set cond. codes on Op1 - Op2 .text:00016B80 CMPNE R3, #0x20 @ ' ' @ Set cond. codes on Op1 - Op2 .text:00016B84 BNE loc_16BCC @ Branch .text:00016B88 .text:00016B88 loc_16B88: @ CODE XREF: sub_16B6C+2Cj .text:00016B88 @ sub_16B6C+34j ... .text:00016B88 LDRB R2, [R0,#1]! @ Load from Memory .text:00016B8C AND R3, R2, #0xFF @ Rd = Op1 & Op2 .text:00016B90 CMP R3, #9 @ Set cond. codes on Op1 - Op2 .text:00016B94 CMPNE R3, #0x20 @ ' ' @ Set cond. codes on Op1 - Op2 .text:00016B98 BEQ loc_16B88 @ Branch .text:00016B9C CMP R3, #0xA @ Set cond. codes on Op1 - Op2 .text:00016BA0 BEQ loc_16B88 @ Branch .text:00016BA4 CMP R3, #0xD @ Set cond. codes on Op1 - Op2 .text:00016BA8 BEQ loc_16B88 @ Branch .text:00016BAC .text:00016BAC loc_16BAC: @ CODE XREF: sub_16B6C+70j .text:00016BAC TST R2, #0xFF @ Set cond. codes on Op1 & Op2 .text:00016BB0 MOV R3, R2 @ Rd = Op2 .text:00016BB4 MOVEQ PC, LR @ Rd = Op2 .text:00016BB8 .text:00016BB8 loc_16BB8: @ CODE XREF: sub_16B6C+5Cj .text:00016BB8 STRB R3, [R1],#1 @ Store to Memory .text:00016BBC LDRB R3, [R0,#1]! @ Load from Memory .text:00016BC0 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00016BC4 MOVEQ PC, LR @ Rd = Op2 .text:00016BC8 B loc_16BB8 @ Branch .text:00016BCC @ --------------------------------------------------------------------------- .text:00016BCC .text:00016BCC loc_16BCC: @ CODE XREF: sub_16B6C+18j .text:00016BCC CMP R3, #0xA @ Set cond. codes on Op1 - Op2 .text:00016BD0 BEQ loc_16B88 @ Branch .text:00016BD4 CMP R3, #0xD @ Set cond. codes on Op1 - Op2 .text:00016BD8 LDRNEB R2, [R0] @ Load from Memory .text:00016BDC BNE loc_16BAC @ Branch .text:00016BE0 B loc_16B88 @ Branch .text:00016BE0 @ End of function sub_16B6C .text:00016BE0 .text:00016BE4 .text:00016BE4 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00016BE4 .text:00016BE4 .text:00016BE4 sub_16BE4: @ CODE XREF: xread_ini-1B40p .text:00016BE4 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00016BE8 STMFD SP!, {R4,LR} @ Store Block to Memory .text:00016BEC MOV R4, R0 @ Rd = Op2 .text:00016BF0 LDMEQFD SP!, {R4,PC} @ Load Block from Memory .text:00016BF4 BL sub_26BDC @ Branch with Link .text:00016BF8 SUBS R0, R0, #1 @ Rd = Op1 - Op2 .text:00016BFC LDMMIFD SP!, {R4,PC} @ Load Block from Memory .text:00016C00 LDRB R3, [R4,R0] @ Load from Memory .text:00016C04 CMP R3, #0x20 @ ' ' @ Set cond. codes on Op1 - Op2 .text:00016C08 CMPNE R3, #0xD @ Set cond. codes on Op1 - Op2 .text:00016C0C BNE loc_16C44 @ Branch .text:00016C10 .text:00016C10 loc_16C10: @ CODE XREF: sub_16BE4+64j .text:00016C10 @ sub_16BE4+70j .text:00016C10 MOV R2, #0 @ Rd = Op2 .text:00016C14 .text:00016C14 loc_16C14: @ CODE XREF: sub_16BE4+48j .text:00016C14 @ sub_16BE4+50j ... .text:00016C14 STRB R2, [R4,R0] @ Store to Memory .text:00016C18 SUBS R0, R0, #1 @ Rd = Op1 - Op2 .text:00016C1C LDMMIFD SP!, {R4,PC} @ Load Block from Memory .text:00016C20 LDRB R3, [R4,R0] @ Load from Memory .text:00016C24 CMP R3, #0x20 @ ' ' @ Set cond. codes on Op1 - Op2 .text:00016C28 CMPNE R3, #0xD @ Set cond. codes on Op1 - Op2 .text:00016C2C BEQ loc_16C14 @ Branch .text:00016C30 CMP R3, #9 @ Set cond. codes on Op1 - Op2 .text:00016C34 BEQ loc_16C14 @ Branch .text:00016C38 CMP R3, #0xA @ Set cond. codes on Op1 - Op2 .text:00016C3C LDMNEFD SP!, {R4,PC} @ Load Block from Memory .text:00016C40 B loc_16C14 @ Branch .text:00016C44 @ --------------------------------------------------------------------------- .text:00016C44 .text:00016C44 loc_16C44: @ CODE XREF: sub_16BE4+28j .text:00016C44 CMP R3, #9 @ Set cond. codes on Op1 - Op2 .text:00016C48 BEQ loc_16C10 @ Branch .text:00016C4C CMP R3, #0xA @ Set cond. codes on Op1 - Op2 .text:00016C50 LDMNEFD SP!, {R4,PC} @ Load Block from Memory .text:00016C54 B loc_16C10 @ Branch .text:00016C54 @ End of function sub_16BE4 .text:00016C54 .text:00016C58 .text:00016C58 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00016C58 .text:00016C58 .text:00016C58 sub_16C58: @ CODE XREF: xread_ini-1A84p .text:00016C58 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00016C5C STMFD SP!, {R4,LR} @ Store Block to Memory .text:00016C60 MOV R4, R0 @ Rd = Op2 .text:00016C64 LDMEQFD SP!, {R4,PC} @ Load Block from Memory .text:00016C68 BL sub_26BDC @ Branch with Link .text:00016C6C SUBS R0, R0, #1 @ Rd = Op1 - Op2 .text:00016C70 LDMMIFD SP!, {R4,PC} @ Load Block from Memory .text:00016C74 LDRB R3, [R4,R0] @ Load from Memory .text:00016C78 CMP R3, #0xA @ Set cond. codes on Op1 - Op2 .text:00016C7C CMPNE R3, #0xD @ Set cond. codes on Op1 - Op2 .text:00016C80 LDMNEFD SP!, {R4,PC} @ Load Block from Memory .text:00016C84 MOV R2, #0 @ Rd = Op2 .text:00016C88 .text:00016C88 loc_16C88: @ CODE XREF: sub_16C58+4Cj .text:00016C88 STRB R2, [R4,R0] @ Store to Memory .text:00016C8C SUBS R0, R0, #1 @ Rd = Op1 - Op2 .text:00016C90 LDMMIFD SP!, {R4,PC} @ Load Block from Memory .text:00016C94 LDRB R3, [R4,R0] @ Load from Memory .text:00016C98 CMP R3, #0xA @ Set cond. codes on Op1 - Op2 .text:00016C9C CMPNE R3, #0xD @ Set cond. codes on Op1 - Op2 .text:00016CA0 LDMNEFD SP!, {R4,PC} @ Load Block from Memory .text:00016CA4 B loc_16C88 @ Branch .text:00016CA4 @ End of function sub_16C58 .text:00016CA4 .text:00016CA8 @ --------------------------------------------------------------------------- .text:00016CA8 @ START OF FUNCTION CHUNK FOR xread_ini .text:00016CA8 .text:00016CA8 loc_16CA8: @ CODE XREF: xread_ini+8j .text:00016CA8 STMFD SP!, {R4-R11,LR} @ Store Block to Memory .text:00016CAC SUB SP, SP, #0x500 @ Rd = Op1 - Op2 .text:00016CB0 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00016CB4 SUB SP, SP, #0xC @ Rd = Op1 - Op2 .text:00016CB8 STR R2, [SP,#0x530+var_528] @ Store to Memory .text:00016CBC LDREQ R2, =dword_36098 @ Load from Memory .text:00016CC0 MOV R10, R0 @ Rd = Op2 .text:00016CC4 MOV R0, #0 @ Rd = Op2 .text:00016CC8 STREQ R0, [R2] @ Store to Memory .text:00016CCC LDRNE R2, =dword_36098 @ Load from Memory .text:00016CD0 LDR R5, [R2] @ Load from Memory .text:00016CD4 CMP R5, #0 @ Set cond. codes on Op1 - Op2 .text:00016CD8 STR R0, [SP,#0x530+var_530] @ Store to Memory .text:00016CDC MOV R7, R1 @ Rd = Op2 .text:00016CE0 STR R3, [SP,#0x530+var_52C] @ Store to Memory .text:00016CE4 MOV R11, R0 @ Rd = Op2 .text:00016CE8 BEQ loc_170D0 @ Branch .text:00016CEC .text:00016CEC loc_16CEC: @ CODE XREF: xread_ini-17E8j .text:00016CEC CMP R10, #0 @ Set cond. codes on Op1 - Op2 .text:00016CF0 MOVLEQ R0, 0xFFFFFFFF .text:00016CF4 BEQ loc_16F50 @ Branch .text:00016CF8 MOV R4, #0 @ Rd = Op2 .text:00016CFC MOV R5, R4 @ Rd = Op2 .text:00016D00 .text:00016D00 loc_16D00: @ CODE XREF: xread_ini-1BE4j .text:00016D00 LDR R3, =dword_3DF30 @ Load from Memory .text:00016D04 LDR R2, [R3,R4,LSL#2] @ Load from Memory .text:00016D08 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00016D0C MOV R0, R2 @ Rd = Op2 .text:00016D10 MOV R1, R10 @ Rd = Op2 .text:00016D14 ADD R4, R4, #1 @ Rd = Op1 + Op2 .text:00016D18 BEQ loc_16D34 @ Branch .text:00016D1C BL strcmp @ Branch with Link .text:00016D20 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00016D24 BEQ loc_17034 @ Branch .text:00016D28 CMP R4, #9 @ Set cond. codes on Op1 - Op2 .text:00016D2C ADD R5, R5, #0x19 @ Rd = Op1 + Op2 .text:00016D30 BLE loc_16D00 @ Branch .text:00016D34 .text:00016D34 loc_16D34: @ CODE XREF: xread_ini-1BFCj .text:00016D34 @ xread_ini-1870j .text:00016D34 LDR R1, =aR @ mode .text:00016D38 MOV R0, R10 @ filename .text:00016D3C BL fopen @ Branch with Link .text:00016D40 MOV R2, #0xB0000000 @ Rd = Op2 .text:00016D44 ADD R1, SP, #0x530+var_30 @ Rd = Op1 + Op2 .text:00016D48 MOV R2, R2,ASR#20 @ Rd = Op2 .text:00016D4C CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00016D50 MOV R3, #0 @ Rd = Op2 .text:00016D54 ADD R1, R1, #0xC @ Rd = Op1 + Op2 .text:00016D58 STRB R3, [R1,R2] @ Store to Memory .text:00016D5C MOVNE R2, #0 @ Rd = Op2 .text:00016D60 MOVLEQ R2, 0xFFFFFFFF .text:00016D64 MOV R8, R0 @ Rd = Op2 .text:00016D68 STR R2, [SP,#0x530+var_530] @ Store to Memory .text:00016D6C BEQ loc_16F00 @ Branch .text:00016D70 .text:00016D70 loc_16D70: @ CODE XREF: xread_ini-1B0Cj .text:00016D70 @ xread_ini-1AF4j ... .text:00016D70 CMP R11, #0 @ Set cond. codes on Op1 - Op2 .text:00016D74 BNE loc_16EE8 @ Branch .text:00016D78 ADD R4, SP, #0x530+var_424 @ Rd = Op1 + Op2 .text:00016D7C MOV R0, R4 @ Rd = Op2 .text:00016D80 MOV R1, #0x200 @ Rd = Op2 .text:00016D84 MOV R2, R8 @ Rd = Op2 .text:00016D88 BL sub_25A34 @ Branch with Link .text:00016D8C CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00016D90 BEQ loc_16EE8 @ Branch .text:00016D94 LDRB R3, [R4] @ Load from Memory .text:00016D98 ADD R2, SP, #0x530+var_4A4 @ Rd = Op1 + Op2 .text:00016D9C CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00016DA0 CMPNE R3, #0x3D @ '=' @ Set cond. codes on Op1 - Op2 .text:00016DA4 MOV R5, R2 @ Rd = Op2 .text:00016DA8 BEQ loc_16DC0 @ Branch .text:00016DAC .text:00016DAC loc_16DAC: @ CODE XREF: xread_ini-1B58j .text:00016DAC STRB R3, [R2],#1 @ Store to Memory .text:00016DB0 LDRB R3, [R4,#1]! @ Load from Memory .text:00016DB4 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00016DB8 CMPNE R3, #0x3D @ '=' @ Set cond. codes on Op1 - Op2 .text:00016DBC BNE loc_16DAC @ Branch .text:00016DC0 .text:00016DC0 loc_16DC0: @ CODE XREF: xread_ini-1B6Cj .text:00016DC0 MOV R6, #0 @ Rd = Op2 .text:00016DC4 STRB R6, [R2] @ Store to Memory .text:00016DC8 MOV R0, R5 @ Rd = Op2 .text:00016DCC BL sub_16B6C @ Branch with Link .text:00016DD0 MOV R0, R5 @ Rd = Op2 .text:00016DD4 BL sub_16BE4 @ Branch with Link .text:00016DD8 ADD R0, SP, #0x530+var_30 @ Rd = Op1 + Op2 .text:00016DDC MOV R3, #0xB8000000 @ Rd = Op2 .text:00016DE0 ADD R0, R0, #0xC @ Rd = Op1 + Op2 .text:00016DE4 LDRB R2, [R0,R3,ASR#20] @ Load from Memory .text:00016DE8 CMP R2, #0x5B @ '[' @ Set cond. codes on Op1 - Op2 .text:00016DEC BEQ loc_16EA4 @ Branch .text:00016DF0 CMP R7, #0 @ Set cond. codes on Op1 - Op2 .text:00016DF4 BEQ loc_16E0C @ Branch .text:00016DF8 ADD R1, SP, #0x530+var_524 @ Rd = Op1 + Op2 .text:00016DFC MOV R0, R7 @ Rd = Op2 .text:00016E00 BL strcmp @ Branch with Link .text:00016E04 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00016E08 BNE loc_16D70 @ Branch .text:00016E0C .text:00016E0C loc_16E0C: @ CODE XREF: xread_ini-1B20j .text:00016E0C MOV R0, R5 @ Rd = Op2 .text:00016E10 LDR R1, [SP,#0x530+var_528] @ Load from Memory .text:00016E14 MOV R2, #0x80 @ 'Ç' @ Rd = Op2 .text:00016E18 BL sub_26C58 @ Branch with Link .text:00016E1C CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00016E20 BNE loc_16D70 @ Branch .text:00016E24 .text:00016E24 loc_16E24: @ CODE XREF: xread_ini-1AB8j .text:00016E24 LDRB R3, [R4] @ Load from Memory .text:00016E28 AND R1, R3, #0xFF @ Rd = Op1 & Op2 .text:00016E2C CMP R1, #0 @ Set cond. codes on Op1 - Op2 .text:00016E30 BEQ loc_16E60 @ Branch .text:00016E34 CMP R1, #0x20 @ ' ' @ Set cond. codes on Op1 - Op2 .text:00016E38 CMPNE R1, #0x3D @ '=' @ Set cond. codes on Op1 - Op2 .text:00016E3C BEQ loc_16E58 @ Branch .text:00016E40 CMP R1, #0xD @ Set cond. codes on Op1 - Op2 .text:00016E44 BEQ loc_16E58 @ Branch .text:00016E48 CMP R1, #0xA @ Set cond. codes on Op1 - Op2 .text:00016E4C BEQ loc_16E58 @ Branch .text:00016E50 CMP R1, #9 @ Set cond. codes on Op1 - Op2 .text:00016E54 BNE loc_16E60 @ Branch .text:00016E58 .text:00016E58 loc_16E58: @ CODE XREF: xread_ini-1AD8j .text:00016E58 @ xread_ini-1AD0j ... .text:00016E58 ADD R4, R4, #1 @ Rd = Op1 + Op2 .text:00016E5C B loc_16E24 @ Branch .text:00016E60 @ --------------------------------------------------------------------------- .text:00016E60 .text:00016E60 loc_16E60: @ CODE XREF: xread_ini-1AE4j .text:00016E60 @ xread_ini-1AC0j .text:00016E60 LDR R2, [SP,#0x530+var_52C] @ Load from Memory .text:00016E64 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00016E68 BEQ loc_16E8C @ Branch .text:00016E6C CMP R1, #0 @ Set cond. codes on Op1 - Op2 .text:00016E70 BEQ loc_16E84 @ Branch .text:00016E74 .text:00016E74 loc_16E74: @ CODE XREF: xread_ini-1A94j .text:00016E74 STRB R3, [R2],#1 @ Store to Memory .text:00016E78 LDRB R3, [R4,#1]! @ Load from Memory .text:00016E7C CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00016E80 BNE loc_16E74 @ Branch .text:00016E84 .text:00016E84 loc_16E84: @ CODE XREF: xread_ini-1AA4j .text:00016E84 MOV R3, #0 @ Rd = Op2 .text:00016E88 STRB R3, [R2] @ Store to Memory .text:00016E8C .text:00016E8C loc_16E8C: @ CODE XREF: xread_ini-1AACj .text:00016E8C LDR R0, [SP,#0x530+var_52C] @ Load from Memory .text:00016E90 BL sub_16C58 @ Branch with Link .text:00016E94 MOV R3, #0 @ Rd = Op2 .text:00016E98 STR R3, [SP,#0x530+var_530] @ Store to Memory .text:00016E9C MOV R11, #1 @ Rd = Op2 .text:00016EA0 B loc_16D70 @ Branch .text:00016EA4 @ --------------------------------------------------------------------------- .text:00016EA4 .text:00016EA4 loc_16EA4: @ CODE XREF: xread_ini-1B28j .text:00016EA4 MOV R0, R5 @ Rd = Op2 .text:00016EA8 BL sub_26BDC @ Branch with Link .text:00016EAC CMP R0, #2 @ Set cond. codes on Op1 - Op2 .text:00016EB0 BLS loc_16D70 @ Branch .text:00016EB4 ADD R4, SP, #0x530+var_524 @ Rd = Op1 + Op2 .text:00016EB8 ADD R1, R5, #1 @ Rd = Op1 + Op2 .text:00016EBC MOV R0, R4 @ Rd = Op2 .text:00016EC0 BL strcpy @ Branch with Link .text:00016EC4 MOV R0, R4 @ Rd = Op2 .text:00016EC8 BL sub_26BDC @ Branch with Link .text:00016ECC ADD R1, SP, #0x530+var_30 @ Rd = Op1 + Op2 .text:00016ED0 ADD R1, R1, #0xC @ Rd = Op1 + Op2 .text:00016ED4 ADD R0, R0, R1 @ Rd = Op1 + Op2 .text:00016ED8 SUB R0, R0, #0x500 @ Rd = Op1 - Op2 .text:00016EDC SUB R0, R0, #1 @ Rd = Op1 - Op2 .text:00016EE0 STRB R6, [R0] @ Store to Memory .text:00016EE4 B loc_16D70 @ Branch .text:00016EE8 @ --------------------------------------------------------------------------- .text:00016EE8 .text:00016EE8 loc_16EE8: @ CODE XREF: xread_ini-1BA0j .text:00016EE8 @ xread_ini-1B84j .text:00016EE8 MOV R0, R8 @ Rd = Op2 .text:00016EEC BL sub_25614 @ Branch with Link .text:00016EF0 LDR R0, [SP,#0x530+var_530] @ Load from Memory .text:00016EF4 CMP R11, #0 @ Set cond. codes on Op1 - Op2 .text:00016EF8 MOVLEQ R0, 0xFFFFFFFE .text:00016EFC STR R0, [SP,#0x530+var_530] @ Store to Memory .text:00016F00 .text:00016F00 loc_16F00: @ CODE XREF: xread_ini-1BA8j .text:00016F00 MOV R4, #0 @ Rd = Op2 .text:00016F04 LDR R9, =dword_3DF30 @ Load from Memory .text:00016F08 LDR R6, =dword_3DF58 @ Load from Memory .text:00016F0C MOV R5, R4 @ Rd = Op2 .text:00016F10 MOV R8, R4 @ Rd = Op2 .text:00016F14 .text:00016F14 loc_16F14: @ CODE XREF: xread_ini-19CCj .text:00016F14 LDR R3, [R9,R4,LSL#2] @ Load from Memory .text:00016F18 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00016F1C MOV R0, R3 @ Rd = Op2 .text:00016F20 MOV R1, R10 @ Rd = Op2 .text:00016F24 BEQ loc_16FD8 @ Branch .text:00016F28 BL sub_26A68 @ Branch with Link .text:00016F2C CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00016F30 ADD R4, R4, #1 @ Rd = Op1 + Op2 .text:00016F34 ADD R8, R8, #0x190 @ Rd = Op1 + Op2 .text:00016F38 ADD R6, R6, #0x190 @ Rd = Op1 + Op2 .text:00016F3C BEQ loc_16F5C @ Branch .text:00016F40 CMP R4, #9 @ Set cond. codes on Op1 - Op2 .text:00016F44 ADD R5, R5, #0x19 @ Rd = Op1 + Op2 .text:00016F48 BLE loc_16F14 @ Branch .text:00016F4C .text:00016F4C loc_16F4C: @ CODE XREF: xread_ini-1990j .text:00016F4C @ xread_ini-1954j ... .text:00016F4C LDR R0, [SP,#0x530+var_530] @ Load from Memory .text:00016F50 .text:00016F50 loc_16F50: @ CODE XREF: xread_ini-1C20j .text:00016F50 @ xread_ini-1854j .text:00016F50 ADD SP, SP, #0x10C @ Rd = Op1 + Op2 .text:00016F54 ADD SP, SP, #0x400 @ Rd = Op1 + Op2 .text:00016F58 LDMFD SP!, {R4-R11,PC} @ Load Block from Memory .text:00016F5C @ --------------------------------------------------------------------------- .text:00016F5C .text:00016F5C loc_16F5C: @ CODE XREF: xread_ini-19D8j .text:00016F5C LDR R6, =dword_3EEF8 @ Load from Memory .text:00016F60 MOV R4, R0 @ Rd = Op2 .text:00016F64 MOV R2, R5 @ Rd = Op2 .text:00016F68 .text:00016F68 loc_16F68: @ CODE XREF: xread_ini-1994j .text:00016F68 ADD R5, R4, R2,LSL#2 @ Rd = Op1 + Op2 .text:00016F6C LDR R3, [R6,R5,LSL#2] @ Load from Memory .text:00016F70 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00016F74 ADD R4, R4, #1 @ Rd = Op1 + Op2 .text:00016F78 BEQ loc_16F88 @ Branch .text:00016F7C .text:00016F7C loc_16F7C: @ DATA XREF: .text:off_2688Co .text:00016F7C CMP R4, #9 @ Set cond. codes on Op1 - Op2 .text:00016F80 BLE loc_16F68 @ Branch .text:00016F84 B loc_16F4C @ Branch .text:00016F88 @ --------------------------------------------------------------------------- .text:00016F88 .text:00016F88 loc_16F88: @ CODE XREF: xread_ini-199Cj .text:00016F88 CMP R7, #0 @ Set cond. codes on Op1 - Op2 .text:00016F8C BEQ loc_16FA0 @ Branch .text:00016F90 MOV R0, R7 @ Rd = Op2 .text:00016F94 BL sub_26BB0 @ Branch with Link .text:00016F98 LDR R3, =dword_3DF58 @ Load from Memory .text:00016F9C STR R0, [R3,R5,LSL#2] @ Store to Memory .text:00016FA0 .text:00016FA0 loc_16FA0: @ CODE XREF: xread_ini-1988j .text:00016FA0 LDR R0, [SP,#0x530+var_528] @ Load from Memory .text:00016FA4 BL sub_26BB0 @ Branch with Link .text:00016FA8 CMP R11, #0 @ Set cond. codes on Op1 - Op2 .text:00016FAC STR R0, [R6,R5,LSL#2] @ Store to Memory .text:00016FB0 BNE loc_16FC4 @ Branch .text:00016FB4 .text:00016FB4 loc_16FB4: @ CODE XREF: xread_ini-1940j .text:00016FB4 LDR R3, =dword_40E38 @ Load from Memory .text:00016FB8 LDR R2, [SP,#0x530+var_530] @ Load from Memory .text:00016FBC STR R2, [R3,R5,LSL#2] @ Store to Memory .text:00016FC0 B loc_16F4C @ Branch .text:00016FC4 @ --------------------------------------------------------------------------- .text:00016FC4 .text:00016FC4 loc_16FC4: @ CODE XREF: xread_ini-1964j .text:00016FC4 LDR R0, [SP,#0x530+var_52C] @ Load from Memory .text:00016FC8 BL sub_26BB0 @ Branch with Link .text:00016FCC LDR R3, =dword_3FE98 @ Load from Memory .text:00016FD0 STR R0, [R3,R5,LSL#2] @ Store to Memory .text:00016FD4 B loc_16FB4 @ Branch .text:00016FD8 @ --------------------------------------------------------------------------- .text:00016FD8 .text:00016FD8 loc_16FD8: @ CODE XREF: xread_ini-19F0j .text:00016FD8 MOV R0, R10 @ Rd = Op2 .text:00016FDC BL sub_26BB0 @ Branch with Link .text:00016FE0 CMP R7, #0 @ Set cond. codes on Op1 - Op2 .text:00016FE4 STR R0, [R9,R4,LSL#2] @ Store to Memory .text:00016FE8 BEQ loc_16FF8 @ Branch .text:00016FEC MOV R0, R7 @ Rd = Op2 .text:00016FF0 BL sub_26BB0 @ Branch with Link .text:00016FF4 STR R0, [R6] @ Store to Memory .text:00016FF8 .text:00016FF8 loc_16FF8: @ CODE XREF: xread_ini-192Cj .text:00016FF8 LDR R0, [SP,#0x530+var_528] @ Load from Memory .text:00016FFC BL sub_26BB0 @ Branch with Link .text:00017000 LDR R3, =dword_3EEF8 @ Load from Memory .text:00017004 CMP R11, #0 @ Set cond. codes on Op1 - Op2 .text:00017008 STR R0, [R8,R3] @ Store to Memory .text:0001700C BNE loc_17020 @ Branch .text:00017010 .text:00017010 loc_17010: @ CODE XREF: xread_ini-18E4j .text:00017010 @ DATA XREF: .text:off_26810o .text:00017010 LDR R3, =dword_40E38 @ Load from Memory .text:00017014 LDR R1, [SP,#0x530+var_530] @ Load from Memory .text:00017018 STR R1, [R8,R3] @ Store to Memory .text:0001701C B loc_16F4C @ Branch .text:00017020 @ --------------------------------------------------------------------------- .text:00017020 .text:00017020 loc_17020: @ CODE XREF: xread_ini-1908j .text:00017020 LDR R0, [SP,#0x530+var_52C] @ Load from Memory .text:00017024 BL sub_26BB0 @ Branch with Link .text:00017028 LDR R3, =dword_3FE98 @ Load from Memory .text:0001702C STR R0, [R8,R3] @ Store to Memory .text:00017030 B loc_17010 @ Branch .text:00017034 @ --------------------------------------------------------------------------- .text:00017034 .text:00017034 loc_17034: @ CODE XREF: xread_ini-1BF0j .text:00017034 LDR R8, =dword_3EEF8 @ Load from Memory .text:00017038 MOV R4, R0 @ Rd = Op2 .text:0001703C MOV R6, R5 @ Rd = Op2 .text:00017040 .text:00017040 loc_17040: @ CODE XREF: xread_ini-1874j .text:00017040 ADD R5, R4, R6,LSL#2 @ Rd = Op1 + Op2 .text:00017044 LDR R3, [R8,R5,LSL#2] @ Load from Memory .text:00017048 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0001704C MOV R0, R3 @ Rd = Op2 .text:00017050 ADD R4, R4, #1 @ Rd = Op1 + Op2 .text:00017054 LDR R1, [SP,#0x530+var_528] @ Load from Memory .text:00017058 BEQ loc_1709C @ Branch .text:0001705C BL strcmp @ Branch with Link .text:00017060 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00017064 BNE loc_1709C @ Branch .text:00017068 LDR R3, =dword_3DF58 @ Load from Memory .text:0001706C LDR R3, [R3,R5,LSL#2] @ Load from Memory .text:00017070 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00017074 CMPEQ R7, #0 @ Set cond. codes on Op1 - Op2 .text:00017078 MOV R0, R3 @ Rd = Op2 .text:0001707C MOV R1, R7 @ Rd = Op2 .text:00017080 BEQ loc_170A8 @ Branch .text:00017084 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00017088 CMPNE R7, #0 @ Set cond. codes on Op1 - Op2 .text:0001708C BEQ loc_1709C @ Branch .text:00017090 BL strcmp @ Branch with Link .text:00017094 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00017098 BEQ loc_170A8 @ Branch .text:0001709C .text:0001709C loc_1709C: @ CODE XREF: xread_ini-18BCj .text:0001709C @ xread_ini-18B0j ... .text:0001709C CMP R4, #0x63 @ 'c' @ Set cond. codes on Op1 - Op2 .text:000170A0 BLE loc_17040 @ Branch .text:000170A4 B loc_16D34 @ Branch .text:000170A8 @ --------------------------------------------------------------------------- .text:000170A8 .text:000170A8 loc_170A8: @ CODE XREF: xread_ini-1894j .text:000170A8 @ xread_ini-187Cj .text:000170A8 LDR R3, =dword_3FE98 @ Load from Memory .text:000170AC LDR R1, [R3,R5,LSL#2] @ Load from Memory .text:000170B0 CMP R1, #0 @ Set cond. codes on Op1 - Op2 .text:000170B4 BNE loc_170C4 @ Branch .text:000170B8 .text:000170B8 loc_170B8: @ CODE XREF: xread_ini-1848j .text:000170B8 LDR R3, =dword_40E38 @ Load from Memory .text:000170BC .text:000170BC loc_170BC: @ DATA XREF: .text:off_267BCo .text:000170BC LDR R0, [R3,R5,LSL#2] @ Load from Memory .text:000170C0 B loc_16F50 @ Branch .text:000170C4 @ --------------------------------------------------------------------------- .text:000170C4 .text:000170C4 loc_170C4: @ CODE XREF: xread_ini-1860j .text:000170C4 LDR R0, [SP,#0x530+var_52C] @ Load from Memory .text:000170C8 BL strcpy @ Branch with Link .text:000170CC B loc_170B8 @ Branch .text:000170D0 @ --------------------------------------------------------------------------- .text:000170D0 .text:000170D0 loc_170D0: @ CODE XREF: xread_ini-1C2Cj .text:000170D0 MOV R3, #1 @ Rd = Op2 .text:000170D4 STR R3, [R2] @ Store to Memory .text:000170D8 MOV R4, #0xFA0 @ Rd = Op2 .text:000170DC MOV R2, #0x28 @ '(' @ Rd = Op2 .text:000170E0 MOV R1, R5 @ Rd = Op2 .text:000170E4 .text:000170E4 loc_170E4: @ DATA XREF: .text:off_26714o .text:000170E4 LDR R0, =dword_3DF30 @ Load from Memory .text:000170E8 BL sub_26A4C @ Branch with Link .text:000170EC MOV R1, R5 @ Rd = Op2 .text:000170F0 MOV R2, R4 @ Rd = Op2 .text:000170F4 LDR R0, =dword_3DF58 @ Load from Memory .text:000170F8 BL sub_26A4C @ Branch with Link .text:000170FC MOV R1, R5 @ Rd = Op2 .text:00017100 MOV R2, R4 @ Rd = Op2 .text:00017104 LDR R0, =dword_3EEF8 @ Load from Memory .text:00017108 BL sub_26A4C @ Branch with Link .text:0001710C MOV R1, R5 @ Rd = Op2 .text:00017110 MOV R2, R4 @ Rd = Op2 .text:00017114 LDR R0, =dword_3FE98 @ Load from Memory .text:00017118 BL sub_26A4C @ Branch with Link .text:0001711C MOV R1, R5 @ Rd = Op2 .text:00017120 LDR R0, =dword_40E38 @ Load from Memory .text:00017124 MOV R2, R4 @ Rd = Op2 .text:00017128 BL sub_26A4C @ Branch with Link .text:0001712C B loc_16CEC @ Branch .text:0001712C @ END OF FUNCTION CHUNK FOR xread_ini .text:0001712C @ --------------------------------------------------------------------------- .text:00017130 off_17130: .long dword_36098 @ DATA XREF: xread_ini-1C58r .text:00017130 @ xread_ini-1C48r .text:00017134 off_17134: .long dword_3DF30 @ DATA XREF: xread_ini:loc_16D00r .text:00017134 @ xread_ini-1A10r ... .text:00017138 @ char *off_17138 .text:00017138 off_17138: .long aR @ DATA XREF: xread_ini:loc_16D34r .text:00017138 @ "r" .text:0001713C off_1713C: .long dword_3DF58 @ DATA XREF: xread_ini-1A0Cr .text:0001713C @ xread_ini-197Cr ... .text:00017140 off_17140: .long dword_3EEF8 @ DATA XREF: xread_ini:loc_16F5Cr .text:00017140 @ xread_ini-1914r ... .text:00017144 off_17144: .long dword_40E38 @ DATA XREF: xread_ini:loc_16FB4r .text:00017144 @ xread_ini:loc_17010r ... .text:00017148 off_17148: .long dword_3FE98 @ DATA XREF: xread_ini-1948r .text:00017148 @ xread_ini-18ECr ... .text:0001714C .text:0001714C @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001714C .text:0001714C .text:0001714C phatd_connect: @ CODE XREF: connect_phatsock:loc_171DCp .text:0001714C @ connect_phatsock+84p ... .text:0001714C .text:0001714C var_78 = -0x78 .text:0001714C buf = -0x76 .text:0001714C .text:0001714C STMFD SP!, {R4,LR} @ Store Block to Memory .text:00017150 SUB SP, SP, #0x70 @ Rd = Op1 - Op2 .text:00017154 MOV R4, #1 @ Rd = Op2 .text:00017158 MOV R2, #0xE @ Rd = Op2 .text:0001715C LDR R1, =aTmpPhatsock @ Load from Memory .text:00017160 ADD R0, SP, #0x78+buf @ Rd = Op1 + Op2 .text:00017164 STRH R4, [SP,#0x78+var_78] @ Store to Memory .text:00017168 BL memcpy @ memcpy(buf, PHATSOCK, 14) .text:0001716C MOV R1, R4 @ Rd = Op2 .text:00017170 MOV R0, R4 @ Rd = Op2 .text:00017174 MOV R2, #0 @ Rd = Op2 .text:00017178 BL socket @ Branch with Link .text:0001717C CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00017180 MOV R4, R0 @ Rd = Op2 .text:00017184 MOV R1, SP @ Rd = Op2 .text:00017188 MOV R2, #0x70 @ 'p' @ Rd = Op2 .text:0001718C MOVL R3, 0xFFFFFFFF .text:00017190 BLT socket_error @ Branch .text:00017194 BL connect @ Branch with Link .text:00017198 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0001719C MOVGE R3, R4 @ Rd = Op2 .text:000171A0 MVNLT R3, #0 @ Rd = ~Op2 .text:000171A4 .text:000171A4 socket_error: @ CODE XREF: phatd_connect+44j .text:000171A4 MOV R0, R3 @ Rd = Op2 .text:000171A8 ADD SP, SP, #0x70 @ Rd = Op1 + Op2 .text:000171AC LDMFD SP!, {R4,PC} @ Load Block from Memory .text:000171AC @ End of function phatd_connect .text:000171AC .text:000171AC @ --------------------------------------------------------------------------- .text:000171B0 off_171B0: .long aTmpPhatsock @ DATA XREF: phatd_connect+10r .text:000171B0 @ "/tmp/phatsock" .text:000171B4 .text:000171B4 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:000171B4 .text:000171B4 .text:000171B4 connect_phatsock: @ CODE XREF: main+2B4p .text:000171B4 @ main+328p .text:000171B4 .text:000171B4 op_code = -0x230 .text:000171B4 .text:000171B4 STMFD SP!, {R4-R8,LR} @ Store Block to Memory .text:000171B8 LDR R4, =phatsock_fd @ Load from Memory .text:000171BC LDR R3, [R4] @ Load from Memory .text:000171C0 CMN R3, #1 @ Set cond. codes on Op1 + Op2 .text:000171C4 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:000171C8 MOV R5, R0 @ Rd = Op2 .text:000171CC BLE loc_171DC @ Branch .text:000171D0 .text:000171D0 loc_171D0: @ CODE XREF: connect_phatsock+128j .text:000171D0 MOV R0, #1 @ Rd = Op2 .text:000171D4 .text:000171D4 loc_171D4: @ CODE XREF: connect_phatsock+168j .text:000171D4 ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:000171D8 LDMFD SP!, {R4-R8,PC} @ Load Block from Memory .text:000171DC @ --------------------------------------------------------------------------- .text:000171DC .text:000171DC loc_171DC: @ CODE XREF: connect_phatsock+18j .text:000171DC BL phatd_connect @ Branch with Link .text:000171E0 CMN R0, #1 @ Set cond. codes on Op1 + Op2 .text:000171E4 STR R0, [R4] @ Store to Memory .text:000171E8 BEQ loc_17318 @ Branch .text:000171EC MOV R7, #0x20 @ ' ' @ Rd = Op2 .text:000171F0 STR R7, [SP,#0x230+op_code] @ Store to Memory .text:000171F4 BL __libc_getpid @ Branch with Link .text:000171F8 MOV R12, R0 @ Rd = Op2 .text:000171FC ADD R12, R12, #0x3E8 @ Rd = Op1 + Op2 .text:00017200 MOV R1, SP @ Rd = Op2 .text:00017204 MOV R2, #0x218 @ Rd = Op2 .text:00017208 MOV R3, #0 @ Rd = Op2 .text:0001720C LDR R0, [R4] @ Load from Memory .text:00017210 STR R12, [SP,#0x230+op_code.arg2] @ Store to Memory .text:00017214 BL send @ Branch with Link .text:00017218 LDR R0, [R4] @ Load from Memory .text:0001721C MOV R1, SP @ Rd = Op2 .text:00017220 MOV R2, #0x218 @ Rd = Op2 .text:00017224 MOV R3, #0 @ Rd = Op2 .text:00017228 BL recv @ Branch with Link .text:0001722C TST R5, #1 @ Set cond. codes on Op1 & Op2 .text:00017230 MOV R6, SP @ Rd = Op2 .text:00017234 BEQ loc_172C4 @ Branch .text:00017238 BL phatd_connect @ Branch with Link .text:0001723C LDR R4, =phatsock_fd2 @ Load from Memory .text:00017240 CMN R0, #1 @ Set cond. codes on Op1 + Op2 .text:00017244 STR R0, [R4] @ Store to Memory .text:00017248 BEQ loc_17318 @ Branch .text:0001724C MOV R12, #0xC @ Rd = Op2 .text:00017250 MOV R1, SP @ Rd = Op2 .text:00017254 MOV R2, #0x218 @ Rd = Op2 .text:00017258 MOV R3, #0 @ Rd = Op2 .text:0001725C MOV R8, #1 @ Rd = Op2 .text:00017260 STR R12, [SP,#0x230+op_code] @ Store to Memory .text:00017264 STR R8, [SP,#0x230+op_code.arg2] @ Store to Memory .text:00017268 BL send @ Branch with Link .text:0001726C MOV R1, SP @ Rd = Op2 .text:00017270 MOV R2, #0x218 @ Rd = Op2 .text:00017274 MOV R3, #0 @ Rd = Op2 .text:00017278 LDR R0, [R4] @ Load from Memory .text:0001727C BL recv @ Branch with Link .text:00017280 STR R7, [SP,#0x230+op_code] @ Store to Memory .text:00017284 BL __libc_getpid @ Branch with Link .text:00017288 MOV R12, R0 @ Rd = Op2 .text:0001728C ADD R12, R12, #0x3E8 @ Rd = Op1 + Op2 .text:00017290 MOV R1, SP @ Rd = Op2 .text:00017294 MOV R2, #0x218 @ Rd = Op2 .text:00017298 MOV R3, #0 @ Rd = Op2 .text:0001729C LDR R0, [R4] @ Load from Memory .text:000172A0 STR R12, [SP,#0x230+op_code.arg2] @ Store to Memory .text:000172A4 BL send @ Branch with Link .text:000172A8 LDR R0, [R4] @ Load from Memory .text:000172AC MOV R1, SP @ Rd = Op2 .text:000172B0 MOV R2, #0x218 @ Rd = Op2 .text:000172B4 MOV R3, #0 @ Rd = Op2 .text:000172B8 BL recv @ Branch with Link .text:000172BC TST R5, #4 @ Set cond. codes on Op1 & Op2 .text:000172C0 BNE loc_172E0 @ Branch .text:000172C4 .text:000172C4 loc_172C4: @ CODE XREF: connect_phatsock+80j .text:000172C4 @ connect_phatsock+160j .text:000172C4 LDR R0, =aPhatlib_debug @ name .text:000172C8 BL getenv @ Branch with Link .text:000172CC CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000172D0 LDRNE R3, =PHATLIB_DEBUG @ Load from Memory .text:000172D4 MOVNE R2, #1 @ Rd = Op2 .text:000172D8 STRNE R2, [R3] @ Store to Memory .text:000172DC B loc_171D0 @ Branch .text:000172E0 @ --------------------------------------------------------------------------- .text:000172E0 .text:000172E0 loc_172E0: @ CODE XREF: connect_phatsock+10Cj .text:000172E0 MOV R1, SP @ Rd = Op2 .text:000172E4 MOV R2, #0x218 @ Rd = Op2 .text:000172E8 MOV R3, #0 @ Rd = Op2 .text:000172EC MOV R12, #0x46 @ 'F' @ Rd = Op2 .text:000172F0 LDR R0, [R4] @ Load from Memory .text:000172F4 STR R12, [SP,#0x230+op_code] @ Store to Memory .text:000172F8 STR R8, [SP,#0x230+op_code.arg2] @ Store to Memory .text:000172FC BL send @ Branch with Link .text:00017300 LDR R0, [R4] @ Load from Memory .text:00017304 MOV R1, SP @ Rd = Op2 .text:00017308 MOV R2, #0x218 @ Rd = Op2 .text:0001730C MOV R3, #0 @ Rd = Op2 .text:00017310 BL recv @ Branch with Link .text:00017314 B loc_172C4 @ Branch .text:00017318 @ --------------------------------------------------------------------------- .text:00017318 .text:00017318 loc_17318: @ CODE XREF: connect_phatsock+34j .text:00017318 @ connect_phatsock+94j .text:00017318 MOV R0, #0 @ Rd = Op2 .text:0001731C B loc_171D4 @ Branch .text:0001731C @ End of function connect_phatsock .text:0001731C .text:0001731C @ --------------------------------------------------------------------------- .text:00017320 off_17320: .long phatsock_fd @ DATA XREF: connect_phatsock+4r .text:00017324 off_17324: .long phatsock_fd2 @ DATA XREF: connect_phatsock+88r .text:00017328 @ char *off_17328 .text:00017328 off_17328: .long aPhatlib_debug @ DATA XREF: connect_phatsock:loc_172C4r .text:00017328 @ "PHATLIB_DEBUG" .text:0001732C off_1732C: .long PHATLIB_DEBUG @ DATA XREF: connect_phatsock+11Cr .text:00017330 .text:00017330 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00017330 .text:00017330 .text:00017330 sub_17330: .text:00017330 .text:00017330 var_228 = -0x228 .text:00017330 var_220 = -0x220 .text:00017330 .text:00017330 STMFD SP!, {R4-R6,LR} @ Store Block to Memory .text:00017334 LDR R4, =phatsock_fd2 @ Load from Memory .text:00017338 LDR R12, [R4] @ Load from Memory .text:0001733C MOV R3, #0 @ Rd = Op2 .text:00017340 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:00017344 CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:00017348 MOV R0, R12 @ Rd = Op2 .text:0001734C MOV R5, SP @ Rd = Op2 .text:00017350 MOV R6, #1 @ Rd = Op2 .text:00017354 MOV R1, SP @ Rd = Op2 .text:00017358 MOV R2, #0x218 @ Rd = Op2 .text:0001735C MOV R12, R3 @ Rd = Op2 .text:00017360 BLT loc_1738C @ Branch .text:00017364 MOV R12, #0xC @ Rd = Op2 .text:00017368 STR R12, [SP,#0x228+var_228] @ Store to Memory .text:0001736C STR R6, [SP,#0x228+var_220] @ Store to Memory .text:00017370 BL send @ Branch with Link .text:00017374 LDR R0, [R4] @ Load from Memory .text:00017378 MOV R1, SP @ Rd = Op2 .text:0001737C MOV R2, #0x218 @ Rd = Op2 .text:00017380 MOV R3, #0 @ Rd = Op2 .text:00017384 BL recv @ Branch with Link .text:00017388 MOV R12, R6 @ Rd = Op2 .text:0001738C .text:0001738C loc_1738C: @ CODE XREF: sub_17330+30j .text:0001738C MOV R0, R12 @ Rd = Op2 .text:00017390 ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:00017394 LDMFD SP!, {R4-R6,PC} @ Load Block from Memory .text:00017394 @ End of function sub_17330 .text:00017394 .text:00017394 @ --------------------------------------------------------------------------- .text:00017398 off_17398: .long phatsock_fd2 @ DATA XREF: sub_17330+4r .text:0001739C .text:0001739C @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001739C .text:0001739C .text:0001739C sub_1739C: .text:0001739C .text:0001739C var_2C0 = -0x2C0 .text:0001739C var_2BC = -0x2BC .text:0001739C var_2B8 = -0x2B8 .text:0001739C var_2B4 = -0x2B4 .text:0001739C var_234 = -0x234 .text:0001739C var_22C = -0x22C .text:0001739C var_1C = -0x1C .text:0001739C .text:0001739C STMFD SP!, {R4-R8,R10,LR} @ Store Block to Memory .text:000173A0 LDR R5, =phatsock_fd2 @ Load from Memory .text:000173A4 LDR R0, [R5] @ Load from Memory .text:000173A8 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000173AC SUB SP, SP, #0x2A4 @ Rd = Op1 - Op2 .text:000173B0 MOVLT R0, #0 @ Rd = Op2 .text:000173B4 BLT loc_174D8 @ Branch .text:000173B8 MOV R4, #0 @ Rd = Op2 .text:000173BC ADD R10, SP, #0x2C0+var_234 @ Rd = Op1 + Op2 .text:000173C0 MOV R12, #0xC @ Rd = Op2 .text:000173C4 MOV R1, R10 @ Rd = Op2 .text:000173C8 MOV R2, #0x218 @ Rd = Op2 .text:000173CC MOV R3, R4 @ Rd = Op2 .text:000173D0 STR R12, [SP,#0x2C0+var_234] @ Store to Memory .text:000173D4 STR R4, [SP,#0x2C0+var_22C] @ Store to Memory .text:000173D8 BL send @ Branch with Link .text:000173DC MOV R3, R4 @ Rd = Op2 .text:000173E0 LDR R0, [R5] @ Load from Memory .text:000173E4 MOV R1, R10 @ Rd = Op2 .text:000173E8 MOV R2, #0x218 @ Rd = Op2 .text:000173EC BL recv @ Branch with Link .text:000173F0 ADD R6, SP, #0x2C0+var_2B4 @ Rd = Op1 + Op2 .text:000173F4 MOV R3, R4 @ Rd = Op2 .text:000173F8 .text:000173F8 loc_173F8: @ CODE XREF: sub_1739C+68j .text:000173F8 STR R3, [R6,R4,LSL#2] @ Store to Memory .text:000173FC ADD R4, R4, #1 @ Rd = Op1 + Op2 .text:00017400 CMP R4, #0x1F @ Set cond. codes on Op1 - Op2 .text:00017404 BLS loc_173F8 @ Branch .text:00017408 LDR R4, =phatsock_fd2 @ Load from Memory .text:0001740C LDR R2, [R4] @ Load from Memory .text:00017410 ADD R1, SP, #0x2C0+var_1C @ Rd = Op1 + Op2 .text:00017414 MOV R3, R2,LSR#5 @ Rd = Op2 .text:00017418 ADD R5, R1, R3,LSL#2 @ Rd = Op1 + Op2 .text:0001741C LDR R1, [R5,#-0x298] @ Load from Memory .text:00017420 AND R2, R2, #0x1F @ Rd = Op1 & Op2 .text:00017424 MOV R0, #0x7A000 @ Rd = Op2 .text:00017428 MOV R3, #1 @ Rd = Op2 .text:0001742C ORR R1, R1, R3,LSL R2 @ Rd = Op2 | Op1 .text:00017430 ADD R0, R0, #0x120 @ Rd = Op1 + Op2 .text:00017434 MOV R8, R4 @ Rd = Op2 .text:00017438 ADD R7, SP, #0x2C0+var_2BC @ Rd = Op1 + Op2 .text:0001743C STR R1, [R5,#-0x298] @ Store to Memory .text:00017440 STR R0, [SP,#0x2C0+var_2B8] @ Store to Memory .text:00017444 .text:00017444 loc_17444: @ CODE XREF: sub_1739C+134j .text:00017444 LDR R0, [R8] @ Load from Memory .text:00017448 SUB R3, R3, #1 @ Rd = Op1 - Op2 .text:0001744C MOV R2, #0 @ Rd = Op2 .text:00017450 STR R3, [SP,#0x2C0+var_2BC] @ Store to Memory .text:00017454 ADD R0, R0, #1 @ Rd = Op1 + Op2 .text:00017458 MOV R1, R6 @ Rd = Op2 .text:0001745C MOV R3, R2 @ Rd = Op2 .text:00017460 STR R7, [SP,#0x2C0+var_2C0] @ Store to Memory .text:00017464 BL newselect @ Branch with Link .text:00017468 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0001746C BLE loc_174D4 @ Branch .text:00017470 MOV R2, #0x218 @ Rd = Op2 .text:00017474 MOV R3, #0 @ Rd = Op2 .text:00017478 LDR R0, [R8] @ Load from Memory .text:0001747C MOV R1, R10 @ Rd = Op2 .text:00017480 BL recv @ Branch with Link .text:00017484 MOV R3, #0 @ Rd = Op2 .text:00017488 MOV R2, R3 @ Rd = Op2 .text:0001748C .text:0001748C loc_1748C: @ CODE XREF: sub_1739C+FCj .text:0001748C STR R2, [R6,R3,LSL#2] @ Store to Memory .text:00017490 ADD R3, R3, #1 @ Rd = Op1 + Op2 .text:00017494 CMP R3, #0x1F @ Set cond. codes on Op1 - Op2 .text:00017498 BLS loc_1748C @ Branch .text:0001749C LDR R3, =phatsock_fd2 @ Load from Memory .text:000174A0 LDR R1, [R3] @ Load from Memory .text:000174A4 ADD R3, SP, #0x2C0+var_1C @ Rd = Op1 + Op2 .text:000174A8 MOV R2, R1,LSR#5 @ Rd = Op2 .text:000174AC ADD R4, R3, R2,LSL#2 @ Rd = Op1 + Op2 .text:000174B0 LDR R0, [R4,#-0x298] @ Load from Memory .text:000174B4 AND R1, R1, #0x1F @ Rd = Op1 & Op2 .text:000174B8 MOV R2, #0x7A000 @ Rd = Op2 .text:000174BC MOV R3, #1 @ Rd = Op2 .text:000174C0 ORR R0, R0, R3,LSL R1 @ Rd = Op2 | Op1 .text:000174C4 ADD R2, R2, #0x120 @ Rd = Op1 + Op2 .text:000174C8 STR R0, [R4,#-0x298] @ Store to Memory .text:000174CC STR R2, [R7,#4] @ Store to Memory .text:000174D0 B loc_17444 @ Branch .text:000174D4 @ --------------------------------------------------------------------------- .text:000174D4 .text:000174D4 loc_174D4: @ CODE XREF: sub_1739C+D0j .text:000174D4 MOV R0, #1 @ Rd = Op2 .text:000174D8 .text:000174D8 loc_174D8: @ CODE XREF: sub_1739C+18j .text:000174D8 ADD SP, SP, #0x2A4 @ Rd = Op1 + Op2 .text:000174DC LDMFD SP!, {R4-R8,R10,PC} @ Load Block from Memory .text:000174DC @ End of function sub_1739C .text:000174DC .text:000174DC @ --------------------------------------------------------------------------- .text:000174E0 off_174E0: .long phatsock_fd2 @ DATA XREF: sub_1739C+4r .text:000174E0 @ sub_1739C+6Cr ... .text:000174E4 .text:000174E4 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:000174E4 .text:000174E4 .text:000174E4 phat_numdiscs: @ CODE XREF: main+F70p .text:000174E4 @ main:loc_9454p ... .text:000174E4 .text:000174E4 packet = -0x224 .text:000174E4 .text:000174E4 STMFD SP!, {R4,R5,LR} @ Store Block to Memory .text:000174E8 LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:000174EC LDR R2, [R3] @ Load from Memory .text:000174F0 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:000174F4 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:000174F8 MOV R5, SP @ Rd = Op2 .text:000174FC LDR R0, =aPhatlib @ Load from Memory .text:00017500 LDR R4, =phatsock_fd @ Load from Memory .text:00017504 BNE loc_17564 @ Branch .text:00017508 .text:00017508 loc_17508: @ CODE XREF: phat_numdiscs+98j .text:00017508 LDR R12, [R4] @ Load from Memory .text:0001750C MOV R3, #0 @ Rd = Op2 .text:00017510 CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:00017514 MOV R1, R5 @ Rd = Op2 .text:00017518 MOV R2, #0x218 @ Rd = Op2 .text:0001751C MOVL LR, 0xFFFFFFFF .text:00017520 MOV R0, R12 @ Rd = Op2 .text:00017524 BLT loc_17558 @ Branch .text:00017528 MOV R12, #1 @ Rd = Op2 .text:0001752C STR R12, [SP,#0x224+packet] @ Store to Memory .text:00017530 BL send @ Branch with Link .text:00017534 MOV R3, #0 @ Rd = Op2 .text:00017538 LDR R0, [R4] @ Load from Memory .text:0001753C MOV R1, R5 @ Rd = Op2 .text:00017540 MOV R2, #0x218 @ Rd = Op2 .text:00017544 BL recv @ Branch with Link .text:00017548 LDR R3, [SP,#0x224+packet.status] @ Load from Memory .text:0001754C CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:00017550 LDREQ LR, [SP,#0x224+packet.disc] @ Load from Memory .text:00017554 MVNNE LR, #0 @ Rd = ~Op2 .text:00017558 .text:00017558 loc_17558: @ CODE XREF: phat_numdiscs+40j .text:00017558 MOV R0, LR @ Rd = Op2 .text:0001755C ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:00017560 LDMFD SP!, {R4,R5,PC} @ Load Block from Memory .text:00017564 @ --------------------------------------------------------------------------- .text:00017564 .text:00017564 loc_17564: @ CODE XREF: phat_numdiscs+20j .text:00017564 BL printf @ Branch with Link .text:00017568 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:0001756C LDR R1, =aPhat_numdiscs @ Load from Memory .text:00017570 BL printf @ Branch with Link .text:00017574 LDR R0, =asc_2CA6C @ Load from Memory .text:00017578 BL xdebug_out @ Branch with Link .text:0001757C B loc_17508 @ Branch .text:0001757C @ End of function phat_numdiscs .text:0001757C .text:0001757C @ --------------------------------------------------------------------------- .text:00017580 off_17580: .long PHATLIB_DEBUG @ DATA XREF: phat_numdiscs+4r .text:00017584 off_17584: .long aPhatlib @ DATA XREF: phat_numdiscs+18r .text:00017584 @ "phatlib:" .text:00017588 off_17588: .long phatsock_fd @ DATA XREF: phat_numdiscs+1Cr .text:0001758C off_1758C: .long aDosTtsI_S+0xC @ DATA XREF: phat_numdiscs+84r .text:00017590 off_17590: .long aPhat_numdiscs @ DATA XREF: phat_numdiscs+88r .text:00017590 @ "phat_numdiscs" .text:00017594 off_17594: .long asc_2CA6C @ DATA XREF: phat_numdiscs+90r .text:00017594 @ "()" .text:00017598 .text:00017598 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00017598 .text:00017598 .text:00017598 phat_numtracks: @ CODE XREF: main+E70p .text:00017598 @ processpack+1284p ... .text:00017598 .text:00017598 packet = -0x228 .text:00017598 .text:00017598 STMFD SP!, {R4-R6,LR} @ Store Block to Memory .text:0001759C LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:000175A0 LDR R2, [R3] @ Load from Memory .text:000175A4 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:000175A8 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:000175AC MOV R4, R0 @ Rd = Op2 .text:000175B0 LDR R5, =phatsock_fd @ Load from Memory .text:000175B4 MOV R6, SP @ Rd = Op2 .text:000175B8 LDR R0, =aPhatlib @ Load from Memory .text:000175BC BNE loc_17614 @ Branch .text:000175C0 .text:000175C0 loc_175C0: @ CODE XREF: phat_numtracks:loc_17630j .text:000175C0 LDR R12, [R5] @ Load from Memory .text:000175C4 MOV R3, #0 @ Rd = Op2 .text:000175C8 CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:000175CC MOV R1, R6 @ Rd = Op2 .text:000175D0 MOV R2, #0x218 @ Rd = Op2 .text:000175D4 MOVL LR, 0xFFFFFFFF .text:000175D8 MOV R0, R12 @ Rd = Op2 .text:000175DC BLT loc_17608 @ Branch .text:000175E0 MOV R12, #2 @ Rd = Op2 .text:000175E4 STR R12, [SP,#0x228+packet] @ Store to Memory .text:000175E8 STR R4, [SP,#0x228+packet.disc] @ Store to Memory .text:000175EC BL send @ Branch with Link .text:000175F0 LDR R0, [R5] @ Load from Memory .text:000175F4 MOV R1, R6 @ Rd = Op2 .text:000175F8 MOV R2, #0x218 @ Rd = Op2 .text:000175FC MOV R3, #0 @ Rd = Op2 .text:00017600 BL recv @ Branch with Link .text:00017604 LDR LR, [SP,#0x228+packet.track] @ Load from Memory .text:00017608 .text:00017608 loc_17608: @ CODE XREF: phat_numtracks+44j .text:00017608 MOV R0, LR @ Rd = Op2 .text:0001760C ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:00017610 LDMFD SP!, {R4-R6,PC} @ Load Block from Memory .text:00017614 @ --------------------------------------------------------------------------- .text:00017614 .text:00017614 loc_17614: @ CODE XREF: phat_numtracks+24j .text:00017614 BL printf @ Branch with Link .text:00017618 LDR R1, =aPhat_numtracks @ Load from Memory .text:0001761C LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:00017620 BL printf @ Branch with Link .text:00017624 LDR R0, =(a02xI_0+0x18) @ Load from Memory .text:00017628 MOV R1, R4 @ Rd = Op2 .text:0001762C BL printf @ Branch with Link .text:00017630 .text:00017630 loc_17630: @ DATA XREF: .text:off_26348o .text:00017630 B loc_175C0 @ Branch .text:00017630 @ End of function phat_numtracks .text:00017630 .text:00017630 @ --------------------------------------------------------------------------- .text:00017634 off_17634: .long PHATLIB_DEBUG @ DATA XREF: phat_numtracks+4r .text:00017638 off_17638: .long phatsock_fd @ DATA XREF: phat_numtracks+18r .text:0001763C off_1763C: .long aPhatlib @ DATA XREF: phat_numtracks+20r .text:0001763C @ "phatlib:" .text:00017640 off_17640: .long aPhat_numtracks @ DATA XREF: phat_numtracks+80r .text:00017640 @ "phat_numtracks" .text:00017644 off_17644: .long aDosTtsI_S+0xC @ DATA XREF: phat_numtracks+84r .text:00017648 off_17648: .long a02xI_0+0x18 @ DATA XREF: phat_numtracks+8Cr .text:0001764C .text:0001764C @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001764C .text:0001764C .text:0001764C phat_diskname: @ CODE XREF: run_swgrli+88p .text:0001764C @ list_title_text+38p .text:0001764C .text:0001764C packet = -0x22C .text:0001764C .text:0001764C STMFD SP!, {R4-R7,LR} @ Store Block to Memory .text:00017650 LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:00017654 LDR R2, [R3] @ Load from Memory .text:00017658 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:0001765C CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00017660 MOV R4, R0 @ Rd = Op2 .text:00017664 MOV R6, SP @ Rd = Op2 .text:00017668 LDR R5, =phatsock_fd @ Load from Memory .text:0001766C LDR R0, =aPhatlib @ Load from Memory .text:00017670 BNE loc_176EC @ Branch .text:00017674 .text:00017674 loc_17674: @ CODE XREF: phat_diskname+BCj .text:00017674 LDR R12, [R5] @ Load from Memory .text:00017678 MOV R3, #0 @ Rd = Op2 .text:0001767C CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:00017680 MOV R1, R6 @ Rd = Op2 .text:00017684 MOV R2, #0x218 @ Rd = Op2 .text:00017688 MOV LR, R3 @ Rd = Op2 .text:0001768C MOV R0, R12 @ Rd = Op2 .text:00017690 BLT loc_176D4 @ Branch .text:00017694 MOV R12, #3 @ Rd = Op2 .text:00017698 STR R12, [SP,#0x22C+packet] @ Store to Memory .text:0001769C STR R4, [SP,#0x22C+packet.disc] @ Store to Memory .text:000176A0 BL send @ Branch with Link .text:000176A4 MOV R1, R6 @ Rd = Op2 .text:000176A8 MOV R3, #0 @ Rd = Op2 .text:000176AC LDR R0, [R5] @ Load from Memory .text:000176B0 MOV R2, #0x218 @ Rd = Op2 .text:000176B4 BL recv @ Branch with Link .text:000176B8 LDR R3, [SP,#0x22C+packet.status] @ Load from Memory .text:000176BC LDR R7, =current_diskname @ Load from Memory .text:000176C0 CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:000176C4 ADD R1, SP, #0x22C+packet.data @ Rd = Op1 + Op2 .text:000176C8 MOV R0, R7 @ Rd = Op2 .text:000176CC MOVNE LR, #0 @ Rd = Op2 .text:000176D0 BEQ loc_176E0 @ Branch .text:000176D4 .text:000176D4 loc_176D4: @ CODE XREF: phat_diskname+44j .text:000176D4 @ phat_diskname+9Cj .text:000176D4 MOV R0, LR @ Rd = Op2 .text:000176D8 ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:000176DC LDMFD SP!, {R4-R7,PC} @ Load Block from Memory .text:000176E0 @ --------------------------------------------------------------------------- .text:000176E0 .text:000176E0 loc_176E0: @ CODE XREF: phat_diskname+84j .text:000176E0 BL strcpy @ Branch with Link .text:000176E4 MOV LR, R7 @ Rd = Op2 .text:000176E8 B loc_176D4 @ Branch .text:000176EC @ --------------------------------------------------------------------------- .text:000176EC .text:000176EC loc_176EC: @ CODE XREF: phat_diskname+24j .text:000176EC BL printf @ Branch with Link .text:000176F0 LDR R1, =aPhat_discname @ Load from Memory .text:000176F4 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:000176F8 BL printf @ Branch with Link .text:000176FC LDR R0, =(a02xI_0+0x18) @ Load from Memory .text:00017700 MOV R1, R4 @ Rd = Op2 .text:00017704 BL printf @ Branch with Link .text:00017708 B loc_17674 @ Branch .text:00017708 @ End of function phat_diskname .text:00017708 .text:00017708 @ --------------------------------------------------------------------------- .text:0001770C off_1770C: .long PHATLIB_DEBUG @ DATA XREF: phat_diskname+4r .text:00017710 off_17710: .long phatsock_fd @ DATA XREF: phat_diskname+1Cr .text:00017714 off_17714: .long aPhatlib @ DATA XREF: phat_diskname+20r .text:00017714 @ "phatlib:" .text:00017718 off_17718: .long current_diskname @ DATA XREF: phat_diskname+70r .text:0001771C off_1771C: .long aPhat_discname @ DATA XREF: phat_diskname+A4r .text:0001771C @ "phat_discname" .text:00017720 off_17720: .long aDosTtsI_S+0xC @ DATA XREF: phat_diskname+A8r .text:00017724 off_17724: .long a02xI_0+0x18 @ DATA XREF: phat_diskname+B0r .text:00017728 .text:00017728 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00017728 .text:00017728 .text:00017728 phat_filename: @ CODE XREF: processpack+1730p .text:00017728 @ processpack+2038p ... .text:00017728 .text:00017728 packet = -0x230 .text:00017728 .text:00017728 STMFD SP!, {R4-R8,LR} @ Store Block to Memory .text:0001772C LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:00017730 LDR R2, [R3] @ Load from Memory .text:00017734 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:00017738 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0001773C MOV R4, R0 @ Rd = Op2 .text:00017740 MOV R7, SP @ Rd = Op2 .text:00017744 LDR R6, =phatsock_fd @ Load from Memory .text:00017748 MOV R5, R1 @ Rd = Op2 .text:0001774C LDR R0, =aPhatlib @ Load from Memory .text:00017750 BNE loc_177D0 @ Branch .text:00017754 .text:00017754 loc_17754: @ CODE XREF: phat_filename+C8j .text:00017754 LDR R12, [R6] @ Load from Memory .text:00017758 MOV R3, #0 @ Rd = Op2 .text:0001775C CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:00017760 MOV R1, R7 @ Rd = Op2 .text:00017764 MOV R2, #0x218 @ Rd = Op2 .text:00017768 MOV LR, R3 @ Rd = Op2 .text:0001776C MOV R0, R12 @ Rd = Op2 .text:00017770 BLT loc_177B8 @ Branch .text:00017774 MOV R12, #4 @ Rd = Op2 .text:00017778 STR R12, [SP,#0x230+packet] @ Store to Memory .text:0001777C STR R4, [SP,#0x230+packet.disc] @ Store to Memory .text:00017780 STR R5, [SP,#0x230+packet.track] @ Store to Memory .text:00017784 BL send @ Branch with Link .text:00017788 MOV R1, R7 @ Rd = Op2 .text:0001778C MOV R3, #0 @ Rd = Op2 .text:00017790 LDR R0, [R6] @ Load from Memory .text:00017794 MOV R2, #0x218 @ Rd = Op2 .text:00017798 BL recv @ Branch with Link .text:0001779C LDR R3, [SP,#0x230+packet.status] @ Load from Memory .text:000177A0 LDR R8, =current_filename @ Load from Memory .text:000177A4 CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:000177A8 ADD R1, SP, #0x230+packet.data @ Rd = Op1 + Op2 .text:000177AC MOV R0, R8 @ Rd = Op2 .text:000177B0 MOVNE LR, #0 @ Rd = Op2 .text:000177B4 BEQ loc_177C4 @ Branch .text:000177B8 .text:000177B8 loc_177B8: @ CODE XREF: phat_filename+48j .text:000177B8 @ phat_filename+A4j .text:000177B8 MOV R0, LR @ Rd = Op2 .text:000177BC ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:000177C0 LDMFD SP!, {R4-R8,PC} @ Load Block from Memory .text:000177C4 @ --------------------------------------------------------------------------- .text:000177C4 .text:000177C4 loc_177C4: @ CODE XREF: phat_filename+8Cj .text:000177C4 BL strcpy @ Branch with Link .text:000177C8 MOV LR, R8 @ Rd = Op2 .text:000177CC B loc_177B8 @ Branch .text:000177D0 @ --------------------------------------------------------------------------- .text:000177D0 .text:000177D0 loc_177D0: @ CODE XREF: phat_filename+28j .text:000177D0 BL printf @ Branch with Link .text:000177D4 LDR R1, =aPhat_filename @ Load from Memory .text:000177D8 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:000177DC BL printf @ Branch with Link .text:000177E0 LDR R0, =aII_0 @ Load from Memory .text:000177E4 MOV R1, R4 @ Rd = Op2 .text:000177E8 MOV R2, R5 @ Rd = Op2 .text:000177EC BL printf @ Branch with Link .text:000177F0 B loc_17754 @ Branch .text:000177F0 @ End of function phat_filename .text:000177F0 .text:000177F0 @ --------------------------------------------------------------------------- .text:000177F4 off_177F4: .long PHATLIB_DEBUG @ DATA XREF: phat_filename+4r .text:000177F8 off_177F8: .long phatsock_fd @ DATA XREF: phat_filename+1Cr .text:000177FC off_177FC: .long aPhatlib @ DATA XREF: phat_filename+24r .text:000177FC @ "phatlib:" .text:00017800 off_17800: .long current_filename @ DATA XREF: phat_filename+78r .text:00017804 off_17804: .long aPhat_filename @ DATA XREF: phat_filename+ACr .text:00017804 @ "phat_filename" .text:00017808 off_17808: .long aDosTtsI_S+0xC @ DATA XREF: phat_filename+B0r .text:0001780C off_1780C: .long aII_0 @ DATA XREF: phat_filename+B8r .text:0001780C @ "(%i,%i)\n" .text:00017810 .text:00017810 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00017810 .text:00017810 .text:00017810 phat_desc: @ CODE XREF: processpack+2794p .text:00017810 .text:00017810 packet = -0x230 .text:00017810 .text:00017810 STMFD SP!, {R4-R8,LR} @ Store Block to Memory .text:00017814 LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:00017818 LDR R2, [R3] @ Load from Memory .text:0001781C SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:00017820 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00017824 MOV R4, R0 @ Rd = Op2 .text:00017828 MOV R7, SP @ Rd = Op2 .text:0001782C LDR R6, =phatsock_fd @ Load from Memory .text:00017830 MOV R5, R1 @ Rd = Op2 .text:00017834 LDR R0, =aPhatlib @ Load from Memory .text:00017838 BNE loc_178BC @ Branch .text:0001783C .text:0001783C loc_1783C: @ CODE XREF: phat_desc+CCj .text:0001783C LDR R12, [R6] @ Load from Memory .text:00017840 MOV R3, #0 @ Rd = Op2 .text:00017844 CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:00017848 MOV R1, R7 @ Rd = Op2 .text:0001784C MOV R2, #0x218 @ Rd = Op2 .text:00017850 LDR LR, =dword_2D01C @ Load from Memory .text:00017854 MOV R0, R12 @ Rd = Op2 .text:00017858 BLT loc_178A4 @ Branch .text:0001785C MOV R12, #5 @ Rd = Op2 .text:00017860 STR R12, [SP,#0x230+packet] @ Store to Memory .text:00017864 STR R4, [SP,#0x230+packet.disc] @ Store to Memory .text:00017868 STR R5, [SP,#0x230+packet.track] @ Store to Memory .text:0001786C BL send @ Branch with Link .text:00017870 MOV R1, R7 @ Rd = Op2 .text:00017874 MOV R3, #0 @ Rd = Op2 .text:00017878 MOV R2, #0x218 @ Rd = Op2 .text:0001787C LDR R0, [R6] @ Load from Memory .text:00017880 BL recv @ Branch with Link .text:00017884 LDR R3, [SP,#0x230+packet.status] @ Load from Memory .text:00017888 LDR R8, =current_desc @ Load from Memory .text:0001788C CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:00017890 ADD R1, SP, #0x230+packet.data @ Rd = Op1 + Op2 .text:00017894 MOV R0, R8 @ Rd = Op2 .text:00017898 MOV R2, #0x200 @ Rd = Op2 .text:0001789C LDRNE LR, =dword_2D01C @ Load from Memory .text:000178A0 BEQ loc_178B0 @ Branch .text:000178A4 .text:000178A4 loc_178A4: @ CODE XREF: phat_desc+48j .text:000178A4 @ phat_desc+A8j .text:000178A4 MOV R0, LR @ Rd = Op2 .text:000178A8 ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:000178AC LDMFD SP!, {R4-R8,PC} @ Load Block from Memory .text:000178B0 @ --------------------------------------------------------------------------- .text:000178B0 .text:000178B0 loc_178B0: @ CODE XREF: phat_desc+90j .text:000178B0 BL strncat @ Branch with Link .text:000178B4 MOV LR, R8 @ Rd = Op2 .text:000178B8 B loc_178A4 @ Branch .text:000178BC @ --------------------------------------------------------------------------- .text:000178BC .text:000178BC loc_178BC: @ CODE XREF: phat_desc+28j .text:000178BC BL printf @ Branch with Link .text:000178C0 LDR R1, =aPhat_desc @ Load from Memory .text:000178C4 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:000178C8 BL printf @ Branch with Link .text:000178CC LDR R0, =aII_0 @ Load from Memory .text:000178D0 MOV R1, R4 @ Rd = Op2 .text:000178D4 .text:000178D4 loc_178D4: @ DATA XREF: .text:off_26100o .text:000178D4 MOV R2, R5 @ Rd = Op2 .text:000178D8 BL printf @ Branch with Link .text:000178DC B loc_1783C @ Branch .text:000178DC @ End of function phat_desc .text:000178DC .text:000178DC @ --------------------------------------------------------------------------- .text:000178E0 off_178E0: .long PHATLIB_DEBUG @ DATA XREF: phat_desc+4r .text:000178E4 off_178E4: .long phatsock_fd @ DATA XREF: phat_desc+1Cr .text:000178E8 off_178E8: .long aPhatlib @ DATA XREF: phat_desc+24r .text:000178E8 @ "phatlib:" .text:000178EC off_178EC: .long dword_2D01C @ DATA XREF: phat_desc+40r .text:000178EC @ phat_desc+8Cr .text:000178F0 off_178F0: .long current_desc @ DATA XREF: phat_desc+78r .text:000178F4 off_178F4: .long aPhat_desc @ DATA XREF: phat_desc+B0r .text:000178F4 @ "phat_desc" .text:000178F8 off_178F8: .long aDosTtsI_S+0xC @ DATA XREF: phat_desc+B4r .text:000178FC off_178FC: .long aII_0 @ DATA XREF: phat_desc+BCr .text:000178FC @ "(%i,%i)\n" .text:00017900 .text:00017900 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00017900 .text:00017900 .text:00017900 phat_artist: @ CODE XREF: run_audio_id+948p .text:00017900 .text:00017900 packet = -0x230 .text:00017900 .text:00017900 STMFD SP!, {R4-R8,LR} @ Store Block to Memory .text:00017904 LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:00017908 LDR R2, [R3] @ Load from Memory .text:0001790C SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:00017910 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00017914 MOV R4, R0 @ Rd = Op2 .text:00017918 MOV R7, SP @ Rd = Op2 .text:0001791C LDR R6, =phatsock_fd @ Load from Memory .text:00017920 MOV R5, R1 @ Rd = Op2 .text:00017924 LDR R0, =aPhatlib @ Load from Memory .text:00017928 BNE loc_179A8 @ Branch .text:0001792C .text:0001792C loc_1792C: @ CODE XREF: phat_artist+C8j .text:0001792C LDR R12, [R6] @ Load from Memory .text:00017930 MOV R3, #0 @ Rd = Op2 .text:00017934 CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:00017938 MOV R1, R7 @ Rd = Op2 .text:0001793C MOV R2, #0x218 @ Rd = Op2 .text:00017940 MOV LR, R3 @ Rd = Op2 .text:00017944 MOV R0, R12 @ Rd = Op2 .text:00017948 BLT loc_17990 @ Branch .text:0001794C MOV R12, #6 @ Rd = Op2 .text:00017950 STR R12, [SP,#0x230+packet] @ Store to Memory .text:00017954 STR R4, [SP,#0x230+packet.disc] @ Store to Memory .text:00017958 STR R5, [SP,#0x230+packet.track] @ Store to Memory .text:0001795C BL send @ Branch with Link .text:00017960 MOV R1, R7 @ Rd = Op2 .text:00017964 MOV R3, #0 @ Rd = Op2 .text:00017968 LDR R0, [R6] @ Load from Memory .text:0001796C MOV R2, #0x218 @ Rd = Op2 .text:00017970 BL recv @ Branch with Link .text:00017974 LDR R3, [SP,#0x230+packet.status] @ Load from Memory .text:00017978 LDR R8, =current_artist @ Load from Memory .text:0001797C CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:00017980 ADD R1, SP, #0x230+packet.data @ Rd = Op1 + Op2 .text:00017984 MOV R0, R8 @ Rd = Op2 .text:00017988 MOVNE LR, #0 @ Rd = Op2 .text:0001798C BEQ loc_1799C @ Branch .text:00017990 .text:00017990 loc_17990: @ CODE XREF: phat_artist+48j .text:00017990 @ phat_artist+A4j .text:00017990 MOV R0, LR @ Rd = Op2 .text:00017994 ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:00017998 LDMFD SP!, {R4-R8,PC} @ Load Block from Memory .text:0001799C @ --------------------------------------------------------------------------- .text:0001799C .text:0001799C loc_1799C: @ CODE XREF: phat_artist+8Cj .text:0001799C BL strcpy @ Branch with Link .text:000179A0 MOV LR, R8 @ Rd = Op2 .text:000179A4 B loc_17990 @ Branch .text:000179A8 @ --------------------------------------------------------------------------- .text:000179A8 .text:000179A8 loc_179A8: @ CODE XREF: phat_artist+28j .text:000179A8 BL printf @ Branch with Link .text:000179AC LDR R1, =aPhat_artist @ Load from Memory .text:000179B0 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:000179B4 BL printf @ Branch with Link .text:000179B8 LDR R0, =aII_0 @ Load from Memory .text:000179BC MOV R1, R4 @ Rd = Op2 .text:000179C0 MOV R2, R5 @ Rd = Op2 .text:000179C4 BL printf @ Branch with Link .text:000179C8 B loc_1792C @ Branch .text:000179C8 @ End of function phat_artist .text:000179C8 .text:000179C8 @ --------------------------------------------------------------------------- .text:000179CC off_179CC: .long PHATLIB_DEBUG @ DATA XREF: phat_artist+4r .text:000179D0 off_179D0: .long phatsock_fd @ DATA XREF: phat_artist+1Cr .text:000179D4 off_179D4: .long aPhatlib @ DATA XREF: phat_artist+24r .text:000179D4 @ "phatlib:" .text:000179D8 off_179D8: .long current_artist @ DATA XREF: phat_artist+78r .text:000179DC off_179DC: .long aPhat_artist @ DATA XREF: phat_artist+ACr .text:000179DC @ "phat_artist" .text:000179E0 off_179E0: .long aDosTtsI_S+0xC @ DATA XREF: phat_artist+B0r .text:000179E4 off_179E4: .long aII_0 @ DATA XREF: phat_artist+B8r .text:000179E4 @ "(%i,%i)\n" .text:000179E8 .text:000179E8 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:000179E8 .text:000179E8 .text:000179E8 phat_songname: @ CODE XREF: run_audio_id+800p .text:000179E8 .text:000179E8 packet = -0x230 .text:000179E8 .text:000179E8 STMFD SP!, {R4-R8,LR} @ Store Block to Memory .text:000179EC LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:000179F0 LDR R2, [R3] @ Load from Memory .text:000179F4 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:000179F8 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:000179FC MOV R4, R0 @ Rd = Op2 .text:00017A00 MOV R7, SP @ Rd = Op2 .text:00017A04 LDR R6, =phatsock_fd @ Load from Memory .text:00017A08 MOV R5, R1 @ Rd = Op2 .text:00017A0C LDR R0, =aPhatlib @ Load from Memory .text:00017A10 BNE loc_17A90 @ Branch .text:00017A14 .text:00017A14 loc_17A14: @ CODE XREF: phat_songname+C8j .text:00017A14 LDR R12, [R6] @ Load from Memory .text:00017A18 MOV R3, #0 @ Rd = Op2 .text:00017A1C CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:00017A20 MOV R1, R7 @ Rd = Op2 .text:00017A24 MOV R2, #0x218 @ Rd = Op2 .text:00017A28 MOV LR, R3 @ Rd = Op2 .text:00017A2C MOV R0, R12 @ Rd = Op2 .text:00017A30 BLT loc_17A78 @ Branch .text:00017A34 MOV R12, #7 @ Rd = Op2 .text:00017A38 STR R12, [SP,#0x230+packet] @ Store to Memory .text:00017A3C STR R4, [SP,#0x230+packet.disc] @ Store to Memory .text:00017A40 STR R5, [SP,#0x230+packet.track] @ Store to Memory .text:00017A44 BL send @ Branch with Link .text:00017A48 MOV R1, R7 @ Rd = Op2 .text:00017A4C MOV R3, #0 @ Rd = Op2 .text:00017A50 LDR R0, [R6] @ Load from Memory .text:00017A54 MOV R2, #0x218 @ Rd = Op2 .text:00017A58 BL recv @ Branch with Link .text:00017A5C LDR R3, [SP,#0x230+packet.status] @ Load from Memory .text:00017A60 LDR R8, =current_songname @ Load from Memory .text:00017A64 CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:00017A68 ADD R1, SP, #0x230+packet.data @ Rd = Op1 + Op2 .text:00017A6C MOV R0, R8 @ Rd = Op2 .text:00017A70 MOVNE LR, #0 @ Rd = Op2 .text:00017A74 BEQ loc_17A84 @ Branch .text:00017A78 .text:00017A78 loc_17A78: @ CODE XREF: phat_songname+48j .text:00017A78 @ phat_songname+A4j .text:00017A78 MOV R0, LR @ Rd = Op2 .text:00017A7C ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:00017A80 LDMFD SP!, {R4-R8,PC} @ Load Block from Memory .text:00017A84 @ --------------------------------------------------------------------------- .text:00017A84 .text:00017A84 loc_17A84: @ CODE XREF: phat_songname+8Cj .text:00017A84 BL strcpy @ Branch with Link .text:00017A88 MOV LR, R8 @ Rd = Op2 .text:00017A8C B loc_17A78 @ Branch .text:00017A90 @ --------------------------------------------------------------------------- .text:00017A90 .text:00017A90 loc_17A90: @ CODE XREF: phat_songname+28j .text:00017A90 BL printf @ Branch with Link .text:00017A94 LDR R1, =aPhat_songname @ Load from Memory .text:00017A98 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:00017A9C BL printf @ Branch with Link .text:00017AA0 LDR R0, =aII_0 @ Load from Memory .text:00017AA4 MOV R1, R4 @ Rd = Op2 .text:00017AA8 MOV R2, R5 @ Rd = Op2 .text:00017AAC BL printf @ Branch with Link .text:00017AB0 B loc_17A14 @ Branch .text:00017AB0 @ End of function phat_songname .text:00017AB0 .text:00017AB0 @ --------------------------------------------------------------------------- .text:00017AB4 off_17AB4: .long PHATLIB_DEBUG @ DATA XREF: phat_songname+4r .text:00017AB8 off_17AB8: .long phatsock_fd @ DATA XREF: phat_songname+1Cr .text:00017ABC off_17ABC: .long aPhatlib @ DATA XREF: phat_songname+24r .text:00017ABC @ "phatlib:" .text:00017AC0 off_17AC0: .long current_songname @ DATA XREF: phat_songname+78r .text:00017AC4 off_17AC4: .long aPhat_songname @ DATA XREF: phat_songname+ACr .text:00017AC4 @ "phat_songname" .text:00017AC8 off_17AC8: .long aDosTtsI_S+0xC @ DATA XREF: phat_songname+B0r .text:00017ACC off_17ACC: .long aII_0 @ DATA XREF: phat_songname+B8r .text:00017ACC @ "(%i,%i)\n" .text:00017AD0 .text:00017AD0 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00017AD0 .text:00017AD0 .text:00017AD0 phat_genre: @ CODE XREF: run_audio_id+88Cp .text:00017AD0 .text:00017AD0 packet = -0x230 .text:00017AD0 .text:00017AD0 STMFD SP!, {R4-R8,LR} @ Store Block to Memory .text:00017AD4 LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:00017AD8 LDR R2, [R3] @ Load from Memory .text:00017ADC SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:00017AE0 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00017AE4 MOV R4, R0 @ Rd = Op2 .text:00017AE8 MOV R7, SP @ Rd = Op2 .text:00017AEC LDR R6, =phatsock_fd @ Load from Memory .text:00017AF0 MOV R5, R1 @ Rd = Op2 .text:00017AF4 LDR R0, =aPhatlib @ Load from Memory .text:00017AF8 BNE loc_17B78 @ Branch .text:00017AFC .text:00017AFC loc_17AFC: @ CODE XREF: phat_genre+C8j .text:00017AFC LDR R12, [R6] @ Load from Memory .text:00017B00 MOV R3, #0 @ Rd = Op2 .text:00017B04 CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:00017B08 MOV R1, R7 @ Rd = Op2 .text:00017B0C MOV R2, #0x218 @ Rd = Op2 .text:00017B10 MOV LR, R3 @ Rd = Op2 .text:00017B14 MOV R0, R12 @ Rd = Op2 .text:00017B18 BLT loc_17B60 @ Branch .text:00017B1C MOV R12, #0xE @ Rd = Op2 .text:00017B20 STR R12, [SP,#0x230+packet] @ Store to Memory .text:00017B24 STR R4, [SP,#0x230+packet.disc] @ Store to Memory .text:00017B28 STR R5, [SP,#0x230+packet.track] @ Store to Memory .text:00017B2C BL send @ Branch with Link .text:00017B30 MOV R1, R7 @ Rd = Op2 .text:00017B34 MOV R3, #0 @ Rd = Op2 .text:00017B38 LDR R0, [R6] @ Load from Memory .text:00017B3C MOV R2, #0x218 @ Rd = Op2 .text:00017B40 BL recv @ Branch with Link .text:00017B44 LDR R3, [SP,#0x230+packet.status] @ Load from Memory .text:00017B48 LDR R8, =current_genre @ Load from Memory .text:00017B4C CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:00017B50 ADD R1, SP, #0x230+packet.data @ Rd = Op1 + Op2 .text:00017B54 MOV R0, R8 @ Rd = Op2 .text:00017B58 MOVNE LR, #0 @ Rd = Op2 .text:00017B5C BEQ loc_17B6C @ Branch .text:00017B60 .text:00017B60 loc_17B60: @ CODE XREF: phat_genre+48j .text:00017B60 @ phat_genre+A4j .text:00017B60 MOV R0, LR @ Rd = Op2 .text:00017B64 ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:00017B68 LDMFD SP!, {R4-R8,PC} @ Load Block from Memory .text:00017B6C @ --------------------------------------------------------------------------- .text:00017B6C .text:00017B6C loc_17B6C: @ CODE XREF: phat_genre+8Cj .text:00017B6C BL strcpy @ Branch with Link .text:00017B70 MOV LR, R8 @ Rd = Op2 .text:00017B74 B loc_17B60 @ Branch .text:00017B78 @ --------------------------------------------------------------------------- .text:00017B78 .text:00017B78 loc_17B78: @ CODE XREF: phat_genre+28j .text:00017B78 BL printf @ Branch with Link .text:00017B7C LDR R1, =aPhat_genre @ Load from Memory .text:00017B80 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:00017B84 BL printf @ Branch with Link .text:00017B88 LDR R0, =aII_0 @ Load from Memory .text:00017B8C MOV R1, R4 @ Rd = Op2 .text:00017B90 MOV R2, R5 @ Rd = Op2 .text:00017B94 BL printf @ Branch with Link .text:00017B98 B loc_17AFC @ Branch .text:00017B98 @ End of function phat_genre .text:00017B98 .text:00017B98 @ --------------------------------------------------------------------------- .text:00017B9C off_17B9C: .long PHATLIB_DEBUG @ DATA XREF: phat_genre+4r .text:00017BA0 off_17BA0: .long phatsock_fd @ DATA XREF: phat_genre+1Cr .text:00017BA4 off_17BA4: .long aPhatlib @ DATA XREF: phat_genre+24r .text:00017BA4 @ "phatlib:" .text:00017BA8 off_17BA8: .long current_genre @ DATA XREF: phat_genre+78r .text:00017BAC off_17BAC: .long aPhat_genre @ DATA XREF: phat_genre+ACr .text:00017BAC @ "phat_genre" .text:00017BB0 off_17BB0: .long aDosTtsI_S+0xC @ DATA XREF: phat_genre+B0r .text:00017BB4 off_17BB4: .long aII_0 @ DATA XREF: phat_genre+B8r .text:00017BB4 @ "(%i,%i)\n" .text:00017BB8 .text:00017BB8 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00017BB8 .text:00017BB8 .text:00017BB8 phat_comment: .text:00017BB8 .text:00017BB8 packet = -0x230 .text:00017BB8 .text:00017BB8 STMFD SP!, {R4-R8,LR} @ Store Block to Memory .text:00017BBC LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:00017BC0 LDR R2, [R3] @ Load from Memory .text:00017BC4 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:00017BC8 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00017BCC MOV R4, R0 @ Rd = Op2 .text:00017BD0 MOV R7, SP @ Rd = Op2 .text:00017BD4 LDR R6, =phatsock_fd @ Load from Memory .text:00017BD8 MOV R5, R1 @ Rd = Op2 .text:00017BDC LDR R0, =aPhatlib @ Load from Memory .text:00017BE0 BNE loc_17C60 @ Branch .text:00017BE4 .text:00017BE4 loc_17BE4: @ CODE XREF: phat_comment+C8j .text:00017BE4 LDR R12, [R6] @ Load from Memory .text:00017BE8 MOV R3, #0 @ Rd = Op2 .text:00017BEC CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:00017BF0 MOV R1, R7 @ Rd = Op2 .text:00017BF4 MOV R2, #0x218 @ Rd = Op2 .text:00017BF8 MOV LR, R3 @ Rd = Op2 .text:00017BFC MOV R0, R12 @ Rd = Op2 .text:00017C00 BLT loc_17C48 @ Branch .text:00017C04 MOV R12, #0xF @ Rd = Op2 .text:00017C08 STR R12, [SP,#0x230+packet] @ Store to Memory .text:00017C0C STR R4, [SP,#0x230+packet.disc] @ Store to Memory .text:00017C10 STR R5, [SP,#0x230+packet.track] @ Store to Memory .text:00017C14 BL send @ Branch with Link .text:00017C18 MOV R1, R7 @ Rd = Op2 .text:00017C1C MOV R3, #0 @ Rd = Op2 .text:00017C20 LDR R0, [R6] @ Load from Memory .text:00017C24 MOV R2, #0x218 @ Rd = Op2 .text:00017C28 BL recv @ Branch with Link .text:00017C2C LDR R3, [SP,#0x230+packet.status] @ Load from Memory .text:00017C30 LDR R8, =current_comment @ Load from Memory .text:00017C34 CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:00017C38 ADD R1, SP, #0x230+packet.data @ Rd = Op1 + Op2 .text:00017C3C MOV R0, R8 @ Rd = Op2 .text:00017C40 MOVNE LR, #0 @ Rd = Op2 .text:00017C44 .text:00017C44 loc_17C44: @ DATA XREF: .text:off_25C10o .text:00017C44 BEQ loc_17C54 @ Branch .text:00017C48 .text:00017C48 loc_17C48: @ CODE XREF: phat_comment+48j .text:00017C48 @ phat_comment+A4j .text:00017C48 MOV R0, LR @ Rd = Op2 .text:00017C4C ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:00017C50 LDMFD SP!, {R4-R8,PC} @ Load Block from Memory .text:00017C54 @ --------------------------------------------------------------------------- .text:00017C54 .text:00017C54 loc_17C54: @ CODE XREF: phat_comment:loc_17C44j .text:00017C54 BL strcpy @ Branch with Link .text:00017C58 MOV LR, R8 @ Rd = Op2 .text:00017C5C B loc_17C48 @ Branch .text:00017C60 @ --------------------------------------------------------------------------- .text:00017C60 .text:00017C60 loc_17C60: @ CODE XREF: phat_comment+28j .text:00017C60 BL printf @ Branch with Link .text:00017C64 LDR R1, =aPhat_comment @ Load from Memory .text:00017C68 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:00017C6C BL printf @ Branch with Link .text:00017C70 LDR R0, =aII_0 @ Load from Memory .text:00017C74 MOV R1, R4 @ Rd = Op2 .text:00017C78 MOV R2, R5 @ Rd = Op2 .text:00017C7C BL printf @ Branch with Link .text:00017C80 B loc_17BE4 @ Branch .text:00017C80 @ End of function phat_comment .text:00017C80 .text:00017C80 @ --------------------------------------------------------------------------- .text:00017C84 off_17C84: .long PHATLIB_DEBUG @ DATA XREF: phat_comment+4r .text:00017C88 off_17C88: .long phatsock_fd @ DATA XREF: phat_comment+1Cr .text:00017C8C off_17C8C: .long aPhatlib @ DATA XREF: phat_comment+24r .text:00017C8C @ "phatlib:" .text:00017C90 off_17C90: .long current_comment @ DATA XREF: phat_comment+78r .text:00017C94 off_17C94: .long aPhat_comment @ DATA XREF: phat_comment+ACr .text:00017C94 @ "phat_comment" .text:00017C98 off_17C98: .long aDosTtsI_S+0xC @ DATA XREF: phat_comment+B0r .text:00017C9C off_17C9C: .long aII_0 @ DATA XREF: phat_comment+B8r .text:00017C9C @ "(%i,%i)\n" .text:00017CA0 .text:00017CA0 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00017CA0 .text:00017CA0 .text:00017CA0 phat_playlist: @ CODE XREF: run_audio_id+990p .text:00017CA0 .text:00017CA0 packet = -0x230 .text:00017CA0 .text:00017CA0 STMFD SP!, {R4-R8,LR} @ Store Block to Memory .text:00017CA4 LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:00017CA8 LDR R2, [R3] @ Load from Memory .text:00017CAC SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:00017CB0 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00017CB4 MOV R4, R0 @ Rd = Op2 .text:00017CB8 MOV R7, SP @ Rd = Op2 .text:00017CBC LDR R6, =phatsock_fd @ Load from Memory .text:00017CC0 MOV R5, R1 @ Rd = Op2 .text:00017CC4 LDR R0, =aPhatlib @ Load from Memory .text:00017CC8 BNE loc_17D48 @ Branch .text:00017CCC .text:00017CCC loc_17CCC: @ CODE XREF: phat_playlist+C8j .text:00017CCC LDR R12, [R6] @ Load from Memory .text:00017CD0 MOV R3, #0 @ Rd = Op2 .text:00017CD4 CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:00017CD8 MOV R1, R7 @ Rd = Op2 .text:00017CDC MOV R2, #0x218 @ Rd = Op2 .text:00017CE0 MOV LR, R3 @ Rd = Op2 .text:00017CE4 MOV R0, R12 @ Rd = Op2 .text:00017CE8 BLT loc_17D30 @ Branch .text:00017CEC MOV R12, #0x36 @ '6' @ Rd = Op2 .text:00017CF0 STR R12, [SP,#0x230+packet] @ Store to Memory .text:00017CF4 STR R4, [SP,#0x230+packet.disc] @ Store to Memory .text:00017CF8 STR R5, [SP,#0x230+packet.track] @ Store to Memory .text:00017CFC BL send @ Branch with Link .text:00017D00 MOV R1, R7 @ Rd = Op2 .text:00017D04 MOV R3, #0 @ Rd = Op2 .text:00017D08 LDR R0, [R6] @ Load from Memory .text:00017D0C MOV R2, #0x218 @ Rd = Op2 .text:00017D10 BL recv @ Branch with Link .text:00017D14 LDR R3, [SP,#0x230+packet.status] @ Load from Memory .text:00017D18 LDR R8, =current_playlist @ Load from Memory .text:00017D1C CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:00017D20 ADD R1, SP, #0x230+packet.data @ Rd = Op1 + Op2 .text:00017D24 MOV R0, R8 @ Rd = Op2 .text:00017D28 MOVNE LR, #0 @ Rd = Op2 .text:00017D2C BEQ loc_17D3C @ Branch .text:00017D30 .text:00017D30 loc_17D30: @ CODE XREF: phat_playlist+48j .text:00017D30 @ phat_playlist+A4j .text:00017D30 MOV R0, LR @ Rd = Op2 .text:00017D34 ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:00017D38 LDMFD SP!, {R4-R8,PC} @ Load Block from Memory .text:00017D3C @ --------------------------------------------------------------------------- .text:00017D3C .text:00017D3C loc_17D3C: @ CODE XREF: phat_playlist+8Cj .text:00017D3C BL strcpy @ Branch with Link .text:00017D40 MOV LR, R8 @ Rd = Op2 .text:00017D44 B loc_17D30 @ Branch .text:00017D48 @ --------------------------------------------------------------------------- .text:00017D48 .text:00017D48 loc_17D48: @ CODE XREF: phat_playlist+28j .text:00017D48 BL printf @ Branch with Link .text:00017D4C LDR R1, =aPhat_playlist @ Load from Memory .text:00017D50 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:00017D54 BL printf @ Branch with Link .text:00017D58 LDR R0, =aII_0 @ Load from Memory .text:00017D5C MOV R1, R4 @ Rd = Op2 .text:00017D60 MOV R2, R5 @ Rd = Op2 .text:00017D64 BL printf @ Branch with Link .text:00017D68 B loc_17CCC @ Branch .text:00017D68 @ End of function phat_playlist .text:00017D68 .text:00017D68 @ --------------------------------------------------------------------------- .text:00017D6C off_17D6C: .long PHATLIB_DEBUG @ DATA XREF: phat_playlist+4r .text:00017D70 off_17D70: .long phatsock_fd @ DATA XREF: phat_playlist+1Cr .text:00017D74 off_17D74: .long aPhatlib @ DATA XREF: phat_playlist+24r .text:00017D74 @ "phatlib:" .text:00017D78 off_17D78: .long current_playlist @ DATA XREF: phat_playlist+78r .text:00017D7C off_17D7C: .long aPhat_playlist @ DATA XREF: phat_playlist+ACr .text:00017D7C @ "phat_playlist" .text:00017D80 off_17D80: .long aDosTtsI_S+0xC @ DATA XREF: phat_playlist+B0r .text:00017D84 off_17D84: .long aII_0 @ DATA XREF: phat_playlist+B8r .text:00017D84 @ "(%i,%i)\n" .text:00017D88 .text:00017D88 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00017D88 .text:00017D88 .text:00017D88 phat_album: @ CODE XREF: run_audio_id+900p .text:00017D88 .text:00017D88 packet = -0x230 .text:00017D88 .text:00017D88 STMFD SP!, {R4-R8,LR} @ Store Block to Memory .text:00017D8C LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:00017D90 LDR R2, [R3] @ Load from Memory .text:00017D94 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:00017D98 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00017D9C MOV R4, R0 @ Rd = Op2 .text:00017DA0 MOV R7, SP @ Rd = Op2 .text:00017DA4 LDR R6, =phatsock_fd @ Load from Memory .text:00017DA8 MOV R5, R1 @ Rd = Op2 .text:00017DAC LDR R0, =aPhatlib @ Load from Memory .text:00017DB0 BNE loc_17E30 @ Branch .text:00017DB4 .text:00017DB4 loc_17DB4: @ CODE XREF: phat_album+C8j .text:00017DB4 LDR R12, [R6] @ Load from Memory .text:00017DB8 MOV R3, #0 @ Rd = Op2 .text:00017DBC CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:00017DC0 MOV R1, R7 @ Rd = Op2 .text:00017DC4 MOV R2, #0x218 @ Rd = Op2 .text:00017DC8 MOV LR, R3 @ Rd = Op2 .text:00017DCC MOV R0, R12 @ Rd = Op2 .text:00017DD0 BLT loc_17E18 @ Branch .text:00017DD4 MOV R12, #0x37 @ '7' @ Rd = Op2 .text:00017DD8 STR R12, [SP,#0x230+packet] @ Store to Memory .text:00017DDC STR R4, [SP,#0x230+packet.disc] @ Store to Memory .text:00017DE0 STR R5, [SP,#0x230+packet.track] @ Store to Memory .text:00017DE4 BL send @ Branch with Link .text:00017DE8 MOV R1, R7 @ Rd = Op2 .text:00017DEC MOV R3, #0 @ Rd = Op2 .text:00017DF0 LDR R0, [R6] @ Load from Memory .text:00017DF4 MOV R2, #0x218 @ Rd = Op2 .text:00017DF8 BL recv @ Branch with Link .text:00017DFC LDR R3, [SP,#0x230+packet.status] @ Load from Memory .text:00017E00 LDR R8, =current_album @ Load from Memory .text:00017E04 CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:00017E08 ADD R1, SP, #0x230+packet.data @ Rd = Op1 + Op2 .text:00017E0C MOV R0, R8 @ Rd = Op2 .text:00017E10 MOVNE LR, #0 @ Rd = Op2 .text:00017E14 BEQ loc_17E24 @ Branch .text:00017E18 .text:00017E18 loc_17E18: @ CODE XREF: phat_album+48j .text:00017E18 @ phat_album+A4j .text:00017E18 MOV R0, LR @ Rd = Op2 .text:00017E1C ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:00017E20 LDMFD SP!, {R4-R8,PC} @ Load Block from Memory .text:00017E24 @ --------------------------------------------------------------------------- .text:00017E24 .text:00017E24 loc_17E24: @ CODE XREF: phat_album+8Cj .text:00017E24 BL strcpy @ Branch with Link .text:00017E28 MOV LR, R8 @ Rd = Op2 .text:00017E2C B loc_17E18 @ Branch .text:00017E30 @ --------------------------------------------------------------------------- .text:00017E30 .text:00017E30 loc_17E30: @ CODE XREF: phat_album+28j .text:00017E30 BL printf @ Branch with Link .text:00017E34 LDR R1, =aPhat_album @ Load from Memory .text:00017E38 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:00017E3C BL printf @ Branch with Link .text:00017E40 LDR R0, =aII_0 @ Load from Memory .text:00017E44 MOV R1, R4 @ Rd = Op2 .text:00017E48 MOV R2, R5 @ Rd = Op2 .text:00017E4C BL printf @ Branch with Link .text:00017E50 B loc_17DB4 @ Branch .text:00017E50 @ End of function phat_album .text:00017E50 .text:00017E50 @ --------------------------------------------------------------------------- .text:00017E54 off_17E54: .long PHATLIB_DEBUG @ DATA XREF: phat_album+4r .text:00017E58 off_17E58: .long phatsock_fd @ DATA XREF: phat_album+1Cr .text:00017E5C off_17E5C: .long aPhatlib @ DATA XREF: phat_album+24r .text:00017E5C @ "phatlib:" .text:00017E60 off_17E60: .long current_album @ DATA XREF: phat_album+78r .text:00017E64 off_17E64: .long aPhat_album @ DATA XREF: phat_album+ACr .text:00017E64 @ "phat_album" .text:00017E68 off_17E68: .long aDosTtsI_S+0xC @ DATA XREF: phat_album+B0r .text:00017E6C off_17E6C: .long aII_0 @ DATA XREF: phat_album+B8r .text:00017E6C @ "(%i,%i)\n" .text:00017E70 .text:00017E70 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00017E70 .text:00017E70 .text:00017E70 phat_duration: @ CODE XREF: processpack+1618p .text:00017E70 .text:00017E70 packet = -0x22C .text:00017E70 .text:00017E70 STMFD SP!, {R4-R7,LR} @ Store Block to Memory .text:00017E74 LDR R4, =phatsock_fd @ Load from Memory .text:00017E78 LDR R12, [R4] @ Load from Memory .text:00017E7C SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:00017E80 CMP R12, #0 @ Set cond. codes on Op1 - Op2 .text:00017E84 MOV R7, SP @ Rd = Op2 .text:00017E88 MOV R3, #0 @ Rd = Op2 .text:00017E8C MOV R6, R1 @ Rd = Op2 .text:00017E90 MOV R5, R0 @ Rd = Op2 .text:00017E94 BLT loc_17EF4 @ Branch .text:00017E98 LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:00017E9C LDR R2, [R3] @ Load from Memory .text:00017EA0 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00017EA4 LDR R0, =aPhatlib @ Load from Memory .text:00017EA8 BNE loc_17F00 @ Branch .text:00017EAC .text:00017EAC loc_17EAC: @ CODE XREF: phat_duration+B4j .text:00017EAC MOV R0, R12 @ Rd = Op2 .text:00017EB0 MOV R1, R7 @ Rd = Op2 .text:00017EB4 MOV R12, #0x10 @ Rd = Op2 .text:00017EB8 MOV R2, #0x218 @ Rd = Op2 .text:00017EBC MOV R3, #0 @ Rd = Op2 .text:00017EC0 STR R12, [SP,#0x22C+packet] @ Store to Memory .text:00017EC4 STR R5, [SP,#0x22C+packet.disc] @ Store to Memory .text:00017EC8 STR R6, [SP,#0x22C+packet.track] @ Store to Memory .text:00017ECC BL send @ Branch with Link .text:00017ED0 MOV R3, #0 @ Rd = Op2 .text:00017ED4 LDR R0, [R4] @ Load from Memory .text:00017ED8 MOV R1, R7 @ Rd = Op2 .text:00017EDC MOV R2, #0x218 @ Rd = Op2 .text:00017EE0 BL recv @ Branch with Link .text:00017EE4 LDR R3, [SP,#0x22C+packet.status] @ Load from Memory .text:00017EE8 CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:00017EEC LDREQ R3, [SP,#0x22C+packet.length] @ Load from Memory .text:00017EF0 MOVNE R3, #0 @ Rd = Op2 .text:00017EF4 .text:00017EF4 loc_17EF4: @ CODE XREF: phat_duration+24j .text:00017EF4 MOV R0, R3 @ Rd = Op2 .text:00017EF8 ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:00017EFC LDMFD SP!, {R4-R7,PC} @ Load Block from Memory .text:00017F00 @ --------------------------------------------------------------------------- .text:00017F00 .text:00017F00 loc_17F00: @ CODE XREF: phat_duration+38j .text:00017F00 BL printf @ Branch with Link .text:00017F04 LDR R1, =aPhat_duration @ Load from Memory .text:00017F08 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:00017F0C BL printf @ Branch with Link .text:00017F10 LDR R0, =aII_0 @ Load from Memory .text:00017F14 MOV R1, R5 @ Rd = Op2 .text:00017F18 MOV R2, R6 @ Rd = Op2 .text:00017F1C BL printf @ Branch with Link .text:00017F20 LDR R12, [R4] @ Load from Memory .text:00017F24 B loc_17EAC @ Branch .text:00017F24 @ End of function phat_duration .text:00017F24 .text:00017F24 @ --------------------------------------------------------------------------- .text:00017F28 off_17F28: .long phatsock_fd @ DATA XREF: phat_duration+4r .text:00017F2C off_17F2C: .long PHATLIB_DEBUG @ DATA XREF: phat_duration+28r .text:00017F30 off_17F30: .long aPhatlib @ DATA XREF: phat_duration+34r .text:00017F30 @ "phatlib:" .text:00017F34 off_17F34: .long aPhat_duration @ DATA XREF: phat_duration+94r .text:00017F34 @ "phat_duration" .text:00017F38 off_17F38: .long aDosTtsI_S+0xC @ DATA XREF: phat_duration+98r .text:00017F3C off_17F3C: .long aII_0 @ DATA XREF: phat_duration+A0r .text:00017F3C @ "(%i,%i)\n" .text:00017F40 .text:00017F40 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00017F40 .text:00017F40 .text:00017F40 phat_tid: .text:00017F40 .text:00017F40 packet = -0x22C .text:00017F40 .text:00017F40 STMFD SP!, {R4-R7,LR} @ Store Block to Memory .text:00017F44 LDR R4, =phatsock_fd @ Load from Memory .text:00017F48 LDR R12, [R4] @ Load from Memory .text:00017F4C SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:00017F50 CMP R12, #0 @ Set cond. codes on Op1 - Op2 .text:00017F54 MOV R7, SP @ Rd = Op2 .text:00017F58 MOV R3, #0 @ Rd = Op2 .text:00017F5C MOV R6, R1 @ Rd = Op2 .text:00017F60 MOV R5, R0 @ Rd = Op2 .text:00017F64 BLT loc_17FC4 @ Branch .text:00017F68 LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:00017F6C LDR R2, [R3] @ Load from Memory .text:00017F70 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00017F74 LDR R0, =aPhatlib @ Load from Memory .text:00017F78 BNE loc_17FD0 @ Branch .text:00017F7C .text:00017F7C loc_17F7C: @ CODE XREF: phat_tid+B4j .text:00017F7C MOV R0, R12 @ Rd = Op2 .text:00017F80 MOV R1, R7 @ Rd = Op2 .text:00017F84 MOV R12, #0x65 @ 'e' @ Rd = Op2 .text:00017F88 MOV R2, #0x218 @ Rd = Op2 .text:00017F8C MOV R3, #0 @ Rd = Op2 .text:00017F90 STR R12, [SP,#0x22C+packet] @ Store to Memory .text:00017F94 STR R5, [SP,#0x22C+packet.disc] @ Store to Memory .text:00017F98 STR R6, [SP,#0x22C+packet.track] @ Store to Memory .text:00017F9C BL send @ Branch with Link .text:00017FA0 .text:00017FA0 loc_17FA0: @ DATA XREF: .text:off_25918o .text:00017FA0 MOV R3, #0 @ Rd = Op2 .text:00017FA4 LDR R0, [R4] @ Load from Memory .text:00017FA8 MOV R1, R7 @ Rd = Op2 .text:00017FAC MOV R2, #0x218 @ Rd = Op2 .text:00017FB0 BL recv @ Branch with Link .text:00017FB4 LDR R3, [SP,#0x22C+packet.status] @ Load from Memory .text:00017FB8 CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:00017FBC LDREQ R3, [SP,#0x22C+packet.length] @ Load from Memory .text:00017FC0 MOVNE R3, #0 @ Rd = Op2 .text:00017FC4 .text:00017FC4 loc_17FC4: @ CODE XREF: phat_tid+24j .text:00017FC4 MOV R0, R3 @ Rd = Op2 .text:00017FC8 ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:00017FCC LDMFD SP!, {R4-R7,PC} @ Load Block from Memory .text:00017FD0 @ --------------------------------------------------------------------------- .text:00017FD0 .text:00017FD0 loc_17FD0: @ CODE XREF: phat_tid+38j .text:00017FD0 BL printf @ Branch with Link .text:00017FD4 LDR R1, =aPhat_tid @ Load from Memory .text:00017FD8 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:00017FDC BL printf @ Branch with Link .text:00017FE0 LDR R0, =aII_0 @ Load from Memory .text:00017FE4 MOV R1, R5 @ Rd = Op2 .text:00017FE8 MOV R2, R6 @ Rd = Op2 .text:00017FEC BL printf @ Branch with Link .text:00017FF0 LDR R12, [R4] @ Load from Memory .text:00017FF4 B loc_17F7C @ Branch .text:00017FF4 @ End of function phat_tid .text:00017FF4 .text:00017FF4 @ --------------------------------------------------------------------------- .text:00017FF8 off_17FF8: .long phatsock_fd @ DATA XREF: phat_tid+4r .text:00017FFC off_17FFC: .long PHATLIB_DEBUG @ DATA XREF: phat_tid+28r .text:00018000 off_18000: .long aPhatlib @ DATA XREF: phat_tid+34r .text:00018000 @ "phatlib:" .text:00018004 off_18004: .long aPhat_tid @ DATA XREF: phat_tid+94r .text:00018004 @ "phat_tid" .text:00018008 off_18008: .long aDosTtsI_S+0xC @ DATA XREF: phat_tid+98r .text:0001800C off_1800C: .long aII_0 @ DATA XREF: phat_tid+A0r .text:0001800C @ "(%i,%i)\n" .text:00018010 .text:00018010 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00018010 .text:00018010 .text:00018010 phat_nexttrack: @ CODE XREF: processpack+22B0p .text:00018010 @ processpack+22D4p ... .text:00018010 .text:00018010 packet = -0x230 .text:00018010 .text:00018010 STMFD SP!, {R4-R8,LR} @ Store Block to Memory .text:00018014 LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:00018018 LDR R2, [R3] @ Load from Memory .text:0001801C CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00018020 .text:00018020 loc_18020: @ DATA XREF: .text:off_25830o .text:00018020 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:00018024 MOV R7, R0 @ Rd = Op2 .text:00018028 MOV R8, R1 @ Rd = Op2 .text:0001802C BNE loc_180EC @ Branch .text:00018030 .text:00018030 loc_18030: @ CODE XREF: phat_nexttrack+100j .text:00018030 LDR R6, =phatsock_fd @ Load from Memory .text:00018034 LDR R0, [R6] @ Load from Memory .text:00018038 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0001803C MOVLLT R0, 0xFFFFFFFF .text:00018040 BLT loc_1809C @ Branch .text:00018044 LDR LR, [R7] @ Load from Memory .text:00018048 LDR R5, [R8] @ Load from Memory .text:0001804C MOV R12, #0x30 @ '0' @ Rd = Op2 .text:00018050 MOV R1, SP @ Rd = Op2 .text:00018054 MOV R2, #0x218 @ Rd = Op2 .text:00018058 MOV R3, #0 @ Rd = Op2 .text:0001805C STR R12, [SP,#0x230+packet] @ Store to Memory .text:00018060 STR LR, [SP,#0x230+packet.disc] @ Store to Memory .text:00018064 STR R5, [SP,#0x230+packet.track] @ Store to Memory .text:00018068 BL send @ Branch with Link .text:0001806C LDR R0, [R6] @ Load from Memory .text:00018070 MOV R1, SP @ Rd = Op2 .text:00018074 MOV R2, #0x218 @ Rd = Op2 .text:00018078 MOV R3, #0 @ Rd = Op2 .text:0001807C BL recv @ Branch with Link .text:00018080 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00018084 MOV R4, SP @ Rd = Op2 .text:00018088 BLE loc_180D4 @ Branch .text:0001808C LDR R3, [SP,#0x230+packet] @ Load from Memory .text:00018090 CMP R3, #0x30 @ '0' @ Set cond. codes on Op1 - Op2 .text:00018094 BEQ loc_180A4 @ Branch .text:00018098 .text:00018098 loc_18098: @ CODE XREF: phat_nexttrack+A8j .text:00018098 MOV R0, #0 @ Rd = Op2 .text:0001809C .text:0001809C loc_1809C: @ CODE XREF: phat_nexttrack+30j .text:0001809C @ phat_nexttrack+C0j ... .text:0001809C ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:000180A0 LDMFD SP!, {R4-R8,PC} @ Load Block from Memory .text:000180A4 @ --------------------------------------------------------------------------- .text:000180A4 .text:000180A4 loc_180A4: @ CODE XREF: phat_nexttrack+84j .text:000180A4 LDR R3, [SP,#0x230+packet.status] @ Load from Memory .text:000180A8 CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:000180AC MOVNE R3, #0 @ Rd = Op2 .text:000180B0 STRNE R3, [R7] @ Store to Memory .text:000180B4 STRNE R3, [R8] @ Store to Memory .text:000180B8 BNE loc_18098 @ Branch .text:000180BC LDR R2, [SP,#0x230+packet.track] @ Load from Memory .text:000180C0 LDR R3, [SP,#0x230+packet.disc] @ Load from Memory .text:000180C4 MOV R0, #1 @ Rd = Op2 .text:000180C8 STR R3, [R7] @ Store to Memory .text:000180CC STR R2, [R8] @ Store to Memory .text:000180D0 B loc_1809C @ Branch .text:000180D4 @ --------------------------------------------------------------------------- .text:000180D4 .text:000180D4 loc_180D4: @ CODE XREF: phat_nexttrack+78j .text:000180D4 LDR R0, [R6] @ fd .text:000180D8 BL close @ Branch with Link .text:000180DC MOVL R3, 0xFFFFFFFF .text:000180E0 MOV R0, #0 @ Rd = Op2 .text:000180E4 STR R3, [R6] @ Store to Memory .text:000180E8 B loc_1809C @ Branch .text:000180EC @ --------------------------------------------------------------------------- .text:000180EC .text:000180EC loc_180EC: @ CODE XREF: phat_nexttrack+1Cj .text:000180EC LDR R0, =aPhatlib @ Load from Memory .text:000180F0 BL printf @ Branch with Link .text:000180F4 LDR R1, =aPhat_nexttrack @ Load from Memory .text:000180F8 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:000180FC BL printf @ Branch with Link .text:00018100 LDR R1, [R7] @ Load from Memory .text:00018104 LDR R2, [R8] @ Load from Memory .text:00018108 LDR R0, =aII_0 @ Load from Memory .text:0001810C BL printf @ Branch with Link .text:00018110 B loc_18030 @ Branch .text:00018110 @ End of function phat_nexttrack .text:00018110 .text:00018110 @ --------------------------------------------------------------------------- .text:00018114 off_18114: .long PHATLIB_DEBUG @ DATA XREF: phat_nexttrack+4r .text:00018118 off_18118: .long phatsock_fd @ DATA XREF: phat_nexttrack:loc_18030r .text:0001811C off_1811C: .long aPhatlib @ DATA XREF: phat_nexttrack:loc_180ECr .text:0001811C @ "phatlib:" .text:00018120 off_18120: .long aPhat_nexttrack @ DATA XREF: phat_nexttrack+E4r .text:00018120 @ "phat_nexttrack" .text:00018124 off_18124: .long aDosTtsI_S+0xC @ DATA XREF: phat_nexttrack+E8r .text:00018128 off_18128: .long aII_0 @ DATA XREF: phat_nexttrack+F8r .text:00018128 @ "(%i,%i)\n" .text:0001812C .text:0001812C @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001812C .text:0001812C .text:0001812C phat_status: @ CODE XREF: processpack+19ECp .text:0001812C @ processpack+1C8Cp ... .text:0001812C .text:0001812C packet = -0x234 .text:0001812C .text:0001812C STMFD SP!, {R4-R8,R10,LR} @ Store Block to Memory .text:00018130 LDR R4, =PHATLIB_DEBUG @ Load from Memory .text:00018134 LDR R12, [R4] @ Load from Memory .text:00018138 CMP R12, #0 @ Set cond. codes on Op1 - Op2 .text:0001813C SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:00018140 MOV R7, R0 @ Rd = Op2 .text:00018144 MOV R6, R1 @ Rd = Op2 .text:00018148 MOV R8, R2 @ Rd = Op2 .text:0001814C MOV R10, R3 @ Rd = Op2 .text:00018150 BNE loc_182A8 @ Branch .text:00018154 .text:00018154 loc_18154: @ CODE XREF: phat_status+198j .text:00018154 LDR R3, =phatsock_fd @ Load from Memory .text:00018158 LDR R2, [R3] @ Load from Memory .text:0001815C CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00018160 BLT loc_181D0 @ Branch .text:00018164 MOV R3, #8 @ Rd = Op2 .text:00018168 MOV R2, #0 @ Rd = Op2 .text:0001816C CMP R6, #0 @ Set cond. codes on Op1 - Op2 .text:00018170 STR R3, [SP,#0x234+packet] @ Store to Memory .text:00018174 STR R2, [SP,#0x234+packet.track] @ Store to Memory .text:00018178 BEQ loc_1818C @ Branch .text:0001817C LDR R3, [R6] @ Load from Memory .text:00018180 CMN R3, #0x63 @ 'c' @ Set cond. codes on Op1 + Op2 .text:00018184 MOVLLT R3, 0xFFFFFF9C .text:00018188 STRLT R3, [SP,#0x234+packet.track] @ Store to Memory .text:0001818C .text:0001818C loc_1818C: @ CODE XREF: phat_status+4Cj .text:0001818C LDR R5, =phatsock_fd @ Load from Memory .text:00018190 MOV R1, SP @ Rd = Op2 .text:00018194 MOV R2, #0x218 @ Rd = Op2 .text:00018198 MOV R3, #0 @ Rd = Op2 .text:0001819C LDR R0, [R5] @ Load from Memory .text:000181A0 BL send @ Branch with Link .text:000181A4 LDR R0, [R5] @ Load from Memory .text:000181A8 MOV R1, SP @ Rd = Op2 .text:000181AC MOV R2, #0x218 @ Rd = Op2 .text:000181B0 MOV R3, #0 @ Rd = Op2 .text:000181B4 BL recv @ Branch with Link .text:000181B8 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000181BC MOV R4, SP @ Rd = Op2 .text:000181C0 BLE loc_18290 @ Branch .text:000181C4 .text:000181C4 loc_181C4: @ DATA XREF: .text:off_25798o .text:000181C4 LDR R3, [SP,#0x234+packet] @ Load from Memory .text:000181C8 CMP R3, #8 @ Set cond. codes on Op1 - Op2 .text:000181CC BEQ loc_181DC @ Branch .text:000181D0 .text:000181D0 loc_181D0: @ CODE XREF: phat_status+34j .text:000181D0 MVN R0, #0 @ Rd = ~Op2 .text:000181D4 .text:000181D4 loc_181D4: @ CODE XREF: phat_status+E4j .text:000181D4 @ phat_status+120j ... .text:000181D4 ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:000181D8 LDMFD SP!, {R4-R8,R10,PC} @ Load Block from Memory .text:000181DC @ --------------------------------------------------------------------------- .text:000181DC .text:000181DC loc_181DC: @ CODE XREF: phat_status+A0j .text:000181DC LDR R3, [SP,#0x234+packet.status] @ Load from Memory .text:000181E0 CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:000181E4 BEQ loc_18214 @ Branch .text:000181E8 CMP R7, #0 @ Set cond. codes on Op1 - Op2 .text:000181EC MOVNE R3, #0 @ Rd = Op2 .text:000181F0 STRNE R3, [R7] @ Store to Memory .text:000181F4 CMP R6, #0 @ Set cond. codes on Op1 - Op2 .text:000181F8 MOVNE R3, #0 @ Rd = Op2 .text:000181FC STRNE R3, [R6] @ Store to Memory .text:00018200 CMP R8, #0 @ Set cond. codes on Op1 - Op2 .text:00018204 MOVNE R3, #0 @ Rd = Op2 .text:00018208 STRNE R3, [R8] @ Store to Memory .text:0001820C MOV R0, #0 @ Rd = Op2 .text:00018210 B loc_181D4 @ Branch .text:00018214 @ --------------------------------------------------------------------------- .text:00018214 .text:00018214 loc_18214: @ CODE XREF: phat_status+B8j .text:00018214 LDR R3, [SP,#0x234+packet.disc] @ Load from Memory .text:00018218 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0001821C BLE loc_18250 @ Branch .text:00018220 CMP R7, #0 @ Set cond. codes on Op1 - Op2 .text:00018224 STRNE R3, [R7] @ Store to Memory .text:00018228 CMP R6, #0 @ Set cond. codes on Op1 - Op2 .text:0001822C LDRNE R3, [SP,#0x234+packet.track] @ Load from Memory .text:00018230 STRNE R3, [R6] @ Store to Memory .text:00018234 CMP R8, #0 @ Set cond. codes on Op1 - Op2 .text:00018238 LDRNE R3, [SP,#0x234+packet.length] @ Load from Memory .text:0001823C STRNE R3, [R8] @ Store to Memory .text:00018240 .text:00018240 loc_18240: @ CODE XREF: phat_status+14Cj .text:00018240 @ phat_status+160j .text:00018240 LDR R3, [SP,#0x234+packet.arg2] @ Load from Memory .text:00018244 SUBS R0, R3, #2 @ Rd = Op1 - Op2 .text:00018248 MOVNE R0, #1 @ Rd = Op2 .text:0001824C B loc_181D4 @ Branch .text:00018250 @ --------------------------------------------------------------------------- .text:00018250 .text:00018250 loc_18250: @ CODE XREF: phat_status+F0j .text:00018250 CMP R7, #0 @ Set cond. codes on Op1 - Op2 .text:00018254 MOVLNE R3, 0xFFFFFFFF .text:00018258 STRNE R3, [R7] @ Store to Memory .text:0001825C CMP R6, #0 @ Set cond. codes on Op1 - Op2 .text:00018260 MOVLNE R3, 0xFFFFFFFF .text:00018264 STRNE R3, [R6] @ Store to Memory .text:00018268 CMP R8, #0 @ Set cond. codes on Op1 - Op2 .text:0001826C LDRNE R3, [SP,#0x234+packet.length] @ Load from Memory .text:00018270 STRNE R3, [R8] @ Store to Memory .text:00018274 CMP R10, #0 @ Set cond. codes on Op1 - Op2 .text:00018278 BEQ loc_18240 @ Branch .text:0001827C MOV R0, R10 @ Rd = Op2 .text:00018280 ADD R1, SP, #0x234+packet.data @ Rd = Op1 + Op2 .text:00018284 MOV R2, #0x200 @ Rd = Op2 .text:00018288 BL strncat @ Branch with Link .text:0001828C B loc_18240 @ Branch .text:00018290 @ --------------------------------------------------------------------------- .text:00018290 .text:00018290 loc_18290: @ CODE XREF: phat_status+94j .text:00018290 LDR R0, [R5] @ fd .text:00018294 BL close @ Branch with Link .text:00018298 MOVL R3, 0xFFFFFFFF .text:0001829C MOV R0, R3 @ Rd = Op2 .text:000182A0 STR R3, [R5] @ Store to Memory .text:000182A4 B loc_181D4 @ Branch .text:000182A8 @ --------------------------------------------------------------------------- .text:000182A8 .text:000182A8 loc_182A8: @ CODE XREF: phat_status+24j .text:000182A8 LDR R0, =aPhatlib @ Load from Memory .text:000182AC BL printf @ Branch with Link .text:000182B0 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:000182B4 LDR R1, =aPhat_status @ Load from Memory .text:000182B8 BL printf @ Branch with Link .text:000182BC LDR R0, =aXXXX @ Load from Memory .text:000182C0 BL xdebug_out @ Branch with Link .text:000182C4 B loc_18154 @ Branch .text:000182C4 @ End of function phat_status .text:000182C4 .text:000182C4 @ --------------------------------------------------------------------------- .text:000182C8 off_182C8: .long PHATLIB_DEBUG @ DATA XREF: phat_status+4r .text:000182CC off_182CC: .long phatsock_fd @ DATA XREF: phat_status:loc_18154r .text:000182CC @ phat_status:loc_1818Cr .text:000182D0 off_182D0: .long aPhatlib @ DATA XREF: phat_status:loc_182A8r .text:000182D0 @ "phatlib:" .text:000182D4 off_182D4: .long aDosTtsI_S+0xC @ DATA XREF: phat_status+184r .text:000182D8 off_182D8: .long aPhat_status @ DATA XREF: phat_status+188r .text:000182D8 @ "phat_status" .text:000182DC off_182DC: .long aXXXX @ DATA XREF: phat_status+190r .text:000182DC @ "(x,x,x,x)" .text:000182E0 .text:000182E0 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:000182E0 .text:000182E0 .text:000182E0 phat_recv_status: @ CODE XREF: main+79Cp .text:000182E0 @ execute_audio_id_command+25Cp .text:000182E0 .text:000182E0 packet = -0x230 .text:000182E0 .text:000182E0 STMFD SP!, {R4-R8,LR} @ Store Block to Memory .text:000182E4 LDR R4, =PHATLIB_DEBUG @ Load from Memory .text:000182E8 LDR R12, [R4] @ Load from Memory .text:000182EC CMP R12, #0 @ Set cond. codes on Op1 - Op2 .text:000182F0 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:000182F4 MOV R5, R0 @ Rd = Op2 .text:000182F8 MOV R6, R1 @ Rd = Op2 .text:000182FC MOV R7, R2 @ Rd = Op2 .text:00018300 MOV R8, R3 @ Rd = Op2 .text:00018304 BNE loc_183E8 @ Branch .text:00018308 .text:00018308 loc_18308: @ CODE XREF: phat_recv_status+124j .text:00018308 LDR R4, =phatsock_fd2 @ Load from Memory .text:0001830C LDR R0, [R4] @ Load from Memory .text:00018310 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:00018314 BLT loc_1833C @ Branch .text:00018318 MOV R1, SP @ Rd = Op2 .text:0001831C MOV R2, #0x218 @ Rd = Op2 .text:00018320 MOV R3, #0 @ Rd = Op2 .text:00018324 BL recv @ Branch with Link .text:00018328 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0001832C BLE loc_183D0 @ Branch .text:00018330 LDR R3, [SP,#0x230+packet] @ Load from Memory .text:00018334 CMP R3, #8 @ Set cond. codes on Op1 - Op2 .text:00018338 BEQ loc_18348 @ Branch .text:0001833C .text:0001833C loc_1833C: @ CODE XREF: phat_recv_status+34j .text:0001833C @ phat_recv_status+70j .text:0001833C MVN R0, #0 @ Rd = ~Op2 .text:00018340 .text:00018340 loc_18340: @ CODE XREF: phat_recv_status+ACj .text:00018340 @ phat_recv_status+104j .text:00018340 ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:00018344 LDMFD SP!, {R4-R8,PC} @ Load Block from Memory .text:00018348 @ --------------------------------------------------------------------------- .text:00018348 .text:00018348 loc_18348: @ CODE XREF: phat_recv_status+58j .text:00018348 LDR R3, [SP,#0x230+packet.status] @ Load from Memory .text:0001834C CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:00018350 BNE loc_1833C @ Branch .text:00018354 LDR R3, [SP,#0x230+packet.disc] @ Load from Memory .text:00018358 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0001835C BLE loc_18390 @ Branch .text:00018360 CMP R5, #0 @ Set cond. codes on Op1 - Op2 .text:00018364 STRNE R3, [R5] @ Store to Memory .text:00018368 CMP R6, #0 @ Set cond. codes on Op1 - Op2 .text:0001836C LDRNE R3, [SP,#0x230+packet.track] @ Load from Memory .text:00018370 STRNE R3, [R6] @ Store to Memory .text:00018374 CMP R7, #0 @ Set cond. codes on Op1 - Op2 .text:00018378 LDRNE R3, [SP,#0x230+packet.length] @ Load from Memory .text:0001837C STRNE R3, [R7] @ Store to Memory .text:00018380 .text:00018380 loc_18380: @ CODE XREF: phat_recv_status+D8j .text:00018380 @ phat_recv_status+ECj .text:00018380 LDR R3, [SP,#0x230+packet.arg2] @ Load from Memory .text:00018384 SUBS R0, R3, #2 @ Rd = Op1 - Op2 .text:00018388 MOVNE R0, #1 @ Rd = Op2 .text:0001838C B loc_18340 @ Branch .text:00018390 @ --------------------------------------------------------------------------- .text:00018390 .text:00018390 loc_18390: @ CODE XREF: phat_recv_status+7Cj .text:00018390 CMP R5, #0 @ Set cond. codes on Op1 - Op2 .text:00018394 MOVLNE R3, 0xFFFFFFFF .text:00018398 STRNE R3, [R5] @ Store to Memory .text:0001839C CMP R6, #0 @ Set cond. codes on Op1 - Op2 .text:000183A0 MVNNE R3, #0 @ Rd = ~Op2 .text:000183A4 .text:000183A4 loc_183A4: @ DATA XREF: .text:off_255FCo .text:000183A4 STRNE R3, [R6] @ Store to Memory .text:000183A8 CMP R7, #0 @ Set cond. codes on Op1 - Op2 .text:000183AC LDRNE R3, [SP,#0x230+packet.length] @ Load from Memory .text:000183B0 STRNE R3, [R7] @ Store to Memory .text:000183B4 CMP R8, #0 @ Set cond. codes on Op1 - Op2 .text:000183B8 BEQ loc_18380 @ Branch .text:000183BC MOV R0, R8 @ Rd = Op2 .text:000183C0 ADD R1, SP, #0x230+packet.data @ Rd = Op1 + Op2 .text:000183C4 MOV R2, #0x200 @ Rd = Op2 .text:000183C8 BL strncat @ Branch with Link .text:000183CC B loc_18380 @ Branch .text:000183D0 @ --------------------------------------------------------------------------- .text:000183D0 .text:000183D0 loc_183D0: @ CODE XREF: phat_recv_status+4Cj .text:000183D0 LDR R0, [R4] @ fd .text:000183D4 BL close @ Branch with Link .text:000183D8 MOVL R3, 0xFFFFFFFF .text:000183DC MOV R0, R3 @ Rd = Op2 .text:000183E0 .text:000183E0 loc_183E0: @ DATA XREF: .text:off_25420o .text:000183E0 STR R3, [R4] @ Store to Memory .text:000183E4 B loc_18340 @ Branch .text:000183E8 @ --------------------------------------------------------------------------- .text:000183E8 .text:000183E8 loc_183E8: @ CODE XREF: phat_recv_status+24j .text:000183E8 LDR R0, =aPhatlib @ Load from Memory .text:000183EC BL printf @ Branch with Link .text:000183F0 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:000183F4 LDR R1, =aPhat_recv_stat @ Load from Memory .text:000183F8 BL printf @ Branch with Link .text:000183FC LDR R0, =aXXXX @ Load from Memory .text:00018400 BL xdebug_out @ Branch with Link .text:00018404 B loc_18308 @ Branch .text:00018404 @ End of function phat_recv_status .text:00018404 .text:00018404 @ --------------------------------------------------------------------------- .text:00018408 off_18408: .long PHATLIB_DEBUG @ DATA XREF: phat_recv_status+4r .text:0001840C off_1840C: .long phatsock_fd2 @ DATA XREF: phat_recv_status:loc_18308r .text:00018410 off_18410: .long aPhatlib @ DATA XREF: phat_recv_status:loc_183E8r .text:00018410 @ "phatlib:" .text:00018414 off_18414: .long aDosTtsI_S+0xC @ DATA XREF: phat_recv_status+110r .text:00018418 off_18418: .long aPhat_recv_stat @ DATA XREF: phat_recv_status+114r .text:00018418 @ "phat_recv_status" .text:0001841C off_1841C: .long aXXXX @ DATA XREF: phat_recv_status+11Cr .text:0001841C @ "(x,x,x,x)" .text:00018420 .text:00018420 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00018420 .text:00018420 .text:00018420 phat_playfile: @ CODE XREF: main+1240p .text:00018420 @ processpack+11F0p ... .text:00018420 .text:00018420 packet = -0x22C .text:00018420 .text:00018420 STMFD SP!, {R4-R7,LR} @ Store Block to Memory .text:00018424 LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:00018428 LDR R2, [R3] @ Load from Memory .text:0001842C SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:00018430 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00018434 MOV R4, R0 @ Rd = Op2 .text:00018438 MOV R7, SP @ Rd = Op2 .text:0001843C LDR R5, =phatsock_fd @ Load from Memory .text:00018440 .text:00018440 loc_18440: @ DATA XREF: .text:off_253B0o .text:00018440 MOV R6, R1 @ Rd = Op2 .text:00018444 LDR R0, =aPhatlib @ Load from Memory .text:00018448 BNE loc_184BC @ Branch .text:0001844C .text:0001844C loc_1844C: @ CODE XREF: phat_playfile+BCj .text:0001844C LDR R3, [R5] @ Load from Memory .text:00018450 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00018454 MOV R1, R4 @ Rd = Op2 .text:00018458 MOV R2, #0x200 @ Rd = Op2 .text:0001845C MOVL R12, 0xFFFFFFFF .text:00018460 ADD R0, SP, #0x22C+packet.data @ Rd = Op1 + Op2 .text:00018464 BLT loc_184B0 @ Branch .text:00018468 MOV R3, #0xB @ Rd = Op2 .text:0001846C STR R3, [SP,#0x22C+packet] @ Store to Memory .text:00018470 STR R6, [SP,#0x22C+packet.length] @ Store to Memory .text:00018474 BL strncat @ Branch with Link .text:00018478 MOV R1, R7 @ Rd = Op2 .text:0001847C MOV R2, #0x218 @ Rd = Op2 .text:00018480 MOV R3, #0 @ Rd = Op2 .text:00018484 LDR R0, [R5] @ Load from Memory .text:00018488 BL send @ Branch with Link .text:0001848C MOV R3, #0 @ Rd = Op2 .text:00018490 LDR R0, [R5] @ Load from Memory .text:00018494 MOV R1, R7 @ Rd = Op2 .text:00018498 MOV R2, #0x218 @ Rd = Op2 .text:0001849C BL recv @ Branch with Link .text:000184A0 LDR R3, [SP,#0x22C+packet.status] @ Load from Memory .text:000184A4 CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:000184A8 MOVNE R12, #0 @ Rd = Op2 .text:000184AC MOVEQ R12, #1 @ Rd = Op2 .text:000184B0 .text:000184B0 loc_184B0: @ CODE XREF: phat_playfile+44j .text:000184B0 MOV R0, R12 @ Rd = Op2 .text:000184B4 ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:000184B8 LDMFD SP!, {R4-R7,PC} @ Load Block from Memory .text:000184BC @ --------------------------------------------------------------------------- .text:000184BC .text:000184BC loc_184BC: @ CODE XREF: phat_playfile+28j .text:000184BC BL printf @ Branch with Link .text:000184C0 LDR R1, =aPhat_playfile @ Load from Memory .text:000184C4 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:000184C8 BL printf @ Branch with Link .text:000184CC LDR R0, =aSI @ Load from Memory .text:000184D0 MOV R1, R4 @ Rd = Op2 .text:000184D4 MOV R2, R6 @ Rd = Op2 .text:000184D8 BL printf @ Branch with Link .text:000184DC B loc_1844C @ Branch .text:000184DC @ End of function phat_playfile .text:000184DC .text:000184DC @ --------------------------------------------------------------------------- .text:000184E0 off_184E0: .long PHATLIB_DEBUG @ DATA XREF: phat_playfile+4r .text:000184E4 off_184E4: .long phatsock_fd @ DATA XREF: phat_playfile+1Cr .text:000184E8 off_184E8: .long aPhatlib @ DATA XREF: phat_playfile+24r .text:000184E8 @ "phatlib:" .text:000184EC off_184EC: .long aPhat_playfile @ DATA XREF: phat_playfile+A0r .text:000184EC @ "phat_playfile" .text:000184F0 off_184F0: .long aDosTtsI_S+0xC @ DATA XREF: phat_playfile+A4r .text:000184F4 off_184F4: .long aSI @ DATA XREF: phat_playfile+ACr .text:000184F4 @ "(%s,%i)\n" .text:000184F8 .text:000184F8 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:000184F8 .text:000184F8 .text:000184F8 phat_play: @ CODE XREF: processpack+1914p .text:000184F8 @ processpack+22E4p ... .text:000184F8 .text:000184F8 packet = -0x230 .text:000184F8 .text:000184F8 STMFD SP!, {R4-R8,LR} @ Store Block to Memory .text:000184FC LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:00018500 LDR R12, [R3] @ Load from Memory .text:00018504 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:00018508 CMP R12, #0 @ Set cond. codes on Op1 - Op2 .text:0001850C MOV R4, R0 @ Rd = Op2 .text:00018510 MOV R8, SP @ Rd = Op2 .text:00018514 LDR R7, =phatsock_fd @ Load from Memory .text:00018518 MOV R6, R2 @ Rd = Op2 .text:0001851C MOV R5, R1 @ Rd = Op2 .text:00018520 LDR R0, =aPhatlib @ Load from Memory .text:00018524 BNE loc_185A4 @ Branch .text:00018528 .text:00018528 loc_18528: @ CODE XREF: phat_play+D0j .text:00018528 LDR R12, [R7] @ Load from Memory .text:0001852C .text:0001852C loc_1852C: @ DATA XREF: .text:off_25378o .text:0001852C MOV R3, #0 @ Rd = Op2 .text:00018530 CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:00018534 MOV R1, R8 @ Rd = Op2 .text:00018538 MOV R2, #0x218 @ Rd = Op2 .text:0001853C MOVL LR, 0xFFFFFFFF .text:00018540 MOV R0, R12 @ Rd = Op2 .text:00018544 BLT loc_18584 @ Branch .text:00018548 MOV R12, #9 @ Rd = Op2 .text:0001854C STR R12, [SP,#0x230+packet] @ Store 0x9 to Memory .text:00018550 STR R4, [SP,#0x230+packet.disc] @ Store to Memory .text:00018554 STR R5, [SP,#0x230+packet.track] @ Store to Memory .text:00018558 STR R6, [SP,#0x230+packet.length] @ Store to Memory .text:0001855C BL send @ Branch with Link .text:00018560 MOV R3, #0 @ Rd = Op2 .text:00018564 LDR R0, [R7] @ Load from Memory .text:00018568 MOV R1, R8 @ Rd = Op2 .text:0001856C MOV R2, #0x218 @ Rd = Op2 .text:00018570 BL recv @ Branch with Link .text:00018574 LDR R3, [SP,#0x230+packet.status] @ Load from Memory .text:00018578 CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:0001857C MOVNE LR, #0 @ Rd = Op2 .text:00018580 BEQ loc_18590 @ Branch .text:00018584 .text:00018584 loc_18584: @ CODE XREF: phat_play+4Cj .text:00018584 @ phat_play+A8j .text:00018584 MOV R0, LR @ Rd = Op2 .text:00018588 ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:0001858C LDMFD SP!, {R4-R8,PC} @ Load Block from Memory .text:00018590 @ --------------------------------------------------------------------------- .text:00018590 .text:00018590 loc_18590: @ CODE XREF: phat_play+88j .text:00018590 LDR R3, [SP,#0x230+packet.track] @ Load from Memory .text:00018594 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00018598 MOVGE LR, #1 @ Rd = Op2 .text:0001859C MOVLT LR, #2 @ Rd = Op2 .text:000185A0 B loc_18584 @ Branch .text:000185A4 @ --------------------------------------------------------------------------- .text:000185A4 .text:000185A4 loc_185A4: @ CODE XREF: phat_play+2Cj .text:000185A4 BL printf @ Branch with Link .text:000185A8 LDR R1, =aPhat_play @ Load from Memory .text:000185AC LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:000185B0 BL printf @ Branch with Link .text:000185B4 LDR R0, =aIII @ Load from Memory .text:000185B8 MOV R1, R4 @ Rd = Op2 .text:000185BC MOV R2, R5 @ Rd = Op2 .text:000185C0 MOV R3, R6 @ Rd = Op2 .text:000185C4 BL printf @ Branch with Link .text:000185C8 B loc_18528 @ Branch .text:000185C8 @ End of function phat_play .text:000185C8 .text:000185C8 @ --------------------------------------------------------------------------- .text:000185CC off_185CC: .long PHATLIB_DEBUG @ DATA XREF: phat_play+4r .text:000185D0 off_185D0: .long phatsock_fd @ DATA XREF: phat_play+1Cr .text:000185D4 off_185D4: .long aPhatlib @ DATA XREF: phat_play+28r .text:000185D4 @ "phatlib:" .text:000185D8 off_185D8: .long aPhat_play @ DATA XREF: phat_play+B0r .text:000185D8 @ "phat_play" .text:000185DC off_185DC: .long aDosTtsI_S+0xC @ DATA XREF: phat_play+B4r .text:000185E0 off_185E0: .long aIII @ DATA XREF: phat_play+BCr .text:000185E0 @ "(%i,%i,%i)\n" .text:000185E4 .text:000185E4 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:000185E4 .text:000185E4 .text:000185E4 phat_setcur: @ CODE XREF: processpack+2154p .text:000185E4 @ processpack+2210p .text:000185E4 .text:000185E4 packet = -0x22C .text:000185E4 .text:000185E4 STMFD SP!, {R4-R7,LR} @ Store Block to Memory .text:000185E8 LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:000185EC LDR R2, [R3] @ Load from Memory .text:000185F0 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:000185F4 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:000185F8 MOV R4, R0 @ Rd = Op2 .text:000185FC MOV R7, SP @ Rd = Op2 .text:00018600 LDR R6, =phatsock_fd @ Load from Memory .text:00018604 MOV R5, R1 @ Rd = Op2 .text:00018608 LDR R0, =aPhatlib @ Load from Memory .text:0001860C BNE loc_18674 @ Branch .text:00018610 .text:00018610 loc_18610: @ CODE XREF: phat_setcur+B0j .text:00018610 LDR R12, [R6] @ Load from Memory .text:00018614 MOV R3, #0 @ Rd = Op2 .text:00018618 CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:0001861C MOV R1, R7 @ Rd = Op2 .text:00018620 MOV R2, #0x218 @ Rd = Op2 .text:00018624 MOVL LR, 0xFFFFFFFF .text:00018628 MOV R0, R12 @ Rd = Op2 .text:0001862C BLT loc_18668 @ Branch .text:00018630 MOV R12, #0x32 @ '2' @ Rd = Op2 .text:00018634 STR R12, [SP,#0x22C+packet] @ Store to Memory .text:00018638 STR R4, [SP,#0x22C+packet.disc] @ Store to Memory .text:0001863C STR R5, [SP,#0x22C+packet.track] @ Store to Memory .text:00018640 BL send @ Branch with Link .text:00018644 MOV R3, #0 @ Rd = Op2 .text:00018648 LDR R0, [R6] @ Load from Memory .text:0001864C MOV R1, R7 @ Rd = Op2 .text:00018650 MOV R2, #0x218 @ Rd = Op2 .text:00018654 BL recv @ Branch with Link .text:00018658 LDR R3, [SP,#0x22C+packet.status] @ Load from Memory .text:0001865C CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:00018660 MOVNE LR, #0 @ Rd = Op2 .text:00018664 MOVEQ LR, #1 @ Rd = Op2 .text:00018668 .text:00018668 loc_18668: @ CODE XREF: phat_setcur+48j .text:00018668 MOV R0, LR @ Rd = Op2 .text:0001866C ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:00018670 LDMFD SP!, {R4-R7,PC} @ Load Block from Memory .text:00018674 @ --------------------------------------------------------------------------- .text:00018674 .text:00018674 loc_18674: @ CODE XREF: phat_setcur+28j .text:00018674 BL printf @ Branch with Link .text:00018678 LDR R1, =aPhat_setcur @ Load from Memory .text:0001867C LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:00018680 BL printf @ Branch with Link .text:00018684 LDR R0, =aII_0 @ Load from Memory .text:00018688 MOV R1, R4 @ Rd = Op2 .text:0001868C MOV R2, R5 @ Rd = Op2 .text:00018690 BL printf @ Branch with Link .text:00018694 B loc_18610 @ Branch .text:00018694 @ End of function phat_setcur .text:00018694 .text:00018694 @ --------------------------------------------------------------------------- .text:00018698 off_18698: .long PHATLIB_DEBUG @ DATA XREF: phat_setcur+4r .text:0001869C off_1869C: .long phatsock_fd @ DATA XREF: phat_setcur+1Cr .text:000186A0 off_186A0: .long aPhatlib @ DATA XREF: phat_setcur+24r .text:000186A0 @ .data:off_35F44o .text:000186A0 @ "phatlib:" .text:000186A4 off_186A4: .long aPhat_setcur @ DATA XREF: phat_setcur+94r .text:000186A4 @ "phat_setcur" .text:000186A8 off_186A8: .long aDosTtsI_S+0xC @ DATA XREF: phat_setcur+98r .text:000186AC off_186AC: .long aII_0 @ DATA XREF: phat_setcur+A0r .text:000186AC @ "(%i,%i)\n" .text:000186B0 .text:000186B0 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:000186B0 .text:000186B0 .text:000186B0 phat_stop: @ CODE XREF: processpack+19D8p .text:000186B0 @ processpack:loc_DAC0p ... .text:000186B0 .text:000186B0 packet = -0x224 .text:000186B0 .text:000186B0 STMFD SP!, {R4,R5,LR} @ Store Block to Memory .text:000186B4 LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:000186B8 LDR R2, [R3] @ Load from Memory .text:000186BC SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:000186C0 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:000186C4 LDR R0, =aPhatlib @ Load from Memory .text:000186C8 MOV R5, SP @ Rd = Op2 .text:000186CC LDR R4, =phatsock_fd @ Load from Memory .text:000186D0 BNE loc_18730 @ Branch .text:000186D4 .text:000186D4 loc_186D4: @ CODE XREF: phat_stop+98j .text:000186D4 LDR R12, [R4] @ Load from Memory .text:000186D8 MOV R3, #0 @ Rd = Op2 .text:000186DC CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:000186E0 MOV R1, R5 @ Rd = Op2 .text:000186E4 MOV R2, #0x218 @ Rd = Op2 .text:000186E8 MOVL LR, 0xFFFFFFFF .text:000186EC MOV R0, R12 @ Rd = Op2 .text:000186F0 BLT loc_18724 @ Branch .text:000186F4 MOV R12, #0xA @ Rd = Op2 .text:000186F8 STR R12, [SP,#0x224+packet] @ Store to Memory .text:000186FC BL send @ Branch with Link .text:00018700 MOV R3, #0 @ Rd = Op2 .text:00018704 LDR R0, [R4] @ Load from Memory .text:00018708 MOV R1, R5 @ Rd = Op2 .text:0001870C MOV R2, #0x218 @ Rd = Op2 .text:00018710 BL recv @ Branch with Link .text:00018714 LDR R3, [SP,#0x224+packet.status] @ Load from Memory .text:00018718 CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:0001871C MOVNE LR, #0 @ Rd = Op2 .text:00018720 MOVEQ LR, #1 @ Rd = Op2 .text:00018724 .text:00018724 loc_18724: @ CODE XREF: phat_stop+40j .text:00018724 MOV R0, LR @ Rd = Op2 .text:00018728 ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:0001872C LDMFD SP!, {R4,R5,PC} @ Load Block from Memory .text:00018730 @ --------------------------------------------------------------------------- .text:00018730 .text:00018730 loc_18730: @ CODE XREF: phat_stop+20j .text:00018730 BL printf @ Branch with Link .text:00018734 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:00018738 LDR R1, =aPhat_stop @ Load from Memory .text:0001873C BL printf @ Branch with Link .text:00018740 LDR R0, =asc_2CA6C @ Load from Memory .text:00018744 BL xdebug_out @ Branch with Link .text:00018748 B loc_186D4 @ Branch .text:00018748 @ End of function phat_stop .text:00018748 .text:00018748 @ --------------------------------------------------------------------------- .text:0001874C off_1874C: .long PHATLIB_DEBUG @ DATA XREF: phat_stop+4r .text:00018750 off_18750: .long aPhatlib @ DATA XREF: phat_stop+14r .text:00018750 @ "phatlib:" .text:00018754 off_18754: .long phatsock_fd @ DATA XREF: phat_stop+1Cr .text:00018758 off_18758: .long aDosTtsI_S+0xC @ DATA XREF: phat_stop+84r .text:0001875C off_1875C: .long aPhat_stop @ DATA XREF: phat_stop+88r .text:0001875C @ "phat_stop" .text:00018760 off_18760: .long asc_2CA6C @ DATA XREF: phat_stop+90r .text:00018760 @ "()" .text:00018764 .text:00018764 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00018764 .text:00018764 .text:00018764 phat_shutdown_server: .text:00018764 .text:00018764 packet = -0x224 .text:00018764 .text:00018764 STMFD SP!, {R4,R5,LR} @ Store Block to Memory .text:00018768 LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:0001876C LDR R2, [R3] @ Load from Memory .text:00018770 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:00018774 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00018778 LDR R0, =aPhatlib @ Load from Memory .text:0001877C MOV R5, SP @ Rd = Op2 .text:00018780 LDR R4, =phatsock_fd @ Load from Memory .text:00018784 BNE loc_187E4 @ Branch .text:00018788 .text:00018788 loc_18788: @ CODE XREF: phat_shutdown_server+98j .text:00018788 LDR R12, [R4] @ Load from Memory .text:0001878C MOV R3, #0 @ Rd = Op2 .text:00018790 CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:00018794 MOV R1, R5 @ Rd = Op2 .text:00018798 MOV R2, #0x218 @ Rd = Op2 .text:0001879C MOVL LR, 0xFFFFFFFF .text:000187A0 MOV R0, R12 @ Rd = Op2 .text:000187A4 BLT loc_187D8 @ Branch .text:000187A8 MOV R12, #0xD @ Rd = Op2 .text:000187AC STR R12, [SP,#0x224+packet] @ Store to Memory .text:000187B0 BL send @ Branch with Link .text:000187B4 MOV R3, #0 @ Rd = Op2 .text:000187B8 LDR R0, [R4] @ Load from Memory .text:000187BC MOV R1, R5 @ Rd = Op2 .text:000187C0 MOV R2, #0x218 @ Rd = Op2 .text:000187C4 BL recv @ Branch with Link .text:000187C8 LDR R3, [SP,#0x224+packet.status] @ Load from Memory .text:000187CC CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:000187D0 MOVNE LR, #0 @ Rd = Op2 .text:000187D4 MOVEQ LR, #1 @ Rd = Op2 .text:000187D8 .text:000187D8 loc_187D8: @ CODE XREF: phat_shutdown_server+40j .text:000187D8 MOV R0, LR @ Rd = Op2 .text:000187DC ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:000187E0 LDMFD SP!, {R4,R5,PC} @ Load Block from Memory .text:000187E4 @ --------------------------------------------------------------------------- .text:000187E4 .text:000187E4 loc_187E4: @ CODE XREF: phat_shutdown_server+20j .text:000187E4 BL printf @ Branch with Link .text:000187E8 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:000187EC LDR R1, =aPhat_shutdown_ @ Load from Memory .text:000187F0 BL printf @ Branch with Link .text:000187F4 LDR R0, =asc_2CA6C @ Load from Memory .text:000187F8 BL xdebug_out @ Branch with Link .text:000187FC B loc_18788 @ Branch .text:000187FC @ End of function phat_shutdown_server .text:000187FC .text:000187FC @ --------------------------------------------------------------------------- .text:00018800 off_18800: .long PHATLIB_DEBUG @ DATA XREF: phat_shutdown_server+4r .text:00018804 off_18804: .long aPhatlib @ DATA XREF: phat_shutdown_server+14r .text:00018804 @ "phatlib:" .text:00018808 off_18808: .long phatsock_fd @ DATA XREF: phat_shutdown_server+1Cr .text:0001880C off_1880C: .long aDosTtsI_S+0xC @ DATA XREF: phat_shutdown_server+84r .text:00018810 off_18810: .long aPhat_shutdown_ @ DATA XREF: phat_shutdown_server+88r .text:00018810 @ "phat_shutdown_server" .text:00018814 off_18814: .long asc_2CA6C @ DATA XREF: phat_shutdown_server+90r .text:00018814 @ "()" .text:00018818 .text:00018818 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00018818 .text:00018818 .text:00018818 close_phatsock_: @ CODE XREF: check_replacement_prog:loc_163DCp .text:00018818 STMFD SP!, {R4,LR} @ Store Block to Memory .text:0001881C LDR R4, =phatsock_fd @ Load from Memory .text:00018820 LDR R0, [R4] @ fd .text:00018824 CMN R0, #1 @ Set cond. codes on Op1 + Op2 .text:00018828 BLGT close @ Branch with Link .text:0001882C MOVL R3, 0xFFFFFFFF .text:00018830 MOV R0, #1 @ Rd = Op2 .text:00018834 STR R3, [R4] @ Store to Memory .text:00018838 LDMFD SP!, {R4,PC} @ Load Block from Memory .text:00018838 @ End of function close_phatsock_ .text:00018838 .text:00018838 @ --------------------------------------------------------------------------- .text:0001883C off_1883C: .long phatsock_fd @ DATA XREF: close_phatsock_+4r .text:00018840 .text:00018840 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00018840 .text:00018840 .text:00018840 get_phatsock_fd2: @ CODE XREF: main+548p .text:00018840 @ main+554p ... .text:00018840 LDR R3, =phatsock_fd2 @ Load from Memory .text:00018844 LDR R0, [R3] @ Load from Memory .text:00018848 RET @ Return from Subroutine .text:00018848 @ End of function get_phatsock_fd2 .text:00018848 .text:00018848 @ --------------------------------------------------------------------------- .text:0001884C off_1884C: .long phatsock_fd2 @ DATA XREF: get_phatsock_fd2r .text:00018850 .text:00018850 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00018850 .text:00018850 .text:00018850 get_phatsock_fd3_: .text:00018850 LDR R3, =phatsock_fd3_ @ Load from Memory .text:00018854 LDR R0, [R3] @ Load from Memory .text:00018858 RET @ Return from Subroutine .text:00018858 @ End of function get_phatsock_fd3_ .text:00018858 .text:00018858 @ --------------------------------------------------------------------------- .text:0001885C off_1885C: .long phatsock_fd3_ @ DATA XREF: get_phatsock_fd3_r .text:00018860 .text:00018860 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00018860 .text:00018860 .text:00018860 get_dword_360A8: @ CODE XREF: main:loc_865Cp .text:00018860 @ main+5D8p ... .text:00018860 LDR R3, =dword_360A8 @ Load from Memory .text:00018864 LDR R0, [R3] @ Load from Memory .text:00018868 RET @ Return from Subroutine .text:00018868 @ End of function get_dword_360A8 .text:00018868 .text:00018868 @ --------------------------------------------------------------------------- .text:0001886C off_1886C: .long dword_360A8 @ DATA XREF: get_dword_360A8r .text:00018870 .text:00018870 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00018870 .text:00018870 .text:00018870 get_dword_360AC: .text:00018870 LDR R3, =dword_360AC @ Load from Memory .text:00018874 LDR R0, [R3] @ Load from Memory .text:00018878 RET @ Return from Subroutine .text:00018878 @ End of function get_dword_360AC .text:00018878 .text:00018878 @ --------------------------------------------------------------------------- .text:0001887C off_1887C: .long dword_360AC @ DATA XREF: get_dword_360ACr .text:00018880 .text:00018880 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00018880 .text:00018880 @ unused subroutine .text:00018880 .text:00018880 sub_18880: .text:00018880 .text:00018880 var_228 = -0x228 .text:00018880 .text:00018880 STMFD SP!, {R4-R6,LR} @ Store Block to Memory .text:00018884 LDR R5, =phatsock_fd @ Load from Memory .text:00018888 LDR R12, [R5] @ Load from Memory .text:0001888C MOV R3, #0 @ Rd = Op2 .text:00018890 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:00018894 CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:00018898 MOV LR, R0 @ Rd = Op2 .text:0001889C MOV R6, SP @ Rd = Op2 .text:000188A0 MOV R1, SP @ Rd = Op2 .text:000188A4 MOV R2, #0x218 @ Rd = Op2 .text:000188A8 MOVL R4, 0xFFFFFFFF .text:000188AC MOV R0, R12 @ Rd = Op2 .text:000188B0 BLT loc_188E4 @ Branch .text:000188B4 MOV R12, #0x11 @ Rd = Op2 .text:000188B8 STR R12, [SP,#0x228+var_228] @ Store to Memory .text:000188BC STR LR, [SP,#0x228+var_228.length] @ Store to Memory .text:000188C0 BL send @ Branch with Link .text:000188C4 LDR R3, =unk_360B4 @ Load from Memory .text:000188C8 LDR R0, [R3] @ Load from Memory .text:000188CC CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:000188D0 MOV R1, SP @ Rd = Op2 .text:000188D4 MOV R3, R0 @ Rd = Op2 .text:000188D8 MOV R2, #0x218 @ Rd = Op2 .text:000188DC MOV R4, #1 @ Rd = Op2 .text:000188E0 BEQ loc_188F0 @ Branch .text:000188E4 .text:000188E4 loc_188E4: @ CODE XREF: sub_18880+30j .text:000188E4 @ sub_18880+88j .text:000188E4 MOV R0, R4 @ Rd = Op2 .text:000188E8 ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:000188EC LDMFD SP!, {R4-R6,PC} @ Load Block from Memory .text:000188F0 @ --------------------------------------------------------------------------- .text:000188F0 .text:000188F0 loc_188F0: @ CODE XREF: sub_18880+60j .text:000188F0 LDR R0, [R5] @ Load from Memory .text:000188F4 BL recv @ Branch with Link .text:000188F8 LDR R3, [SP,#0x228+var_228.status] @ Load from Memory .text:000188FC CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:00018900 MOVNE R4, #0 @ Rd = Op2 .text:00018904 MOVEQ R4, #1 @ Rd = Op2 .text:00018908 B loc_188E4 @ Branch .text:00018908 @ End of function sub_18880 .text:00018908 .text:00018908 @ --------------------------------------------------------------------------- .text:0001890C off_1890C: .long phatsock_fd @ DATA XREF: sub_18880+4r .text:00018910 off_18910: .long unk_360B4 @ DATA XREF: sub_18880+44r .text:00018914 .text:00018914 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00018914 .text:00018914 .text:00018914 xread_ini: @ CODE XREF: processpack+7D8p .text:00018914 @ processpack+C70p ... .text:00018914 .text:00018914 var_534 = -0x534 .text:00018914 var_530 = -0x530 .text:00018914 var_52C = -0x52C .text:00018914 var_528 = -0x528 .text:00018914 var_524 = -0x524 .text:00018914 var_4A4 = -0x4A4 .text:00018914 var_424 = -0x424 .text:00018914 var_30 = -0x30 .text:00018914 var_4 = -4 .text:00018914 arg_4 = 4 .text:00018914 .text:00018914 @ FUNCTION CHUNK AT .text:00016CA8 SIZE 00000488 BYTES .text:00018914 .text:00018914 STR LR, [SP,#0x530+var_534]! @ Store to Memory .text:00018918 LDR LR, [SP],#0x530+var_52C @ Load from Memory .text:0001891C B loc_16CA8 @ Branch .text:0001891C @ End of function xread_ini .text:0001891C .text:00018920 .text:00018920 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00018920 .text:00018920 @ unused .text:00018920 .text:00018920 sub_18920: .text:00018920 .text:00018920 op_code = -0x234 .text:00018920 arg1 = -0x230 .text:00018920 var_22C = -0x22C .text:00018920 var_228 = -0x228 .text:00018920 var_224 = -0x224 .text:00018920 var_21C = -0x21C .text:00018920 .text:00018920 STMFD SP!, {R4-R8,R10,LR} @ Store Block to Memory .text:00018924 LDR R4, =phatsock_fd3_ @ Load from Memory .text:00018928 LDR R3, [R4] @ Load from Memory .text:0001892C CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00018930 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:00018934 MOV R5, R4 @ Rd = Op2 .text:00018938 MOV R6, R2 @ Rd = Op2 .text:0001893C MOV R8, R1 @ Rd = Op2 .text:00018940 MOV R7, R0 @ Rd = Op2 .text:00018944 BLT need_phatsock3 @ Branch .text:00018948 .text:00018948 loc_18948: @ CODE XREF: sub_18920+F4j .text:00018948 LDR R3, [R5] @ Load from Memory .text:0001894C CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00018950 MOV R1, R6 @ Rd = Op2 .text:00018954 MOV R4, SP @ Rd = Op2 .text:00018958 MOVL R2, 0xFFFFFFFF .text:0001895C ADD R0, SP, #0x234+var_21C @ Rd = Op1 + Op2 .text:00018960 BLT no_phatsock @ Branch .text:00018964 MOV R3, #0x12 @ Rd = Op2 .text:00018968 STR R3, [SP,#0x234+op_code] @ Store to Memory .text:0001896C STR R7, [SP,#0x234+var_228] @ Store to Memory .text:00018970 STR R8, [SP,#0x234+var_224] @ Store to Memory .text:00018974 BL strcpy @ Branch with Link .text:00018978 MOV R1, SP @ Rd = Op2 .text:0001897C MOV R2, #0x218 @ Rd = Op2 .text:00018980 MOV R3, #0 @ Rd = Op2 .text:00018984 LDR R0, [R5] @ Load from Memory .text:00018988 BL send @ Branch with Link .text:0001898C MOV R2, #0x218 @ Rd = Op2 .text:00018990 MOV R3, #0 @ Rd = Op2 .text:00018994 LDR R0, [R5] @ Load from Memory .text:00018998 MOV R1, SP @ Rd = Op2 .text:0001899C BL recv @ Branch with Link .text:000189A0 LDR R3, [SP,#0x234+arg1] @ Load from Memory .text:000189A4 CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:000189A8 LDREQ R2, [SP,#0x234+var_228] @ Load from Memory .text:000189AC MOVNE R2, #0 @ Rd = Op2 .text:000189B0 .text:000189B0 no_phatsock: @ CODE XREF: sub_18920+40j .text:000189B0 @ sub_18920+B0j .text:000189B0 MOV R0, R2 @ Rd = Op2 .text:000189B4 ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:000189B8 LDMFD SP!, {R4-R8,R10,PC} @ Load Block from Memory .text:000189BC @ --------------------------------------------------------------------------- .text:000189BC .text:000189BC need_phatsock3: @ CODE XREF: sub_18920+24j .text:000189BC BL phatd_connect @ Branch with Link .text:000189C0 CMN R0, #1 @ Set cond. codes on Op1 + Op2 .text:000189C4 MOV R10, SP @ Rd = Op2 .text:000189C8 MOV R2, R0 @ Rd = Op2 .text:000189CC STR R0, [R4] @ Store to Memory .text:000189D0 BEQ no_phatsock @ Branch .text:000189D4 MOV R3, #0x20 @ ' ' @ Rd = Op2 .text:000189D8 STR R3, [SP,#0x234+op_code] @ Store to Memory .text:000189DC BL __libc_getpid @ Branch with Link .text:000189E0 MOV R12, R0 @ Rd = Op2 .text:000189E4 ADD R12, R12, #0x3E8 @ Rd = Op1 + Op2 .text:000189E8 MOV R1, SP @ Rd = Op2 .text:000189EC MOV R2, #0x218 @ Rd = Op2 .text:000189F0 MOV R3, #0 @ Rd = Op2 .text:000189F4 LDR R0, [R4] @ Load from Memory .text:000189F8 STR R12, [SP,#0x234+var_22C] @ Store to Memory .text:000189FC BL send @ Branch with Link .text:00018A00 LDR R0, [R4] @ Load from Memory .text:00018A04 MOV R1, SP @ Rd = Op2 .text:00018A08 MOV R2, #0x218 @ Rd = Op2 .text:00018A0C MOV R3, #0 @ Rd = Op2 .text:00018A10 BL recv @ Branch with Link .text:00018A14 B loc_18948 @ Branch .text:00018A14 @ End of function sub_18920 .text:00018A14 .text:00018A14 @ --------------------------------------------------------------------------- .text:00018A18 off_18A18: .long phatsock_fd3_ @ DATA XREF: sub_18920+4r .text:00018A1C .text:00018A1C @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00018A1C .text:00018A1C @ unused .text:00018A1C .text:00018A1C sub_18A1C: .text:00018A1C .text:00018A1C var_228 = -0x228 .text:00018A1C var_224 = -0x224 .text:00018A1C var_220 = -0x220 .text:00018A1C var_21C = -0x21C .text:00018A1C .text:00018A1C STMFD SP!, {R4-R6,LR} @ Store Block to Memory .text:00018A20 LDR R4, =dword_360AC @ Load from Memory .text:00018A24 LDR R3, [R4] @ Load from Memory .text:00018A28 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00018A2C SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:00018A30 MOV R5, R4 @ Rd = Op2 .text:00018A34 BLT loc_18A98 @ Branch .text:00018A38 .text:00018A38 loc_18A38: @ CODE XREF: sub_18A1C+D4j .text:00018A38 LDR R12, [R5] @ Load from Memory .text:00018A3C MOV R3, #0 @ Rd = Op2 .text:00018A40 CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:00018A44 MOV R4, SP @ Rd = Op2 .text:00018A48 MOV R2, #0x218 @ Rd = Op2 .text:00018A4C MOVL LR, 0xFFFFFFFF .text:00018A50 MOV R0, R12 @ Rd = Op2 .text:00018A54 MOV R1, SP @ Rd = Op2 .text:00018A58 BLT loc_18A8C @ Branch .text:00018A5C MOV R12, #0x68 @ 'h' @ Rd = Op2 .text:00018A60 STR R12, [SP,#0x228+var_228] @ Store to Memory .text:00018A64 BL send @ Branch with Link .text:00018A68 MOV R3, #0 @ Rd = Op2 .text:00018A6C LDR R0, [R5] @ Load from Memory .text:00018A70 MOV R1, SP @ Rd = Op2 .text:00018A74 MOV R2, #0x218 @ Rd = Op2 .text:00018A78 BL recv @ Branch with Link .text:00018A7C LDR R3, [SP,#0x228+var_224] @ Load from Memory .text:00018A80 CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:00018A84 LDREQ LR, [SP,#0x228+var_21C] @ Load from Memory .text:00018A88 MOVNE LR, #0 @ Rd = Op2 .text:00018A8C .text:00018A8C loc_18A8C: @ CODE XREF: sub_18A1C+3Cj .text:00018A8C @ sub_18A1C+90j .text:00018A8C MOV R0, LR @ Rd = Op2 .text:00018A90 ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:00018A94 LDMFD SP!, {R4-R6,PC} @ Load Block from Memory .text:00018A98 @ --------------------------------------------------------------------------- .text:00018A98 .text:00018A98 loc_18A98: @ CODE XREF: sub_18A1C+18j .text:00018A98 BL phatd_connect @ Branch with Link .text:00018A9C CMN R0, #1 @ Set cond. codes on Op1 + Op2 .text:00018AA0 MOV R6, SP @ Rd = Op2 .text:00018AA4 MOV LR, R0 @ Rd = Op2 .text:00018AA8 STR R0, [R4] @ Store to Memory .text:00018AAC BEQ loc_18A8C @ Branch .text:00018AB0 MOV R3, #0x20 @ ' ' @ Rd = Op2 .text:00018AB4 STR R3, [SP,#0x228+var_228] @ Store to Memory .text:00018AB8 BL __libc_getpid @ Branch with Link .text:00018ABC MOV R12, R0 @ Rd = Op2 .text:00018AC0 ADD R12, R12, #0x3E8 @ Rd = Op1 + Op2 .text:00018AC4 MOV R1, SP @ Rd = Op2 .text:00018AC8 MOV R2, #0x218 @ Rd = Op2 .text:00018ACC MOV R3, #0 @ Rd = Op2 .text:00018AD0 LDR R0, [R4] @ Load from Memory .text:00018AD4 STR R12, [SP,#0x228+var_220] @ Store to Memory .text:00018AD8 BL send @ Branch with Link .text:00018ADC LDR R0, [R4] @ Load from Memory .text:00018AE0 MOV R1, SP @ Rd = Op2 .text:00018AE4 MOV R2, #0x218 @ Rd = Op2 .text:00018AE8 MOV R3, #0 @ Rd = Op2 .text:00018AEC BL recv @ Branch with Link .text:00018AF0 B loc_18A38 @ Branch .text:00018AF0 @ End of function sub_18A1C .text:00018AF0 .text:00018AF0 @ --------------------------------------------------------------------------- .text:00018AF4 off_18AF4: .long dword_360AC @ DATA XREF: sub_18A1C+4r .text:00018AF8 .text:00018AF8 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00018AF8 .text:00018AF8 @ unused .text:00018AF8 .text:00018AF8 sub_18AF8: .text:00018AF8 .text:00018AF8 ret = -0x220 .text:00018AF8 buf = -0x208 .text:00018AF8 .text:00018AF8 STMFD SP!, {R4,LR} @ Store Block to Memory .text:00018AFC LDR R4, =phatsock_fd3_ @ Load from Memory .text:00018B00 LDR R3, [R4] @ Load from Memory .text:00018B04 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:00018B08 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00018B0C MOV R1, R0 @ Rd = Op2 .text:00018B10 MOV R2, #0x200 @ Rd = Op2 .text:00018B14 MOVL R3, 0xFFFFFFFF .text:00018B18 ADD R0, SP, #0x220+buf @ Rd = Op1 + Op2 .text:00018B1C BLT no_phatsock @ Branch .text:00018B20 MOV R3, #0x13 @ Rd = Op2 .text:00018B24 STR R3, [SP,#0x220+ret] @ Store to Memory .text:00018B28 BL strncat @ Branch with Link .text:00018B2C MOV R3, #0 @ Rd = Op2 .text:00018B30 LDR R0, [R4] @ Load from Memory .text:00018B34 MOV R1, SP @ Rd = Op2 .text:00018B38 MOV R2, #0x218 @ Rd = Op2 .text:00018B3C BL send @ Branch with Link .text:00018B40 MOV R3, #1 @ Rd = Op2 .text:00018B44 .text:00018B44 no_phatsock: @ CODE XREF: sub_18AF8+24j .text:00018B44 MOV R0, R3 @ Rd = Op2 .text:00018B48 ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:00018B4C LDMFD SP!, {R4,PC} @ Load Block from Memory .text:00018B4C @ End of function sub_18AF8 .text:00018B4C .text:00018B4C @ --------------------------------------------------------------------------- .text:00018B50 off_18B50: .long phatsock_fd3_ @ DATA XREF: sub_18AF8+4r .text:00018B54 .text:00018B54 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00018B54 .text:00018B54 @ unused .text:00018B54 .text:00018B54 sub_18B54: .text:00018B54 .text:00018B54 var_220 = -0x220 .text:00018B54 var_208 = -0x208 .text:00018B54 .text:00018B54 STMFD SP!, {R4,LR} @ Store Block to Memory .text:00018B58 LDR R4, =phatsock_fd3_ @ Load from Memory .text:00018B5C LDR R3, [R4] @ Load from Memory .text:00018B60 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:00018B64 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00018B68 MOV R1, R0 @ Rd = Op2 .text:00018B6C MOV R2, #0x200 @ Rd = Op2 .text:00018B70 MOVL R3, 0xFFFFFFFF .text:00018B74 ADD R0, SP, #0x220+var_208 @ Rd = Op1 + Op2 .text:00018B78 BLT loc_18BA0 @ Branch .text:00018B7C MOV R3, #0x39 @ '9' @ Rd = Op2 .text:00018B80 STR R3, [SP,#0x220+var_220] @ Store to Memory .text:00018B84 BL strncat @ Branch with Link .text:00018B88 MOV R3, #0 @ Rd = Op2 .text:00018B8C LDR R0, [R4] @ Load from Memory .text:00018B90 MOV R1, SP @ Rd = Op2 .text:00018B94 MOV R2, #0x218 @ Rd = Op2 .text:00018B98 BL send @ Branch with Link .text:00018B9C MOV R3, #1 @ Rd = Op2 .text:00018BA0 .text:00018BA0 loc_18BA0: @ CODE XREF: sub_18B54+24j .text:00018BA0 MOV R0, R3 @ Rd = Op2 .text:00018BA4 ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:00018BA8 LDMFD SP!, {R4,PC} @ Load Block from Memory .text:00018BA8 @ End of function sub_18B54 .text:00018BA8 .text:00018BA8 @ --------------------------------------------------------------------------- .text:00018BAC off_18BAC: .long phatsock_fd3_ @ DATA XREF: sub_18B54+4r .text:00018BB0 .text:00018BB0 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00018BB0 .text:00018BB0 @ unused .text:00018BB0 .text:00018BB0 sub_18BB0: .text:00018BB0 .text:00018BB0 var_228 = -0x228 .text:00018BB0 var_21C = -0x21C .text:00018BB0 var_218 = -0x218 .text:00018BB0 .text:00018BB0 STMFD SP!, {R4-R6,LR} @ Store Block to Memory .text:00018BB4 LDR R6, =phatsock_fd3_ @ Load from Memory .text:00018BB8 LDR R12, [R6] @ Load from Memory .text:00018BBC MOV R3, #0 @ Rd = Op2 .text:00018BC0 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:00018BC4 CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:00018BC8 MOV R4, R0 @ Rd = Op2 .text:00018BCC MOV R5, R1 @ Rd = Op2 .text:00018BD0 MOV R2, #0x218 @ Rd = Op2 .text:00018BD4 MOVL LR, 0xFFFFFFFF .text:00018BD8 MOV R0, R12 @ Rd = Op2 .text:00018BDC MOV R1, SP @ Rd = Op2 .text:00018BE0 BLT loc_18C18 @ Branch .text:00018BE4 BL recv @ Branch with Link .text:00018BE8 CMP R0, #0x218 @ Set cond. codes on Op1 - Op2 .text:00018BEC MOVLCC R3, 0xFFFFFFFF .text:00018BF0 MOV LR, #0 @ Rd = Op2 .text:00018BF4 STRCC R3, [R6] @ Store to Memory .text:00018BF8 BCC loc_18C18 @ Branch .text:00018BFC CMP R4, #0 @ Set cond. codes on Op1 - Op2 .text:00018C00 LDRNE R3, [SP,#0x228+var_21C] @ Load from Memory .text:00018C04 LDR LR, [SP,#0x228+var_228] @ Load from Memory .text:00018C08 STRNE R3, [R4] @ Store to Memory .text:00018C0C CMP R5, #0 @ Set cond. codes on Op1 - Op2 .text:00018C10 LDRNE R3, [SP,#0x228+var_218] @ Load from Memory .text:00018C14 STRNE R3, [R5] @ Store to Memory .text:00018C18 .text:00018C18 loc_18C18: @ CODE XREF: sub_18BB0+30j .text:00018C18 @ sub_18BB0+48j .text:00018C18 MOV R0, LR @ Rd = Op2 .text:00018C1C ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:00018C20 LDMFD SP!, {R4-R6,PC} @ Load Block from Memory .text:00018C20 @ End of function sub_18BB0 .text:00018C20 .text:00018C20 @ --------------------------------------------------------------------------- .text:00018C24 off_18C24: .long phatsock_fd3_ @ DATA XREF: sub_18BB0+4r .text:00018C28 .text:00018C28 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00018C28 .text:00018C28 @ unused .text:00018C28 .text:00018C28 sub_18C28: .text:00018C28 .text:00018C28 var_210 = -0x210 .text:00018C28 .text:00018C28 STMFD SP!, {R4,LR} @ Store Block to Memory .text:00018C2C LDR R4, =dword_360AC @ Load from Memory .text:00018C30 LDR R12, [R4] @ Load from Memory .text:00018C34 MOV R3, #0 @ Rd = Op2 .text:00018C38 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:00018C3C CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:00018C40 MOV R0, R12 @ Rd = Op2 .text:00018C44 MOV R1, SP @ Rd = Op2 .text:00018C48 MOV R2, #0x218 @ Rd = Op2 .text:00018C4C MOVL R12, 0xFFFFFFFF .text:00018C50 BLT loc_18C6C @ Branch .text:00018C54 BL recv @ Branch with Link .text:00018C58 CMP R0, #0x218 @ Set cond. codes on Op1 - Op2 .text:00018C5C MOVLCC R3, 0xFFFFFFFF .text:00018C60 MOV R12, #0 @ Rd = Op2 .text:00018C64 STRCC R3, [R4] @ Store to Memory .text:00018C68 LDRCS R12, [SP,#0x220+var_210] @ Load from Memory .text:00018C6C .text:00018C6C loc_18C6C: @ CODE XREF: sub_18C28+28j .text:00018C6C MOV R0, R12 @ Rd = Op2 .text:00018C70 ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:00018C74 LDMFD SP!, {R4,PC} @ Load Block from Memory .text:00018C74 @ End of function sub_18C28 .text:00018C74 .text:00018C74 @ --------------------------------------------------------------------------- .text:00018C78 off_18C78: .long dword_360AC @ DATA XREF: sub_18C28+4r .text:00018C7C .text:00018C7C @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00018C7C .text:00018C7C @ args: (op_code, arg3_value) .text:00018C7C .text:00018C7C send_command: @ CODE XREF: phat_randdisk+28j .text:00018C7C @ phat_randall+28j ... .text:00018C7C .text:00018C7C op_code = -0x228 .text:00018C7C arg1 = -0x224 .text:00018C7C arg3 = -0x21C .text:00018C7C .text:00018C7C STMFD SP!, {R4-R6,LR} @ Store Block to Memory .text:00018C80 LDR R5, =phatsock_fd @ Load from Memory .text:00018C84 LDR R12, [R5] @ Load from Memory .text:00018C88 MOV R3, #0 @ Rd = Op2 .text:00018C8C SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:00018C90 CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:00018C94 MOV LR, R0 @ Rd = Op2 .text:00018C98 MOV R6, SP @ Rd = Op2 .text:00018C9C MOV R0, R12 @ Rd = Op2 .text:00018CA0 MOV R2, #0x218 @ Rd = Op2 .text:00018CA4 MOV R12, R1 @ Rd = Op2 .text:00018CA8 MOVL R4, 0xFFFFFFFF .text:00018CAC MOV R1, SP @ Rd = Op2 .text:00018CB0 BLT loc_18CE4 @ Branch .text:00018CB4 STR LR, [SP,#0x228+op_code] @ Store to Memory .text:00018CB8 STR R12, [SP,#0x228+arg3] @ Store to Memory .text:00018CBC BL send @ Branch with Link .text:00018CC0 MOV R3, #0 @ Rd = Op2 .text:00018CC4 LDR R0, [R5] @ Load from Memory .text:00018CC8 MOV R1, SP @ Rd = Op2 .text:00018CCC MOV R2, #0x218 @ Rd = Op2 .text:00018CD0 BL recv @ Branch with Link .text:00018CD4 LDR R3, [SP,#0x228+arg1] @ Load from Memory .text:00018CD8 CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:00018CDC MOVNE R4, #0 @ Rd = Op2 .text:00018CE0 MOVEQ R4, #1 @ Rd = Op2 .text:00018CE4 .text:00018CE4 loc_18CE4: @ CODE XREF: send_command+34j .text:00018CE4 MOV R0, R4 @ Rd = Op2 .text:00018CE8 ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:00018CEC LDMFD SP!, {R4-R6,PC} @ Load Block from Memory .text:00018CEC @ End of function send_command .text:00018CEC .text:00018CEC @ --------------------------------------------------------------------------- .text:00018CF0 off_18CF0: .long phatsock_fd @ DATA XREF: send_command+4r .text:00018CF4 .text:00018CF4 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00018CF4 .text:00018CF4 .text:00018CF4 phat_randdisk: @ CODE XREF: processpack+216Cp .text:00018CF4 @ processpack+2304p .text:00018CF4 .text:00018CF4 var_228 = -0x228 .text:00018CF4 var_224 = -0x224 .text:00018CF4 var_21C = -0x21C .text:00018CF4 .text:00018CF4 STMFD SP!, {R4,LR} @ Store Block to Memory .text:00018CF8 LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:00018CFC LDR R2, [R3] @ Load from Memory .text:00018D00 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00018D04 MOV R4, R0 @ Rd = Op2 .text:00018D08 LDR R0, =aPhatlib @ Load from Memory .text:00018D0C BNE loc_18D20 @ Branch .text:00018D10 .text:00018D10 loc_18D10: @ CODE XREF: phat_randdisk+48j .text:00018D10 MOV R1, R4 @ Rd = Op2 .text:00018D14 MOV R0, #0x17 @ Rd = Op2 .text:00018D18 LDMFD SP!, {R4,LR} @ Load Block from Memory .text:00018D1C B send_command @ Branch .text:00018D20 @ --------------------------------------------------------------------------- .text:00018D20 .text:00018D20 loc_18D20: @ CODE XREF: phat_randdisk+18j .text:00018D20 BL printf @ Branch with Link .text:00018D24 LDR R1, =aPhat_randdisk @ Load from Memory .text:00018D28 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:00018D2C BL printf @ Branch with Link .text:00018D30 LDR R0, =(a02xI_0+0x18) @ Load from Memory .text:00018D34 MOV R1, R4 @ Rd = Op2 .text:00018D38 BL printf @ Branch with Link .text:00018D3C B loc_18D10 @ Branch .text:00018D3C @ End of function phat_randdisk .text:00018D3C .text:00018D3C @ --------------------------------------------------------------------------- .text:00018D40 off_18D40: .long PHATLIB_DEBUG @ DATA XREF: phat_randdisk+4r .text:00018D44 off_18D44: .long aPhatlib @ DATA XREF: phat_randdisk+14r .text:00018D44 @ "phatlib:" .text:00018D48 off_18D48: .long aPhat_randdisk @ DATA XREF: phat_randdisk+30r .text:00018D48 @ "phat_randdisk" .text:00018D4C off_18D4C: .long aDosTtsI_S+0xC @ DATA XREF: phat_randdisk+34r .text:00018D50 off_18D50: .long a02xI_0+0x18 @ DATA XREF: phat_randdisk+3Cr .text:00018D54 .text:00018D54 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00018D54 .text:00018D54 .text:00018D54 phat_randall: @ CODE XREF: processpack+217Cp .text:00018D54 @ processpack+228Cp ... .text:00018D54 STMFD SP!, {R4,LR} @ Store Block to Memory .text:00018D58 LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:00018D5C LDR R2, [R3] @ Load from Memory .text:00018D60 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00018D64 MOV R4, R0 @ Rd = Op2 .text:00018D68 LDR R0, =aPhatlib @ Load from Memory .text:00018D6C BNE loc_18D80 @ Branch .text:00018D70 .text:00018D70 loc_18D70: @ CODE XREF: phat_randall+48j .text:00018D70 MOV R1, R4 @ Rd = Op2 .text:00018D74 MOV R0, #0x18 @ Rd = Op2 .text:00018D78 LDMFD SP!, {R4,LR} @ Load Block from Memory .text:00018D7C B send_command @ Branch .text:00018D80 @ --------------------------------------------------------------------------- .text:00018D80 .text:00018D80 loc_18D80: @ CODE XREF: phat_randall+18j .text:00018D80 BL printf @ Branch with Link .text:00018D84 LDR R1, =aPhat_randall @ Load from Memory .text:00018D88 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:00018D8C BL printf @ Branch with Link .text:00018D90 LDR R0, =(a02xI_0+0x18) @ Load from Memory .text:00018D94 MOV R1, R4 @ Rd = Op2 .text:00018D98 BL printf @ Branch with Link .text:00018D9C B loc_18D70 @ Branch .text:00018D9C @ End of function phat_randall .text:00018D9C .text:00018D9C @ --------------------------------------------------------------------------- .text:00018DA0 off_18DA0: .long PHATLIB_DEBUG @ DATA XREF: phat_randall+4r .text:00018DA4 off_18DA4: .long aPhatlib @ DATA XREF: phat_randall+14r .text:00018DA4 @ "phatlib:" .text:00018DA8 off_18DA8: .long aPhat_randall @ DATA XREF: phat_randall+30r .text:00018DA8 @ "phat_randall" .text:00018DAC off_18DAC: .long aDosTtsI_S+0xC @ DATA XREF: phat_randall+34r .text:00018DB0 off_18DB0: .long a02xI_0+0x18 @ DATA XREF: phat_randall+3Cr .text:00018DB4 .text:00018DB4 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00018DB4 .text:00018DB4 .text:00018DB4 phat_randoff: @ CODE XREF: processpack:loc_E5F8p .text:00018DB4 .text:00018DB4 var_4 = -4 .text:00018DB4 arg_4 = 4 .text:00018DB4 .text:00018DB4 STR LR, [SP,#var_4]! @ Store to Memory .text:00018DB8 LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:00018DBC LDR R2, [R3] @ Load from Memory .text:00018DC0 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00018DC4 LDR R0, =aPhatlib @ Load from Memory .text:00018DC8 BNE loc_18DDC @ Branch .text:00018DCC .text:00018DCC loc_18DCC: @ CODE XREF: phat_randoff+40j .text:00018DCC MOV R0, #0x19 @ Rd = Op2 .text:00018DD0 MOV R1, #0 @ Rd = Op2 .text:00018DD4 LDR LR, [SP],#arg_4 @ Load from Memory .text:00018DD8 B send_command @ Branch .text:00018DDC @ --------------------------------------------------------------------------- .text:00018DDC .text:00018DDC loc_18DDC: @ CODE XREF: phat_randoff+14j .text:00018DDC BL printf @ Branch with Link .text:00018DE0 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:00018DE4 LDR R1, =aPhat_randoff @ Load from Memory .text:00018DE8 BL printf @ Branch with Link .text:00018DEC LDR R0, =asc_2CA6C @ Load from Memory .text:00018DF0 BL xdebug_out @ Branch with Link .text:00018DF4 B loc_18DCC @ Branch .text:00018DF4 @ End of function phat_randoff .text:00018DF4 .text:00018DF4 @ --------------------------------------------------------------------------- .text:00018DF8 off_18DF8: .long PHATLIB_DEBUG @ DATA XREF: phat_randoff+4r .text:00018DFC off_18DFC: .long aPhatlib @ DATA XREF: phat_randoff+10r .text:00018DFC @ "phatlib:" .text:00018E00 off_18E00: .long aDosTtsI_S+0xC @ DATA XREF: phat_randoff+2Cr .text:00018E04 off_18E04: .long aPhat_randoff @ DATA XREF: phat_randoff+30r .text:00018E04 @ "phat_randoff" .text:00018E08 off_18E08: .long asc_2CA6C @ DATA XREF: phat_randoff+38r .text:00018E08 @ "()" .text:00018E0C .text:00018E0C @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00018E0C .text:00018E0C .text:00018E0C phat_repeattrack: @ CODE XREF: processpack:loc_D988p .text:00018E0C .text:00018E0C var_4 = -4 .text:00018E0C arg_4 = 4 .text:00018E0C .text:00018E0C STR LR, [SP,#var_4]! @ Store to Memory .text:00018E10 LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:00018E14 LDR R2, [R3] @ Load from Memory .text:00018E18 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00018E1C LDR R0, =aPhatlib @ Load from Memory .text:00018E20 BNE loc_18E34 @ Branch .text:00018E24 .text:00018E24 loc_18E24: @ CODE XREF: phat_repeattrack+40j .text:00018E24 MOV R0, #0x1B @ Rd = Op2 .text:00018E28 MOV R1, #0 @ Rd = Op2 .text:00018E2C LDR LR, [SP],#arg_4 @ Load from Memory .text:00018E30 B send_command @ Branch .text:00018E34 @ --------------------------------------------------------------------------- .text:00018E34 .text:00018E34 loc_18E34: @ CODE XREF: phat_repeattrack+14j .text:00018E34 BL printf @ Branch with Link .text:00018E38 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:00018E3C LDR R1, =aPhat_repeattra @ Load from Memory .text:00018E40 BL printf @ Branch with Link .text:00018E44 LDR R0, =asc_2CA6C @ Load from Memory .text:00018E48 BL xdebug_out @ Branch with Link .text:00018E4C B loc_18E24 @ Branch .text:00018E4C @ End of function phat_repeattrack .text:00018E4C .text:00018E4C @ --------------------------------------------------------------------------- .text:00018E50 off_18E50: .long PHATLIB_DEBUG @ DATA XREF: phat_repeattrack+4r .text:00018E54 off_18E54: .long aPhatlib @ DATA XREF: phat_repeattrack+10r .text:00018E54 @ "phatlib:" .text:00018E58 off_18E58: .long aDosTtsI_S+0xC @ DATA XREF: phat_repeattrack+2Cr .text:00018E5C off_18E5C: .long aPhat_repeattra @ DATA XREF: phat_repeattrack+30r .text:00018E5C @ "phat_repeattrack" .text:00018E60 off_18E60: .long asc_2CA6C @ DATA XREF: phat_repeattrack+38r .text:00018E60 @ "()" .text:00018E64 .text:00018E64 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00018E64 .text:00018E64 .text:00018E64 phat_repeatdisk: @ CODE XREF: processpack:loc_D9F4p .text:00018E64 .text:00018E64 var_4 = -4 .text:00018E64 arg_4 = 4 .text:00018E64 .text:00018E64 STR LR, [SP,#var_4]! @ Store to Memory .text:00018E68 LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:00018E6C LDR R2, [R3] @ Load from Memory .text:00018E70 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00018E74 LDR R0, =aPhatlib @ Load from Memory .text:00018E78 BNE loc_18E8C @ Branch .text:00018E7C .text:00018E7C loc_18E7C: @ CODE XREF: phat_repeatdisk+40j .text:00018E7C MOV R0, #0x1A @ Rd = Op2 .text:00018E80 MOV R1, #0 @ Rd = Op2 .text:00018E84 LDR LR, [SP],#arg_4 @ Load from Memory .text:00018E88 B send_command @ Branch .text:00018E8C @ --------------------------------------------------------------------------- .text:00018E8C .text:00018E8C loc_18E8C: @ CODE XREF: phat_repeatdisk+14j .text:00018E8C BL printf @ Branch with Link .text:00018E90 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:00018E94 LDR R1, =aPhat_repeatdis @ Load from Memory .text:00018E98 BL printf @ Branch with Link .text:00018E9C LDR R0, =asc_2CA6C @ Load from Memory .text:00018EA0 BL xdebug_out @ Branch with Link .text:00018EA4 B loc_18E7C @ Branch .text:00018EA4 @ End of function phat_repeatdisk .text:00018EA4 .text:00018EA4 @ --------------------------------------------------------------------------- .text:00018EA8 off_18EA8: .long PHATLIB_DEBUG @ DATA XREF: phat_repeatdisk+4r .text:00018EAC off_18EAC: .long aPhatlib @ DATA XREF: phat_repeatdisk+10r .text:00018EAC @ "phatlib:" .text:00018EB0 off_18EB0: .long aDosTtsI_S+0xC @ DATA XREF: phat_repeatdisk+2Cr .text:00018EB4 off_18EB4: .long aPhat_repeatdis @ DATA XREF: phat_repeatdisk+30r .text:00018EB4 @ "phat_repeatdisk" .text:00018EB8 off_18EB8: .long asc_2CA6C @ DATA XREF: phat_repeatdisk+38r .text:00018EB8 @ "()" .text:00018EBC .text:00018EBC @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00018EBC .text:00018EBC .text:00018EBC phat_repeatoff: @ CODE XREF: processpack:loc_DA58p .text:00018EBC .text:00018EBC var_4 = -4 .text:00018EBC arg_4 = 4 .text:00018EBC .text:00018EBC STR LR, [SP,#var_4]! @ Store to Memory .text:00018EC0 LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:00018EC4 LDR R2, [R3] @ Load from Memory .text:00018EC8 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00018ECC LDR R0, =aPhatlib @ Load from Memory .text:00018ED0 BNE loc_18EE4 @ Branch .text:00018ED4 .text:00018ED4 loc_18ED4: @ CODE XREF: phat_repeatoff+40j .text:00018ED4 MOV R0, #0x1C @ Rd = Op2 .text:00018ED8 MOV R1, #0 @ Rd = Op2 .text:00018EDC LDR LR, [SP],#arg_4 @ Load from Memory .text:00018EE0 B send_command @ Branch .text:00018EE4 @ --------------------------------------------------------------------------- .text:00018EE4 .text:00018EE4 loc_18EE4: @ CODE XREF: phat_repeatoff+14j .text:00018EE4 BL printf @ Branch with Link .text:00018EE8 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:00018EEC LDR R1, =aPhat_repeatoff @ Load from Memory .text:00018EF0 BL printf @ Branch with Link .text:00018EF4 LDR R0, =asc_2CA6C @ Load from Memory .text:00018EF8 BL xdebug_out @ Branch with Link .text:00018EFC B loc_18ED4 @ Branch .text:00018EFC @ End of function phat_repeatoff .text:00018EFC .text:00018EFC @ --------------------------------------------------------------------------- .text:00018F00 off_18F00: .long PHATLIB_DEBUG @ DATA XREF: phat_repeatoff+4r .text:00018F04 off_18F04: .long aPhatlib @ DATA XREF: phat_repeatoff+10r .text:00018F04 @ "phatlib:" .text:00018F08 off_18F08: .long aDosTtsI_S+0xC @ DATA XREF: phat_repeatoff+2Cr .text:00018F0C off_18F0C: .long aPhat_repeatoff @ DATA XREF: phat_repeatoff+30r .text:00018F0C @ "phat_repeatoff" .text:00018F10 off_18F10: .long asc_2CA6C @ DATA XREF: phat_repeatoff+38r .text:00018F10 @ "()" .text:00018F14 .text:00018F14 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00018F14 .text:00018F14 .text:00018F14 phat_announceon: @ CODE XREF: processpack:loc_C5F0p .text:00018F14 @ execute_audio_id_command:loc_151B0p .text:00018F14 .text:00018F14 var_4 = -4 .text:00018F14 arg_4 = 4 .text:00018F14 .text:00018F14 STR LR, [SP,#var_4]! @ Store to Memory .text:00018F18 LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:00018F1C LDR R2, [R3] @ Load from Memory .text:00018F20 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00018F24 LDR R0, =aPhatlib @ Load from Memory .text:00018F28 BNE loc_18F3C @ Branch .text:00018F2C .text:00018F2C loc_18F2C: @ CODE XREF: phat_announceon+40j .text:00018F2C MOV R0, #0x2A @ '*' @ Rd = Op2 .text:00018F30 MOV R1, #0 @ Rd = Op2 .text:00018F34 LDR LR, [SP],#arg_4 @ Load from Memory .text:00018F38 B send_command @ Branch .text:00018F3C @ --------------------------------------------------------------------------- .text:00018F3C .text:00018F3C loc_18F3C: @ CODE XREF: phat_announceon+14j .text:00018F3C BL printf @ Branch with Link .text:00018F40 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:00018F44 LDR R1, =aPhat_announceo @ Load from Memory .text:00018F48 BL printf @ Branch with Link .text:00018F4C LDR R0, =asc_2CA6C @ Load from Memory .text:00018F50 BL xdebug_out @ Branch with Link .text:00018F54 B loc_18F2C @ Branch .text:00018F54 @ End of function phat_announceon .text:00018F54 .text:00018F54 @ --------------------------------------------------------------------------- .text:00018F58 off_18F58: .long PHATLIB_DEBUG @ DATA XREF: phat_announceon+4r .text:00018F5C off_18F5C: .long aPhatlib @ DATA XREF: phat_announceon+10r .text:00018F5C @ "phatlib:" .text:00018F60 off_18F60: .long aDosTtsI_S+0xC @ DATA XREF: phat_announceon+2Cr .text:00018F64 off_18F64: .long aPhat_announceo @ DATA XREF: phat_announceon+30r .text:00018F64 @ "phat_announceon" .text:00018F68 off_18F68: .long asc_2CA6C @ DATA XREF: phat_announceon+38r .text:00018F68 @ "()" .text:00018F6C .text:00018F6C @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00018F6C .text:00018F6C .text:00018F6C phat_announceoff: @ CODE XREF: execute_audio_id_command:loc_15210p .text:00018F6C .text:00018F6C var_4 = -4 .text:00018F6C arg_4 = 4 .text:00018F6C .text:00018F6C STR LR, [SP,#var_4]! @ Store to Memory .text:00018F70 LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:00018F74 LDR R2, [R3] @ Load from Memory .text:00018F78 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00018F7C LDR R0, =aPhatlib @ Load from Memory .text:00018F80 BNE loc_18F94 @ Branch .text:00018F84 .text:00018F84 loc_18F84: @ CODE XREF: phat_announceoff+40j .text:00018F84 MOV R0, #0x2B @ '+' @ Rd = Op2 .text:00018F88 MOV R1, #0 @ Rd = Op2 .text:00018F8C LDR LR, [SP],#arg_4 @ Load from Memory .text:00018F90 B send_command @ Branch .text:00018F94 @ --------------------------------------------------------------------------- .text:00018F94 .text:00018F94 loc_18F94: @ CODE XREF: phat_announceoff+14j .text:00018F94 BL printf @ Branch with Link .text:00018F98 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:00018F9C LDR R1, =aPhat_announc_0 @ Load from Memory .text:00018FA0 BL printf @ Branch with Link .text:00018FA4 LDR R0, =asc_2CA6C @ Load from Memory .text:00018FA8 BL xdebug_out @ Branch with Link .text:00018FAC B loc_18F84 @ Branch .text:00018FAC @ End of function phat_announceoff .text:00018FAC .text:00018FAC @ --------------------------------------------------------------------------- .text:00018FB0 off_18FB0: .long PHATLIB_DEBUG @ DATA XREF: phat_announceoff+4r .text:00018FB4 off_18FB4: .long aPhatlib @ DATA XREF: phat_announceoff+10r .text:00018FB4 @ "phatlib:" .text:00018FB8 off_18FB8: .long aDosTtsI_S+0xC @ DATA XREF: phat_announceoff+2Cr .text:00018FBC off_18FBC: .long aPhat_announc_0 @ DATA XREF: phat_announceoff+30r .text:00018FBC @ "phat_announceoff" .text:00018FC0 off_18FC0: .long asc_2CA6C @ DATA XREF: phat_announceoff+38r .text:00018FC0 @ "()" .text:00018FC4 .text:00018FC4 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00018FC4 .text:00018FC4 .text:00018FC4 phat_plamode_normal: @ CODE XREF: processpack:loc_EE64p .text:00018FC4 .text:00018FC4 var_4 = -4 .text:00018FC4 arg_4 = 4 .text:00018FC4 .text:00018FC4 STR LR, [SP,#var_4]! @ Store to Memory .text:00018FC8 LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:00018FCC LDR R2, [R3] @ Load from Memory .text:00018FD0 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00018FD4 LDR R0, =aPhatlib @ Load from Memory .text:00018FD8 BNE loc_18FEC @ Branch .text:00018FDC .text:00018FDC loc_18FDC: @ CODE XREF: phat_plamode_normal+40j .text:00018FDC MOV R0, #0x2C @ ',' @ Rd = Op2 .text:00018FE0 MOV R1, #0 @ Rd = Op2 .text:00018FE4 LDR LR, [SP],#arg_4 @ Load from Memory .text:00018FE8 B send_command @ Branch .text:00018FEC @ --------------------------------------------------------------------------- .text:00018FEC .text:00018FEC loc_18FEC: @ CODE XREF: phat_plamode_normal+14j .text:00018FEC BL printf @ Branch with Link .text:00018FF0 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:00018FF4 LDR R1, =aPhat_playmode_ @ Load from Memory .text:00018FF8 BL printf @ Branch with Link .text:00018FFC LDR R0, =asc_2CA6C @ Load from Memory .text:00019000 BL xdebug_out @ Branch with Link .text:00019004 B loc_18FDC @ Branch .text:00019004 @ End of function phat_plamode_normal .text:00019004 .text:00019004 @ --------------------------------------------------------------------------- .text:00019008 off_19008: .long PHATLIB_DEBUG @ DATA XREF: phat_plamode_normal+4r .text:0001900C off_1900C: .long aPhatlib @ DATA XREF: phat_plamode_normal+10r .text:0001900C @ "phatlib:" .text:00019010 off_19010: .long aDosTtsI_S+0xC @ DATA XREF: phat_plamode_normal+2Cr .text:00019014 off_19014: .long aPhat_playmode_ @ DATA XREF: phat_plamode_normal+30r .text:00019014 @ "phat_playmode_normal" .text:00019018 off_19018: .long asc_2CA6C @ DATA XREF: phat_plamode_normal+38r .text:00019018 @ "()" .text:0001901C .text:0001901C @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001901C .text:0001901C .text:0001901C phat_playmode_artist: @ CODE XREF: processpack:loc_C844p .text:0001901C @ processpack:loc_EF2Cp .text:0001901C .text:0001901C var_4 = -4 .text:0001901C arg_4 = 4 .text:0001901C .text:0001901C STR LR, [SP,#var_4]! @ Store to Memory .text:00019020 LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:00019024 LDR R2, [R3] @ Load from Memory .text:00019028 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0001902C LDR R0, =aPhatlib @ Load from Memory .text:00019030 BNE loc_19044 @ Branch .text:00019034 .text:00019034 loc_19034: @ CODE XREF: phat_playmode_artist+40j .text:00019034 MOV R0, #0x2D @ '-' @ Rd = Op2 .text:00019038 MOV R1, #0 @ Rd = Op2 .text:0001903C LDR LR, [SP],#arg_4 @ Load from Memory .text:00019040 B send_command @ Branch .text:00019044 @ --------------------------------------------------------------------------- .text:00019044 .text:00019044 loc_19044: @ CODE XREF: phat_playmode_artist+14j .text:00019044 BL printf @ Branch with Link .text:00019048 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:0001904C LDR R1, =aPhat_playmod_0 @ Load from Memory .text:00019050 BL printf @ Branch with Link .text:00019054 LDR R0, =asc_2CA6C @ Load from Memory .text:00019058 BL xdebug_out @ Branch with Link .text:0001905C B loc_19034 @ Branch .text:0001905C @ End of function phat_playmode_artist .text:0001905C .text:0001905C @ --------------------------------------------------------------------------- .text:00019060 off_19060: .long PHATLIB_DEBUG @ DATA XREF: phat_playmode_artist+4r .text:00019064 off_19064: .long aPhatlib @ DATA XREF: phat_playmode_artist+10r .text:00019064 @ "phatlib:" .text:00019068 off_19068: .long aDosTtsI_S+0xC @ DATA XREF: phat_playmode_artist+2Cr .text:0001906C off_1906C: .long aPhat_playmod_0 @ DATA XREF: phat_playmode_artist+30r .text:0001906C @ "phat_playmode_artist" .text:00019070 off_19070: .long asc_2CA6C @ DATA XREF: phat_playmode_artist+38r .text:00019070 @ "()" .text:00019074 .text:00019074 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00019074 .text:00019074 .text:00019074 phat_playmode_genre: @ CODE XREF: processpack:loc_C914p .text:00019074 @ processpack:loc_EFF4p .text:00019074 .text:00019074 var_4 = -4 .text:00019074 arg_4 = 4 .text:00019074 .text:00019074 STR LR, [SP,#var_4]! @ Store to Memory .text:00019078 LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:0001907C LDR R2, [R3] @ Load from Memory .text:00019080 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00019084 LDR R0, =aPhatlib @ Load from Memory .text:00019088 BNE loc_1909C @ Branch .text:0001908C .text:0001908C loc_1908C: @ CODE XREF: phat_playmode_genre+40j .text:0001908C MOV R0, #0x2E @ '.' @ Rd = Op2 .text:00019090 MOV R1, #0 @ Rd = Op2 .text:00019094 LDR LR, [SP],#arg_4 @ Load from Memory .text:00019098 B send_command @ Branch .text:0001909C @ --------------------------------------------------------------------------- .text:0001909C .text:0001909C loc_1909C: @ CODE XREF: phat_playmode_genre+14j .text:0001909C BL printf @ Branch with Link .text:000190A0 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:000190A4 LDR R1, =aPhat_playmod_1 @ Load from Memory .text:000190A8 BL printf @ Branch with Link .text:000190AC LDR R0, =asc_2CA6C @ Load from Memory .text:000190B0 BL xdebug_out @ Branch with Link .text:000190B4 B loc_1908C @ Branch .text:000190B4 @ End of function phat_playmode_genre .text:000190B4 .text:000190B4 @ --------------------------------------------------------------------------- .text:000190B8 off_190B8: .long PHATLIB_DEBUG @ DATA XREF: phat_playmode_genre+4r .text:000190BC off_190BC: .long aPhatlib @ DATA XREF: phat_playmode_genre+10r .text:000190BC @ "phatlib:" .text:000190C0 off_190C0: .long aDosTtsI_S+0xC @ DATA XREF: phat_playmode_genre+2Cr .text:000190C4 off_190C4: .long aPhat_playmod_1 @ DATA XREF: phat_playmode_genre+30r .text:000190C4 @ "phat_playmode_genre" .text:000190C8 off_190C8: .long asc_2CA6C @ DATA XREF: phat_playmode_genre+38r .text:000190C8 @ "()" .text:000190CC .text:000190CC @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:000190CC .text:000190CC .text:000190CC phat_playmode_album: @ CODE XREF: processpack:loc_C8B0p .text:000190CC @ processpack:loc_EF94p .text:000190CC .text:000190CC var_4 = -4 .text:000190CC arg_4 = 4 .text:000190CC .text:000190CC STR LR, [SP,#var_4]! @ Store to Memory .text:000190D0 LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:000190D4 LDR R2, [R3] @ Load from Memory .text:000190D8 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:000190DC LDR R0, =aPhatlib @ Load from Memory .text:000190E0 BNE loc_190F4 @ Branch .text:000190E4 .text:000190E4 loc_190E4: @ CODE XREF: phat_playmode_album+40j .text:000190E4 MOV R0, #0x2F @ '/' @ Rd = Op2 .text:000190E8 MOV R1, #0 @ Rd = Op2 .text:000190EC LDR LR, [SP],#arg_4 @ Load from Memory .text:000190F0 B send_command @ Branch .text:000190F4 @ --------------------------------------------------------------------------- .text:000190F4 .text:000190F4 loc_190F4: @ CODE XREF: phat_playmode_album+14j .text:000190F4 BL printf @ Branch with Link .text:000190F8 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:000190FC LDR R1, =aPhat_playmod_2 @ Load from Memory .text:00019100 BL printf @ Branch with Link .text:00019104 LDR R0, =asc_2CA6C @ Load from Memory .text:00019108 BL xdebug_out @ Branch with Link .text:0001910C B loc_190E4 @ Branch .text:0001910C @ End of function phat_playmode_album .text:0001910C .text:0001910C @ --------------------------------------------------------------------------- .text:00019110 off_19110: .long PHATLIB_DEBUG @ DATA XREF: phat_playmode_album+4r .text:00019114 off_19114: .long aPhatlib @ DATA XREF: phat_playmode_album+10r .text:00019114 @ "phatlib:" .text:00019118 off_19118: .long aDosTtsI_S+0xC @ DATA XREF: phat_playmode_album+2Cr .text:0001911C off_1911C: .long aPhat_playmod_2 @ DATA XREF: phat_playmode_album+30r .text:0001911C @ "phat_playmode_album" .text:00019120 off_19120: .long asc_2CA6C @ DATA XREF: phat_playmode_album+38r .text:00019120 @ "()" .text:00019124 .text:00019124 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00019124 .text:00019124 .text:00019124 phat_playmode_eodstop: @ CODE XREF: processpack+65Cp .text:00019124 .text:00019124 var_4 = -4 .text:00019124 arg_4 = 4 .text:00019124 .text:00019124 STR LR, [SP,#var_4]! @ Store to Memory .text:00019128 LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:0001912C LDR R2, [R3] @ Load from Memory .text:00019130 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00019134 LDR R0, =aPhatlib @ Load from Memory .text:00019138 BNE loc_1914C @ Branch .text:0001913C .text:0001913C loc_1913C: @ CODE XREF: phat_playmode_eodstop+40j .text:0001913C MOV R0, #0x31 @ '1' @ Rd = Op2 .text:00019140 MOV R1, #0 @ Rd = Op2 .text:00019144 LDR LR, [SP],#arg_4 @ Load from Memory .text:00019148 B send_command @ Branch .text:0001914C @ --------------------------------------------------------------------------- .text:0001914C .text:0001914C loc_1914C: @ CODE XREF: phat_playmode_eodstop+14j .text:0001914C BL printf @ Branch with Link .text:00019150 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:00019154 LDR R1, =aPhat_playmod_3 @ Load from Memory .text:00019158 BL printf @ Branch with Link .text:0001915C LDR R0, =asc_2CA6C @ Load from Memory .text:00019160 BL xdebug_out @ Branch with Link .text:00019164 B loc_1913C @ Branch .text:00019164 @ End of function phat_playmode_eodstop .text:00019164 .text:00019164 @ --------------------------------------------------------------------------- .text:00019168 off_19168: .long PHATLIB_DEBUG @ DATA XREF: phat_playmode_eodstop+4r .text:0001916C off_1916C: .long aPhatlib @ DATA XREF: phat_playmode_eodstop+10r .text:0001916C @ "phatlib:" .text:00019170 off_19170: .long aDosTtsI_S+0xC @ DATA XREF: phat_playmode_eodstop+2Cr .text:00019174 off_19174: .long aPhat_playmod_3 @ DATA XREF: phat_playmode_eodstop+30r .text:00019174 @ "phat_playmode_eodstop" .text:00019178 off_19178: .long asc_2CA6C @ DATA XREF: phat_playmode_eodstop+38r .text:00019178 @ "()" .text:0001917C .text:0001917C @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001917C .text:0001917C @ unused .text:0001917C .text:0001917C phat_playmode_set_eodstop: .text:0001917C STMFD SP!, {R4,LR} @ Store Block to Memory .text:00019180 LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:00019184 LDR R2, [R3] @ Load from Memory .text:00019188 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0001918C MOV R4, R0 @ Rd = Op2 .text:00019190 LDR R0, =aPhatlib @ Load from Memory .text:00019194 BNE loc_191A8 @ Branch .text:00019198 .text:00019198 loc_19198: @ CODE XREF: phat_playmode_set_eodstop+48j .text:00019198 MOV R1, R4 @ Rd = Op2 .text:0001919C MOV R0, #0x66 @ 'f' @ Rd = Op2 .text:000191A0 LDMFD SP!, {R4,LR} @ Load Block from Memory .text:000191A4 B send_command @ Branch .text:000191A8 @ --------------------------------------------------------------------------- .text:000191A8 .text:000191A8 loc_191A8: @ CODE XREF: phat_playmode_set_eodstop+18j .text:000191A8 BL printf @ Branch with Link .text:000191AC LDR R1, =aPhat_playmod_5 @ Load from Memory .text:000191B0 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:000191B4 BL printf @ Branch with Link .text:000191B8 LDR R0, =(a02xI_0+0x18) @ Load from Memory .text:000191BC MOV R1, R4 @ Rd = Op2 .text:000191C0 BL printf @ Branch with Link .text:000191C4 B loc_19198 @ Branch .text:000191C4 @ End of function phat_playmode_set_eodstop .text:000191C4 .text:000191C4 @ --------------------------------------------------------------------------- .text:000191C8 off_191C8: .long PHATLIB_DEBUG @ DATA XREF: phat_playmode_set_eodstop+4r .text:000191CC off_191CC: .long aPhatlib @ DATA XREF: phat_playmode_set_eodstop+14r .text:000191CC @ "phatlib:" .text:000191D0 off_191D0: .long aPhat_playmod_5 @ DATA XREF: phat_playmode_set_eodstop+30r .text:000191D0 @ "phat_playmode_set_eodstop" .text:000191D4 off_191D4: .long aDosTtsI_S+0xC @ DATA XREF: phat_playmode_set_eodstop+34r .text:000191D8 off_191D8: .long a02xI_0+0x18 @ DATA XREF: phat_playmode_set_eodstop+3Cr .text:000191DC .text:000191DC @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:000191DC .text:000191DC .text:000191DC phat_playmode_alpha: @ CODE XREF: processpack:loc_DC44p .text:000191DC STMFD SP!, {R4,LR} @ Store Block to Memory .text:000191E0 LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:000191E4 LDR R2, [R3] @ Load from Memory .text:000191E8 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:000191EC MOV R4, R0 @ Rd = Op2 .text:000191F0 LDR R0, =aPhatlib @ Load from Memory .text:000191F4 BNE loc_19208 @ Branch .text:000191F8 .text:000191F8 loc_191F8: @ CODE XREF: phat_playmode_alpha+44j .text:000191F8 MOV R1, R4 @ Rd = Op2 .text:000191FC MOV R0, #0x33 @ '3' @ Rd = Op2 .text:00019200 LDMFD SP!, {R4,LR} @ Load Block from Memory .text:00019204 B send_command @ Branch .text:00019208 @ --------------------------------------------------------------------------- .text:00019208 .text:00019208 loc_19208: @ CODE XREF: phat_playmode_alpha+18j .text:00019208 BL printf @ Branch with Link .text:0001920C LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:00019210 LDR R1, =aPhat_playmod_4 @ Load from Memory .text:00019214 BL printf @ Branch with Link .text:00019218 LDR R0, =asc_2CA6C @ Load from Memory .text:0001921C BL xdebug_out @ Branch with Link .text:00019220 B loc_191F8 @ Branch .text:00019220 @ End of function phat_playmode_alpha .text:00019220 .text:00019220 @ --------------------------------------------------------------------------- .text:00019224 off_19224: .long PHATLIB_DEBUG @ DATA XREF: phat_playmode_alpha+4r .text:00019228 off_19228: .long aPhatlib @ DATA XREF: phat_playmode_alpha+14r .text:00019228 @ "phatlib:" .text:0001922C off_1922C: .long aDosTtsI_S+0xC @ DATA XREF: phat_playmode_alpha+30r .text:00019230 off_19230: .long aPhat_playmod_4 @ DATA XREF: phat_playmode_alpha+34r .text:00019230 @ "phat_playmode_alpha" .text:00019234 off_19234: .long asc_2CA6C @ DATA XREF: phat_playmode_alpha+3Cr .text:00019234 @ "()" .text:00019238 .text:00019238 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00019238 .text:00019238 .text:00019238 phat_swap_channels: @ CODE XREF: processpack:loc_C46Cp .text:00019238 .text:00019238 var_4 = -4 .text:00019238 arg_4 = 4 .text:00019238 .text:00019238 STR LR, [SP,#var_4]! @ Store to Memory .text:0001923C LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:00019240 LDR R2, [R3] @ Load from Memory .text:00019244 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00019248 LDR R0, =aPhatlib @ Load from Memory .text:0001924C BNE loc_19260 @ Branch .text:00019250 .text:00019250 loc_19250: @ CODE XREF: phat_swap_channels+40j .text:00019250 MOV R0, #0x35 @ '5' @ Rd = Op2 .text:00019254 MOV R1, #0 @ Rd = Op2 .text:00019258 LDR LR, [SP],#arg_4 @ Load from Memory .text:0001925C B send_command @ Branch .text:00019260 @ --------------------------------------------------------------------------- .text:00019260 .text:00019260 loc_19260: @ CODE XREF: phat_swap_channels+14j .text:00019260 BL printf @ Branch with Link .text:00019264 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:00019268 LDR R1, =aPhat_swap_chan @ Load from Memory .text:0001926C BL printf @ Branch with Link .text:00019270 LDR R0, =asc_2CA6C @ Load from Memory .text:00019274 BL xdebug_out @ Branch with Link .text:00019278 B loc_19250 @ Branch .text:00019278 @ End of function phat_swap_channels .text:00019278 .text:00019278 @ --------------------------------------------------------------------------- .text:0001927C off_1927C: .long PHATLIB_DEBUG @ DATA XREF: phat_swap_channels+4r .text:00019280 off_19280: .long aPhatlib @ DATA XREF: phat_swap_channels+10r .text:00019280 @ "phatlib:" .text:00019284 off_19284: .long aDosTtsI_S+0xC @ DATA XREF: phat_swap_channels+2Cr .text:00019288 off_19288: .long aPhat_swap_chan @ DATA XREF: phat_swap_channels+30r .text:00019288 @ "phat_swap_channels" .text:0001928C off_1928C: .long asc_2CA6C @ DATA XREF: phat_swap_channels+38r .text:0001928C @ "()" .text:00019290 .text:00019290 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00019290 .text:00019290 .text:00019290 phat_badtrack: .text:00019290 STMFD SP!, {R4,LR} @ Store Block to Memory .text:00019294 MOV R1, #0 @ Rd = Op2 .text:00019298 MOV R0, #0x51 @ 'Q' @ Rd = Op2 .text:0001929C BL send_command @ Branch with Link .text:000192A0 LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:000192A4 LDR R2, [R3] @ Load from Memory .text:000192A8 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:000192AC MOV R4, R0 @ Rd = Op2 .text:000192B0 LDR R0, =aPhatlib @ Load from Memory .text:000192B4 BNE loc_192CC @ Branch .text:000192B8 .text:000192B8 loc_192B8: @ CODE XREF: phat_badtrack+54j .text:000192B8 MOVL R0, 0x7A120 .text:000192C0 BL sub_287E4 @ Branch with Link .text:000192C4 MOV R0, R4 @ Rd = Op2 .text:000192C8 LDMFD SP!, {R4,PC} @ Load Block from Memory .text:000192CC @ --------------------------------------------------------------------------- .text:000192CC .text:000192CC loc_192CC: @ CODE XREF: phat_badtrack+24j .text:000192CC BL printf @ Branch with Link .text:000192D0 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:000192D4 LDR R1, =aPhat_badtrack @ Load from Memory .text:000192D8 BL printf @ Branch with Link .text:000192DC LDR R0, =asc_2CA6C @ Load from Memory .text:000192E0 BL xdebug_out @ Branch with Link .text:000192E4 B loc_192B8 @ Branch .text:000192E4 @ End of function phat_badtrack .text:000192E4 .text:000192E4 @ --------------------------------------------------------------------------- .text:000192E8 off_192E8: .long PHATLIB_DEBUG @ DATA XREF: phat_badtrack+10r .text:000192EC off_192EC: .long aPhatlib @ DATA XREF: phat_badtrack+20r .text:000192EC @ "phatlib:" .text:000192F0 off_192F0: .long aDosTtsI_S+0xC @ DATA XREF: phat_badtrack+40r .text:000192F4 off_192F4: .long aPhat_badtrack @ DATA XREF: phat_badtrack+44r .text:000192F4 @ "phat_badtrack" .text:000192F8 off_192F8: .long asc_2CA6C @ DATA XREF: phat_badtrack+4Cr .text:000192F8 @ "()" .text:000192FC .text:000192FC @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:000192FC .text:000192FC .text:000192FC phat_eot: .text:000192FC .text:000192FC var_4 = -4 .text:000192FC arg_4 = 4 .text:000192FC .text:000192FC STR LR, [SP,#var_4]! @ Store to Memory .text:00019300 LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:00019304 LDR R2, [R3] @ Load from Memory .text:00019308 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0001930C LDR R0, =aPhatlib @ Load from Memory .text:00019310 BNE loc_19324 @ Branch .text:00019314 .text:00019314 loc_19314: @ CODE XREF: phat_eot+40j .text:00019314 MOV R0, #0x52 @ 'R' @ Rd = Op2 .text:00019318 MOV R1, #0 @ Rd = Op2 .text:0001931C LDR LR, [SP],#arg_4 @ Load from Memory .text:00019320 B send_command @ Branch .text:00019324 @ --------------------------------------------------------------------------- .text:00019324 .text:00019324 loc_19324: @ CODE XREF: phat_eot+14j .text:00019324 BL printf @ Branch with Link .text:00019328 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:0001932C LDR R1, =aPhat_eot @ Load from Memory .text:00019330 BL printf @ Branch with Link .text:00019334 LDR R0, =asc_2CA6C @ Load from Memory .text:00019338 BL xdebug_out @ Branch with Link .text:0001933C B loc_19314 @ Branch .text:0001933C @ End of function phat_eot .text:0001933C .text:0001933C @ --------------------------------------------------------------------------- .text:00019340 off_19340: .long PHATLIB_DEBUG @ DATA XREF: phat_eot+4r .text:00019344 off_19344: .long aPhatlib @ DATA XREF: phat_eot+10r .text:00019344 @ "phatlib:" .text:00019348 off_19348: .long aDosTtsI_S+0xC @ DATA XREF: phat_eot+2Cr .text:0001934C off_1934C: .long aPhat_eot @ DATA XREF: phat_eot+30r .text:0001934C @ "phat_eot" .text:00019350 off_19350: .long asc_2CA6C @ DATA XREF: phat_eot+38r .text:00019350 @ "()" .text:00019354 .text:00019354 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00019354 .text:00019354 .text:00019354 phat_playmode: @ CODE XREF: main+B4Cp .text:00019354 @ main:loc_8BE8p ... .text:00019354 .text:00019354 op_code = -0x224 .text:00019354 arg1 = -0x220 .text:00019354 play_mode = -0x21C .text:00019354 .text:00019354 STMFD SP!, {R4,R5,LR} @ Store Block to Memory .text:00019358 LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:0001935C LDR R2, [R3] @ Load from Memory .text:00019360 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:00019364 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:00019368 MOV R5, SP @ Rd = Op2 .text:0001936C LDR R0, =aPhatlib @ Load from Memory .text:00019370 LDR R4, =phatsock_fd @ Load from Memory .text:00019374 BNE loc_193D4 @ Branch .text:00019378 .text:00019378 loc_19378: @ CODE XREF: phat_playmode+98j .text:00019378 LDR R12, [R4] @ Load from Memory .text:0001937C MOV R3, #0 @ Rd = Op2 .text:00019380 CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:00019384 MOV R1, R5 @ Rd = Op2 .text:00019388 MOV R2, #0x218 @ Rd = Op2 .text:0001938C MOVL LR, 0xFFFFFFFF .text:00019390 MOV R0, R12 @ Rd = Op2 .text:00019394 BLT loc_193C8 @ Branch .text:00019398 MOV R12, #0x1F @ Rd = Op2 .text:0001939C STR R12, [SP,#0x224+op_code] @ Store to Memory .text:000193A0 BL send @ Branch with Link .text:000193A4 MOV R3, #0 @ Rd = Op2 .text:000193A8 LDR R0, [R4] @ Load from Memory .text:000193AC MOV R1, R5 @ Rd = Op2 .text:000193B0 MOV R2, #0x218 @ Rd = Op2 .text:000193B4 BL recv @ Branch with Link .text:000193B8 LDR R3, [SP,#0x224+arg1] @ Load from Memory .text:000193BC CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:000193C0 LDREQ LR, [SP,#0x224+play_mode] @ Load from Memory .text:000193C4 MOVNE LR, #0 @ Rd = Op2 .text:000193C8 .text:000193C8 loc_193C8: @ CODE XREF: phat_playmode+40j .text:000193C8 MOV R0, LR @ Rd = Op2 .text:000193CC ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:000193D0 LDMFD SP!, {R4,R5,PC} @ Load Block from Memory .text:000193D4 @ --------------------------------------------------------------------------- .text:000193D4 .text:000193D4 loc_193D4: @ CODE XREF: phat_playmode+20j .text:000193D4 BL printf @ Branch with Link .text:000193D8 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:000193DC LDR R1, =aPhat_playmode @ Load from Memory .text:000193E0 BL printf @ Branch with Link .text:000193E4 LDR R0, =asc_2CA6C @ Load from Memory .text:000193E8 BL xdebug_out @ Branch with Link .text:000193EC B loc_19378 @ Branch .text:000193EC @ End of function phat_playmode .text:000193EC .text:000193EC @ --------------------------------------------------------------------------- .text:000193F0 off_193F0: .long PHATLIB_DEBUG @ DATA XREF: phat_playmode+4r .text:000193F4 off_193F4: .long aPhatlib @ DATA XREF: phat_playmode+18r .text:000193F4 @ "phatlib:" .text:000193F8 off_193F8: .long phatsock_fd @ DATA XREF: phat_playmode+1Cr .text:000193FC off_193FC: .long aDosTtsI_S+0xC @ DATA XREF: phat_playmode+84r .text:00019400 off_19400: .long aPhat_playmode @ DATA XREF: phat_playmode+88r .text:00019400 @ "phat_playmode" .text:00019404 off_19404: .long asc_2CA6C @ DATA XREF: phat_playmode+90r .text:00019404 @ "()" .text:00019408 .text:00019408 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00019408 .text:00019408 .text:00019408 phat_playlistmode: @ CODE XREF: main+B2Cp .text:00019408 @ main:loc_8BD0p ... .text:00019408 .text:00019408 op_code = -0x224 .text:00019408 arg1 = -0x220 .text:00019408 play_mode = -0x21C .text:00019408 .text:00019408 STMFD SP!, {R4,R5,LR} @ Store Block to Memory .text:0001940C LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:00019410 LDR R2, [R3] @ Load from Memory .text:00019414 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:00019418 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0001941C MOV R5, SP @ Rd = Op2 .text:00019420 LDR R0, =aPhatlib @ Load from Memory .text:00019424 LDR R4, =phatsock_fd @ Load from Memory .text:00019428 BNE loc_19488 @ Branch .text:0001942C .text:0001942C loc_1942C: @ CODE XREF: phat_playlistmode+98j .text:0001942C LDR R12, [R4] @ Load from Memory .text:00019430 MOV R3, #0 @ Rd = Op2 .text:00019434 CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:00019438 MOV R1, R5 @ Rd = Op2 .text:0001943C MOV R2, #0x218 @ Rd = Op2 .text:00019440 MOVL LR, 0xFFFFFFFF .text:00019444 MOV R0, R12 @ Rd = Op2 .text:00019448 BLT loc_1947C @ Branch .text:0001944C MOV R12, #0x34 @ '4' @ Rd = Op2 .text:00019450 STR R12, [SP,#0x224+op_code] @ Store to Memory .text:00019454 BL send @ Branch with Link .text:00019458 MOV R3, #0 @ Rd = Op2 .text:0001945C LDR R0, [R4] @ Load from Memory .text:00019460 MOV R1, R5 @ Rd = Op2 .text:00019464 MOV R2, #0x218 @ Rd = Op2 .text:00019468 BL recv @ Branch with Link .text:0001946C LDR R3, [SP,#0x224+arg1] @ Load from Memory .text:00019470 CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:00019474 LDREQ LR, [SP,#0x224+play_mode] @ Load from Memory .text:00019478 MOVNE LR, #0 @ Rd = Op2 .text:0001947C .text:0001947C loc_1947C: @ CODE XREF: phat_playlistmode+40j .text:0001947C MOV R0, LR @ Rd = Op2 .text:00019480 ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:00019484 LDMFD SP!, {R4,R5,PC} @ Load Block from Memory .text:00019488 @ --------------------------------------------------------------------------- .text:00019488 .text:00019488 loc_19488: @ CODE XREF: phat_playlistmode+20j .text:00019488 BL printf @ Branch with Link .text:0001948C LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:00019490 LDR R1, =aPhat_playlistm @ Load from Memory .text:00019494 BL printf @ Branch with Link .text:00019498 LDR R0, =asc_2CA6C @ Load from Memory .text:0001949C BL xdebug_out @ Branch with Link .text:000194A0 B loc_1942C @ Branch .text:000194A0 @ End of function phat_playlistmode .text:000194A0 .text:000194A0 @ --------------------------------------------------------------------------- .text:000194A4 off_194A4: .long PHATLIB_DEBUG @ DATA XREF: phat_playlistmode+4r .text:000194A8 off_194A8: .long aPhatlib @ DATA XREF: phat_playlistmode+18r .text:000194A8 @ "phatlib:" .text:000194AC off_194AC: .long phatsock_fd @ DATA XREF: phat_playlistmode+1Cr .text:000194B0 off_194B0: .long aDosTtsI_S+0xC @ DATA XREF: phat_playlistmode+84r .text:000194B4 off_194B4: .long aPhat_playlistm @ DATA XREF: phat_playlistmode+88r .text:000194B4 @ "phat_playlistmode" .text:000194B8 off_194B8: .long asc_2CA6C @ DATA XREF: phat_playlistmode+90r .text:000194B8 @ "()" .text:000194BC .text:000194BC @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:000194BC .text:000194BC .text:000194BC sub_194BC: .text:000194BC .text:000194BC var_228 = -0x228 .text:000194BC var_224 = -0x224 .text:000194BC var_210 = -0x210 .text:000194BC .text:000194BC STMFD SP!, {R4-R6,LR} @ Store Block to Memory .text:000194C0 LDR R4, =phatsock_fd @ Load from Memory .text:000194C4 LDR R12, [R4] @ Load from Memory .text:000194C8 MOV R3, #0 @ Rd = Op2 .text:000194CC SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:000194D0 CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:000194D4 MOV R0, R12 @ Rd = Op2 .text:000194D8 MOV R5, SP @ Rd = Op2 .text:000194DC MOV R1, SP @ Rd = Op2 .text:000194E0 MOV R2, #0x218 @ Rd = Op2 .text:000194E4 MOV R12, R3 @ Rd = Op2 .text:000194E8 BLT loc_19528 @ Branch .text:000194EC MOV R12, #0x23 @ '#' @ Rd = Op2 .text:000194F0 STR R12, [SP,#0x228+var_228] @ Store to Memory .text:000194F4 BL send @ Branch with Link .text:000194F8 MOV R1, SP @ Rd = Op2 .text:000194FC MOV R3, #0 @ Rd = Op2 .text:00019500 LDR R0, [R4] @ Load from Memory .text:00019504 MOV R2, #0x218 @ Rd = Op2 .text:00019508 BL recv @ Branch with Link .text:0001950C LDR R3, [SP,#0x228+var_224] @ Load from Memory .text:00019510 LDR R6, =dword_42FD8 @ Load from Memory .text:00019514 CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:00019518 ADD R1, SP, #0x228+var_210 @ Rd = Op1 + Op2 .text:0001951C MOV R0, R6 @ Rd = Op2 .text:00019520 MOVNE R12, #0 @ Rd = Op2 .text:00019524 BEQ loc_19534 @ Branch .text:00019528 .text:00019528 loc_19528: @ CODE XREF: sub_194BC+2Cj .text:00019528 @ sub_194BC+80j .text:00019528 MOV R0, R12 @ Rd = Op2 .text:0001952C ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:00019530 LDMFD SP!, {R4-R6,PC} @ Load Block from Memory .text:00019534 @ --------------------------------------------------------------------------- .text:00019534 .text:00019534 loc_19534: @ CODE XREF: sub_194BC+68j .text:00019534 BL strcpy @ Branch with Link .text:00019538 MOV R12, R6 @ Rd = Op2 .text:0001953C B loc_19528 @ Branch .text:0001953C @ End of function sub_194BC .text:0001953C .text:0001953C @ --------------------------------------------------------------------------- .text:00019540 off_19540: .long phatsock_fd @ DATA XREF: sub_194BC+4r .text:00019544 off_19544: .long dword_42FD8 @ DATA XREF: sub_194BC+54r .text:00019548 .text:00019548 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00019548 .text:00019548 .text:00019548 sub_19548: @ CODE XREF: run_audio_id+828p .text:00019548 @ run_audio_id+8C8p .text:00019548 MOV R1, R0 @ Rd = Op2 .text:0001954C MOV R12, #0x20 @ ' ' @ Rd = Op2 .text:00019550 .text:00019550 loc_19550: @ CODE XREF: sub_19548+19Cj .text:00019550 LDRB R2, [R1] @ Load from Memory .text:00019554 SUB R3, R2, #0x22 @ Rd = Op1 - Op2 .text:00019558 CMP R3, #0x5A @ 'Z' @ Set cond. codes on Op1 - Op2 .text:0001955C LDRLS PC, [PC,R3,LSL#2] @ Indirect Jump .text:00019560 B loc_196D8 @ Branch .text:00019560 @ --------------------------------------------------------------------------- .text:00019564 .long loc_196D0 .text:00019568 .long loc_196D8 .text:0001956C .long loc_196D8 .text:00019570 .long loc_196D8 .text:00019574 .long loc_196D8 .text:00019578 .long loc_196D8 .text:0001957C .long loc_196D8 .text:00019580 .long loc_196D8 .text:00019584 .long loc_196D0 .text:00019588 .long loc_196D8 .text:0001958C .long loc_196D8 .text:00019590 .long loc_196D8 .text:00019594 .long loc_196D8 .text:00019598 .long loc_196D0 .text:0001959C .long loc_196D8 .text:000195A0 .long loc_196D8 .text:000195A4 .long loc_196D8 .text:000195A8 .long loc_196D8 .text:000195AC .long loc_196D8 .text:000195B0 .long loc_196D8 .text:000195B4 .long loc_196D8 .text:000195B8 .long loc_196D8 .text:000195BC .long loc_196D8 .text:000195C0 .long loc_196D8 .text:000195C4 .long loc_196D0 .text:000195C8 .long loc_196D8 .text:000195CC .long loc_196D0 .text:000195D0 .long loc_196D8 .text:000195D4 .long loc_196D0 .text:000195D8 .long loc_196D0 .text:000195DC .long loc_196D8 .text:000195E0 .long loc_196D8 .text:000195E4 .long loc_196D8 .text:000195E8 .long loc_196D8 .text:000195EC .long loc_196D8 .text:000195F0 .long loc_196D8 .text:000195F4 .long loc_196D8 .text:000195F8 .long loc_196D8 .text:000195FC .long loc_196D8 .text:00019600 .long loc_196D8 .text:00019604 .long loc_196D8 .text:00019608 .long loc_196D8 .text:0001960C .long loc_196D8 .text:00019610 .long loc_196D8 .text:00019614 .long loc_196D8 .text:00019618 .long loc_196D8 .text:0001961C .long loc_196D8 .text:00019620 .long loc_196D8 .text:00019624 .long loc_196D8 .text:00019628 .long loc_196D8 .text:0001962C .long loc_196D8 .text:00019630 .long loc_196D8 .text:00019634 .long loc_196D8 .text:00019638 .long loc_196D8 .text:0001963C .long loc_196D8 .text:00019640 .long loc_196D8 .text:00019644 .long loc_196D8 .text:00019648 .long loc_196D8 .text:0001964C .long loc_196D0 .text:00019650 .long loc_196D8 .text:00019654 .long loc_196D8 .text:00019658 .long loc_196D8 .text:0001965C .long loc_196D8 .text:00019660 .long loc_196D8 .text:00019664 .long loc_196D8 .text:00019668 .long loc_196D8 .text:0001966C .long loc_196D8 .text:00019670 .long loc_196D8 .text:00019674 .long loc_196D8 .text:00019678 .long loc_196D8 .text:0001967C .long loc_196D8 .text:00019680 .long loc_196D8 .text:00019684 .long loc_196D8 .text:00019688 .long loc_196D8 .text:0001968C .long loc_196D8 .text:00019690 .long loc_196D8 .text:00019694 .long loc_196D8 .text:00019698 .long loc_196D8 .text:0001969C .long loc_196D8 .text:000196A0 .long loc_196D8 .text:000196A4 .long loc_196D8 .text:000196A8 .long loc_196D8 .text:000196AC .long loc_196D8 .text:000196B0 .long loc_196D8 .text:000196B4 .long loc_196D8 .text:000196B8 .long loc_196D8 .text:000196BC .long loc_196D8 .text:000196C0 .long loc_196D8 .text:000196C4 .long loc_196D8 .text:000196C8 .long loc_196D8 .text:000196CC .long loc_196D0 .text:000196D0 @ --------------------------------------------------------------------------- .text:000196D0 .text:000196D0 loc_196D0: @ CODE XREF: sub_19548+14j .text:000196D0 @ DATA XREF: sub_19548+1Co ... .text:000196D0 STRB R12, [R1] @ Store to Memory .text:000196D4 MOV R2, R12 @ Rd = Op2 .text:000196D8 .text:000196D8 loc_196D8: @ CODE XREF: sub_19548+14j .text:000196D8 @ sub_19548+18j .text:000196D8 @ DATA XREF: ... .text:000196D8 TST R2, #0xFF @ Set cond. codes on Op1 & Op2 .text:000196DC ADD R1, R1, #1 @ Rd = Op1 + Op2 .text:000196E0 MOVEQ PC, LR @ Rd = Op2 .text:000196E4 B loc_19550 @ Branch .text:000196E4 @ End of function sub_19548 .text:000196E4 .text:000196E8 .text:000196E8 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:000196E8 .text:000196E8 .text:000196E8 sub_196E8: @ CODE XREF: processpack:loc_C77Cp .text:000196E8 .text:000196E8 var_224 = -0x224 .text:000196E8 var_220 = -0x220 .text:000196E8 .text:000196E8 STMFD SP!, {R4,R5,LR} @ Store Block to Memory .text:000196EC LDR R4, =phatsock_fd @ Load from Memory .text:000196F0 LDR R12, [R4] @ Load from Memory .text:000196F4 MOV R3, #0 @ Rd = Op2 .text:000196F8 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:000196FC CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:00019700 MOV R0, R12 @ Rd = Op2 .text:00019704 MOV R5, SP @ Rd = Op2 .text:00019708 MOV R1, SP @ Rd = Op2 .text:0001970C MOV R2, #0x218 @ Rd = Op2 .text:00019710 MOVL R12, 0xFFFFFFFF .text:00019714 BLT loc_19748 @ Branch .text:00019718 MOV R12, #0x38 @ '8' @ Rd = Op2 .text:0001971C STR R12, [SP,#0x224+var_224] @ Store to Memory .text:00019720 BL send @ Branch with Link .text:00019724 MOV R3, #0 @ Rd = Op2 .text:00019728 LDR R0, [R4] @ Load from Memory .text:0001972C MOV R1, SP @ Rd = Op2 .text:00019730 MOV R2, #0x218 @ Rd = Op2 .text:00019734 BL recv @ Branch with Link .text:00019738 LDR R3, [SP,#0x224+var_220] @ Load from Memory .text:0001973C CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:00019740 MOVNE R12, #0 @ Rd = Op2 .text:00019744 MOVEQ R12, #1 @ Rd = Op2 .text:00019748 .text:00019748 loc_19748: @ CODE XREF: sub_196E8+2Cj .text:00019748 MOV R0, R12 @ Rd = Op2 .text:0001974C ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:00019750 LDMFD SP!, {R4,R5,PC} @ Load Block from Memory .text:00019750 @ End of function sub_196E8 .text:00019750 .text:00019750 @ --------------------------------------------------------------------------- .text:00019754 off_19754: .long phatsock_fd @ DATA XREF: sub_196E8+4r .text:00019758 .text:00019758 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00019758 .text:00019758 .text:00019758 sub_19758: @ CODE XREF: processpack:loc_E7B8p .text:00019758 @ processpack:loc_E84Cp ... .text:00019758 .text:00019758 var_224 = -0x224 .text:00019758 var_220 = -0x220 .text:00019758 .text:00019758 STMFD SP!, {R4,R5,LR} @ Store Block to Memory .text:0001975C LDR R4, =phatsock_fd @ Load from Memory .text:00019760 LDR R12, [R4] @ Load from Memory .text:00019764 MOV R3, #0 @ Rd = Op2 .text:00019768 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:0001976C CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:00019770 MOV R0, R12 @ Rd = Op2 .text:00019774 MOV R5, SP @ Rd = Op2 .text:00019778 MOV R1, SP @ Rd = Op2 .text:0001977C MOV R2, #0x218 @ Rd = Op2 .text:00019780 MOVL R12, 0xFFFFFFFF .text:00019784 BLT loc_197B8 @ Branch .text:00019788 MOV R12, #0x47 @ 'G' @ Rd = Op2 .text:0001978C STR R12, [SP,#0x224+var_224] @ Store to Memory .text:00019790 BL send @ Branch with Link .text:00019794 MOV R3, #0 @ Rd = Op2 .text:00019798 LDR R0, [R4] @ Load from Memory .text:0001979C MOV R1, SP @ Rd = Op2 .text:000197A0 MOV R2, #0x218 @ Rd = Op2 .text:000197A4 BL recv @ Branch with Link .text:000197A8 LDR R3, [SP,#0x224+var_220] @ Load from Memory .text:000197AC CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:000197B0 MOVNE R12, #0 @ Rd = Op2 .text:000197B4 MOVEQ R12, #1 @ Rd = Op2 .text:000197B8 .text:000197B8 loc_197B8: @ CODE XREF: sub_19758+2Cj .text:000197B8 MOV R0, R12 @ Rd = Op2 .text:000197BC ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:000197C0 LDMFD SP!, {R4,R5,PC} @ Load Block from Memory .text:000197C0 @ End of function sub_19758 .text:000197C0 .text:000197C0 @ --------------------------------------------------------------------------- .text:000197C4 off_197C4: .long phatsock_fd @ DATA XREF: sub_19758+4r .text:000197C8 .text:000197C8 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:000197C8 .text:000197C8 .text:000197C8 sub_197C8: .text:000197C8 .text:000197C8 var_224 = -0x224 .text:000197C8 var_220 = -0x220 .text:000197C8 .text:000197C8 STMFD SP!, {R4,R5,LR} @ Store Block to Memory .text:000197CC LDR R4, =phatsock_fd @ Load from Memory .text:000197D0 LDR R12, [R4] @ Load from Memory .text:000197D4 MOV R3, #0 @ Rd = Op2 .text:000197D8 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:000197DC CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:000197E0 MOV R0, R12 @ Rd = Op2 .text:000197E4 MOV R5, SP @ Rd = Op2 .text:000197E8 MOV R1, SP @ Rd = Op2 .text:000197EC MOV R2, #0x218 @ Rd = Op2 .text:000197F0 MOVL R12, 0xFFFFFFFF .text:000197F4 BLT loc_19828 @ Branch .text:000197F8 MOV R12, #0x3A @ ':' @ Rd = Op2 .text:000197FC STR R12, [SP,#0x224+var_224] @ Store to Memory .text:00019800 BL send @ Branch with Link .text:00019804 MOV R3, #0 @ Rd = Op2 .text:00019808 LDR R0, [R4] @ Load from Memory .text:0001980C MOV R1, SP @ Rd = Op2 .text:00019810 MOV R2, #0x218 @ Rd = Op2 .text:00019814 BL recv @ Branch with Link .text:00019818 LDR R3, [SP,#0x224+var_220] @ Load from Memory .text:0001981C CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:00019820 MOVNE R12, #0 @ Rd = Op2 .text:00019824 MOVEQ R12, #1 @ Rd = Op2 .text:00019828 .text:00019828 loc_19828: @ CODE XREF: sub_197C8+2Cj .text:00019828 MOV R0, R12 @ Rd = Op2 .text:0001982C ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:00019830 LDMFD SP!, {R4,R5,PC} @ Load Block from Memory .text:00019830 @ End of function sub_197C8 .text:00019830 .text:00019830 @ --------------------------------------------------------------------------- .text:00019834 off_19834: .long phatsock_fd @ DATA XREF: sub_197C8+4r .text:00019838 .text:00019838 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00019838 .text:00019838 .text:00019838 sub_19838: @ CODE XREF: main+350p .text:00019838 .text:00019838 var_22C = -0x22C .text:00019838 var_224 = -0x224 .text:00019838 .text:00019838 STMFD SP!, {R4-R7,LR} @ Store Block to Memory .text:0001983C LDR R6, =dword_360A8 @ Load from Memory .text:00019840 LDR R12, [R6] @ Load from Memory .text:00019844 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:00019848 CMN R12, #1 @ Set cond. codes on Op1 + Op2 .text:0001984C MOV R5, R0 @ Rd = Op2 .text:00019850 MOV R4, SP @ Rd = Op2 .text:00019854 MOV R1, SP @ Rd = Op2 .text:00019858 MOV R2, #0x218 @ Rd = Op2 .text:0001985C MOV R3, #0 @ Rd = Op2 .text:00019860 MOV R0, R12 @ Rd = Op2 .text:00019864 BLE loc_1989C @ Branch .text:00019868 MOV R12, #0x21 @ '!' @ Rd = Op2 .text:0001986C STR R12, [SP,#0x22C+var_22C] @ Store to Memory .text:00019870 STR R5, [SP,#0x22C+var_224] @ Store to Memory .text:00019874 BL send @ Branch with Link .text:00019878 LDR R0, [R6] @ Load from Memory .text:0001987C MOV R1, SP @ Rd = Op2 .text:00019880 .text:00019880 loc_19880: @ CODE XREF: sub_19838+E8j .text:00019880 MOV R2, #0x218 @ Rd = Op2 .text:00019884 MOV R3, #0 @ Rd = Op2 .text:00019888 BL recv @ Branch with Link .text:0001988C MOV LR, #1 @ Rd = Op2 .text:00019890 .text:00019890 loc_19890: @ CODE XREF: sub_19838+84j .text:00019890 MOV R0, LR @ Rd = Op2 .text:00019894 ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:00019898 LDMFD SP!, {R4-R7,PC} @ Load Block from Memory .text:0001989C @ --------------------------------------------------------------------------- .text:0001989C .text:0001989C loc_1989C: @ CODE XREF: sub_19838+2Cj .text:0001989C BL phatd_connect @ Branch with Link .text:000198A0 MOV R3, #0 @ Rd = Op2 .text:000198A4 CMN R0, #1 @ Set cond. codes on Op1 + Op2 .text:000198A8 MOV R7, SP @ Rd = Op2 .text:000198AC MOV R1, SP @ Rd = Op2 .text:000198B0 MOV R2, #0x218 @ Rd = Op2 .text:000198B4 MOV LR, R3 @ Rd = Op2 .text:000198B8 STR R0, [R6] @ Store to Memory .text:000198BC BEQ loc_19890 @ Branch .text:000198C0 LDR R4, =byte_360B0 @ Load from Memory .text:000198C4 MOV R12, #0x21 @ '!' @ Rd = Op2 .text:000198C8 STR R5, [R4] @ Store to Memory .text:000198CC STR R12, [SP,#0x22C+var_22C] @ Store to Memory .text:000198D0 STR R5, [SP,#0x22C+var_224] @ Store to Memory .text:000198D4 BL send @ Branch with Link .text:000198D8 MOV R1, SP @ Rd = Op2 .text:000198DC MOV R2, #0x218 @ Rd = Op2 .text:000198E0 MOV R3, #0 @ Rd = Op2 .text:000198E4 LDR R0, [R6] @ Load from Memory .text:000198E8 BL recv @ Branch with Link .text:000198EC MOV R3, #0x20 @ ' ' @ Rd = Op2 .text:000198F0 STR R3, [SP,#0x22C+var_22C] @ Store to Memory .text:000198F4 BL __libc_getpid @ Branch with Link .text:000198F8 MOV R12, R0 @ Rd = Op2 .text:000198FC ADD R12, R12, #0x3E8 @ Rd = Op1 + Op2 .text:00019900 MOV R1, SP @ Rd = Op2 .text:00019904 LDR R0, [R6] @ Load from Memory .text:00019908 MOV R2, #0x218 @ Rd = Op2 .text:0001990C MOV R3, #0 @ Rd = Op2 .text:00019910 STR R12, [SP,#0x22C+var_224] @ Store to Memory .text:00019914 BL send @ Branch with Link .text:00019918 LDR R0, [R6] @ Load from Memory .text:0001991C MOV R1, SP @ Rd = Op2 .text:00019920 B loc_19880 @ Branch .text:00019920 @ End of function sub_19838 .text:00019920 .text:00019920 @ --------------------------------------------------------------------------- .text:00019924 off_19924: .long dword_360A8 @ DATA XREF: sub_19838+4r .text:00019928 off_19928: .long byte_360B0 @ DATA XREF: sub_19838+88r .text:0001992C .text:0001992C @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001992C .text:0001992C .text:0001992C sub_1992C: @ CODE XREF: processpack+3AC8p .text:0001992C @ gui_change_screen+38p ... .text:0001992C .text:0001992C var_220 = -0x220 .text:0001992C var_214 = -0x214 .text:0001992C var_20C = -0x20C .text:0001992C .text:0001992C STMFD SP!, {R4,R5,LR} @ Store Block to Memory .text:00019930 LDR R4, =phatsock_fd @ Load from Memory .text:00019934 LDR R3, [R4] @ Load from Memory .text:00019938 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:0001993C CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00019940 MOV LR, R0 @ Rd = Op2 .text:00019944 MOV R5, SP @ Rd = Op2 .text:00019948 MOVL R3, 0xFFFFFFFF .text:0001994C ADD R0, SP, #0x224+var_20C @ Rd = Op1 + Op2 .text:00019950 BLT loc_199AC @ Branch .text:00019954 LDR R3, =byte_360B0 @ Load from Memory .text:00019958 LDR R12, [R3] @ Load from Memory .text:0001995C STR R2, [SP,#0x224+var_214] @ Store to Memory .text:00019960 MOV R3, #0x22 @ '"' @ Rd = Op2 .text:00019964 CMP R2, #0x200 @ Set cond. codes on Op1 - Op2 .text:00019968 MOVGE R2, #0x200 @ Rd = Op2 .text:0001996C STMEA SP, {R3,R12,LR} @ Store Block to Memory .text:00019970 BL memcpy @ Branch with Link .text:00019974 MOV R1, SP @ Rd = Op2 .text:00019978 MOV R2, #0x218 @ Rd = Op2 .text:0001997C MOV R3, #0 @ Rd = Op2 .text:00019980 LDR R0, [R4] @ Load from Memory .text:00019984 BL send @ Branch with Link .text:00019988 MOV R3, #0 @ Rd = Op2 .text:0001998C LDR R0, [R4] @ Load from Memory .text:00019990 MOV R1, SP @ Rd = Op2 .text:00019994 MOV R2, #0x218 @ Rd = Op2 .text:00019998 BL recv @ Branch with Link .text:0001999C LDR R3, [SP,#0x224+var_220] @ Load from Memory .text:000199A0 CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:000199A4 MOVNE R3, #0 @ Rd = Op2 .text:000199A8 MOVEQ R3, #1 @ Rd = Op2 .text:000199AC .text:000199AC loc_199AC: @ CODE XREF: sub_1992C+24j .text:000199AC MOV R0, R3 @ Rd = Op2 .text:000199B0 ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:000199B4 LDMFD SP!, {R4,R5,PC} @ Load Block from Memory .text:000199B4 @ End of function sub_1992C .text:000199B4 .text:000199B4 @ --------------------------------------------------------------------------- .text:000199B8 off_199B8: .long phatsock_fd @ DATA XREF: sub_1992C+4r .text:000199BC off_199BC: .long byte_360B0 @ DATA XREF: sub_1992C+28r .text:000199C0 .text:000199C0 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:000199C0 .text:000199C0 .text:000199C0 sub_199C0: @ CODE XREF: read_message+24p .text:000199C0 .text:000199C0 var_224 = -0x224 .text:000199C0 var_21C = -0x21C .text:000199C0 var_214 = -0x214 .text:000199C0 .text:000199C0 STMFD SP!, {R4-R7,LR} @ Store Block to Memory .text:000199C4 LDR R6, =dword_360A8 @ Load from Memory .text:000199C8 LDR R3, [R6] @ Load from Memory .text:000199CC CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:000199D0 MOV R4, R0 @ Rd = Op2 .text:000199D4 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:000199D8 MOV R5, R1 @ Rd = Op2 .text:000199DC MOV R7, R2 @ Rd = Op2 .text:000199E0 MOVLLT R0, 0xFFFFFFFF .text:000199E4 BLT loc_19A40 @ Branch .text:000199E8 MOV R0, R3 @ Rd = Op2 .text:000199EC MOV R1, SP @ Rd = Op2 .text:000199F0 MOV R3, #0 @ Rd = Op2 .text:000199F4 MOV R2, #0x218 @ Rd = Op2 .text:000199F8 BL recv @ Branch with Link .text:000199FC CMP R0, #0x218 @ Set cond. codes on Op1 - Op2 .text:00019A00 MOVLCC R3, 0xFFFFFFFF .text:00019A04 MOVCC R0, #0 @ Rd = Op2 .text:00019A08 STRCC R3, [R6] @ Store to Memory .text:00019A0C BCC loc_19A40 @ Branch .text:00019A10 CMP R4, #0 @ Set cond. codes on Op1 - Op2 .text:00019A14 LDRNE R3, [SP,#0x22C+var_224] @ Load from Memory .text:00019A18 STRNE R3, [R4] @ Store to Memory .text:00019A1C CMP R5, #0 @ Set cond. codes on Op1 - Op2 .text:00019A20 MOVNE R0, R5 @ Rd = Op2 .text:00019A24 ADDNE R1, SP, #0x22C+var_214 @ Rd = Op1 + Op2 .text:00019A28 MOVNE R2, #0x200 @ Rd = Op2 .text:00019A2C BLNE memcpy @ Branch with Link .text:00019A30 CMP R7, #0 @ Set cond. codes on Op1 - Op2 .text:00019A34 LDRNE R3, [SP,#0x22C+var_21C] @ Load from Memory .text:00019A38 STRNE R3, [R7] @ Store to Memory .text:00019A3C MOV R0, #1 @ Rd = Op2 .text:00019A40 .text:00019A40 loc_19A40: @ CODE XREF: sub_199C0+24j .text:00019A40 @ sub_199C0+4Cj .text:00019A40 ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:00019A44 LDMFD SP!, {R4-R7,PC} @ Load Block from Memory .text:00019A44 @ End of function sub_199C0 .text:00019A44 .text:00019A44 @ --------------------------------------------------------------------------- .text:00019A48 off_19A48: .long dword_360A8 @ DATA XREF: sub_199C0+4r .text:00019A4C .text:00019A4C @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00019A4C .text:00019A4C .text:00019A4C sub_19A4C: .text:00019A4C .text:00019A4C var_224 = -0x224 .text:00019A4C var_220 = -0x220 .text:00019A4C var_20C = -0x20C .text:00019A4C .text:00019A4C STMFD SP!, {R4,R5,LR} @ Store Block to Memory .text:00019A50 LDR R4, =phatsock_fd @ Load from Memory .text:00019A54 LDR R3, [R4] @ Load from Memory .text:00019A58 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:00019A5C CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00019A60 MOV R1, R0 @ Rd = Op2 .text:00019A64 MOV R5, SP @ Rd = Op2 .text:00019A68 MOV R3, #0 @ Rd = Op2 .text:00019A6C ADD R0, SP, #0x224+var_20C @ Rd = Op1 + Op2 .text:00019A70 BLT loc_19AB8 @ Branch .text:00019A74 MOV R3, #0x48 @ 'H' @ Rd = Op2 .text:00019A78 STR R3, [SP,#0x224+var_224] @ Store to Memory .text:00019A7C BL strcpy @ Branch with Link .text:00019A80 MOV R1, SP @ Rd = Op2 .text:00019A84 MOV R2, #0x218 @ Rd = Op2 .text:00019A88 MOV R3, #0 @ Rd = Op2 .text:00019A8C LDR R0, [R4] @ Load from Memory .text:00019A90 BL send @ Branch with Link .text:00019A94 MOV R3, #0 @ Rd = Op2 .text:00019A98 LDR R0, [R4] @ Load from Memory .text:00019A9C MOV R1, SP @ Rd = Op2 .text:00019AA0 MOV R2, #0x218 @ Rd = Op2 .text:00019AA4 BL recv @ Branch with Link .text:00019AA8 LDR R3, [SP,#0x224+var_220] @ Load from Memory .text:00019AAC CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:00019AB0 MOVNE R3, #0 @ Rd = Op2 .text:00019AB4 MOVEQ R3, #1 @ Rd = Op2 .text:00019AB8 .text:00019AB8 loc_19AB8: @ CODE XREF: sub_19A4C+24j .text:00019AB8 MOV R0, R3 @ Rd = Op2 .text:00019ABC ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:00019AC0 LDMFD SP!, {R4,R5,PC} @ Load Block from Memory .text:00019AC0 @ End of function sub_19A4C .text:00019AC0 .text:00019AC0 @ --------------------------------------------------------------------------- .text:00019AC4 off_19AC4: .long phatsock_fd @ DATA XREF: sub_19A4C+4r .text:00019AC8 .text:00019AC8 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00019AC8 .text:00019AC8 .text:00019AC8 sub_19AC8: .text:00019AC8 .text:00019AC8 var_228 = -0x228 .text:00019AC8 var_224 = -0x224 .text:00019AC8 var_218 = -0x218 .text:00019AC8 .text:00019AC8 STMFD SP!, {R4-R6,LR} @ Store Block to Memory .text:00019ACC LDR R5, =phatsock_fd @ Load from Memory .text:00019AD0 LDR R12, [R5] @ Load from Memory .text:00019AD4 MOV R3, #0 @ Rd = Op2 .text:00019AD8 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:00019ADC CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:00019AE0 MOV LR, R0 @ Rd = Op2 .text:00019AE4 MOV R6, SP @ Rd = Op2 .text:00019AE8 MOV R1, SP @ Rd = Op2 .text:00019AEC MOV R2, #0x218 @ Rd = Op2 .text:00019AF0 MOV R4, R3 @ Rd = Op2 .text:00019AF4 MOV R0, R12 @ Rd = Op2 .text:00019AF8 BLT loc_19B30 @ Branch .text:00019AFC MOV R12, #0x49 @ 'I' @ Rd = Op2 .text:00019B00 STR R12, [SP,#0x228+var_228] @ Store to Memory .text:00019B04 STR LR, [SP,#0x228+var_218] @ Store to Memory .text:00019B08 BL send @ Branch with Link .text:00019B0C MOV R3, #0 @ Rd = Op2 .text:00019B10 LDR R0, [R5] @ Load from Memory .text:00019B14 MOV R1, SP @ Rd = Op2 .text:00019B18 MOV R2, #0x218 @ Rd = Op2 .text:00019B1C BL recv @ Branch with Link .text:00019B20 LDR R3, [SP,#0x228+var_224] @ Load from Memory .text:00019B24 CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:00019B28 MOVNE R4, #0 @ Rd = Op2 .text:00019B2C MOVEQ R4, #1 @ Rd = Op2 .text:00019B30 .text:00019B30 loc_19B30: @ CODE XREF: sub_19AC8+30j .text:00019B30 MOV R0, R4 @ Rd = Op2 .text:00019B34 ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:00019B38 LDMFD SP!, {R4-R6,PC} @ Load Block from Memory .text:00019B38 @ End of function sub_19AC8 .text:00019B38 .text:00019B38 @ --------------------------------------------------------------------------- .text:00019B3C off_19B3C: .long phatsock_fd @ DATA XREF: sub_19AC8+4r .text:00019B40 .text:00019B40 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00019B40 .text:00019B40 .text:00019B40 sub_19B40: .text:00019B40 .text:00019B40 var_228 = -0x228 .text:00019B40 var_224 = -0x224 .text:00019B40 var_218 = -0x218 .text:00019B40 .text:00019B40 STMFD SP!, {R4-R6,LR} @ Store Block to Memory .text:00019B44 LDR R5, =phatsock_fd @ Load from Memory .text:00019B48 LDR R12, [R5] @ Load from Memory .text:00019B4C MOV R3, #0 @ Rd = Op2 .text:00019B50 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:00019B54 CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:00019B58 MOV LR, R0 @ Rd = Op2 .text:00019B5C MOV R6, SP @ Rd = Op2 .text:00019B60 MOV R1, SP @ Rd = Op2 .text:00019B64 MOV R2, #0x218 @ Rd = Op2 .text:00019B68 MOV R4, R3 @ Rd = Op2 .text:00019B6C MOV R0, R12 @ Rd = Op2 .text:00019B70 BLT loc_19BA8 @ Branch .text:00019B74 MOV R12, #0x4A @ 'J' @ Rd = Op2 .text:00019B78 STR R12, [SP,#0x228+var_228] @ Store to Memory .text:00019B7C STR LR, [SP,#0x228+var_218] @ Store to Memory .text:00019B80 BL send @ Branch with Link .text:00019B84 MOV R3, #0 @ Rd = Op2 .text:00019B88 LDR R0, [R5] @ Load from Memory .text:00019B8C MOV R1, SP @ Rd = Op2 .text:00019B90 MOV R2, #0x218 @ Rd = Op2 .text:00019B94 BL recv @ Branch with Link .text:00019B98 LDR R3, [SP,#0x228+var_224] @ Load from Memory .text:00019B9C CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:00019BA0 MOVNE R4, #0 @ Rd = Op2 .text:00019BA4 MOVEQ R4, #1 @ Rd = Op2 .text:00019BA8 .text:00019BA8 loc_19BA8: @ CODE XREF: sub_19B40+30j .text:00019BA8 MOV R0, R4 @ Rd = Op2 .text:00019BAC ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:00019BB0 LDMFD SP!, {R4-R6,PC} @ Load Block from Memory .text:00019BB0 @ End of function sub_19B40 .text:00019BB0 .text:00019BB0 @ --------------------------------------------------------------------------- .text:00019BB4 off_19BB4: .long phatsock_fd @ DATA XREF: sub_19B40+4r .text:00019BB8 .text:00019BB8 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00019BB8 .text:00019BB8 .text:00019BB8 sub_19BB8: .text:00019BB8 .text:00019BB8 var_224 = -0x224 .text:00019BB8 var_220 = -0x220 .text:00019BB8 .text:00019BB8 STMFD SP!, {R4,R5,LR} @ Store Block to Memory .text:00019BBC LDR R4, =phatsock_fd @ Load from Memory .text:00019BC0 LDR R12, [R4] @ Load from Memory .text:00019BC4 MOV R3, #0 @ Rd = Op2 .text:00019BC8 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:00019BCC CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:00019BD0 MOV R0, R12 @ Rd = Op2 .text:00019BD4 MOV R5, SP @ Rd = Op2 .text:00019BD8 MOV R1, SP @ Rd = Op2 .text:00019BDC MOV R2, #0x218 @ Rd = Op2 .text:00019BE0 MOV R12, R3 @ Rd = Op2 .text:00019BE4 BLT loc_19C18 @ Branch .text:00019BE8 MOV R12, #0x4B @ 'K' @ Rd = Op2 .text:00019BEC STR R12, [SP,#0x224+var_224] @ Store to Memory .text:00019BF0 BL send @ Branch with Link .text:00019BF4 MOV R3, #0 @ Rd = Op2 .text:00019BF8 LDR R0, [R4] @ Load from Memory .text:00019BFC MOV R1, SP @ Rd = Op2 .text:00019C00 MOV R2, #0x218 @ Rd = Op2 .text:00019C04 BL recv @ Branch with Link .text:00019C08 LDR R3, [SP,#0x224+var_220] @ Load from Memory .text:00019C0C CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:00019C10 MOVNE R12, #0 @ Rd = Op2 .text:00019C14 MOVEQ R12, #1 @ Rd = Op2 .text:00019C18 .text:00019C18 loc_19C18: @ CODE XREF: sub_19BB8+2Cj .text:00019C18 MOV R0, R12 @ Rd = Op2 .text:00019C1C ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:00019C20 LDMFD SP!, {R4,R5,PC} @ Load Block from Memory .text:00019C20 @ End of function sub_19BB8 .text:00019C20 .text:00019C20 @ --------------------------------------------------------------------------- .text:00019C24 off_19C24: .long phatsock_fd @ DATA XREF: sub_19BB8+4r .text:00019C28 .text:00019C28 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00019C28 .text:00019C28 .text:00019C28 sub_19C28: .text:00019C28 .text:00019C28 var_224 = -0x224 .text:00019C28 var_220 = -0x220 .text:00019C28 var_21C = -0x21C .text:00019C28 var_214 = -0x214 .text:00019C28 var_20C = -0x20C .text:00019C28 .text:00019C28 STMFD SP!, {R4,R5,LR} @ Store Block to Memory .text:00019C2C LDR R4, =phatsock_fd @ Load from Memory .text:00019C30 LDR R3, [R4] @ Load from Memory .text:00019C34 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:00019C38 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:00019C3C MOV LR, R0 @ Rd = Op2 .text:00019C40 MOV R12, R2 @ Rd = Op2 .text:00019C44 MOV R5, SP @ Rd = Op2 .text:00019C48 MOVL R3, 0xFFFFFFFF .text:00019C4C ADD R0, SP, #0x224+var_20C @ Rd = Op1 + Op2 .text:00019C50 MOV R2, #0x200 @ Rd = Op2 .text:00019C54 BLT loc_19CA4 @ Branch .text:00019C58 MOV R3, #0x4C @ 'L' @ Rd = Op2 .text:00019C5C STR LR, [SP,#0x224+var_214] @ Store to Memory .text:00019C60 STR R12, [SP,#0x224+var_21C] @ Store to Memory .text:00019C64 STR R3, [SP,#0x224+var_224] @ Store to Memory .text:00019C68 BL strncat @ Branch with Link .text:00019C6C MOV R1, SP @ Rd = Op2 .text:00019C70 MOV R2, #0x218 @ Rd = Op2 .text:00019C74 MOV R3, #0 @ Rd = Op2 .text:00019C78 LDR R0, [R4] @ Load from Memory .text:00019C7C BL send @ Branch with Link .text:00019C80 MOV R3, #0 @ Rd = Op2 .text:00019C84 LDR R0, [R4] @ Load from Memory .text:00019C88 MOV R1, SP @ Rd = Op2 .text:00019C8C MOV R2, #0x218 @ Rd = Op2 .text:00019C90 BL recv @ Branch with Link .text:00019C94 LDR R3, [SP,#0x224+var_220] @ Load from Memory .text:00019C98 CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:00019C9C LDREQ R3, [SP,#0x224+var_214] @ Load from Memory .text:00019CA0 MVNNE R3, #0 @ Rd = ~Op2 .text:00019CA4 .text:00019CA4 loc_19CA4: @ CODE XREF: sub_19C28+2Cj .text:00019CA4 MOV R0, R3 @ Rd = Op2 .text:00019CA8 ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:00019CAC LDMFD SP!, {R4,R5,PC} @ Load Block from Memory .text:00019CAC @ End of function sub_19C28 .text:00019CAC .text:00019CAC @ --------------------------------------------------------------------------- .text:00019CB0 off_19CB0: .long phatsock_fd @ DATA XREF: sub_19C28+4r .text:00019CB4 .text:00019CB4 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00019CB4 .text:00019CB4 .text:00019CB4 sub_19CB4: .text:00019CB4 .text:00019CB4 var_228 = -0x228 .text:00019CB4 var_224 = -0x224 .text:00019CB4 var_218 = -0x218 .text:00019CB4 .text:00019CB4 STMFD SP!, {R4-R6,LR} @ Store Block to Memory .text:00019CB8 LDR R5, =phatsock_fd @ Load from Memory .text:00019CBC LDR R12, [R5] @ Load from Memory .text:00019CC0 MOV R3, #0 @ Rd = Op2 .text:00019CC4 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:00019CC8 CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:00019CCC MOV LR, R0 @ Rd = Op2 .text:00019CD0 MOV R6, SP @ Rd = Op2 .text:00019CD4 MOV R1, SP @ Rd = Op2 .text:00019CD8 MOV R2, #0x218 @ Rd = Op2 .text:00019CDC MOV R4, R3 @ Rd = Op2 .text:00019CE0 MOV R0, R12 @ Rd = Op2 .text:00019CE4 BLT loc_19D1C @ Branch .text:00019CE8 MOV R12, #0x4D @ 'M' @ Rd = Op2 .text:00019CEC STR R12, [SP,#0x228+var_228] @ Store to Memory .text:00019CF0 STR LR, [SP,#0x228+var_218] @ Store to Memory .text:00019CF4 BL send @ Branch with Link .text:00019CF8 MOV R3, #0 @ Rd = Op2 .text:00019CFC LDR R0, [R5] @ Load from Memory .text:00019D00 MOV R1, SP @ Rd = Op2 .text:00019D04 MOV R2, #0x218 @ Rd = Op2 .text:00019D08 BL recv @ Branch with Link .text:00019D0C LDR R3, [SP,#0x228+var_224] @ Load from Memory .text:00019D10 CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:00019D14 MOVNE R4, #0 @ Rd = Op2 .text:00019D18 MOVEQ R4, #1 @ Rd = Op2 .text:00019D1C .text:00019D1C loc_19D1C: @ CODE XREF: sub_19CB4+30j .text:00019D1C MOV R0, R4 @ Rd = Op2 .text:00019D20 ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:00019D24 LDMFD SP!, {R4-R6,PC} @ Load Block from Memory .text:00019D24 @ End of function sub_19CB4 .text:00019D24 .text:00019D24 @ --------------------------------------------------------------------------- .text:00019D28 off_19D28: .long phatsock_fd @ DATA XREF: sub_19CB4+4r .text:00019D2C .text:00019D2C @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00019D2C .text:00019D2C .text:00019D2C sub_19D2C: .text:00019D2C .text:00019D2C var_224 = -0x224 .text:00019D2C var_220 = -0x220 .text:00019D2C var_218 = -0x218 .text:00019D2C .text:00019D2C STMFD SP!, {R4,R5,LR} @ Store Block to Memory .text:00019D30 LDR R4, =phatsock_fd @ Load from Memory .text:00019D34 LDR R12, [R4] @ Load from Memory .text:00019D38 MOV R3, #0 @ Rd = Op2 .text:00019D3C SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:00019D40 CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:00019D44 MOV R0, R12 @ Rd = Op2 .text:00019D48 MOV R5, SP @ Rd = Op2 .text:00019D4C MOV R1, SP @ Rd = Op2 .text:00019D50 MOV R2, #0x218 @ Rd = Op2 .text:00019D54 MOVL R12, 0xFFFFFFFF .text:00019D58 BLT loc_19D8C @ Branch .text:00019D5C MOV R12, #0x3B @ ';' @ Rd = Op2 .text:00019D60 STR R12, [SP,#0x224+var_224] @ Store to Memory .text:00019D64 BL send @ Branch with Link .text:00019D68 MOV R3, #0 @ Rd = Op2 .text:00019D6C LDR R0, [R4] @ Load from Memory .text:00019D70 MOV R1, SP @ Rd = Op2 .text:00019D74 MOV R2, #0x218 @ Rd = Op2 .text:00019D78 BL recv @ Branch with Link .text:00019D7C LDR R3, [SP,#0x224+var_220] @ Load from Memory .text:00019D80 CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:00019D84 LDREQ R12, [SP,#0x224+var_218] @ Load from Memory .text:00019D88 MVNNE R12, #0 @ Rd = ~Op2 .text:00019D8C .text:00019D8C loc_19D8C: @ CODE XREF: sub_19D2C+2Cj .text:00019D8C MOV R0, R12 @ Rd = Op2 .text:00019D90 ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:00019D94 LDMFD SP!, {R4,R5,PC} @ Load Block from Memory .text:00019D94 @ End of function sub_19D2C .text:00019D94 .text:00019D94 @ --------------------------------------------------------------------------- .text:00019D98 off_19D98: .long phatsock_fd @ DATA XREF: sub_19D2C+4r .text:00019D9C .text:00019D9C @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00019D9C .text:00019D9C .text:00019D9C sub_19D9C: .text:00019D9C .text:00019D9C var_228 = -0x228 .text:00019D9C var_224 = -0x224 .text:00019D9C var_218 = -0x218 .text:00019D9C .text:00019D9C STMFD SP!, {R4-R6,LR} @ Store Block to Memory .text:00019DA0 LDR R5, =phatsock_fd @ Load from Memory .text:00019DA4 LDR R12, [R5] @ Load from Memory .text:00019DA8 MOV R3, #0 @ Rd = Op2 .text:00019DAC SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:00019DB0 CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:00019DB4 MOV LR, R0 @ Rd = Op2 .text:00019DB8 MOV R6, SP @ Rd = Op2 .text:00019DBC MOV R1, SP @ Rd = Op2 .text:00019DC0 MOV R2, #0x218 @ Rd = Op2 .text:00019DC4 MOVL R4, 0xFFFFFFFF .text:00019DC8 MOV R0, R12 @ Rd = Op2 .text:00019DCC BLT loc_19E04 @ Branch .text:00019DD0 MOV R12, #0x3C @ '<' @ Rd = Op2 .text:00019DD4 STR R12, [SP,#0x228+var_228] @ Store to Memory .text:00019DD8 STR LR, [SP,#0x228+var_218] @ Store to Memory .text:00019DDC BL send @ Branch with Link .text:00019DE0 MOV R3, #0 @ Rd = Op2 .text:00019DE4 LDR R0, [R5] @ Load from Memory .text:00019DE8 MOV R1, SP @ Rd = Op2 .text:00019DEC MOV R2, #0x218 @ Rd = Op2 .text:00019DF0 BL recv @ Branch with Link .text:00019DF4 LDR R3, [SP,#0x228+var_224] @ Load from Memory .text:00019DF8 CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:00019DFC MOVNE R4, #0 @ Rd = Op2 .text:00019E00 MOVEQ R4, #1 @ Rd = Op2 .text:00019E04 .text:00019E04 loc_19E04: @ CODE XREF: sub_19D9C+30j .text:00019E04 MOV R0, R4 @ Rd = Op2 .text:00019E08 ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:00019E0C LDMFD SP!, {R4-R6,PC} @ Load Block from Memory .text:00019E0C @ End of function sub_19D9C .text:00019E0C .text:00019E0C @ --------------------------------------------------------------------------- .text:00019E10 off_19E10: .long phatsock_fd @ DATA XREF: sub_19D9C+4r .text:00019E14 .text:00019E14 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00019E14 .text:00019E14 .text:00019E14 sub_19E14: .text:00019E14 .text:00019E14 var_228 = -0x228 .text:00019E14 var_224 = -0x224 .text:00019E14 var_218 = -0x218 .text:00019E14 var_210 = -0x210 .text:00019E14 .text:00019E14 STMFD SP!, {R4-R6,LR} @ Store Block to Memory .text:00019E18 LDR R5, =phatsock_fd @ Load from Memory .text:00019E1C LDR R12, [R5] @ Load from Memory .text:00019E20 MOV R3, #0 @ Rd = Op2 .text:00019E24 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:00019E28 CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:00019E2C MOV LR, R0 @ Rd = Op2 .text:00019E30 MOV R6, SP @ Rd = Op2 .text:00019E34 MOV R1, SP @ Rd = Op2 .text:00019E38 MOV R2, #0x218 @ Rd = Op2 .text:00019E3C MOV R4, R3 @ Rd = Op2 .text:00019E40 MOV R0, R12 @ Rd = Op2 .text:00019E44 BLT loc_19E88 @ Branch .text:00019E48 MOV R12, #0x3D @ '=' @ Rd = Op2 .text:00019E4C STR R12, [SP,#0x228+var_228] @ Store to Memory .text:00019E50 STR LR, [SP,#0x228+var_218] @ Store to Memory .text:00019E54 BL send @ Branch with Link .text:00019E58 MOV R1, SP @ Rd = Op2 .text:00019E5C MOV R3, #0 @ Rd = Op2 .text:00019E60 LDR R0, [R5] @ Load from Memory .text:00019E64 MOV R2, #0x218 @ Rd = Op2 .text:00019E68 BL recv @ Branch with Link .text:00019E6C LDR R3, [SP,#0x228+var_224] @ Load from Memory .text:00019E70 LDR R4, =dword_431D8 @ Load from Memory .text:00019E74 CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:00019E78 MOV R0, R4 @ Rd = Op2 .text:00019E7C ADD R1, SP, #0x228+var_210 @ Rd = Op1 + Op2 .text:00019E80 LDRNE R4, =aDevNull @ Load from Memory .text:00019E84 BEQ loc_19E94 @ Branch .text:00019E88 .text:00019E88 loc_19E88: @ CODE XREF: sub_19E14+30j .text:00019E88 @ sub_19E14+84j .text:00019E88 MOV R0, R4 @ Rd = Op2 .text:00019E8C ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:00019E90 LDMFD SP!, {R4-R6,PC} @ Load Block from Memory .text:00019E94 @ --------------------------------------------------------------------------- .text:00019E94 .text:00019E94 loc_19E94: @ CODE XREF: sub_19E14+70j .text:00019E94 BL strcpy @ Branch with Link .text:00019E98 B loc_19E88 @ Branch .text:00019E98 @ End of function sub_19E14 .text:00019E98 .text:00019E98 @ --------------------------------------------------------------------------- .text:00019E9C off_19E9C: .long phatsock_fd @ DATA XREF: sub_19E14+4r .text:00019EA0 off_19EA0: .long dword_431D8 @ DATA XREF: sub_19E14+5Cr .text:00019EA4 off_19EA4: .long aDevNull @ DATA XREF: sub_19E14+6Cr .text:00019EA4 @ "/dev/null" .text:00019EA8 .text:00019EA8 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00019EA8 .text:00019EA8 .text:00019EA8 sub_19EA8: .text:00019EA8 .text:00019EA8 var_228 = -0x228 .text:00019EA8 var_224 = -0x224 .text:00019EA8 var_218 = -0x218 .text:00019EA8 var_210 = -0x210 .text:00019EA8 .text:00019EA8 STMFD SP!, {R4-R6,LR} @ Store Block to Memory .text:00019EAC LDR R5, =phatsock_fd @ Load from Memory .text:00019EB0 LDR R12, [R5] @ Load from Memory .text:00019EB4 MOV R3, #0 @ Rd = Op2 .text:00019EB8 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:00019EBC CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:00019EC0 MOV LR, R0 @ Rd = Op2 .text:00019EC4 MOV R6, SP @ Rd = Op2 .text:00019EC8 MOV R1, SP @ Rd = Op2 .text:00019ECC MOV R2, #0x218 @ Rd = Op2 .text:00019ED0 MOV R4, R3 @ Rd = Op2 .text:00019ED4 MOV R0, R12 @ Rd = Op2 .text:00019ED8 BLT loc_19F1C @ Branch .text:00019EDC MOV R12, #0x3E @ '>' @ Rd = Op2 .text:00019EE0 STR R12, [SP,#0x228+var_228] @ Store to Memory .text:00019EE4 STR LR, [SP,#0x228+var_218] @ Store to Memory .text:00019EE8 BL send @ Branch with Link .text:00019EEC MOV R1, SP @ Rd = Op2 .text:00019EF0 MOV R3, #0 @ Rd = Op2 .text:00019EF4 LDR R0, [R5] @ Load from Memory .text:00019EF8 MOV R2, #0x218 @ Rd = Op2 .text:00019EFC BL recv @ Branch with Link .text:00019F00 LDR R3, [SP,#0x228+var_224] @ Load from Memory .text:00019F04 LDR R4, =dword_433D8 @ Load from Memory .text:00019F08 CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:00019F0C MOV R0, R4 @ Rd = Op2 .text:00019F10 ADD R1, SP, #0x228+var_210 @ Rd = Op1 + Op2 .text:00019F14 LDRNE R4, =aUnknownArtist @ Load from Memory .text:00019F18 BEQ loc_19F28 @ Branch .text:00019F1C .text:00019F1C loc_19F1C: @ CODE XREF: sub_19EA8+30j .text:00019F1C @ sub_19EA8+84j .text:00019F1C MOV R0, R4 @ Rd = Op2 .text:00019F20 ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:00019F24 LDMFD SP!, {R4-R6,PC} @ Load Block from Memory .text:00019F28 @ --------------------------------------------------------------------------- .text:00019F28 .text:00019F28 loc_19F28: @ CODE XREF: sub_19EA8+70j .text:00019F28 BL strcpy @ Branch with Link .text:00019F2C B loc_19F1C @ Branch .text:00019F2C @ End of function sub_19EA8 .text:00019F2C .text:00019F2C @ --------------------------------------------------------------------------- .text:00019F30 off_19F30: .long phatsock_fd @ DATA XREF: sub_19EA8+4r .text:00019F34 off_19F34: .long dword_433D8 @ DATA XREF: sub_19EA8+5Cr .text:00019F38 off_19F38: .long aUnknownArtist @ DATA XREF: sub_19EA8+6Cr .text:00019F38 @ "Unknown Artist" .text:00019F3C .text:00019F3C @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00019F3C .text:00019F3C .text:00019F3C sub_19F3C: .text:00019F3C .text:00019F3C var_228 = -0x228 .text:00019F3C var_224 = -0x224 .text:00019F3C var_218 = -0x218 .text:00019F3C var_210 = -0x210 .text:00019F3C .text:00019F3C STMFD SP!, {R4-R6,LR} @ Store Block to Memory .text:00019F40 LDR R5, =phatsock_fd @ Load from Memory .text:00019F44 LDR R12, [R5] @ Load from Memory .text:00019F48 MOV R3, #0 @ Rd = Op2 .text:00019F4C SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:00019F50 CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:00019F54 MOV LR, R0 @ Rd = Op2 .text:00019F58 MOV R6, SP @ Rd = Op2 .text:00019F5C MOV R1, SP @ Rd = Op2 .text:00019F60 MOV R2, #0x218 @ Rd = Op2 .text:00019F64 MOV R4, R3 @ Rd = Op2 .text:00019F68 MOV R0, R12 @ Rd = Op2 .text:00019F6C BLT loc_19FB0 @ Branch .text:00019F70 MOV R12, #0x3F @ '?' @ Rd = Op2 .text:00019F74 STR R12, [SP,#0x228+var_228] @ Store to Memory .text:00019F78 STR LR, [SP,#0x228+var_218] @ Store to Memory .text:00019F7C BL send @ Branch with Link .text:00019F80 MOV R1, SP @ Rd = Op2 .text:00019F84 MOV R3, #0 @ Rd = Op2 .text:00019F88 LDR R0, [R5] @ Load from Memory .text:00019F8C MOV R2, #0x218 @ Rd = Op2 .text:00019F90 BL recv @ Branch with Link .text:00019F94 LDR R3, [SP,#0x228+var_224] @ Load from Memory .text:00019F98 LDR R4, =dword_435D8 @ Load from Memory .text:00019F9C CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:00019FA0 MOV R0, R4 @ Rd = Op2 .text:00019FA4 ADD R1, SP, #0x228+var_210 @ Rd = Op1 + Op2 .text:00019FA8 LDRNE R4, =aUnknownTitle @ Load from Memory .text:00019FAC BEQ loc_19FBC @ Branch .text:00019FB0 .text:00019FB0 loc_19FB0: @ CODE XREF: sub_19F3C+30j .text:00019FB0 @ sub_19F3C+84j .text:00019FB0 MOV R0, R4 @ Rd = Op2 .text:00019FB4 ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:00019FB8 LDMFD SP!, {R4-R6,PC} @ Load Block from Memory .text:00019FBC @ --------------------------------------------------------------------------- .text:00019FBC .text:00019FBC loc_19FBC: @ CODE XREF: sub_19F3C+70j .text:00019FBC BL strcpy @ Branch with Link .text:00019FC0 B loc_19FB0 @ Branch .text:00019FC0 @ End of function sub_19F3C .text:00019FC0 .text:00019FC0 @ --------------------------------------------------------------------------- .text:00019FC4 off_19FC4: .long phatsock_fd @ DATA XREF: sub_19F3C+4r .text:00019FC8 off_19FC8: .long dword_435D8 @ DATA XREF: sub_19F3C+5Cr .text:00019FCC off_19FCC: .long aUnknownTitle @ DATA XREF: sub_19F3C+6Cr .text:00019FCC @ "Unknown Title" .text:00019FD0 .text:00019FD0 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00019FD0 .text:00019FD0 .text:00019FD0 sub_19FD0: .text:00019FD0 .text:00019FD0 var_228 = -0x228 .text:00019FD0 var_224 = -0x224 .text:00019FD0 var_218 = -0x218 .text:00019FD0 var_210 = -0x210 .text:00019FD0 .text:00019FD0 STMFD SP!, {R4-R6,LR} @ Store Block to Memory .text:00019FD4 LDR R5, =phatsock_fd @ Load from Memory .text:00019FD8 LDR R12, [R5] @ Load from Memory .text:00019FDC MOV R3, #0 @ Rd = Op2 .text:00019FE0 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:00019FE4 CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:00019FE8 MOV LR, R0 @ Rd = Op2 .text:00019FEC MOV R6, SP @ Rd = Op2 .text:00019FF0 MOV R1, SP @ Rd = Op2 .text:00019FF4 MOV R2, #0x218 @ Rd = Op2 .text:00019FF8 MOV R4, R3 @ Rd = Op2 .text:00019FFC MOV R0, R12 @ Rd = Op2 .text:0001A000 BLT loc_1A044 @ Branch .text:0001A004 MOV R12, #0x40 @ '@' @ Rd = Op2 .text:0001A008 STR R12, [SP,#0x228+var_228] @ Store to Memory .text:0001A00C STR LR, [SP,#0x228+var_218] @ Store to Memory .text:0001A010 BL send @ Branch with Link .text:0001A014 MOV R1, SP @ Rd = Op2 .text:0001A018 MOV R3, #0 @ Rd = Op2 .text:0001A01C LDR R0, [R5] @ Load from Memory .text:0001A020 MOV R2, #0x218 @ Rd = Op2 .text:0001A024 BL recv @ Branch with Link .text:0001A028 LDR R3, [SP,#0x228+var_224] @ Load from Memory .text:0001A02C LDR R4, =dword_437D8 @ Load from Memory .text:0001A030 CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:0001A034 MOV R0, R4 @ Rd = Op2 .text:0001A038 ADD R1, SP, #0x228+var_210 @ Rd = Op1 + Op2 .text:0001A03C LDRNE R4, =aUnknownAlbum @ Load from Memory .text:0001A040 BEQ loc_1A050 @ Branch .text:0001A044 .text:0001A044 loc_1A044: @ CODE XREF: sub_19FD0+30j .text:0001A044 @ sub_19FD0+84j .text:0001A044 MOV R0, R4 @ Rd = Op2 .text:0001A048 ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:0001A04C LDMFD SP!, {R4-R6,PC} @ Load Block from Memory .text:0001A050 @ --------------------------------------------------------------------------- .text:0001A050 .text:0001A050 loc_1A050: @ CODE XREF: sub_19FD0+70j .text:0001A050 BL strcpy @ Branch with Link .text:0001A054 B loc_1A044 @ Branch .text:0001A054 @ End of function sub_19FD0 .text:0001A054 .text:0001A054 @ --------------------------------------------------------------------------- .text:0001A058 off_1A058: .long phatsock_fd @ DATA XREF: sub_19FD0+4r .text:0001A05C off_1A05C: .long dword_437D8 @ DATA XREF: sub_19FD0+5Cr .text:0001A060 off_1A060: .long aUnknownAlbum @ DATA XREF: sub_19FD0+6Cr .text:0001A060 @ "Unknown Album" .text:0001A064 .text:0001A064 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001A064 .text:0001A064 .text:0001A064 sub_1A064: .text:0001A064 .text:0001A064 var_228 = -0x228 .text:0001A064 var_224 = -0x224 .text:0001A064 var_218 = -0x218 .text:0001A064 var_210 = -0x210 .text:0001A064 .text:0001A064 STMFD SP!, {R4-R6,LR} @ Store Block to Memory .text:0001A068 LDR R5, =phatsock_fd @ Load from Memory .text:0001A06C LDR R12, [R5] @ Load from Memory .text:0001A070 MOV R3, #0 @ Rd = Op2 .text:0001A074 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:0001A078 CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:0001A07C MOV LR, R0 @ Rd = Op2 .text:0001A080 MOV R6, SP @ Rd = Op2 .text:0001A084 MOV R1, SP @ Rd = Op2 .text:0001A088 MOV R2, #0x218 @ Rd = Op2 .text:0001A08C MOV R4, R3 @ Rd = Op2 .text:0001A090 MOV R0, R12 @ Rd = Op2 .text:0001A094 BLT loc_1A0D8 @ Branch .text:0001A098 MOV R12, #0x6A @ 'j' @ Rd = Op2 .text:0001A09C STR R12, [SP,#0x228+var_228] @ Store to Memory .text:0001A0A0 STR LR, [SP,#0x228+var_218] @ Store to Memory .text:0001A0A4 BL send @ Branch with Link .text:0001A0A8 MOV R1, SP @ Rd = Op2 .text:0001A0AC MOV R3, #0 @ Rd = Op2 .text:0001A0B0 LDR R0, [R5] @ Load from Memory .text:0001A0B4 MOV R2, #0x218 @ Rd = Op2 .text:0001A0B8 BL recv @ Branch with Link .text:0001A0BC LDR R3, [SP,#0x228+var_224] @ Load from Memory .text:0001A0C0 LDR R4, =dword_439D8 @ Load from Memory .text:0001A0C4 CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:0001A0C8 MOV R0, R4 @ Rd = Op2 .text:0001A0CC ADD R1, SP, #0x228+var_210 @ Rd = Op1 + Op2 .text:0001A0D0 LDRNE R4, =dword_2CD50 @ Load from Memory .text:0001A0D4 BEQ loc_1A0E4 @ Branch .text:0001A0D8 .text:0001A0D8 loc_1A0D8: @ CODE XREF: sub_1A064+30j .text:0001A0D8 @ sub_1A064+84j .text:0001A0D8 MOV R0, R4 @ Rd = Op2 .text:0001A0DC ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:0001A0E0 LDMFD SP!, {R4-R6,PC} @ Load Block from Memory .text:0001A0E4 @ --------------------------------------------------------------------------- .text:0001A0E4 .text:0001A0E4 loc_1A0E4: @ CODE XREF: sub_1A064+70j .text:0001A0E4 BL strcpy @ Branch with Link .text:0001A0E8 B loc_1A0D8 @ Branch .text:0001A0E8 @ End of function sub_1A064 .text:0001A0E8 .text:0001A0E8 @ --------------------------------------------------------------------------- .text:0001A0EC off_1A0EC: .long phatsock_fd @ DATA XREF: sub_1A064+4r .text:0001A0F0 off_1A0F0: .long dword_439D8 @ DATA XREF: sub_1A064+5Cr .text:0001A0F4 off_1A0F4: .long dword_2CD50 @ DATA XREF: sub_1A064+6Cr .text:0001A0F8 .text:0001A0F8 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001A0F8 .text:0001A0F8 .text:0001A0F8 sub_1A0F8: .text:0001A0F8 .text:0001A0F8 var_228 = -0x228 .text:0001A0F8 var_224 = -0x224 .text:0001A0F8 var_218 = -0x218 .text:0001A0F8 var_210 = -0x210 .text:0001A0F8 .text:0001A0F8 STMFD SP!, {R4-R6,LR} @ Store Block to Memory .text:0001A0FC LDR R5, =phatsock_fd @ Load from Memory .text:0001A100 LDR R12, [R5] @ Load from Memory .text:0001A104 MOV R3, #0 @ Rd = Op2 .text:0001A108 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:0001A10C CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:0001A110 MOV LR, R0 @ Rd = Op2 .text:0001A114 MOV R6, SP @ Rd = Op2 .text:0001A118 MOV R1, SP @ Rd = Op2 .text:0001A11C MOV R2, #0x218 @ Rd = Op2 .text:0001A120 MOV R4, R3 @ Rd = Op2 .text:0001A124 MOV R0, R12 @ Rd = Op2 .text:0001A128 BLT loc_1A16C @ Branch .text:0001A12C MOV R12, #0x62 @ 'b' @ Rd = Op2 .text:0001A130 STR R12, [SP,#0x228+var_228] @ Store to Memory .text:0001A134 STR LR, [SP,#0x228+var_218] @ Store to Memory .text:0001A138 BL send @ Branch with Link .text:0001A13C MOV R1, SP @ Rd = Op2 .text:0001A140 MOV R3, #0 @ Rd = Op2 .text:0001A144 LDR R0, [R5] @ Load from Memory .text:0001A148 MOV R2, #0x218 @ Rd = Op2 .text:0001A14C BL recv @ Branch with Link .text:0001A150 LDR R3, [SP,#0x228+var_224] @ Load from Memory .text:0001A154 LDR R4, =dword_43BD8 @ Load from Memory .text:0001A158 CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:0001A15C MOV R0, R4 @ Rd = Op2 .text:0001A160 ADD R1, SP, #0x228+var_210 @ Rd = Op1 + Op2 .text:0001A164 LDRNE R4, =aDevNull @ Load from Memory .text:0001A168 BEQ loc_1A178 @ Branch .text:0001A16C .text:0001A16C loc_1A16C: @ CODE XREF: sub_1A0F8+30j .text:0001A16C @ sub_1A0F8+84j .text:0001A16C MOV R0, R4 @ Rd = Op2 .text:0001A170 ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:0001A174 LDMFD SP!, {R4-R6,PC} @ Load Block from Memory .text:0001A178 @ --------------------------------------------------------------------------- .text:0001A178 .text:0001A178 loc_1A178: @ CODE XREF: sub_1A0F8+70j .text:0001A178 BL strcpy @ Branch with Link .text:0001A17C B loc_1A16C @ Branch .text:0001A17C @ End of function sub_1A0F8 .text:0001A17C .text:0001A17C @ --------------------------------------------------------------------------- .text:0001A180 off_1A180: .long phatsock_fd @ DATA XREF: sub_1A0F8+4r .text:0001A184 off_1A184: .long dword_43BD8 @ DATA XREF: sub_1A0F8+5Cr .text:0001A188 off_1A188: .long aDevNull @ DATA XREF: sub_1A0F8+6Cr .text:0001A188 @ "/dev/null" .text:0001A18C .text:0001A18C @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001A18C .text:0001A18C .text:0001A18C sub_1A18C: .text:0001A18C .text:0001A18C var_228 = -0x228 .text:0001A18C var_224 = -0x224 .text:0001A18C var_218 = -0x218 .text:0001A18C var_210 = -0x210 .text:0001A18C .text:0001A18C STMFD SP!, {R4-R6,LR} @ Store Block to Memory .text:0001A190 LDR R5, =phatsock_fd @ Load from Memory .text:0001A194 LDR R12, [R5] @ Load from Memory .text:0001A198 MOV R3, #0 @ Rd = Op2 .text:0001A19C SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:0001A1A0 CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:0001A1A4 MOV LR, R0 @ Rd = Op2 .text:0001A1A8 MOV R6, SP @ Rd = Op2 .text:0001A1AC MOV R1, SP @ Rd = Op2 .text:0001A1B0 MOV R2, #0x218 @ Rd = Op2 .text:0001A1B4 MOV R4, R3 @ Rd = Op2 .text:0001A1B8 MOV R0, R12 @ Rd = Op2 .text:0001A1BC BLT loc_1A200 @ Branch .text:0001A1C0 MOV R12, #0x41 @ 'A' @ Rd = Op2 .text:0001A1C4 STR R12, [SP,#0x228+var_228] @ Store to Memory .text:0001A1C8 STR LR, [SP,#0x228+var_218] @ Store to Memory .text:0001A1CC BL send @ Branch with Link .text:0001A1D0 MOV R1, SP @ Rd = Op2 .text:0001A1D4 MOV R3, #0 @ Rd = Op2 .text:0001A1D8 LDR R0, [R5] @ Load from Memory .text:0001A1DC MOV R2, #0x218 @ Rd = Op2 .text:0001A1E0 BL recv @ Branch with Link .text:0001A1E4 LDR R3, [SP,#0x228+var_224] @ Load from Memory .text:0001A1E8 LDR R4, =dword_43DD8 @ Load from Memory .text:0001A1EC CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:0001A1F0 MOV R0, R4 @ Rd = Op2 .text:0001A1F4 ADD R1, SP, #0x228+var_210 @ Rd = Op1 + Op2 .text:0001A1F8 LDRNE R4, =aNoToc @ Load from Memory .text:0001A1FC BEQ loc_1A20C @ Branch .text:0001A200 .text:0001A200 loc_1A200: @ CODE XREF: sub_1A18C+30j .text:0001A200 @ sub_1A18C+84j .text:0001A200 MOV R0, R4 @ Rd = Op2 .text:0001A204 ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:0001A208 LDMFD SP!, {R4-R6,PC} @ Load Block from Memory .text:0001A20C @ --------------------------------------------------------------------------- .text:0001A20C .text:0001A20C loc_1A20C: @ CODE XREF: sub_1A18C+70j .text:0001A20C BL strcpy @ Branch with Link .text:0001A210 B loc_1A200 @ Branch .text:0001A210 @ End of function sub_1A18C .text:0001A210 .text:0001A210 @ --------------------------------------------------------------------------- .text:0001A214 off_1A214: .long phatsock_fd @ DATA XREF: sub_1A18C+4r .text:0001A218 off_1A218: .long dword_43DD8 @ DATA XREF: sub_1A18C+5Cr .text:0001A21C off_1A21C: .long aNoToc @ DATA XREF: sub_1A18C+6Cr .text:0001A21C @ "No TOC" .text:0001A220 .text:0001A220 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001A220 .text:0001A220 .text:0001A220 sub_1A220: .text:0001A220 .text:0001A220 var_228 = -0x228 .text:0001A220 var_224 = -0x224 .text:0001A220 var_218 = -0x218 .text:0001A220 var_210 = -0x210 .text:0001A220 .text:0001A220 STMFD SP!, {R4-R6,LR} @ Store Block to Memory .text:0001A224 LDR R5, =phatsock_fd @ Load from Memory .text:0001A228 LDR R12, [R5] @ Load from Memory .text:0001A22C MOV R3, #0 @ Rd = Op2 .text:0001A230 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:0001A234 CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:0001A238 MOV LR, R0 @ Rd = Op2 .text:0001A23C MOV R6, SP @ Rd = Op2 .text:0001A240 MOV R1, SP @ Rd = Op2 .text:0001A244 MOV R2, #0x218 @ Rd = Op2 .text:0001A248 MOV R4, R3 @ Rd = Op2 .text:0001A24C MOV R0, R12 @ Rd = Op2 .text:0001A250 BLT loc_1A294 @ Branch .text:0001A254 MOV R12, #0x42 @ 'B' @ Rd = Op2 .text:0001A258 STR R12, [SP,#0x228+var_228] @ Store to Memory .text:0001A25C STR LR, [SP,#0x228+var_218] @ Store to Memory .text:0001A260 BL send @ Branch with Link .text:0001A264 MOV R1, SP @ Rd = Op2 .text:0001A268 MOV R3, #0 @ Rd = Op2 .text:0001A26C LDR R0, [R5] @ Load from Memory .text:0001A270 MOV R2, #0x218 @ Rd = Op2 .text:0001A274 BL recv @ Branch with Link .text:0001A278 LDR R3, [SP,#0x228+var_224] @ Load from Memory .text:0001A27C LDR R4, =dword_43FD8 @ Load from Memory .text:0001A280 CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:0001A284 MOV R0, R4 @ Rd = Op2 .text:0001A288 ADD R1, SP, #0x228+var_210 @ Rd = Op1 + Op2 .text:0001A28C LDRNE R4, =aUnknownGenre @ Load from Memory .text:0001A290 BEQ loc_1A2A0 @ Branch .text:0001A294 .text:0001A294 loc_1A294: @ CODE XREF: sub_1A220+30j .text:0001A294 @ sub_1A220+84j .text:0001A294 MOV R0, R4 @ Rd = Op2 .text:0001A298 ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:0001A29C LDMFD SP!, {R4-R6,PC} @ Load Block from Memory .text:0001A2A0 @ --------------------------------------------------------------------------- .text:0001A2A0 .text:0001A2A0 loc_1A2A0: @ CODE XREF: sub_1A220+70j .text:0001A2A0 BL strcpy @ Branch with Link .text:0001A2A4 B loc_1A294 @ Branch .text:0001A2A4 @ End of function sub_1A220 .text:0001A2A4 .text:0001A2A4 @ --------------------------------------------------------------------------- .text:0001A2A8 off_1A2A8: .long phatsock_fd @ DATA XREF: sub_1A220+4r .text:0001A2AC off_1A2AC: .long dword_43FD8 @ DATA XREF: sub_1A220+5Cr .text:0001A2B0 off_1A2B0: .long aUnknownGenre @ DATA XREF: sub_1A220+6Cr .text:0001A2B0 @ "Unknown Genre" .text:0001A2B4 .text:0001A2B4 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001A2B4 .text:0001A2B4 .text:0001A2B4 sub_1A2B4: .text:0001A2B4 .text:0001A2B4 var_228 = -0x228 .text:0001A2B4 var_224 = -0x224 .text:0001A2B4 var_218 = -0x218 .text:0001A2B4 .text:0001A2B4 STMFD SP!, {R4-R6,LR} @ Store Block to Memory .text:0001A2B8 LDR R5, =phatsock_fd @ Load from Memory .text:0001A2BC LDR R12, [R5] @ Load from Memory .text:0001A2C0 MOV R3, #0 @ Rd = Op2 .text:0001A2C4 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:0001A2C8 CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:0001A2CC MOV LR, R0 @ Rd = Op2 .text:0001A2D0 MOV R6, SP @ Rd = Op2 .text:0001A2D4 MOV R1, SP @ Rd = Op2 .text:0001A2D8 MOV R2, #0x218 @ Rd = Op2 .text:0001A2DC MOVL R4, 0xFFFFFFFF .text:0001A2E0 MOV R0, R12 @ Rd = Op2 .text:0001A2E4 BLT loc_1A31C @ Branch .text:0001A2E8 MOV R12, #0x43 @ 'C' @ Rd = Op2 .text:0001A2EC STR R12, [SP,#0x228+var_228] @ Store to Memory .text:0001A2F0 STR LR, [SP,#0x228+var_218] @ Store to Memory .text:0001A2F4 BL send @ Branch with Link .text:0001A2F8 MOV R3, #0 @ Rd = Op2 .text:0001A2FC LDR R0, [R5] @ Load from Memory .text:0001A300 MOV R1, SP @ Rd = Op2 .text:0001A304 MOV R2, #0x218 @ Rd = Op2 .text:0001A308 BL recv @ Branch with Link .text:0001A30C LDR R3, [SP,#0x228+var_224] @ Load from Memory .text:0001A310 CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:0001A314 LDREQ R4, [SP,#0x228+var_218] @ Load from Memory .text:0001A318 MOVNE R4, #0 @ Rd = Op2 .text:0001A31C .text:0001A31C loc_1A31C: @ CODE XREF: sub_1A2B4+30j .text:0001A31C MOV R0, R4 @ Rd = Op2 .text:0001A320 ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:0001A324 LDMFD SP!, {R4-R6,PC} @ Load Block from Memory .text:0001A324 @ End of function sub_1A2B4 .text:0001A324 .text:0001A324 @ --------------------------------------------------------------------------- .text:0001A328 off_1A328: .long phatsock_fd @ DATA XREF: sub_1A2B4+4r .text:0001A32C .text:0001A32C @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001A32C .text:0001A32C .text:0001A32C sub_1A32C: .text:0001A32C .text:0001A32C var_228 = -0x228 .text:0001A32C var_224 = -0x224 .text:0001A32C var_218 = -0x218 .text:0001A32C .text:0001A32C STMFD SP!, {R4-R6,LR} @ Store Block to Memory .text:0001A330 LDR R5, =phatsock_fd @ Load from Memory .text:0001A334 LDR R12, [R5] @ Load from Memory .text:0001A338 MOV R3, #0 @ Rd = Op2 .text:0001A33C SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:0001A340 CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:0001A344 MOV LR, R0 @ Rd = Op2 .text:0001A348 MOV R6, SP @ Rd = Op2 .text:0001A34C MOV R1, SP @ Rd = Op2 .text:0001A350 MOV R2, #0x218 @ Rd = Op2 .text:0001A354 MOVL R4, 0xFFFFFFFF .text:0001A358 MOV R0, R12 @ Rd = Op2 .text:0001A35C BLT loc_1A394 @ Branch .text:0001A360 MOV R12, #0x55 @ 'U' @ Rd = Op2 .text:0001A364 STR R12, [SP,#0x228+var_228] @ Store to Memory .text:0001A368 STR LR, [SP,#0x228+var_218] @ Store to Memory .text:0001A36C BL send @ Branch with Link .text:0001A370 MOV R3, #0 @ Rd = Op2 .text:0001A374 LDR R0, [R5] @ Load from Memory .text:0001A378 MOV R1, SP @ Rd = Op2 .text:0001A37C MOV R2, #0x218 @ Rd = Op2 .text:0001A380 BL recv @ Branch with Link .text:0001A384 LDR R3, [SP,#0x228+var_224] @ Load from Memory .text:0001A388 CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:0001A38C LDREQ R4, [SP,#0x228+var_218] @ Load from Memory .text:0001A390 MOVNE R4, #0 @ Rd = Op2 .text:0001A394 .text:0001A394 loc_1A394: @ CODE XREF: sub_1A32C+30j .text:0001A394 MOV R0, R4 @ Rd = Op2 .text:0001A398 ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:0001A39C LDMFD SP!, {R4-R6,PC} @ Load Block from Memory .text:0001A39C @ End of function sub_1A32C .text:0001A39C .text:0001A39C @ --------------------------------------------------------------------------- .text:0001A3A0 off_1A3A0: .long phatsock_fd @ DATA XREF: sub_1A32C+4r .text:0001A3A4 .text:0001A3A4 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001A3A4 .text:0001A3A4 .text:0001A3A4 sub_1A3A4: @ CODE XREF: processpack+2044p .text:0001A3A4 .text:0001A3A4 var_22C = -0x22C .text:0001A3A4 var_228 = -0x228 .text:0001A3A4 var_21C = -0x21C .text:0001A3A4 var_218 = -0x218 .text:0001A3A4 .text:0001A3A4 STMFD SP!, {R4-R7,LR} @ Store Block to Memory .text:0001A3A8 LDR R6, =phatsock_fd @ Load from Memory .text:0001A3AC LDR R12, [R6] @ Load from Memory .text:0001A3B0 MOV R3, #0 @ Rd = Op2 .text:0001A3B4 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:0001A3B8 CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:0001A3BC MOV R4, R0 @ Rd = Op2 .text:0001A3C0 MOV LR, R1 @ Rd = Op2 .text:0001A3C4 MOV R7, SP @ Rd = Op2 .text:0001A3C8 MOV R2, #0x218 @ Rd = Op2 .text:0001A3CC MOVL R5, 0xFFFFFFFF .text:0001A3D0 MOV R0, R12 @ Rd = Op2 .text:0001A3D4 MOV R1, SP @ Rd = Op2 .text:0001A3D8 BLT loc_1A414 @ Branch .text:0001A3DC MOV R12, #0x44 @ 'D' @ Rd = Op2 .text:0001A3E0 STR R12, [SP,#0x22C+var_22C] @ Store to Memory .text:0001A3E4 STR LR, [SP,#0x22C+var_218] @ Store to Memory .text:0001A3E8 STR R4, [SP,#0x22C+var_21C] @ Store to Memory .text:0001A3EC BL send @ Branch with Link .text:0001A3F0 MOV R3, #0 @ Rd = Op2 .text:0001A3F4 LDR R0, [R6] @ Load from Memory .text:0001A3F8 MOV R1, SP @ Rd = Op2 .text:0001A3FC MOV R2, #0x218 @ Rd = Op2 .text:0001A400 BL recv @ Branch with Link .text:0001A404 LDR R3, [SP,#0x22C+var_228] @ Load from Memory .text:0001A408 CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:0001A40C MOVNE R5, #0 @ Rd = Op2 .text:0001A410 MOVEQ R5, #1 @ Rd = Op2 .text:0001A414 .text:0001A414 loc_1A414: @ CODE XREF: sub_1A3A4+34j .text:0001A414 MOV R0, R5 @ Rd = Op2 .text:0001A418 ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:0001A41C LDMFD SP!, {R4-R7,PC} @ Load Block from Memory .text:0001A41C @ End of function sub_1A3A4 .text:0001A41C .text:0001A41C @ --------------------------------------------------------------------------- .text:0001A420 off_1A420: .long phatsock_fd @ DATA XREF: sub_1A3A4+4r .text:0001A424 .text:0001A424 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001A424 .text:0001A424 .text:0001A424 sub_1A424: @ CODE XREF: processpack+203Cp .text:0001A424 .text:0001A424 var_224 = -0x224 .text:0001A424 var_220 = -0x220 .text:0001A424 var_214 = -0x214 .text:0001A424 var_20C = -0x20C .text:0001A424 .text:0001A424 STMFD SP!, {R4,R5,LR} @ Store Block to Memory .text:0001A428 LDR R4, =phatsock_fd @ Load from Memory .text:0001A42C LDR R3, [R4] @ Load from Memory .text:0001A430 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:0001A434 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0001A438 MOV R1, R0 @ Rd = Op2 .text:0001A43C MOV R5, SP @ Rd = Op2 .text:0001A440 MOVL R3, 0xFFFFFFFF .text:0001A444 ADD R0, SP, #0x224+var_20C @ Rd = Op1 + Op2 .text:0001A448 BLT loc_1A490 @ Branch .text:0001A44C MOV R3, #0x45 @ 'E' @ Rd = Op2 .text:0001A450 STR R3, [SP,#0x224+var_224] @ Store to Memory .text:0001A454 BL strcpy @ Branch with Link .text:0001A458 MOV R1, SP @ Rd = Op2 .text:0001A45C MOV R2, #0x218 @ Rd = Op2 .text:0001A460 MOV R3, #0 @ Rd = Op2 .text:0001A464 LDR R0, [R4] @ Load from Memory .text:0001A468 BL send @ Branch with Link .text:0001A46C MOV R3, #0 @ Rd = Op2 .text:0001A470 LDR R0, [R4] @ Load from Memory .text:0001A474 MOV R1, SP @ Rd = Op2 .text:0001A478 MOV R2, #0x218 @ Rd = Op2 .text:0001A47C BL recv @ Branch with Link .text:0001A480 LDR R3, [SP,#0x224+var_220] @ Load from Memory .text:0001A484 CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:0001A488 LDREQ R3, [SP,#0x224+var_214] @ Load from Memory .text:0001A48C MOVNE R3, #0 @ Rd = Op2 .text:0001A490 .text:0001A490 loc_1A490: @ CODE XREF: sub_1A424+24j .text:0001A490 MOV R0, R3 @ Rd = Op2 .text:0001A494 ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:0001A498 LDMFD SP!, {R4,R5,PC} @ Load Block from Memory .text:0001A498 @ End of function sub_1A424 .text:0001A498 .text:0001A498 @ --------------------------------------------------------------------------- .text:0001A49C off_1A49C: .long phatsock_fd @ DATA XREF: sub_1A424+4r .text:0001A4A0 .text:0001A4A0 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001A4A0 .text:0001A4A0 .text:0001A4A0 sub_1A4A0: .text:0001A4A0 .text:0001A4A0 var_22C = -0x22C .text:0001A4A0 var_228 = -0x228 .text:0001A4A0 var_224 = -0x224 .text:0001A4A0 var_218 = -0x218 .text:0001A4A0 var_210 = -0x210 .text:0001A4A0 .text:0001A4A0 STMFD SP!, {R4-R6,LR} @ Store Block to Memory .text:0001A4A4 LDR R5, =phatsock_fd @ Load from Memory .text:0001A4A8 LDR R3, [R5] @ Load from Memory .text:0001A4AC SUB SP, SP, #0x21C @ Rd = Op1 - Op2 .text:0001A4B0 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0001A4B4 MOV R4, R0 @ Rd = Op2 .text:0001A4B8 MOV R3, R1 @ Rd = Op2 .text:0001A4BC MOV LR, R2 @ Rd = Op2 .text:0001A4C0 ADD R6, SP, #0x22C+var_228 @ Rd = Op1 + Op2 .text:0001A4C4 MOVL R12, 0xFFFFFFFF .text:0001A4C8 ADD R0, SP, #0x22C+var_210 @ Rd = Op1 + Op2 .text:0001A4CC MOV R1, #0x200 @ Rd = Op2 .text:0001A4D0 LDR R2, =aSS_1 @ Load from Memory .text:0001A4D4 BLT loc_1A524 @ Branch .text:0001A4D8 MOV R12, #0x4E @ 'N' @ Rd = Op2 .text:0001A4DC STR R12, [SP,#0x22C+var_228] @ Store to Memory .text:0001A4E0 STR LR, [SP,#0x22C+var_22C] @ Store to Memory .text:0001A4E4 STR R4, [SP,#0x22C+var_218] @ Store to Memory .text:0001A4E8 BL sub_26838 @ Branch with Link .text:0001A4EC MOV R1, R6 @ Rd = Op2 .text:0001A4F0 MOV R2, #0x218 @ Rd = Op2 .text:0001A4F4 MOV R3, #0 @ Rd = Op2 .text:0001A4F8 LDR R0, [R5] @ Load from Memory .text:0001A4FC BL send @ Branch with Link .text:0001A500 MOV R3, #0 @ Rd = Op2 .text:0001A504 LDR R0, [R5] @ Load from Memory .text:0001A508 MOV R1, R6 @ Rd = Op2 .text:0001A50C MOV R2, #0x218 @ Rd = Op2 .text:0001A510 BL recv @ Branch with Link .text:0001A514 LDR R3, [SP,#0x22C+var_224] @ Load from Memory .text:0001A518 CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:0001A51C LDREQ R12, [SP,#0x22C+var_218] @ Load from Memory .text:0001A520 MOVNE R12, #0 @ Rd = Op2 .text:0001A524 .text:0001A524 loc_1A524: @ CODE XREF: sub_1A4A0+34j .text:0001A524 MOV R0, R12 @ Rd = Op2 .text:0001A528 ADD SP, SP, #0x21C @ Rd = Op1 + Op2 .text:0001A52C LDMFD SP!, {R4-R6,PC} @ Load Block from Memory .text:0001A52C @ End of function sub_1A4A0 .text:0001A52C .text:0001A52C @ --------------------------------------------------------------------------- .text:0001A530 off_1A530: .long phatsock_fd @ DATA XREF: sub_1A4A0+4r .text:0001A534 off_1A534: .long aSS_1 @ DATA XREF: sub_1A4A0+30r .text:0001A534 @ "%s:%s" .text:0001A538 .text:0001A538 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001A538 .text:0001A538 .text:0001A538 sub_1A538: .text:0001A538 .text:0001A538 var_22C = -0x22C .text:0001A538 var_228 = -0x228 .text:0001A538 var_21C = -0x21C .text:0001A538 var_214 = -0x214 .text:0001A538 .text:0001A538 STMFD SP!, {R4-R7,LR} @ Store Block to Memory .text:0001A53C LDR R5, =phatsock_fd @ Load from Memory .text:0001A540 LDR R3, [R5] @ Load from Memory .text:0001A544 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:0001A548 ADD R7, SP, #0x22C+var_214 @ Rd = Op1 + Op2 .text:0001A54C CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0001A550 MOV R3, R0 @ Rd = Op2 .text:0001A554 MOV R4, R1 @ Rd = Op2 .text:0001A558 MOV R2, #0x200 @ Rd = Op2 .text:0001A55C MOV R6, SP @ Rd = Op2 .text:0001A560 MOVL R12, 0xFFFFFFFF .text:0001A564 MOV R0, R7 @ Rd = Op2 .text:0001A568 MOV R1, R3 @ Rd = Op2 .text:0001A56C BLT loc_1A5D4 @ Branch .text:0001A570 MOV R3, #0x4F @ 'O' @ Rd = Op2 .text:0001A574 STR R3, [SP,#0x22C+var_22C] @ Store to Memory .text:0001A578 BL strncat @ Branch with Link .text:0001A57C MOV R0, R7 @ Rd = Op2 .text:0001A580 BL sub_26BDC @ Branch with Link .text:0001A584 RSB R2, R0, #0x1FC @ Rd = Op2 - Op1 .text:0001A588 ADD R0, SP, R0 @ Rd = Op1 + Op2 .text:0001A58C ADD R2, R2, #3 @ Rd = Op1 + Op2 .text:0001A590 MOV R1, R4 @ Rd = Op2 .text:0001A594 ADD R0, R0, #0x19 @ Rd = Op1 + Op2 .text:0001A598 BL strncat @ Branch with Link .text:0001A59C MOV R1, SP @ Rd = Op2 .text:0001A5A0 MOV R2, #0x218 @ Rd = Op2 .text:0001A5A4 MOV R3, #0 @ Rd = Op2 .text:0001A5A8 LDR R0, [R5] @ Load from Memory .text:0001A5AC BL send @ Branch with Link .text:0001A5B0 MOV R3, #0 @ Rd = Op2 .text:0001A5B4 LDR R0, [R5] @ Load from Memory .text:0001A5B8 MOV R1, SP @ Rd = Op2 .text:0001A5BC MOV R2, #0x218 @ Rd = Op2 .text:0001A5C0 BL recv @ Branch with Link .text:0001A5C4 LDR R3, [SP,#0x22C+var_228] @ Load from Memory .text:0001A5C8 CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:0001A5CC LDREQ R12, [SP,#0x22C+var_21C] @ Load from Memory .text:0001A5D0 MOVNE R12, #0 @ Rd = Op2 .text:0001A5D4 .text:0001A5D4 loc_1A5D4: @ CODE XREF: sub_1A538+34j .text:0001A5D4 MOV R0, R12 @ Rd = Op2 .text:0001A5D8 ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:0001A5DC LDMFD SP!, {R4-R7,PC} @ Load Block from Memory .text:0001A5DC @ End of function sub_1A538 .text:0001A5DC .text:0001A5DC @ --------------------------------------------------------------------------- .text:0001A5E0 off_1A5E0: .long phatsock_fd @ DATA XREF: sub_1A538+4r .text:0001A5E4 .text:0001A5E4 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001A5E4 .text:0001A5E4 .text:0001A5E4 sub_1A5E4: .text:0001A5E4 .text:0001A5E4 var_224 = -0x224 .text:0001A5E4 var_220 = -0x220 .text:0001A5E4 .text:0001A5E4 STMFD SP!, {R4,R5,LR} @ Store Block to Memory .text:0001A5E8 LDR R4, =phatsock_fd @ Load from Memory .text:0001A5EC LDR R12, [R4] @ Load from Memory .text:0001A5F0 MOV R3, #0 @ Rd = Op2 .text:0001A5F4 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:0001A5F8 CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:0001A5FC MOV R0, R12 @ Rd = Op2 .text:0001A600 MOV R5, SP @ Rd = Op2 .text:0001A604 MOV R1, SP @ Rd = Op2 .text:0001A608 MOV R2, #0x218 @ Rd = Op2 .text:0001A60C MOVL R12, 0xFFFFFFFF .text:0001A610 BLT loc_1A650 @ Branch .text:0001A614 MOV R12, #0x50 @ 'P' @ Rd = Op2 .text:0001A618 STR R12, [SP,#0x224+var_224] @ Store to Memory .text:0001A61C BL send @ Branch with Link .text:0001A620 MOV R2, #0x218 @ Rd = Op2 .text:0001A624 MOV R3, #0 @ Rd = Op2 .text:0001A628 LDR R0, [R4] @ Load from Memory .text:0001A62C MOV R1, SP @ Rd = Op2 .text:0001A630 BL recv @ Branch with Link .text:0001A634 LDR R3, [SP,#0x224+var_220] @ Load from Memory .text:0001A638 CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:0001A63C LDREQ R3, =unk_360B4 @ Load from Memory .text:0001A640 MOV R2, #1 @ Rd = Op2 .text:0001A644 STREQ R2, [R3] @ Store to Memory .text:0001A648 MOV R12, R2 @ Rd = Op2 .text:0001A64C MOVNE R12, #0 @ Rd = Op2 .text:0001A650 .text:0001A650 loc_1A650: @ CODE XREF: sub_1A5E4+2Cj .text:0001A650 MOV R0, R12 @ Rd = Op2 .text:0001A654 ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:0001A658 LDMFD SP!, {R4,R5,PC} @ Load Block from Memory .text:0001A658 @ End of function sub_1A5E4 .text:0001A658 .text:0001A658 @ --------------------------------------------------------------------------- .text:0001A65C off_1A65C: .long phatsock_fd @ DATA XREF: sub_1A5E4+4r .text:0001A660 off_1A660: .long unk_360B4 @ DATA XREF: sub_1A5E4+58r .text:0001A664 .text:0001A664 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001A664 .text:0001A664 .text:0001A664 sub_1A664: .text:0001A664 .text:0001A664 var_22C = -0x22C .text:0001A664 var_228 = -0x228 .text:0001A664 var_224 = -0x224 .text:0001A664 var_21C = -0x21C .text:0001A664 .text:0001A664 STMFD SP!, {R4-R7,LR} @ Store Block to Memory .text:0001A668 LDR R4, =phatsock_fd3_ @ Load from Memory .text:0001A66C LDR R3, [R4] @ Load from Memory .text:0001A670 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0001A674 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:0001A678 MOV R6, R4 @ Rd = Op2 .text:0001A67C MOV R5, R0 @ Rd = Op2 .text:0001A680 BLT loc_1A6E8 @ Branch .text:0001A684 .text:0001A684 loc_1A684: @ CODE XREF: sub_1A664+DCj .text:0001A684 LDR R12, [R6] @ Load from Memory .text:0001A688 MOV R3, #0 @ Rd = Op2 .text:0001A68C CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:0001A690 MOV R4, SP @ Rd = Op2 .text:0001A694 MOV R2, #0x218 @ Rd = Op2 .text:0001A698 MOVL LR, 0xFFFFFFFF .text:0001A69C MOV R0, R12 @ Rd = Op2 .text:0001A6A0 MOV R1, SP @ Rd = Op2 .text:0001A6A4 BLT loc_1A6DC @ Branch .text:0001A6A8 MOV R12, #0x53 @ 'S' @ Rd = Op2 .text:0001A6AC STR R12, [SP,#0x22C+var_22C] @ Store to Memory .text:0001A6B0 STR R5, [SP,#0x22C+var_21C] @ Store to Memory .text:0001A6B4 BL send @ Branch with Link .text:0001A6B8 MOV R3, #0 @ Rd = Op2 .text:0001A6BC LDR R0, [R6] @ Load from Memory .text:0001A6C0 MOV R1, SP @ Rd = Op2 .text:0001A6C4 MOV R2, #0x218 @ Rd = Op2 .text:0001A6C8 BL recv @ Branch with Link .text:0001A6CC LDR R3, [SP,#0x22C+var_228] @ Load from Memory .text:0001A6D0 CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:0001A6D4 MOVNE LR, #0 @ Rd = Op2 .text:0001A6D8 MOVEQ LR, #1 @ Rd = Op2 .text:0001A6DC .text:0001A6DC loc_1A6DC: @ CODE XREF: sub_1A664+40j .text:0001A6DC @ sub_1A664+98j .text:0001A6DC MOV R0, LR @ Rd = Op2 .text:0001A6E0 ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:0001A6E4 LDMFD SP!, {R4-R7,PC} @ Load Block from Memory .text:0001A6E8 @ --------------------------------------------------------------------------- .text:0001A6E8 .text:0001A6E8 loc_1A6E8: @ CODE XREF: sub_1A664+1Cj .text:0001A6E8 BL phatd_connect @ Branch with Link .text:0001A6EC CMN R0, #1 @ Set cond. codes on Op1 + Op2 .text:0001A6F0 MOV R7, SP @ Rd = Op2 .text:0001A6F4 MOV LR, R0 @ Rd = Op2 .text:0001A6F8 STR R0, [R4] @ Store to Memory .text:0001A6FC BEQ loc_1A6DC @ Branch .text:0001A700 MOV R3, #0x20 @ ' ' @ Rd = Op2 .text:0001A704 STR R3, [SP,#0x22C+var_22C] @ Store to Memory .text:0001A708 BL __libc_getpid @ Branch with Link .text:0001A70C MOV R12, R0 @ Rd = Op2 .text:0001A710 ADD R12, R12, #0x3E8 @ Rd = Op1 + Op2 .text:0001A714 MOV R1, SP @ Rd = Op2 .text:0001A718 MOV R2, #0x218 @ Rd = Op2 .text:0001A71C MOV R3, #0 @ Rd = Op2 .text:0001A720 LDR R0, [R4] @ Load from Memory .text:0001A724 STR R12, [SP,#0x22C+var_224] @ Store to Memory .text:0001A728 BL send @ Branch with Link .text:0001A72C LDR R0, [R4] @ Load from Memory .text:0001A730 MOV R1, SP @ Rd = Op2 .text:0001A734 MOV R2, #0x218 @ Rd = Op2 .text:0001A738 MOV R3, #0 @ Rd = Op2 .text:0001A73C BL recv @ Branch with Link .text:0001A740 B loc_1A684 @ Branch .text:0001A740 @ End of function sub_1A664 .text:0001A740 .text:0001A740 @ --------------------------------------------------------------------------- .text:0001A744 off_1A744: .long phatsock_fd3_ @ DATA XREF: sub_1A664+4r .text:0001A748 .text:0001A748 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001A748 .text:0001A748 .text:0001A748 sub_1A748: @ CODE XREF: packblocked+7Cp .text:0001A748 @ error_blink_forever+10Cp .text:0001A748 .text:0001A748 var_228 = -0x228 .text:0001A748 var_224 = -0x224 .text:0001A748 var_218 = -0x218 .text:0001A748 .text:0001A748 STMFD SP!, {R4-R6,LR} @ Store Block to Memory .text:0001A74C LDR R5, =phatsock_fd @ Load from Memory .text:0001A750 LDR R12, [R5] @ Load from Memory .text:0001A754 MOV R3, #0 @ Rd = Op2 .text:0001A758 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:0001A75C CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:0001A760 MOV LR, R0 @ Rd = Op2 .text:0001A764 MOV R6, SP @ Rd = Op2 .text:0001A768 MOV R1, SP @ Rd = Op2 .text:0001A76C MOV R2, #0x218 @ Rd = Op2 .text:0001A770 MOVL R4, 0xFFFFFFFF .text:0001A774 MOV R0, R12 @ Rd = Op2 .text:0001A778 BLT loc_1A7B0 @ Branch .text:0001A77C MOV R12, #0x54 @ 'T' @ Rd = Op2 .text:0001A780 STR R12, [SP,#0x228+var_228] @ Store to Memory .text:0001A784 STR LR, [SP,#0x228+var_218] @ Store to Memory .text:0001A788 BL send @ Branch with Link .text:0001A78C MOV R3, #0 @ Rd = Op2 .text:0001A790 LDR R0, [R5] @ Load from Memory .text:0001A794 MOV R1, SP @ Rd = Op2 .text:0001A798 MOV R2, #0x218 @ Rd = Op2 .text:0001A79C BL recv @ Branch with Link .text:0001A7A0 LDR R3, [SP,#0x228+var_224] @ Load from Memory .text:0001A7A4 CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:0001A7A8 MOVNE R4, #0 @ Rd = Op2 .text:0001A7AC MOVEQ R4, #1 @ Rd = Op2 .text:0001A7B0 .text:0001A7B0 loc_1A7B0: @ CODE XREF: sub_1A748+30j .text:0001A7B0 MOV R0, R4 @ Rd = Op2 .text:0001A7B4 ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:0001A7B8 LDMFD SP!, {R4-R6,PC} @ Load Block from Memory .text:0001A7B8 @ End of function sub_1A748 .text:0001A7B8 .text:0001A7B8 @ --------------------------------------------------------------------------- .text:0001A7BC off_1A7BC: .long phatsock_fd @ DATA XREF: sub_1A748+4r .text:0001A7C0 .text:0001A7C0 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001A7C0 .text:0001A7C0 .text:0001A7C0 sub_1A7C0: @ CODE XREF: processpack+458p .text:0001A7C0 @ sub_16730+20p .text:0001A7C0 .text:0001A7C0 var_228 = -0x228 .text:0001A7C0 var_224 = -0x224 .text:0001A7C0 var_218 = -0x218 .text:0001A7C0 .text:0001A7C0 STMFD SP!, {R4-R6,LR} @ Store Block to Memory .text:0001A7C4 LDR R5, =phatsock_fd @ Load from Memory .text:0001A7C8 LDR R12, [R5] @ Load from Memory .text:0001A7CC MOV R3, #0 @ Rd = Op2 .text:0001A7D0 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:0001A7D4 CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:0001A7D8 MOV LR, R0 @ Rd = Op2 .text:0001A7DC MOV R6, SP @ Rd = Op2 .text:0001A7E0 MOV R1, SP @ Rd = Op2 .text:0001A7E4 MOV R2, #0x218 @ Rd = Op2 .text:0001A7E8 MOVL R4, 0xFFFFFFFF .text:0001A7EC MOV R0, R12 @ Rd = Op2 .text:0001A7F0 BLT loc_1A828 @ Branch .text:0001A7F4 MOV R12, #0x56 @ 'V' @ Rd = Op2 .text:0001A7F8 STR R12, [SP,#0x228+var_228] @ Store to Memory .text:0001A7FC STR LR, [SP,#0x228+var_218] @ Store to Memory .text:0001A800 BL send @ Branch with Link .text:0001A804 MOV R3, #0 @ Rd = Op2 .text:0001A808 LDR R0, [R5] @ Load from Memory .text:0001A80C MOV R1, SP @ Rd = Op2 .text:0001A810 MOV R2, #0x218 @ Rd = Op2 .text:0001A814 BL recv @ Branch with Link .text:0001A818 LDR R3, [SP,#0x228+var_224] @ Load from Memory .text:0001A81C CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:0001A820 MOVNE R4, #0 @ Rd = Op2 .text:0001A824 MOVEQ R4, #1 @ Rd = Op2 .text:0001A828 .text:0001A828 loc_1A828: @ CODE XREF: sub_1A7C0+30j .text:0001A828 MOV R0, R4 @ Rd = Op2 .text:0001A82C ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:0001A830 LDMFD SP!, {R4-R6,PC} @ Load Block from Memory .text:0001A830 @ End of function sub_1A7C0 .text:0001A830 .text:0001A830 @ --------------------------------------------------------------------------- .text:0001A834 off_1A834: .long phatsock_fd @ DATA XREF: sub_1A7C0+4r .text:0001A838 .text:0001A838 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001A838 .text:0001A838 .text:0001A838 sub_1A838: @ CODE XREF: processpack+E44p .text:0001A838 @ send_arm_status+12Cp .text:0001A838 .text:0001A838 var_230 = -0x230 .text:0001A838 var_22C = -0x22C .text:0001A838 var_220 = -0x220 .text:0001A838 var_218 = -0x218 .text:0001A838 .text:0001A838 STMFD SP!, {R4-R8,LR} @ Store Block to Memory .text:0001A83C LDR R6, =phatsock_fd @ Load from Memory .text:0001A840 LDR R3, [R6] @ Load from Memory .text:0001A844 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0001A848 MOV R5, R0 @ Rd = Op2 .text:0001A84C SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:0001A850 MOV R8, R1 @ Rd = Op2 .text:0001A854 MOV R7, R2 @ Rd = Op2 .text:0001A858 MOVLLT R0, 0xFFFFFFFF .text:0001A85C BLT loc_1A8A8 @ Branch .text:0001A860 MOV R12, #0x57 @ 'W' @ Rd = Op2 .text:0001A864 MOV R0, R3 @ Rd = Op2 .text:0001A868 MOV R1, SP @ Rd = Op2 .text:0001A86C MOV R2, #0x218 @ Rd = Op2 .text:0001A870 MOV R3, #0 @ Rd = Op2 .text:0001A874 STR R12, [SP,#0x230+var_230] @ Store to Memory .text:0001A878 STR R5, [SP,#0x230+var_220] @ Store to Memory .text:0001A87C BL send @ Branch with Link .text:0001A880 MOV R3, #0 @ Rd = Op2 .text:0001A884 LDR R0, [R6] @ Load from Memory .text:0001A888 MOV R1, SP @ Rd = Op2 .text:0001A88C MOV R2, #0x218 @ Rd = Op2 .text:0001A890 BL recv @ Branch with Link .text:0001A894 LDR R3, [SP,#0x230+var_22C] @ Load from Memory .text:0001A898 CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:0001A89C MOV R4, SP @ Rd = Op2 .text:0001A8A0 MOVNE R0, #0 @ Rd = Op2 .text:0001A8A4 BEQ loc_1A8B0 @ Branch .text:0001A8A8 .text:0001A8A8 loc_1A8A8: @ CODE XREF: sub_1A838+24j .text:0001A8A8 @ sub_1A838+94j ... .text:0001A8A8 ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:0001A8AC LDMFD SP!, {R4-R8,PC} @ Load Block from Memory .text:0001A8B0 @ --------------------------------------------------------------------------- .text:0001A8B0 .text:0001A8B0 loc_1A8B0: @ CODE XREF: sub_1A838+6Cj .text:0001A8B0 LDR R0, [SP,#0x230+var_220] @ Load from Memory .text:0001A8B4 CMP R0, R5 @ Set cond. codes on Op1 - Op2 .text:0001A8B8 MOVGT R0, R5 @ Rd = Op2 .text:0001A8BC STRGT R5, [SP,#0x230+var_220] @ Store to Memory .text:0001A8C0 CMP R8, #0 @ Set cond. codes on Op1 - Op2 .text:0001A8C4 CMPNE R7, #0 @ Set cond. codes on Op1 - Op2 .text:0001A8C8 ADD R5, SP, #0x230+var_218 @ Rd = Op1 + Op2 .text:0001A8CC BEQ loc_1A8A8 @ Branch .text:0001A8D0 MOV R1, #0 @ Rd = Op2 .text:0001A8D4 CMP R1, R0 @ Set cond. codes on Op1 - Op2 .text:0001A8D8 BGE loc_1A8A8 @ Branch .text:0001A8DC MOV R4, R5 @ Rd = Op2 .text:0001A8E0 .text:0001A8E0 loc_1A8E0: @ CODE XREF: sub_1A838+C4j .text:0001A8E0 LDR R3, [R5,R1,LSL#3] @ Load from Memory .text:0001A8E4 LDR R2, [R4,#4] @ Load from Memory .text:0001A8E8 STR R3, [R8,R1,LSL#2] @ Store to Memory .text:0001A8EC STR R2, [R7,R1,LSL#2] @ Store to Memory .text:0001A8F0 ADD R1, R1, #1 @ Rd = Op1 + Op2 .text:0001A8F4 CMP R1, R0 @ Set cond. codes on Op1 - Op2 .text:0001A8F8 ADD R4, R4, #8 @ Rd = Op1 + Op2 .text:0001A8FC BLT loc_1A8E0 @ Branch .text:0001A900 B loc_1A8A8 @ Branch .text:0001A900 @ End of function sub_1A838 .text:0001A900 .text:0001A900 @ --------------------------------------------------------------------------- .text:0001A904 off_1A904: .long phatsock_fd @ DATA XREF: sub_1A838+4r .text:0001A908 .text:0001A908 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001A908 .text:0001A908 .text:0001A908 xphatlib_main: @ CODE XREF: processpack+1200p .text:0001A908 .text:0001A908 var_22C = -0x22C .text:0001A908 var_228 = -0x228 .text:0001A908 var_21C = -0x21C .text:0001A908 var_218 = -0x218 .text:0001A908 .text:0001A908 STMFD SP!, {R4-R7,LR} @ Store Block to Memory .text:0001A90C LDR R6, =phatsock_fd @ Load from Memory .text:0001A910 LDR R12, [R6] @ Load from Memory .text:0001A914 MOV R3, #0 @ Rd = Op2 .text:0001A918 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:0001A91C CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:0001A920 MOV R4, R0 @ Rd = Op2 .text:0001A924 MOV LR, R1 @ Rd = Op2 .text:0001A928 MOV R7, SP @ Rd = Op2 .text:0001A92C MOV R2, #0x218 @ Rd = Op2 .text:0001A930 MOVL R5, 0xFFFFFFFF .text:0001A934 MOV R0, R12 @ Rd = Op2 .text:0001A938 MOV R1, SP @ Rd = Op2 .text:0001A93C BLT loc_1A978 @ Branch .text:0001A940 MOV R12, #0x58 @ 'X' @ Rd = Op2 .text:0001A944 STR R12, [SP,#0x22C+var_22C] @ Store to Memory .text:0001A948 STR LR, [SP,#0x22C+var_218] @ Store to Memory .text:0001A94C STR R4, [SP,#0x22C+var_21C] @ Store to Memory .text:0001A950 BL send @ Branch with Link .text:0001A954 MOV R3, #0 @ Rd = Op2 .text:0001A958 LDR R0, [R6] @ Load from Memory .text:0001A95C MOV R1, SP @ Rd = Op2 .text:0001A960 MOV R2, #0x218 @ Rd = Op2 .text:0001A964 BL recv @ Branch with Link .text:0001A968 LDR R3, [SP,#0x22C+var_228] @ Load from Memory .text:0001A96C CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:0001A970 MOVNE R5, #0 @ Rd = Op2 .text:0001A974 MOVEQ R5, #1 @ Rd = Op2 .text:0001A978 .text:0001A978 loc_1A978: @ CODE XREF: xphatlib_main+34j .text:0001A978 MOV R0, R5 @ Rd = Op2 .text:0001A97C ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:0001A980 LDMFD SP!, {R4-R7,PC} @ Load Block from Memory .text:0001A980 @ End of function xphatlib_main .text:0001A980 .text:0001A980 @ --------------------------------------------------------------------------- .text:0001A984 off_1A984: .long phatsock_fd @ DATA XREF: xphatlib_main+4r .text:0001A988 .text:0001A988 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001A988 .text:0001A988 .text:0001A988 sub_1A988: .text:0001A988 STMFD SP!, {R4-R7,LR} @ Store Block to Memory .text:0001A98C MOV R5, R0 @ Rd = Op2 .text:0001A990 BL sub_26BDC @ Branch with Link .text:0001A994 MOV R2, #0 @ Rd = Op2 .text:0001A998 ADD R0, R0, #1 @ Rd = Op1 + Op2 .text:0001A99C CMP R2, R0 @ Set cond. codes on Op1 - Op2 .text:0001A9A0 MOV R1, R2 @ Rd = Op2 .text:0001A9A4 BGE loc_1A9EC @ Branch .text:0001A9A8 LDR R4, =dword_441D8 @ Load from Memory .text:0001A9AC MOV R7, #0x25 @ '%' @ Rd = Op2 .text:0001A9B0 MOV LR, #0x33 @ '3' @ Rd = Op2 .text:0001A9B4 MOV R12, #0x41 @ 'A' @ Rd = Op2 .text:0001A9B8 MOV R6, R4 @ Rd = Op2 .text:0001A9BC .text:0001A9BC loc_1A9BC: @ CODE XREF: sub_1A988+60j .text:0001A9BC LDRB R3, [R5,R1] @ Load from Memory .text:0001A9C0 CMP R3, #0x3A @ ':' @ Set cond. codes on Op1 - Op2 .text:0001A9C4 STREQB R7, [R2,R4] @ Store to Memory .text:0001A9C8 ADDEQ R2, R2, #1 @ Rd = Op1 + Op2 .text:0001A9CC STREQB LR, [R2,R4] @ Store to Memory .text:0001A9D0 ADD R1, R1, #1 @ Rd = Op1 + Op2 .text:0001A9D4 ADDEQ R2, R2, #1 @ Rd = Op1 + Op2 .text:0001A9D8 STREQB R12, [R2,R4] @ Store to Memory .text:0001A9DC STRNEB R3, [R2,R6] @ Store to Memory .text:0001A9E0 CMP R1, R0 @ Set cond. codes on Op1 - Op2 .text:0001A9E4 ADD R2, R2, #1 @ Rd = Op1 + Op2 .text:0001A9E8 BLT loc_1A9BC @ Branch .text:0001A9EC .text:0001A9EC loc_1A9EC: @ CODE XREF: sub_1A988+1Cj .text:0001A9EC LDR R0, =dword_441D8 @ Load from Memory .text:0001A9F0 LDMFD SP!, {R4-R7,PC} @ Load Block from Memory .text:0001A9F0 @ End of function sub_1A988 .text:0001A9F0 .text:0001A9F0 @ --------------------------------------------------------------------------- .text:0001A9F4 off_1A9F4: .long dword_441D8 @ DATA XREF: sub_1A988+20r .text:0001A9F4 @ sub_1A988:loc_1A9ECr .text:0001A9F8 .text:0001A9F8 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001A9F8 .text:0001A9F8 .text:0001A9F8 phat_db_query: .text:0001A9F8 .text:0001A9F8 var_22C = -0x22C .text:0001A9F8 var_228 = -0x228 .text:0001A9F8 var_220 = -0x220 .text:0001A9F8 var_214 = -0x214 .text:0001A9F8 .text:0001A9F8 STMFD SP!, {R4-R7,LR} @ Store Block to Memory .text:0001A9FC LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:0001AA00 LDR R2, [R3] @ Load from Memory .text:0001AA04 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:0001AA08 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0001AA0C MOV R6, R0 @ Rd = Op2 .text:0001AA10 MOV R7, SP @ Rd = Op2 .text:0001AA14 LDR R5, =phatsock_fd @ Load from Memory .text:0001AA18 LDR R0, =aPhatlib @ Load from Memory .text:0001AA1C MOV R4, R1 @ Rd = Op2 .text:0001AA20 BNE loc_1AA98 @ Branch .text:0001AA24 .text:0001AA24 loc_1AA24: @ CODE XREF: phat_db_query+C0j .text:0001AA24 LDR R3, [R5] @ Load from Memory .text:0001AA28 MOV R2, #0x1FC @ Rd = Op2 .text:0001AA2C CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0001AA30 MOV R1, R4 @ Rd = Op2 .text:0001AA34 MOVL R12, 0xFFFFFFFF .text:0001AA38 ADD R2, R2, #3 @ Rd = Op1 + Op2 .text:0001AA3C ADD R0, SP, #0x22C+var_214 @ Rd = Op1 + Op2 .text:0001AA40 BLT loc_1AA8C @ Branch .text:0001AA44 MOV R3, #0x59 @ 'Y' @ Rd = Op2 .text:0001AA48 STR R3, [SP,#0x22C+var_22C] @ Store to Memory .text:0001AA4C STR R6, [SP,#0x22C+var_220] @ Store to Memory .text:0001AA50 BL strncat @ Branch with Link .text:0001AA54 MOV R1, R7 @ Rd = Op2 .text:0001AA58 MOV R2, #0x218 @ Rd = Op2 .text:0001AA5C MOV R3, #0 @ Rd = Op2 .text:0001AA60 LDR R0, [R5] @ Load from Memory .text:0001AA64 BL send @ Branch with Link .text:0001AA68 MOV R3, #0 @ Rd = Op2 .text:0001AA6C LDR R0, [R5] @ Load from Memory .text:0001AA70 MOV R1, R7 @ Rd = Op2 .text:0001AA74 MOV R2, #0x218 @ Rd = Op2 .text:0001AA78 BL recv @ Branch with Link .text:0001AA7C LDR R3, [SP,#0x22C+var_228] @ Load from Memory .text:0001AA80 CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:0001AA84 MOVNE R12, #0 @ Rd = Op2 .text:0001AA88 MOVEQ R12, #1 @ Rd = Op2 .text:0001AA8C .text:0001AA8C loc_1AA8C: @ CODE XREF: phat_db_query+48j .text:0001AA8C MOV R0, R12 @ Rd = Op2 .text:0001AA90 ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:0001AA94 LDMFD SP!, {R4-R7,PC} @ Load Block from Memory .text:0001AA98 @ --------------------------------------------------------------------------- .text:0001AA98 .text:0001AA98 loc_1AA98: @ CODE XREF: phat_db_query+28j .text:0001AA98 BL printf @ Branch with Link .text:0001AA9C LDR R1, =aPhat_db_query @ Load from Memory .text:0001AAA0 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:0001AAA4 BL printf @ Branch with Link .text:0001AAA8 LDR R0, =aIS @ Load from Memory .text:0001AAAC MOV R1, R6 @ Rd = Op2 .text:0001AAB0 MOV R2, R4 @ Rd = Op2 .text:0001AAB4 BL printf @ Branch with Link .text:0001AAB8 B loc_1AA24 @ Branch .text:0001AAB8 @ End of function phat_db_query .text:0001AAB8 .text:0001AAB8 @ --------------------------------------------------------------------------- .text:0001AABC off_1AABC: .long PHATLIB_DEBUG @ DATA XREF: phat_db_query+4r .text:0001AAC0 off_1AAC0: .long phatsock_fd @ DATA XREF: phat_db_query+1Cr .text:0001AAC4 off_1AAC4: .long aPhatlib @ DATA XREF: phat_db_query+20r .text:0001AAC4 @ "phatlib:" .text:0001AAC8 off_1AAC8: .long aPhat_db_query @ DATA XREF: phat_db_query+A4r .text:0001AAC8 @ "phat_db_query" .text:0001AACC off_1AACC: .long aDosTtsI_S+0xC @ DATA XREF: phat_db_query+A8r .text:0001AAD0 off_1AAD0: .long aIS @ DATA XREF: phat_db_query+B0r .text:0001AAD0 @ "(%i,%s)\n" .text:0001AAD4 .text:0001AAD4 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001AAD4 .text:0001AAD4 .text:0001AAD4 phat_playmode_db: .text:0001AAD4 .text:0001AAD4 var_228 = -0x228 .text:0001AAD4 var_224 = -0x224 .text:0001AAD4 var_21C = -0x21C .text:0001AAD4 .text:0001AAD4 STMFD SP!, {R4-R6,LR} @ Store Block to Memory .text:0001AAD8 LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:0001AADC LDR R2, [R3] @ Load from Memory .text:0001AAE0 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:0001AAE4 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0001AAE8 MOV R4, R0 @ Rd = Op2 .text:0001AAEC MOV R6, SP @ Rd = Op2 .text:0001AAF0 LDR R5, =phatsock_fd @ Load from Memory .text:0001AAF4 LDR R0, =aPhatlib @ Load from Memory .text:0001AAF8 BNE loc_1AB5C @ Branch .text:0001AAFC .text:0001AAFC loc_1AAFC: @ CODE XREF: phat_playmode_db+A4j .text:0001AAFC LDR R12, [R5] @ Load from Memory .text:0001AB00 MOV R3, #0 @ Rd = Op2 .text:0001AB04 CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:0001AB08 MOV R1, R6 @ Rd = Op2 .text:0001AB0C MOV R2, #0x218 @ Rd = Op2 .text:0001AB10 MOVL LR, 0xFFFFFFFF .text:0001AB14 MOV R0, R12 @ Rd = Op2 .text:0001AB18 BLT loc_1AB50 @ Branch .text:0001AB1C MOV R12, #0x5A @ 'Z' @ Rd = Op2 .text:0001AB20 STR R12, [SP,#0x228+var_228] @ Store to Memory .text:0001AB24 STR R4, [SP,#0x228+var_21C] @ Store to Memory .text:0001AB28 BL send @ Branch with Link .text:0001AB2C MOV R3, #0 @ Rd = Op2 .text:0001AB30 LDR R0, [R5] @ Load from Memory .text:0001AB34 MOV R1, R6 @ Rd = Op2 .text:0001AB38 MOV R2, #0x218 @ Rd = Op2 .text:0001AB3C BL recv @ Branch with Link .text:0001AB40 LDR R3, [SP,#0x228+var_224] @ Load from Memory .text:0001AB44 CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:0001AB48 MOVNE LR, #0 @ Rd = Op2 .text:0001AB4C MOVEQ LR, #1 @ Rd = Op2 .text:0001AB50 .text:0001AB50 loc_1AB50: @ CODE XREF: phat_playmode_db+44j .text:0001AB50 MOV R0, LR @ Rd = Op2 .text:0001AB54 ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:0001AB58 LDMFD SP!, {R4-R6,PC} @ Load Block from Memory .text:0001AB5C @ --------------------------------------------------------------------------- .text:0001AB5C .text:0001AB5C loc_1AB5C: @ CODE XREF: phat_playmode_db+24j .text:0001AB5C BL printf @ Branch with Link .text:0001AB60 LDR R1, =aPhat_playmod_6 @ Load from Memory .text:0001AB64 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:0001AB68 BL printf @ Branch with Link .text:0001AB6C LDR R0, =(a02xI_0+0x18) @ Load from Memory .text:0001AB70 MOV R1, R4 @ Rd = Op2 .text:0001AB74 BL printf @ Branch with Link .text:0001AB78 B loc_1AAFC @ Branch .text:0001AB78 @ End of function phat_playmode_db .text:0001AB78 .text:0001AB78 @ --------------------------------------------------------------------------- .text:0001AB7C off_1AB7C: .long PHATLIB_DEBUG @ DATA XREF: phat_playmode_db+4r .text:0001AB80 off_1AB80: .long phatsock_fd @ DATA XREF: phat_playmode_db+1Cr .text:0001AB84 off_1AB84: .long aPhatlib @ DATA XREF: phat_playmode_db+20r .text:0001AB84 @ "phatlib:" .text:0001AB88 off_1AB88: .long aPhat_playmod_6 @ DATA XREF: phat_playmode_db+8Cr .text:0001AB88 @ "phat_playmode_db" .text:0001AB8C off_1AB8C: .long aDosTtsI_S+0xC @ DATA XREF: phat_playmode_db+90r .text:0001AB90 off_1AB90: .long a02xI_0+0x18 @ DATA XREF: phat_playmode_db+98r .text:0001AB94 .text:0001AB94 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001AB94 .text:0001AB94 .text:0001AB94 phat_set_active_db: .text:0001AB94 .text:0001AB94 var_228 = -0x228 .text:0001AB94 var_224 = -0x224 .text:0001AB94 var_21C = -0x21C .text:0001AB94 .text:0001AB94 STMFD SP!, {R4-R6,LR} @ Store Block to Memory .text:0001AB98 LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:0001AB9C LDR R2, [R3] @ Load from Memory .text:0001ABA0 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:0001ABA4 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0001ABA8 MOV R4, R0 @ Rd = Op2 .text:0001ABAC MOV R6, SP @ Rd = Op2 .text:0001ABB0 LDR R5, =phatsock_fd @ Load from Memory .text:0001ABB4 LDR R0, =aPhatlib @ Load from Memory .text:0001ABB8 BNE loc_1AC1C @ Branch .text:0001ABBC .text:0001ABBC loc_1ABBC: @ CODE XREF: phat_set_active_db+A4j .text:0001ABBC LDR R12, [R5] @ Load from Memory .text:0001ABC0 MOV R3, #0 @ Rd = Op2 .text:0001ABC4 CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:0001ABC8 MOV R1, R6 @ Rd = Op2 .text:0001ABCC MOV R2, #0x218 @ Rd = Op2 .text:0001ABD0 MOVL LR, 0xFFFFFFFF .text:0001ABD4 MOV R0, R12 @ Rd = Op2 .text:0001ABD8 BLT loc_1AC10 @ Branch .text:0001ABDC MOV R12, #0x5B @ '[' @ Rd = Op2 .text:0001ABE0 STR R12, [SP,#0x228+var_228] @ Store to Memory .text:0001ABE4 STR R4, [SP,#0x228+var_21C] @ Store to Memory .text:0001ABE8 BL send @ Branch with Link .text:0001ABEC MOV R3, #0 @ Rd = Op2 .text:0001ABF0 LDR R0, [R5] @ Load from Memory .text:0001ABF4 MOV R1, R6 @ Rd = Op2 .text:0001ABF8 MOV R2, #0x218 @ Rd = Op2 .text:0001ABFC BL recv @ Branch with Link .text:0001AC00 LDR R3, [SP,#0x228+var_224] @ Load from Memory .text:0001AC04 CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:0001AC08 MOVNE LR, #0 @ Rd = Op2 .text:0001AC0C MOVEQ LR, #1 @ Rd = Op2 .text:0001AC10 .text:0001AC10 loc_1AC10: @ CODE XREF: phat_set_active_db+44j .text:0001AC10 MOV R0, LR @ Rd = Op2 .text:0001AC14 ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:0001AC18 LDMFD SP!, {R4-R6,PC} @ Load Block from Memory .text:0001AC1C @ --------------------------------------------------------------------------- .text:0001AC1C .text:0001AC1C loc_1AC1C: @ CODE XREF: phat_set_active_db+24j .text:0001AC1C BL printf @ Branch with Link .text:0001AC20 LDR R1, =aPhat_set_activ @ Load from Memory .text:0001AC24 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:0001AC28 BL printf @ Branch with Link .text:0001AC2C LDR R0, =(a02xI_0+0x18) @ Load from Memory .text:0001AC30 MOV R1, R4 @ Rd = Op2 .text:0001AC34 BL printf @ Branch with Link .text:0001AC38 B loc_1ABBC @ Branch .text:0001AC38 @ End of function phat_set_active_db .text:0001AC38 .text:0001AC38 @ --------------------------------------------------------------------------- .text:0001AC3C off_1AC3C: .long PHATLIB_DEBUG @ DATA XREF: phat_set_active_db+4r .text:0001AC40 off_1AC40: .long phatsock_fd @ DATA XREF: phat_set_active_db+1Cr .text:0001AC44 off_1AC44: .long aPhatlib @ DATA XREF: phat_set_active_db+20r .text:0001AC44 @ "phatlib:" .text:0001AC48 off_1AC48: .long aPhat_set_activ @ DATA XREF: phat_set_active_db+8Cr .text:0001AC48 @ "phat_set_active_db" .text:0001AC4C off_1AC4C: .long aDosTtsI_S+0xC @ DATA XREF: phat_set_active_db+90r .text:0001AC50 off_1AC50: .long a02xI_0+0x18 @ DATA XREF: phat_set_active_db+98r .text:0001AC54 .text:0001AC54 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001AC54 .text:0001AC54 .text:0001AC54 phat_active_db: .text:0001AC54 .text:0001AC54 var_224 = -0x224 .text:0001AC54 var_220 = -0x220 .text:0001AC54 var_218 = -0x218 .text:0001AC54 .text:0001AC54 STMFD SP!, {R4,R5,LR} @ Store Block to Memory .text:0001AC58 LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:0001AC5C LDR R2, [R3] @ Load from Memory .text:0001AC60 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:0001AC64 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0001AC68 MOV R5, SP @ Rd = Op2 .text:0001AC6C LDR R0, =aPhatlib @ Load from Memory .text:0001AC70 LDR R4, =phatsock_fd @ Load from Memory .text:0001AC74 BNE loc_1ACD4 @ Branch .text:0001AC78 .text:0001AC78 loc_1AC78: @ CODE XREF: phat_active_db+98j .text:0001AC78 LDR R12, [R4] @ Load from Memory .text:0001AC7C MOV R3, #0 @ Rd = Op2 .text:0001AC80 CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:0001AC84 MOV R1, R5 @ Rd = Op2 .text:0001AC88 MOV R2, #0x218 @ Rd = Op2 .text:0001AC8C MOVL LR, 0xFFFFFFFF .text:0001AC90 MOV R0, R12 @ Rd = Op2 .text:0001AC94 BLT loc_1ACC8 @ Branch .text:0001AC98 MOV R12, #0x64 @ 'd' @ Rd = Op2 .text:0001AC9C STR R12, [SP,#0x224+var_224] @ Store to Memory .text:0001ACA0 BL send @ Branch with Link .text:0001ACA4 MOV R3, #0 @ Rd = Op2 .text:0001ACA8 LDR R0, [R4] @ Load from Memory .text:0001ACAC MOV R1, R5 @ Rd = Op2 .text:0001ACB0 MOV R2, #0x218 @ Rd = Op2 .text:0001ACB4 BL recv @ Branch with Link .text:0001ACB8 LDR R3, [SP,#0x224+var_220] @ Load from Memory .text:0001ACBC CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:0001ACC0 LDREQ LR, [SP,#0x224+var_218] @ Load from Memory .text:0001ACC4 MOVNE LR, #0 @ Rd = Op2 .text:0001ACC8 .text:0001ACC8 loc_1ACC8: @ CODE XREF: phat_active_db+40j .text:0001ACC8 MOV R0, LR @ Rd = Op2 .text:0001ACCC ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:0001ACD0 LDMFD SP!, {R4,R5,PC} @ Load Block from Memory .text:0001ACD4 @ --------------------------------------------------------------------------- .text:0001ACD4 .text:0001ACD4 loc_1ACD4: @ CODE XREF: phat_active_db+20j .text:0001ACD4 BL printf @ Branch with Link .text:0001ACD8 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:0001ACDC LDR R1, =aPhat_active_db @ Load from Memory .text:0001ACE0 BL printf @ Branch with Link .text:0001ACE4 LDR R0, =asc_2CA6C @ Load from Memory .text:0001ACE8 BL xdebug_out @ Branch with Link .text:0001ACEC B loc_1AC78 @ Branch .text:0001ACEC @ End of function phat_active_db .text:0001ACEC .text:0001ACEC @ --------------------------------------------------------------------------- .text:0001ACF0 off_1ACF0: .long PHATLIB_DEBUG @ DATA XREF: phat_active_db+4r .text:0001ACF4 off_1ACF4: .long aPhatlib @ DATA XREF: phat_active_db+18r .text:0001ACF4 @ "phatlib:" .text:0001ACF8 off_1ACF8: .long phatsock_fd @ DATA XREF: phat_active_db+1Cr .text:0001ACFC off_1ACFC: .long aDosTtsI_S+0xC @ DATA XREF: phat_active_db+84r .text:0001AD00 off_1AD00: .long aPhat_active_db @ DATA XREF: phat_active_db+88r .text:0001AD00 @ "phat_active_db" .text:0001AD04 off_1AD04: .long asc_2CA6C @ DATA XREF: phat_active_db+90r .text:0001AD04 @ "()" .text:0001AD08 .text:0001AD08 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001AD08 .text:0001AD08 .text:0001AD08 phat_db_numtracks: @ CODE XREF: phat_db_find+34p .text:0001AD08 .text:0001AD08 var_228 = -0x228 .text:0001AD08 var_224 = -0x224 .text:0001AD08 var_21C = -0x21C .text:0001AD08 var_218 = -0x218 .text:0001AD08 .text:0001AD08 STMFD SP!, {R4-R6,LR} @ Store Block to Memory .text:0001AD0C LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:0001AD10 LDR R2, [R3] @ Load from Memory .text:0001AD14 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:0001AD18 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0001AD1C MOV R4, R0 @ Rd = Op2 .text:0001AD20 MOV R6, SP @ Rd = Op2 .text:0001AD24 LDR R5, =phatsock_fd @ Load from Memory .text:0001AD28 LDR R0, =aPhatlib @ Load from Memory .text:0001AD2C BNE loc_1AD90 @ Branch .text:0001AD30 .text:0001AD30 loc_1AD30: @ CODE XREF: phat_db_numtracks+A4j .text:0001AD30 LDR R12, [R5] @ Load from Memory .text:0001AD34 MOV R3, #0 @ Rd = Op2 .text:0001AD38 CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:0001AD3C MOV R1, R6 @ Rd = Op2 .text:0001AD40 MOV R2, #0x218 @ Rd = Op2 .text:0001AD44 MOVL LR, 0xFFFFFFFF .text:0001AD48 MOV R0, R12 @ Rd = Op2 .text:0001AD4C BLT loc_1AD84 @ Branch .text:0001AD50 MOV R12, #0x5C @ '\' @ Rd = Op2 .text:0001AD54 STR R12, [SP,#0x228+var_228] @ Store to Memory .text:0001AD58 STR R4, [SP,#0x228+var_21C] @ Store to Memory .text:0001AD5C BL send @ Branch with Link .text:0001AD60 MOV R3, #0 @ Rd = Op2 .text:0001AD64 LDR R0, [R5] @ Load from Memory .text:0001AD68 MOV R1, R6 @ Rd = Op2 .text:0001AD6C MOV R2, #0x218 @ Rd = Op2 .text:0001AD70 BL recv @ Branch with Link .text:0001AD74 LDR R3, [SP,#0x228+var_224] @ Load from Memory .text:0001AD78 CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:0001AD7C LDREQ LR, [SP,#0x228+var_218] @ Load from Memory .text:0001AD80 MOVNE LR, #0 @ Rd = Op2 .text:0001AD84 .text:0001AD84 loc_1AD84: @ CODE XREF: phat_db_numtracks+44j .text:0001AD84 MOV R0, LR @ Rd = Op2 .text:0001AD88 ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:0001AD8C LDMFD SP!, {R4-R6,PC} @ Load Block from Memory .text:0001AD90 @ --------------------------------------------------------------------------- .text:0001AD90 .text:0001AD90 loc_1AD90: @ CODE XREF: phat_db_numtracks+24j .text:0001AD90 BL printf @ Branch with Link .text:0001AD94 LDR R1, =aPhat_db_numtra @ Load from Memory .text:0001AD98 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:0001AD9C BL printf @ Branch with Link .text:0001ADA0 LDR R0, =(a02xI_0+0x18) @ Load from Memory .text:0001ADA4 MOV R1, R4 @ Rd = Op2 .text:0001ADA8 BL printf @ Branch with Link .text:0001ADAC B loc_1AD30 @ Branch .text:0001ADAC @ End of function phat_db_numtracks .text:0001ADAC .text:0001ADAC @ --------------------------------------------------------------------------- .text:0001ADB0 off_1ADB0: .long PHATLIB_DEBUG @ DATA XREF: phat_db_numtracks+4r .text:0001ADB4 off_1ADB4: .long phatsock_fd @ DATA XREF: phat_db_numtracks+1Cr .text:0001ADB8 off_1ADB8: .long aPhatlib @ DATA XREF: phat_db_numtracks+20r .text:0001ADB8 @ "phatlib:" .text:0001ADBC off_1ADBC: .long aPhat_db_numtra @ DATA XREF: phat_db_numtracks+8Cr .text:0001ADBC @ "phat_db_numtracks" .text:0001ADC0 off_1ADC0: .long aDosTtsI_S+0xC @ DATA XREF: phat_db_numtracks+90r .text:0001ADC4 off_1ADC4: .long a02xI_0+0x18 @ DATA XREF: phat_db_numtracks+98r .text:0001ADC8 .text:0001ADC8 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001ADC8 .text:0001ADC8 .text:0001ADC8 phat_db_track_info: @ CODE XREF: phat_db_find+60p .text:0001ADC8 .text:0001ADC8 var_234 = -0x234 .text:0001ADC8 var_230 = -0x230 .text:0001ADC8 var_228 = -0x228 .text:0001ADC8 var_224 = -0x224 .text:0001ADC8 var_220 = -0x220 .text:0001ADC8 var_21C = -0x21C .text:0001ADC8 .text:0001ADC8 STMFD SP!, {R4-R8,R10,LR} @ Store Block to Memory .text:0001ADCC LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:0001ADD0 LDR R12, [R3] @ Load from Memory .text:0001ADD4 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:0001ADD8 CMP R12, #0 @ Set cond. codes on Op1 - Op2 .text:0001ADDC MOV R4, R0 @ Rd = Op2 .text:0001ADE0 MOV R8, SP @ Rd = Op2 .text:0001ADE4 LDR R7, =phatsock_fd @ Load from Memory .text:0001ADE8 MOV R6, R2 @ Rd = Op2 .text:0001ADEC MOV R5, R1 @ Rd = Op2 .text:0001ADF0 LDR R0, =aPhatlib @ Load from Memory .text:0001ADF4 BNE loc_1AE78 @ Branch .text:0001ADF8 .text:0001ADF8 loc_1ADF8: @ CODE XREF: phat_db_track_info+D4j .text:0001ADF8 LDR R12, [R7] @ Load from Memory .text:0001ADFC MOV R3, #0 @ Rd = Op2 .text:0001AE00 CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:0001AE04 MOV R1, R8 @ Rd = Op2 .text:0001AE08 MOV R2, #0x218 @ Rd = Op2 .text:0001AE0C MOV LR, R3 @ Rd = Op2 .text:0001AE10 MOV R0, R12 @ Rd = Op2 .text:0001AE14 BLT loc_1AE60 @ Branch .text:0001AE18 MOV R12, #0x5D @ ']' @ Rd = Op2 .text:0001AE1C STR R12, [SP,#0x234+var_234] @ Store to Memory .text:0001AE20 STR R4, [SP,#0x234+var_228] @ Store to Memory .text:0001AE24 STR R5, [SP,#0x234+var_224] @ Store to Memory .text:0001AE28 STR R6, [SP,#0x234+var_220] @ Store to Memory .text:0001AE2C BL send @ Branch with Link .text:0001AE30 MOV R1, R8 @ Rd = Op2 .text:0001AE34 MOV R3, #0 @ Rd = Op2 .text:0001AE38 LDR R0, [R7] @ Load from Memory .text:0001AE3C MOV R2, #0x218 @ Rd = Op2 .text:0001AE40 BL recv @ Branch with Link .text:0001AE44 LDR R3, [SP,#0x234+var_230] @ Load from Memory .text:0001AE48 LDR R10, =dword_443D8 @ Load from Memory .text:0001AE4C CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:0001AE50 ADD R1, SP, #0x234+var_21C @ Rd = Op1 + Op2 .text:0001AE54 MOV R0, R10 @ Rd = Op2 .text:0001AE58 MOVNE LR, #0 @ Rd = Op2 .text:0001AE5C BEQ loc_1AE6C @ Branch .text:0001AE60 .text:0001AE60 loc_1AE60: @ CODE XREF: phat_db_track_info+4Cj .text:0001AE60 @ phat_db_track_info+ACj .text:0001AE60 MOV R0, LR @ Rd = Op2 .text:0001AE64 ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:0001AE68 LDMFD SP!, {R4-R8,R10,PC} @ Load Block from Memory .text:0001AE6C @ --------------------------------------------------------------------------- .text:0001AE6C .text:0001AE6C loc_1AE6C: @ CODE XREF: phat_db_track_info+94j .text:0001AE6C BL strcpy @ Branch with Link .text:0001AE70 MOV LR, R10 @ Rd = Op2 .text:0001AE74 B loc_1AE60 @ Branch .text:0001AE78 @ --------------------------------------------------------------------------- .text:0001AE78 .text:0001AE78 loc_1AE78: @ CODE XREF: phat_db_track_info+2Cj .text:0001AE78 BL printf @ Branch with Link .text:0001AE7C LDR R1, =aPhat_db_track_ @ Load from Memory .text:0001AE80 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:0001AE84 BL printf @ Branch with Link .text:0001AE88 LDR R0, =aIII @ Load from Memory .text:0001AE8C MOV R1, R4 @ Rd = Op2 .text:0001AE90 MOV R2, R5 @ Rd = Op2 .text:0001AE94 MOV R3, R6 @ Rd = Op2 .text:0001AE98 BL printf @ Branch with Link .text:0001AE9C B loc_1ADF8 @ Branch .text:0001AE9C @ End of function phat_db_track_info .text:0001AE9C .text:0001AE9C @ --------------------------------------------------------------------------- .text:0001AEA0 off_1AEA0: .long PHATLIB_DEBUG @ DATA XREF: phat_db_track_info+4r .text:0001AEA4 off_1AEA4: .long phatsock_fd @ DATA XREF: phat_db_track_info+1Cr .text:0001AEA8 off_1AEA8: .long aPhatlib @ DATA XREF: phat_db_track_info+28r .text:0001AEA8 @ "phatlib:" .text:0001AEAC off_1AEAC: .long dword_443D8 @ DATA XREF: phat_db_track_info+80r .text:0001AEB0 off_1AEB0: .long aPhat_db_track_ @ DATA XREF: phat_db_track_info+B4r .text:0001AEB0 @ "phat_db_track_info" .text:0001AEB4 off_1AEB4: .long aDosTtsI_S+0xC @ DATA XREF: phat_db_track_info+B8r .text:0001AEB8 off_1AEB8: .long aIII @ DATA XREF: phat_db_track_info+C0r .text:0001AEB8 @ "(%i,%i,%i)\n" .text:0001AEBC .text:0001AEBC @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001AEBC .text:0001AEBC .text:0001AEBC phat_db_unique_items: @ CODE XREF: phat_db_find+94p .text:0001AEBC .text:0001AEBC var_22C = -0x22C .text:0001AEBC var_228 = -0x228 .text:0001AEBC var_220 = -0x220 .text:0001AEBC var_21C = -0x21C .text:0001AEBC var_218 = -0x218 .text:0001AEBC .text:0001AEBC STMFD SP!, {R4-R7,LR} @ Store Block to Memory .text:0001AEC0 LDR R4, =phatsock_fd @ Load from Memory .text:0001AEC4 LDR R12, [R4] @ Load from Memory .text:0001AEC8 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:0001AECC CMP R12, #0 @ Set cond. codes on Op1 - Op2 .text:0001AED0 MOV R7, SP @ Rd = Op2 .text:0001AED4 MOVL R3, 0xFFFFFFFF .text:0001AED8 MOV R6, R1 @ Rd = Op2 .text:0001AEDC MOV R5, R0 @ Rd = Op2 .text:0001AEE0 BLT loc_1AF40 @ Branch .text:0001AEE4 LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:0001AEE8 LDR R2, [R3] @ Load from Memory .text:0001AEEC CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0001AEF0 LDR R0, =aPhatlib @ Load from Memory .text:0001AEF4 BNE loc_1AF4C @ Branch .text:0001AEF8 .text:0001AEF8 loc_1AEF8: @ CODE XREF: phat_db_unique_items+B4j .text:0001AEF8 MOV R0, R12 @ Rd = Op2 .text:0001AEFC MOV R1, R7 @ Rd = Op2 .text:0001AF00 MOV R12, #0x5E @ '^' @ Rd = Op2 .text:0001AF04 MOV R2, #0x218 @ Rd = Op2 .text:0001AF08 MOV R3, #0 @ Rd = Op2 .text:0001AF0C STR R12, [SP,#0x22C+var_22C] @ Store to Memory .text:0001AF10 STR R5, [SP,#0x22C+var_220] @ Store to Memory .text:0001AF14 STR R6, [SP,#0x22C+var_218] @ Store to Memory .text:0001AF18 BL send @ Branch with Link .text:0001AF1C MOV R3, #0 @ Rd = Op2 .text:0001AF20 LDR R0, [R4] @ Load from Memory .text:0001AF24 MOV R1, R7 @ Rd = Op2 .text:0001AF28 MOV R2, #0x218 @ Rd = Op2 .text:0001AF2C BL recv @ Branch with Link .text:0001AF30 LDR R3, [SP,#0x22C+var_228] @ Load from Memory .text:0001AF34 CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:0001AF38 LDREQ R3, [SP,#0x22C+var_21C] @ Load from Memory .text:0001AF3C MOVNE R3, #0 @ Rd = Op2 .text:0001AF40 .text:0001AF40 loc_1AF40: @ CODE XREF: phat_db_unique_items+24j .text:0001AF40 MOV R0, R3 @ Rd = Op2 .text:0001AF44 ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:0001AF48 LDMFD SP!, {R4-R7,PC} @ Load Block from Memory .text:0001AF4C @ --------------------------------------------------------------------------- .text:0001AF4C .text:0001AF4C loc_1AF4C: @ CODE XREF: phat_db_unique_items+38j .text:0001AF4C BL printf @ Branch with Link .text:0001AF50 LDR R1, =aPhat_db_unique @ Load from Memory .text:0001AF54 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:0001AF58 BL printf @ Branch with Link .text:0001AF5C LDR R0, =aII_0 @ Load from Memory .text:0001AF60 MOV R1, R5 @ Rd = Op2 .text:0001AF64 MOV R2, R6 @ Rd = Op2 .text:0001AF68 BL printf @ Branch with Link .text:0001AF6C LDR R12, [R4] @ Load from Memory .text:0001AF70 B loc_1AEF8 @ Branch .text:0001AF70 @ End of function phat_db_unique_items .text:0001AF70 .text:0001AF70 @ --------------------------------------------------------------------------- .text:0001AF74 off_1AF74: .long phatsock_fd @ DATA XREF: phat_db_unique_items+4r .text:0001AF78 off_1AF78: .long PHATLIB_DEBUG @ DATA XREF: phat_db_unique_items+28r .text:0001AF7C off_1AF7C: .long aPhatlib @ DATA XREF: phat_db_unique_items+34r .text:0001AF7C @ "phatlib:" .text:0001AF80 off_1AF80: .long aPhat_db_unique @ DATA XREF: phat_db_unique_items+94r .text:0001AF80 @ "phat_db_unique_items" .text:0001AF84 off_1AF84: .long aDosTtsI_S+0xC @ DATA XREF: phat_db_unique_items+98r .text:0001AF88 off_1AF88: .long aII_0 @ DATA XREF: phat_db_unique_items+A0r .text:0001AF88 @ "(%i,%i)\n" .text:0001AF8C .text:0001AF8C @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001AF8C .text:0001AF8C .text:0001AF8C phat_db_item_value: @ CODE XREF: phat_db_find+B4p .text:0001AF8C .text:0001AF8C var_234 = -0x234 .text:0001AF8C var_230 = -0x230 .text:0001AF8C var_228 = -0x228 .text:0001AF8C var_224 = -0x224 .text:0001AF8C var_220 = -0x220 .text:0001AF8C var_21C = -0x21C .text:0001AF8C .text:0001AF8C STMFD SP!, {R4-R8,R10,LR} @ Store Block to Memory .text:0001AF90 LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:0001AF94 LDR R12, [R3] @ Load from Memory .text:0001AF98 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:0001AF9C CMP R12, #0 @ Set cond. codes on Op1 - Op2 .text:0001AFA0 MOV R4, R0 @ Rd = Op2 .text:0001AFA4 MOV R8, SP @ Rd = Op2 .text:0001AFA8 LDR R7, =phatsock_fd @ Load from Memory .text:0001AFAC MOV R6, R2 @ Rd = Op2 .text:0001AFB0 MOV R5, R1 @ Rd = Op2 .text:0001AFB4 LDR R0, =aPhatlib @ Load from Memory .text:0001AFB8 BNE loc_1B03C @ Branch .text:0001AFBC .text:0001AFBC loc_1AFBC: @ CODE XREF: phat_db_item_value+D4j .text:0001AFBC LDR R12, [R7] @ Load from Memory .text:0001AFC0 MOV R3, #0 @ Rd = Op2 .text:0001AFC4 CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:0001AFC8 MOV R1, R8 @ Rd = Op2 .text:0001AFCC MOV R2, #0x218 @ Rd = Op2 .text:0001AFD0 MOV LR, R3 @ Rd = Op2 .text:0001AFD4 MOV R0, R12 @ Rd = Op2 .text:0001AFD8 BLT loc_1B024 @ Branch .text:0001AFDC MOV R12, #0x5F @ '_' @ Rd = Op2 .text:0001AFE0 STR R12, [SP,#0x234+var_234] @ Store to Memory .text:0001AFE4 STR R4, [SP,#0x234+var_228] @ Store to Memory .text:0001AFE8 STR R5, [SP,#0x234+var_224] @ Store to Memory .text:0001AFEC STR R6, [SP,#0x234+var_220] @ Store to Memory .text:0001AFF0 BL send @ Branch with Link .text:0001AFF4 MOV R1, R8 @ Rd = Op2 .text:0001AFF8 MOV R3, #0 @ Rd = Op2 .text:0001AFFC LDR R0, [R7] @ Load from Memory .text:0001B000 MOV R2, #0x218 @ Rd = Op2 .text:0001B004 BL recv @ Branch with Link .text:0001B008 LDR R3, [SP,#0x234+var_230] @ Load from Memory .text:0001B00C LDR R10, =dword_445D8 @ Load from Memory .text:0001B010 CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:0001B014 ADD R1, SP, #0x234+var_21C @ Rd = Op1 + Op2 .text:0001B018 MOV R0, R10 @ Rd = Op2 .text:0001B01C MOVNE LR, #0 @ Rd = Op2 .text:0001B020 BEQ loc_1B030 @ Branch .text:0001B024 .text:0001B024 loc_1B024: @ CODE XREF: phat_db_item_value+4Cj .text:0001B024 @ phat_db_item_value+ACj .text:0001B024 MOV R0, LR @ Rd = Op2 .text:0001B028 ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:0001B02C LDMFD SP!, {R4-R8,R10,PC} @ Load Block from Memory .text:0001B030 @ --------------------------------------------------------------------------- .text:0001B030 .text:0001B030 loc_1B030: @ CODE XREF: phat_db_item_value+94j .text:0001B030 BL strcpy @ Branch with Link .text:0001B034 MOV LR, R10 @ Rd = Op2 .text:0001B038 B loc_1B024 @ Branch .text:0001B03C @ --------------------------------------------------------------------------- .text:0001B03C .text:0001B03C loc_1B03C: @ CODE XREF: phat_db_item_value+2Cj .text:0001B03C BL printf @ Branch with Link .text:0001B040 LDR R1, =aPhat_db_item_v @ Load from Memory .text:0001B044 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:0001B048 BL printf @ Branch with Link .text:0001B04C LDR R0, =aIII @ Load from Memory .text:0001B050 MOV R1, R4 @ Rd = Op2 .text:0001B054 MOV R2, R5 @ Rd = Op2 .text:0001B058 MOV R3, R6 @ Rd = Op2 .text:0001B05C BL printf @ Branch with Link .text:0001B060 B loc_1AFBC @ Branch .text:0001B060 @ End of function phat_db_item_value .text:0001B060 .text:0001B060 @ --------------------------------------------------------------------------- .text:0001B064 off_1B064: .long PHATLIB_DEBUG @ DATA XREF: phat_db_item_value+4r .text:0001B068 off_1B068: .long phatsock_fd @ DATA XREF: phat_db_item_value+1Cr .text:0001B06C off_1B06C: .long aPhatlib @ DATA XREF: phat_db_item_value+28r .text:0001B06C @ "phatlib:" .text:0001B070 off_1B070: .long dword_445D8 @ DATA XREF: phat_db_item_value+80r .text:0001B074 off_1B074: .long aPhat_db_item_v @ DATA XREF: phat_db_item_value+B4r .text:0001B074 @ "phat_db_item_value" .text:0001B078 off_1B078: .long aDosTtsI_S+0xC @ DATA XREF: phat_db_item_value+B8r .text:0001B07C off_1B07C: .long aIII @ DATA XREF: phat_db_item_value+C0r .text:0001B07C @ "(%i,%i,%i)\n" .text:0001B080 .text:0001B080 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001B080 .text:0001B080 .text:0001B080 phat_db_find: .text:0001B080 .text:0001B080 var_1C = -0x1C .text:0001B080 .text:0001B080 STMFD SP!, {R4-R8,LR} @ Store Block to Memory .text:0001B084 LDR R4, =PHATLIB_DEBUG @ Load from Memory .text:0001B088 LDR R12, [R4] @ Load from Memory .text:0001B08C CMP R12, #0 @ Set cond. codes on Op1 - Op2 .text:0001B090 SUB SP, SP, #4 @ Rd = Op1 - Op2 .text:0001B094 MOV R6, R0 @ Rd = Op2 .text:0001B098 MOV R7, R1 @ Rd = Op2 .text:0001B09C MOV R4, R2 @ Rd = Op2 .text:0001B0A0 MOV R8, R3 @ Rd = Op2 .text:0001B0A4 BNE loc_1B158 @ Branch .text:0001B0A8 .text:0001B0A8 loc_1B0A8: @ CODE XREF: phat_db_find+104j .text:0001B0A8 CMP R4, #0 @ Set cond. codes on Op1 - Op2 .text:0001B0AC BEQ loc_1B10C @ Branch .text:0001B0B0 MOV R0, R6 @ Rd = Op2 .text:0001B0B4 BL phat_db_numtracks @ Branch with Link .text:0001B0B8 MOV R4, #1 @ Rd = Op2 .text:0001B0BC CMP R4, R0 @ Set cond. codes on Op1 - Op2 .text:0001B0C0 MOV R5, R0 @ Rd = Op2 .text:0001B0C4 BLE loc_1B0D4 @ Branch .text:0001B0C8 .text:0001B0C8 loc_1B0C8: @ CODE XREF: phat_db_find+80j .text:0001B0C8 @ phat_db_find+A4j ... .text:0001B0C8 MOV R0, #0 @ Rd = Op2 .text:0001B0CC .text:0001B0CC loc_1B0CC: @ CODE XREF: phat_db_find+88j .text:0001B0CC ADD SP, SP, #4 @ Rd = Op1 + Op2 .text:0001B0D0 LDMFD SP!, {R4-R8,PC} @ Load Block from Memory .text:0001B0D4 @ --------------------------------------------------------------------------- .text:0001B0D4 .text:0001B0D4 loc_1B0D4: @ CODE XREF: phat_db_find+44j .text:0001B0D4 @ phat_db_find+7Cj .text:0001B0D4 MOV R1, R4 @ Rd = Op2 .text:0001B0D8 MOV R2, R7 @ Rd = Op2 .text:0001B0DC MOV R0, R6 @ Rd = Op2 .text:0001B0E0 BL phat_db_track_info @ Branch with Link .text:0001B0E4 MOV R1, R8 @ Rd = Op2 .text:0001B0E8 BL sub_26A68 @ Branch with Link .text:0001B0EC CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0001B0F0 BEQ loc_1B104 @ Branch .text:0001B0F4 ADD R4, R4, #1 @ Rd = Op1 + Op2 .text:0001B0F8 CMP R4, R5 @ Set cond. codes on Op1 - Op2 .text:0001B0FC BLE loc_1B0D4 @ Branch .text:0001B100 B loc_1B0C8 @ Branch .text:0001B104 @ --------------------------------------------------------------------------- .text:0001B104 .text:0001B104 loc_1B104: @ CODE XREF: phat_db_find+70j .text:0001B104 @ phat_db_find+C4j .text:0001B104 MOV R0, R4 @ Rd = Op2 .text:0001B108 B loc_1B0CC @ Branch .text:0001B10C @ --------------------------------------------------------------------------- .text:0001B10C .text:0001B10C loc_1B10C: @ CODE XREF: phat_db_find+2Cj .text:0001B10C MOV R0, R6 @ Rd = Op2 .text:0001B110 MOV R1, R7 @ Rd = Op2 .text:0001B114 BL phat_db_unique_items @ Branch with Link .text:0001B118 MOV R4, #1 @ Rd = Op2 .text:0001B11C CMP R4, R0 @ Set cond. codes on Op1 - Op2 .text:0001B120 MOV R5, R0 @ Rd = Op2 .text:0001B124 BGT loc_1B0C8 @ Branch .text:0001B128 .text:0001B128 loc_1B128: @ CODE XREF: phat_db_find+D0j .text:0001B128 MOV R1, R4 @ Rd = Op2 .text:0001B12C MOV R2, R7 @ Rd = Op2 .text:0001B130 MOV R0, R6 @ Rd = Op2 .text:0001B134 BL phat_db_item_value @ Branch with Link .text:0001B138 MOV R1, R8 @ Rd = Op2 .text:0001B13C BL sub_26A68 @ Branch with Link .text:0001B140 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0001B144 BEQ loc_1B104 @ Branch .text:0001B148 ADD R4, R4, #1 @ Rd = Op1 + Op2 .text:0001B14C CMP R4, R5 @ Set cond. codes on Op1 - Op2 .text:0001B150 BLE loc_1B128 @ Branch .text:0001B154 B loc_1B0C8 @ Branch .text:0001B158 @ --------------------------------------------------------------------------- .text:0001B158 .text:0001B158 loc_1B158: @ CODE XREF: phat_db_find+24j .text:0001B158 LDR R0, =aPhatlib @ Load from Memory .text:0001B15C BL printf @ Branch with Link .text:0001B160 LDR R1, =aPhat_db_find @ Load from Memory .text:0001B164 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:0001B168 BL printf @ Branch with Link .text:0001B16C LDR R0, =aIIIS @ Load from Memory .text:0001B170 MOV R1, R6 @ Rd = Op2 .text:0001B174 MOV R2, R7 @ Rd = Op2 .text:0001B178 MOV R3, R4 @ Rd = Op2 .text:0001B17C STR R8, [SP,#0x1C+var_1C] @ Store to Memory .text:0001B180 BL printf @ Branch with Link .text:0001B184 B loc_1B0A8 @ Branch .text:0001B184 @ End of function phat_db_find .text:0001B184 .text:0001B184 @ --------------------------------------------------------------------------- .text:0001B188 off_1B188: .long PHATLIB_DEBUG @ DATA XREF: phat_db_find+4r .text:0001B18C off_1B18C: .long aPhatlib @ DATA XREF: phat_db_find:loc_1B158r .text:0001B18C @ "phatlib:" .text:0001B190 off_1B190: .long aPhat_db_find @ DATA XREF: phat_db_find+E0r .text:0001B190 @ "phat_db_find" .text:0001B194 off_1B194: .long aDosTtsI_S+0xC @ DATA XREF: phat_db_find+E4r .text:0001B198 off_1B198: .long aIIIS @ DATA XREF: phat_db_find+ECr .text:0001B198 @ "(%i,%i,%i,%s\n" .text:0001B19C .text:0001B19C @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001B19C .text:0001B19C .text:0001B19C phat_db_querystring: .text:0001B19C .text:0001B19C var_22C = -0x22C .text:0001B19C var_228 = -0x228 .text:0001B19C var_220 = -0x220 .text:0001B19C var_214 = -0x214 .text:0001B19C .text:0001B19C STMFD SP!, {R4-R7,LR} @ Store Block to Memory .text:0001B1A0 LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:0001B1A4 LDR R2, [R3] @ Load from Memory .text:0001B1A8 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:0001B1AC CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0001B1B0 MOV R4, R0 @ Rd = Op2 .text:0001B1B4 MOV R6, SP @ Rd = Op2 .text:0001B1B8 LDR R5, =phatsock_fd @ Load from Memory .text:0001B1BC LDR R0, =aPhatlib @ Load from Memory .text:0001B1C0 BNE loc_1B23C @ Branch .text:0001B1C4 .text:0001B1C4 loc_1B1C4: @ CODE XREF: phat_db_querystring+BCj .text:0001B1C4 LDR R12, [R5] @ Load from Memory .text:0001B1C8 MOV R3, #0 @ Rd = Op2 .text:0001B1CC CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:0001B1D0 MOV R1, R6 @ Rd = Op2 .text:0001B1D4 MOV R2, #0x218 @ Rd = Op2 .text:0001B1D8 MOV LR, R3 @ Rd = Op2 .text:0001B1DC MOV R0, R12 @ Rd = Op2 .text:0001B1E0 BLT loc_1B224 @ Branch .text:0001B1E4 MOV R12, #0x60 @ '`' @ Rd = Op2 .text:0001B1E8 STR R12, [SP,#0x22C+var_22C] @ Store to Memory .text:0001B1EC STR R4, [SP,#0x22C+var_220] @ Store to Memory .text:0001B1F0 BL send @ Branch with Link .text:0001B1F4 MOV R1, R6 @ Rd = Op2 .text:0001B1F8 MOV R3, #0 @ Rd = Op2 .text:0001B1FC LDR R0, [R5] @ Load from Memory .text:0001B200 MOV R2, #0x218 @ Rd = Op2 .text:0001B204 BL recv @ Branch with Link .text:0001B208 LDR R3, [SP,#0x22C+var_228] @ Load from Memory .text:0001B20C LDR R7, =dword_447D8 @ Load from Memory .text:0001B210 CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:0001B214 ADD R1, SP, #0x22C+var_214 @ Rd = Op1 + Op2 .text:0001B218 MOV R0, R7 @ Rd = Op2 .text:0001B21C MOVNE LR, #0 @ Rd = Op2 .text:0001B220 BEQ loc_1B230 @ Branch .text:0001B224 .text:0001B224 loc_1B224: @ CODE XREF: phat_db_querystring+44j .text:0001B224 @ phat_db_querystring+9Cj .text:0001B224 MOV R0, LR @ Rd = Op2 .text:0001B228 ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:0001B22C LDMFD SP!, {R4-R7,PC} @ Load Block from Memory .text:0001B230 @ --------------------------------------------------------------------------- .text:0001B230 .text:0001B230 loc_1B230: @ CODE XREF: phat_db_querystring+84j .text:0001B230 BL strcpy @ Branch with Link .text:0001B234 MOV LR, R7 @ Rd = Op2 .text:0001B238 B loc_1B224 @ Branch .text:0001B23C @ --------------------------------------------------------------------------- .text:0001B23C .text:0001B23C loc_1B23C: @ CODE XREF: phat_db_querystring+24j .text:0001B23C BL printf @ Branch with Link .text:0001B240 LDR R1, =aPhat_db_querys @ Load from Memory .text:0001B244 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:0001B248 BL printf @ Branch with Link .text:0001B24C LDR R0, =(a02xI_0+0x18) @ Load from Memory .text:0001B250 MOV R1, R4 @ Rd = Op2 .text:0001B254 BL printf @ Branch with Link .text:0001B258 B loc_1B1C4 @ Branch .text:0001B258 @ End of function phat_db_querystring .text:0001B258 .text:0001B258 @ --------------------------------------------------------------------------- .text:0001B25C off_1B25C: .long PHATLIB_DEBUG @ DATA XREF: phat_db_querystring+4r .text:0001B260 off_1B260: .long phatsock_fd @ DATA XREF: phat_db_querystring+1Cr .text:0001B264 off_1B264: .long aPhatlib @ DATA XREF: phat_db_querystring+20r .text:0001B264 @ "phatlib:" .text:0001B268 off_1B268: .long dword_447D8 @ DATA XREF: phat_db_querystring+70r .text:0001B26C off_1B26C: .long aPhat_db_querys @ DATA XREF: phat_db_querystring+A4r .text:0001B26C @ "phat_db_querystring" .text:0001B270 off_1B270: .long aDosTtsI_S+0xC @ DATA XREF: phat_db_querystring+A8r .text:0001B274 off_1B274: .long a02xI_0+0x18 @ DATA XREF: phat_db_querystring+B0r .text:0001B278 .text:0001B278 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001B278 .text:0001B278 .text:0001B278 phat_db_copy_set: .text:0001B278 .text:0001B278 var_22C = -0x22C .text:0001B278 var_228 = -0x228 .text:0001B278 var_220 = -0x220 .text:0001B278 var_21C = -0x21C .text:0001B278 .text:0001B278 STMFD SP!, {R4-R7,LR} @ Store Block to Memory .text:0001B27C LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:0001B280 LDR R2, [R3] @ Load from Memory .text:0001B284 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:0001B288 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0001B28C MOV R4, R0 @ Rd = Op2 .text:0001B290 MOV R7, SP @ Rd = Op2 .text:0001B294 LDR R6, =phatsock_fd @ Load from Memory .text:0001B298 MOV R5, R1 @ Rd = Op2 .text:0001B29C LDR R0, =aPhatlib @ Load from Memory .text:0001B2A0 BNE loc_1B308 @ Branch .text:0001B2A4 .text:0001B2A4 loc_1B2A4: @ CODE XREF: phat_db_copy_set+B0j .text:0001B2A4 LDR R12, [R6] @ Load from Memory .text:0001B2A8 MOV R3, #0 @ Rd = Op2 .text:0001B2AC CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:0001B2B0 MOV R1, R7 @ Rd = Op2 .text:0001B2B4 MOV R2, #0x218 @ Rd = Op2 .text:0001B2B8 MOVL LR, 0xFFFFFFFF .text:0001B2BC MOV R0, R12 @ Rd = Op2 .text:0001B2C0 BLT loc_1B2FC @ Branch .text:0001B2C4 MOV R12, #0x61 @ 'a' @ Rd = Op2 .text:0001B2C8 STR R12, [SP,#0x22C+var_22C] @ Store to Memory .text:0001B2CC STR R4, [SP,#0x22C+var_220] @ Store to Memory .text:0001B2D0 STR R5, [SP,#0x22C+var_21C] @ Store to Memory .text:0001B2D4 BL send @ Branch with Link .text:0001B2D8 MOV R3, #0 @ Rd = Op2 .text:0001B2DC LDR R0, [R6] @ Load from Memory .text:0001B2E0 MOV R1, R7 @ Rd = Op2 .text:0001B2E4 MOV R2, #0x218 @ Rd = Op2 .text:0001B2E8 BL recv @ Branch with Link .text:0001B2EC LDR R3, [SP,#0x22C+var_228] @ Load from Memory .text:0001B2F0 CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:0001B2F4 MOVNE LR, #0 @ Rd = Op2 .text:0001B2F8 MOVEQ LR, #1 @ Rd = Op2 .text:0001B2FC .text:0001B2FC loc_1B2FC: @ CODE XREF: phat_db_copy_set+48j .text:0001B2FC MOV R0, LR @ Rd = Op2 .text:0001B300 ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:0001B304 LDMFD SP!, {R4-R7,PC} @ Load Block from Memory .text:0001B308 @ --------------------------------------------------------------------------- .text:0001B308 .text:0001B308 loc_1B308: @ CODE XREF: phat_db_copy_set+28j .text:0001B308 BL printf @ Branch with Link .text:0001B30C LDR R1, =aPhat_db_copy_s @ Load from Memory .text:0001B310 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:0001B314 BL printf @ Branch with Link .text:0001B318 LDR R0, =aII_0 @ Load from Memory .text:0001B31C MOV R1, R4 @ Rd = Op2 .text:0001B320 MOV R2, R5 @ Rd = Op2 .text:0001B324 BL printf @ Branch with Link .text:0001B328 B loc_1B2A4 @ Branch .text:0001B328 @ End of function phat_db_copy_set .text:0001B328 .text:0001B328 @ --------------------------------------------------------------------------- .text:0001B32C off_1B32C: .long PHATLIB_DEBUG @ DATA XREF: phat_db_copy_set+4r .text:0001B330 off_1B330: .long phatsock_fd @ DATA XREF: phat_db_copy_set+1Cr .text:0001B334 off_1B334: .long aPhatlib @ DATA XREF: phat_db_copy_set+24r .text:0001B334 @ "phatlib:" .text:0001B338 off_1B338: .long aPhat_db_copy_s @ DATA XREF: phat_db_copy_set+94r .text:0001B338 @ "phat_db_copy_set" .text:0001B33C off_1B33C: .long aDosTtsI_S+0xC @ DATA XREF: phat_db_copy_set+98r .text:0001B340 off_1B340: .long aII_0 @ DATA XREF: phat_db_copy_set+A0r .text:0001B340 @ "(%i,%i)\n" .text:0001B344 .text:0001B344 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001B344 .text:0001B344 .text:0001B344 gui_active: .text:0001B344 .text:0001B344 var_224 = -0x224 .text:0001B344 var_220 = -0x220 .text:0001B344 var_21C = -0x21C .text:0001B344 .text:0001B344 STMFD SP!, {R4,R5,LR} @ Store Block to Memory .text:0001B348 LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:0001B34C LDR R2, [R3] @ Load from Memory .text:0001B350 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:0001B354 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0001B358 MOV R5, SP @ Rd = Op2 .text:0001B35C LDR R0, =aPhatlib @ Load from Memory .text:0001B360 LDR R4, =phatsock_fd @ Load from Memory .text:0001B364 BNE loc_1B3C4 @ Branch .text:0001B368 .text:0001B368 loc_1B368: @ CODE XREF: gui_active+98j .text:0001B368 LDR R12, [R4] @ Load from Memory .text:0001B36C MOV R3, #0 @ Rd = Op2 .text:0001B370 CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:0001B374 MOV R1, R5 @ Rd = Op2 .text:0001B378 MOV R2, #0x218 @ Rd = Op2 .text:0001B37C MOVL LR, 0xFFFFFFFF .text:0001B380 MOV R0, R12 @ Rd = Op2 .text:0001B384 BLT loc_1B3B8 @ Branch .text:0001B388 MOV R12, #0x63 @ 'c' @ Rd = Op2 .text:0001B38C STR R12, [SP,#0x224+var_224] @ Store to Memory .text:0001B390 BL send @ Branch with Link .text:0001B394 MOV R3, #0 @ Rd = Op2 .text:0001B398 LDR R0, [R4] @ Load from Memory .text:0001B39C MOV R1, R5 @ Rd = Op2 .text:0001B3A0 MOV R2, #0x218 @ Rd = Op2 .text:0001B3A4 BL recv @ Branch with Link .text:0001B3A8 LDR R3, [SP,#0x224+var_220] @ Load from Memory .text:0001B3AC CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:0001B3B0 LDREQ LR, [SP,#0x224+var_21C] @ Load from Memory .text:0001B3B4 MOVNE LR, #0 @ Rd = Op2 .text:0001B3B8 .text:0001B3B8 loc_1B3B8: @ CODE XREF: gui_active+40j .text:0001B3B8 MOV R0, LR @ Rd = Op2 .text:0001B3BC ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:0001B3C0 LDMFD SP!, {R4,R5,PC} @ Load Block from Memory .text:0001B3C4 @ --------------------------------------------------------------------------- .text:0001B3C4 .text:0001B3C4 loc_1B3C4: @ CODE XREF: gui_active+20j .text:0001B3C4 BL printf @ Branch with Link .text:0001B3C8 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:0001B3CC LDR R1, =aGui_active @ Load from Memory .text:0001B3D0 BL printf @ Branch with Link .text:0001B3D4 LDR R0, =asc_2CA6C @ Load from Memory .text:0001B3D8 BL xdebug_out @ Branch with Link .text:0001B3DC B loc_1B368 @ Branch .text:0001B3DC @ End of function gui_active .text:0001B3DC .text:0001B3DC @ --------------------------------------------------------------------------- .text:0001B3E0 off_1B3E0: .long PHATLIB_DEBUG @ DATA XREF: gui_active+4r .text:0001B3E4 off_1B3E4: .long aPhatlib @ DATA XREF: gui_active+18r .text:0001B3E4 @ "phatlib:" .text:0001B3E8 off_1B3E8: .long phatsock_fd @ DATA XREF: gui_active+1Cr .text:0001B3EC off_1B3EC: .long aDosTtsI_S+0xC @ DATA XREF: gui_active+84r .text:0001B3F0 off_1B3F0: .long aGui_active @ DATA XREF: gui_active+88r .text:0001B3F0 @ "gui_active" .text:0001B3F4 off_1B3F4: .long asc_2CA6C @ DATA XREF: gui_active+90r .text:0001B3F4 @ "()" .text:0001B3F8 .text:0001B3F8 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001B3F8 .text:0001B3F8 .text:0001B3F8 gui_change_screen: .text:0001B3F8 .text:0001B3F8 var_20C = -0x20C .text:0001B3F8 var_208 = -0x208 .text:0001B3F8 .text:0001B3F8 STMFD SP!, {R4,R5,LR} @ Store Block to Memory .text:0001B3FC LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:0001B400 LDR R2, [R3] @ Load from Memory .text:0001B404 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0001B408 MOV R4, R0 @ Rd = Op2 .text:0001B40C SUB SP, SP, #0x200 @ Rd = Op1 - Op2 .text:0001B410 MOV R5, #1 @ Rd = Op2 .text:0001B414 LDR R0, =aPhatlib @ Load from Memory .text:0001B418 BNE loc_1B440 @ Branch .text:0001B41C .text:0001B41C loc_1B41C: @ CODE XREF: gui_change_screen+64j .text:0001B41C MOV R2, #0x200 @ Rd = Op2 .text:0001B420 MOV R1, SP @ Rd = Op2 .text:0001B424 MOV R0, #7 @ Rd = Op2 .text:0001B428 STR R4, [SP,#0x20C+var_208] @ Store to Memory .text:0001B42C STR R5, [SP,#0x20C+var_20C] @ Store to Memory .text:0001B430 BL sub_1992C @ Branch with Link .text:0001B434 MOV R0, R5 @ Rd = Op2 .text:0001B438 ADD SP, SP, #0x200 @ Rd = Op1 + Op2 .text:0001B43C LDMFD SP!, {R4,R5,PC} @ Load Block from Memory .text:0001B440 @ --------------------------------------------------------------------------- .text:0001B440 .text:0001B440 loc_1B440: @ CODE XREF: gui_change_screen+20j .text:0001B440 BL printf @ Branch with Link .text:0001B444 LDR R1, =aGui_change_scr @ Load from Memory .text:0001B448 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:0001B44C BL printf @ Branch with Link .text:0001B450 LDR R0, =(a02xI_0+0x18) @ Load from Memory .text:0001B454 MOV R1, R4 @ Rd = Op2 .text:0001B458 BL printf @ Branch with Link .text:0001B45C B loc_1B41C @ Branch .text:0001B45C @ End of function gui_change_screen .text:0001B45C .text:0001B45C @ --------------------------------------------------------------------------- .text:0001B460 off_1B460: .long PHATLIB_DEBUG @ DATA XREF: gui_change_screen+4r .text:0001B464 off_1B464: .long aPhatlib @ DATA XREF: gui_change_screen+1Cr .text:0001B464 @ "phatlib:" .text:0001B468 off_1B468: .long aGui_change_scr @ DATA XREF: gui_change_screen+4Cr .text:0001B468 @ "gui_change_screen" .text:0001B46C off_1B46C: .long aDosTtsI_S+0xC @ DATA XREF: gui_change_screen+50r .text:0001B470 off_1B470: .long a02xI_0+0x18 @ DATA XREF: gui_change_screen+58r .text:0001B474 .text:0001B474 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001B474 .text:0001B474 .text:0001B474 gui_tl_set_listtype: .text:0001B474 STMFD SP!, {R4,LR} @ Store Block to Memory .text:0001B478 LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:0001B47C LDR R2, [R3] @ Load from Memory .text:0001B480 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0001B484 MOV R4, R0 @ Rd = Op2 .text:0001B488 SUB SP, SP, #0x200 @ Rd = Op1 - Op2 .text:0001B48C LDR R0, =aPhatlib @ Load from Memory .text:0001B490 BNE loc_1B4B8 @ Branch .text:0001B494 .text:0001B494 loc_1B494: @ CODE XREF: gui_tl_set_listtype+60j .text:0001B494 MOV R3, #6 @ Rd = Op2 .text:0001B498 MOV R2, #0x200 @ Rd = Op2 .text:0001B49C MOV R1, SP @ Rd = Op2 .text:0001B4A0 MOV R0, #7 @ Rd = Op2 .text:0001B4A4 STMEA SP, {R3,R4} @ Store Block to Memory .text:0001B4A8 BL sub_1992C @ Branch with Link .text:0001B4AC MOV R0, #1 @ Rd = Op2 .text:0001B4B0 ADD SP, SP, #0x200 @ Rd = Op1 + Op2 .text:0001B4B4 LDMFD SP!, {R4,PC} @ Load Block from Memory .text:0001B4B8 @ --------------------------------------------------------------------------- .text:0001B4B8 .text:0001B4B8 loc_1B4B8: @ CODE XREF: gui_tl_set_listtype+1Cj .text:0001B4B8 BL printf @ Branch with Link .text:0001B4BC LDR R1, =aGui_tl_set_lis @ Load from Memory .text:0001B4C0 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:0001B4C4 BL printf @ Branch with Link .text:0001B4C8 LDR R0, =(a02xI_0+0x18) @ Load from Memory .text:0001B4CC MOV R1, R4 @ Rd = Op2 .text:0001B4D0 BL printf @ Branch with Link .text:0001B4D4 B loc_1B494 @ Branch .text:0001B4D4 @ End of function gui_tl_set_listtype .text:0001B4D4 .text:0001B4D4 @ --------------------------------------------------------------------------- .text:0001B4D8 off_1B4D8: .long PHATLIB_DEBUG @ DATA XREF: gui_tl_set_listtype+4r .text:0001B4DC off_1B4DC: .long aPhatlib @ DATA XREF: gui_tl_set_listtype+18r .text:0001B4DC @ "phatlib:" .text:0001B4E0 off_1B4E0: .long aGui_tl_set_lis @ DATA XREF: gui_tl_set_listtype+48r .text:0001B4E0 @ "gui_tl_set_listtype" .text:0001B4E4 off_1B4E4: .long aDosTtsI_S+0xC @ DATA XREF: gui_tl_set_listtype+4Cr .text:0001B4E8 off_1B4E8: .long a02xI_0+0x18 @ DATA XREF: gui_tl_set_listtype+54r .text:0001B4EC .text:0001B4EC @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001B4EC .text:0001B4EC .text:0001B4EC gui_tl_set_selected: .text:0001B4EC STMFD SP!, {R4,LR} @ Store Block to Memory .text:0001B4F0 LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:0001B4F4 LDR R2, [R3] @ Load from Memory .text:0001B4F8 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0001B4FC MOV R4, R0 @ Rd = Op2 .text:0001B500 SUB SP, SP, #0x200 @ Rd = Op1 - Op2 .text:0001B504 LDR R0, =aPhatlib @ Load from Memory .text:0001B508 BNE loc_1B530 @ Branch .text:0001B50C .text:0001B50C loc_1B50C: @ CODE XREF: gui_tl_set_selected+60j .text:0001B50C MOV R3, #7 @ Rd = Op2 .text:0001B510 MOV R2, #0x200 @ Rd = Op2 .text:0001B514 MOV R0, R3 @ Rd = Op2 .text:0001B518 MOV R1, SP @ Rd = Op2 .text:0001B51C STMEA SP, {R3,R4} @ Store Block to Memory .text:0001B520 BL sub_1992C @ Branch with Link .text:0001B524 MOV R0, #1 @ Rd = Op2 .text:0001B528 ADD SP, SP, #0x200 @ Rd = Op1 + Op2 .text:0001B52C LDMFD SP!, {R4,PC} @ Load Block from Memory .text:0001B530 @ --------------------------------------------------------------------------- .text:0001B530 .text:0001B530 loc_1B530: @ CODE XREF: gui_tl_set_selected+1Cj .text:0001B530 BL printf @ Branch with Link .text:0001B534 LDR R1, =aGui_tl_set_sel @ Load from Memory .text:0001B538 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:0001B53C BL printf @ Branch with Link .text:0001B540 LDR R0, =(a02xI_0+0x18) @ Load from Memory .text:0001B544 MOV R1, R4 @ Rd = Op2 .text:0001B548 BL printf @ Branch with Link .text:0001B54C B loc_1B50C @ Branch .text:0001B54C @ End of function gui_tl_set_selected .text:0001B54C .text:0001B54C @ --------------------------------------------------------------------------- .text:0001B550 off_1B550: .long PHATLIB_DEBUG @ DATA XREF: gui_tl_set_selected+4r .text:0001B554 off_1B554: .long aPhatlib @ DATA XREF: gui_tl_set_selected+18r .text:0001B554 @ "phatlib:" .text:0001B558 off_1B558: .long aGui_tl_set_sel @ DATA XREF: gui_tl_set_selected+48r .text:0001B558 @ "gui_tl_set_selected" .text:0001B55C off_1B55C: .long aDosTtsI_S+0xC @ DATA XREF: gui_tl_set_selected+4Cr .text:0001B560 off_1B560: .long a02xI_0+0x18 @ DATA XREF: gui_tl_set_selected+54r .text:0001B564 .text:0001B564 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001B564 .text:0001B564 .text:0001B564 gui_ms_set_selected: .text:0001B564 STMFD SP!, {R4,LR} @ Store Block to Memory .text:0001B568 LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:0001B56C LDR R2, [R3] @ Load from Memory .text:0001B570 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0001B574 MOV R4, R0 @ Rd = Op2 .text:0001B578 SUB SP, SP, #0x200 @ Rd = Op1 - Op2 .text:0001B57C LDR R0, =aPhatlib @ Load from Memory .text:0001B580 BNE loc_1B5A8 @ Branch .text:0001B584 .text:0001B584 loc_1B584: @ CODE XREF: gui_ms_set_selected+60j .text:0001B584 MOV R3, #4 @ Rd = Op2 .text:0001B588 MOV R2, #0x200 @ Rd = Op2 .text:0001B58C MOV R1, SP @ Rd = Op2 .text:0001B590 MOV R0, #7 @ Rd = Op2 .text:0001B594 STMEA SP, {R3,R4} @ Store Block to Memory .text:0001B598 BL sub_1992C @ Branch with Link .text:0001B59C MOV R0, #1 @ Rd = Op2 .text:0001B5A0 ADD SP, SP, #0x200 @ Rd = Op1 + Op2 .text:0001B5A4 LDMFD SP!, {R4,PC} @ Load Block from Memory .text:0001B5A8 @ --------------------------------------------------------------------------- .text:0001B5A8 .text:0001B5A8 loc_1B5A8: @ CODE XREF: gui_ms_set_selected+1Cj .text:0001B5A8 BL printf @ Branch with Link .text:0001B5AC LDR R1, =aGui_ms_set_sel @ Load from Memory .text:0001B5B0 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:0001B5B4 BL printf @ Branch with Link .text:0001B5B8 LDR R0, =(a02xI_0+0x18) @ Load from Memory .text:0001B5BC MOV R1, R4 @ Rd = Op2 .text:0001B5C0 BL printf @ Branch with Link .text:0001B5C4 B loc_1B584 @ Branch .text:0001B5C4 @ End of function gui_ms_set_selected .text:0001B5C4 .text:0001B5C4 @ --------------------------------------------------------------------------- .text:0001B5C8 off_1B5C8: .long PHATLIB_DEBUG @ DATA XREF: gui_ms_set_selected+4r .text:0001B5CC off_1B5CC: .long aPhatlib @ DATA XREF: gui_ms_set_selected+18r .text:0001B5CC @ "phatlib:" .text:0001B5D0 off_1B5D0: .long aGui_ms_set_sel @ DATA XREF: gui_ms_set_selected+48r .text:0001B5D0 @ "gui_ms_set_selected" .text:0001B5D4 off_1B5D4: .long aDosTtsI_S+0xC @ DATA XREF: gui_ms_set_selected+4Cr .text:0001B5D8 off_1B5D8: .long a02xI_0+0x18 @ DATA XREF: gui_ms_set_selected+54r .text:0001B5DC .text:0001B5DC @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001B5DC .text:0001B5DC .text:0001B5DC gui_ml_set_selected: .text:0001B5DC STMFD SP!, {R4,LR} @ Store Block to Memory .text:0001B5E0 LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:0001B5E4 LDR R2, [R3] @ Load from Memory .text:0001B5E8 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0001B5EC MOV R4, R0 @ Rd = Op2 .text:0001B5F0 SUB SP, SP, #0x200 @ Rd = Op1 - Op2 .text:0001B5F4 LDR R0, =aPhatlib @ Load from Memory .text:0001B5F8 BNE loc_1B620 @ Branch .text:0001B5FC .text:0001B5FC loc_1B5FC: @ CODE XREF: gui_ml_set_selected+60j .text:0001B5FC MOV R3, #5 @ Rd = Op2 .text:0001B600 MOV R2, #0x200 @ Rd = Op2 .text:0001B604 MOV R1, SP @ Rd = Op2 .text:0001B608 MOV R0, #7 @ Rd = Op2 .text:0001B60C STMEA SP, {R3,R4} @ Store Block to Memory .text:0001B610 BL sub_1992C @ Branch with Link .text:0001B614 MOV R0, #1 @ Rd = Op2 .text:0001B618 ADD SP, SP, #0x200 @ Rd = Op1 + Op2 .text:0001B61C LDMFD SP!, {R4,PC} @ Load Block from Memory .text:0001B620 @ --------------------------------------------------------------------------- .text:0001B620 .text:0001B620 loc_1B620: @ CODE XREF: gui_ml_set_selected+1Cj .text:0001B620 BL printf @ Branch with Link .text:0001B624 LDR R1, =aGui_ml_set_sel @ Load from Memory .text:0001B628 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:0001B62C BL printf @ Branch with Link .text:0001B630 LDR R0, =(a02xI_0+0x18) @ Load from Memory .text:0001B634 MOV R1, R4 @ Rd = Op2 .text:0001B638 BL printf @ Branch with Link .text:0001B63C B loc_1B5FC @ Branch .text:0001B63C @ End of function gui_ml_set_selected .text:0001B63C .text:0001B63C @ --------------------------------------------------------------------------- .text:0001B640 off_1B640: .long PHATLIB_DEBUG @ DATA XREF: gui_ml_set_selected+4r .text:0001B644 off_1B644: .long aPhatlib @ DATA XREF: gui_ml_set_selected+18r .text:0001B644 @ "phatlib:" .text:0001B648 off_1B648: .long aGui_ml_set_sel @ DATA XREF: gui_ml_set_selected+48r .text:0001B648 @ "gui_ml_set_selected" .text:0001B64C off_1B64C: .long aDosTtsI_S+0xC @ DATA XREF: gui_ml_set_selected+4Cr .text:0001B650 off_1B650: .long a02xI_0+0x18 @ DATA XREF: gui_ml_set_selected+54r .text:0001B654 .text:0001B654 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001B654 .text:0001B654 .text:0001B654 gui_tl_set_title: .text:0001B654 .text:0001B654 var_20C = -0x20C .text:0001B654 var_200 = -0x200 .text:0001B654 .text:0001B654 STMFD SP!, {R4,R5,LR} @ Store Block to Memory .text:0001B658 LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:0001B65C LDR R2, [R3] @ Load from Memory .text:0001B660 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0001B664 MOV R4, R0 @ Rd = Op2 .text:0001B668 SUB SP, SP, #0x200 @ Rd = Op1 - Op2 .text:0001B66C LDR R5, =(aDosTtsI_S+0xC) @ Load from Memory .text:0001B670 LDR R0, =aPhatlib @ Load from Memory .text:0001B674 BNE loc_1B6B4 @ Branch .text:0001B678 LDR R5, =(aDosTtsI_S+0xC) @ Load from Memory .text:0001B67C .text:0001B67C loc_1B67C: @ CODE XREF: gui_tl_set_title+7Cj .text:0001B67C MOV R12, #8 @ Rd = Op2 .text:0001B680 MOV R2, R5 @ Rd = Op2 .text:0001B684 MOV R3, R4 @ Rd = Op2 .text:0001B688 MOV R1, #0x80 @ 'Ç' @ Rd = Op2 .text:0001B68C ADD R0, SP, #0x20C+var_200 @ Rd = Op1 + Op2 .text:0001B690 STR R12, [SP,#0x20C+var_20C] @ Store to Memory .text:0001B694 BL sub_26838 @ Branch with Link .text:0001B698 MOV R1, SP @ Rd = Op2 .text:0001B69C MOV R2, #0x200 @ Rd = Op2 .text:0001B6A0 MOV R0, #7 @ Rd = Op2 .text:0001B6A4 BL sub_1992C @ Branch with Link .text:0001B6A8 MOV R0, #1 @ Rd = Op2 .text:0001B6AC ADD SP, SP, #0x200 @ Rd = Op1 + Op2 .text:0001B6B0 LDMFD SP!, {R4,R5,PC} @ Load Block from Memory .text:0001B6B4 @ --------------------------------------------------------------------------- .text:0001B6B4 .text:0001B6B4 loc_1B6B4: @ CODE XREF: gui_tl_set_title+20j .text:0001B6B4 BL printf @ Branch with Link .text:0001B6B8 LDR R1, =aGui_tl_set_tit @ Load from Memory .text:0001B6BC MOV R0, R5 @ Rd = Op2 .text:0001B6C0 BL printf @ Branch with Link .text:0001B6C4 MOV R1, R4 @ Rd = Op2 .text:0001B6C8 LDR R0, =aS @ Load from Memory .text:0001B6CC BL printf @ Branch with Link .text:0001B6D0 B loc_1B67C @ Branch .text:0001B6D0 @ End of function gui_tl_set_title .text:0001B6D0 .text:0001B6D0 @ --------------------------------------------------------------------------- .text:0001B6D4 off_1B6D4: .long PHATLIB_DEBUG @ DATA XREF: gui_tl_set_title+4r .text:0001B6D8 off_1B6D8: .long aDosTtsI_S+0xC @ DATA XREF: gui_tl_set_title+18r .text:0001B6D8 @ gui_tl_set_title+24r .text:0001B6DC off_1B6DC: .long aPhatlib @ DATA XREF: gui_tl_set_title+1Cr .text:0001B6DC @ "phatlib:" .text:0001B6E0 off_1B6E0: .long aGui_tl_set_tit @ DATA XREF: gui_tl_set_title+64r .text:0001B6E0 @ "gui_tl_set_title" .text:0001B6E4 off_1B6E4: .long aS @ DATA XREF: gui_tl_set_title+74r .text:0001B6E4 @ "(%s)\n" .text:0001B6E8 .text:0001B6E8 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001B6E8 .text:0001B6E8 .text:0001B6E8 gui_tl_set_metadata: .text:0001B6E8 .text:0001B6E8 var_20C = -0x20C .text:0001B6E8 var_200 = -0x200 .text:0001B6E8 .text:0001B6E8 STMFD SP!, {R4,R5,LR} @ Store Block to Memory .text:0001B6EC LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:0001B6F0 LDR R2, [R3] @ Load from Memory .text:0001B6F4 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0001B6F8 MOV R4, R0 @ Rd = Op2 .text:0001B6FC SUB SP, SP, #0x200 @ Rd = Op1 - Op2 .text:0001B700 LDR R5, =(aDosTtsI_S+0xC) @ Load from Memory .text:0001B704 LDR R0, =aPhatlib @ Load from Memory .text:0001B708 BNE loc_1B748 @ Branch .text:0001B70C LDR R5, =(aDosTtsI_S+0xC) @ Load from Memory .text:0001B710 .text:0001B710 loc_1B710: @ CODE XREF: gui_tl_set_metadata+7Cj .text:0001B710 MOV R12, #0xE @ Rd = Op2 .text:0001B714 MOV R2, R5 @ Rd = Op2 .text:0001B718 MOV R3, R4 @ Rd = Op2 .text:0001B71C MOV R1, #0x80 @ 'Ç' @ Rd = Op2 .text:0001B720 ADD R0, SP, #0x20C+var_200 @ Rd = Op1 + Op2 .text:0001B724 STR R12, [SP,#0x20C+var_20C] @ Store to Memory .text:0001B728 BL sub_26838 @ Branch with Link .text:0001B72C MOV R1, SP @ Rd = Op2 .text:0001B730 MOV R2, #0x200 @ Rd = Op2 .text:0001B734 MOV R0, #7 @ Rd = Op2 .text:0001B738 BL sub_1992C @ Branch with Link .text:0001B73C MOV R0, #1 @ Rd = Op2 .text:0001B740 ADD SP, SP, #0x200 @ Rd = Op1 + Op2 .text:0001B744 LDMFD SP!, {R4,R5,PC} @ Load Block from Memory .text:0001B748 @ --------------------------------------------------------------------------- .text:0001B748 .text:0001B748 loc_1B748: @ CODE XREF: gui_tl_set_metadata+20j .text:0001B748 BL printf @ Branch with Link .text:0001B74C LDR R1, =aGui_tl_set_met @ Load from Memory .text:0001B750 MOV R0, R5 @ Rd = Op2 .text:0001B754 BL printf @ Branch with Link .text:0001B758 MOV R1, R4 @ Rd = Op2 .text:0001B75C LDR R0, =aS @ Load from Memory .text:0001B760 BL printf @ Branch with Link .text:0001B764 B loc_1B710 @ Branch .text:0001B764 @ End of function gui_tl_set_metadata .text:0001B764 .text:0001B764 @ --------------------------------------------------------------------------- .text:0001B768 off_1B768: .long PHATLIB_DEBUG @ DATA XREF: gui_tl_set_metadata+4r .text:0001B76C off_1B76C: .long aDosTtsI_S+0xC @ DATA XREF: gui_tl_set_metadata+18r .text:0001B76C @ gui_tl_set_metadata+24r .text:0001B770 off_1B770: .long aPhatlib @ DATA XREF: gui_tl_set_metadata+1Cr .text:0001B770 @ "phatlib:" .text:0001B774 off_1B774: .long aGui_tl_set_met @ DATA XREF: gui_tl_set_metadata+64r .text:0001B774 @ "gui_tl_set_metadata" .text:0001B778 off_1B778: .long aS @ DATA XREF: gui_tl_set_metadata+74r .text:0001B778 @ "(%s)\n" .text:0001B77C .text:0001B77C @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001B77C .text:0001B77C .text:0001B77C gui_tl_set_image: .text:0001B77C .text:0001B77C var_20C = -0x20C .text:0001B77C var_200 = -0x200 .text:0001B77C .text:0001B77C STMFD SP!, {R4,R5,LR} @ Store Block to Memory .text:0001B780 LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:0001B784 LDR R2, [R3] @ Load from Memory .text:0001B788 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0001B78C MOV R4, R0 @ Rd = Op2 .text:0001B790 SUB SP, SP, #0x200 @ Rd = Op1 - Op2 .text:0001B794 LDR R5, =(aDosTtsI_S+0xC) @ Load from Memory .text:0001B798 LDR R0, =aPhatlib @ Load from Memory .text:0001B79C BNE loc_1B7DC @ Branch .text:0001B7A0 LDR R5, =(aDosTtsI_S+0xC) @ Load from Memory .text:0001B7A4 .text:0001B7A4 loc_1B7A4: @ CODE XREF: gui_tl_set_image+7Cj .text:0001B7A4 MOV R12, #9 @ Rd = Op2 .text:0001B7A8 MOV R2, R5 @ Rd = Op2 .text:0001B7AC MOV R3, R4 @ Rd = Op2 .text:0001B7B0 MOV R1, #0x80 @ 'Ç' @ Rd = Op2 .text:0001B7B4 ADD R0, SP, #0x20C+var_200 @ Rd = Op1 + Op2 .text:0001B7B8 STR R12, [SP,#0x20C+var_20C] @ Store to Memory .text:0001B7BC BL sub_26838 @ Branch with Link .text:0001B7C0 MOV R1, SP @ Rd = Op2 .text:0001B7C4 MOV R2, #0x200 @ Rd = Op2 .text:0001B7C8 MOV R0, #7 @ Rd = Op2 .text:0001B7CC BL sub_1992C @ Branch with Link .text:0001B7D0 MOV R0, #1 @ Rd = Op2 .text:0001B7D4 ADD SP, SP, #0x200 @ Rd = Op1 + Op2 .text:0001B7D8 LDMFD SP!, {R4,R5,PC} @ Load Block from Memory .text:0001B7DC @ --------------------------------------------------------------------------- .text:0001B7DC .text:0001B7DC loc_1B7DC: @ CODE XREF: gui_tl_set_image+20j .text:0001B7DC BL printf @ Branch with Link .text:0001B7E0 LDR R1, =aGui_tl_set_ima @ Load from Memory .text:0001B7E4 MOV R0, R5 @ Rd = Op2 .text:0001B7E8 BL printf @ Branch with Link .text:0001B7EC MOV R1, R4 @ Rd = Op2 .text:0001B7F0 LDR R0, =aS @ Load from Memory .text:0001B7F4 BL printf @ Branch with Link .text:0001B7F8 B loc_1B7A4 @ Branch .text:0001B7F8 @ End of function gui_tl_set_image .text:0001B7F8 .text:0001B7F8 @ --------------------------------------------------------------------------- .text:0001B7FC off_1B7FC: .long PHATLIB_DEBUG @ DATA XREF: gui_tl_set_image+4r .text:0001B800 off_1B800: .long aDosTtsI_S+0xC @ DATA XREF: gui_tl_set_image+18r .text:0001B800 @ gui_tl_set_image+24r .text:0001B804 off_1B804: .long aPhatlib @ DATA XREF: gui_tl_set_image+1Cr .text:0001B804 @ "phatlib:" .text:0001B808 off_1B808: .long aGui_tl_set_ima @ DATA XREF: gui_tl_set_image+64r .text:0001B808 @ "gui_tl_set_image" .text:0001B80C off_1B80C: .long aS @ DATA XREF: gui_tl_set_image+74r .text:0001B80C @ "(%s)\n" .text:0001B810 .text:0001B810 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001B810 .text:0001B810 .text:0001B810 gui_tl_set_query: .text:0001B810 STMFD SP!, {R4,LR} @ Store Block to Memory .text:0001B814 LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:0001B818 LDR R2, [R3] @ Load from Memory .text:0001B81C CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0001B820 MOV R4, R0 @ Rd = Op2 .text:0001B824 SUB SP, SP, #0x200 @ Rd = Op1 - Op2 .text:0001B828 LDR R0, =aPhatlib @ Load from Memory .text:0001B82C BNE loc_1B854 @ Branch .text:0001B830 .text:0001B830 loc_1B830: @ CODE XREF: gui_tl_set_query+60j .text:0001B830 MOV R3, #0xA @ Rd = Op2 .text:0001B834 MOV R2, #0x200 @ Rd = Op2 .text:0001B838 MOV R1, SP @ Rd = Op2 .text:0001B83C MOV R0, #7 @ Rd = Op2 .text:0001B840 STMEA SP, {R3,R4} @ Store Block to Memory .text:0001B844 BL sub_1992C @ Branch with Link .text:0001B848 MOV R0, #1 @ Rd = Op2 .text:0001B84C ADD SP, SP, #0x200 @ Rd = Op1 + Op2 .text:0001B850 LDMFD SP!, {R4,PC} @ Load Block from Memory .text:0001B854 @ --------------------------------------------------------------------------- .text:0001B854 .text:0001B854 loc_1B854: @ CODE XREF: gui_tl_set_query+1Cj .text:0001B854 BL printf @ Branch with Link .text:0001B858 LDR R1, =aGui_tl_set_que @ Load from Memory .text:0001B85C LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:0001B860 BL printf @ Branch with Link .text:0001B864 LDR R0, =(a02xI_0+0x18) @ Load from Memory .text:0001B868 MOV R1, R4 @ Rd = Op2 .text:0001B86C BL printf @ Branch with Link .text:0001B870 B loc_1B830 @ Branch .text:0001B870 @ End of function gui_tl_set_query .text:0001B870 .text:0001B870 @ --------------------------------------------------------------------------- .text:0001B874 off_1B874: .long PHATLIB_DEBUG @ DATA XREF: gui_tl_set_query+4r .text:0001B878 off_1B878: .long aPhatlib @ DATA XREF: gui_tl_set_query+18r .text:0001B878 @ "phatlib:" .text:0001B87C off_1B87C: .long aGui_tl_set_que @ DATA XREF: gui_tl_set_query+48r .text:0001B87C @ "gui_tl_set_query" .text:0001B880 off_1B880: .long aDosTtsI_S+0xC @ DATA XREF: gui_tl_set_query+4Cr .text:0001B884 off_1B884: .long a02xI_0+0x18 @ DATA XREF: gui_tl_set_query+54r .text:0001B888 .text:0001B888 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001B888 .text:0001B888 .text:0001B888 gui_tl_set_item: .text:0001B888 STMFD SP!, {R4,R5,LR} @ Store Block to Memory .text:0001B88C LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:0001B890 LDR R2, [R3] @ Load from Memory .text:0001B894 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0001B898 MOV R4, R0 @ Rd = Op2 .text:0001B89C SUB SP, SP, #0x200 @ Rd = Op1 - Op2 .text:0001B8A0 MOV R5, R1 @ Rd = Op2 .text:0001B8A4 LDR R0, =aPhatlib @ Load from Memory .text:0001B8A8 BNE loc_1B8D0 @ Branch .text:0001B8AC .text:0001B8AC loc_1B8AC: @ CODE XREF: gui_tl_set_item+68j .text:0001B8AC MOV R3, #0xB @ Rd = Op2 .text:0001B8B0 MOV R2, #0x200 @ Rd = Op2 .text:0001B8B4 MOV R1, SP @ Rd = Op2 .text:0001B8B8 MOV R0, #7 @ Rd = Op2 .text:0001B8BC STMEA SP, {R3-R5} @ Store Block to Memory .text:0001B8C0 BL sub_1992C @ Branch with Link .text:0001B8C4 MOV R0, #1 @ Rd = Op2 .text:0001B8C8 ADD SP, SP, #0x200 @ Rd = Op1 + Op2 .text:0001B8CC LDMFD SP!, {R4,R5,PC} @ Load Block from Memory .text:0001B8D0 @ --------------------------------------------------------------------------- .text:0001B8D0 .text:0001B8D0 loc_1B8D0: @ CODE XREF: gui_tl_set_item+20j .text:0001B8D0 BL printf @ Branch with Link .text:0001B8D4 LDR R1, =aGui_tl_set_ite @ Load from Memory .text:0001B8D8 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:0001B8DC BL printf @ Branch with Link .text:0001B8E0 LDR R0, =aII_0 @ Load from Memory .text:0001B8E4 MOV R1, R4 @ Rd = Op2 .text:0001B8E8 MOV R2, R5 @ Rd = Op2 .text:0001B8EC BL printf @ Branch with Link .text:0001B8F0 B loc_1B8AC @ Branch .text:0001B8F0 @ End of function gui_tl_set_item .text:0001B8F0 .text:0001B8F0 @ --------------------------------------------------------------------------- .text:0001B8F4 off_1B8F4: .long PHATLIB_DEBUG @ DATA XREF: gui_tl_set_item+4r .text:0001B8F8 off_1B8F8: .long aPhatlib @ DATA XREF: gui_tl_set_item+1Cr .text:0001B8F8 @ "phatlib:" .text:0001B8FC off_1B8FC: .long aGui_tl_set_ite @ DATA XREF: gui_tl_set_item+4Cr .text:0001B8FC @ "gui_tl_set_item" .text:0001B900 off_1B900: .long aDosTtsI_S+0xC @ DATA XREF: gui_tl_set_item+50r .text:0001B904 off_1B904: .long aII_0 @ DATA XREF: gui_tl_set_item+58r .text:0001B904 @ "(%i,%i)\n" .text:0001B908 .text:0001B908 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001B908 .text:0001B908 .text:0001B908 gui_tl_set_list_num: @ CODE XREF: gui_tl_set_list+24p .text:0001B908 STMFD SP!, {R4,LR} @ Store Block to Memory .text:0001B90C LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:0001B910 LDR R2, [R3] @ Load from Memory .text:0001B914 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0001B918 MOV R4, R0 @ Rd = Op2 .text:0001B91C SUB SP, SP, #0x200 @ Rd = Op1 - Op2 .text:0001B920 LDR R0, =aPhatlib @ Load from Memory .text:0001B924 BNE loc_1B94C @ Branch .text:0001B928 .text:0001B928 loc_1B928: @ CODE XREF: gui_tl_set_list_num+60j .text:0001B928 MOV R3, #0xC @ Rd = Op2 .text:0001B92C MOV R2, #0x200 @ Rd = Op2 .text:0001B930 MOV R1, SP @ Rd = Op2 .text:0001B934 MOV R0, #7 @ Rd = Op2 .text:0001B938 STMEA SP, {R3,R4} @ Store Block to Memory .text:0001B93C BL sub_1992C @ Branch with Link .text:0001B940 MOV R0, #1 @ Rd = Op2 .text:0001B944 ADD SP, SP, #0x200 @ Rd = Op1 + Op2 .text:0001B948 LDMFD SP!, {R4,PC} @ Load Block from Memory .text:0001B94C @ --------------------------------------------------------------------------- .text:0001B94C .text:0001B94C loc_1B94C: @ CODE XREF: gui_tl_set_list_num+1Cj .text:0001B94C BL printf @ Branch with Link .text:0001B950 LDR R1, =aGui_tl_set_l_0 @ Load from Memory .text:0001B954 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:0001B958 BL printf @ Branch with Link .text:0001B95C LDR R0, =(a02xI_0+0x18) @ Load from Memory .text:0001B960 MOV R1, R4 @ Rd = Op2 .text:0001B964 BL printf @ Branch with Link .text:0001B968 B loc_1B928 @ Branch .text:0001B968 @ End of function gui_tl_set_list_num .text:0001B968 .text:0001B968 @ --------------------------------------------------------------------------- .text:0001B96C off_1B96C: .long PHATLIB_DEBUG @ DATA XREF: gui_tl_set_list_num+4r .text:0001B970 off_1B970: .long aPhatlib @ DATA XREF: gui_tl_set_list_num+18r .text:0001B970 @ "phatlib:" .text:0001B974 off_1B974: .long aGui_tl_set_l_0 @ DATA XREF: gui_tl_set_list_num+48r .text:0001B974 @ "gui_tl_set_list_num" .text:0001B978 off_1B978: .long aDosTtsI_S+0xC @ DATA XREF: gui_tl_set_list_num+4Cr .text:0001B97C off_1B97C: .long a02xI_0+0x18 @ DATA XREF: gui_tl_set_list_num+54r .text:0001B980 .text:0001B980 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001B980 .text:0001B980 .text:0001B980 gui_tl_set_list_item: @ CODE XREF: gui_tl_set_list+74p .text:0001B980 .text:0001B980 var_210 = -0x210 .text:0001B980 var_20C = -0x20C .text:0001B980 var_204 = -0x204 .text:0001B980 .text:0001B980 STMFD SP!, {R4-R6,LR} @ Store Block to Memory .text:0001B984 LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:0001B988 LDR R2, [R3] @ Load from Memory .text:0001B98C CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0001B990 MOV R5, R0 @ Rd = Op2 .text:0001B994 SUB SP, SP, #0x200 @ Rd = Op1 - Op2 .text:0001B998 LDR R6, =(aDosTtsI_S+0xC) @ Load from Memory .text:0001B99C MOV R4, R1 @ Rd = Op2 .text:0001B9A0 LDR R0, =aPhatlib @ Load from Memory .text:0001B9A4 BNE loc_1B9E8 @ Branch .text:0001B9A8 LDR R6, =(aDosTtsI_S+0xC) @ Load from Memory .text:0001B9AC .text:0001B9AC loc_1B9AC: @ CODE XREF: gui_tl_set_list_item+88j .text:0001B9AC MOV R12, #0xD @ Rd = Op2 .text:0001B9B0 MOV R2, R6 @ Rd = Op2 .text:0001B9B4 MOV R3, R4 @ Rd = Op2 .text:0001B9B8 MOV R1, #0x80 @ 'Ç' @ Rd = Op2 .text:0001B9BC ADD R0, SP, #0x210+var_204 @ Rd = Op1 + Op2 .text:0001B9C0 STR R12, [SP,#0x210+var_210] @ Store to Memory .text:0001B9C4 STR R5, [SP,#0x210+var_20C] @ Store to Memory .text:0001B9C8 BL sub_26838 @ Branch with Link .text:0001B9CC MOV R1, SP @ Rd = Op2 .text:0001B9D0 MOV R2, #0x200 @ Rd = Op2 .text:0001B9D4 MOV R0, #7 @ Rd = Op2 .text:0001B9D8 BL sub_1992C @ Branch with Link .text:0001B9DC MOV R0, #1 @ Rd = Op2 .text:0001B9E0 ADD SP, SP, #0x200 @ Rd = Op1 + Op2 .text:0001B9E4 LDMFD SP!, {R4-R6,PC} @ Load Block from Memory .text:0001B9E8 @ --------------------------------------------------------------------------- .text:0001B9E8 .text:0001B9E8 loc_1B9E8: @ CODE XREF: gui_tl_set_list_item+24j .text:0001B9E8 BL printf @ Branch with Link .text:0001B9EC LDR R1, =aGui_tl_set_l_1 @ Load from Memory .text:0001B9F0 MOV R0, R6 @ Rd = Op2 .text:0001B9F4 BL printf @ Branch with Link .text:0001B9F8 MOV R1, R5 @ Rd = Op2 .text:0001B9FC MOV R2, R4 @ Rd = Op2 .text:0001BA00 LDR R0, =aIS @ Load from Memory .text:0001BA04 BL printf @ Branch with Link .text:0001BA08 B loc_1B9AC @ Branch .text:0001BA08 @ End of function gui_tl_set_list_item .text:0001BA08 .text:0001BA08 @ --------------------------------------------------------------------------- .text:0001BA0C off_1BA0C: .long PHATLIB_DEBUG @ DATA XREF: gui_tl_set_list_item+4r .text:0001BA10 off_1BA10: .long aDosTtsI_S+0xC @ DATA XREF: gui_tl_set_list_item+18r .text:0001BA10 @ gui_tl_set_list_item+28r .text:0001BA14 off_1BA14: .long aPhatlib @ DATA XREF: gui_tl_set_list_item+20r .text:0001BA14 @ "phatlib:" .text:0001BA18 off_1BA18: .long aGui_tl_set_l_1 @ DATA XREF: gui_tl_set_list_item+6Cr .text:0001BA18 @ "gui_tl_set_list_item" .text:0001BA1C off_1BA1C: .long aIS @ DATA XREF: gui_tl_set_list_item+80r .text:0001BA1C @ "(%i,%s)\n" .text:0001BA20 .text:0001BA20 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001BA20 .text:0001BA20 .text:0001BA20 gui_tl_set_list: .text:0001BA20 STMFD SP!, {R4-R6,LR} @ Store Block to Memory .text:0001BA24 LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:0001BA28 LDR R2, [R3] @ Load from Memory .text:0001BA2C CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0001BA30 MOV R5, R0 @ Rd = Op2 .text:0001BA34 MOV R6, R1 @ Rd = Op2 .text:0001BA38 BNE loc_1BAA4 @ Branch .text:0001BA3C .text:0001BA3C loc_1BA3C: @ CODE XREF: gui_tl_set_list+A0j .text:0001BA3C MOV R0, R5 @ Rd = Op2 .text:0001BA40 MOV R4, #0 @ Rd = Op2 .text:0001BA44 BL gui_tl_set_list_num @ Branch with Link .text:0001BA48 CMP R4, R5 @ Set cond. codes on Op1 - Op2 .text:0001BA4C BLT loc_1BA88 @ Branch .text:0001BA50 .text:0001BA50 loc_1BA50: @ CODE XREF: gui_tl_set_list+80j .text:0001BA50 LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:0001BA54 LDR R2, [R3] @ Load from Memory .text:0001BA58 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0001BA5C BNE loc_1BA68 @ Branch .text:0001BA60 .text:0001BA60 loc_1BA60: @ CODE XREF: gui_tl_set_list+64j .text:0001BA60 MOV R0, #1 @ Rd = Op2 .text:0001BA64 LDMFD SP!, {R4-R6,PC} @ Load Block from Memory .text:0001BA68 @ --------------------------------------------------------------------------- .text:0001BA68 .text:0001BA68 loc_1BA68: @ CODE XREF: gui_tl_set_list+3Cj .text:0001BA68 LDR R0, =aPhatlib @ Load from Memory .text:0001BA6C BL printf @ Branch with Link .text:0001BA70 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:0001BA74 LDR R1, =aGui_tl_set_l_2 @ Load from Memory .text:0001BA78 BL printf @ Branch with Link .text:0001BA7C LDR R0, =a____Done @ Load from Memory .text:0001BA80 BL xdebug_out @ Branch with Link .text:0001BA84 B loc_1BA60 @ Branch .text:0001BA88 @ --------------------------------------------------------------------------- .text:0001BA88 .text:0001BA88 loc_1BA88: @ CODE XREF: gui_tl_set_list+2Cj .text:0001BA88 @ gui_tl_set_list+7Cj .text:0001BA88 LDR R1, [R6,R4,LSL#2] @ Load from Memory .text:0001BA8C ADD R4, R4, #1 @ Rd = Op1 + Op2 .text:0001BA90 MOV R0, R4 @ Rd = Op2 .text:0001BA94 BL gui_tl_set_list_item @ Branch with Link .text:0001BA98 CMP R4, R5 @ Set cond. codes on Op1 - Op2 .text:0001BA9C BLT loc_1BA88 @ Branch .text:0001BAA0 B loc_1BA50 @ Branch .text:0001BAA4 @ --------------------------------------------------------------------------- .text:0001BAA4 .text:0001BAA4 loc_1BAA4: @ CODE XREF: gui_tl_set_list+18j .text:0001BAA4 LDR R0, =aPhatlib @ Load from Memory .text:0001BAA8 BL printf @ Branch with Link .text:0001BAAC LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:0001BAB0 LDR R1, =aGui_tl_set_l_2 @ Load from Memory .text:0001BAB4 BL printf @ Branch with Link .text:0001BAB8 LDR R0, =a____Begin @ Load from Memory .text:0001BABC BL xdebug_out @ Branch with Link .text:0001BAC0 B loc_1BA3C @ Branch .text:0001BAC0 @ End of function gui_tl_set_list .text:0001BAC0 .text:0001BAC0 @ --------------------------------------------------------------------------- .text:0001BAC4 off_1BAC4: .long PHATLIB_DEBUG @ DATA XREF: gui_tl_set_list+4r .text:0001BAC4 @ gui_tl_set_list:loc_1BA50r .text:0001BAC8 off_1BAC8: .long aPhatlib @ DATA XREF: gui_tl_set_list:loc_1BA68r .text:0001BAC8 @ gui_tl_set_list:loc_1BAA4r .text:0001BAC8 @ "phatlib:" .text:0001BACC off_1BACC: .long aDosTtsI_S+0xC @ DATA XREF: gui_tl_set_list+50r .text:0001BACC @ gui_tl_set_list+8Cr .text:0001BAD0 off_1BAD0: .long aGui_tl_set_l_2 @ DATA XREF: gui_tl_set_list+54r .text:0001BAD0 @ gui_tl_set_list+90r .text:0001BAD0 @ "gui_tl_set_list" .text:0001BAD4 off_1BAD4: .long a____Done @ DATA XREF: gui_tl_set_list+5Cr .text:0001BAD4 @ "(....) DONE" .text:0001BAD8 off_1BAD8: .long a____Begin @ DATA XREF: gui_tl_set_list+98r .text:0001BAD8 @ "(....) BEGIN" .text:0001BADC .text:0001BADC @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001BADC .text:0001BADC .text:0001BADC gui_kw_np_set_button: .text:0001BADC STMFD SP!, {R4,R5,LR} @ Store Block to Memory .text:0001BAE0 LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:0001BAE4 LDR R2, [R3] @ Load from Memory .text:0001BAE8 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0001BAEC MOV R4, R0 @ Rd = Op2 .text:0001BAF0 SUB SP, SP, #0x200 @ Rd = Op1 - Op2 .text:0001BAF4 MOV R5, R1 @ Rd = Op2 .text:0001BAF8 LDR R0, =aPhatlib @ Load from Memory .text:0001BAFC BNE loc_1BB24 @ Branch .text:0001BB00 .text:0001BB00 loc_1BB00: @ CODE XREF: gui_kw_np_set_button+68j .text:0001BB00 MOV R3, #0x10 @ Rd = Op2 .text:0001BB04 MOV R2, #0x200 @ Rd = Op2 .text:0001BB08 MOV R1, SP @ Rd = Op2 .text:0001BB0C MOV R0, #7 @ Rd = Op2 .text:0001BB10 STMEA SP, {R3-R5} @ Store Block to Memory .text:0001BB14 BL sub_1992C @ Branch with Link .text:0001BB18 MOV R0, #1 @ Rd = Op2 .text:0001BB1C ADD SP, SP, #0x200 @ Rd = Op1 + Op2 .text:0001BB20 LDMFD SP!, {R4,R5,PC} @ Load Block from Memory .text:0001BB24 @ --------------------------------------------------------------------------- .text:0001BB24 .text:0001BB24 loc_1BB24: @ CODE XREF: gui_kw_np_set_button+20j .text:0001BB24 BL printf @ Branch with Link .text:0001BB28 LDR R1, =aGui_kw_np_set_ @ Load from Memory .text:0001BB2C LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:0001BB30 BL printf @ Branch with Link .text:0001BB34 LDR R0, =aII_0 @ Load from Memory .text:0001BB38 MOV R1, R4 @ Rd = Op2 .text:0001BB3C MOV R2, R5 @ Rd = Op2 .text:0001BB40 BL printf @ Branch with Link .text:0001BB44 B loc_1BB00 @ Branch .text:0001BB44 @ End of function gui_kw_np_set_button .text:0001BB44 .text:0001BB44 @ --------------------------------------------------------------------------- .text:0001BB48 off_1BB48: .long PHATLIB_DEBUG @ DATA XREF: gui_kw_np_set_button+4r .text:0001BB4C off_1BB4C: .long aPhatlib @ DATA XREF: gui_kw_np_set_button+1Cr .text:0001BB4C @ "phatlib:" .text:0001BB50 off_1BB50: .long aGui_kw_np_set_ @ DATA XREF: gui_kw_np_set_button+4Cr .text:0001BB50 @ "gui_kw_np_set_button" .text:0001BB54 off_1BB54: .long aDosTtsI_S+0xC @ DATA XREF: gui_kw_np_set_button+50r .text:0001BB58 off_1BB58: .long aII_0 @ DATA XREF: gui_kw_np_set_button+58r .text:0001BB58 @ "(%i,%i)\n" .text:0001BB5C .text:0001BB5C @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001BB5C .text:0001BB5C .text:0001BB5C gui_kw_seek: .text:0001BB5C STMFD SP!, {R4,LR} @ Store Block to Memory .text:0001BB60 LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:0001BB64 LDR R2, [R3] @ Load from Memory .text:0001BB68 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0001BB6C MOV R4, R0 @ Rd = Op2 .text:0001BB70 SUB SP, SP, #0x200 @ Rd = Op1 - Op2 .text:0001BB74 LDR R0, =aPhatlib @ Load from Memory .text:0001BB78 BNE loc_1BBA0 @ Branch .text:0001BB7C .text:0001BB7C loc_1BB7C: @ CODE XREF: gui_kw_seek+60j .text:0001BB7C MOV R3, #0x11 @ Rd = Op2 .text:0001BB80 MOV R2, #0x200 @ Rd = Op2 .text:0001BB84 MOV R1, SP @ Rd = Op2 .text:0001BB88 MOV R0, #7 @ Rd = Op2 .text:0001BB8C STMEA SP, {R3,R4} @ Store Block to Memory .text:0001BB90 BL sub_1992C @ Branch with Link .text:0001BB94 MOV R0, #1 @ Rd = Op2 .text:0001BB98 ADD SP, SP, #0x200 @ Rd = Op1 + Op2 .text:0001BB9C LDMFD SP!, {R4,PC} @ Load Block from Memory .text:0001BBA0 @ --------------------------------------------------------------------------- .text:0001BBA0 .text:0001BBA0 loc_1BBA0: @ CODE XREF: gui_kw_seek+1Cj .text:0001BBA0 BL printf @ Branch with Link .text:0001BBA4 LDR R1, =aGui_kw_seek @ Load from Memory .text:0001BBA8 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:0001BBAC BL printf @ Branch with Link .text:0001BBB0 LDR R0, =(a02xI_0+0x18) @ Load from Memory .text:0001BBB4 MOV R1, R4 @ Rd = Op2 .text:0001BBB8 BL printf @ Branch with Link .text:0001BBBC B loc_1BB7C @ Branch .text:0001BBBC @ End of function gui_kw_seek .text:0001BBBC .text:0001BBBC @ --------------------------------------------------------------------------- .text:0001BBC0 off_1BBC0: .long PHATLIB_DEBUG @ DATA XREF: gui_kw_seek+4r .text:0001BBC4 off_1BBC4: .long aPhatlib @ DATA XREF: gui_kw_seek+18r .text:0001BBC4 @ "phatlib:" .text:0001BBC8 off_1BBC8: .long aGui_kw_seek @ DATA XREF: gui_kw_seek+48r .text:0001BBC8 @ "gui_kw_seek" .text:0001BBCC off_1BBCC: .long aDosTtsI_S+0xC @ DATA XREF: gui_kw_seek+4Cr .text:0001BBD0 off_1BBD0: .long a02xI_0+0x18 @ DATA XREF: gui_kw_seek+54r .text:0001BBD4 .text:0001BBD4 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001BBD4 .text:0001BBD4 .text:0001BBD4 gui_kw_list_button_run: .text:0001BBD4 STMFD SP!, {R4,LR} @ Store Block to Memory .text:0001BBD8 LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:0001BBDC LDR R2, [R3] @ Load from Memory .text:0001BBE0 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0001BBE4 MOV R4, R0 @ Rd = Op2 .text:0001BBE8 SUB SP, SP, #0x200 @ Rd = Op1 - Op2 .text:0001BBEC LDR R0, =aPhatlib @ Load from Memory .text:0001BBF0 BNE loc_1BC18 @ Branch .text:0001BBF4 .text:0001BBF4 loc_1BBF4: @ CODE XREF: gui_kw_list_button_run+60j .text:0001BBF4 MOV R3, #0x12 @ Rd = Op2 .text:0001BBF8 MOV R2, #0x200 @ Rd = Op2 .text:0001BBFC MOV R1, SP @ Rd = Op2 .text:0001BC00 MOV R0, #7 @ Rd = Op2 .text:0001BC04 STMEA SP, {R3,R4} @ Store Block to Memory .text:0001BC08 BL sub_1992C @ Branch with Link .text:0001BC0C MOV R0, #1 @ Rd = Op2 .text:0001BC10 ADD SP, SP, #0x200 @ Rd = Op1 + Op2 .text:0001BC14 LDMFD SP!, {R4,PC} @ Load Block from Memory .text:0001BC18 @ --------------------------------------------------------------------------- .text:0001BC18 .text:0001BC18 loc_1BC18: @ CODE XREF: gui_kw_list_button_run+1Cj .text:0001BC18 BL printf @ Branch with Link .text:0001BC1C LDR R1, =aGui_kw_list_bu @ Load from Memory .text:0001BC20 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:0001BC24 BL printf @ Branch with Link .text:0001BC28 LDR R0, =(a02xI_0+0x18) @ Load from Memory .text:0001BC2C MOV R1, R4 @ Rd = Op2 .text:0001BC30 BL printf @ Branch with Link .text:0001BC34 B loc_1BBF4 @ Branch .text:0001BC34 @ End of function gui_kw_list_button_run .text:0001BC34 .text:0001BC34 @ --------------------------------------------------------------------------- .text:0001BC38 off_1BC38: .long PHATLIB_DEBUG @ DATA XREF: gui_kw_list_button_run+4r .text:0001BC3C off_1BC3C: .long aPhatlib @ DATA XREF: gui_kw_list_button_run+18r .text:0001BC3C @ "phatlib:" .text:0001BC40 off_1BC40: .long aGui_kw_list_bu @ DATA XREF: gui_kw_list_button_run+48r .text:0001BC40 @ "gui_kw_list_button_run" .text:0001BC44 off_1BC44: .long aDosTtsI_S+0xC @ DATA XREF: gui_kw_list_button_run+4Cr .text:0001BC48 off_1BC48: .long a02xI_0+0x18 @ DATA XREF: gui_kw_list_button_run+54r .text:0001BC4C .text:0001BC4C @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001BC4C .text:0001BC4C .text:0001BC4C gui_kw_list_type: .text:0001BC4C STMFD SP!, {R4,LR} @ Store Block to Memory .text:0001BC50 LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:0001BC54 LDR R2, [R3] @ Load from Memory .text:0001BC58 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0001BC5C MOV R4, R0 @ Rd = Op2 .text:0001BC60 SUB SP, SP, #0x200 @ Rd = Op1 - Op2 .text:0001BC64 LDR R0, =aPhatlib @ Load from Memory .text:0001BC68 BNE loc_1BC90 @ Branch .text:0001BC6C .text:0001BC6C loc_1BC6C: @ CODE XREF: gui_kw_list_type+60j .text:0001BC6C MOV R3, #0x13 @ Rd = Op2 .text:0001BC70 MOV R2, #0x200 @ Rd = Op2 .text:0001BC74 MOV R1, SP @ Rd = Op2 .text:0001BC78 MOV R0, #7 @ Rd = Op2 .text:0001BC7C STMEA SP, {R3,R4} @ Store Block to Memory .text:0001BC80 BL sub_1992C @ Branch with Link .text:0001BC84 MOV R0, #1 @ Rd = Op2 .text:0001BC88 ADD SP, SP, #0x200 @ Rd = Op1 + Op2 .text:0001BC8C LDMFD SP!, {R4,PC} @ Load Block from Memory .text:0001BC90 @ --------------------------------------------------------------------------- .text:0001BC90 .text:0001BC90 loc_1BC90: @ CODE XREF: gui_kw_list_type+1Cj .text:0001BC90 BL printf @ Branch with Link .text:0001BC94 LDR R1, =aGui_kw_list_ty @ Load from Memory .text:0001BC98 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:0001BC9C BL printf @ Branch with Link .text:0001BCA0 LDR R0, =(a02xI_0+0x18) @ Load from Memory .text:0001BCA4 MOV R1, R4 @ Rd = Op2 .text:0001BCA8 BL printf @ Branch with Link .text:0001BCAC B loc_1BC6C @ Branch .text:0001BCAC @ End of function gui_kw_list_type .text:0001BCAC .text:0001BCAC @ --------------------------------------------------------------------------- .text:0001BCB0 off_1BCB0: .long PHATLIB_DEBUG @ DATA XREF: gui_kw_list_type+4r .text:0001BCB4 off_1BCB4: .long aPhatlib @ DATA XREF: gui_kw_list_type+18r .text:0001BCB4 @ "phatlib:" .text:0001BCB8 off_1BCB8: .long aGui_kw_list_ty @ DATA XREF: gui_kw_list_type+48r .text:0001BCB8 @ "gui_kw_list_type" .text:0001BCBC off_1BCBC: .long aDosTtsI_S+0xC @ DATA XREF: gui_kw_list_type+4Cr .text:0001BCC0 off_1BCC0: .long a02xI_0+0x18 @ DATA XREF: gui_kw_list_type+54r .text:0001BCC4 .text:0001BCC4 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001BCC4 .text:0001BCC4 .text:0001BCC4 phat_start_program: @ CODE XREF: processpack+E0Cp .text:0001BCC4 @ processpack+EB0p .text:0001BCC4 .text:0001BCC4 op_code = -0x230 .text:0001BCC4 arg1 = -0x22C .text:0001BCC4 arg6 = -0x218 .text:0001BCC4 .text:0001BCC4 STMFD SP!, {R4-R8,LR} @ Store Block to Memory .text:0001BCC8 LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:0001BCCC LDR R2, [R3] @ Load from Memory .text:0001BCD0 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:0001BCD4 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0001BCD8 MOV R4, R0 @ Rd = Op2 .text:0001BCDC ADD R5, SP, #0x230+arg6 @ Rd = Op1 + Op2 .text:0001BCE0 MOV R8, SP @ Rd = Op2 .text:0001BCE4 LDR R6, =phatsock_fd @ Load from Memory .text:0001BCE8 MOV R7, R1 @ Rd = Op2 .text:0001BCEC LDR R0, =aPhatlib @ Load from Memory .text:0001BCF0 BNE loc_1BD74 @ Branch .text:0001BCF4 .text:0001BCF4 loc_1BCF4: @ CODE XREF: phat_start_program+D0j .text:0001BCF4 LDR R3, [R6] @ Load from Memory .text:0001BCF8 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0001BCFC MOV R1, R4 @ Rd = Op2 .text:0001BD00 MOV R0, R5 @ Rd = Op2 .text:0001BD04 MOVL R2, 0xFFFFFFFF .text:0001BD08 BLT loc_1BD68 @ Branch .text:0001BD0C MOV R3, #0x67 @ 'g' @ Rd = Op2 .text:0001BD10 STR R3, [SP,#0x230+op_code] @ Store to Memory .text:0001BD14 BL strcpy @ Branch with Link .text:0001BD18 LDR R1, =(aCanTConnect+0x3C) @ Load from Memory .text:0001BD1C MOV R0, R5 @ Rd = Op2 .text:0001BD20 BL sub_26B24 @ Branch with Link .text:0001BD24 MOV R1, R7 @ Rd = Op2 .text:0001BD28 MOV R0, R5 @ Rd = Op2 .text:0001BD2C BL sub_26B24 @ Branch with Link .text:0001BD30 MOV R1, R8 @ Rd = Op2 .text:0001BD34 MOV R2, #0x218 @ Rd = Op2 .text:0001BD38 MOV R3, #0 @ Rd = Op2 .text:0001BD3C LDR R0, [R6] @ Load from Memory .text:0001BD40 BL send @ Branch with Link .text:0001BD44 MOV R2, #0x218 @ Rd = Op2 .text:0001BD48 MOV R3, #0 @ Rd = Op2 .text:0001BD4C LDR R0, [R6] @ Load from Memory .text:0001BD50 MOV R1, R8 @ Rd = Op2 .text:0001BD54 BL recv @ Branch with Link .text:0001BD58 LDR R3, [SP,#0x230+arg1] @ Load from Memory .text:0001BD5C CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:0001BD60 MOVNE R2, #0 @ Rd = Op2 .text:0001BD64 MOVEQ R2, #1 @ Rd = Op2 .text:0001BD68 .text:0001BD68 loc_1BD68: @ CODE XREF: phat_start_program+44j .text:0001BD68 MOV R0, R2 @ Rd = Op2 .text:0001BD6C ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:0001BD70 LDMFD SP!, {R4-R8,PC} @ Load Block from Memory .text:0001BD74 @ --------------------------------------------------------------------------- .text:0001BD74 .text:0001BD74 loc_1BD74: @ CODE XREF: phat_start_program+2Cj .text:0001BD74 BL printf @ Branch with Link .text:0001BD78 LDR R1, =aPhat_start_pro @ Load from Memory .text:0001BD7C LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:0001BD80 BL printf @ Branch with Link .text:0001BD84 LDR R0, =aSS @ Load from Memory .text:0001BD88 MOV R2, R7 @ Rd = Op2 .text:0001BD8C MOV R1, R4 @ Rd = Op2 .text:0001BD90 BL printf @ Branch with Link .text:0001BD94 B loc_1BCF4 @ Branch .text:0001BD94 @ End of function phat_start_program .text:0001BD94 .text:0001BD94 @ --------------------------------------------------------------------------- .text:0001BD98 off_1BD98: .long PHATLIB_DEBUG @ DATA XREF: phat_start_program+4r .text:0001BD9C off_1BD9C: .long phatsock_fd @ DATA XREF: phat_start_program+20r .text:0001BDA0 off_1BDA0: .long aPhatlib @ DATA XREF: phat_start_program+28r .text:0001BDA0 @ "phatlib:" .text:0001BDA4 off_1BDA4: .long aCanTConnect+0x3C @ DATA XREF: phat_start_program+54r .text:0001BDA8 off_1BDA8: .long aPhat_start_pro @ DATA XREF: phat_start_program+B4r .text:0001BDA8 @ "phat_start_program" .text:0001BDAC off_1BDAC: .long aDosTtsI_S+0xC @ DATA XREF: phat_start_program+B8r .text:0001BDB0 off_1BDB0: .long aSS @ DATA XREF: phat_start_program+C0r .text:0001BDB0 @ "(%s,%s)\n" .text:0001BDB4 .text:0001BDB4 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001BDB4 .text:0001BDB4 .text:0001BDB4 phat_notify_new_track: .text:0001BDB4 .text:0001BDB4 var_228 = -0x228 .text:0001BDB4 var_224 = -0x224 .text:0001BDB4 var_218 = -0x218 .text:0001BDB4 .text:0001BDB4 STMFD SP!, {R4-R6,LR} @ Store Block to Memory .text:0001BDB8 LDR R3, =PHATLIB_DEBUG @ Load from Memory .text:0001BDBC LDR R2, [R3] @ Load from Memory .text:0001BDC0 SUB SP, SP, #0x218 @ Rd = Op1 - Op2 .text:0001BDC4 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0001BDC8 MOV R4, R0 @ Rd = Op2 .text:0001BDCC MOV R6, SP @ Rd = Op2 .text:0001BDD0 LDR R5, =phatsock_fd @ Load from Memory .text:0001BDD4 LDR R0, =aPhatlib @ Load from Memory .text:0001BDD8 BNE loc_1BE3C @ Branch .text:0001BDDC .text:0001BDDC loc_1BDDC: @ CODE XREF: phat_notify_new_track+A4j .text:0001BDDC LDR R12, [R5] @ Load from Memory .text:0001BDE0 MOV R3, #0 @ Rd = Op2 .text:0001BDE4 CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:0001BDE8 MOV R1, R6 @ Rd = Op2 .text:0001BDEC MOV R2, #0x218 @ Rd = Op2 .text:0001BDF0 MOVL LR, 0xFFFFFFFF .text:0001BDF4 MOV R0, R12 @ Rd = Op2 .text:0001BDF8 BLT loc_1BE30 @ Branch .text:0001BDFC MOV R12, #0x69 @ 'i' @ Rd = Op2 .text:0001BE00 STR R12, [SP,#0x228+var_228] @ Store to Memory .text:0001BE04 STR R4, [SP,#0x228+var_218] @ Store to Memory .text:0001BE08 BL send @ Branch with Link .text:0001BE0C MOV R3, #0 @ Rd = Op2 .text:0001BE10 LDR R0, [R5] @ Load from Memory .text:0001BE14 MOV R1, R6 @ Rd = Op2 .text:0001BE18 MOV R2, #0x218 @ Rd = Op2 .text:0001BE1C BL recv @ Branch with Link .text:0001BE20 LDR R3, [SP,#0x228+var_224] @ Load from Memory .text:0001BE24 CMP R3, #0x64 @ 'd' @ Set cond. codes on Op1 - Op2 .text:0001BE28 MOVNE LR, #0 @ Rd = Op2 .text:0001BE2C MOVEQ LR, #1 @ Rd = Op2 .text:0001BE30 .text:0001BE30 loc_1BE30: @ CODE XREF: phat_notify_new_track+44j .text:0001BE30 MOV R0, LR @ Rd = Op2 .text:0001BE34 ADD SP, SP, #0x218 @ Rd = Op1 + Op2 .text:0001BE38 LDMFD SP!, {R4-R6,PC} @ Load Block from Memory .text:0001BE3C @ --------------------------------------------------------------------------- .text:0001BE3C .text:0001BE3C loc_1BE3C: @ CODE XREF: phat_notify_new_track+24j .text:0001BE3C BL printf @ Branch with Link .text:0001BE40 LDR R1, =aPhat_notify_ne @ Load from Memory .text:0001BE44 LDR R0, =(aDosTtsI_S+0xC) @ Load from Memory .text:0001BE48 BL printf @ Branch with Link .text:0001BE4C LDR R0, =(a02xI_0+0x18) @ Load from Memory .text:0001BE50 MOV R1, R4 @ Rd = Op2 .text:0001BE54 BL printf @ Branch with Link .text:0001BE58 B loc_1BDDC @ Branch .text:0001BE58 @ End of function phat_notify_new_track .text:0001BE58 .text:0001BE58 @ --------------------------------------------------------------------------- .text:0001BE5C off_1BE5C: .long PHATLIB_DEBUG @ DATA XREF: phat_notify_new_track+4r .text:0001BE60 off_1BE60: .long phatsock_fd @ DATA XREF: phat_notify_new_track+1Cr .text:0001BE64 off_1BE64: .long aPhatlib @ DATA XREF: phat_notify_new_track+20r .text:0001BE64 @ "phatlib:" .text:0001BE68 off_1BE68: .long aPhat_notify_ne @ DATA XREF: phat_notify_new_track+8Cr .text:0001BE68 @ "phat_notify_new_track" .text:0001BE6C off_1BE6C: .long aDosTtsI_S+0xC @ DATA XREF: phat_notify_new_track+90r .text:0001BE70 off_1BE70: .long a02xI_0+0x18 @ DATA XREF: phat_notify_new_track+98r .text:0001BE74 .text:0001BE74 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001BE74 .text:0001BE74 @ Attributes: library function .text:0001BE74 .text:0001BE74 stat64: @ CODE XREF: sub_25188+20p .text:0001BE74 .text:0001BE74 var_5C = -0x5C .text:0001BE74 .text:0001BE74 STMFD SP!, {R4-R8,R10,LR} @ Store Block to Memory .text:0001BE78 CMP R0, #1 @ Set cond. codes on Op1 - Op2 .text:0001BE7C SUB SP, SP, #0xA0 @ Rd = Op1 - Op2 .text:0001BE80 MOV R6, R0 @ Rd = Op2 .text:0001BE84 MOV R5, R1 @ Rd = Op2 .text:0001BE88 MOV R7, R2 @ Rd = Op2 .text:0001BE8C BEQ loc_1BF64 @ Branch .text:0001BE90 LDR R10, =dword_459A0 @ Load from Memory .text:0001BE94 LDR R3, [R10] @ Load from Memory .text:0001BE98 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0001BE9C BNE loc_1BF00 @ Branch .text:0001BEA0 MOV R8, SP @ Rd = Op2 .text:0001BEA4 MOV R1, SP @ Rd = Op2 .text:0001BEA8 MOV R0, R5 @ Rd = Op2 .text:0001BEAC SWI 0x9000C3 @ Software interrupt .text:0001BEB0 CMN R0, #0x1000 @ Set cond. codes on Op1 + Op2 .text:0001BEB4 MOV R4, R0 @ Rd = Op2 .text:0001BEB8 BLS loc_1BECC @ Branch .text:0001BEBC BL __set_errno @ Branch with Link .text:0001BEC0 RSB R3, R4, #0 @ Rd = Op2 - Op1 .text:0001BEC4 STR R3, [R0] @ Store to Memory .text:0001BEC8 MVN R4, #0 @ Rd = ~Op2 .text:0001BECC .text:0001BECC loc_1BECC: @ CODE XREF: stat64+44j .text:0001BECC CMP R4, #0 @ Set cond. codes on Op1 - Op2 .text:0001BED0 BEQ loc_1BF4C @ Branch .text:0001BED4 .text:0001BED4 loc_1BED4: @ CODE XREF: stat64+ECj .text:0001BED4 CMN R4, #1 @ Set cond. codes on Op1 + Op2 .text:0001BED8 BEQ loc_1BEE8 @ Branch .text:0001BEDC .text:0001BEDC loc_1BEDC: @ CODE XREF: stat64+80j .text:0001BEDC @ stat64+BCj ... .text:0001BEDC MOV R0, R4 @ Rd = Op2 .text:0001BEE0 ADD SP, SP, #0xA0 @ Rd = Op1 + Op2 .text:0001BEE4 LDMFD SP!, {R4-R8,R10,PC} @ Load Block from Memory .text:0001BEE8 @ --------------------------------------------------------------------------- .text:0001BEE8 .text:0001BEE8 loc_1BEE8: @ CODE XREF: stat64+64j .text:0001BEE8 BL __set_errno @ Branch with Link .text:0001BEEC LDR R3, [R0] @ Load from Memory .text:0001BEF0 CMP R3, #0x26 @ '&' @ Set cond. codes on Op1 - Op2 .text:0001BEF4 BNE loc_1BEDC @ Branch .text:0001BEF8 MOV R3, #1 @ Rd = Op2 .text:0001BEFC STR R3, [R10] @ Store to Memory .text:0001BF00 .text:0001BF00 loc_1BF00: @ CODE XREF: stat64+28j .text:0001BF00 ADD R8, SP, #0xBC+var_5C @ Rd = Op1 + Op2 .text:0001BF04 MOV R0, R5 @ Rd = Op2 .text:0001BF08 MOV R1, R8 @ Rd = Op2 .text:0001BF0C SWI 0x90006A @ Software interrupt .text:0001BF10 CMN R0, #0x1000 @ Set cond. codes on Op1 + Op2 .text:0001BF14 MOV R4, R0 @ Rd = Op2 .text:0001BF18 BLS loc_1BF2C @ Branch .text:0001BF1C BL __set_errno @ Branch with Link .text:0001BF20 RSB R3, R4, #0 @ Rd = Op2 - Op1 .text:0001BF24 STR R3, [R0] @ Store to Memory .text:0001BF28 MVN R4, #0 @ Rd = ~Op2 .text:0001BF2C .text:0001BF2C loc_1BF2C: @ CODE XREF: stat64+A4j .text:0001BF2C CMP R4, #0 @ Set cond. codes on Op1 - Op2 .text:0001BF30 BNE loc_1BEDC @ Branch .text:0001BF34 MOV R0, R6 @ Rd = Op2 .text:0001BF38 MOV R1, R8 @ Rd = Op2 .text:0001BF3C MOV R2, R7 @ Rd = Op2 .text:0001BF40 BL sub_1BF94 @ Branch with Link .text:0001BF44 MOV R4, R0 @ Rd = Op2 .text:0001BF48 B loc_1BEDC @ Branch .text:0001BF4C @ --------------------------------------------------------------------------- .text:0001BF4C .text:0001BF4C loc_1BF4C: @ CODE XREF: stat64+5Cj .text:0001BF4C MOV R1, R8 @ Rd = Op2 .text:0001BF50 MOV R0, R6 @ Rd = Op2 .text:0001BF54 MOV R2, R7 @ Rd = Op2 .text:0001BF58 BL sub_1C094 @ Branch with Link .text:0001BF5C MOV R4, R0 @ Rd = Op2 .text:0001BF60 B loc_1BED4 @ Branch .text:0001BF64 @ --------------------------------------------------------------------------- .text:0001BF64 .text:0001BF64 loc_1BF64: @ CODE XREF: stat64+18j .text:0001BF64 MOV R1, R2 @ Rd = Op2 .text:0001BF68 MOV R0, R5 @ Rd = Op2 .text:0001BF6C SWI 0x90006A @ Software interrupt .text:0001BF70 CMN R0, #0x1000 @ Set cond. codes on Op1 + Op2 .text:0001BF74 MOV R4, R0 @ Rd = Op2 .text:0001BF78 BLS loc_1BEDC @ Branch .text:0001BF7C BL __set_errno @ Branch with Link .text:0001BF80 RSB R3, R4, #0 @ Rd = Op2 - Op1 .text:0001BF84 MOVL R4, 0xFFFFFFFF .text:0001BF88 STR R3, [R0] @ Store to Memory .text:0001BF8C B loc_1BEDC @ Branch .text:0001BF8C @ End of function stat64 .text:0001BF8C .text:0001BF8C @ --------------------------------------------------------------------------- .text:0001BF90 off_1BF90: .long dword_459A0 @ DATA XREF: stat64+1Cr .text:0001BF94 .text:0001BF94 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001BF94 .text:0001BF94 .text:0001BF94 sub_1BF94: @ CODE XREF: stat64+CCp .text:0001BF94 CMP R0, #1 @ Set cond. codes on Op1 - Op2 .text:0001BF98 STMFD SP!, {R4-R8,R10,LR} @ Store Block to Memory .text:0001BF9C MOV R3, R0 @ Rd = Op2 .text:0001BFA0 MOV R4, R2 @ Rd = Op2 .text:0001BFA4 MOV LR, R2 @ Rd = Op2 .text:0001BFA8 MOV R0, R1 @ Rd = Op2 .text:0001BFAC MOV R12, R1 @ Rd = Op2 .text:0001BFB0 BEQ loc_1C070 @ Branch .text:0001BFB4 CMP R3, #3 @ Set cond. codes on Op1 - Op2 .text:0001BFB8 MOV LR, #0 @ Rd = Op2 .text:0001BFBC ADD R10, R2, #0x20 @ Rd = Op1 + Op2 .text:0001BFC0 BEQ loc_1BFDC @ Branch .text:0001BFC4 BL __set_errno @ Branch with Link .text:0001BFC8 MOV R3, #0x16 @ Rd = Op2 .text:0001BFCC MOVL R2, 0xFFFFFFFF .text:0001BFD0 STR R3, [R0] @ Store to Memory .text:0001BFD4 .text:0001BFD4 loc_1BFD4: @ CODE XREF: sub_1BF94+D8j .text:0001BFD4 MOV R0, R2 @ Rd = Op2 .text:0001BFD8 LDMFD SP!, {R4-R8,R10,PC} @ Load Block from Memory .text:0001BFDC @ --------------------------------------------------------------------------- .text:0001BFDC .text:0001BFDC loc_1BFDC: @ CODE XREF: sub_1BF94+2Cj .text:0001BFDC LDR R2, [R1,#4] @ Load from Memory .text:0001BFE0 STR R2, [R4,#0xC] @ Store to Memory .text:0001BFE4 LDR R3, [R1,#0x14] @ Load from Memory .text:0001BFE8 STR R3, [R4,#0x2C] @ Store to Memory .text:0001BFEC LDR R2, [R1,#0x18] @ Load from Memory .text:0001BFF0 STR R2, [R4,#0x30] @ Store to Memory .text:0001BFF4 LDR R3, [R1,#0x1C] @ Load from Memory .text:0001BFF8 STR R3, [R4,#0x34] @ Store to Memory .text:0001BFFC LDR R2, [R1,#0x20] @ Load from Memory .text:0001C000 .text:0001C000 loc_1C000: @ DATA XREF: MD5Transform+4B4o .text:0001C000 STR LR, [R4,#0x3C] @ Store to Memory .text:0001C004 STR R2, [R4,#0x38] @ Store to Memory .text:0001C008 LDR R3, [R1,#0x28] @ Load from Memory .text:0001C00C LDRH R7, [R1] @ Load from Memory .text:0001C010 STRH LR, [R4,#8] @ Store to Memory .text:0001C014 STR R3, [R4,#0x40] @ Store to Memory .text:0001C018 STR LR, [R4,#0x44] @ Store to Memory .text:0001C01C LDRH R5, [R1,#0x10] @ Load from Memory .text:0001C020 LDR R12, [R1,#0x30] @ Load from Memory .text:0001C024 LDRH R3, [R1,#8] @ Load from Memory .text:0001C028 LDRH R2, [R1,#0xA] @ Load from Memory .text:0001C02C LDRH R0, [R0,#0xE] @ Load from Memory .text:0001C030 LDRH R1, [R1,#0xC] @ Load from Memory .text:0001C034 MOV R8, #0 @ Rd = Op2 .text:0001C038 MOV R6, #0 @ Rd = Op2 .text:0001C03C STMIA R10, {R5,R6} @ Store Block to Memory .text:0001C040 STR LR, [R4,#0x54] @ Store to Memory .text:0001C044 STMIA R4, {R7,R8} @ Store Block to Memory .text:0001C048 STR R3, [R4,#0x10] @ Store to Memory .text:0001C04C STR R2, [R4,#0x14] @ Store to Memory .text:0001C050 STR R1, [R4,#0x18] @ Store to Memory .text:0001C054 STR R0, [R4,#0x1C] @ Store to Memory .text:0001C058 STR R12, [R4,#0x48] @ Store to Memory .text:0001C05C STRH LR, [R4,#0x28] @ Store to Memory .text:0001C060 STR LR, [R4,#0x4C] @ Store to Memory .text:0001C064 STR LR, [R4,#0x50] @ Store to Memory .text:0001C068 .text:0001C068 loc_1C068: @ CODE XREF: sub_1BF94+FCj .text:0001C068 MOV R2, #0 @ Rd = Op2 .text:0001C06C B loc_1BFD4 @ Branch .text:0001C070 @ --------------------------------------------------------------------------- .text:0001C070 .text:0001C070 loc_1C070: @ CODE XREF: sub_1BF94+1Cj .text:0001C070 LDMIA R12!, {R0-R3} @ Load Block from Memory .text:0001C074 STMIA LR!, {R0-R3} @ Store Block to Memory .text:0001C078 LDMIA R12!, {R0-R3} @ Load Block from Memory .text:0001C07C STMIA LR!, {R0-R3} @ Store Block to Memory .text:0001C080 LDMIA R12!, {R0-R3} @ Load Block from Memory .text:0001C084 STMIA LR!, {R0-R3} @ Store Block to Memory .text:0001C088 LDMIA R12, {R0-R3} @ Load Block from Memory .text:0001C08C STMIA LR, {R0-R3} @ Store Block to Memory .text:0001C090 B loc_1C068 @ Branch .text:0001C090 @ End of function sub_1BF94 .text:0001C090 .text:0001C094 .text:0001C094 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001C094 .text:0001C094 .text:0001C094 sub_1C094: @ CODE XREF: stat64+E4p .text:0001C094 CMP R0, #1 @ Set cond. codes on Op1 - Op2 .text:0001C098 STMFD SP!, {R4-R8,LR} @ Store Block to Memory .text:0001C09C MOV R5, R1 @ Rd = Op2 .text:0001C0A0 MOV R6, R2 @ Rd = Op2 .text:0001C0A4 BEQ loc_1C0B0 @ Branch .text:0001C0A8 CMP R0, #3 @ Set cond. codes on Op1 - Op2 .text:0001C0AC BEQ loc_1C0C8 @ Branch .text:0001C0B0 .text:0001C0B0 loc_1C0B0: @ CODE XREF: sub_1C094+10j .text:0001C0B0 BL __set_errno @ Branch with Link .text:0001C0B4 MOVL R2, 0xFFFFFFFF .text:0001C0B8 MOV R3, #0x16 @ Rd = Op2 .text:0001C0BC .text:0001C0BC loc_1C0BC: @ CODE XREF: sub_1C094+7Cj .text:0001C0BC STR R3, [R0] @ Store to Memory .text:0001C0C0 .text:0001C0C0 loc_1C0C0: @ CODE XREF: sub_1C094+130j .text:0001C0C0 MOV R0, R2 @ Rd = Op2 .text:0001C0C4 LDMFD SP!, {R4-R8,PC} @ Load Block from Memory .text:0001C0C8 @ --------------------------------------------------------------------------- .text:0001C0C8 .text:0001C0C8 loc_1C0C8: @ CODE XREF: sub_1C094+18j .text:0001C0C8 LDMIA R1, {R3,R4} @ Load Block from Memory .text:0001C0CC STMIA R2, {R3,R4} @ Store Block to Memory .text:0001C0D0 LDR R2, [R1,#0x58] @ Load from Memory .text:0001C0D4 LDR R1, [R1,#0x5C] @ Load from Memory .text:0001C0D8 ORRS R4, R2, R1 @ Rd = Op2 | Op1 .text:0001C0DC LDREQ R3, [R5,#0xC] @ Load from Memory .text:0001C0E0 MOV R7, #0 @ Rd = Op2 .text:0001C0E4 STRH R7, [R6,#8] @ Store to Memory .text:0001C0E8 STREQ R3, [R6,#0xC] @ Store to Memory .text:0001C0EC BEQ loc_1C114 @ Branch .text:0001C0F0 MOV R3, R2 @ Rd = Op2 .text:0001C0F4 MOV R4, #0 @ Rd = Op2 .text:0001C0F8 CMP R1, R4 @ Set cond. codes on Op1 - Op2 .text:0001C0FC STR R2, [R6,#0xC] @ Store to Memory .text:0001C100 BEQ loc_1C114 @ Branch .text:0001C104 .text:0001C104 loc_1C104: @ CODE XREF: sub_1C094+D4j .text:0001C104 @ sub_1C094+12Cj .text:0001C104 BL __set_errno @ Branch with Link .text:0001C108 MOVL R2, 0xFFFFFFFF .text:0001C10C MOV R3, #0x4B @ 'K' @ Rd = Op2 .text:0001C110 B loc_1C0BC @ Branch .text:0001C114 @ --------------------------------------------------------------------------- .text:0001C114 .text:0001C114 loc_1C114: @ CODE XREF: sub_1C094+58j .text:0001C114 @ sub_1C094+6Cj .text:0001C114 LDR R3, [R5,#0x10] @ Load from Memory .text:0001C118 STR R3, [R6,#0x10] @ Store to Memory .text:0001C11C ADD R3, R5, #0x20 @ Rd = Op1 + Op2 .text:0001C120 LDR R2, [R5,#0x14] @ Load from Memory .text:0001C124 LDMIA R3, {R7,R8} @ Load Block from Memory .text:0001C128 STR R2, [R6,#0x14] @ Store to Memory .text:0001C12C ADD R1, R6, #0x20 @ Rd = Op1 + Op2 .text:0001C130 STMIA R1, {R7,R8} @ Store Block to Memory .text:0001C134 LDR R2, [R5,#0x18] @ Load from Memory .text:0001C138 LDR R0, [R5,#0x2C] @ Load from Memory .text:0001C13C STR R2, [R6,#0x18] @ Store to Memory .text:0001C140 ADD R2, R5, #0x2C @ Rd = Op1 + Op2 .text:0001C144 LDR R1, [R2,#4] @ Load from Memory .text:0001C148 MOV R3, R0 @ Rd = Op2 .text:0001C14C MOV R4, R3,ASR#31 @ Rd = Op2 .text:0001C150 LDR R2, [R5,#0x1C] @ Load from Memory .text:0001C154 MOV R12, #0 @ Rd = Op2 .text:0001C158 CMP R1, R4 @ Set cond. codes on Op1 - Op2 .text:0001C15C STR R2, [R6,#0x1C] @ Store to Memory .text:0001C160 STRH R12, [R6,#0x28] @ Store to Memory .text:0001C164 STR R0, [R6,#0x2C] @ Store to Memory .text:0001C168 BNE loc_1C104 @ Branch .text:0001C16C ADD R2, R5, #0x38 @ Rd = Op1 + Op2 .text:0001C170 LDR R1, [R5,#0x38] @ Load from Memory .text:0001C174 LDR R0, [R2,#4] @ Load from Memory .text:0001C178 LDR R2, [R5,#0x34] @ Load from Memory .text:0001C17C MOV R3, R1 @ Rd = Op2 .text:0001C180 MOV R4, R3,ASR#31 @ Rd = Op2 .text:0001C184 STR R2, [R6,#0x30] @ Store to Memory .text:0001C188 STR R1, [R6,#0x34] @ Store to Memory .text:0001C18C CMP R0, R4 @ Set cond. codes on Op1 - Op2 .text:0001C190 LDREQ R3, [R5,#0x40] @ Load from Memory .text:0001C194 STREQ R12, [R6,#0x3C] @ Store to Memory .text:0001C198 STREQ R3, [R6,#0x38] @ Store to Memory .text:0001C19C LDREQ R3, [R5,#0x48] @ Load from Memory .text:0001C1A0 STREQ R12, [R6,#0x44] @ Store to Memory .text:0001C1A4 STREQ R3, [R6,#0x40] @ Store to Memory .text:0001C1A8 LDREQ R3, [R5,#0x50] @ Load from Memory .text:0001C1AC MOVEQ R2, R12 @ Rd = Op2 .text:0001C1B0 STREQ R12, [R6,#0x54] @ Store to Memory .text:0001C1B4 STREQ R3, [R6,#0x48] @ Store to Memory .text:0001C1B8 STREQ R12, [R6,#0x4C] @ Store to Memory .text:0001C1BC STREQ R12, [R6,#0x50] @ Store to Memory .text:0001C1C0 BNE loc_1C104 @ Branch .text:0001C1C4 B loc_1C0C0 @ Branch .text:0001C1C4 @ End of function sub_1C094 .text:0001C1C4 .text:0001C1C8 .text:0001C1C8 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001C1C8 .text:0001C1C8 .text:0001C1C8 sub_1C1C8: .text:0001C1C8 STMFD SP!, {R4-R7,LR} @ Store Block to Memory .text:0001C1CC LDR R6, =dword_459A0 @ Load from Memory .text:0001C1D0 LDR R3, [R6] @ Load from Memory .text:0001C1D4 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0001C1D8 SUB SP, SP, #0x40 @ Rd = Op1 - Op2 .text:0001C1DC MOV R7, R0 @ Rd = Op2 .text:0001C1E0 MOV R4, R1 @ Rd = Op2 .text:0001C1E4 MOV R5, R2 @ Rd = Op2 .text:0001C1E8 BNE loc_1C260 @ Branch .text:0001C1EC BL __set_errno @ Branch with Link .text:0001C1F0 MOV R1, R5 @ Rd = Op2 .text:0001C1F4 MOV R2, R0 @ Rd = Op2 .text:0001C1F8 LDR R12, [R0] @ Load from Memory .text:0001C1FC MOV R0, R4 @ Rd = Op2 .text:0001C200 SWI 0x9000C3 @ Software interrupt .text:0001C204 CMN R0, #0x1000 @ Set cond. codes on Op1 + Op2 .text:0001C208 RSBHI R3, R0, #0 @ Rd = Op2 - Op1 .text:0001C20C MOVLHI R0, 0xFFFFFFFF .text:0001C210 STRHI R3, [R2] @ Store to Memory .text:0001C214 CMN R0, #1 @ Set cond. codes on Op1 + Op2 .text:0001C218 BEQ loc_1C248 @ Branch .text:0001C21C .text:0001C21C loc_1C21C: @ CODE XREF: sub_1C1C8+88j .text:0001C21C CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0001C220 BNE loc_1C240 @ Branch .text:0001C224 LDR R3, [R5,#0x58] @ Load from Memory .text:0001C228 LDR R12, [R5,#0xC] @ Load from Memory .text:0001C22C CMP R12, R3 @ Set cond. codes on Op1 - Op2 .text:0001C230 ADD R1, R5, #0x58 @ Rd = Op1 + Op2 .text:0001C234 MOVNE R3, R12 @ Rd = Op2 .text:0001C238 MOVNE R4, #0 @ Rd = Op2 .text:0001C23C STMNEIA R1, {R3,R4} @ Store Block to Memory .text:0001C240 .text:0001C240 loc_1C240: @ CODE XREF: sub_1C1C8+58j .text:0001C240 @ sub_1C1C8+C8j ... .text:0001C240 ADD SP, SP, #0x40 @ Rd = Op1 + Op2 .text:0001C244 LDMFD SP!, {R4-R7,PC} @ Load Block from Memory .text:0001C248 @ --------------------------------------------------------------------------- .text:0001C248 .text:0001C248 loc_1C248: @ CODE XREF: sub_1C1C8+50j .text:0001C248 LDR R3, [R2] @ Load from Memory .text:0001C24C CMP R3, #0x26 @ '&' @ Set cond. codes on Op1 - Op2 .text:0001C250 BNE loc_1C21C @ Branch .text:0001C254 MOV R3, #1 @ Rd = Op2 .text:0001C258 STR R12, [R2] @ Store to Memory .text:0001C25C STR R3, [R6] @ Store to Memory .text:0001C260 .text:0001C260 loc_1C260: @ CODE XREF: sub_1C1C8+20j .text:0001C260 MOV R6, SP @ Rd = Op2 .text:0001C264 MOV R0, R4 @ Rd = Op2 .text:0001C268 MOV R1, SP @ Rd = Op2 .text:0001C26C SWI 0x90006A @ sys_newstat .text:0001C270 CMN R0, #0x1000 @ Set cond. codes on Op1 + Op2 .text:0001C274 MOV R4, R0 @ Rd = Op2 .text:0001C278 BLS loc_1C28C @ Branch .text:0001C27C BL __set_errno @ Branch with Link .text:0001C280 RSB R3, R4, #0 @ Rd = Op2 - Op1 .text:0001C284 STR R3, [R0] @ Store to Memory .text:0001C288 MVN R4, #0 @ Rd = ~Op2 .text:0001C28C .text:0001C28C loc_1C28C: @ CODE XREF: sub_1C1C8+B0j .text:0001C28C SUBS R0, R4, #0 @ Rd = Op1 - Op2 .text:0001C290 BNE loc_1C240 @ Branch .text:0001C294 MOV R0, R7 @ Rd = Op2 .text:0001C298 MOV R1, R6 @ Rd = Op2 .text:0001C29C MOV R2, R5 @ Rd = Op2 .text:0001C2A0 BL sub_1C2AC @ Branch with Link .text:0001C2A4 B loc_1C240 @ Branch .text:0001C2A4 @ End of function sub_1C1C8 .text:0001C2A4 .text:0001C2A4 @ --------------------------------------------------------------------------- .text:0001C2A8 off_1C2A8: .long dword_459A0 @ DATA XREF: sub_1C1C8+4r .text:0001C2AC .text:0001C2AC @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001C2AC .text:0001C2AC .text:0001C2AC sub_1C2AC: @ CODE XREF: sub_1C1C8+D8p .text:0001C2AC .text:0001C2AC var_3C = -0x3C .text:0001C2AC var_38 = -0x38 .text:0001C2AC var_34 = -0x34 .text:0001C2AC var_30 = -0x30 .text:0001C2AC var_2C = -0x2C .text:0001C2AC .text:0001C2AC STMFD SP!, {R4-R11,LR} @ Store Block to Memory .text:0001C2B0 CMP R0, #1 @ Set cond. codes on Op1 - Op2 .text:0001C2B4 SUB SP, SP, #0x28 @ Rd = Op1 - Op2 .text:0001C2B8 MOV R7, R2 @ Rd = Op2 .text:0001C2BC MOV R6, R1 @ Rd = Op2 .text:0001C2C0 BEQ loc_1C2F0 @ Branch .text:0001C2C4 ADD R1, R2, #0x58 @ Rd = Op1 + Op2 .text:0001C2C8 ADD R3, R7, #0x2C @ Rd = Op1 + Op2 .text:0001C2CC ADD R2, R2, #0x20 @ Rd = Op1 + Op2 .text:0001C2D0 ADD R4, R7, #0x38 @ Rd = Op1 + Op2 .text:0001C2D4 CMP R0, #3 @ Set cond. codes on Op1 - Op2 .text:0001C2D8 MOV R9, #0 @ Rd = Op2 .text:0001C2DC STR R1, [SP,#0x4C+var_30] @ Store to Memory .text:0001C2E0 STR R2, [SP,#0x4C+var_34] @ Store to Memory .text:0001C2E4 STR R3, [SP,#0x4C+var_38] @ Store to Memory .text:0001C2E8 STR R4, [SP,#0x4C+var_3C] @ Store to Memory .text:0001C2EC BEQ loc_1C30C @ Branch .text:0001C2F0 .text:0001C2F0 loc_1C2F0: @ CODE XREF: sub_1C2AC+14j .text:0001C2F0 BL __set_errno @ Branch with Link .text:0001C2F4 MOV R3, #0x16 @ Rd = Op2 .text:0001C2F8 MOVL R2, 0xFFFFFFFF .text:0001C2FC STR R3, [R0] @ Store to Memory .text:0001C300 .text:0001C300 loc_1C300: @ CODE XREF: sub_1C2AC+140j .text:0001C300 MOV R0, R2 @ Rd = Op2 .text:0001C304 ADD SP, SP, #0x28 @ Rd = Op1 + Op2 .text:0001C308 LDMFD SP!, {R4-R11,PC} @ Load Block from Memory .text:0001C30C @ --------------------------------------------------------------------------- .text:0001C30C .text:0001C30C loc_1C30C: @ CODE XREF: sub_1C2AC+40j .text:0001C30C LDR R2, [R6,#4] @ Load from Memory .text:0001C310 LDRH R0, [R6] @ Load from Memory .text:0001C314 STR R2, [R7,#0xC] @ Store to Memory .text:0001C318 STR R0, [SP,#0x4C+var_2C] @ Store to Memory .text:0001C31C MOV R3, R0 @ Rd = Op2 .text:0001C320 MOV R4, #0 @ Rd = Op2 .text:0001C324 ADD R0, SP, #0x4C+var_2C @ Rd = Op1 + Op2 .text:0001C328 STMIA R0, {R3,R4} @ Store Block to Memory .text:0001C32C MOV R0, R2 @ Rd = Op2 .text:0001C330 MOV R1, #0 @ Rd = Op2 .text:0001C334 ADD R3, SP, #0x4C+var_3C @ Rd = Op1 + Op2 .text:0001C338 STMDB R3, {R0,R1} @ Store Block to Memory .text:0001C33C LDR R3, [R6,#0x18] @ Load from Memory .text:0001C340 LDR R4, [R6,#0x14] @ Load from Memory .text:0001C344 STR R3, [R7,#0x34] @ Store to Memory .text:0001C348 ADD R0, R6, #0x1C @ Rd = Op1 + Op2 .text:0001C34C LDMIA R0, {R0,R2} @ Load Block from Memory .text:0001C350 STR R2, [R7,#0x40] @ Store to Memory .text:0001C354 STR R9, [R7,#0x44] @ Store to Memory .text:0001C358 LDR R3, [R6,#0x28] @ Load from Memory .text:0001C35C STR R9, [R7,#0x4C] @ Store to Memory .text:0001C360 STR R3, [R7,#0x48] @ Store to Memory .text:0001C364 MOV R1, R0 @ Rd = Op2 .text:0001C368 MOV R2, #0 @ Rd = Op2 .text:0001C36C ADD R0, SP, #0x4C+var_3C @ Rd = Op1 + Op2 .text:0001C370 STMEA SP, {R1,R2} @ Store Block to Memory .text:0001C374 LDRH R10, [R6,#0x10] @ Load from Memory .text:0001C378 LDRH R2, [R6,#0xA] @ Load from Memory .text:0001C37C LDMDB R0, {R0,R1} @ Load Block from Memory .text:0001C380 LDR R8, [R6,#0x30] @ Load from Memory .text:0001C384 LDRH R3, [R6,#8] @ Load from Memory .text:0001C388 LDRH R12, [R6,#0xC] @ Load from Memory .text:0001C38C LDRH LR, [R6,#0xE] @ Load from Memory .text:0001C390 LDR R6, [SP,#0x4C+var_30] @ Load from Memory .text:0001C394 STMIA R6, {R0,R1} @ Store Block to Memory .text:0001C398 LDR R1, [SP,#0x4C+var_34] @ Load from Memory .text:0001C39C LDR R6, [SP,#0x4C+var_38] @ Load from Memory .text:0001C3A0 MOV R5, #0 @ Rd = Op2 .text:0001C3A4 MOV R11, #0 @ Rd = Op2 .text:0001C3A8 STMIA R1, {R10,R11} @ Store Block to Memory .text:0001C3AC STMIA R6, {R4,R5} @ Store Block to Memory .text:0001C3B0 LDMFD SP, {R0,R1} @ Load Block from Memory .text:0001C3B4 LDR R4, [SP,#0x4C+var_3C] @ Load from Memory .text:0001C3B8 STMIA R4, {R0,R1} @ Store Block to Memory .text:0001C3BC ADD R1, SP, #0x4C+var_2C @ Rd = Op1 + Op2 .text:0001C3C0 LDMIA R1, {R0,R1} @ Load Block from Memory .text:0001C3C4 STMIA R7, {R0,R1} @ Store Block to Memory .text:0001C3C8 STR R3, [R7,#0x10] @ Store to Memory .text:0001C3CC STR R12, [R7,#0x18] @ Store to Memory .text:0001C3D0 STR LR, [R7,#0x1C] @ Store to Memory .text:0001C3D4 STR R8, [R7,#0x50] @ Store to Memory .text:0001C3D8 STR R9, [R7,#0x54] @ Store to Memory .text:0001C3DC STR R9, [R7,#8] @ Store to Memory .text:0001C3E0 STR R9, [R7,#0x28] @ Store to Memory .text:0001C3E4 STR R2, [R7,#0x14] @ Store to Memory .text:0001C3E8 MOV R2, R9 @ Rd = Op2 .text:0001C3EC B loc_1C300 @ Branch .text:0001C3EC @ End of function sub_1C2AC .text:0001C3EC .text:0001C3F0 .text:0001C3F0 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001C3F0 .text:0001C3F0 @ Attributes: bp-based frame .text:0001C3F0 .text:0001C3F0 sub_1C3F0: .text:0001C3F0 .text:0001C3F0 oldR4 = -0x18 .text:0001C3F0 oldR5 = -0x14 .text:0001C3F0 oldR6 = -0x10 .text:0001C3F0 oldR11 = -0xC .text:0001C3F0 oldSP = -8 .text:0001C3F0 oldLR = -4 .text:0001C3F0 .text:0001C3F0 MOV R12, SP @ Rd = Op2 .text:0001C3F4 STMFD SP!, {R4-R6,R11,R12,LR,PC} @ Store Block to Memory .text:0001C3F8 SUB R11, R12, #4 @ Rd = Op1 - Op2 .text:0001C3FC MOV R6, R0 @ Rd = Op2 .text:0001C400 MOV R4, R2 @ Rd = Op2 .text:0001C404 MOV R5, R3 @ Rd = Op2 .text:0001C408 LDR R12, [R1],#4 @ Load from Memory .text:0001C40C MOV R0, R1 @ Rd = Op2 .text:0001C410 MOV R1, R12 @ Rd = Op2 .text:0001C414 MOV R3, R1,LSR#2 @ Rd = Op2 .text:0001C418 BL sub_249DC @ Branch with Link .text:0001C41C CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0001C420 LDMEQDB R11, {R4-R6,R11,SP,PC} @ Load Block from Memory .text:0001C424 LDR R3, [R4,#0x14] @ Load from Memory .text:0001C428 CMP R3, R5 @ Set cond. codes on Op1 - Op2 .text:0001C42C BNE loc_1C450 @ Branch .text:0001C430 LDR R3, [R4,#0x10] @ Load from Memory .text:0001C434 MOV R0, #0 @ Rd = Op2 .text:0001C438 CMP R3, R0 @ Set cond. codes on Op1 - Op2 .text:0001C43C LDMNEDB R11, {R4-R6,R11,SP,PC} @ Load Block from Memory .text:0001C440 MOV R0, R6 @ Rd = Op2 .text:0001C444 MOV R1, R4 @ Rd = Op2 .text:0001C448 BL sub_1C600 @ Branch with Link .text:0001C44C LDMDB R11, {R4-R6,R11,SP,PC} @ Load Block from Memory .text:0001C450 @ --------------------------------------------------------------------------- .text:0001C450 .text:0001C450 loc_1C450: @ CODE XREF: sub_1C3F0+3Cj .text:0001C450 MOV R0, #0 @ Rd = Op2 .text:0001C454 LDMDB R11, {R4-R6,R11,SP,PC} @ Load Block from Memory .text:0001C454 @ End of function sub_1C3F0 .text:0001C454 .text:0001C458 .text:0001C458 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001C458 .text:0001C458 @ Attributes: bp-based frame .text:0001C458 .text:0001C458 verify_sig: @ CODE XREF: processpack+3E70p .text:0001C458 @ processpack+3F28p ... .text:0001C458 .text:0001C458 var_24 = -0x24 .text:0001C458 oldR4 = -0x20 .text:0001C458 oldR5 = -0x1C .text:0001C458 oldR6 = -0x18 .text:0001C458 oldR7 = -0x14 .text:0001C458 oldR8 = -0x10 .text:0001C458 oldR11 = -0xC .text:0001C458 oldSP = -8 .text:0001C458 oldLR = -4 .text:0001C458 .text:0001C458 MOV R12, SP @ Rd = Op2 .text:0001C45C STMFD SP!, {R4-R8,R11,R12,LR,PC} @ Store Block to Memory .text:0001C460 SUB R11, R12, #4 @ Rd = Op1 - Op2 .text:0001C464 MOV R8, #0 @ Rd = Op2 .text:0001C468 SUB SP, SP, #4 @ Rd = Op1 - Op2 .text:0001C46C STR R8, [R11,#var_24] @ Store to Memory .text:0001C470 MOV R5, R0 @ Rd = Op2 .text:0001C474 LDR R4, =dword_44A3C @ Load from Memory .text:0001C478 MOV R1, R5 @ Rd = Op2 .text:0001C47C MOV R0, R4 @ Rd = Op2 .text:0001C480 BL open_sig_file @ Branch with Link .text:0001C484 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0001C488 MOV R7, R4 @ Rd = Op2 .text:0001C48C BEQ loc_1C5FC @ Branch .text:0001C490 SUB R0, R11, #0x24 @ Rd = Op1 - Op2 .text:0001C494 LDR R2, [R7,#0x10] @ Load from Memory .text:0001C498 MOV R1, R5 @ Rd = Op2 .text:0001C49C BL open_file_and_seek @ Branch with Link .text:0001C4A0 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0001C4A4 BEQ loc_1C5FC @ Branch .text:0001C4A8 LDR R4, =dword_449D8 @ Load from Memory .text:0001C4AC LDR R1, [R7,#0xC] @ Load from Memory .text:0001C4B0 MOV R0, R4 @ Rd = Op2 .text:0001C4B4 BL R_VerifyInit @ Branch with Link .text:0001C4B8 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0001C4BC MOV R6, R4 @ Rd = Op2 .text:0001C4C0 MOVNE R0, R6 @ Rd = Op2 .text:0001C4C4 MOVNE R1, R8 @ Rd = Op2 .text:0001C4C8 MOVNE R2, #0x60 @ '`' @ Rd = Op2 .text:0001C4CC BNE loc_1C540 @ Branch .text:0001C4D0 LDR R4, [R7,#0x14] @ Load from Memory .text:0001C4D4 LDR R8, =dword_44BD8 @ Load from Memory .text:0001C4D8 CMP R4, #0 @ Set cond. codes on Op1 - Op2 .text:0001C4DC BEQ loc_1C55C @ Branch .text:0001C4E0 LDR R5, =stuff @ Load from Memory .text:0001C4E4 .text:0001C4E4 loc_1C4E4: @ CODE XREF: verify_sig+100j .text:0001C4E4 CMP R4, #0x400 @ Set cond. codes on Op1 - Op2 .text:0001C4E8 MOVLT R3, R4 @ Rd = Op2 .text:0001C4EC MOVGE R3, #0x400 @ Rd = Op2 .text:0001C4F0 RSB R4, R3, R4 @ Rd = Op2 - Op1 .text:0001C4F4 MOV R1, R8 @ Rd = Op2 .text:0001C4F8 LDR R0, [R11,#var_24] @ Load from Memory .text:0001C4FC MOV R2, R5 @ Rd = Op2 .text:0001C500 BL sub_1C9D8 @ Branch with Link .text:0001C504 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0001C508 BEQ loc_1C524 @ Branch .text:0001C50C MOV R0, R6 @ Rd = Op2 .text:0001C510 LDR R2, [R5] @ Load from Memory .text:0001C514 MOV R1, R8 @ Rd = Op2 .text:0001C518 BL sub_1CEE8 @ Branch with Link .text:0001C51C CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0001C520 BEQ loc_1C554 @ Branch .text:0001C524 .text:0001C524 loc_1C524: @ CODE XREF: verify_sig+B0j .text:0001C524 MOV R0, R6 @ Rd = Op2 .text:0001C528 MOV R1, #0 @ Rd = Op2 .text:0001C52C MOV R2, #0x60 @ '`' @ Rd = Op2 .text:0001C530 BL sub_1DEB4 @ Branch with Link .text:0001C534 MOV R0, R8 @ Rd = Op2 .text:0001C538 MOV R1, #0 @ Rd = Op2 .text:0001C53C MOV R2, #0x400 @ Rd = Op2 .text:0001C540 .text:0001C540 loc_1C540: @ CODE XREF: verify_sig+74j .text:0001C540 BL sub_1DEB4 @ Branch with Link .text:0001C544 LDR R0, [R11,#var_24] @ Load from Memory .text:0001C548 BL sub_25614 @ Branch with Link .text:0001C54C MOV R0, #0 @ Rd = Op2 .text:0001C550 B loc_1C5FC @ Branch .text:0001C554 @ --------------------------------------------------------------------------- .text:0001C554 .text:0001C554 loc_1C554: @ CODE XREF: verify_sig+C8j .text:0001C554 CMP R4, #0 @ Set cond. codes on Op1 - Op2 .text:0001C558 BNE loc_1C4E4 @ Branch .text:0001C55C .text:0001C55C loc_1C55C: @ CODE XREF: verify_sig+84j .text:0001C55C LDR R0, [R11,#var_24] @ Load from Memory .text:0001C560 BL sub_25614 @ Branch with Link .text:0001C564 LDMIA R7, {R0,R1} @ Load Block from Memory .text:0001C568 LDR R5, =dword_44A38 @ Load from Memory .text:0001C56C LDR R2, [R7,#8] @ Load from Memory .text:0001C570 MOV R3, R5 @ Rd = Op2 .text:0001C574 BL sub_1CA40 @ Branch with Link .text:0001C578 SUBS R4, R0, #0 @ Rd = Op1 - Op2 .text:0001C57C BNE loc_1C59C @ Branch .text:0001C580 LDR R2, [R7,#0x98] @ Load from Memory .text:0001C584 MOV R0, R6 @ Rd = Op2 .text:0001C588 LDR R3, [R5] @ Load from Memory .text:0001C58C ADD R1, R7, #0x18 @ Rd = Op1 + Op2 .text:0001C590 BL sub_1CF10 @ Branch with Link .text:0001C594 SUBS R5, R0, #0 @ Rd = Op1 - Op2 .text:0001C598 BEQ loc_1C5D8 @ Branch .text:0001C59C .text:0001C59C loc_1C59C: @ CODE XREF: verify_sig+124j .text:0001C59C MOV R0, R6 @ Rd = Op2 .text:0001C5A0 MOV R1, #0 @ Rd = Op2 .text:0001C5A4 MOV R2, #0x60 @ '`' @ Rd = Op2 .text:0001C5A8 BL sub_1DEB4 @ Branch with Link .text:0001C5AC MOV R0, R8 @ Rd = Op2 .text:0001C5B0 MOV R1, #0 @ Rd = Op2 .text:0001C5B4 MOV R2, #0x400 @ Rd = Op2 .text:0001C5B8 BL sub_1DEB4 @ Branch with Link .text:0001C5BC MOV R0, #0 @ Rd = Op2 .text:0001C5C0 B loc_1C5FC @ Branch .text:0001C5C0 @ --------------------------------------------------------------------------- .text:0001C5C4 off_1C5C4: .long dword_44A3C @ DATA XREF: verify_sig+1Cr .text:0001C5C8 off_1C5C8: .long dword_449D8 @ DATA XREF: verify_sig+50r .text:0001C5CC off_1C5CC: .long dword_44BD8 @ DATA XREF: verify_sig+7Cr .text:0001C5D0 off_1C5D0: .long stuff @ DATA XREF: verify_sig+88r .text:0001C5D4 off_1C5D4: .long dword_44A38 @ DATA XREF: verify_sig+110r .text:0001C5D8 @ --------------------------------------------------------------------------- .text:0001C5D8 .text:0001C5D8 loc_1C5D8: @ CODE XREF: verify_sig+140j .text:0001C5D8 MOV R0, R6 @ Rd = Op2 .text:0001C5DC MOV R1, R5 @ Rd = Op2 .text:0001C5E0 MOV R2, #0x60 @ '`' @ Rd = Op2 .text:0001C5E4 BL sub_1DEB4 @ Branch with Link .text:0001C5E8 MOV R0, R8 @ Rd = Op2 .text:0001C5EC MOV R1, R5 @ Rd = Op2 .text:0001C5F0 MOV R2, #0x400 @ Rd = Op2 .text:0001C5F4 BL sub_1DEB4 @ Branch with Link .text:0001C5F8 MOV R0, #1 @ Rd = Op2 .text:0001C5FC .text:0001C5FC loc_1C5FC: @ CODE XREF: verify_sig+34j .text:0001C5FC @ verify_sig+4Cj ... .text:0001C5FC LDMDB R11, {R4-R8,R11,SP,PC} @ Load Block from Memory .text:0001C5FC @ End of function verify_sig .text:0001C5FC .text:0001C600 .text:0001C600 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001C600 .text:0001C600 @ Attributes: bp-based frame .text:0001C600 .text:0001C600 sub_1C600: @ CODE XREF: sub_1C3F0+58p .text:0001C600 .text:0001C600 oldR4 = -0x20 .text:0001C600 oldR5 = -0x1C .text:0001C600 oldR6 = -0x18 .text:0001C600 oldR7 = -0x14 .text:0001C600 oldR8 = -0x10 .text:0001C600 oldR11 = -0xC .text:0001C600 oldSP = -8 .text:0001C600 oldLR = -4 .text:0001C600 .text:0001C600 MOV R12, SP @ Rd = Op2 .text:0001C604 STMFD SP!, {R4-R8,R11,R12,LR,PC} @ Store Block to Memory .text:0001C608 SUB R11, R12, #4 @ Rd = Op1 - Op2 .text:0001C60C MOV R4, R1 @ Rd = Op2 .text:0001C610 LDR R1, [R4,#0xC] @ Load from Memory .text:0001C614 MOV R7, R0 @ Rd = Op2 .text:0001C618 SUB R3, R1, #4 @ Rd = Op1 - Op2 .text:0001C61C CMP R3, #1 @ Set cond. codes on Op1 - Op2 .text:0001C620 BHI loc_1C66C @ Branch .text:0001C624 LDR R3, [R4,#0x98] @ Load from Memory .text:0001C628 CMP R3, #0x80 @ 'Ç' @ Set cond. codes on Op1 - Op2 .text:0001C62C BGT loc_1C66C @ Branch .text:0001C630 LDR R3, [R4,#0x10] @ Load from Memory .text:0001C634 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0001C638 BLT loc_1C66C @ Branch .text:0001C63C LDR R3, [R4,#0x14] @ Load from Memory .text:0001C640 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0001C644 BLE loc_1C66C @ Branch .text:0001C648 LDR R5, =dword_449D8 @ Load from Memory .text:0001C64C MOV R0, R5 @ Rd = Op2 .text:0001C650 BL R_VerifyInit @ Branch with Link .text:0001C654 SUBS R6, R0, #0 @ Rd = Op1 - Op2 .text:0001C658 BEQ loc_1C674 @ Branch .text:0001C65C .text:0001C65C loc_1C65C: @ CODE XREF: sub_1C600+8Cj .text:0001C65C @ sub_1C600+A8j ... .text:0001C65C MOV R0, R5 @ Rd = Op2 .text:0001C660 MOV R1, #0 @ Rd = Op2 .text:0001C664 MOV R2, #0x60 @ '`' @ Rd = Op2 .text:0001C668 BL sub_1DEB4 @ Branch with Link .text:0001C66C .text:0001C66C loc_1C66C: @ CODE XREF: sub_1C600+20j .text:0001C66C @ sub_1C600+2Cj ... .text:0001C66C MOV R0, #0 @ Rd = Op2 .text:0001C670 LDMDB R11, {R4-R8,R11,SP,PC} @ Load Block from Memory .text:0001C674 @ --------------------------------------------------------------------------- .text:0001C674 .text:0001C674 loc_1C674: @ CODE XREF: sub_1C600+58j .text:0001C674 LDR R1, [R4,#0x10] @ Load from Memory .text:0001C678 MOV R0, R5 @ Rd = Op2 .text:0001C67C LDR R2, [R4,#0x14] @ Load from Memory .text:0001C680 ADD R1, R7, R1 @ Rd = Op1 + Op2 .text:0001C684 BL sub_1CEE8 @ Branch with Link .text:0001C688 SUBS R7, R0, #0 @ Rd = Op1 - Op2 .text:0001C68C BNE loc_1C65C @ Branch .text:0001C690 LDMIA R4, {R0,R1} @ Load Block from Memory .text:0001C694 LDR R8, =dword_44A38 @ Load from Memory .text:0001C698 LDR R2, [R4,#8] @ Load from Memory .text:0001C69C MOV R3, R8 @ Rd = Op2 .text:0001C6A0 BL sub_1CA40 @ Branch with Link .text:0001C6A4 SUBS R6, R0, #0 @ Rd = Op1 - Op2 .text:0001C6A8 BNE loc_1C65C @ Branch .text:0001C6AC LDR R2, [R4,#0x98] @ Load from Memory .text:0001C6B0 MOV R0, R5 @ Rd = Op2 .text:0001C6B4 LDR R3, [R8] @ Load from Memory .text:0001C6B8 ADD R1, R4, #0x18 @ Rd = Op1 + Op2 .text:0001C6BC BL sub_1CF10 @ Branch with Link .text:0001C6C0 SUBS R1, R0, #0 @ Rd = Op1 - Op2 .text:0001C6C4 BNE loc_1C65C @ Branch .text:0001C6C8 MOV R0, R5 @ Rd = Op2 .text:0001C6CC MOV R2, #0x60 @ '`' @ Rd = Op2 .text:0001C6D0 BL sub_1DEB4 @ Branch with Link .text:0001C6D4 MOV R0, #1 @ Rd = Op2 .text:0001C6D8 LDMDB R11, {R4-R8,R11,SP,PC} @ Load Block from Memory .text:0001C6D8 @ End of function sub_1C600 .text:0001C6D8 .text:0001C6D8 @ --------------------------------------------------------------------------- .text:0001C6DC off_1C6DC: .long dword_449D8 @ DATA XREF: sub_1C600+48r .text:0001C6E0 off_1C6E0: .long dword_44A38 @ DATA XREF: sub_1C600+94r .text:0001C6E4 .text:0001C6E4 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001C6E4 .text:0001C6E4 @ Attributes: bp-based frame .text:0001C6E4 .text:0001C6E4 sub_1C6E4: @ CODE XREF: open_sig_file+38p .text:0001C6E4 .text:0001C6E4 var_24 = -0x24 .text:0001C6E4 oldR4 = -0x1C .text:0001C6E4 oldR5 = -0x18 .text:0001C6E4 oldR6 = -0x14 .text:0001C6E4 oldR7 = -0x10 .text:0001C6E4 oldR11 = -0xC .text:0001C6E4 oldSP = -8 .text:0001C6E4 oldLR = -4 .text:0001C6E4 .text:0001C6E4 MOV R12, SP @ Rd = Op2 .text:0001C6E8 STMFD SP!, {R4-R7,R11,R12,LR,PC} @ Store Block to Memory .text:0001C6EC SUB R11, R12, #4 @ Rd = Op1 - Op2 .text:0001C6F0 MOV R5, #0 @ Rd = Op2 .text:0001C6F4 MOV R4, R1 @ Rd = Op2 .text:0001C6F8 SUBS R7, R0, #0 @ Rd = Op1 - Op2 .text:0001C6FC SUB SP, SP, #0xC @ Rd = Op1 - Op2 .text:0001C700 BEQ loc_1C7EC @ Branch .text:0001C704 MOV R0, R4 @ Rd = Op2 .text:0001C708 SUB R6, R11, #0x24 @ Rd = Op1 - Op2 .text:0001C70C MOV R1, R6 @ Rd = Op2 .text:0001C710 BL sub_25188 @ Branch with Link .text:0001C714 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0001C718 BNE loc_1C7EC @ Branch .text:0001C71C LDR R3, [R11,#var_24] @ Load from Memory .text:0001C720 CMP R3, #0x400 @ Set cond. codes on Op1 - Op2 .text:0001C724 BHI loc_1C7F0 @ Branch .text:0001C728 LDR R1, =dword_2D020 @ mode .text:0001C72C MOV R0, R4 @ filename .text:0001C730 BL fopen @ Branch with Link .text:0001C734 SUBS R4, R0, #0 @ Rd = Op1 - Op2 .text:0001C738 BEQ loc_1C7EC @ Branch .text:0001C73C MOV R0, R4 @ Rd = Op2 .text:0001C740 MOV R2, R6 @ Rd = Op2 .text:0001C744 LDR R6, =dword_44BD8 @ Load from Memory .text:0001C748 MOV R3, #0x400 @ Rd = Op2 .text:0001C74C MOV R1, R6 @ Rd = Op2 .text:0001C750 BL sub_1C9D8 @ Branch with Link .text:0001C754 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0001C758 BNE loc_1C768 @ Branch .text:0001C75C .text:0001C75C loc_1C75C: @ CODE XREF: sub_1C6E4+9Cj .text:0001C75C MOV R0, R4 @ Rd = Op2 .text:0001C760 BL sub_25614 @ Branch with Link .text:0001C764 B loc_1C7EC @ Branch .text:0001C768 @ --------------------------------------------------------------------------- .text:0001C768 .text:0001C768 loc_1C768: @ CODE XREF: sub_1C6E4+74j .text:0001C768 MOV R0, R4 @ Rd = Op2 .text:0001C76C SUB R1, R11, #0x1D @ Rd = Op1 - Op2 .text:0001C770 SUB R2, R11, #0x28 @ Rd = Op1 - Op2 .text:0001C774 MOV R3, #1 @ Rd = Op2 .text:0001C778 BL sub_1C9D8 @ Branch with Link .text:0001C77C CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0001C780 BNE loc_1C75C @ Branch .text:0001C784 MOV R0, R4 @ Rd = Op2 .text:0001C788 BL sub_25614 @ Branch with Link .text:0001C78C LDR R1, [R6] @ Load from Memory .text:0001C790 LDR R2, [R11,#var_24] @ Load from Memory .text:0001C794 ANDS R3, R1, #7 @ Rd = Op1 & Op2 .text:0001C798 MOVNE R3, #1 @ Rd = Op2 .text:0001C79C ADD R3, R3, R1,LSR#3 @ Rd = Op1 + Op2 .text:0001C7A0 ADD R3, R3, #4 @ Rd = Op1 + Op2 .text:0001C7A4 CMP R2, R3 @ Set cond. codes on Op1 - Op2 .text:0001C7A8 BNE loc_1C7EC @ Branch .text:0001C7AC ADD R0, R6, #4 @ Rd = Op1 + Op2 .text:0001C7B0 LDR R4, =dword_44FD8 @ Load from Memory .text:0001C7B4 MOV R3, R1,LSR#2 @ Rd = Op2 .text:0001C7B8 MOV R2, R4 @ Rd = Op2 .text:0001C7BC BL sub_249DC @ Branch with Link .text:0001C7C0 SUBS R5, R0, #0 @ Rd = Op1 - Op2 .text:0001C7C4 BEQ loc_1C7EC @ Branch .text:0001C7C8 MOV R0, R7 @ Rd = Op2 .text:0001C7CC MOV R1, R4 @ Rd = Op2 .text:0001C7D0 MOV R2, #0x9C @ '£' @ Rd = Op2 .text:0001C7D4 BL memcpy @ Branch with Link .text:0001C7D8 MOV R0, #1 @ Rd = Op2 .text:0001C7DC B loc_1C7F0 @ Branch .text:0001C7DC @ --------------------------------------------------------------------------- .text:0001C7E0 @ char *off_1C7E0 .text:0001C7E0 off_1C7E0: .long dword_2D020 @ DATA XREF: sub_1C6E4+44r .text:0001C7E4 off_1C7E4: .long dword_44BD8 @ DATA XREF: sub_1C6E4+60r .text:0001C7E8 off_1C7E8: .long dword_44FD8 @ DATA XREF: sub_1C6E4+CCr .text:0001C7EC @ --------------------------------------------------------------------------- .text:0001C7EC .text:0001C7EC loc_1C7EC: @ CODE XREF: sub_1C6E4+1Cj .text:0001C7EC @ sub_1C6E4+34j ... .text:0001C7EC MOV R0, #0 @ Rd = Op2 .text:0001C7F0 .text:0001C7F0 loc_1C7F0: @ CODE XREF: sub_1C6E4+40j .text:0001C7F0 @ sub_1C6E4+F8j .text:0001C7F0 LDMDB R11, {R4-R7,R11,SP,PC} @ Load Block from Memory .text:0001C7F0 @ End of function sub_1C6E4 .text:0001C7F0 .text:0001C7F4 .text:0001C7F4 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001C7F4 .text:0001C7F4 @ Attributes: bp-based frame .text:0001C7F4 .text:0001C7F4 open_sig_file: @ CODE XREF: verify_sig+28p .text:0001C7F4 .text:0001C7F4 var_1C = -0x1C .text:0001C7F4 oldR4 = -0x18 .text:0001C7F4 oldR5 = -0x14 .text:0001C7F4 oldR6 = -0x10 .text:0001C7F4 oldR11 = -0xC .text:0001C7F4 oldSP = -8 .text:0001C7F4 oldLR = -4 .text:0001C7F4 .text:0001C7F4 MOV R12, SP @ Rd = Op2 .text:0001C7F8 STMFD SP!, {R4-R6,R11,R12,LR,PC} @ Store Block to Memory .text:0001C7FC SUB R11, R12, #4 @ Rd = Op1 - Op2 .text:0001C800 MOV R4, R0 @ Rd = Op2 .text:0001C804 MOV R6, R1 @ Rd = Op2 .text:0001C808 LDR R5, =dword_44AD8 @ Load from Memory .text:0001C80C MOV R0, R6 @ Rd = Op2 .text:0001C810 MOV R1, R5 @ Rd = Op2 .text:0001C814 SUB SP, SP, #4 @ Rd = Op1 - Op2 .text:0001C818 BL sub_1C8BC @ Branch with Link .text:0001C81C CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0001C820 BEQ loc_1C8B8 @ Branch .text:0001C824 MOV R0, R4 @ Rd = Op2 .text:0001C828 MOV R1, R5 @ Rd = Op2 .text:0001C82C BL sub_1C6E4 @ Branch with Link .text:0001C830 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0001C834 BEQ loc_1C8B8 @ Branch .text:0001C838 LDR R3, [R4,#0xC] @ Load from Memory .text:0001C83C SUB R3, R3, #4 @ Rd = Op1 - Op2 .text:0001C840 CMP R3, #1 @ Set cond. codes on Op1 - Op2 .text:0001C844 BHI loc_1C89C @ Branch .text:0001C848 LDR R3, [R4,#0x98] @ Load from Memory .text:0001C84C CMP R3, #0x80 @ 'Ç' @ Set cond. codes on Op1 - Op2 .text:0001C850 MOV R0, #0 @ Rd = Op2 .text:0001C854 BGT loc_1C8B8 @ Branch .text:0001C858 MOV R0, R6 @ Rd = Op2 .text:0001C85C SUB R1, R11, #0x1C @ Rd = Op1 - Op2 .text:0001C860 BL sub_25188 @ Branch with Link .text:0001C864 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0001C868 BNE loc_1C89C @ Branch .text:0001C86C LDR R3, [R4,#0x10] @ Load from Memory .text:0001C870 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0001C874 BLT loc_1C89C @ Branch .text:0001C878 LDR R1, [R11,#var_1C] @ Load from Memory .text:0001C87C CMP R3, R1 @ Set cond. codes on Op1 - Op2 .text:0001C880 BGE loc_1C89C @ Branch .text:0001C884 LDR R2, [R4,#0x14] @ Load from Memory .text:0001C888 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0001C88C BLE loc_1C89C @ Branch .text:0001C890 ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:0001C894 CMP R3, R1 @ Set cond. codes on Op1 - Op2 .text:0001C898 BLE loc_1C8A8 @ Branch .text:0001C89C .text:0001C89C loc_1C89C: @ CODE XREF: open_sig_file+50j .text:0001C89C @ open_sig_file+74j ... .text:0001C89C MOV R0, #0 @ Rd = Op2 .text:0001C8A0 B loc_1C8B8 @ Branch .text:0001C8A0 @ --------------------------------------------------------------------------- .text:0001C8A4 off_1C8A4: .long dword_44AD8 @ DATA XREF: open_sig_file+14r .text:0001C8A8 @ --------------------------------------------------------------------------- .text:0001C8A8 .text:0001C8A8 loc_1C8A8: @ CODE XREF: open_sig_file+A4j .text:0001C8A8 CMP R2, R1 @ Set cond. codes on Op1 - Op2 .text:0001C8AC STREQ R0, [R4,#0x10] @ Store to Memory .text:0001C8B0 MOVEQ R0, #1 @ Rd = Op2 .text:0001C8B4 STREQ R2, [R4,#0x14] @ Store to Memory .text:0001C8B8 .text:0001C8B8 loc_1C8B8: @ CODE XREF: open_sig_file+2Cj .text:0001C8B8 @ open_sig_file+40j ... .text:0001C8B8 LDMDB R11, {R4-R6,R11,SP,PC} @ Load Block from Memory .text:0001C8B8 @ End of function open_sig_file .text:0001C8B8 .text:0001C8BC .text:0001C8BC @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001C8BC .text:0001C8BC @ Attributes: bp-based frame .text:0001C8BC .text:0001C8BC sub_1C8BC: @ CODE XREF: open_sig_file+24p .text:0001C8BC .text:0001C8BC oldR4 = -0x1C .text:0001C8BC oldR5 = -0x18 .text:0001C8BC oldR6 = -0x14 .text:0001C8BC oldR7 = -0x10 .text:0001C8BC oldR11 = -0xC .text:0001C8BC oldSP = -8 .text:0001C8BC oldLR = -4 .text:0001C8BC .text:0001C8BC MOV R12, SP @ Rd = Op2 .text:0001C8C0 STMFD SP!, {R4-R7,R11,R12,LR,PC} @ Store Block to Memory .text:0001C8C4 SUB R11, R12, #4 @ Rd = Op1 - Op2 .text:0001C8C8 MOV R4, #0 @ Rd = Op2 .text:0001C8CC MOVL R6, 0xFFFFFFFF .text:0001C8D0 MOV R5, R0 @ Rd = Op2 .text:0001C8D4 MOV R7, R1 @ Rd = Op2 .text:0001C8D8 MOV R0, R7 @ Rd = Op2 .text:0001C8DC MOV R1, R4 @ Rd = Op2 .text:0001C8E0 MOV R2, #0x100 @ Rd = Op2 .text:0001C8E4 BL sub_26A4C @ Branch with Link .text:0001C8E8 MOV R0, R5 @ Rd = Op2 .text:0001C8EC BL sub_26BDC @ Branch with Link .text:0001C8F0 CMP R0, #0xFB @ 'v' @ Set cond. codes on Op1 - Op2 .text:0001C8F4 MOV R0, R4 @ Rd = Op2 .text:0001C8F8 LDMHIDB R11, {R4-R7,R11,SP,PC} @ Load Block from Memory .text:0001C8FC MOV R0, R5 @ Rd = Op2 .text:0001C900 BL sub_26BDC @ Branch with Link .text:0001C904 ADDS R4, R0, R6 @ Rd = Op1 + Op2 .text:0001C908 B loc_1C910 @ Branch .text:0001C90C @ --------------------------------------------------------------------------- .text:0001C90C .text:0001C90C loc_1C90C: @ CODE XREF: sub_1C8BC+60j .text:0001C90C SUBS R4, R4, #1 @ Rd = Op1 - Op2 .text:0001C910 .text:0001C910 loc_1C910: @ CODE XREF: sub_1C8BC+4Cj .text:0001C910 BMI loc_1C924 @ Branch .text:0001C914 LDRB R3, [R5,R4] @ Load from Memory .text:0001C918 CMP R3, #0x2E @ '.' @ Set cond. codes on Op1 - Op2 .text:0001C91C BNE loc_1C90C @ Branch .text:0001C920 MOV R6, R4 @ Rd = Op2 .text:0001C924 .text:0001C924 loc_1C924: @ CODE XREF: sub_1C8BC:loc_1C910j .text:0001C924 CMN R6, #1 @ Set cond. codes on Op1 + Op2 .text:0001C928 BNE loc_1C938 @ Branch .text:0001C92C MOV R0, R5 @ Rd = Op2 .text:0001C930 BL sub_26BDC @ Branch with Link .text:0001C934 MOV R6, R0 @ Rd = Op2 .text:0001C938 .text:0001C938 loc_1C938: @ CODE XREF: sub_1C8BC+6Cj .text:0001C938 CMP R6, #0 @ Set cond. codes on Op1 - Op2 .text:0001C93C MOV R0, #0 @ Rd = Op2 .text:0001C940 LDMEQDB R11, {R4-R7,R11,SP,PC} @ Load Block from Memory .text:0001C944 MOV R0, R7 @ Rd = Op2 .text:0001C948 MOV R1, R5 @ Rd = Op2 .text:0001C94C MOV R2, R6 @ Rd = Op2 .text:0001C950 BL strncat @ Branch with Link .text:0001C954 LDR R1, =a_sig @ Load from Memory .text:0001C958 MOV R0, R7 @ Rd = Op2 .text:0001C95C BL sub_26B24 @ Branch with Link .text:0001C960 MOV R0, #1 @ Rd = Op2 .text:0001C964 LDMDB R11, {R4-R7,R11,SP,PC} @ Load Block from Memory .text:0001C964 @ End of function sub_1C8BC .text:0001C964 .text:0001C964 @ --------------------------------------------------------------------------- .text:0001C968 off_1C968: .long a_sig @ DATA XREF: sub_1C8BC+98r .text:0001C968 @ ".sig" .text:0001C96C .text:0001C96C @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001C96C .text:0001C96C @ Attributes: bp-based frame .text:0001C96C .text:0001C96C open_file_and_seek: @ CODE XREF: verify_sig+44p .text:0001C96C .text:0001C96C oldR4 = -0x14 .text:0001C96C oldR5 = -0x10 .text:0001C96C oldR11 = -0xC .text:0001C96C oldSP = -8 .text:0001C96C oldLR = -4 .text:0001C96C .text:0001C96C MOV R12, SP @ Rd = Op2 .text:0001C970 STMFD SP!, {R4,R5,R11,R12,LR,PC} @ Store Block to Memory .text:0001C974 SUB R11, R12, #4 @ Rd = Op1 - Op2 .text:0001C978 MOV R5, R0 @ Rd = Op2 .text:0001C97C MOV R0, R1 @ filename .text:0001C980 LDR R1, =dword_2D020 @ mode .text:0001C984 MOV R4, R2 @ Rd = Op2 .text:0001C988 BL fopen @ Branch with Link .text:0001C98C MOV R3, R0 @ Rd = Op2 .text:0001C990 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0001C994 STR R3, [R5] @ Store to Memory .text:0001C998 LDMEQDB R11, {R4,R5,R11,SP,PC} @ Load Block from Memory .text:0001C99C CMP R4, #0 @ Set cond. codes on Op1 - Op2 .text:0001C9A0 MOV R0, #1 @ Rd = Op2 .text:0001C9A4 LDMLEDB R11, {R4,R5,R11,SP,PC} @ Load Block from Memory .text:0001C9A8 MOV R0, R3 @ fp .text:0001C9AC MOV R1, R4 @ offset .text:0001C9B0 MOV R2, #0 @ whence .text:0001C9B4 BL fseek @ Branch with Link .text:0001C9B8 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0001C9BC MOV R0, #1 @ Rd = Op2 .text:0001C9C0 LDMEQDB R11, {R4,R5,R11,SP,PC} @ Load Block from Memory .text:0001C9C4 LDR R0, [R5] @ Load from Memory .text:0001C9C8 BL sub_25614 @ Branch with Link .text:0001C9CC MOV R0, #0 @ Rd = Op2 .text:0001C9D0 LDMDB R11, {R4,R5,R11,SP,PC} @ Load Block from Memory .text:0001C9D0 @ End of function open_file_and_seek .text:0001C9D0 .text:0001C9D0 @ --------------------------------------------------------------------------- .text:0001C9D4 @ char *off_1C9D4 .text:0001C9D4 off_1C9D4: .long dword_2D020 @ DATA XREF: open_file_and_seek+14r .text:0001C9D8 .text:0001C9D8 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001C9D8 .text:0001C9D8 @ Attributes: bp-based frame .text:0001C9D8 .text:0001C9D8 sub_1C9D8: @ CODE XREF: verify_sig+A8p .text:0001C9D8 @ sub_1C6E4+6Cp ... .text:0001C9D8 .text:0001C9D8 oldR4 = -0x14 .text:0001C9D8 oldR5 = -0x10 .text:0001C9D8 oldR11 = -0xC .text:0001C9D8 oldSP = -8 .text:0001C9D8 oldLR = -4 .text:0001C9D8 .text:0001C9D8 MOV R12, SP @ Rd = Op2 .text:0001C9DC STMFD SP!, {R4,R5,R11,R12,LR,PC} @ Store Block to Memory .text:0001C9E0 SUB R11, R12, #4 @ Rd = Op1 - Op2 .text:0001C9E4 MOV R4, R0 @ Rd = Op2 .text:0001C9E8 MOV R0, R1 @ buf .text:0001C9EC MOV R5, R2 @ Rd = Op2 .text:0001C9F0 MOV R1, #1 @ sign .text:0001C9F4 MOV R2, R3 @ nelm .text:0001C9F8 MOV R3, R4 @ fp .text:0001C9FC BL fread @ Branch with Link .text:0001CA00 STR R0, [R5] @ Store to Memory .text:0001CA04 MOV R0, R4 @ Rd = Op2 .text:0001CA08 BL sub_25E9C @ Branch with Link .text:0001CA0C CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0001CA10 MOVNE R0, #0 @ Rd = Op2 .text:0001CA14 LDMNEDB R11, {R4,R5,R11,SP,PC} @ Load Block from Memory .text:0001CA18 LDR R5, [R5] @ Load from Memory .text:0001CA1C CMP R5, #0 @ Set cond. codes on Op1 - Op2 .text:0001CA20 BNE loc_1CA38 @ Branch .text:0001CA24 MOV R0, R4 @ Rd = Op2 .text:0001CA28 BL sub_25E44 @ Branch with Link .text:0001CA2C CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0001CA30 MOV R0, R5 @ Rd = Op2 .text:0001CA34 LDMNEDB R11, {R4,R5,R11,SP,PC} @ Load Block from Memory .text:0001CA38 .text:0001CA38 loc_1CA38: @ CODE XREF: sub_1C9D8+48j .text:0001CA38 MOV R0, #1 @ Rd = Op2 .text:0001CA3C LDMDB R11, {R4,R5,R11,SP,PC} @ Load Block from Memory .text:0001CA3C @ End of function sub_1C9D8 .text:0001CA3C .text:0001CA40 .text:0001CA40 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001CA40 .text:0001CA40 @ Attributes: bp-based frame .text:0001CA40 .text:0001CA40 sub_1CA40: @ CODE XREF: verify_sig+11Cp .text:0001CA40 @ sub_1C600+A0p .text:0001CA40 .text:0001CA40 oldR11 = -0xC .text:0001CA40 oldSP = -8 .text:0001CA40 oldLR = -4 .text:0001CA40 .text:0001CA40 MOV R12, SP @ Rd = Op2 .text:0001CA44 STMFD SP!, {R11,R12,LR,PC} @ Store Block to Memory .text:0001CA48 SUB R11, R12, #4 @ Rd = Op1 - Op2 .text:0001CA4C CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0001CA50 BEQ loc_1CA5C @ Branch .text:0001CA54 BL read_pkeys2 @ Branch with Link .text:0001CA58 LDMDB R11, {R11,SP,PC} @ Load Block from Memory .text:0001CA5C @ --------------------------------------------------------------------------- .text:0001CA5C .text:0001CA5C loc_1CA5C: @ CODE XREF: sub_1CA40+10j .text:0001CA5C BL sub_1CA64 @ Branch with Link .text:0001CA60 LDMDB R11, {R11,SP,PC} @ Load Block from Memory .text:0001CA60 @ End of function sub_1CA40 .text:0001CA60 .text:0001CA64 .text:0001CA64 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001CA64 .text:0001CA64 @ Attributes: bp-based frame .text:0001CA64 .text:0001CA64 sub_1CA64: @ CODE XREF: sub_1CA40:loc_1CA5Cp .text:0001CA64 .text:0001CA64 oldR4 = -0x1C .text:0001CA64 oldR5 = -0x18 .text:0001CA64 oldR6 = -0x14 .text:0001CA64 oldR7 = -0x10 .text:0001CA64 oldR11 = -0xC .text:0001CA64 oldSP = -8 .text:0001CA64 oldLR = -4 .text:0001CA64 .text:0001CA64 MOV R12, SP @ Rd = Op2 .text:0001CA68 STMFD SP!, {R4-R7,R11,R12,LR,PC} @ Store Block to Memory .text:0001CA6C SUB R11, R12, #4 @ Rd = Op1 - Op2 .text:0001CA70 MOV LR, #0 @ Rd = Op2 .text:0001CA74 CMP R0, LR @ Set cond. codes on Op1 - Op2 .text:0001CA78 MOV R6, R1 @ Rd = Op2 .text:0001CA7C MOV R5, R2 @ Rd = Op2 .text:0001CA80 MOV R7, R3 @ Rd = Op2 .text:0001CA84 BNE loc_1CB1C @ Branch .text:0001CA88 LDR R12, =stru_360BA.key_table_row @ Load from Memory .text:0001CA8C B loc_1CAD0 @ Branch .text:0001CA90 @ --------------------------------------------------------------------------- .text:0001CA90 .text:0001CA90 loc_1CA90: @ CODE XREF: sub_1CA64+88j .text:0001CA90 @ sub_1CA64+98j ... .text:0001CA90 ADD R3, R4, LR @ Rd = Op1 + Op2 .text:0001CA94 ADD R3, LR, R3,LSL#1 @ Rd = Op1 + Op2 .text:0001CA98 MOV R1, R3,LSL#2 @ Rd = Op2 .text:0001CA9C LDR R2, [R12,R1] @ Load from Memory .text:0001CAA0 CMP R6, R2 @ Set cond. codes on Op1 - Op2 .text:0001CAA4 BNE loc_1CACC @ Branch .text:0001CAA8 ADD R3, R12, #4 @ Rd = Op1 + Op2 .text:0001CAAC LDR R2, [R3,R1] @ Load from Memory .text:0001CAB0 CMP R5, R2 @ Set cond. codes on Op1 - Op2 .text:0001CAB4 BNE loc_1CACC @ Branch .text:0001CAB8 MOV R0, #0 @ Rd = Op2 .text:0001CABC ADD R3, R12, #8 @ Rd = Op1 + Op2 .text:0001CAC0 ADD R3, R1, R3 @ Rd = Op1 + Op2 .text:0001CAC4 STR R3, [R7] @ Store to Memory .text:0001CAC8 LDMDB R11, {R4-R7,R11,SP,PC} @ Load Block from Memory .text:0001CACC @ --------------------------------------------------------------------------- .text:0001CACC .text:0001CACC loc_1CACC: @ CODE XREF: sub_1CA64+40j .text:0001CACC @ sub_1CA64+50j .text:0001CACC ADD LR, LR, #1 @ Rd = Op1 + Op2 .text:0001CAD0 .text:0001CAD0 loc_1CAD0: @ CODE XREF: sub_1CA64+28j .text:0001CAD0 MOV R3, LR,LSL#5 @ Rd = Op2 .text:0001CAD4 ADD R2, R3, LR @ Rd = Op1 + Op2 .text:0001CAD8 ADD R2, LR, R2,LSL#1 @ Rd = Op1 + Op2 .text:0001CADC MOV R0, R2,LSL#2 @ Rd = Op2 .text:0001CAE0 LDR R1, [R12,R0] @ Load from Memory .text:0001CAE4 MOV R4, R3 @ Rd = Op2 .text:0001CAE8 CMP R1, #0 @ Set cond. codes on Op1 - Op2 .text:0001CAEC BNE loc_1CA90 @ Branch .text:0001CAF0 ADD R3, R12, #4 @ Rd = Op1 + Op2 .text:0001CAF4 LDR R2, [R3,R0] @ Load from Memory .text:0001CAF8 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0001CAFC BNE loc_1CA90 @ Branch .text:0001CB00 MOV R1, #8 @ Rd = Op2 .text:0001CB04 ADD R3, R0, R12 @ Rd = Op1 + Op2 .text:0001CB08 LDRB R0, [R3,R1] @ Load from Memory .text:0001CB0C ADD R3, R3, R1 @ Rd = Op1 + Op2 .text:0001CB10 LDRB R2, [R3,#1] @ Load from Memory .text:0001CB14 ORRS R2, R0, R2,LSL R1 @ Rd = Op2 | Op1 .text:0001CB18 BNE loc_1CA90 @ Branch .text:0001CB1C .text:0001CB1C loc_1CB1C: @ CODE XREF: sub_1CA64+20j .text:0001CB1C MOV R0, #1 @ Rd = Op2 .text:0001CB20 LDMDB R11, {R4-R7,R11,SP,PC} @ Load Block from Memory .text:0001CB20 @ End of function sub_1CA64 .text:0001CB20 .text:0001CB20 @ --------------------------------------------------------------------------- .text:0001CB24 off_1CB24: .long stru_360BA.key_table_row @ DATA XREF: sub_1CA64+24r .text:0001CB28 .text:0001CB28 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001CB28 .text:0001CB28 @ Attributes: bp-based frame .text:0001CB28 .text:0001CB28 read_pkeys2: @ CODE XREF: sub_1CA40+14p .text:0001CB28 .text:0001CB28 oldR4 = -0x28 .text:0001CB28 oldR5 = -0x24 .text:0001CB28 oldR6 = -0x20 .text:0001CB28 oldR7 = -0x1C .text:0001CB28 oldR8 = -0x18 .text:0001CB28 oldR9 = -0x14 .text:0001CB28 oldR10 = -0x10 .text:0001CB28 oldR11 = -0xC .text:0001CB28 oldSP = -8 .text:0001CB28 oldLR = -4 .text:0001CB28 .text:0001CB28 MOV R12, SP @ Rd = Op2 .text:0001CB2C STMFD SP!, {R4-R12,LR,PC} @ Store Block to Memory .text:0001CB30 SUB R11, R12, #4 @ Rd = Op1 - Op2 .text:0001CB34 MOV R10, R1 @ Rd = Op2 .text:0001CB38 LDR R0, =aDosPkeys2_e @ filename .text:0001CB3C MOV R8, R2 @ Rd = Op2 .text:0001CB40 LDR R1, =aRb @ mode .text:0001CB44 MOV R9, R3 @ Rd = Op2 .text:0001CB48 BL fopen @ Branch with Link .text:0001CB4C SUBS R4, R0, #0 @ Rd = Op1 - Op2 .text:0001CB50 BNE loc_1CB70 @ Branch .text:0001CB54 MOV R0, #1 @ Rd = Op2 .text:0001CB58 LDMDB R11, {R4-R11,SP,PC} @ Load Block from Memory .text:0001CB5C @ --------------------------------------------------------------------------- .text:0001CB5C .text:0001CB5C loc_1CB5C: @ CODE XREF: read_pkeys2+9Cj .text:0001CB5C MOV R0, R4 @ Rd = Op2 .text:0001CB60 BL sub_25614 @ Branch with Link .text:0001CB64 MOV R0, #0 @ Rd = Op2 .text:0001CB68 STR R7, [R9] @ Store to Memory .text:0001CB6C LDMDB R11, {R4-R11,SP,PC} @ Load Block from Memory .text:0001CB70 @ --------------------------------------------------------------------------- .text:0001CB70 .text:0001CB70 loc_1CB70: @ CODE XREF: read_pkeys2+28j .text:0001CB70 LDR R5, =dword_453DC @ Load from Memory .text:0001CB74 B loc_1CBC8 @ Branch .text:0001CB78 @ --------------------------------------------------------------------------- .text:0001CB78 .text:0001CB78 loc_1CB78: @ CODE XREF: read_pkeys2+F8j .text:0001CB78 ADD R6, R5, #0xA @ Rd = Op1 + Op2 .text:0001CB7C MOV R0, R6 @ buf .text:0001CB80 MOV R1, #0x80 @ 'Ç' @ sign .text:0001CB84 MOV R3, R4 @ fp .text:0001CB88 BL fread @ Branch with Link .text:0001CB8C MOV R2, R0 @ nelm .text:0001CB90 CMP R2, #1 @ Set cond. codes on Op1 - Op2 .text:0001CB94 BNE loc_1CC24 @ Branch .text:0001CB98 ADD R0, R5, #0x8A @ buf .text:0001CB9C MOV R1, #0x80 @ 'Ç' @ sign .text:0001CBA0 MOV R3, R4 @ fp .text:0001CBA4 BL fread @ Branch with Link .text:0001CBA8 CMP R0, #1 @ Set cond. codes on Op1 - Op2 .text:0001CBAC BNE loc_1CC24 @ Branch .text:0001CBB0 LDR R3, [R6,#-0xA] @ Load from Memory .text:0001CBB4 CMP R3, R10 @ Set cond. codes on Op1 - Op2 .text:0001CBB8 BNE loc_1CBC8 @ Branch .text:0001CBBC LDR R3, [R5,#4] @ Load from Memory .text:0001CBC0 CMP R3, R8 @ Set cond. codes on Op1 - Op2 .text:0001CBC4 BEQ loc_1CB5C @ Branch .text:0001CBC8 .text:0001CBC8 loc_1CBC8: @ CODE XREF: read_pkeys2+4Cj .text:0001CBC8 @ read_pkeys2+90j .text:0001CBC8 MOV R0, R5 @ buf .text:0001CBCC MOV R1, #4 @ sign .text:0001CBD0 MOV R2, #1 @ nelm .text:0001CBD4 MOV R3, R4 @ fp .text:0001CBD8 BL fread @ Branch with Link .text:0001CBDC MOV R2, R0 @ nelm .text:0001CBE0 CMP R2, #1 @ Set cond. codes on Op1 - Op2 .text:0001CBE4 BNE loc_1CC24 @ Branch .text:0001CBE8 ADD R0, R5, #4 @ buf .text:0001CBEC MOV R1, #4 @ sign .text:0001CBF0 MOV R3, R4 @ fp .text:0001CBF4 BL fread @ Branch with Link .text:0001CBF8 MOV R2, R0 @ nelm .text:0001CBFC CMP R2, #1 @ Set cond. codes on Op1 - Op2 .text:0001CC00 BNE loc_1CC24 @ Branch .text:0001CC04 ADD R7, R5, #8 @ Rd = Op1 + Op2 .text:0001CC08 MOV R0, R7 @ buf .text:0001CC0C MOV R1, #2 @ sign .text:0001CC10 MOV R3, R4 @ fp .text:0001CC14 BL fread @ Branch with Link .text:0001CC18 MOV R2, R0 @ Rd = Op2 .text:0001CC1C CMP R2, #1 @ Set cond. codes on Op1 - Op2 .text:0001CC20 BEQ loc_1CB78 @ Branch .text:0001CC24 .text:0001CC24 loc_1CC24: @ CODE XREF: read_pkeys2+6Cj .text:0001CC24 @ read_pkeys2+84j ... .text:0001CC24 MOV R0, R4 @ Rd = Op2 .text:0001CC28 BL sub_25614 @ Branch with Link .text:0001CC2C MOV R0, #1 @ Rd = Op2 .text:0001CC30 LDMDB R11, {R4-R11,SP,PC} @ Load Block from Memory .text:0001CC30 @ End of function read_pkeys2 .text:0001CC30 .text:0001CC30 @ --------------------------------------------------------------------------- .text:0001CC34 @ char *off_1CC34 .text:0001CC34 off_1CC34: .long aDosPkeys2_e @ DATA XREF: read_pkeys2+10r .text:0001CC34 @ "/dos/pkeys2.e" .text:0001CC38 @ char *off_1CC38 .text:0001CC38 off_1CC38: .long aRb @ DATA XREF: read_pkeys2+18r .text:0001CC38 @ "rb" .text:0001CC3C off_1CC3C: .long dword_453DC @ DATA XREF: read_pkeys2:loc_1CB70r .text:0001CC40 .text:0001CC40 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001CC40 .text:0001CC40 .text:0001CC40 sub_1CC40: @ CODE XREF: sub_1CDB8+1Cp .text:0001CC40 @ sub_1CE04+94p ... .text:0001CC40 MOV R12, SP @ Rd = Op2 .text:0001CC44 STMFD SP!, {R11,R12,LR,PC} @ Store Block to Memory .text:0001CC48 STR R1, [R0] @ Store to Memory .text:0001CC4C SUB R11, R12, #4 @ Rd = Op1 - Op2 .text:0001CC50 SUB R1, R1, #2 @ Rd = Op1 - Op2 .text:0001CC54 CMP R1, #3 @ Set cond. codes on Op1 - Op2 .text:0001CC58 LDRLS PC, [PC,R1,LSL#2] @ Indirect Jump .text:0001CC5C B loc_1CCA0 @ Branch .text:0001CC5C @ --------------------------------------------------------------------------- .text:0001CC60 .long loc_1CC7C .text:0001CC64 .long loc_1CC70 .text:0001CC68 .long loc_1CC88 .text:0001CC6C .long loc_1CC94 .text:0001CC70 @ --------------------------------------------------------------------------- .text:0001CC70 .text:0001CC70 loc_1CC70: @ CODE XREF: sub_1CC40+18j .text:0001CC70 @ DATA XREF: sub_1CC40+24o .text:0001CC70 ADD R0, R0, #4 @ Rd = Op1 + Op2 .text:0001CC74 BL SHA1_Init @ Branch with Link .text:0001CC78 B loc_1CCAC @ Branch .text:0001CC7C @ --------------------------------------------------------------------------- .text:0001CC7C .text:0001CC7C loc_1CC7C: @ CODE XREF: sub_1CC40+18j .text:0001CC7C @ DATA XREF: sub_1CC40+20o .text:0001CC7C ADD R0, R0, #4 @ Rd = Op1 + Op2 .text:0001CC80 BL sub_1FA3C @ Branch with Link .text:0001CC84 B loc_1CCAC @ Branch .text:0001CC88 @ --------------------------------------------------------------------------- .text:0001CC88 .text:0001CC88 loc_1CC88: @ CODE XREF: sub_1CC40+18j .text:0001CC88 @ DATA XREF: sub_1CC40+28o .text:0001CC88 ADD R0, R0, #4 @ Rd = Op1 + Op2 .text:0001CC8C BL MD4_Init @ Branch with Link .text:0001CC90 B loc_1CCAC @ Branch .text:0001CC94 @ --------------------------------------------------------------------------- .text:0001CC94 .text:0001CC94 loc_1CC94: @ CODE XREF: sub_1CC40+18j .text:0001CC94 @ DATA XREF: sub_1CC40+2Co .text:0001CC94 ADD R0, R0, #4 @ Rd = Op1 + Op2 .text:0001CC98 BL MD5_Init @ Branch with Link .text:0001CC9C B loc_1CCAC @ Branch .text:0001CCA0 @ --------------------------------------------------------------------------- .text:0001CCA0 .text:0001CCA0 loc_1CCA0: @ CODE XREF: sub_1CC40+1Cj .text:0001CCA0 MOVL R0, 0x402 .text:0001CCA8 LDMDB R11, {R11,SP,PC} @ Load Block from Memory .text:0001CCAC @ --------------------------------------------------------------------------- .text:0001CCAC .text:0001CCAC loc_1CCAC: @ CODE XREF: sub_1CC40+38j .text:0001CCAC @ sub_1CC40+44j ... .text:0001CCAC MOV R0, #0 @ Rd = Op2 .text:0001CCB0 LDMDB R11, {R11,SP,PC} @ Load Block from Memory .text:0001CCB0 @ End of function sub_1CC40 .text:0001CCB0 .text:0001CCB4 .text:0001CCB4 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001CCB4 .text:0001CCB4 @ Attributes: library function .text:0001CCB4 .text:0001CCB4 hash_update: @ CODE XREF: xcall_hash_update+20p .text:0001CCB4 @ sub_1CEE8+20p ... .text:0001CCB4 MOV R12, SP @ Rd = Op2 .text:0001CCB8 STMFD SP!, {R11,R12,LR,PC} @ Store Block to Memory .text:0001CCBC LDR R3, [R0] @ Load from Memory .text:0001CCC0 SUB R11, R12, #4 @ Rd = Op1 - Op2 .text:0001CCC4 SUB R3, R3, #2 @ Rd = Op1 - Op2 .text:0001CCC8 CMP R3, #3 @ Set cond. codes on Op1 - Op2 .text:0001CCCC LDRLS PC, [PC,R3,LSL#2] @ Indirect Jump .text:0001CCD0 B loc_1CD14 @ Branch .text:0001CCD0 @ --------------------------------------------------------------------------- .text:0001CCD4 .long loc_1CCF0 .text:0001CCD8 .long loc_1CCE4 .text:0001CCDC .long loc_1CCFC .text:0001CCE0 .long loc_1CD08 .text:0001CCE4 @ --------------------------------------------------------------------------- .text:0001CCE4 .text:0001CCE4 loc_1CCE4: @ CODE XREF: hash_update+18j .text:0001CCE4 @ DATA XREF: hash_update+24o .text:0001CCE4 ADD R0, R0, #4 @ Rd = Op1 + Op2 .text:0001CCE8 BL SHA1_Update @ Branch with Link .text:0001CCEC B loc_1CD20 @ Branch .text:0001CCF0 @ --------------------------------------------------------------------------- .text:0001CCF0 .text:0001CCF0 loc_1CCF0: @ CODE XREF: hash_update+18j .text:0001CCF0 @ DATA XREF: hash_update+20o .text:0001CCF0 ADD R0, R0, #4 @ Rd = Op1 + Op2 .text:0001CCF4 BL MD2Update @ Branch with Link .text:0001CCF8 B loc_1CD20 @ Branch .text:0001CCFC @ --------------------------------------------------------------------------- .text:0001CCFC .text:0001CCFC loc_1CCFC: @ CODE XREF: hash_update+18j .text:0001CCFC @ DATA XREF: hash_update+28o .text:0001CCFC ADD R0, R0, #4 @ Rd = Op1 + Op2 .text:0001CD00 BL MD4_Update @ Branch with Link .text:0001CD04 B loc_1CD20 @ Branch .text:0001CD08 @ --------------------------------------------------------------------------- .text:0001CD08 .text:0001CD08 loc_1CD08: @ CODE XREF: hash_update+18j .text:0001CD08 @ DATA XREF: hash_update+2Co .text:0001CD08 ADD R0, R0, #4 @ Rd = Op1 + Op2 .text:0001CD0C BL MD5Update @ Branch with Link .text:0001CD10 B loc_1CD20 @ Branch .text:0001CD14 @ --------------------------------------------------------------------------- .text:0001CD14 .text:0001CD14 loc_1CD14: @ CODE XREF: hash_update+1Cj .text:0001CD14 MOVL R0, 0x402 .text:0001CD1C LDMDB R11, {R11,SP,PC} @ Load Block from Memory .text:0001CD20 @ --------------------------------------------------------------------------- .text:0001CD20 .text:0001CD20 loc_1CD20: @ CODE XREF: hash_update+38j .text:0001CD20 @ hash_update+44j ... .text:0001CD20 MOV R0, #0 @ Rd = Op2 .text:0001CD24 LDMDB R11, {R11,SP,PC} @ Load Block from Memory .text:0001CD24 @ End of function hash_update .text:0001CD24 .text:0001CD28 .text:0001CD28 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001CD28 .text:0001CD28 @ Attributes: bp-based frame .text:0001CD28 .text:0001CD28 sub_1CD28: @ CODE XREF: sub_1CE04+44p .text:0001CD28 @ sub_1CF10+54p ... .text:0001CD28 .text:0001CD28 oldR11 = -0xC .text:0001CD28 oldSP = -8 .text:0001CD28 oldLR = -4 .text:0001CD28 .text:0001CD28 MOV R12, SP @ Rd = Op2 .text:0001CD2C STMFD SP!, {R11,R12,LR,PC} @ Store Block to Memory .text:0001CD30 SUB R11, R12, #4 @ Rd = Op1 - Op2 .text:0001CD34 MOV R12, R0 @ Rd = Op2 .text:0001CD38 LDR R3, [R12] @ Load from Memory .text:0001CD3C CMP R3, #3 @ Set cond. codes on Op1 - Op2 .text:0001CD40 MOVNE R3, #0x10 @ Rd = Op2 .text:0001CD44 MOVEQ R3, #0x14 @ Rd = Op2 .text:0001CD48 STR R3, [R2] @ Store to Memory .text:0001CD4C LDR R2, [R12] @ Load from Memory .text:0001CD50 MOV R0, R1 @ Rd = Op2 .text:0001CD54 SUB R2, R2, #2 @ Rd = Op1 - Op2 .text:0001CD58 CMP R2, #3 @ Set cond. codes on Op1 - Op2 .text:0001CD5C LDRLS PC, [PC,R2,LSL#2] @ Indirect Jump .text:0001CD60 B loc_1CDA4 @ Branch .text:0001CD60 @ --------------------------------------------------------------------------- .text:0001CD64 .long loc_1CD80 .text:0001CD68 .long loc_1CD74 .text:0001CD6C .long loc_1CD8C .text:0001CD70 .long loc_1CD98 .text:0001CD74 @ --------------------------------------------------------------------------- .text:0001CD74 .text:0001CD74 loc_1CD74: @ CODE XREF: sub_1CD28+34j .text:0001CD74 @ DATA XREF: sub_1CD28+40o .text:0001CD74 ADD R1, R12, #4 @ Rd = Op1 + Op2 .text:0001CD78 BL SHA1_Final @ Branch with Link .text:0001CD7C B loc_1CDB0 @ Branch .text:0001CD80 @ --------------------------------------------------------------------------- .text:0001CD80 .text:0001CD80 loc_1CD80: @ CODE XREF: sub_1CD28+34j .text:0001CD80 @ DATA XREF: sub_1CD28+3Co .text:0001CD80 ADD R1, R12, #4 @ Rd = Op1 + Op2 .text:0001CD84 BL MD2_Init @ Branch with Link .text:0001CD88 B loc_1CDB0 @ Branch .text:0001CD8C @ --------------------------------------------------------------------------- .text:0001CD8C .text:0001CD8C loc_1CD8C: @ CODE XREF: sub_1CD28+34j .text:0001CD8C @ DATA XREF: sub_1CD28+44o .text:0001CD8C ADD R1, R12, #4 @ Rd = Op1 + Op2 .text:0001CD90 BL sub_1FD8C @ Branch with Link .text:0001CD94 B loc_1CDB0 @ Branch .text:0001CD98 @ --------------------------------------------------------------------------- .text:0001CD98 .text:0001CD98 loc_1CD98: @ CODE XREF: sub_1CD28+34j .text:0001CD98 @ DATA XREF: sub_1CD28+48o .text:0001CD98 ADD R1, R12, #4 @ Rd = Op1 + Op2 .text:0001CD9C BL sub_2062C @ Branch with Link .text:0001CDA0 B loc_1CDB0 @ Branch .text:0001CDA4 @ --------------------------------------------------------------------------- .text:0001CDA4 .text:0001CDA4 loc_1CDA4: @ CODE XREF: sub_1CD28+38j .text:0001CDA4 MOVL R0, 0x402 .text:0001CDAC LDMDB R11, {R11,SP,PC} @ Load Block from Memory .text:0001CDB0 @ --------------------------------------------------------------------------- .text:0001CDB0 .text:0001CDB0 loc_1CDB0: @ CODE XREF: sub_1CD28+54j .text:0001CDB0 @ sub_1CD28+60j ... .text:0001CDB0 MOV R0, #0 @ Rd = Op2 .text:0001CDB4 LDMDB R11, {R11,SP,PC} @ Load Block from Memory .text:0001CDB4 @ End of function sub_1CD28 .text:0001CDB4 .text:0001CDB8 .text:0001CDB8 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001CDB8 .text:0001CDB8 @ Attributes: bp-based frame .text:0001CDB8 .text:0001CDB8 sub_1CDB8: @ CODE XREF: sub_1D5C4+2Cp .text:0001CDB8 .text:0001CDB8 oldR11 = -0xC .text:0001CDB8 oldSP = -8 .text:0001CDB8 oldLR = -4 .text:0001CDB8 .text:0001CDB8 MOV R12, SP @ Rd = Op2 .text:0001CDBC STMFD SP!, {R11,R12,LR,PC} @ Store Block to Memory .text:0001CDC0 SUB R11, R12, #4 @ Rd = Op1 - Op2 .text:0001CDC4 CMP R1, #3 @ Set cond. codes on Op1 - Op2 .text:0001CDC8 MOVLEQ R0, 0x402 .text:0001CDD0 LDMEQDB R11, {R11,SP,PC} @ Load Block from Memory .text:0001CDD4 BL sub_1CC40 @ Branch with Link .text:0001CDD8 LDMDB R11, {R11,SP,PC} @ Load Block from Memory .text:0001CDD8 @ End of function sub_1CDB8 .text:0001CDD8 .text:0001CDDC .text:0001CDDC @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001CDDC .text:0001CDDC @ Attributes: library function .text:0001CDDC .text:0001CDDC xcall_hash_update: @ CODE XREF: sub_1D5C4+44p .text:0001CDDC MOV R12, SP @ Rd = Op2 .text:0001CDE0 STMFD SP!, {R11,R12,LR,PC} @ Store Block to Memory .text:0001CDE4 LDR R3, [R0] @ Load from Memory .text:0001CDE8 SUB R11, R12, #4 @ Rd = Op1 - Op2 .text:0001CDEC CMP R3, #3 @ Set cond. codes on Op1 - Op2 .text:0001CDF0 MOVLEQ R0, 0x402 .text:0001CDF8 LDMEQDB R11, {R11,SP,PC} @ Load Block from Memory .text:0001CDFC BL hash_update @ Branch with Link .text:0001CE00 LDMDB R11, {R11,SP,PC} @ Load Block from Memory .text:0001CE00 @ End of function xcall_hash_update .text:0001CE00 .text:0001CE04 .text:0001CE04 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001CE04 .text:0001CE04 @ Attributes: bp-based frame .text:0001CE04 .text:0001CE04 sub_1CE04: @ CODE XREF: sub_1D5C4+60p .text:0001CE04 .text:0001CE04 var_6C = -0x6C .text:0001CE04 oldR4 = -0x28 .text:0001CE04 oldR5 = -0x24 .text:0001CE04 oldR6 = -0x20 .text:0001CE04 oldR7 = -0x1C .text:0001CE04 oldR8 = -0x18 .text:0001CE04 oldR9 = -0x14 .text:0001CE04 oldR10 = -0x10 .text:0001CE04 oldR11 = -0xC .text:0001CE04 oldSP = -8 .text:0001CE04 oldLR = -4 .text:0001CE04 .text:0001CE04 MOV R12, SP @ Rd = Op2 .text:0001CE08 STMFD SP!, {R4-R12,LR,PC} @ Store Block to Memory .text:0001CE0C SUB R11, R12, #4 @ Rd = Op1 - Op2 .text:0001CE10 MOV R7, R0 @ Rd = Op2 .text:0001CE14 MOV R10, R1 @ Rd = Op2 .text:0001CE18 MOV R9, R2 @ Rd = Op2 .text:0001CE1C SUB SP, SP, #0x40 @ Rd = Op1 - Op2 .text:0001CE20 LDR R0, [R7] @ Load from Memory .text:0001CE24 MOV R8, R3 @ Rd = Op2 .text:0001CE28 CMP R0, #3 @ Set cond. codes on Op1 - Op2 .text:0001CE2C MOVLEQ R5, 0x402 .text:0001CE34 BEQ loc_1CEBC @ Branch .text:0001CE38 MOV R0, R7 @ Rd = Op2 .text:0001CE3C SUB R4, R11, #0x3C @ Rd = Op1 - Op2 .text:0001CE40 MOV R1, R4 @ Rd = Op2 .text:0001CE44 SUB R2, R11, #0x64 @ Rd = Op1 - Op2 .text:0001CE48 BL sub_1CD28 @ Branch with Link .text:0001CE4C SUBS R5, R0, #0 @ Rd = Op1 - Op2 .text:0001CE50 SUB R6, R11, #0x60 @ Rd = Op1 - Op2 .text:0001CE54 BNE loc_1CE9C @ Branch .text:0001CE58 MOV R0, R6 @ Rd = Op2 .text:0001CE5C LDR R1, [R7] @ Load from Memory .text:0001CE60 MOV R2, R4 @ Rd = Op2 .text:0001CE64 BL sub_1DCF0 @ Branch with Link .text:0001CE68 STR R8, [SP,#0x6C+var_6C] @ Store to Memory .text:0001CE6C MOV R0, R10 @ Rd = Op2 .text:0001CE70 MOV R1, R9 @ Rd = Op2 .text:0001CE74 MOV R2, R6 @ Rd = Op2 .text:0001CE78 MOV R3, #0x22 @ '"' @ Rd = Op2 .text:0001CE7C BL sub_215D4 @ Branch with Link .text:0001CE80 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0001CE84 MOVLNE R5, 0x409 .text:0001CE8C BNE loc_1CE9C @ Branch .text:0001CE90 MOV R0, R7 @ Rd = Op2 .text:0001CE94 LDR R1, [R0] @ Load from Memory .text:0001CE98 BL sub_1CC40 @ Branch with Link .text:0001CE9C .text:0001CE9C loc_1CE9C: @ CODE XREF: sub_1CE04+50j .text:0001CE9C @ sub_1CE04+88j .text:0001CE9C MOV R0, R4 @ Rd = Op2 .text:0001CEA0 MOV R1, #0 @ Rd = Op2 .text:0001CEA4 MOV R2, #0x14 @ Rd = Op2 .text:0001CEA8 BL sub_1DEB4 @ Branch with Link .text:0001CEAC MOV R0, R6 @ Rd = Op2 .text:0001CEB0 MOV R1, #0 @ Rd = Op2 .text:0001CEB4 MOV R2, #0x22 @ '"' @ Rd = Op2 .text:0001CEB8 BL sub_1DEB4 @ Branch with Link .text:0001CEBC .text:0001CEBC loc_1CEBC: @ CODE XREF: sub_1CE04+30j .text:0001CEBC MOV R0, R5 @ Rd = Op2 .text:0001CEC0 LDMDB R11, {R4-R11,SP,PC} @ Load Block from Memory .text:0001CEC0 @ End of function sub_1CE04 .text:0001CEC0 .text:0001CEC4 .text:0001CEC4 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001CEC4 .text:0001CEC4 @ Attributes: bp-based frame .text:0001CEC4 .text:0001CEC4 R_VerifyInit: @ CODE XREF: verify_sig+5Cp .text:0001CEC4 @ sub_1C600+50p ... .text:0001CEC4 .text:0001CEC4 oldR11 = -0xC .text:0001CEC4 oldSP = -8 .text:0001CEC4 oldLR = -4 .text:0001CEC4 .text:0001CEC4 MOV R12, SP @ Rd = Op2 .text:0001CEC8 STMFD SP!, {R11,R12,LR,PC} @ Store Block to Memory .text:0001CECC SUB R11, R12, #4 @ Rd = Op1 - Op2 .text:0001CED0 CMP R1, #3 @ Set cond. codes on Op1 - Op2 .text:0001CED4 MOVLEQ R0, 0x402 .text:0001CEDC LDMEQDB R11, {R11,SP,PC} @ Load Block from Memory .text:0001CEE0 BL sub_1CC40 @ Branch with Link .text:0001CEE4 LDMDB R11, {R11,SP,PC} @ Load Block from Memory .text:0001CEE4 @ End of function R_VerifyInit .text:0001CEE4 .text:0001CEE8 .text:0001CEE8 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001CEE8 .text:0001CEE8 .text:0001CEE8 sub_1CEE8: @ CODE XREF: verify_sig+C0p .text:0001CEE8 @ sub_1C600+84p ... .text:0001CEE8 MOV R12, SP @ Rd = Op2 .text:0001CEEC STMFD SP!, {R11,R12,LR,PC} @ Store Block to Memory .text:0001CEF0 LDR R3, [R0] @ Load from Memory .text:0001CEF4 SUB R11, R12, #4 @ Rd = Op1 - Op2 .text:0001CEF8 CMP R3, #3 @ Set cond. codes on Op1 - Op2 .text:0001CEFC MOVLEQ R0, 0x402 .text:0001CF04 LDMEQDB R11, {R11,SP,PC} @ Load Block from Memory .text:0001CF08 BL hash_update @ Branch with Link .text:0001CF0C LDMDB R11, {R11,SP,PC} @ Load Block from Memory .text:0001CF0C @ End of function sub_1CEE8 .text:0001CF0C .text:0001CF10 .text:0001CF10 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001CF10 .text:0001CF10 @ Attributes: bp-based frame .text:0001CF10 .text:0001CF10 sub_1CF10: @ CODE XREF: verify_sig+138p .text:0001CF10 @ sub_1C600+BCp ... .text:0001CF10 .text:0001CF10 var_F4 = -0xF4 .text:0001CF10 var_EC = -0xEC .text:0001CF10 var_E8 = -0xE8 .text:0001CF10 oldR4 = -0x28 .text:0001CF10 oldR5 = -0x24 .text:0001CF10 oldR6 = -0x20 .text:0001CF10 oldR7 = -0x1C .text:0001CF10 oldR8 = -0x18 .text:0001CF10 oldR9 = -0x14 .text:0001CF10 oldR10 = -0x10 .text:0001CF10 oldR11 = -0xC .text:0001CF10 oldSP = -8 .text:0001CF10 oldLR = -4 .text:0001CF10 .text:0001CF10 MOV R12, SP @ Rd = Op2 .text:0001CF14 STMFD SP!, {R4-R12,LR,PC} @ Store Block to Memory .text:0001CF18 SUB R11, R12, #4 @ Rd = Op1 - Op2 .text:0001CF1C MOV R8, R0 @ Rd = Op2 .text:0001CF20 MOV R9, R2 @ Rd = Op2 .text:0001CF24 MOV R2, #0x400 @ Rd = Op2 .text:0001CF28 CMP R9, #0x80 @ 'Ç' @ Set cond. codes on Op1 - Op2 .text:0001CF2C ORRHI R5, R2, #6 @ Rd = Op2 | Op1 .text:0001CF30 MOVLS R5, #0 @ Rd = Op2 .text:0001CF34 SUB SP, SP, #0xC8 @ Rd = Op1 - Op2 .text:0001CF38 LDR R0, [R8] @ Load from Memory .text:0001CF3C MOV R10, R3 @ Rd = Op2 .text:0001CF40 STR R1, [R11,#var_EC] @ Store to Memory .text:0001CF44 CMP R0, #3 @ Set cond. codes on Op1 - Op2 .text:0001CF48 ORREQ R5, R2, #2 @ Rd = Op2 | Op1 .text:0001CF4C CMP R5, #0 @ Set cond. codes on Op1 - Op2 .text:0001CF50 BNE loc_1D030 @ Branch .text:0001CF54 MOV R0, R8 @ Rd = Op2 .text:0001CF58 SUB R4, R11, #0x3C @ Rd = Op1 - Op2 .text:0001CF5C MOV R1, R4 @ Rd = Op2 .text:0001CF60 SUB R2, R11, #0xE4 @ Rd = Op1 - Op2 .text:0001CF64 BL sub_1CD28 @ Branch with Link .text:0001CF68 SUBS R5, R0, #0 @ Rd = Op1 - Op2 .text:0001CF6C SUB R6, R11, #0x60 @ Rd = Op1 - Op2 .text:0001CF70 SUB R7, R11, #0xE0 @ Rd = Op1 - Op2 .text:0001CF74 BNE loc_1D000 @ Branch .text:0001CF78 MOV R0, R6 @ Rd = Op2 .text:0001CF7C LDR R1, [R8] @ Load from Memory .text:0001CF80 SUB R2, R11, #0x3C @ Rd = Op1 - Op2 .text:0001CF84 BL sub_1DCF0 @ Branch with Link .text:0001CF88 STR R10, [SP,#0xF4+var_F4] @ Store to Memory .text:0001CF8C MOV R0, R7 @ Rd = Op2 .text:0001CF90 SUB R1, R11, #0xE8 @ Rd = Op1 - Op2 .text:0001CF94 LDR R2, [R11,#var_EC] @ Load from Memory .text:0001CF98 MOV R3, R9 @ Rd = Op2 .text:0001CF9C BL sub_214B8 @ Branch with Link .text:0001CFA0 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0001CFA4 MOVLNE R5, 0x40A .text:0001CFAC BNE loc_1D000 @ Branch .text:0001CFB0 LDR R4, [R11,#var_E8] @ Load from Memory .text:0001CFB4 CMP R4, #0x22 @ '"' @ Set cond. codes on Op1 - Op2 .text:0001CFB8 BNE loc_1CFE8 @ Branch .text:0001CFBC MOV R0, R7 @ Rd = Op2 .text:0001CFC0 MOV R1, R6 @ Rd = Op2 .text:0001CFC4 BL sub_1DD4C @ Branch with Link .text:0001CFC8 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0001CFCC BNE loc_1CFE8 @ Branch .text:0001CFD0 MOV R0, R7 @ Rd = Op2 .text:0001CFD4 MOV R1, R6 @ Rd = Op2 .text:0001CFD8 MOV R2, R4 @ Rd = Op2 .text:0001CFDC BL sub_1DF00 @ Branch with Link .text:0001CFE0 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0001CFE4 BEQ loc_1CFF4 @ Branch .text:0001CFE8 .text:0001CFE8 loc_1CFE8: @ CODE XREF: sub_1CF10+A8j .text:0001CFE8 @ sub_1CF10+BCj .text:0001CFE8 MOVL R5, 0x40B .text:0001CFF0 B loc_1D000 @ Branch .text:0001CFF4 @ --------------------------------------------------------------------------- .text:0001CFF4 .text:0001CFF4 loc_1CFF4: @ CODE XREF: sub_1CF10+D4j .text:0001CFF4 MOV R0, R8 @ Rd = Op2 .text:0001CFF8 LDR R1, [R0] @ Load from Memory .text:0001CFFC BL sub_1CC40 @ Branch with Link .text:0001D000 .text:0001D000 loc_1D000: @ CODE XREF: sub_1CF10+64j .text:0001D000 @ sub_1CF10+9Cj ... .text:0001D000 SUB R0, R11, #0x3C @ Rd = Op1 - Op2 .text:0001D004 MOV R1, #0 @ Rd = Op2 .text:0001D008 MOV R2, #0x14 @ Rd = Op2 .text:0001D00C BL sub_1DEB4 @ Branch with Link .text:0001D010 MOV R0, R6 @ Rd = Op2 .text:0001D014 MOV R1, #0 @ Rd = Op2 .text:0001D018 MOV R2, #0x22 @ '"' @ Rd = Op2 .text:0001D01C BL sub_1DEB4 @ Branch with Link .text:0001D020 MOV R0, R7 @ Rd = Op2 .text:0001D024 MOV R1, #0 @ Rd = Op2 .text:0001D028 MOV R2, #0x80 @ 'Ç' @ Rd = Op2 .text:0001D02C BL sub_1DEB4 @ Branch with Link .text:0001D030 .text:0001D030 loc_1D030: @ CODE XREF: sub_1CF10+40j .text:0001D030 MOV R0, R5 @ Rd = Op2 .text:0001D034 LDMDB R11, {R4-R11,SP,PC} @ Load Block from Memory .text:0001D034 @ End of function sub_1CF10 .text:0001D034 .text:0001D038 .text:0001D038 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001D038 .text:0001D038 @ Attributes: bp-based frame .text:0001D038 .text:0001D038 sub_1D038: @ CODE XREF: sub_1D774+94p .text:0001D038 .text:0001D038 var_54 = -0x54 .text:0001D038 var_50 = -0x50 .text:0001D038 var_48 = -0x48 .text:0001D038 var_44 = -0x44 .text:0001D038 oldR4 = -0x28 .text:0001D038 oldR5 = -0x24 .text:0001D038 oldR6 = -0x20 .text:0001D038 oldR7 = -0x1C .text:0001D038 oldR8 = -0x18 .text:0001D038 oldR9 = -0x14 .text:0001D038 oldR10 = -0x10 .text:0001D038 oldR11 = -0xC .text:0001D038 oldSP = -8 .text:0001D038 oldLR = -4 .text:0001D038 arg_4 = 4 .text:0001D038 arg_8 = 8 .text:0001D038 arg_C = 0xC .text:0001D038 arg_10 = 0x10 .text:0001D038 .text:0001D038 MOV R12, SP @ Rd = Op2 .text:0001D03C STMFD SP!, {R4-R12,LR,PC} @ Store Block to Memory .text:0001D040 SUB R11, R12, #4 @ Rd = Op1 - Op2 .text:0001D044 SUB SP, SP, #0x28 @ Rd = Op1 - Op2 .text:0001D048 LDR R8, [R11,#arg_C] @ Load from Memory .text:0001D04C MOV R10, R0 @ Rd = Op2 .text:0001D050 STR R8, [R10] @ Store to Memory .text:0001D054 STR R1, [R11,#var_44] @ Store to Memory .text:0001D058 SUB R4, R11, #0x40 @ Rd = Op1 - Op2 .text:0001D05C STR R2, [R11,#var_48] @ Store to Memory .text:0001D060 MOV R0, R4 @ Rd = Op2 .text:0001D064 MOV R6, R3 @ Rd = Op2 .text:0001D068 CMP R8, #1 @ Set cond. codes on Op1 - Op2 .text:0001D06C MOVNE R7, #0x18 @ Rd = Op2 .text:0001D070 MOVEQ R7, #8 @ Rd = Op2 .text:0001D074 LDR R2, [R11,#arg_10] @ Load from Memory .text:0001D078 MOV R1, R7 @ Rd = Op2 .text:0001D07C BL xdo_md5 @ Branch with Link .text:0001D080 SUBS R5, R0, #0 @ Rd = Op1 - Op2 .text:0001D084 MOV R9, R4 @ Rd = Op2 .text:0001D088 BNE loc_1D148 @ Branch .text:0001D08C MOV R0, R6 @ Rd = Op2 .text:0001D090 LDR R2, [R11,#arg_10] @ Load from Memory .text:0001D094 MOV R1, #8 @ Rd = Op2 .text:0001D098 BL xdo_md5 @ Branch with Link .text:0001D09C SUBS R5, R0, #0 @ Rd = Op1 - Op2 .text:0001D0A0 BNE loc_1D148 @ Branch .text:0001D0A4 CMP R8, #2 @ Set cond. codes on Op1 - Op2 .text:0001D0A8 BNE loc_1D0BC @ Branch .text:0001D0AC SUB R0, R11, #0x30 @ Rd = Op1 - Op2 .text:0001D0B0 MOV R1, R9 @ Rd = Op2 .text:0001D0B4 MOV R2, #8 @ Rd = Op2 .text:0001D0B8 BL sub_1DED8 @ Branch with Link .text:0001D0BC .text:0001D0BC loc_1D0BC: @ CODE XREF: sub_1D038+70j .text:0001D0BC STR R6, [SP,#0x54+var_54] @ Store to Memory .text:0001D0C0 MOV R3, #1 @ Rd = Op2 .text:0001D0C4 STR R3, [SP,#0x54+var_50] @ Store to Memory .text:0001D0C8 MOV R0, R10 @ Rd = Op2 .text:0001D0CC MOV R1, R8 @ Rd = Op2 .text:0001D0D0 MOV R2, R9 @ Rd = Op2 .text:0001D0D4 MOV R3, R7 @ Rd = Op2 .text:0001D0D8 BL sub_1DD78 @ Branch with Link .text:0001D0DC SUBS R5, R0, #0 @ Rd = Op1 - Op2 .text:0001D0E0 BNE loc_1D140 @ Branch .text:0001D0E4 LDR R6, [R11,#var_48] @ Load from Memory .text:0001D0E8 MOV R4, R5 @ Rd = Op2 .text:0001D0EC B loc_1D0F8 @ Branch .text:0001D0F0 @ --------------------------------------------------------------------------- .text:0001D0F0 .text:0001D0F0 loc_1D0F0: @ CODE XREF: sub_1D038+FCj .text:0001D0F0 ADD R6, R6, #4 @ Rd = Op1 + Op2 .text:0001D0F4 ADD R4, R4, #1 @ Rd = Op1 + Op2 .text:0001D0F8 .text:0001D0F8 loc_1D0F8: @ CODE XREF: sub_1D038+B4j .text:0001D0F8 LDR R2, [R11,#arg_4] @ Load from Memory .text:0001D0FC CMP R4, R2 @ Set cond. codes on Op1 - Op2 .text:0001D100 BCS loc_1D140 @ Branch .text:0001D104 LDR R3, [R11,#arg_10] @ Load from Memory .text:0001D108 STR R3, [SP,#0x54+var_50] @ Store to Memory .text:0001D10C LDR R12, [R11,#arg_8] @ Load from Memory .text:0001D110 LDR R3, [R12,R4,LSL#2] @ Load from Memory .text:0001D114 STR R3, [SP,#0x54+var_54] @ Store to Memory .text:0001D118 MOV R1, R6 @ Rd = Op2 .text:0001D11C LDR R3, [R11,#var_44] @ Load from Memory .text:0001D120 MOV R2, R9 @ Rd = Op2 .text:0001D124 LDR R0, [R3,R4,LSL#2] @ Load from Memory .text:0001D128 MOV R3, R7 @ Rd = Op2 .text:0001D12C BL sub_21380 @ Branch with Link .text:0001D130 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0001D134 BEQ loc_1D0F0 @ Branch .text:0001D138 MOVL R5, 0x40A .text:0001D140 .text:0001D140 loc_1D140: @ CODE XREF: sub_1D038+A8j .text:0001D140 @ sub_1D038+C8j .text:0001D140 CMP R5, #0 @ Set cond. codes on Op1 - Op2 .text:0001D144 STREQ R5, [R10,#0x1A0] @ Store to Memory .text:0001D148 .text:0001D148 loc_1D148: @ CODE XREF: sub_1D038+50j .text:0001D148 @ sub_1D038+68j .text:0001D148 MOV R0, R9 @ Rd = Op2 .text:0001D14C MOV R1, #0 @ Rd = Op2 .text:0001D150 MOV R2, #0x18 @ Rd = Op2 .text:0001D154 BL sub_1DEB4 @ Branch with Link .text:0001D158 MOV R0, R5 @ Rd = Op2 .text:0001D15C LDMDB R11, {R4-R11,SP,PC} @ Load Block from Memory .text:0001D15C @ End of function sub_1D038 .text:0001D15C .text:0001D160 .text:0001D160 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001D160 .text:0001D160 @ Attributes: bp-based frame .text:0001D160 .text:0001D160 sub_1D160: @ CODE XREF: sub_1DBD8+58p .text:0001D160 @ sub_1DBD8+B0p .text:0001D160 .text:0001D160 oldR4 = -0x28 .text:0001D160 oldR5 = -0x24 .text:0001D160 oldR6 = -0x20 .text:0001D160 oldR7 = -0x1C .text:0001D160 oldR8 = -0x18 .text:0001D160 oldR9 = -0x14 .text:0001D160 oldR10 = -0x10 .text:0001D160 oldR11 = -0xC .text:0001D160 oldSP = -8 .text:0001D160 oldLR = -4 .text:0001D160 arg_4 = 4 .text:0001D160 .text:0001D160 MOV R12, SP @ Rd = Op2 .text:0001D164 STMFD SP!, {R4-R12,LR,PC} @ Store Block to Memory .text:0001D168 SUB R11, R12, #4 @ Rd = Op1 - Op2 .text:0001D16C MOV R9, R1 @ Rd = Op2 .text:0001D170 MOV R8, R3 @ Rd = Op2 .text:0001D174 MOV R6, R0 @ Rd = Op2 .text:0001D178 LDR R0, [R6,#0x1A0] @ Load from Memory .text:0001D17C MOV R10, R2 @ Rd = Op2 .text:0001D180 LDR R7, [R11,#arg_4] @ Load from Memory .text:0001D184 RSB R4, R0, #8 @ Rd = Op2 - Op1 .text:0001D188 CMP R7, R4 @ Set cond. codes on Op1 - Op2 .text:0001D18C BCC loc_1D210 @ Branch .text:0001D190 ADD R0, R0, #0x198 @ Rd = Op1 + Op2 .text:0001D194 ADD R0, R6, R0 @ Rd = Op1 + Op2 .text:0001D198 MOV R1, R8 @ Rd = Op2 .text:0001D19C MOV R2, R4 @ Rd = Op2 .text:0001D1A0 BL sub_1DED8 @ Branch with Link .text:0001D1A4 MOV R0, R6 @ Rd = Op2 .text:0001D1A8 MOV R1, R9 @ Rd = Op2 .text:0001D1AC ADD R5, R6, #0x198 @ Rd = Op1 + Op2 .text:0001D1B0 MOV R2, R5 @ Rd = Op2 .text:0001D1B4 MOV R3, #8 @ Rd = Op2 .text:0001D1B8 ADD R8, R8, R4 @ Rd = Op1 + Op2 .text:0001D1BC BL sub_1DDFC @ Branch with Link .text:0001D1C0 RSB R7, R4, R7 @ Rd = Op2 - Op1 .text:0001D1C4 MOV R0, R6 @ Rd = Op2 .text:0001D1C8 MOV R3, #8 @ Rd = Op2 .text:0001D1CC STR R3, [R10] @ Store to Memory .text:0001D1D0 ADD R1, R9, R3 @ Rd = Op1 + Op2 .text:0001D1D4 MOV R2, R8 @ Rd = Op2 .text:0001D1D8 BIC R4, R7, #7 @ Rd = Op1 & ~Op2 .text:0001D1DC MOV R3, R4 @ Rd = Op2 .text:0001D1E0 BL sub_1DDFC @ Branch with Link .text:0001D1E4 LDR R3, [R10] @ Load from Memory .text:0001D1E8 ADD R3, R3, R4 @ Rd = Op1 + Op2 .text:0001D1EC STR R3, [R10] @ Store to Memory .text:0001D1F0 RSB R7, R4, R7 @ Rd = Op2 - Op1 .text:0001D1F4 STR R7, [R6,#0x1A0] @ Store to Memory .text:0001D1F8 MOV R0, R5 @ Rd = Op2 .text:0001D1FC ADD R1, R8, R4 @ Rd = Op1 + Op2 .text:0001D200 MOV R2, R7 @ Rd = Op2 .text:0001D204 BL sub_1DED8 @ Branch with Link .text:0001D208 MOV R0, #0 @ Rd = Op2 .text:0001D20C LDMDB R11, {R4-R11,SP,PC} @ Load Block from Memory .text:0001D210 @ --------------------------------------------------------------------------- .text:0001D210 .text:0001D210 loc_1D210: @ CODE XREF: sub_1D160+2Cj .text:0001D210 MOV R4, #0 @ Rd = Op2 .text:0001D214 STR R4, [R10] @ Store to Memory .text:0001D218 MOV R1, R8 @ Rd = Op2 .text:0001D21C LDR R0, [R6,#0x1A0] @ Load from Memory .text:0001D220 MOV R2, R7 @ Rd = Op2 .text:0001D224 ADD R0, R0, #0x198 @ Rd = Op1 + Op2 .text:0001D228 ADD R0, R6, R0 @ Rd = Op1 + Op2 .text:0001D22C BL sub_1DED8 @ Branch with Link .text:0001D230 LDR R3, [R6,#0x1A0] @ Load from Memory .text:0001D234 MOV R0, R4 @ Rd = Op2 .text:0001D238 ADD R3, R3, R7 @ Rd = Op1 + Op2 .text:0001D23C STR R3, [R6,#0x1A0] @ Store to Memory .text:0001D240 LDMDB R11, {R4-R11,SP,PC} @ Load Block from Memory .text:0001D240 @ End of function sub_1D160 .text:0001D240 .text:0001D244 .text:0001D244 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001D244 .text:0001D244 @ Attributes: bp-based frame .text:0001D244 .text:0001D244 sub_1D244: @ CODE XREF: sub_1DBD8+C4p .text:0001D244 .text:0001D244 oldR4 = -0x18 .text:0001D244 oldR5 = -0x14 .text:0001D244 oldR6 = -0x10 .text:0001D244 oldR11 = -0xC .text:0001D244 oldSP = -8 .text:0001D244 oldLR = -4 .text:0001D244 .text:0001D244 MOV R12, SP @ Rd = Op2 .text:0001D248 STMFD SP!, {R4-R6,R11,R12,LR,PC} @ Store Block to Memory .text:0001D24C SUB R11, R12, #4 @ Rd = Op1 - Op2 .text:0001D250 MOV R4, R0 @ Rd = Op2 .text:0001D254 MOV R5, R1 @ Rd = Op2 .text:0001D258 LDR R3, [R4,#0x1A0] @ Load from Memory .text:0001D25C MOV R6, R2 @ Rd = Op2 .text:0001D260 ADD R0, R3, #0x198 @ Rd = Op1 + Op2 .text:0001D264 ADD R0, R4, R0 @ Rd = Op1 + Op2 .text:0001D268 RSB R3, R3, #8 @ Rd = Op2 - Op1 .text:0001D26C MOV R1, R3 @ Rd = Op2 .text:0001D270 MOV R2, R1 @ Rd = Op2 .text:0001D274 BL sub_1DEB4 @ Branch with Link .text:0001D278 MOV R0, R4 @ Rd = Op2 .text:0001D27C MOV R1, R5 @ Rd = Op2 .text:0001D280 ADD R2, R4, #0x198 @ Rd = Op1 + Op2 .text:0001D284 MOV R3, #8 @ Rd = Op2 .text:0001D288 BL sub_1DDFC @ Branch with Link .text:0001D28C MOV R3, #8 @ Rd = Op2 .text:0001D290 STR R3, [R6] @ Store to Memory .text:0001D294 MOV R0, R4 @ Rd = Op2 .text:0001D298 BL sub_1DE60 @ Branch with Link .text:0001D29C MOV R3, #0 @ Rd = Op2 .text:0001D2A0 MOV R0, R3 @ Rd = Op2 .text:0001D2A4 STR R3, [R4,#0x1A0] @ Store to Memory .text:0001D2A8 LDMDB R11, {R4-R6,R11,SP,PC} @ Load Block from Memory .text:0001D2A8 @ End of function sub_1D244 .text:0001D2A8 .text:0001D2AC .text:0001D2AC @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001D2AC .text:0001D2AC @ Attributes: bp-based frame .text:0001D2AC .text:0001D2AC sub_1D2AC: @ CODE XREF: sub_1D884+A4p .text:0001D2AC .text:0001D2AC var_B0 = -0xB0 .text:0001D2AC var_AC = -0xAC .text:0001D2AC var_A4 = -0xA4 .text:0001D2AC oldR4 = -0x20 .text:0001D2AC oldR5 = -0x1C .text:0001D2AC oldR6 = -0x18 .text:0001D2AC oldR7 = -0x14 .text:0001D2AC oldR8 = -0x10 .text:0001D2AC oldR11 = -0xC .text:0001D2AC oldSP = -8 .text:0001D2AC oldLR = -4 .text:0001D2AC arg_4 = 4 .text:0001D2AC arg_8 = 8 .text:0001D2AC .text:0001D2AC MOV R12, SP @ Rd = Op2 .text:0001D2B0 STMFD SP!, {R4-R8,R11,R12,LR,PC} @ Store Block to Memory .text:0001D2B4 SUB R11, R12, #4 @ Rd = Op1 - Op2 .text:0001D2B8 MOV R12, R3 @ Rd = Op2 .text:0001D2BC CMP R12, #0x80 @ 'Ç' @ Set cond. codes on Op1 - Op2 .text:0001D2C0 MOV R6, R0 @ Rd = Op2 .text:0001D2C4 MOV R5, R1 @ Rd = Op2 .text:0001D2C8 SUB SP, SP, #0x8C @ Rd = Op1 - Op2 .text:0001D2CC LDR R8, [R11,#arg_4] @ Load from Memory .text:0001D2D0 MOVLHI R0, 0x406 .text:0001D2D8 BHI loc_1D36C @ Branch .text:0001D2DC STR R5, [R6] @ Store to Memory .text:0001D2E0 LDR R3, [R11,#arg_8] @ Load from Memory .text:0001D2E4 STR R3, [SP,#0xB0+var_B0] @ Store to Memory .text:0001D2E8 SUB R4, R11, #0xA0 @ Rd = Op1 - Op2 .text:0001D2EC MOV R0, R4 @ Rd = Op2 .text:0001D2F0 SUB R1, R11, #0xA4 @ Rd = Op1 - Op2 .text:0001D2F4 MOV R3, R12 @ Rd = Op2 .text:0001D2F8 BL sub_216AC @ Branch with Link .text:0001D2FC CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0001D300 MOV R7, R4 @ Rd = Op2 .text:0001D304 BNE loc_1D32C @ Branch .text:0001D308 CMP R5, #1 @ Set cond. codes on Op1 - Op2 .text:0001D30C BNE loc_1D320 @ Branch .text:0001D310 LDR R3, [R11,#var_A4] @ Load from Memory .text:0001D314 CMP R3, #8 @ Set cond. codes on Op1 - Op2 .text:0001D318 BNE loc_1D32C @ Branch .text:0001D31C B loc_1D338 @ Branch .text:0001D320 @ --------------------------------------------------------------------------- .text:0001D320 .text:0001D320 loc_1D320: @ CODE XREF: sub_1D2AC+60j .text:0001D320 LDR R3, [R11,#var_A4] @ Load from Memory .text:0001D324 CMP R3, #0x18 @ Set cond. codes on Op1 - Op2 .text:0001D328 BEQ loc_1D338 @ Branch .text:0001D32C .text:0001D32C loc_1D32C: @ CODE XREF: sub_1D2AC+58j .text:0001D32C @ sub_1D2AC+6Cj .text:0001D32C MOVL R4, 0x409 .text:0001D334 B loc_1D358 @ Branch .text:0001D338 @ --------------------------------------------------------------------------- .text:0001D338 .text:0001D338 loc_1D338: @ CODE XREF: sub_1D2AC+70j .text:0001D338 @ sub_1D2AC+7Cj .text:0001D338 STR R8, [SP,#0xB0+var_B0] @ Store to Memory .text:0001D33C STR R0, [SP,#0xB0+var_AC] @ Store to Memory .text:0001D340 MOV R0, R6 @ Rd = Op2 .text:0001D344 MOV R1, R5 @ Rd = Op2 .text:0001D348 MOV R2, R7 @ Rd = Op2 .text:0001D34C BL sub_1DD78 @ Branch with Link .text:0001D350 SUBS R4, R0, #0 @ Rd = Op1 - Op2 .text:0001D354 STREQ R4, [R6,#0x1A0] @ Store to Memory .text:0001D358 .text:0001D358 loc_1D358: @ CODE XREF: sub_1D2AC+88j .text:0001D358 MOV R0, R7 @ Rd = Op2 .text:0001D35C MOV R1, #0 @ Rd = Op2 .text:0001D360 MOV R2, #0x80 @ 'Ç' @ Rd = Op2 .text:0001D364 BL sub_1DEB4 @ Branch with Link .text:0001D368 MOV R0, R4 @ Rd = Op2 .text:0001D36C .text:0001D36C loc_1D36C: @ CODE XREF: sub_1D2AC+2Cj .text:0001D36C LDMDB R11, {R4-R8,R11,SP,PC} @ Load Block from Memory .text:0001D36C @ End of function sub_1D2AC .text:0001D36C .text:0001D370 .text:0001D370 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001D370 .text:0001D370 @ Attributes: bp-based frame .text:0001D370 .text:0001D370 sub_1D370: @ CODE XREF: sub_1DA94+54p .text:0001D370 @ sub_1DA94+E4p .text:0001D370 .text:0001D370 oldR4 = -0x28 .text:0001D370 oldR5 = -0x24 .text:0001D370 oldR6 = -0x20 .text:0001D370 oldR7 = -0x1C .text:0001D370 oldR8 = -0x18 .text:0001D370 oldR9 = -0x14 .text:0001D370 oldR10 = -0x10 .text:0001D370 oldR11 = -0xC .text:0001D370 oldSP = -8 .text:0001D370 oldLR = -4 .text:0001D370 arg_4 = 4 .text:0001D370 .text:0001D370 MOV R12, SP @ Rd = Op2 .text:0001D374 STMFD SP!, {R4-R12,LR,PC} @ Store Block to Memory .text:0001D378 SUB R11, R12, #4 @ Rd = Op1 - Op2 .text:0001D37C MOV R9, R1 @ Rd = Op2 .text:0001D380 MOV R8, R3 @ Rd = Op2 .text:0001D384 MOV R6, R0 @ Rd = Op2 .text:0001D388 LDR R0, [R6,#0x1A0] @ Load from Memory .text:0001D38C MOV R10, R2 @ Rd = Op2 .text:0001D390 LDR R7, [R11,#arg_4] @ Load from Memory .text:0001D394 RSB R4, R0, #8 @ Rd = Op2 - Op1 .text:0001D398 CMP R7, R4 @ Set cond. codes on Op1 - Op2 .text:0001D39C BLS loc_1D424 @ Branch .text:0001D3A0 ADD R0, R0, #0x198 @ Rd = Op1 + Op2 .text:0001D3A4 ADD R0, R6, R0 @ Rd = Op1 + Op2 .text:0001D3A8 MOV R1, R8 @ Rd = Op2 .text:0001D3AC MOV R2, R4 @ Rd = Op2 .text:0001D3B0 BL sub_1DED8 @ Branch with Link .text:0001D3B4 MOV R0, R6 @ Rd = Op2 .text:0001D3B8 MOV R1, R9 @ Rd = Op2 .text:0001D3BC ADD R5, R6, #0x198 @ Rd = Op1 + Op2 .text:0001D3C0 MOV R2, R5 @ Rd = Op2 .text:0001D3C4 MOV R3, #8 @ Rd = Op2 .text:0001D3C8 ADD R8, R8, R4 @ Rd = Op1 + Op2 .text:0001D3CC BL sub_1DDFC @ Branch with Link .text:0001D3D0 RSB R7, R4, R7 @ Rd = Op2 - Op1 .text:0001D3D4 MOV R0, R6 @ Rd = Op2 .text:0001D3D8 ADD R1, R9, #8 @ Rd = Op1 + Op2 .text:0001D3DC MOV R3, #8 @ Rd = Op2 .text:0001D3E0 STR R3, [R10] @ Store to Memory .text:0001D3E4 MOV R2, R8 @ Rd = Op2 .text:0001D3E8 SUB R4, R7, #1 @ Rd = Op1 - Op2 .text:0001D3EC BIC R4, R4, #7 @ Rd = Op1 & ~Op2 .text:0001D3F0 MOV R3, R4 @ Rd = Op2 .text:0001D3F4 BL sub_1DDFC @ Branch with Link .text:0001D3F8 LDR R3, [R10] @ Load from Memory .text:0001D3FC ADD R3, R3, R4 @ Rd = Op1 + Op2 .text:0001D400 STR R3, [R10] @ Store to Memory .text:0001D404 RSB R7, R4, R7 @ Rd = Op2 - Op1 .text:0001D408 STR R7, [R6,#0x1A0] @ Store to Memory .text:0001D40C MOV R0, R5 @ Rd = Op2 .text:0001D410 ADD R1, R8, R4 @ Rd = Op1 + Op2 .text:0001D414 MOV R2, R7 @ Rd = Op2 .text:0001D418 BL sub_1DED8 @ Branch with Link .text:0001D41C MOV R0, #0 @ Rd = Op2 .text:0001D420 LDMDB R11, {R4-R11,SP,PC} @ Load Block from Memory .text:0001D424 @ --------------------------------------------------------------------------- .text:0001D424 .text:0001D424 loc_1D424: @ CODE XREF: sub_1D370+2Cj .text:0001D424 MOV R4, #0 @ Rd = Op2 .text:0001D428 STR R4, [R10] @ Store to Memory .text:0001D42C MOV R1, R8 @ Rd = Op2 .text:0001D430 LDR R0, [R6,#0x1A0] @ Load from Memory .text:0001D434 MOV R2, R7 @ Rd = Op2 .text:0001D438 ADD R0, R0, #0x198 @ Rd = Op1 + Op2 .text:0001D43C ADD R0, R6, R0 @ Rd = Op1 + Op2 .text:0001D440 BL sub_1DED8 @ Branch with Link .text:0001D444 LDR R3, [R6,#0x1A0] @ Load from Memory .text:0001D448 MOV R0, R4 @ Rd = Op2 .text:0001D44C ADD R3, R3, R7 @ Rd = Op1 + Op2 .text:0001D450 STR R3, [R6,#0x1A0] @ Store to Memory .text:0001D454 LDMDB R11, {R4-R11,SP,PC} @ Load Block from Memory .text:0001D454 @ End of function sub_1D370 .text:0001D454 .text:0001D458 .text:0001D458 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001D458 .text:0001D458 @ Attributes: bp-based frame .text:0001D458 .text:0001D458 sub_1D458: @ CODE XREF: sub_1DA94+104p .text:0001D458 .text:0001D458 var_26 = -0x26 .text:0001D458 oldR4 = -0x24 .text:0001D458 oldR5 = -0x20 .text:0001D458 oldR6 = -0x1C .text:0001D458 oldR7 = -0x18 .text:0001D458 oldR8 = -0x14 .text:0001D458 oldR10 = -0x10 .text:0001D458 oldR11 = -0xC .text:0001D458 oldSP = -8 .text:0001D458 oldLR = -4 .text:0001D458 .text:0001D458 MOV R12, SP @ Rd = Op2 .text:0001D45C STMFD SP!, {R4-R8,R10-R12,LR,PC} @ Store Block to Memory .text:0001D460 SUB R11, R12, #4 @ Rd = Op1 - Op2 .text:0001D464 MOV R7, R0 @ Rd = Op2 .text:0001D468 MOV R6, #0 @ Rd = Op2 .text:0001D46C MOV R10, R1 @ Rd = Op2 .text:0001D470 SUB SP, SP, #8 @ Rd = Op1 - Op2 .text:0001D474 LDR R3, [R7,#0x1A0] @ Load from Memory .text:0001D478 MOV R8, R2 @ Rd = Op2 .text:0001D47C CMP R3, R6 @ Set cond. codes on Op1 - Op2 .text:0001D480 SUBEQ R4, R11, #0x2C @ Rd = Op1 - Op2 .text:0001D484 STREQ R6, [R8] @ Store to Memory .text:0001D488 BEQ loc_1D51C @ Branch .text:0001D48C CMP R3, #8 @ Set cond. codes on Op1 - Op2 .text:0001D490 MOVLNE R6, 0x404 .text:0001D498 SUBNE R4, R11, #0x2C @ Rd = Op1 - Op2 .text:0001D49C BNE loc_1D51C @ Branch .text:0001D4A0 MOV R0, R7 @ Rd = Op2 .text:0001D4A4 SUB R4, R11, #0x2C @ Rd = Op1 - Op2 .text:0001D4A8 MOV R1, R4 @ Rd = Op2 .text:0001D4AC ADD R2, R7, #0x198 @ Rd = Op1 + Op2 .text:0001D4B0 BL sub_1DDFC @ Branch with Link .text:0001D4B4 LDRB R5, [R11,#-0x25] @ Load from Memory .text:0001D4B8 SUB R3, R5, #1 @ Rd = Op1 - Op2 .text:0001D4BC CMP R3, #7 @ Set cond. codes on Op1 - Op2 .text:0001D4C0 BHI loc_1D4E4 @ Branch .text:0001D4C4 SUB R2, R11, #0x24 @ Rd = Op1 - Op2 .text:0001D4C8 LDR R3, =off_3CA8C @ Load from Memory .text:0001D4CC RSB R0, R5, R2 @ Rd = Op2 - Op1 .text:0001D4D0 LDR R1, [R3,R5,LSL#2] @ Load from Memory .text:0001D4D4 MOV R2, R5 @ Rd = Op2 .text:0001D4D8 BL sub_1DF00 @ Branch with Link .text:0001D4DC CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0001D4E0 BEQ loc_1D4F4 @ Branch .text:0001D4E4 .text:0001D4E4 loc_1D4E4: @ CODE XREF: sub_1D458+68j .text:0001D4E4 MOVL R6, 0x404 .text:0001D4EC B loc_1D508 @ Branch .text:0001D4EC @ --------------------------------------------------------------------------- .text:0001D4F0 off_1D4F0: .long off_3CA8C @ DATA XREF: sub_1D458+70r .text:0001D4F4 @ --------------------------------------------------------------------------- .text:0001D4F4 .text:0001D4F4 loc_1D4F4: @ CODE XREF: sub_1D458+88j .text:0001D4F4 RSB R2, R5, #8 @ Rd = Op2 - Op1 .text:0001D4F8 STR R2, [R8] @ Store to Memory .text:0001D4FC MOV R0, R10 @ Rd = Op2 .text:0001D500 MOV R1, R4 @ Rd = Op2 .text:0001D504 BL sub_1DED8 @ Branch with Link .text:0001D508 .text:0001D508 loc_1D508: @ CODE XREF: sub_1D458+94j .text:0001D508 CMP R6, #0 @ Set cond. codes on Op1 - Op2 .text:0001D50C BNE loc_1D51C @ Branch .text:0001D510 MOV R0, R7 @ Rd = Op2 .text:0001D514 BL sub_1DE60 @ Branch with Link .text:0001D518 STR R6, [R7,#0x1A0] @ Store to Memory .text:0001D51C .text:0001D51C loc_1D51C: @ CODE XREF: sub_1D458+30j .text:0001D51C @ sub_1D458+44j ... .text:0001D51C MOV R0, R4 @ Rd = Op2 .text:0001D520 MOV R1, #0 @ Rd = Op2 .text:0001D524 MOV R2, #8 @ Rd = Op2 .text:0001D528 BL sub_1DEB4 @ Branch with Link .text:0001D52C MOV R0, R6 @ Rd = Op2 .text:0001D530 LDMDB R11, {R4-R8,R10,R11,SP,PC} @ Load Block from Memory .text:0001D530 @ End of function sub_1D458 .text:0001D530 .text:0001D534 .text:0001D534 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001D534 .text:0001D534 @ Attributes: bp-based frame .text:0001D534 .text:0001D534 sub_1D534: .text:0001D534 .text:0001D534 var_B8 = -0xB8 .text:0001D534 var_B4 = -0xB4 .text:0001D534 var_AC = -0xAC .text:0001D534 oldR4 = -0x28 .text:0001D534 oldR5 = -0x24 .text:0001D534 oldR6 = -0x20 .text:0001D534 oldR7 = -0x1C .text:0001D534 oldR8 = -0x18 .text:0001D534 oldR9 = -0x14 .text:0001D534 oldR10 = -0x10 .text:0001D534 oldR11 = -0xC .text:0001D534 oldSP = -8 .text:0001D534 oldLR = -4 .text:0001D534 arg_4 = 4 .text:0001D534 arg_8 = 8 .text:0001D534 arg_C = 0xC .text:0001D534 arg_10 = 0x10 .text:0001D534 arg_14 = 0x14 .text:0001D534 .text:0001D534 MOV R12, SP @ Rd = Op2 .text:0001D538 STMFD SP!, {R4-R12,LR,PC} @ Store Block to Memory .text:0001D53C SUB R11, R12, #4 @ Rd = Op1 - Op2 .text:0001D540 SUB SP, SP, #0x8C @ Rd = Op1 - Op2 .text:0001D544 LDR R12, [R11,#arg_10] @ Load from Memory .text:0001D548 STR R12, [SP,#0xB8+var_B8] @ Store to Memory .text:0001D54C MOV R10, R0 @ Rd = Op2 .text:0001D550 LDR LR, [R11,#arg_14] @ Load from Memory .text:0001D554 SUB R8, R11, #0xA8 @ Rd = Op1 - Op2 .text:0001D558 STR LR, [SP,#0xB8+var_B4] @ Store to Memory .text:0001D55C MOV R0, R8 @ Rd = Op2 .text:0001D560 MOV R5, R1 @ Rd = Op2 .text:0001D564 SUB R1, R11, #0xAC @ Rd = Op1 - Op2 .text:0001D568 MOV R9, R2 @ Rd = Op2 .text:0001D56C LDR R7, [R11,#arg_8] @ Load from Memory .text:0001D570 MOV R6, R3 @ Rd = Op2 .text:0001D574 LDR R2, [R11,#arg_4] @ Load from Memory .text:0001D578 MOV R3, R7 @ Rd = Op2 .text:0001D57C BL sub_1D5C4 @ Branch with Link .text:0001D580 SUBS R4, R0, #0 @ Rd = Op1 - Op2 .text:0001D584 BNE loc_1D5BC @ Branch .text:0001D588 LDR R3, [R11,#arg_C] @ Load from Memory .text:0001D58C CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0001D590 BEQ loc_1D5A8 @ Branch .text:0001D594 MOV R0, R10 @ Rd = Op2 .text:0001D598 MOV R1, R5 @ Rd = Op2 .text:0001D59C LDR R2, [R11,#arg_4] @ Load from Memory .text:0001D5A0 MOV R3, R7 @ Rd = Op2 .text:0001D5A4 BL sub_2449C @ Branch with Link .text:0001D5A8 .text:0001D5A8 loc_1D5A8: @ CODE XREF: sub_1D534+5Cj .text:0001D5A8 MOV R0, R9 @ Rd = Op2 .text:0001D5AC MOV R1, R6 @ Rd = Op2 .text:0001D5B0 LDR R3, [R11,#var_AC] @ Load from Memory .text:0001D5B4 MOV R2, R8 @ Rd = Op2 .text:0001D5B8 BL sub_2449C @ Branch with Link .text:0001D5BC .text:0001D5BC loc_1D5BC: @ CODE XREF: sub_1D534+50j .text:0001D5BC MOV R0, R4 @ Rd = Op2 .text:0001D5C0 LDMDB R11, {R4-R11,SP,PC} @ Load Block from Memory .text:0001D5C0 @ End of function sub_1D534 .text:0001D5C0 .text:0001D5C4 .text:0001D5C4 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001D5C4 .text:0001D5C4 @ Attributes: bp-based frame .text:0001D5C4 .text:0001D5C4 sub_1D5C4: @ CODE XREF: sub_1D534+48p .text:0001D5C4 @ sub_1D774+48p .text:0001D5C4 .text:0001D5C4 oldR4 = -0x24 .text:0001D5C4 oldR5 = -0x20 .text:0001D5C4 oldR6 = -0x1C .text:0001D5C4 oldR7 = -0x18 .text:0001D5C4 oldR8 = -0x14 .text:0001D5C4 oldR10 = -0x10 .text:0001D5C4 oldR11 = -0xC .text:0001D5C4 oldSP = -8 .text:0001D5C4 oldLR = -4 .text:0001D5C4 arg_4 = 4 .text:0001D5C4 arg_8 = 8 .text:0001D5C4 .text:0001D5C4 MOV R12, SP @ Rd = Op2 .text:0001D5C8 STMFD SP!, {R4-R8,R10-R12,LR,PC} @ Store Block to Memory .text:0001D5CC SUB R11, R12, #4 @ Rd = Op1 - Op2 .text:0001D5D0 MOV R10, R0 @ Rd = Op2 .text:0001D5D4 SUB R4, R11, #0x84 @ Rd = Op1 - Op2 .text:0001D5D8 MOV R0, R4 @ Rd = Op2 .text:0001D5DC MOV R8, R1 @ Rd = Op2 .text:0001D5E0 MOV R6, R2 @ Rd = Op2 .text:0001D5E4 SUB SP, SP, #0x60 @ Rd = Op1 - Op2 .text:0001D5E8 LDR R1, [R11,#arg_4] @ Load from Memory .text:0001D5EC MOV R7, R3 @ Rd = Op2 .text:0001D5F0 BL sub_1CDB8 @ Branch with Link .text:0001D5F4 SUBS R5, R0, #0 @ Rd = Op1 - Op2 .text:0001D5F8 BNE loc_1D62C @ Branch .text:0001D5FC MOV R0, R4 @ Rd = Op2 .text:0001D600 MOV R1, R6 @ Rd = Op2 .text:0001D604 MOV R2, R7 @ Rd = Op2 .text:0001D608 BL xcall_hash_update @ Branch with Link .text:0001D60C SUBS R5, R0, #0 @ Rd = Op1 - Op2 .text:0001D610 BNE loc_1D62C @ Branch .text:0001D614 MOV R0, R4 @ Rd = Op2 .text:0001D618 MOV R1, R10 @ Rd = Op2 .text:0001D61C LDR R3, [R11,#arg_8] @ Load from Memory .text:0001D620 MOV R2, R8 @ Rd = Op2 .text:0001D624 BL sub_1CE04 @ Branch with Link .text:0001D628 MOV R5, R0 @ Rd = Op2 .text:0001D62C .text:0001D62C loc_1D62C: @ CODE XREF: sub_1D5C4+34j .text:0001D62C @ sub_1D5C4+4Cj .text:0001D62C MOV R0, R4 @ Rd = Op2 .text:0001D630 MOV R1, #0 @ Rd = Op2 .text:0001D634 MOV R2, #0x60 @ '`' @ Rd = Op2 .text:0001D638 BL sub_1DEB4 @ Branch with Link .text:0001D63C MOV R0, R5 @ Rd = Op2 .text:0001D640 LDMDB R11, {R4-R8,R10,R11,SP,PC} @ Load Block from Memory .text:0001D640 @ End of function sub_1D5C4 .text:0001D640 .text:0001D644 .text:0001D644 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001D644 .text:0001D644 @ Attributes: bp-based frame .text:0001D644 .text:0001D644 sub_1D644: .text:0001D644 .text:0001D644 var_AC = -0xAC .text:0001D644 var_A8 = -0xA8 .text:0001D644 var_A0 = -0xA0 .text:0001D644 oldR4 = -0x1C .text:0001D644 oldR5 = -0x18 .text:0001D644 oldR6 = -0x14 .text:0001D644 oldR7 = -0x10 .text:0001D644 oldR11 = -0xC .text:0001D644 oldSP = -8 .text:0001D644 oldLR = -4 .text:0001D644 arg_4 = 4 .text:0001D644 arg_8 = 8 .text:0001D644 arg_C = 0xC .text:0001D644 arg_10 = 0x10 .text:0001D644 arg_14 = 0x14 .text:0001D644 .text:0001D644 MOV R12, SP @ Rd = Op2 .text:0001D648 STMFD SP!, {R4-R7,R11,R12,LR,PC} @ Store Block to Memory .text:0001D64C SUB R11, R12, #4 @ Rd = Op1 - Op2 .text:0001D650 MOV R5, R0 @ Rd = Op2 .text:0001D654 MOV R4, R1 @ Rd = Op2 .text:0001D658 SUB SP, SP, #0x8C @ Rd = Op1 - Op2 .text:0001D65C LDR R7, [R11,#arg_8] @ Load from Memory .text:0001D660 MOV R12, R3 @ Rd = Op2 .text:0001D664 CMP R7, #0xAD @ '¡' @ Set cond. codes on Op1 - Op2 .text:0001D668 BHI loc_1D6E8 @ Branch .text:0001D66C LDR R3, [R11,#arg_C] @ Load from Memory .text:0001D670 CMP R3, #0 @ Set cond. codes on Op1 - Op2 .text:0001D674 BEQ loc_1D698 @ Branch .text:0001D678 MOV R0, R5 @ Rd = Op2 .text:0001D67C MOV R1, R4 @ Rd = Op2 .text:0001D680 MOV R3, R12 @ Rd = Op2 .text:0001D684 BL sub_24524 @ Branch with Link .text:0001D688 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0001D68C BEQ loc_1D6A0 @ Branch .text:0001D690 MOV R0, #0x400 @ Rd = Op2 .text:0001D694 B loc_1D6F0 @ Branch .text:0001D698 @ --------------------------------------------------------------------------- .text:0001D698 .text:0001D698 loc_1D698: @ CODE XREF: sub_1D644+30j .text:0001D698 MOV R5, R2 @ Rd = Op2 .text:0001D69C STR R12, [R4] @ Store to Memory .text:0001D6A0 .text:0001D6A0 loc_1D6A0: @ CODE XREF: sub_1D644+48j .text:0001D6A0 SUB R6, R11, #0x9C @ Rd = Op1 - Op2 .text:0001D6A4 MOV R0, R6 @ Rd = Op2 .text:0001D6A8 SUB R1, R11, #0xA0 @ Rd = Op1 - Op2 .text:0001D6AC LDR R2, [R11,#arg_4] @ Load from Memory .text:0001D6B0 MOV R3, R7 @ Rd = Op2 .text:0001D6B4 BL sub_24524 @ Branch with Link .text:0001D6B8 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0001D6BC BNE loc_1D6E8 @ Branch .text:0001D6C0 LDR R3, [R11,#arg_10] @ Load from Memory .text:0001D6C4 STR R3, [SP,#0xAC+var_AC] @ Store to Memory .text:0001D6C8 LDR R2, [R11,#arg_14] @ Load from Memory .text:0001D6CC STR R2, [SP,#0xAC+var_A8] @ Store to Memory .text:0001D6D0 LDR R3, [R11,#var_A0] @ Load from Memory .text:0001D6D4 MOV R0, R5 @ Rd = Op2 .text:0001D6D8 LDR R1, [R4] @ Load from Memory .text:0001D6DC MOV R2, R6 @ Rd = Op2 .text:0001D6E0 BL sub_1D6F4 @ Branch with Link .text:0001D6E4 B loc_1D6F0 @ Branch .text:0001D6E8 @ --------------------------------------------------------------------------- .text:0001D6E8 .text:0001D6E8 loc_1D6E8: @ CODE XREF: sub_1D644+24j .text:0001D6E8 @ sub_1D644+78j .text:0001D6E8 MOVL R0, 0x40C .text:0001D6F0 .text:0001D6F0 loc_1D6F0: @ CODE XREF: sub_1D644+50j .text:0001D6F0 @ sub_1D644+A0j .text:0001D6F0 LDMDB R11, {R4-R7,R11,SP,PC} @ Load Block from Memory .text:0001D6F0 @ End of function sub_1D644 .text:0001D6F0 .text:0001D6F4 .text:0001D6F4 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001D6F4 .text:0001D6F4 @ Attributes: bp-based frame .text:0001D6F4 .text:0001D6F4 sub_1D6F4: @ CODE XREF: sub_1D644+9Cp .text:0001D6F4 @ sub_1D884+164p .text:0001D6F4 .text:0001D6F4 oldR4 = -0x24 .text:0001D6F4 oldR5 = -0x20 .text:0001D6F4 oldR6 = -0x1C .text:0001D6F4 oldR7 = -0x18 .text:0001D6F4 oldR8 = -0x14 .text:0001D6F4 oldR10 = -0x10 .text:0001D6F4 oldR11 = -0xC .text:0001D6F4 oldSP = -8 .text:0001D6F4 oldLR = -4 .text:0001D6F4 arg_4 = 4 .text:0001D6F4 arg_8 = 8 .text:0001D6F4 .text:0001D6F4 MOV R12, SP @ Rd = Op2 .text:0001D6F8 STMFD SP!, {R4-R8,R10-R12,LR,PC} @ Store Block to Memory .text:0001D6FC SUB R11, R12, #4 @ Rd = Op1 - Op2 .text:0001D700 MOV R7, R0 @ Rd = Op2 .text:0001D704 SUB R4, R11, #0x84 @ Rd = Op1 - Op2 .text:0001D708 MOV R0, R4 @ Rd = Op2 .text:0001D70C MOV R6, R1 @ Rd = Op2 .text:0001D710 MOV R8, R2 @ Rd = Op2 .text:0001D714 SUB SP, SP, #0x60 @ Rd = Op1 - Op2 .text:0001D718 LDR R1, [R11,#arg_4] @ Load from Memory .text:0001D71C MOV R10, R3 @ Rd = Op2 .text:0001D720 BL R_VerifyInit @ Branch with Link .text:0001D724 SUBS R5, R0, #0 @ Rd = Op1 - Op2 .text:0001D728 BNE loc_1D75C @ Branch .text:0001D72C MOV R0, R4 @ Rd = Op2 .text:0001D730 MOV R1, R7 @ Rd = Op2 .text:0001D734 MOV R2, R6 @ Rd = Op2 .text:0001D738 BL sub_1CEE8 @ Branch with Link .text:0001D73C SUBS R5, R0, #0 @ Rd = Op1 - Op2 .text:0001D740 BNE loc_1D75C @ Branch .text:0001D744 MOV R0, R4 @ Rd = Op2 .text:0001D748 MOV R1, R8 @ Rd = Op2 .text:0001D74C LDR R3, [R11,#arg_8] @ Load from Memory .text:0001D750 MOV R2, R10 @ Rd = Op2 .text:0001D754 BL sub_1CF10 @ Branch with Link .text:0001D758 MOV R5, R0 @ Rd = Op2 .text:0001D75C .text:0001D75C loc_1D75C: @ CODE XREF: sub_1D6F4+34j .text:0001D75C @ sub_1D6F4+4Cj .text:0001D75C MOV R0, R4 @ Rd = Op2 .text:0001D760 MOV R1, #0 @ Rd = Op2 .text:0001D764 MOV R2, #0x60 @ '`' @ Rd = Op2 .text:0001D768 BL sub_1DEB4 @ Branch with Link .text:0001D76C MOV R0, R5 @ Rd = Op2 .text:0001D770 LDMDB R11, {R4-R8,R10,R11,SP,PC} @ Load Block from Memory .text:0001D770 @ End of function sub_1D6F4 .text:0001D770 .text:0001D774 .text:0001D774 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001D774 .text:0001D774 @ Attributes: bp-based frame .text:0001D774 .text:0001D774 sub_1D774: .text:0001D774 .text:0001D774 var_2F4 = -0x2F4 .text:0001D774 var_2F0 = -0x2F0 .text:0001D774 var_2EC = -0x2EC .text:0001D774 var_2E8 = -0x2E8 .text:0001D774 var_2E0 = -0x2E0 .text:0001D774 var_2DC = -0x2DC .text:0001D774 var_2D8 = -0x2D8 .text:0001D774 var_2D4 = -0x2D4 .text:0001D774 var_2D0 = -0x2D0 .text:0001D774 oldR4 = -0x28 .text:0001D774 oldR5 = -0x24 .text:0001D774 oldR6 = -0x20 .text:0001D774 oldR7 = -0x1C .text:0001D774 oldR8 = -0x18 .text:0001D774 oldR9 = -0x14 .text:0001D774 oldR10 = -0x10 .text:0001D774 oldR11 = -0xC .text:0001D774 oldSP = -8 .text:0001D774 oldLR = -4 .text:0001D774 arg_4 = 4 .text:0001D774 arg_8 = 8 .text:0001D774 arg_C = 0xC .text:0001D774 arg_10 = 0x10 .text:0001D774 arg_14 = 0x14 .text:0001D774 arg_18 = 0x18 .text:0001D774 arg_1C = 0x1C .text:0001D774 arg_20 = 0x20 .text:0001D774 arg_24 = 0x24 .text:0001D774 .text:0001D774 MOV R12, SP @ Rd = Op2 .text:0001D778 STMFD SP!, {R4-R12,LR,PC} @ Store Block to Memory .text:0001D77C SUB R11, R12, #4 @ Rd = Op1 - Op2 .text:0001D780 SUB SP, SP, #0x2C8 @ Rd = Op1 - Op2 .text:0001D784 LDR R12, [R11,#arg_18] @ Load from Memory .text:0001D788 STR R12, [SP,#0x2F4+var_2F4] @ Store to Memory .text:0001D78C LDR LR, [R11,#arg_20] @ Load from Memory .text:0001D790 STR LR, [SP,#0x2F4+var_2F0] @ Store to Memory .text:0001D794 SUB R4, R11, #0x2CC @ Rd = Op1 - Op2 .text:0001D798 STR R0, [R11,#var_2E0] @ Store to Memory .text:0001D79C MOV R10, R1 @ Rd = Op2 .text:0001D7A0 SUB R1, R11, #0x2D0 @ Rd = Op1 - Op2 .text:0001D7A4 MOV R8, R2 @ Rd = Op2 .text:0001D7A8 MOV R7, R3 @ Rd = Op2 .text:0001D7AC LDR R9, [R11,#arg_14] @ Load from Memory .text:0001D7B0 MOV R0, R4 @ Rd = Op2 .text:0001D7B4 LDR R2, [R11,#arg_10] @ Load from Memory .text:0001D7B8 MOV R3, R9 @ Rd = Op2 .text:0001D7BC BL sub_1D5C4 @ Branch with Link .text:0001D7C0 SUBS R6, R0, #0 @ Rd = Op1 - Op2 .text:0001D7C4 SUB R5, R11, #0x1CC @ Rd = Op1 - Op2 .text:0001D7C8 BNE loc_1D85C @ Branch .text:0001D7CC SUB R4, R11, #0x24C @ Rd = Op1 - Op2 .text:0001D7D0 STR R4, [R11,#var_2D4] @ Store to Memory .text:0001D7D4 LDR R3, [R11,#arg_1C] @ Load from Memory .text:0001D7D8 STR R3, [R11,#var_2DC] @ Store to Memory .text:0001D7DC MOV R2, #1 @ Rd = Op2 .text:0001D7E0 STR R2, [SP,#0x2F4+var_2F4] @ Store to Memory .text:0001D7E4 SUB R3, R11, #0x2DC @ Rd = Op1 - Op2 .text:0001D7E8 STR R3, [SP,#0x2F4+var_2F0] @ Store to Memory .text:0001D7EC STR R2, [SP,#0x2F4+var_2EC] @ Store to Memory .text:0001D7F0 LDR R3, [R11,#arg_24] @ Load from Memory .text:0001D7F4 STR R3, [SP,#0x2F4+var_2E8] @ Store to Memory .text:0001D7F8 MOV R0, R5 @ Rd = Op2 .text:0001D7FC SUB R1, R11, #0x2D4 @ Rd = Op1 - Op2 .text:0001D800 LDR R3, [R11,#arg_C] @ Load from Memory .text:0001D804 SUB R2, R11, #0x2D8 @ Rd = Op1 - Op2 .text:0001D808 BL sub_1D038 @ Branch with Link .text:0001D80C SUBS R6, R0, #0 @ Rd = Op1 - Op2 .text:0001D810 BNE loc_1D85C @ Branch .text:0001D814 MOV R0, R8 @ Rd = Op2 .text:0001D818 MOV R1, R7 @ Rd = Op2 .text:0001D81C LDR R3, [R11,#var_2D8] @ Load from Memory .text:0001D820 MOV R2, R4 @ Rd = Op2 .text:0001D824 BL sub_2449C @ Branch with Link .text:0001D828 STR R9, [SP,#0x2F4+var_2F4] @ Store to Memory .text:0001D82C LDR R1, [R11,#var_2E0] @ Load from Memory .text:0001D830 MOV R0, R5 @ Rd = Op2 .text:0001D834 LDR R3, [R11,#arg_10] @ Load from Memory .text:0001D838 MOV R2, R10 @ Rd = Op2 .text:0001D83C BL sub_1DBD8 @ Branch with Link .text:0001D840 LDR R3, [R11,#var_2D0] @ Load from Memory .text:0001D844 STR R3, [SP,#0x2F4+var_2F4] @ Store to Memory .text:0001D848 LDR R1, [R11,#arg_4] @ Load from Memory .text:0001D84C MOV R0, R5 @ Rd = Op2 .text:0001D850 LDR R2, [R11,#arg_8] @ Load from Memory .text:0001D854 SUB R3, R11, #0x2CC @ Rd = Op1 - Op2 .text:0001D858 BL sub_1DBD8 @ Branch with Link .text:0001D85C .text:0001D85C loc_1D85C: @ CODE XREF: sub_1D774+54j .text:0001D85C @ sub_1D774+9Cj .text:0001D85C MOV R0, R5 @ Rd = Op2 .text:0001D860 MOV R1, #0 @ Rd = Op2 .text:0001D864 MOV R2, #0x1A4 @ Rd = Op2 .text:0001D868 BL sub_1DEB4 @ Branch with Link .text:0001D86C SUB R0, R11, #0x2CC @ Rd = Op1 - Op2 .text:0001D870 MOV R1, #0 @ Rd = Op2 .text:0001D874 MOV R2, #0x80 @ 'Ç' @ Rd = Op2 .text:0001D878 BL sub_1DEB4 @ Branch with Link .text:0001D87C MOV R0, R6 @ Rd = Op2 .text:0001D880 LDMDB R11, {R4-R11,SP,PC} @ Load Block from Memory .text:0001D880 @ End of function sub_1D774 .text:0001D880 .text:0001D884 .text:0001D884 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001D884 .text:0001D884 @ Attributes: bp-based frame .text:0001D884 .text:0001D884 sub_1D884: .text:0001D884 .text:0001D884 var_2E0 = -0x2E0 .text:0001D884 var_2DC = -0x2DC .text:0001D884 var_2D4 = -0x2D4 .text:0001D884 var_2D0 = -0x2D0 .text:0001D884 oldR4 = -0x28 .text:0001D884 oldR5 = -0x24 .text:0001D884 oldR6 = -0x20 .text:0001D884 oldR7 = -0x1C .text:0001D884 oldR8 = -0x18 .text:0001D884 oldR9 = -0x14 .text:0001D884 oldR10 = -0x10 .text:0001D884 oldR11 = -0xC .text:0001D884 oldSP = -8 .text:0001D884 oldLR = -4 .text:0001D884 arg_4 = 4 .text:0001D884 arg_8 = 8 .text:0001D884 arg_C = 0xC .text:0001D884 arg_10 = 0x10 .text:0001D884 arg_14 = 0x14 .text:0001D884 arg_18 = 0x18 .text:0001D884 arg_1C = 0x1C .text:0001D884 arg_20 = 0x20 .text:0001D884 .text:0001D884 MOV R12, SP @ Rd = Op2 .text:0001D888 STMFD SP!, {R4-R12,LR,PC} @ Store Block to Memory .text:0001D88C SUB R11, R12, #4 @ Rd = Op1 - Op2 .text:0001D890 MOV R9, R0 @ Rd = Op2 .text:0001D894 MOV R10, R1 @ Rd = Op2 .text:0001D898 MOV R8, R2 @ Rd = Op2 .text:0001D89C SUB SP, SP, #0x2B4 @ Rd = Op1 - Op2 .text:0001D8A0 LDR LR, [R11,#arg_10] @ Load from Memory .text:0001D8A4 MOV R7, R3 @ Rd = Op2 .text:0001D8A8 LDR R12, [R11,#arg_8] @ Load from Memory .text:0001D8AC CMP LR, #0xB8 @ '+' @ Set cond. codes on Op1 - Op2 .text:0001D8B0 MOVLHI R0, 0x40C .text:0001D8B8 BHI loc_1DA14 @ Branch .text:0001D8BC CMP R12, #0xAD @ '¡' @ Set cond. codes on Op1 - Op2 .text:0001D8C0 MOVLHI R0, 0x405 .text:0001D8C8 BHI loc_1DA14 @ Branch .text:0001D8CC SUB R4, R11, #0x24C @ Rd = Op1 - Op2 .text:0001D8D0 MOV R0, R4 @ Rd = Op2 .text:0001D8D4 SUB R1, R11, #0x2D0 @ Rd = Op1 - Op2 .text:0001D8D8 LDR R2, [R11,#arg_4] @ Load from Memory .text:0001D8DC MOV R3, R12 @ Rd = Op2 .text:0001D8E0 BL sub_24524 @ Branch with Link .text:0001D8E4 CMP R0, #0 @ Set cond. codes on Op1 - Op2 .text:0001D8E8 BEQ loc_1D900 @ Branch .text:0001D8EC MOVL R4, 0x405 .text:0001D8F4 SUB R6, R11, #0x1CC @ Rd = Op1 - Op2 .text:0001D8F8 SUB R5, R11, #0x2CC @ Rd = Op1 - Op2 .text:0001D8FC B loc_1D9F0 @ Branch .text:0001D900 @ --------------------------------------------------------------------------- .text:0001D900 .text:0001D900 loc_1D900: @ CODE XREF: sub_1D884+64j .text:0001D900 LDR R3, [R11,#arg_14] @ Load from Memory .text:0001D904 STR R3, [SP,#0x2E0+var_2E0] @ Store to Memory .text:0001D908 LDR R2, [R11,#arg_1C] @ Load from Memory .text:0001D90C STR R2, [SP,#0x2E0+var_2DC] @ Store to Memory .text:0001D910 SUB R12, R11, #0x1CC @ Rd = Op1 - Op2 .text:0001D914 MOV R0, R12 @ Rd = Op2 .text:0001D918 MOV R1, #1 @ Rd = Op2 .text:0001D91C MOV R6, R12 @ Rd = Op2 .text:0001D920 LDR R3, [R11,#var_2D0] @ Load from Memory .text:0001D924 MOV R2, R4 @ Rd = Op2 .text:0001D928 BL sub_1D2AC @ Branch with Link .text:0001D92C SUBS R4, R0, #0 @ Rd = Op1 - Op2 .text:0001D930 SUB R5, R11, #0x2CC @ Rd = Op1 - Op2 .text:0001D934 BNE loc_1D9F0 @ Branch .text:0001D938 STR R7, [SP,#0x2E0+var_2E0] @ Store to Memory .text:0001D93C MOV R0, R6 @ Rd = Op2 .text:0001D940 MOV R1, R9 @ Rd = Op2 .text:0001D944 MOV R2, R10 @ Rd = Op2 .text:0001D948 MOV R3, R8 @ Rd = Op2 .text:0001D94C BL sub_1DA94 @ Branch with Link .text:0001D950 SUBS R4, R0, #0 @ Rd = Op1 - Op2 .text:0001D954 BEQ loc_1D980 @ Branch .text:0001D958 MOV R1, #0x400 @ Rd = Op2 .text:0001D95C ADD R2, R1, #6 @ Rd = Op1 + Op2 .text:0001D960 ADD R3, R1, #3 @ Rd = Op1 + Op2 .text:0001D964 CMP R4, R3 @ Set cond. codes on Op1 - Op2 .text:0001D968 CMPNE R4, R2 @ Set cond. codes on Op1 - Op2 .text:0001D96C MOVEQ R4, R1 @ Rd = Op2 .text:0001D970 BEQ loc_1D9F0 @ Branch .text:0001D974 MOVL R4, 0x404 .text:0001D97C B loc_1D9F0 @ Branch .text:0001D980 @ --------------------------------------------------------------------------- .text:0001D980 .text:0001D980 loc_1D980: @ CODE XREF: sub_1D884+D0j .text:0001D980 LDR R3, [R11,#arg_10] @ Load from Memory .text:0001D984 STR R3, [SP,#0x2E0+var_2E0] @ Store to Memory .text:0001D988 MOV R0, R6 @ Rd = Op2 .text:0001D98C MOV R1, R5 @ Rd = Op2 .text:0001D990 LDR R3, [R11,#arg_C] @ Load from Memory .text:0001D994 SUB R2, R11, #0x2D4 @ Rd = Op1 - Op2 .text:0001D998 BL sub_1DA94 @ Branch with Link .text:0001D99C SUBS R4, R0, #0 @ Rd = Op1 - Op2 .text:0001D9A0 BEQ loc_1D9C8 @ Branch .text:0001D9A4 MOV R3, #0x400 @ Rd = Op2 .text:0001D9A8 ADD R1, R3, #6 @ Rd = Op1 + Op2 .text:0001D9AC ADD R2, R3, #3 @ Rd = Op1 + Op2 .text:0001D9B0 CMP R4, R2 @ Set cond. codes on Op1 - Op2 .text:0001D9B4 CMPNE R4, R1 @ Set cond. codes on Op1 - Op2 .text:0001D9B8 MOV R4, R3 @ Rd = Op2 .text:0001D9BC ADD R4, R4, #4 @ Rd = Op1 + Op2 .text:0001D9C0 ORREQ R4, R3, #0xC @ Rd = Op2 | Op1 .text:0001D9C4 B loc_1D9F0 @ Branch .text:0001D9C8 @ --------------------------------------------------------------------------- .text:0001D9C8 .text:0001D9C8 loc_1D9C8: @ CODE XREF: sub_1D884+11Cj .text:0001D9C8 LDR R3, [R11,#arg_18] @ Load from Memory .text:0001D9CC STR R3, [SP,#0x2E0+var_2E0] @ Store to Memory .text:0001D9D0 LDR R2, [R11,#arg_20] @ Load from Memory .text:0001D9D4 STR R2, [SP,#0x2E0+var_2DC] @ Store to Memory .text:0001D9D8 LDR R3, [R11,#var_2D4] @ Load from Memory .text:0001D9DC MOV R0, R9 @ Rd = Op2 .text:0001D9E0 LDR R1, [R10] @ Load from Memory .text:0001D9E4 MOV R2, R5 @ Rd = Op2 .text:0001D9E8 BL sub_1D6F4 @ Branch with Link .text:0001D9EC MOV R4, R0 @ Rd = Op2 .text:0001D9F0 .text:0001D9F0 loc_1D9F0: @ CODE XREF: sub_1D884+78j .text:0001D9F0 @ sub_1D884+B0j ... .text:0001D9F0 MOV R0, R6 @ Rd = Op2 .text:0001D9F4 MOV R1, #0 @ Rd = Op2 .text:0001D9F8 MOV R2, #0x1A4 @ Rd = Op2 .text:0001D9FC BL sub_1DEB4 @ Branch with Link .text:0001DA00 MOV R0, R5 @ Rd = Op2 .text:0001DA04 MOV R1, #0 @ Rd = Op2 .text:0001DA08 MOV R2, #0x80 @ 'Ç' @ Rd = Op2 .text:0001DA0C BL sub_1DEB4 @ Branch with Link .text:0001DA10 MOV R0, R4 @ Rd = Op2 .text:0001DA14 .text:0001DA14 loc_1DA14: @ CODE XREF: sub_1D884+34j .text:0001DA14 @ sub_1D884+44j .text:0001DA14 LDMDB R11, {R4-R11,SP,PC} @ Load Block from Memory .text:0001DA14 @ End of function sub_1D884 .text:0001DA14 .text:0001DA18 .text:0001DA18 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001DA18 .text:0001DA18 @ Attributes: bp-based frame .text:0001DA18 .text:0001DA18 sub_1DA18: .text:0001DA18 .text:0001DA18 oldR4 = -0x24 .text:0001DA18 oldR5 = -0x20 .text:0001DA18 oldR6 = -0x1C .text:0001DA18 oldR7 = -0x18 .text:0001DA18 oldR8 = -0x14 .text:0001DA18 oldR10 = -0x10 .text:0001DA18 oldR11 = -0xC .text:0001DA18 oldSP = -8 .text:0001DA18 oldLR = -4 .text:0001DA18 arg_4 = 4 .text:0001DA18 .text:0001DA18 MOV R12, SP @ Rd = Op2 .text:0001DA1C STMFD SP!, {R4-R8,R10-R12,LR,PC} @ Store Block to Memory .text:0001DA20 SUB R11, R12, #4 @ Rd = Op1 - Op2 .text:0001DA24 MOV R10, R0 @ Rd = Op2 .text:0001DA28 SUB R4, R11, #0x84 @ Rd = Op1 - Op2 .text:0001DA2C MOV R0, R4 @ Rd = Op2 .text:0001DA30 MOV R8, R1 @ Rd = Op2 .text:0001DA34 MOV R6, R2 @ Rd = Op2 .text:0001DA38 SUB SP, SP, #0x60 @ Rd = Op1 - Op2 .text:0001DA3C LDR R1, [R11,#arg_4] @ Load from Memory .text:0001DA40 MOV R7, R3 @ Rd = Op2 .text:0001DA44 BL sub_1CC40 @ Branch with Link .text:0001DA48 SUBS R5, R0, #0 @ Rd = Op1 - Op2 .text:0001DA4C BNE loc_1DA7C @ Branch .text:0001DA50 MOV R0, R4 @ Rd = Op2 .text:0001DA54 MOV R1, R6 @ Rd = Op2 .text:0001DA58 MOV R2, R7 @ Rd = Op2 .text:0001DA5C BL hash_update @ Branch with Link .text:0001DA60 SUBS R5, R0, #0 @ Rd = Op1 - Op2 .text:0001DA64 BNE loc_1DA7C @ Branch .text:0001DA68 MOV R0, R4 @ Rd = Op2 .text:0001DA6C MOV R1, R10 @ Rd = Op2 .text:0001DA70 MOV R2, R8 @ Rd = Op2 .text:0001DA74 BL sub_1CD28 @ Branch with Link .text:0001DA78 MOV R5, R0 @ Rd = Op2 .text:0001DA7C .text:0001DA7C loc_1DA7C: @ CODE XREF: sub_1DA18+34j .text:0001DA7C @ sub_1DA18+4Cj .text:0001DA7C MOV R0, R4 @ Rd = Op2 .text:0001DA80 MOV R1, #0 @ Rd = Op2 .text:0001DA84 MOV R2, #0x60 @ '`' @ Rd = Op2 .text:0001DA88 BL sub_1DEB4 @ Branch with Link .text:0001DA8C MOV R0, R5 @ Rd = Op2 .text:0001DA90 LDMDB R11, {R4-R8,R10,R11,SP,PC} @ Load Block from Memory .text:0001DA90 @ End of function sub_1DA18 .text:0001DA90 .text:0001DA94 .text:0001DA94 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001DA94 .text:0001DA94 @ Attributes: bp-based frame .text:0001DA94 .text:0001DA94 sub_1DA94: @ CODE XREF: sub_1D884+C8p .text:0001DA94 @ sub_1D884+114p .text:0001DA94 .text:0001DA94 var_54 = -0x54 .text:0001DA94 var_4C = -0x4C .text:0001DA94 var_48 = -0x48 .text:0001DA94 var_44 = -0x44 .text:0001DA94 oldR4 = -0x28 .text:0001DA94 oldR5 = -0x24 .text:0001DA94 oldR6 = -0x20 .text:0001DA94 oldR7 = -0x1C .text:0001DA94 oldR8 = -0x18 .text:0001DA94 oldR9 = -0x14 .text:0001DA94 oldR10 = -0x10 .text:0001DA94 oldR11 = -0xC .text:0001DA94 oldSP = -8 .text:0001DA94 oldLR = -4 .text:0001DA94 arg_4 = 4 .text:0001DA94 .text:0001DA94 MOV R12, SP @ Rd = Op2 .text:0001DA98 STMFD SP!, {R4-R12,LR,PC} @ Store Block to Memory .text:0001DA9C SUB R11, R12, #4 @ Rd = Op1 - Op2 .text:0001DAA0 MOV R10, #0 @ Rd = Op2 .text:0001DAA4 MOV R6, R2 @ Rd = Op2 .text:0001DAA8 MOV R5, R1 @ Rd = Op2 .text:0001DAAC SUB SP, SP, #0x28 @ Rd = Op1 - Op2 .text:0001DAB0 STR R0, [R11,#var_48] @ Store to Memory .text:0001DAB4 MOV R7, R10 @ Rd = Op2 .text:0001DAB8 MOV R9, R3 @ Rd = Op2 .text:0001DABC STR R10, [R6] @ Store to Memory .text:0001DAC0 SUB R8, R11, #0x40 @ Rd = Op1 - Op2 .text:0001DAC4 SUB R2, R11, #0x48 @ Rd = Op1 - Op2 .text:0001DAC8 STR R2, [R11,#var_4C] @ Store to Memory .text:0001DACC B loc_1DB04 @ Branch .text:0001DAD0 @ --------------------------------------------------------------------------- .text:0001DAD0 .text:0001DAD0 loc_1DAD0: @ CODE XREF: sub_1DA94+98j .text:0001DAD0 MOV R3, #0x18 @ Rd = Op2 .text:0001DAD4 STR R3, [SP,#0x54+var_54] @ Store to Memory .text:0001DAD8 MOV R1, R5 @ Rd = Op2 .text:0001DADC MOV R2, R4 @ Rd = Op2 .text:0001DAE0 LDR R0, [R11,#var_48] @ Load from Memory .text:0001DAE4 MOV R3, R8 @ Rd = Op2 .text:0001DAE8 BL sub_1D370 @ Branch with Link .text:0001DAEC LDR R2, [R11,#var_44] @ Load from Memory .text:0001DAF0 ADD R7, R7, #1 @ Rd = Op1 + Op2 .text:0001DAF4 LDR R3, [R6] @ Load from Memory .text:0001DAF8 ADD R5, R5, R2 @ Rd = Op1 + Op2 .text:0001DAFC ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:0001DB00 STR R3, [R6] @ Store to Memory .text:0001DB04 .text:0001DB04 loc_1DB04: @ CODE XREF: sub_1DA94+38j .text:0001DB04 LDR R3, [R11,#arg_4] @ Load from Memory .text:0001DB08 CMP R7, R3,LSR#5 @ Set cond. codes on Op1 - Op2 .text:0001DB0C BCS loc_1DB30 @ Branch .text:0001DB10 MOV R0, R8 @ Rd = Op2 .text:0001DB14 SUB R4, R11, #0x44 @ Rd = Op1 - Op2 .text:0001DB18 MOV R1, R4 @ Rd = Op2 .text:0001DB1C ADD R2, R9, R7,LSL#5 @ Rd = Op1 + Op2 .text:0001DB20 MOV R3, #0x20 @ ' ' @ Rd = Op2 .text:0001DB24 BL sub_24524 @ Branch with Link .text:0001DB28 SUBS R10, R0, #0 @ Rd = Op1 - Op2 .text:0001DB2C BEQ loc_1DAD0 @ Branch .text:0001DB30 .text:0001DB30 loc_1DB30: @ CODE XREF: sub_1DA94+78j .text:0001DB30 CMP R10, #0 @ Set cond. codes on Op1 - Op2 .text:0001DB34 BNE loc_1DBB0 @ Branch .text:0001DB38 MOV R0, R8 @ Rd = Op2 .text:0001DB3C SUB R4, R11, #0x44 @ Rd = Op1 - Op2 .text:0001DB40 MOV R1, R4 @ Rd = Op2 .text:0001DB44 MOV R3, R7,LSL#5 @ Rd = Op2 .text:0001DB48 LDR R12, [R11,#arg_4] @ Load from Memory .text:0001DB4C ADD R2, R9, R3 @ Rd = Op1 + Op2 .text:0001DB50 RSB R3, R3, R12 @ Rd = Op2 - Op1 .text:0001DB54 BL sub_24524 @ Branch with Link .text:0001DB58 SUBS R10, R0, #0 @ Rd = Op1 - Op2 .text:0001DB5C BNE loc_1DBB0 @ Branch .text:0001DB60 LDR R3, [R11,#var_44] @ Load from Memory .text:0001DB64 STR R3, [SP,#0x54+var_54] @ Store to Memory .text:0001DB68 MOV R1, R5 @ Rd = Op2 .text:0001DB6C MOV R2, R4 @ Rd = Op2 .text:0001DB70 LDR R0, [R11,#var_48] @ Load from Memory .text:0001DB74 MOV R3, R8 @ Rd = Op2 .text:0001DB78 BL sub_1D370 @ Branch with Link .text:0001DB7C LDR R1, [R11,#var_44] @ Load from Memory .text:0001DB80 LDR R3, [R6] @ Load from Memory .text:0001DB84 ADD R3, R3, R1 @ Rd = Op1 + Op2 .text:0001DB88 STR R3, [R6] @ Store to Memory .text:0001DB8C MOV R2, R4 @ Rd = Op2 .text:0001DB90 LDR R0, [R11,#var_48] @ Load from Memory .text:0001DB94 ADD R1, R5, R1 @ Rd = Op1 + Op2 .text:0001DB98 BL sub_1D458 @ Branch with Link .text:0001DB9C SUBS R10, R0, #0 @ Rd = Op1 - Op2 .text:0001DBA0 LDREQ R3, [R6] @ Load from Memory .text:0001DBA4 LDREQ R2, [R11,#var_44] @ Load from Memory .text:0001DBA8 ADDEQ R3, R3, R2 @ Rd = Op1 + Op2 .text:0001DBAC STREQ R3, [R6] @ Store to Memory .text:0001DBB0 .text:0001DBB0 loc_1DBB0: @ CODE XREF: sub_1DA94+A0j .text:0001DBB0 @ sub_1DA94+C8j .text:0001DBB0 MOV R1, #0 @ Rd = Op2 .text:0001DBB4 LDR R0, [R11,#var_4C] @ Load from Memory .text:0001DBB8 MOV R2, #4 @ Rd = Op2 .text:0001DBBC BL sub_1DEB4 @ Branch with Link .text:0001DBC0 MOV R0, R8 @ Rd = Op2 .text:0001DBC4 MOV R1, #0 @ Rd = Op2 .text:0001DBC8 MOV R2, #0x18 @ Rd = Op2 .text:0001DBCC BL sub_1DEB4 @ Branch with Link .text:0001DBD0 MOV R0, R10 @ Rd = Op2 .text:0001DBD4 LDMDB R11, {R4-R11,SP,PC} @ Load Block from Memory .text:0001DBD4 @ End of function sub_1DA94 .text:0001DBD4 .text:0001DBD8 .text:0001DBD8 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001DBD8 .text:0001DBD8 @ Attributes: bp-based frame .text:0001DBD8 .text:0001DBD8 sub_1DBD8: @ CODE XREF: sub_1D774+C8p .text:0001DBD8 @ sub_1D774+E4p .text:0001DBD8 .text:0001DBD8 var_60 = -0x60 .text:0001DBD8 var_58 = -0x58 .text:0001DBD8 var_54 = -0x54 .text:0001DBD8 var_50 = -0x50 .text:0001DBD8 var_4C = -0x4C .text:0001DBD8 var_48 = -0x48 .text:0001DBD8 oldR4 = -0x28 .text:0001DBD8 oldR5 = -0x24 .text:0001DBD8 oldR6 = -0x20 .text:0001DBD8 oldR7 = -0x1C .text:0001DBD8 oldR8 = -0x18 .text:0001DBD8 oldR9 = -0x14 .text:0001DBD8 oldR10 = -0x10 .text:0001DBD8 oldR11 = -0xC .text:0001DBD8 oldSP = -8 .text:0001DBD8 oldLR = -4 .text:0001DBD8 arg_4 = 4 .text:0001DBD8 .text:0001DBD8 MOV R12, SP @ Rd = Op2 .text:0001DBDC STMFD SP!, {R4-R12,LR,PC} @ Store Block to Memory .text:0001DBE0 SUB R11, R12, #4 @ Rd = Op1 - Op2 .text:0001DBE4 SUB SP, SP, #0x34 @ Rd = Op1 - Op2 .text:0001DBE8 STR R1, [R11,#var_50] @ Store to Memory .text:0001DBEC STR R2, [R11,#var_54] @ Store to Memory .text:0001DBF0 MOV R6, #0 @ Rd = Op2 .text:0001DBF4 MOV R8, R0 @ Rd = Op2 .text:0001DBF8 MOV R10, R3 @ Rd = Op2 .text:0001DBFC SUB R7, R11, #0x40 @ Rd = Op1 - Op2 .text:0001DC00 SUB R1, R11, #0x48 @ Rd = Op1 - Op2 .text:0001DC04 SUB R9, R11, #0x4C @ Rd = Op1 - Op2 .text:0001DC08 STR R1, [R11,#var_58] @ Store to Memory .text:0001DC0C B loc_1DC50 @ Branch .text:0001DC10 @ --------------------------------------------------------------------------- .text:0001DC10 .text:0001DC10 loc_1DC10: @ CODE XREF: sub_1DBD8+88j .text:0001DC10 MOV R0, R8 @ Rd = Op2 .text:0001DC14 MOV R1, R7 @ Rd = Op2 .text:0001DC18 MOV R5, #0x18 @ Rd = Op2 .text:0001DC1C STR R5, [SP,#0x60+var_60] @ Store to Memory .text:0001DC20 SUB R4, R11, #0x44 @ Rd = Op1 - Op2 .text:0001DC24 MOV R2, R4 @ Rd = Op2 .text:0001DC28 ADD R3, R6, R6,LSL#1 @ Rd = Op1 + Op2 .text:0001DC2C ADD R3, R10, R3,LSL#3 @ Rd = Op1 + Op2 .text:0001DC30 BL sub_1D160 @ Branch with Link .text:0001DC34 MOV R1, R4 @ Rd = Op2 .text:0001DC38 LDR R2, [R11,#var_50] @ Load from Memory .text:0001DC3C MOV R3, R5 @ Rd = Op2 .text:0001DC40 ADD R0, R2, R6,LSL#5 @ Rd = Op1 + Op2 .text:0001DC44 MOV R2, R7 @ Rd = Op2 .text:0001DC48 ADD R6, R6, #1 @ Rd = Op1 + Op2 .text:0001DC4C BL sub_2449C @ Branch with Link .text:0001DC50 .text:0001DC50 loc_1DC50: @ CODE XREF: sub_1DBD8+34j .text:0001DC50 LDR R0, [R11,#arg_4] @ Load from Memory .text:0001DC54 MOV R1, #0x18 @ Rd = Op2 .text:0001DC58 BL sub_2A074 @ Branch with Link .text:0001DC5C CMP R6, R0 @ Set cond. codes on Op1 - Op2 .text:0001DC60 BCC loc_1DC10 @ Branch .text:0001DC64 ADD R3, R6, R6,LSL#1 @ Rd = Op1 + Op2 .text:0001DC68 LDR R1, [R11,#arg_4] @ Load from Memory .text:0001DC6C MOV R3, R3,LSL#3 @ Rd = Op2 .text:0001DC70 RSB R2, R3, R1 @ Rd = Op2 - Op1 .text:0001DC74 STR R2, [SP,#0x60+var_60] @ Store to Memory .text:0001DC78 MOV R0, R8 @ Rd = Op2 .text:0001DC7C MOV R1, R7 @ Rd = Op2 .text:0001DC80 LDR R2, [R11,#var_58] @ Load from Memory .text:0001DC84 ADD R3, R10, R3 @ Rd = Op1 + Op2 .text:0001DC88 BL sub_1D160 @ Branch with Link .text:0001DC8C MOV R0, R8 @ Rd = Op2 .text:0001DC90 LDR R1, [R11,#var_48] @ Load from Memory .text:0001DC94 MOV R2, R9 @ Rd = Op2 .text:0001DC98 ADD R1, R7, R1 @ Rd = Op1 + Op2 .text:0001DC9C BL sub_1D244 @ Branch with Link .text:0001DCA0 SUB R2, R11, #0x48 @ Rd = Op1 - Op2 .text:0001DCA4 LDMDA R2, {R2,R3} @ Load Block from Memory .text:0001DCA8 ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:0001DCAC STR R3, [R11,#var_48] @ Store to Memory .text:0001DCB0 MOV R4, R6,LSL#5 @ Rd = Op2 .text:0001DCB4 LDR R1, [R11,#var_50] @ Load from Memory .text:0001DCB8 MOV R2, R7 @ Rd = Op2 .text:0001DCBC ADD R0, R1, R4 @ Rd = Op1 + Op2 .text:0001DCC0 MOV R1, R9 @ Rd = Op2 .text:0001DCC4 BL sub_2449C @ Branch with Link .text:0001DCC8 LDR R3, [R11,#var_4C] @ Load from Memory .text:0001DCCC LDR R2, [R11,#var_54] @ Load from Memory .text:0001DCD0 ADD R4, R4, R3 @ Rd = Op1 + Op2 .text:0001DCD4 STR R4, [R2] @ Store to Memory .text:0001DCD8 MOV R0, R7 @ Rd = Op2 .text:0001DCDC MOV R1, #0 @ Rd = Op2 .text:0001DCE0 MOV R2, #0x18 @ Rd = Op2 .text:0001DCE4 BL sub_1DEB4 @ Branch with Link .text:0001DCE8 MOV R0, #0 @ Rd = Op2 .text:0001DCEC LDMDB R11, {R4-R11,SP,PC} @ Load Block from Memory .text:0001DCEC @ End of function sub_1DBD8 .text:0001DCEC .text:0001DCF0 .text:0001DCF0 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001DCF0 .text:0001DCF0 @ Attributes: bp-based frame .text:0001DCF0 .text:0001DCF0 sub_1DCF0: @ CODE XREF: sub_1CE04+60p .text:0001DCF0 @ sub_1CF10+74p .text:0001DCF0 .text:0001DCF0 oldR4 = -0x14 .text:0001DCF0 oldR5 = -0x10 .text:0001DCF0 oldR11 = -0xC .text:0001DCF0 oldSP = -8 .text:0001DCF0 oldLR = -4 .text:0001DCF0 .text:0001DCF0 MOV R12, SP @ Rd = Op2 .text:0001DCF4 STMFD SP!, {R4,R5,R11,R12,LR,PC} @ Store Block to Memory .text:0001DCF8 SUB R11, R12, #4 @ Rd = Op1 - Op2 .text:0001DCFC MOV R4, R0 @ Rd = Op2 .text:0001DD00 MOV R5, R2 @ Rd = Op2 .text:0001DD04 CMP R1, #3 @ Set cond. codes on Op1 - Op2 .text:0001DD08 LDMEQDB R11, {R4,R5,R11,SP,PC} @ Load Block from Memory .text:0001DD0C STRB R1, [R4,#0xD] @ Store to Memory .text:0001DD10 ADD R0, R4, #0xE @ Rd = Op1 + Op2 .text:0001DD14 LDR R1, =dword_3CA85 @ Load from Memory .text:0001DD18 MOV R2, #4 @ Rd = Op2 .text:0001DD1C BL sub_1DED8 @ Branch with Link .text:0001DD20 MOV R0, R4 @ Rd = Op2 .text:0001DD24 LDR R1, =dword_3CA78 @ Load from Memory .text:0001DD28 MOV R2, #0xD @ Rd = Op2 .text:0001DD2C BL sub_1DED8 @ Branch with Link .text:0001DD30 ADD R0, R4, #0x12 @ Rd = Op1 + Op2 .text:0001DD34 MOV R1, R5 @ Rd = Op2 .text:0001DD38 MOV R2, #0x10 @ Rd = Op2 .text:0001DD3C BL sub_1DED8 @ Branch with Link .text:0001DD40 LDMDB R11, {R4,R5,R11,SP,PC} @ Load Block from Memory .text:0001DD40 @ End of function sub_1DCF0 .text:0001DD40 .text:0001DD40 @ --------------------------------------------------------------------------- .text:0001DD44 off_1DD44: .long dword_3CA85 @ DATA XREF: sub_1DCF0+24r .text:0001DD48 off_1DD48: .long dword_3CA78 @ DATA XREF: sub_1DCF0+34r .text:0001DD4C .text:0001DD4C @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001DD4C .text:0001DD4C .text:0001DD4C sub_1DD4C: @ CODE XREF: sub_1CF10+B4p .text:0001DD4C MOV R12, SP @ Rd = Op2 .text:0001DD50 STMFD SP!, {R11,R12,LR,PC} @ Store Block to Memory .text:0001DD54 LDRB R2, [R0,#0xD] @ Load from Memory .text:0001DD58 LDRB R3, [R1,#0xD] @ Load from Memory .text:0001DD5C SUB R11, R12, #4 @ Rd = Op1 - Op2 .text:0001DD60 CMP R2, R3 @ Set cond. codes on Op1 - Op2 .text:0001DD64 MOVLNE R0, 0x40B .text:0001DD6C LDMNEDB R11, {R11,SP,PC} @ Load Block from Memory .text:0001DD70 MOV R0, #0 @ Rd = Op2 .text:0001DD74 LDMDB R11, {R11,SP,PC} @ Load Block from Memory .text:0001DD74 @ End of function sub_1DD4C .text:0001DD74 .text:0001DD78 .text:0001DD78 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001DD78 .text:0001DD78 @ Attributes: bp-based frame .text:0001DD78 .text:0001DD78 sub_1DD78: @ CODE XREF: sub_1D038+A0p .text:0001DD78 @ sub_1D2AC+A0p .text:0001DD78 .text:0001DD78 oldR11 = -0xC .text:0001DD78 oldSP = -8 .text:0001DD78 oldLR = -4 .text:0001DD78 arg_4 = 4 .text:0001DD78 arg_8 = 8 .text:0001DD78 .text:0001DD78 MOV R12, SP @ Rd = Op2 .text:0001DD7C STMFD SP!, {R11,R12,LR,PC} @ Store Block to Memory .text:0001DD80 SUB R11, R12, #4 @ Rd = Op1 - Op2 .text:0001DD84 LDR R12, [R11,#arg_4] @ Load from Memory .text:0001DD88 SUB R1, R1, #1 @ Rd = Op1 - Op2 .text:0001DD8C LDR R3, [R11,#arg_8] @ Load from Memory .text:0001DD90 CMP R1, #3 @ Set cond. codes on Op1 - Op2 .text:0001DD94 LDRLS PC, [PC,R1,LSL#2] @ Indirect Jump .text:0001DD98 B loc_1DDE8 @ Branch .text:0001DD98 @ --------------------------------------------------------------------------- .text:0001DD9C .long loc_1DDAC .text:0001DDA0 .long loc_1DDD4 .text:0001DDA4 .long loc_1DDD4 .text:0001DDA8 .long loc_1DDC0 .text:0001DDAC @ --------------------------------------------------------------------------- .text:0001DDAC .text:0001DDAC loc_1DDAC: @ CODE XREF: sub_1DD78+1Cj .text:0001DDAC @ DATA XREF: sub_1DD78+24o .text:0001DDAC ADD R0, R0, #4 @ Rd = Op1 + Op2 .text:0001DDB0 MOV R1, R2 @ Rd = Op2 .text:0001DDB4 MOV R2, R12 @ Rd = Op2 .text:0001DDB8 BL sub_21C68 @ Branch with Link .text:0001DDBC B loc_1DDF4 @ Branch .text:0001DDC0 @ --------------------------------------------------------------------------- .text:0001DDC0 .text:0001DDC0 loc_1DDC0: @ CODE XREF: sub_1DD78+1Cj .text:0001DDC0 @ DATA XREF: sub_1DD78+30o .text:0001DDC0 ADD R0, R0, #4 @ Rd = Op1 + Op2 .text:0001DDC4 MOV R1, R2 @ Rd = Op2 .text:0001DDC8 MOV R2, R12 @ Rd = Op2 .text:0001DDCC BL sub_21E08 @ Branch with Link .text:0001DDD0 B loc_1DDF4 @ Branch .text:0001DDD4 @ --------------------------------------------------------------------------- .text:0001DDD4 .text:0001DDD4 loc_1DDD4: @ CODE XREF: sub_1DD78+1Cj .text:0001DDD4 @ DATA XREF: sub_1DD78+28o ... .text:0001DDD4 ADD R0, R0, #4 @ Rd = Op1 + Op2 .text:0001DDD8 MOV R1, R2 @ Rd = Op2 .text:0001DDDC MOV R2, R12 @ Rd = Op2 .text:0001DDE0 BL sub_22014 @ Branch with Link .text:0001DDE4 B loc_1DDF4 @ Branch .text:0001DDE8 @ --------------------------------------------------------------------------- .text:0001DDE8 .text:0001DDE8 loc_1DDE8: @ CODE XREF: sub_1DD78+20j .text:0001DDE8 MOVL R0, 0x40D .text:0001DDF0 LDMDB R11, {R11,SP,PC} @ Load Block from Memory .text:0001DDF4 @ --------------------------------------------------------------------------- .text:0001DDF4 .text:0001DDF4 loc_1DDF4: @ CODE XREF: sub_1DD78+44j .text:0001DDF4 @ sub_1DD78+58j ... .text:0001DDF4 MOV R0, #0 @ Rd = Op2 .text:0001DDF8 LDMDB R11, {R11,SP,PC} @ Load Block from Memory .text:0001DDF8 @ End of function sub_1DD78 .text:0001DDF8 .text:0001DDFC .text:0001DDFC @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001DDFC .text:0001DDFC @ Attributes: bp-based frame .text:0001DDFC .text:0001DDFC sub_1DDFC: @ CODE XREF: sub_1D160+5Cp .text:0001DDFC @ sub_1D160+80p ... .text:0001DDFC .text:0001DDFC oldR11 = -0xC .text:0001DDFC oldSP = -8 .text:0001DDFC oldLR = -4 .text:0001DDFC .text:0001DDFC MOV R12, SP @ Rd = Op2 .text:0001DE00 STMFD SP!, {R11,R12,LR,PC} @ Store Block to Memory .text:0001DE04 SUB R11, R12, #4 @ Rd = Op1 - Op2 .text:0001DE08 MOV R12, R2 @ Rd = Op2 .text:0001DE0C LDR R2, [R0] @ Load from Memory .text:0001DE10 SUB R2, R2, #1 @ Rd = Op1 - Op2 .text:0001DE14 CMP R2, #3 @ Set cond. codes on Op1 - Op2 .text:0001DE18 LDRLS PC, [PC,R2,LSL#2] @ Indirect Jump .text:0001DE1C B loc_1DE5C @ Branch .text:0001DE1C @ --------------------------------------------------------------------------- .text:0001DE20 .long loc_1DE30 .text:0001DE24 .long loc_1DE50 .text:0001DE28 .long loc_1DE50 .text:0001DE2C .long loc_1DE40 .text:0001DE30 @ --------------------------------------------------------------------------- .text:0001DE30 .text:0001DE30 loc_1DE30: @ CODE XREF: sub_1DDFC+1Cj .text:0001DE30 @ DATA XREF: sub_1DDFC+24o .text:0001DE30 ADD R0, R0, #4 @ Rd = Op1 + Op2 .text:0001DE34 MOV R2, R12 @ Rd = Op2 .text:0001DE38 BL sub_21CB4 @ Branch with Link .text:0001DE3C LDMDB R11, {R11,SP,PC} @ Load Block from Memory .text:0001DE40 @ --------------------------------------------------------------------------- .text:0001DE40 .text:0001DE40 loc_1DE40: @ CODE XREF: sub_1DDFC+1Cj .text:0001DE40 @ DATA XREF: sub_1DDFC+30o .text:0001DE40 ADD R0, R0, #4 @ Rd = Op1 + Op2 .text:0001DE44 MOV R2, R12 @ Rd = Op2 .text:0001DE48 BL sub_21E6C @ Branch with Link .text:0001DE4C LDMDB R11, {R11,SP,PC} @ Load Block from Memory .text:0001DE50 @ --------------------------------------------------------------------------- .text:0001DE50 .text:0001DE50 loc_1DE50: @ CODE XREF: sub_1DDFC+1Cj .text:0001DE50 @ DATA XREF: sub_1DDFC+28o ... .text:0001DE50 ADD R0, R0, #4 @ Rd = Op1 + Op2 .text:0001DE54 MOV R2, R12 @ Rd = Op2 .text:0001DE58 BL sub_2209C @ Branch with Link .text:0001DE5C .text:0001DE5C loc_1DE5C: @ CODE XREF: sub_1DDFC+20j .text:0001DE5C LDMDB R11, {R11,SP,PC} @ Load Block from Memory .text:0001DE5C @ End of function sub_1DDFC .text:0001DE5C .text:0001DE60 .text:0001DE60 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001DE60 .text:0001DE60 .text:0001DE60 sub_1DE60: @ CODE XREF: sub_1D244+54p .text:0001DE60 @ sub_1D458+BCp .text:0001DE60 MOV R12, SP @ Rd = Op2 .text:0001DE64 STMFD SP!, {R11,R12,LR,PC} @ Store Block to Memory .text:0001DE68 LDR R3, [R0] @ Load from Memory .text:0001DE6C SUB R11, R12, #4 @ Rd = Op1 - Op2 .text:0001DE70 SUB R3, R3, #1 @ Rd = Op1 - Op2 .text:0001DE74 CMP R3, #3 @ Set cond. codes on Op1 - Op2 .text:0001DE78 LDRLS PC, [PC,R3,LSL#2] @ Indirect Jump .text:0001DE7C B loc_1DEB0 @ Branch .text:0001DE7C @ --------------------------------------------------------------------------- .text:0001DE80 .long loc_1DE90 .text:0001DE84 .long loc_1DEA8 .text:0001DE88 .long loc_1DEA8 .text:0001DE8C .long loc_1DE9C .text:0001DE90 @ --------------------------------------------------------------------------- .text:0001DE90 .text:0001DE90 loc_1DE90: @ CODE XREF: sub_1DE60+18j .text:0001DE90 @ DATA XREF: sub_1DE60+20o .text:0001DE90 ADD R0, R0, #4 @ Rd = Op1 + Op2 .text:0001DE94 BL sub_21DE8 @ Branch with Link .text:0001DE98 LDMDB R11, {R11,SP,PC} @ Load Block from Memory .text:0001DE9C @ --------------------------------------------------------------------------- .text:0001DE9C .text:0001DE9C loc_1DE9C: @ CODE XREF: sub_1DE60+18j .text:0001DE9C @ DATA XREF: sub_1DE60+2Co .text:0001DE9C ADD R0, R0, #4 @ Rd = Op1 + Op2 .text:0001DEA0 BL sub_21FF4 @ Branch with Link .text:0001DEA4 LDMDB R11, {R11,SP,PC} @ Load Block from Memory .text:0001DEA8 @ --------------------------------------------------------------------------- .text:0001DEA8 .text:0001DEA8 loc_1DEA8: @ CODE XREF: sub_1DE60+18j .text:0001DEA8 @ DATA XREF: sub_1DE60+24o ... .text:0001DEA8 ADD R0, R0, #4 @ Rd = Op1 + Op2 .text:0001DEAC BL sub_221F0 @ Branch with Link .text:0001DEB0 .text:0001DEB0 loc_1DEB0: @ CODE XREF: sub_1DE60+1Cj .text:0001DEB0 LDMDB R11, {R11,SP,PC} @ Load Block from Memory .text:0001DEB0 @ End of function sub_1DE60 .text:0001DEB0 .text:0001DEB4 .text:0001DEB4 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001DEB4 .text:0001DEB4 @ Attributes: bp-based frame .text:0001DEB4 .text:0001DEB4 sub_1DEB4: @ CODE XREF: verify_sig+D8p .text:0001DEB4 @ verify_sig:loc_1C540p ... .text:0001DEB4 .text:0001DEB4 oldR11 = -0xC .text:0001DEB4 oldSP = -8 .text:0001DEB4 oldLR = -4 .text:0001DEB4 .text:0001DEB4 MOV R12, SP @ Rd = Op2 .text:0001DEB8 STMFD SP!, {R11,R12,LR,PC} @ Store Block to Memory .text:0001DEBC SUB R11, R12, #4 @ Rd = Op1 - Op2 .text:0001DEC0 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0001DEC4 LDMEQDB R11, {R11,SP,PC} @ Load Block from Memory .text:0001DEC8 .text:0001DEC8 loc_1DEC8: @ CODE XREF: sub_1DEB4+1Cj .text:0001DEC8 SUBS R2, R2, #1 @ Rd = Op1 - Op2 .text:0001DECC STRB R1, [R0],#1 @ Store to Memory .text:0001DED0 BNE loc_1DEC8 @ Branch .text:0001DED4 LDMDB R11, {R11,SP,PC} @ Load Block from Memory .text:0001DED4 @ End of function sub_1DEB4 .text:0001DED4 .text:0001DED8 .text:0001DED8 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001DED8 .text:0001DED8 @ Attributes: bp-based frame .text:0001DED8 .text:0001DED8 sub_1DED8: @ CODE XREF: sub_1D038+80p .text:0001DED8 @ sub_1D160+40p ... .text:0001DED8 .text:0001DED8 oldR11 = -0xC .text:0001DED8 oldSP = -8 .text:0001DED8 oldLR = -4 .text:0001DED8 .text:0001DED8 MOV R12, SP @ Rd = Op2 .text:0001DEDC STMFD SP!, {R11,R12,LR,PC} @ Store Block to Memory .text:0001DEE0 SUB R11, R12, #4 @ Rd = Op1 - Op2 .text:0001DEE4 CMP R2, #0 @ Set cond. codes on Op1 - Op2 .text:0001DEE8 LDMEQDB R11, {R11,SP,PC} @ Load Block from Memory .text:0001DEEC .text:0001DEEC loc_1DEEC: @ CODE XREF: sub_1DED8+20j .text:0001DEEC LDRB R3, [R1],#1 @ Load from Memory .text:0001DEF0 SUBS R2, R2, #1 @ Rd = Op1 - Op2 .text:0001DEF4 STRB R3, [R0],#1 @ Store to Memory .text:0001DEF8 BNE loc_1DEEC @ Branch .text:0001DEFC LDMDB R11, {R11,SP,PC} @ Load Block from Memory .text:0001DEFC @ End of function sub_1DED8 .text:0001DEFC .text:0001DF00 .text:0001DF00 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001DF00 .text:0001DF00 @ Attributes: bp-based frame .text:0001DF00 .text:0001DF00 sub_1DF00: @ CODE XREF: sub_1CF10+CCp .text:0001DF00 @ sub_1D458+80p .text:0001DF00 .text:0001DF00 oldR11 = -0xC .text:0001DF00 oldSP = -8 .text:0001DF00 oldLR = -4 .text:0001DF00 .text:0001DF00 MOV R12, SP @ Rd = Op2 .text:0001DF04 STMFD SP!, {R11,R12,LR,PC} @ Store Block to Memory .text:0001DF08 SUB R11, R12, #4 @ Rd = Op1 - Op2 .text:0001DF0C SUBS R12, R2, #0 @ Rd = Op1 - Op2 .text:0001DF10 BEQ loc_1DF38 @ Branch .text:0001DF14 .text:0001DF14 loc_1DF14: @ CODE XREF: sub_1DF00+34j .text:0001DF14 LDRB R2, [R0],#1 @ Load from Memory .text:0001DF18 LDRB R3, [R1],#1 @ Load from Memory .text:0001DF1C CMP R2, R3 @ Set cond. codes on Op1 - Op2 .text:0001DF20 LDRNEB R3, [R0,#-1] @ Load from Memory .text:0001DF24 LDRNEB R0, [R1,#-1] @ Load from Memory .text:0001DF28 RSBNE R0, R0, R3 @ Rd = Op2 - Op1 .text:0001DF2C LDMNEDB R11, {R11,SP,PC} @ Load Block from Memory .text:0001DF30 SUBS R12, R12, #1 @ Rd = Op1 - Op2 .text:0001DF34 BNE loc_1DF14 @ Branch .text:0001DF38 .text:0001DF38 loc_1DF38: @ CODE XREF: sub_1DF00+10j .text:0001DF38 MOV R0, #0 @ Rd = Op2 .text:0001DF3C LDMDB R11, {R11,SP,PC} @ Load Block from Memory .text:0001DF3C @ End of function sub_1DF00 .text:0001DF3C .text:0001DF40 .text:0001DF40 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001DF40 .text:0001DF40 @ Attributes: library function .text:0001DF40 .text:0001DF40 SHA1_Init: @ CODE XREF: sub_1CC40+34p .text:0001DF40 MOV R12, SP @ Rd = Op2 .text:0001DF44 STMFD SP!, {R11,R12,LR,PC} @ Store Block to Memory .text:0001DF48 MOV R2, #0 @ Rd = Op2 .text:0001DF4C STR R2, [R0,#0x18] @ Store to Memory .text:0001DF50 STR R2, [R0,#0x14] @ Store to Memory .text:0001DF54 LDR R3, =0x67452301 @ Load from Memory .text:0001DF58 STR R3, [R0] @ Store to Memory .text:0001DF5C LDR R2, =0xEFCDAB89 @ Load from Memory .text:0001DF60 STR R2, [R0,#4] @ Store to Memory .text:0001DF64 LDR R3, =0x98BADCFE @ Load from Memory .text:0001DF68 STR R3, [R0,#8] @ Store to Memory .text:0001DF6C LDR R2, =0x10325476 @ Load from Memory .text:0001DF70 STR R2, [R0,#0xC] @ Store to Memory .text:0001DF74 LDR R3, =0xC3D2E1F0 @ Load from Memory .text:0001DF78 SUB R11, R12, #4 @ Rd = Op1 - Op2 .text:0001DF7C STR R3, [R0,#0x10] @ Store to Memory .text:0001DF80 LDMDB R11, {R11,SP,PC} @ Load Block from Memory .text:0001DF80 @ End of function SHA1_Init .text:0001DF80 .text:0001DF80 @ --------------------------------------------------------------------------- .text:0001DF84 dword_1DF84: .long 0x67452301 @ DATA XREF: SHA1_Init+14r .text:0001DF88 dword_1DF88: .long 0xEFCDAB89 @ DATA XREF: SHA1_Init+1Cr .text:0001DF8C dword_1DF8C: .long 0x98BADCFE @ DATA XREF: SHA1_Init+24r .text:0001DF90 dword_1DF90: .long 0x10325476 @ DATA XREF: SHA1_Init+2Cr .text:0001DF94 dword_1DF94: .long 0xC3D2E1F0 @ DATA XREF: SHA1_Init+34r .text:0001DF98 .text:0001DF98 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001DF98 .text:0001DF98 @ Attributes: library function bp-based frame .text:0001DF98 .text:0001DF98 SHA1_Update: @ CODE XREF: hash_update+34p .text:0001DF98 .text:0001DF98 oldR4 = -0x20 .text:0001DF98 oldR5 = -0x1C .text:0001DF98 oldR6 = -0x18 .text:0001DF98 oldR7 = -0x14 .text:0001DF98 oldR8 = -0x10 .text:0001DF98 oldR11 = -0xC .text:0001DF98 oldSP = -8 .text:0001DF98 oldLR = -4 .text:0001DF98 .text:0001DF98 MOV R12, SP @ Rd = Op2 .text:0001DF9C STMFD SP!, {R4-R8,R11,R12,LR,PC} @ Store Block to Memory .text:0001DFA0 SUB R11, R12, #4 @ Rd = Op1 - Op2 .text:0001DFA4 MOV R7, R1 @ Rd = Op2 .text:0001DFA8 MOV R5, R2 @ Rd = Op2 .text:0001DFAC MOV R4, R0 @ Rd = Op2 .text:0001DFB0 LDR R3, [R4,#0x14] @ Load from Memory .text:0001DFB4 MOV R2, R5,LSL#3 @ Rd = Op2 .text:0001DFB8 CMN R3, R2 @ Set cond. codes on Op1 + Op2 .text:0001DFBC LDRCS R3, [R4,#0x18] @ Load from Memory .text:0001DFC0 ADDCS R3, R3, #1 @ Rd = Op1 + Op2 .text:0001DFC4 STRCS R3, [R4,#0x18] @ Store to Memory .text:0001DFC8 LDR R3, [R4,#0x14] @ Load from Memory .text:0001DFCC ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:0001DFD0 STR R3, [R4,#0x14] @ Store to Memory .text:0001DFD4 CMP R5, #0x3F @ '?' @ Set cond. codes on Op1 - Op2 .text:0001DFD8 LDR R2, [R4,#0x18] @ Load from Memory .text:0001DFDC ADD R8, R4, #0x1C @ Rd = Op1 + Op2 .text:0001DFE0 ADD R2, R2, R5,LSR#29 @ Rd = Op1 + Op2 .text:0001DFE4 STR R2, [R4,#0x18] @ Store to Memory .text:0001DFE8 BLE loc_1E024 @ Branch .text:0001DFEC MOV R6, R8 @ Rd = Op2 .text:0001DFF0 .text:0001DFF0 loc_1DFF0: @ CODE XREF: SHA1_Update+88j .text:0001DFF0 MOV R0, R6 @ Rd = Op2 .text:0001DFF4 MOV R1, R7 @ Rd = Op2 .text:0001DFF8 MOV R2, #0x40 @ '@' @ Rd = Op2 .text:0001DFFC BL sub_1DED8 @ Branch with Link .text:0001E000 MOV R0, R6 @ Rd = Op2 .text:0001E004 MOV R1, #0x40 @ '@' @ Rd = Op2 .text:0001E008 BL sub_1E118 @ Branch with Link .text:0001E00C MOV R0, R4 @ Rd = Op2 .text:0001E010 ADD R7, R7, #0x40 @ Rd = Op1 + Op2 .text:0001E014 SUB R5, R5, #0x40 @ Rd = Op1 - Op2 .text:0001E018 BL sha1_block_host_order @ Branch with Link .text:0001E01C CMP R5, #0x3F @ '?' @ Set cond. codes on Op1 - Op2 .text:0001E020 BGT loc_1DFF0 @ Branch .text:0001E024 .text:0001E024 loc_1E024: @ CODE XREF: SHA1_Update+50j .text:0001E024 MOV R0, R8 @ Rd = Op2 .text:0001E028 MOV R1, R7 @ Rd = Op2 .text:0001E02C MOV R2, R5 @ Rd = Op2 .text:0001E030 BL sub_1DED8 @ Branch with Link .text:0001E034 LDMDB R11, {R4-R8,R11,SP,PC} @ Load Block from Memory .text:0001E034 @ End of function SHA1_Update .text:0001E034 .text:0001E038 .text:0001E038 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001E038 .text:0001E038 @ Attributes: library function bp-based frame .text:0001E038 .text:0001E038 SHA1_Final: @ CODE XREF: sub_1CD28+50p .text:0001E038 .text:0001E038 oldR4 = -0x20 .text:0001E038 oldR5 = -0x1C .text:0001E038 oldR6 = -0x18 .text:0001E038 oldR7 = -0x14 .text:0001E038 oldR8 = -0x10 .text:0001E038 oldR11 = -0xC .text:0001E038 oldSP = -8 .text:0001E038 oldLR = -4 .text:0001E038 .text:0001E038 MOV R12, SP @ Rd = Op2 .text:0001E03C STMFD SP!, {R4-R8,R11,R12,LR,PC} @ Store Block to Memory .text:0001E040 SUB R11, R12, #4 @ Rd = Op1 - Op2 .text:0001E044 MOV R5, R1 @ Rd = Op2 .text:0001E048 LDR R6, [R5,#0x14] @ Load from Memory .text:0001E04C MOV R8, R0 @ Rd = Op2 .text:0001E050 LDR R7, [R5,#0x18] @ Load from Memory .text:0001E054 MOV R3, R6,LSR#3 @ Rd = Op2 .text:0001E058 AND R12, R3, #0x3F @ Rd = Op1 & Op2 .text:0001E05C ADD R2, R12, R5 @ Rd = Op1 + Op2 .text:0001E060 ADD R12, R12, #1 @ Rd = Op1 + Op2 .text:0001E064 MOV R3, #0x80 @ 'Ç' @ Rd = Op2 .text:0001E068 CMP R12, #0x38 @ '8' @ Set cond. codes on Op1 - Op2 .text:0001E06C STRB R3, [R2,#0x1C] @ Store to Memory .text:0001E070 BLE loc_1E0B4 @ Branch .text:0001E074 ADD R0, R12, #0x1C @ Rd = Op1 + Op2 .text:0001E078 ADD R0, R5, R0 @ Rd = Op1 + Op2 .text:0001E07C MOV R1, #0 @ Rd = Op2 .text:0001E080 RSB R2, R12, #0x40 @ Rd = Op2 - Op1 .text:0001E084 BL sub_1DEB4 @ Branch with Link .text:0001E088 ADD R4, R5, #0x1C @ Rd = Op1 + Op2 .text:0001E08C MOV R0, R4 @ Rd = Op2 .text:0001E090 MOV R1, #0x40 @ '@' @ Rd = Op2 .text:0001E094 BL sub_1E118 @ Branch with Link .text:0001E098 MOV R0, R5 @ Rd = Op2 .text:0001E09C BL sha1_block_host_order @ Branch with Link .text:0001E0A0 MOV R0, R4 @ Rd = Op2 .text:0001E0A4 MOV R1, #0 @ Rd = Op2 .text:0001E0A8 MOV R2, #0x38 @ '8' @ Rd = Op2 .text:0001E0AC BL sub_1DEB4 @ Branch with Link .text:0001E0B0 B loc_1E0CC @ Branch .text:0001E0B4 @ --------------------------------------------------------------------------- .text:0001E0B4 .text:0001E0B4 loc_1E0B4: @ CODE XREF: SHA1_Final+38j .text:0001E0B4 ADD R0, R12, #0x1C @ Rd = Op1 + Op2 .text:0001E0B8 ADD R0, R5, R0 @ Rd = Op1 + Op2 .text:0001E0BC MOV R1, #0 @ Rd = Op2 .text:0001E0C0 RSB R2, R12, #0x38 @ Rd = Op2 - Op1 .text:0001E0C4 ADD R4, R5, #0x1C @ Rd = Op1 + Op2 .text:0001E0C8 BL sub_1DEB4 @ Branch with Link .text:0001E0CC .text:0001E0CC loc_1E0CC: @ CODE XREF: SHA1_Final+78j .text:0001E0CC MOV R0, R4 @ Rd = Op2 .text:0001E0D0 MOV R1, #0x40 @ '@' @ Rd = Op2 .text:0001E0D4 BL sub_1E118 @ Branch with Link .text:0001E0D8 STR R7, [R5,#0x54] @ Store to Memory .text:0001E0DC STR R6, [R5,#0x58] @ Store to Memory .text:0001E0E0 MOV R0, R5 @ Rd = Op2 .text:0001E0E4 BL sha1_block_host_order @ Branch with Link .text:0001E0E8 MOV R0, R4 @ Rd = Op2 .text:0001E0EC MOV R1, #0x14 @ Rd = Op2 .text:0001E0F0 BL sub_1E118 @ Branch with Link .text:0001E0F4 MOV R0, R8 @ Rd = Op2 .text:0001E0F8 MOV R1, R5 @ Rd = Op2 .text:0001E0FC MOV R2, #0x14 @ Rd = Op2 .text:0001E100 BL sub_1F9C8 @ Branch with Link .text:0001E104 MOV R0, R5 @ Rd = Op2 .text:0001E108 MOV R1, #0 @ Rd = Op2 .text:0001E10C MOV R2, #0x5C @ '\' @ Rd = Op2 .text:0001E110 BL sub_1DEB4 @ Branch with Link .text:0001E114 LDMDB R11, {R4-R8,R11,SP,PC} @ Load Block from Memory .text:0001E114 @ End of function SHA1_Final .text:0001E114 .text:0001E118 .text:0001E118 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001E118 .text:0001E118 .text:0001E118 sub_1E118: @ CODE XREF: SHA1_Update+70p .text:0001E118 @ SHA1_Final+5Cp ... .text:0001E118 MOV R12, SP @ Rd = Op2 .text:0001E11C STMFD SP!, {R4,R11,R12,LR,PC} @ Store Block to Memory .text:0001E120 LDR R3, =dword_2D080 @ Load from Memory .text:0001E124 SUB R11, R12, #4 @ Rd = Op1 - Op2 .text:0001E128 LDRB R2, [R3,#1] @ Load from Memory .text:0001E12C MOV R4, R1 @ Rd = Op2 .text:0001E130 CMP R2, #0x23 @ '#' @ Set cond. codes on Op1 - Op2 .text:0001E134 LDMEQDB R11, {R4,R11,SP,PC} @ Load Block from Memory .text:0001E138 MOV R4, R4,LSR#2 @ Rd = Op2 .text:0001E13C MOV R12, #0 @ Rd = Op2 .text:0001E140 CMP R12, R4 @ Set cond. codes on Op1 - Op2 .text:0001E144 LDMGEDB R11, {R4,R11,SP,PC} @ Load Block from Memory .text:0001E148 MOVL R1, 0xFF00FF00 .text:0001E150 MOVL LR, 0xFF00FF .text:0001E158 .text:0001E158 loc_1E158: @ CODE XREF: sub_1E118+64j .text:0001E158 LDR R3, [R0,R12,LSL#2] @ Load from Memory .text:0001E15C MOV R3, R3,ROR#16 @ Rd = Op2 .text:0001E160 AND R2, R3, R1 @ Rd = Op1 & Op2 .text:0001E164 AND R3, R3, LR @ Rd = Op1 & Op2 .text:0001E168 MOV R3, R3,LSL#8 @ Rd = Op2 .text:0001E16C ORR R3, R3, R2,LSR#8 @ Rd = Op2 | Op1 .text:0001E170 STR R3, [R0,R12,LSL#2] @ Store to Memory .text:0001E174 ADD R12, R12, #1 @ Rd = Op1 + Op2 .text:0001E178 CMP R12, R4 @ Set cond. codes on Op1 - Op2 .text:0001E17C BLT loc_1E158 @ Branch .text:0001E180 LDMDB R11, {R4,R11,SP,PC} @ Load Block from Memory .text:0001E180 @ End of function sub_1E118 .text:0001E180 .text:0001E180 @ --------------------------------------------------------------------------- .text:0001E184 off_1E184: .long dword_2D080 @ DATA XREF: sub_1E118+8r .text:0001E188 .text:0001E188 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001E188 .text:0001E188 @ Attributes: library function bp-based frame .text:0001E188 .text:0001E188 sha1_block_host_order: @ CODE XREF: SHA1_Update+80p .text:0001E188 @ SHA1_Final+64p ... .text:0001E188 .text:0001E188 var_228 = -0x228 .text:0001E188 var_224 = -0x224 .text:0001E188 var_220 = -0x220 .text:0001E188 var_21C = -0x21C .text:0001E188 var_218 = -0x218 .text:0001E188 var_214 = -0x214 .text:0001E188 var_210 = -0x210 .text:0001E188 var_20C = -0x20C .text:0001E188 var_208 = -0x208 .text:0001E188 var_204 = -0x204 .text:0001E188 var_200 = -0x200 .text:0001E188 var_1FC = -0x1FC .text:0001E188 var_1F8 = -0x1F8 .text:0001E188 var_1F4 = -0x1F4 .text:0001E188 var_1F0 = -0x1F0 .text:0001E188 var_1EC = -0x1EC .text:0001E188 var_1E4 = -0x1E4 .text:0001E188 var_1E0 = -0x1E0 .text:0001E188 var_1D8 = -0x1D8 .text:0001E188 var_1D4 = -0x1D4 .text:0001E188 var_1D0 = -0x1D0 .text:0001E188 var_1CC = -0x1CC .text:0001E188 var_1C8 = -0x1C8 .text:0001E188 var_1C4 = -0x1C4 .text:0001E188 var_1C0 = -0x1C0 .text:0001E188 var_1BC = -0x1BC .text:0001E188 var_1B8 = -0x1B8 .text:0001E188 var_1B4 = -0x1B4 .text:0001E188 var_1B0 = -0x1B0 .text:0001E188 var_1AC = -0x1AC .text:0001E188 var_1A8 = -0x1A8 .text:0001E188 var_1A4 = -0x1A4 .text:0001E188 var_1A0 = -0x1A0 .text:0001E188 var_19C = -0x19C .text:0001E188 var_198 = -0x198 .text:0001E188 var_194 = -0x194 .text:0001E188 var_190 = -0x190 .text:0001E188 var_18C = -0x18C .text:0001E188 var_188 = -0x188 .text:0001E188 var_184 = -0x184 .text:0001E188 var_180 = -0x180 .text:0001E188 var_17C = -0x17C .text:0001E188 var_178 = -0x178 .text:0001E188 var_174 = -0x174 .text:0001E188 var_170 = -0x170 .text:0001E188 var_16C = -0x16C .text:0001E188 var_168 = -0x168 .text:0001E188 var_164 = -0x164 .text:0001E188 var_160 = -0x160 .text:0001E188 var_15C = -0x15C .text:0001E188 var_158 = -0x158 .text:0001E188 var_154 = -0x154 .text:0001E188 var_150 = -0x150 .text:0001E188 var_14C = -0x14C .text:0001E188 var_148 = -0x148 .text:0001E188 var_144 = -0x144 .text:0001E188 var_140 = -0x140 .text:0001E188 var_13C = -0x13C .text:0001E188 var_138 = -0x138 .text:0001E188 var_134 = -0x134 .text:0001E188 var_130 = -0x130 .text:0001E188 var_12C = -0x12C .text:0001E188 var_128 = -0x128 .text:0001E188 var_124 = -0x124 .text:0001E188 var_120 = -0x120 .text:0001E188 var_11C = -0x11C .text:0001E188 var_118 = -0x118 .text:0001E188 var_114 = -0x114 .text:0001E188 var_110 = -0x110 .text:0001E188 var_10C = -0x10C .text:0001E188 var_108 = -0x108 .text:0001E188 var_104 = -0x104 .text:0001E188 var_100 = -0x100 .text:0001E188 var_FC = -0xFC .text:0001E188 var_F8 = -0xF8 .text:0001E188 var_F4 = -0xF4 .text:0001E188 var_F0 = -0xF0 .text:0001E188 var_EC = -0xEC .text:0001E188 var_E8 = -0xE8 .text:0001E188 var_E4 = -0xE4 .text:0001E188 var_E0 = -0xE0 .text:0001E188 var_DC = -0xDC .text:0001E188 var_D8 = -0xD8 .text:0001E188 var_D4 = -0xD4 .text:0001E188 var_D0 = -0xD0 .text:0001E188 var_CC = -0xCC .text:0001E188 var_C8 = -0xC8 .text:0001E188 var_C4 = -0xC4 .text:0001E188 var_C0 = -0xC0 .text:0001E188 var_BC = -0xBC .text:0001E188 var_B8 = -0xB8 .text:0001E188 var_B4 = -0xB4 .text:0001E188 var_B0 = -0xB0 .text:0001E188 var_AC = -0xAC .text:0001E188 var_A8 = -0xA8 .text:0001E188 var_A4 = -0xA4 .text:0001E188 var_A0 = -0xA0 .text:0001E188 var_9C = -0x9C .text:0001E188 var_98 = -0x98 .text:0001E188 var_94 = -0x94 .text:0001E188 var_90 = -0x90 .text:0001E188 var_8C = -0x8C .text:0001E188 var_88 = -0x88 .text:0001E188 var_84 = -0x84 .text:0001E188 var_80 = -0x80 .text:0001E188 var_7C = -0x7C .text:0001E188 var_78 = -0x78 .text:0001E188 var_74 = -0x74 .text:0001E188 var_70 = -0x70 .text:0001E188 var_6C = -0x6C .text:0001E188 var_68 = -0x68 .text:0001E188 var_64 = -0x64 .text:0001E188 var_60 = -0x60 .text:0001E188 var_5C = -0x5C .text:0001E188 var_58 = -0x58 .text:0001E188 var_54 = -0x54 .text:0001E188 var_50 = -0x50 .text:0001E188 var_4C = -0x4C .text:0001E188 var_48 = -0x48 .text:0001E188 var_44 = -0x44 .text:0001E188 var_40 = -0x40 .text:0001E188 var_3C = -0x3C .text:0001E188 var_38 = -0x38 .text:0001E188 var_34 = -0x34 .text:0001E188 var_30 = -0x30 .text:0001E188 var_2C = -0x2C .text:0001E188 oldR4 = -0x28 .text:0001E188 oldR5 = -0x24 .text:0001E188 oldR6 = -0x20 .text:0001E188 oldR7 = -0x1C .text:0001E188 oldR8 = -0x18 .text:0001E188 oldR9 = -0x14 .text:0001E188 oldR10 = -0x10 .text:0001E188 oldR11 = -0xC .text:0001E188 oldSP = -8 .text:0001E188 oldLR = -4 .text:0001E188 .text:0001E188 MOV R12, SP @ Rd = Op2 .text:0001E18C STMFD SP!, {R4-R12,LR,PC} @ Store Block to Memory .text:0001E190 SUB R11, R12, #4 @ Rd = Op1 - Op2 .text:0001E194 SUB SP, SP, #0x200 @ Rd = Op1 - Op2 .text:0001E198 STR R0, [R11,#var_16C] @ Store to Memory .text:0001E19C MOV R1, #0 @ Rd = Op2 .text:0001E1A0 SUB R2, R11, #0x168 @ Rd = Op1 - Op2 .text:0001E1A4 MOV R12, R2 @ Rd = Op2 .text:0001E1A8 STR R2, [R11,#var_21C] @ Store to Memory .text:0001E1AC ADD R0, R0, #0x1C @ Rd = Op1 + Op2 .text:0001E1B0 .text:0001E1B0 loc_1E1B0: @ CODE XREF: sha1_block_host_order+3Cj .text:0001E1B0 MOV R3, R1,LSL#2 @ Rd = Op2 .text:0001E1B4 ADD R1, R1, #1 @ Rd = Op1 + Op2 .text:0001E1B8 LDR R2, [R0,R3] @ Load from Memory .text:0001E1BC CMP R1, #0xF @ Set cond. codes on Op1 - Op2 .text:0001E1C0 STR R2, [R12,R3] @ Store to Memory .text:0001E1C4 BLE loc_1E1B0 @ Branch .text:0001E1C8 LDR R4, [R11,#var_134] @ Load from Memory .text:0001E1CC LDR R5, [R11,#var_148] @ Load from Memory .text:0001E1D0 LDR R6, [R11,#var_160] @ Load from Memory .text:0001E1D4 LDR R7, [R11,#var_168] @ Load from Memory .text:0001E1D8 EOR R3, R4, R5 @ Rd = Op1 ^ Op2 .text:0001E1DC EOR R3, R3, R6 @ Rd = Op1 ^ Op2 .text:0001E1E0 EOR R3, R3, R7 @ Rd = Op1 ^ Op2 .text:0001E1E4 STR R3, [R11,#var_170] @ Store to Memory .text:0001E1E8 LDR R8, [R11,#var_130] @ Load from Memory .text:0001E1EC LDR R9, [R11,#var_144] @ Load from Memory .text:0001E1F0 LDR R12, [R11,#var_15C] @ Load from Memory .text:0001E1F4 LDR LR, [R11,#var_164] @ Load from Memory .text:0001E1F8 STR R3, [R11,#var_128] @ Store to Memory .text:0001E1FC EOR R3, R8, R9 @ Rd = Op1 ^ Op2 .text:0001E200 EOR R3, R3, R12 @ Rd = Op1 ^ Op2 .text:0001E204 EOR R3, R3, LR @ Rd = Op1 ^ Op2 .text:0001E208 STR R3, [R11,#var_174] @ Store to Memory .text:0001E20C LDR R0, [R11,#var_12C] @ Load from Memory .text:0001E210 LDR R1, [R11,#var_140] @ Load from Memory .text:0001E214 LDR R2, [R11,#var_158] @ Load from Memory .text:0001E218 STR R3, [R11,#var_124] @ Store to Memory .text:0001E21C EOR R3, R0, R1 @ Rd = Op1 ^ Op2 .text:0001E220 EOR R3, R3, R2 @ Rd = Op1 ^ Op2 .text:0001E224 EOR R3, R3, R6 @ Rd = Op1 ^ Op2 .text:0001E228 STR R3, [R11,#var_178] @ Store to Memory .text:0001E22C STR R3, [R11,#var_120] @ Store to Memory .text:0001E230 LDR R4, [R11,#var_170] @ Load from Memory .text:0001E234 LDR R5, [R11,#var_13C] @ Load from Memory .text:0001E238 LDR R6, [R11,#var_154] @ Load from Memory .text:0001E23C EOR R3, R4, R5 @ Rd = Op1 ^ Op2 .text:0001E240 EOR R3, R3, R6 @ Rd = Op1 ^ Op2 .text:0001E244 EOR R3, R3, R12 @ Rd = Op1 ^ Op2 .text:0001E248 STR R3, [R11,#var_17C] @ Store to Memory .text:0001E24C LDR R7, [R11,#var_174] @ Load from Memory .text:0001E250 LDR R8, [R11,#var_138] @ Load from Memory .text:0001E254 LDR R9, [R11,#var_150] @ Load from Memory .text:0001E258 STR R3, [R11,#var_11C] @ Store to Memory .text:0001E25C EOR R3, R7, R8 @ Rd = Op1 ^ Op2 .text:0001E260 EOR R3, R3, R9 @ Rd = Op1 ^ Op2 .text:0001E264 EOR R3, R3, R2 @ Rd = Op1 ^ Op2 .text:0001E268 STR R3, [R11,#var_180] @ Store to Memory .text:0001E26C LDR LR, [R11,#var_134] @ Load from Memory .text:0001E270 LDR R0, [R11,#var_14C] @ Load from Memory .text:0001E274 LDR R12, [R11,#var_178] @ Load from Memory .text:0001E278 STR R3, [R11,#var_118] @ Store to Memory .text:0001E27C EOR R3, R12, LR @ Rd = Op1 ^ Op2 .text:0001E280 EOR R3, R3, R0 @ Rd = Op1 ^ Op2 .text:0001E284 EOR R3, R3, R6 @ Rd = Op1 ^ Op2 .text:0001E288 STR R3, [R11,#var_184] @ Store to Memory .text:0001E28C LDR R1, [R11,#var_17C] @ Load from Memory .text:0001E290 LDR R2, [R11,#var_130] @ Load from Memory .text:0001E294 LDR R4, [R11,#var_148] @ Load from Memory .text:0001E298 STR R3, [R11,#var_114] @ Store to Memory .text:0001E29C EOR R3, R1, R2 @ Rd = Op1 ^ Op2 .text:0001E2A0 EOR R3, R3, R4 @ Rd = Op1 ^ Op2 .text:0001E2A4 EOR R3, R3, R9 @ Rd = Op1 ^ Op2 .text:0001E2A8 STR R3, [R11,#var_188] @ Store to Memory .text:0001E2AC STR R3, [R11,#var_110] @ Store to Memory .text:0001E2B0 LDR R5, [R11,#var_180] @ Load from Memory .text:0001E2B4 LDR R6, [R11,#var_12C] @ Load from Memory .text:0001E2B8 LDR R7, [R11,#var_144] @ Load from Memory .text:0001E2BC EOR R3, R5, R6 @ Rd = Op1 ^ Op2 .text:0001E2C0 EOR R3, R3, R7 @ Rd = Op1 ^ Op2 .text:0001E2C4 EOR R3, R3, R0 @ Rd = Op1 ^ Op2 .text:0001E2C8 STR R3, [R11,#var_18C] @ Store to Memory .text:0001E2CC LDR R8, [R11,#var_184] @ Load from Memory .text:0001E2D0 LDR R9, [R11,#var_170] @ Load from Memory .text:0001E2D4 LDR R12, [R11,#var_140] @ Load from Memory .text:0001E2D8 STR R3, [R11,#var_10C] @ Store to Memory .text:0001E2DC EOR R3, R8, R9 @ Rd = Op1 ^ Op2 .text:0001E2E0 EOR R3, R3, R12 @ Rd = Op1 ^ Op2 .text:0001E2E4 EOR R3, R3, R4 @ Rd = Op1 ^ Op2 .text:0001E2E8 STR R3, [R11,#var_190] @ Store to Memory .text:0001E2EC LDR LR, [R11,#var_188] @ Load from Memory .text:0001E2F0 LDR R1, [R11,#var_13C] @ Load from Memory .text:0001E2F4 LDR R0, [R11,#var_174] @ Load from Memory .text:0001E2F8 STR R3, [R11,#var_108] @ Store to Memory .text:0001E2FC EOR R3, LR, R0 @ Rd = Op1 ^ Op2 .text:0001E300 EOR R3, R3, R1 @ Rd = Op1 ^ Op2 .text:0001E304 EOR R3, R3, R7 @ Rd = Op1 ^ Op2 .text:0001E308 STR R3, [R11,#var_194] @ Store to Memory .text:0001E30C LDR R2, [R11,#var_18C] @ Load from Memory .text:0001E310 LDR R4, [R11,#var_178] @ Load from Memory .text:0001E314 LDR R5, [R11,#var_138] @ Load from Memory .text:0001E318 STR R3, [R11,#var_104] @ Store to Memory .text:0001E31C EOR R3, R2, R4 @ Rd = Op1 ^ Op2 .text:0001E320 EOR R3, R3, R5 @ Rd = Op1 ^ Op2 .text:0001E324 EOR R3, R3, R12 @ Rd = Op1 ^ Op2 .text:0001E328 STR R3, [R11,#var_198] @ Store to Memory .text:0001E32C LDR R6, [R11,#var_190] @ Load from Memory .text:0001E330 LDR R8, [R11,#var_134] @ Load from Memory .text:0001E334 LDR R7, [R11,#var_17C] @ Load from Memory .text:0001E338 STR R3, [R11,#var_100] @ Store to Memory .text:0001E33C EOR R3, R6, R7 @ Rd = Op1 ^ Op2 .text:0001E340 EOR R3, R3, R8 @ Rd = Op1 ^ Op2 .text:0001E344 EOR R3, R3, R1 @ Rd = Op1 ^ Op2 .text:0001E348 STR R3, [R11,#var_19C] @ Store to Memory .text:0001E34C LDR R9, [R11,#var_194] @ Load from Memory .text:0001E350 LDR R12, [R11,#var_180] @ Load from Memory .text:0001E354 LDR LR, [R11,#var_130] @ Load from Memory .text:0001E358 STR R3, [R11,#var_FC] @ Store to Memory .text:0001E35C EOR R3, R9, R12 @ Rd = Op1 ^ Op2 .text:0001E360 EOR R3, R3, LR @ Rd = Op1 ^ Op2 .text:0001E364 EOR R3, R3, R5 @ Rd = Op1 ^ Op2 .text:0001E368 STR R3, [R11,#var_1A0] @ Store to Memory .text:0001E36C LDR R0, [R11,#var_198] @ Load from Memory .text:0001E370 LDR R2, [R11,#var_12C] @ Load from Memory .text:0001E374 LDR R1, [R11,#var_184] @ Load from Memory .text:0001E378 STR R3, [R11,#var_F8] @ Store to Memory .text:0001E37C EOR R3, R0, R1 @ Rd = Op1 ^ Op2 .text:0001E380 EOR R3, R3, R2 @ Rd = Op1 ^ Op2 .text:0001E384 EOR R3, R3, R8 @ Rd = Op1 ^ Op2 .text:0001E388 STR R3, [R11,#var_1A4] @ Store to Memory .text:0001E38C STR R3, [R11,#var_F4] @ Store to Memory .text:0001E390 LDR R4, [R11,#var_19C] @ Load from Memory .text:0001E394 LDR R5, [R11,#var_188] @ Load from Memory .text:0001E398 LDR R6, [R11,#var_170] @ Load from Memory .text:0001E39C EOR R3, R4, R5 @ Rd = Op1 ^ Op2 .text:0001E3A0 EOR R3, R3, R6 @ Rd = Op1 ^ Op2 .text:0001E3A4 EOR R3, R3, LR @ Rd = Op1 ^ Op2 .text:0001E3A8 STR R3, [R11,#var_1A8] @ Store to Memory .text:0001E3AC LDR R7, [R11,#var_1A0] @ Load from Memory .text:0001E3B0 LDR R8, [R11,#var_18C] @ Load from Memory .text:0001E3B4 LDR R9, [R11,#var_174] @ Load from Memory .text:0001E3B8 STR R3, [R11,#var_F0] @ Store to Memory .text:0001E3BC EOR R3, R7, R8 @ Rd = Op1 ^ Op2 .text:0001E3C0 EOR R3, R3, R9 @ Rd = Op1 ^ Op2 .text:0001E3C4 EOR R3, R3, R2 @ Rd = Op1 ^ Op2 .text:0001E3C8 STR R3, [R11,#var_1AC] @ Store to Memory .text:0001E3CC LDR R12, [R11,#var_1A4] @ Load from Memory .text:0001E3D0 LDR R0, [R11,#var_178] @ Load from Memory .text:0001E3D4 LDR LR, [R11,#var_190] @ Load from Memory .text:0001E3D8 STR R3, [R11,#var_EC] @ Store to Memory .text:0001E3DC EOR R3, R12, LR @ Rd = Op1 ^ Op2 .text:0001E3E0 EOR R3, R3, R0 @ Rd = Op1 ^ Op2 .text:0001E3E4 EOR R3, R3, R6 @ Rd = Op1 ^ Op2 .text:0001E3E8 STR R3, [R11,#var_1B0] @ Store to Memory .text:0001E3EC LDR R1, [R11,#var_1A8] @ Load from Memory .text:0001E3F0 LDR R2, [R11,#var_194] @ Load from Memory .text:0001E3F4 LDR R4, [R11,#var_17C] @ Load from Memory .text:0001E3F8 STR R3, [R11,#var_E8] @ Store to Memory .text:0001E3FC EOR R3, R1, R2 @ Rd = Op1 ^ Op2 .text:0001E400 EOR R3, R3, R4 @ Rd = Op1 ^ Op2 .text:0001E404 EOR R3, R3, R9 @ Rd = Op1 ^ Op2 .text:0001E408 STR R3, [R11,#var_1B4] @ Store to Memory .text:0001E40C LDR R5, [R11,#var_1AC] @ Load from Memory .text:0001E410 LDR R7, [R11,#var_180] @ Load from Memory .text:0001E414 LDR R6, [R11,#var_198] @ Load from Memory .text:0001E418 STR R3, [R11,#var_E4] @ Store to Memory .text:0001E41C EOR R3, R5, R6 @ Rd = Op1 ^ Op2 .text:0001E420 EOR R3, R3, R7 @ Rd = Op1 ^ Op2 .text:0001E424 EOR R3, R3, R0 @ Rd = Op1 ^ Op2 .text:0001E428 STR R3, [R11,#var_1B8] @ Store to Memory .text:0001E42C LDR R8, [R11,#var_1B0] @ Load from Memory .text:0001E430 LDR R9, [R11,#var_19C] @ Load from Memory .text:0001E434 LDR R12, [R11,#var_184] @ Load from Memory .text:0001E438 STR R3, [R11,#var_E0] @ Store to Memory .text:0001E43C EOR R3, R8, R9 @ Rd = Op1 ^ Op2 .text:0001E440 EOR R3, R3, R12 @ Rd = Op1 ^ Op2 .text:0001E444 EOR R3, R3, R4 @ Rd = Op1 ^ Op2 .text:0001E448 STR R3, [R11,#var_1BC] @ Store to Memory .text:0001E44C LDR LR, [R11,#var_1B4] @ Load from Memory .text:0001E450 LDR R1, [R11,#var_188] @ Load from Memory .text:0001E454 LDR R0, [R11,#var_1A0] @ Load from Memory .text:0001E458 STR R3, [R11,#var_DC] @ Store to Memory .text:0001E45C EOR R3, LR, R0 @ Rd = Op1 ^ Op2 .text:0001E460 EOR R3, R3, R1 @ Rd = Op1 ^ Op2 .text:0001E464 EOR R3, R3, R7 @ Rd = Op1 ^ Op2 .text:0001E468 STR R3, [R11,#var_1C0] @ Store to Memory .text:0001E46C STR R3, [R11,#var_D8] @ Store to Memory .text:0001E470 LDR R2, [R11,#var_1B8] @ Load from Memory .text:0001E474 LDR R4, [R11,#var_1A4] @ Load from Memory .text:0001E478 LDR R5, [R11,#var_18C] @ Load from Memory .text:0001E47C EOR R3, R2, R4 @ Rd = Op1 ^ Op2 .text:0001E480 EOR R3, R3, R5 @ Rd = Op1 ^ Op2 .text:0001E484 EOR R3, R3, R12 @ Rd = Op1 ^ Op2 .text:0001E488 STR R3, [R11,#var_1C4] @ Store to Memory .text:0001E48C LDR R6, [R11,#var_1BC] @ Load from Memory .text:0001E490 LDR R7, [R11,#var_1A8] @ Load from Memory .text:0001E494 LDR R8, [R11,#var_190] @ Load from Memory .text:0001E498 STR R3, [R11,#var_D4] @ Store to Memory .text:0001E49C EOR R3, R6, R7 @ Rd = Op1 ^ Op2 .text:0001E4A0 EOR R3, R3, R8 @ Rd = Op1 ^ Op2 .text:0001E4A4 EOR R3, R3, R1 @ Rd = Op1 ^ Op2 .text:0001E4A8 STR R3, [R11,#var_1C8] @ Store to Memory .text:0001E4AC LDR R9, [R11,#var_1C0] @ Load from Memory .text:0001E4B0 LDR LR, [R11,#var_194] @ Load from Memory .text:0001E4B4 LDR R12, [R11,#var_1AC] @ Load from Memory .text:0001E4B8 STR R3, [R11,#var_D0] @ Store to Memory .text:0001E4BC EOR R3, R9, R12 @ Rd = Op1 ^ Op2 .text:0001E4C0 EOR R3, R3, LR @ Rd = Op1 ^ Op2 .text:0001E4C4 EOR R3, R3, R5 @ Rd = Op1 ^ Op2 .text:0001E4C8 STR R3, [R11,#var_1CC] @ Store to Memory .text:0001E4CC LDR R0, [R11,#var_1C4] @ Load from Memory .text:0001E4D0 LDR R1, [R11,#var_1B0] @ Load from Memory .text:0001E4D4 LDR R2, [R11,#var_198] @ Load from Memory .text:0001E4D8 STR R3, [R11,#var_CC] @ Store to Memory .text:0001E4DC EOR R3, R0, R1 @ Rd = Op1 ^ Op2 .text:0001E4E0 EOR R3, R3, R2 @ Rd = Op1 ^ Op2 .text:0001E4E4 EOR R3, R3, R8 @ Rd = Op1 ^ Op2 .text:0001E4E8 STR R3, [R11,#var_1D0] @ Store to Memory .text:0001E4EC LDR R4, [R11,#var_1C8] @ Load from Memory .text:0001E4F0 LDR R6, [R11,#var_19C] @ Load from Memory .text:0001E4F4 LDR R5, [R11,#var_1B4] @ Load from Memory .text:0001E4F8 STR R3, [R11,#var_C8] @ Store to Memory .text:0001E4FC EOR R3, R4, R5 @ Rd = Op1 ^ Op2 .text:0001E500 EOR R2, R3, R6 @ Rd = Op1 ^ Op2 .text:0001E504 EOR R2, R2, LR @ Rd = Op1 ^ Op2 .text:0001E508 STR R2, [R11,#var_1D4] @ Store to Memory .text:0001E50C LDR R7, [R11,#var_1CC] @ Load from Memory .text:0001E510 LDR R8, [R11,#var_1B8] @ Load from Memory .text:0001E514 LDR R9, [R11,#var_1A0] @ Load from Memory .text:0001E518 LDR R12, [R11,#var_198] @ Load from Memory .text:0001E51C EOR R3, R7, R8 @ Rd = Op1 ^ Op2 .text:0001E520 STR R2, [R11,#var_C4] @ Store to Memory .text:0001E524 EOR R1, R3, R9 @ Rd = Op1 ^ Op2 .text:0001E528 EOR R1, R1, R12 @ Rd = Op1 ^ Op2 .text:0001E52C STR R1, [R11,#var_1D8] @ Store to Memory .text:0001E530 STR R1, [R11,#var_C0] @ Store to Memory .text:0001E534 LDR R0, [R11,#var_1BC] @ Load from Memory .text:0001E538 LDR LR, [R11,#var_1D0] @ Load from Memory .text:0001E53C LDR R1, [R11,#var_1A4] @ Load from Memory .text:0001E540 EOR R3, LR, R0 @ Rd = Op1 ^ Op2 .text:0001E544 EOR R3, R3, R1 @ Rd = Op1 ^ Op2 .text:0001E548 EOR R3, R3, R6 @ Rd = Op1 ^ Op2 .text:0001E54C STR R3, [R11,#var_BC] @ Store to Memory .text:0001E550 LDR R5, [R11,#var_1C0] @ Load from Memory .text:0001E554 MOV R4, R2 @ Rd = Op2 .text:0001E558 LDR R6, [R11,#var_1A8] @ Load from Memory .text:0001E55C EOR R2, R4, R5 @ Rd = Op1 ^ Op2 .text:0001E560 EOR R2, R2, R6 @ Rd = Op1 ^ Op2 .text:0001E564 EOR R2, R2, R9 @ Rd = Op1 ^ Op2 .text:0001E568 STR R2, [R11,#var_B8] @ Store to Memory .text:0001E56C LDR R7, [R11,#var_1D8] @ Load from Memory .text:0001E570 LDR R8, [R11,#var_1C4] @ Load from Memory .text:0001E574 LDR R12, [R11,#var_1A4] @ Load from Memory .text:0001E578 LDR LR, [R11,#var_1C8] @ Load from Memory .text:0001E57C EOR R1, R7, R8 @ Rd = Op1 ^ Op2 .text:0001E580 LDR R9, [R11,#var_1AC] @ Load from Memory .text:0001E584 EOR R0, R3, LR @ Rd = Op1 ^ Op2 .text:0001E588 LDR R4, [R11,#var_1B0] @ Load from Memory .text:0001E58C EOR R1, R1, R9 @ Rd = Op1 ^ Op2 .text:0001E590 EOR R1, R1, R12 @ Rd = Op1 ^ Op2 .text:0001E594 STR R1, [R11,#var_B4] @ Store to Memory .text:0001E598 EOR R0, R0, R4 @ Rd = Op1 ^ Op2 .text:0001E59C EOR R0, R0, R6 @ Rd = Op1 ^ Op2 .text:0001E5A0 STR R0, [R11,#var_B0] @ Store to Memory .text:0001E5A4 LDR R5, [R11,#var_1CC] @ Load from Memory .text:0001E5A8 LDR R7, [R11,#var_1D0] @ Load from Memory .text:0001E5AC LDR R8, [R11,#var_1B8] @ Load from Memory .text:0001E5B0 EOR R12, R2, R5 @ Rd = Op1 ^ Op2 .text:0001E5B4 EOR LR, R1, R7 @ Rd = Op1 ^ Op2 .text:0001E5B8 EOR LR, LR, R8 @ Rd = Op1 ^ Op2 .text:0001E5BC LDR R6, [R11,#var_1B4] @ Load from Memory .text:0001E5C0 EOR LR, LR, R4 @ Rd = Op1 ^ Op2 .text:0001E5C4 STR LR, [R11,#var_A8] @ Store to Memory .text:0001E5C8 EOR R12, R12, R6 @ Rd = Op1 ^ Op2 .text:0001E5CC EOR R12, R12, R9 @ Rd = Op1 ^ Op2 .text:0001E5D0 STR R12, [R11,#var_AC] @ Store to Memory .text:0001E5D4 LDR R5, [R11,#var_1BC] @ Load from Memory .text:0001E5D8 LDR R9, [R11,#var_1D4] @ Load from Memory .text:0001E5DC LDR R7, [R11,#var_1C0] @ Load from Memory .text:0001E5E0 EOR R4, R0, R9 @ Rd = Op1 ^ Op2 .text:0001E5E4 EOR R4, R4, R5 @ Rd = Op1 ^ Op2 .text:0001E5E8 EOR R4, R4, R6 @ Rd = Op1 ^ Op2 .text:0001E5EC LDR R6, [R11,#var_1D8] @ Load from Memory .text:0001E5F0 STR R4, [R11,#var_A4] @ Store to Memory .text:0001E5F4 EOR R5, R12, R6 @ Rd = Op1 ^ Op2 .text:0001E5F8 EOR R5, R5, R7 @ Rd = Op1 ^ Op2 .text:0001E5FC EOR R5, R5, R8 @ Rd = Op1 ^ Op2 .text:0001E600 STR R5, [R11,#var_A0] @ Store to Memory .text:0001E604 LDR R9, [R11,#var_1C4] @ Load from Memory .text:0001E608 EOR R8, LR, R3 @ Rd = Op1 ^ Op2 .text:0001E60C LDR R6, [R11,#var_1BC] @ Load from Memory .text:0001E610 EOR R9, R8, R9 @ Rd = Op1 ^ Op2 .text:0001E614 STR R9, [R11,#var_1E0] @ Store to Memory .text:0001E618 EOR R6, R9, R6 @ Rd = Op1 ^ Op2 .text:0001E61C STR R6, [R11,#var_1E4] @ Store to Memory .text:0001E620 STR R6, [R11,#var_9C] @ Store to Memory .text:0001E624 LDR R8, [R11,#var_1C8] @ Load from Memory .text:0001E628 EOR R7, R4, R2 @ Rd = Op1 ^ Op2 .text:0001E62C LDR R9, [R11,#var_1C0] @ Load from Memory .text:0001E630 EOR R8, R7, R8 @ Rd = Op1 ^ Op2 .text:0001E634 STR R8, [R11,#var_1EC] @ Store to Memory .text:0001E638 EOR R9, R8, R9 @ Rd = Op1 ^ Op2 .text:0001E63C STR R9, [R11,#var_1F0] @ Store to Memory .text:0001E640 STR R9, [R11,#var_98] @ Store to Memory .text:0001E644 LDR R7, [R11,#var_1CC] @ Load from Memory .text:0001E648 EOR R6, R5, R1 @ Rd = Op1 ^ Op2 .text:0001E64C LDR R8, [R11,#var_1C4] @ Load from Memory .text:0001E650 EOR R6, R6, R7 @ Rd = Op1 ^ Op2 .text:0001E654 EOR R10, R6, R8 @ Rd = Op1 ^ Op2 .text:0001E658 STR R10, [R11,#var_94] @ Store to Memory .text:0001E65C LDR R9, [R11,#var_1E4] @ Load from Memory .text:0001E660 LDR R7, [R11,#var_1D0] @ Load from Memory .text:0001E664 EOR R6, R9, R0 @ Rd = Op1 ^ Op2 .text:0001E668 LDR R9, [R11,#var_1C8] @ Load from Memory .text:0001E66C EOR R6, R6, R7 @ Rd = Op1 ^ Op2 .text:0001E670 LDR R7, [R11,#var_1F0] @ Load from Memory .text:0001E674 EOR R8, R6, R9 @ Rd = Op1 ^ Op2 .text:0001E678 LDR R9, [R11,#var_1D4] @ Load from Memory .text:0001E67C EOR R6, R7, R12 @ Rd = Op1 ^ Op2 .text:0001E680 LDR R7, [R11,#var_1CC] @ Load from Memory .text:0001E684 EOR R6, R6, R9 @ Rd = Op1 ^ Op2 .text:0001E688 EOR R6, R6, R7 @ Rd = Op1 ^ Op2 .text:0001E68C STR R6, [R11,#var_1F4] @ Store to Memory .text:0001E690 STR R6, [R11,#var_8C] @ Store to Memory .text:0001E694 LDR R9, [R11,#var_1D8] @ Load from Memory .text:0001E698 EOR R6, R10, LR @ Rd = Op1 ^ Op2 .text:0001E69C LDR R7, [R11,#var_1D0] @ Load from Memory .text:0001E6A0 EOR R6, R6, R9 @ Rd = Op1 ^ Op2 .text:0001E6A4 EOR R6, R6, R7 @ Rd = Op1 ^ Op2 .text:0001E6A8 STR R6, [R11,#var_1F8] @ Store to Memory .text:0001E6AC STR R6, [R11,#var_88] @ Store to Memory .text:0001E6B0 EOR R6, R8, R4 @ Rd = Op1 ^ Op2 .text:0001E6B4 LDR R9, [R11,#var_1D4] @ Load from Memory .text:0001E6B8 EOR R6, R6, R3 @ Rd = Op1 ^ Op2 .text:0001E6BC EOR R6, R6, R9 @ Rd = Op1 ^ Op2 .text:0001E6C0 STR R6, [R11,#var_1FC] @ Store to Memory .text:0001E6C4 STR R6, [R11,#var_84] @ Store to Memory .text:0001E6C8 LDR R7, [R11,#var_1F4] @ Load from Memory .text:0001E6CC EOR R6, R7, R5 @ Rd = Op1 ^ Op2 .text:0001E6D0 LDR R9, [R11,#var_1D8] @ Load from Memory .text:0001E6D4 EOR R6, R6, R2 @ Rd = Op1 ^ Op2 .text:0001E6D8 EOR R6, R6, R9 @ Rd = Op1 ^ Op2 .text:0001E6DC STR R6, [R11,#var_200] @ Store to Memory .text:0001E6E0 LDR R7, [R11,#var_1F8] @ Load from Memory .text:0001E6E4 LDR R9, [R11,#var_1E4] @ Load from Memory .text:0001E6E8 STR R6, [R11,#var_80] @ Store to Memory .text:0001E6EC EOR R6, R7, R9 @ Rd = Op1 ^ Op2 .text:0001E6F0 EOR R6, R6, R1 @ Rd = Op1 ^ Op2 .text:0001E6F4 EOR R6, R6, R3 @ Rd = Op1 ^ Op2 .text:0001E6F8 STR R6, [R11,#var_204] @ Store to Memory .text:0001E6FC STR R6, [R11,#var_7C] @ Store to Memory .text:0001E700 LDR R6, [R11,#var_1FC] @ Load from Memory .text:0001E704 LDR R7, [R11,#var_1F0] @ Load from Memory .text:0001E708 STR R8, [R11,#var_90] @ Store to Memory .text:0001E70C EOR R3, R6, R7 @ Rd = Op1 ^ Op2 .text:0001E710 EOR R3, R3, R0 @ Rd = Op1 ^ Op2 .text:0001E714 EOR R3, R3, R2 @ Rd = Op1 ^ Op2 .text:0001E718 STR R3, [R11,#var_208] @ Store to Memory .text:0001E71C LDR R9, [R11,#var_200] @ Load from Memory .text:0001E720 STR R3, [R11,#var_78] @ Store to Memory .text:0001E724 EOR R3, R9, R10 @ Rd = Op1 ^ Op2 .text:0001E728 EOR R6, R3, R12 @ Rd = Op1 ^ Op2 .text:0001E72C EOR R6, R6, R1 @ Rd = Op1 ^ Op2 .text:0001E730 STR R6, [R11,#var_20C] @ Store to Memory .text:0001E734 LDR R1, [R11,#var_204] @ Load from Memory .text:0001E738 STR R6, [R11,#var_74] @ Store to Memory .text:0001E73C EOR R3, R1, R8 @ Rd = Op1 ^ Op2 .text:0001E740 EOR R7, R3, LR @ Rd = Op1 ^ Op2 .text:0001E744 EOR R7, R7, R0 @ Rd = Op1 ^ Op2 .text:0001E748 STR R7, [R11,#var_210] @ Store to Memory .text:0001E74C STR R7, [R11,#var_70] @ Store to Memory .text:0001E750 LDR R2, [R11,#var_208] @ Load from Memory .text:0001E754 LDR R6, [R11,#var_1F4] @ Load from Memory .text:0001E758 EOR R3, R2, R6 @ Rd = Op1 ^ Op2 .text:0001E75C EOR R1, R3, R4 @ Rd = Op1 ^ Op2 .text:0001E760 EOR R1, R1, R12 @ Rd = Op1 ^ Op2 .text:0001E764 STR R1, [R11,#var_214] @ Store to Memory .text:0001E768 STR R1, [R11,#var_6C] @ Store to Memory .text:0001E76C LDR R7, [R11,#var_20C] @ Load from Memory .text:0001E770 LDR R9, [R11,#var_1F8] @ Load from Memory .text:0001E774 LDR R0, [R11,#var_1E4] @ Load from Memory .text:0001E778 EOR R6, R7, R9 @ Rd = Op1 ^ Op2 .text:0001E77C EOR R6, R6, R5 @ Rd = Op1 ^ Op2 .text:0001E780 LDR R12, [R11,#var_210] @ Load from Memory .text:0001E784 EOR R6, R6, LR @ Rd = Op1 ^ Op2 .text:0001E788 LDR LR, [R11,#var_1FC] @ Load from Memory .text:0001E78C STR R6, [R11,#var_68] @ Store to Memory .text:0001E790 EOR R7, R12, LR @ Rd = Op1 ^ Op2 .text:0001E794 EOR R7, R7, R0 @ Rd = Op1 ^ Op2 .text:0001E798 EOR R7, R7, R4 @ Rd = Op1 ^ Op2 .text:0001E79C STR R7, [R11,#var_64] @ Store to Memory .text:0001E7A0 LDR R3, [R11,#var_200] @ Load from Memory .text:0001E7A4 LDR R9, [R11,#var_1E4] @ Load from Memory .text:0001E7A8 LDR R4, [R11,#var_1F0] @ Load from Memory .text:0001E7AC MOV R2, R1 @ Rd = Op2 .text:0001E7B0 LDR LR, [R11,#var_208] @ Load from Memory .text:0001E7B4 EOR R1, R2, R3 @ Rd = Op1 ^ Op2 .text:0001E7B8 LDR R2, [R11,#var_20C] @ Load from Memory .text:0001E7BC LDR R3, [R11,#var_1F4] @ Load from Memory .text:0001E7C0 EOR R1, R1, R4 @ Rd = Op1 ^ Op2 .text:0001E7C4 EOR R1, R1, R5 @ Rd = Op1 ^ Op2 .text:0001E7C8 EOR R12, R7, LR @ Rd = Op1 ^ Op2 .text:0001E7CC LDR R5, [R11,#var_204] @ Load from Memory .text:0001E7D0 EOR R12, R12, R8 @ Rd = Op1 ^ Op2 .text:0001E7D4 STR R1, [R11,#var_60] @ Store to Memory .text:0001E7D8 EOR R0, R6, R5 @ Rd = Op1 ^ Op2 .text:0001E7DC EOR R0, R0, R10 @ Rd = Op1 ^ Op2 .text:0001E7E0 EOR R0, R0, R9 @ Rd = Op1 ^ Op2 .text:0001E7E4 STR R0, [R11,#var_5C] @ Store to Memory .text:0001E7E8 EOR R12, R12, R4 @ Rd = Op1 ^ Op2 .text:0001E7EC EOR LR, R1, R2 @ Rd = Op1 ^ Op2 .text:0001E7F0 STR R12, [R11,#var_58] @ Store to Memory .text:0001E7F4 EOR LR, LR, R3 @ Rd = Op1 ^ Op2 .text:0001E7F8 EOR LR, LR, R10 @ Rd = Op1 ^ Op2 .text:0001E7FC STR LR, [R11,#var_54] @ Store to Memory .text:0001E800 LDR R5, [R11,#var_210] @ Load from Memory .text:0001E804 LDR R9, [R11,#var_1F8] @ Load from Memory .text:0001E808 EOR R4, R0, R5 @ Rd = Op1 ^ Op2 .text:0001E80C EOR R4, R4, R9 @ Rd = Op1 ^ Op2 .text:0001E810 EOR R4, R4, R8 @ Rd = Op1 ^ Op2 .text:0001E814 STR R4, [R11,#var_50] @ Store to Memory .text:0001E818 LDR R2, [R11,#var_214] @ Load from Memory .text:0001E81C LDR R3, [R11,#var_1FC] @ Load from Memory .text:0001E820 EOR R5, R12, R2 @ Rd = Op1 ^ Op2 .text:0001E824 LDR R8, [R11,#var_1F4] @ Load from Memory .text:0001E828 EOR R5, R5, R3 @ Rd = Op1 ^ Op2 .text:0001E82C LDR R9, [R11,#var_200] @ Load from Memory .text:0001E830 EOR R3, LR, R6 @ Rd = Op1 ^ Op2 .text:0001E834 LDR R2, [R11,#var_1F8] @ Load from Memory .text:0001E838 EOR R5, R5, R8 @ Rd = Op1 ^ Op2 .text:0001E83C STR R5, [R11,#var_4C] @ Store to Memory .text:0001E840 EOR R3, R3, R9 @ Rd = Op1 ^ Op2 .text:0001E844 EOR R3, R3, R2 @ Rd = Op1 ^ Op2 .text:0001E848 STR R3, [R11,#var_48] @ Store to Memory .text:0001E84C LDR R8, [R11,#var_204] @ Load from Memory .text:0001E850 EOR R2, R4, R7 @ Rd = Op1 ^ Op2 .text:0001E854 LDR R9, [R11,#var_1FC] @ Load from Memory .text:0001E858 EOR R2, R2, R8 @ Rd = Op1 ^ Op2 .text:0001E85C EOR R2, R2, R9 @ Rd = Op1 ^ Op2 .text:0001E860 STR R2, [R11,#var_44] @ Store to Memory .text:0001E864 LDR R8, [R11,#var_208] @ Load from Memory .text:0001E868 EOR R1, R5, R1 @ Rd = Op1 ^ Op2 .text:0001E86C LDR R9, [R11,#var_200] @ Load from Memory .text:0001E870 EOR R1, R1, R8 @ Rd = Op1 ^ Op2 .text:0001E874 EOR R1, R1, R9 @ Rd = Op1 ^ Op2 .text:0001E878 STR R1, [R11,#var_40] @ Store to Memory .text:0001E87C EOR R3, R3, R0 @ Rd = Op1 ^ Op2 .text:0001E880 LDR R0, [R11,#var_20C] @ Load from Memory .text:0001E884 EOR R2, R2, R12 @ Rd = Op1 ^ Op2 .text:0001E888 LDR R12, [R11,#var_208] @ Load from Memory .text:0001E88C LDR R8, [R11,#var_204] @ Load from Memory .text:0001E890 EOR R3, R3, R0 @ Rd = Op1 ^ Op2 .text:0001E894 LDR R9, [R11,#var_210] @ Load from Memory .text:0001E898 EOR R1, R1, LR @ Rd = Op1 ^ Op2 .text:0001E89C LDR LR, [R11,#var_214] @ Load from Memory .text:0001E8A0 EOR R3, R3, R8 @ Rd = Op1 ^ Op2 .text:0001E8A4 EOR R2, R2, R9 @ Rd = Op1 ^ Op2 .text:0001E8A8 EOR R2, R2, R12 @ Rd = Op1 ^ Op2 .text:0001E8AC STR R3, [R11,#var_3C] @ Store to Memory .text:0001E8B0 EOR R1, R1, LR @ Rd = Op1 ^ Op2 .text:0001E8B4 EOR R1, R1, R0 @ Rd = Op1 ^ Op2 .text:0001E8B8 STR R2, [R11,#var_38] @ Store to Memory .text:0001E8BC EOR R3, R3, R4 @ Rd = Op1 ^ Op2 .text:0001E8C0 EOR R3, R3, R6 @ Rd = Op1 ^ Op2 .text:0001E8C4 STR R1, [R11,#var_34] @ Store to Memory .text:0001E8C8 EOR R3, R3, R9 @ Rd = Op1 ^ Op2 .text:0001E8CC EOR R2, R2, R5 @ Rd = Op1 ^ Op2 .text:0001E8D0 STR R3, [R11,#var_30] @ Store to Memory .text:0001E8D4 EOR R2, R2, R7 @ Rd = Op1 ^ Op2 .text:0001E8D8 EOR R2, R2, LR @ Rd = Op1 ^ Op2 .text:0001E8DC STR R2, [R11,#var_2C] @ Store to Memory .text:0001E8E0 LDR R0, [R11,#var_16C] @ Load from Memory .text:0001E8E4 LDR R1, =dword_45DB8 @ Load from Memory .text:0001E8E8 LDR R6, [R0] @ Load from Memory .text:0001E8EC STR R6, [R1] @ Store to Memory .text:0001E8F0 LDR R2, =dword_45DBC @ Load from Memory .text:0001E8F4 LDR R12, [R0,#4] @ Load from Memory .text:0001E8F8 STR R12, [R2] @ Store to Memory .text:0001E8FC LDR R3, =dword_45DC4 @ Load from Memory .text:0001E900 LDR R4, [R0,#8] @ Load from Memory .text:0001E904 STR R4, [R3] @ Store to Memory .text:0001E908 LDR R5, =dword_45DB0 @ Load from Memory .text:0001E90C MOV R3, R6,ROR#27 @ Rd = Op2 .text:0001E910 LDR LR, [R0,#0xC] @ Load from Memory .text:0001E914 AND R2, R12, R4 @ Rd = Op1 & Op2 .text:0001E918 BIC R1, LR, R12 @ Rd = Op1 & ~Op2 .text:0001E91C STR LR, [R5] @ Store to Memory .text:0001E920 ORR R2, R2, R1 @ Rd = Op2 | Op1 .text:0001E924 ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:0001E928 MOV R12, R12,ROR#2 @ Rd = Op2 .text:0001E92C AND R2, R6, R12 @ Rd = Op1 & Op2 .text:0001E930 LDR R7, [R11,#var_16C] @ Load from Memory .text:0001E934 BIC R1, R4, R6 @ Rd = Op1 & ~Op2 .text:0001E938 LDR R8, [R11,#var_168] @ Load from Memory .text:0001E93C ORR R2, R2, R1 @ Rd = Op2 | Op1 .text:0001E940 LDR R0, [R7,#0x10] @ Load from Memory .text:0001E944 MOV R6, R6,ROR#2 @ Rd = Op2 .text:0001E948 LDR R7, [R11,#var_154] @ Load from Memory .text:0001E94C ADD R3, R3, R0 @ Rd = Op1 + Op2 .text:0001E950 ADD R3, R3, R8 @ Rd = Op1 + Op2 .text:0001E954 ADD R9, R3, #dword_27800 @ Rd = Op1 + Op2 .text:0001E958 ADD R9, R9, #0x198 @ Rd = Op1 + Op2 .text:0001E95C ADD R9, R9, #0x58000001 @ Rd = Op1 + Op2 .text:0001E960 ADD R9, R9, #0x2800000 @ Rd = Op1 + Op2 .text:0001E964 MOV R0, R9 @ Rd = Op2 .text:0001E968 MOV R3, R0,ROR#27 @ Rd = Op2 .text:0001E96C ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:0001E970 ADD R3, R3, LR @ Rd = Op1 + Op2 .text:0001E974 AND R2, R0, R6 @ Rd = Op1 & Op2 .text:0001E978 BIC R1, R12, R0 @ Rd = Op1 & ~Op2 .text:0001E97C LDR R9, [R11,#var_164] @ Load from Memory .text:0001E980 ORR R2, R2, R1 @ Rd = Op2 | Op1 .text:0001E984 LDR R1, [R11,#var_160] @ Load from Memory .text:0001E988 MOV R0, R0,ROR#2 @ Rd = Op2 .text:0001E98C LDR R8, [R11,#var_150] @ Load from Memory .text:0001E990 ADD R3, R3, R9 @ Rd = Op1 + Op2 .text:0001E994 ADD R9, R3, #dword_27800 @ Rd = Op1 + Op2 .text:0001E998 ADD R9, R9, #0x198 @ Rd = Op1 + Op2 .text:0001E99C ADD R9, R9, #0x58000001 @ Rd = Op1 + Op2 .text:0001E9A0 ADD R9, R9, #0x2800000 @ Rd = Op1 + Op2 .text:0001E9A4 MOV LR, R9 @ Rd = Op2 .text:0001E9A8 MOV R3, LR,ROR#27 @ Rd = Op2 .text:0001E9AC ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:0001E9B0 ADD R3, R3, R4 @ Rd = Op1 + Op2 .text:0001E9B4 ADD R3, R3, R1 @ Rd = Op1 + Op2 .text:0001E9B8 ADD R9, R3, #dword_27800 @ Rd = Op1 + Op2 .text:0001E9BC ADD R9, R9, #0x198 @ Rd = Op1 + Op2 .text:0001E9C0 ADD R9, R9, #0x58000001 @ Rd = Op1 + Op2 .text:0001E9C4 ADD R9, R9, #0x2800000 @ Rd = Op1 + Op2 .text:0001E9C8 MOV R4, R9 @ Rd = Op2 .text:0001E9CC MOV R3, R4,ROR#27 @ Rd = Op2 .text:0001E9D0 AND R2, LR, R0 @ Rd = Op1 & Op2 .text:0001E9D4 BIC R1, R6, LR @ Rd = Op1 & ~Op2 .text:0001E9D8 ORR R2, R2, R1 @ Rd = Op2 | Op1 .text:0001E9DC ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:0001E9E0 ADD R3, R3, R12 @ Rd = Op1 + Op2 .text:0001E9E4 MOV LR, LR,ROR#2 @ Rd = Op2 .text:0001E9E8 LDR R2, [R11,#var_15C] @ Load from Memory .text:0001E9EC BIC R1, R0, R4 @ Rd = Op1 & ~Op2 .text:0001E9F0 ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:0001E9F4 ADD R9, R3, #dword_27800 @ Rd = Op1 + Op2 .text:0001E9F8 ADD R9, R9, #0x198 @ Rd = Op1 + Op2 .text:0001E9FC ADD R9, R9, #0x58000001 @ Rd = Op1 + Op2 .text:0001EA00 ADD R9, R9, #0x2800000 @ Rd = Op1 + Op2 .text:0001EA04 MOV R5, R9 @ Rd = Op2 .text:0001EA08 MOV R3, R5,ROR#27 @ Rd = Op2 .text:0001EA0C AND R2, R4, LR @ Rd = Op1 & Op2 .text:0001EA10 ORR R2, R2, R1 @ Rd = Op2 | Op1 .text:0001EA14 ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:0001EA18 ADD R3, R3, R6 @ Rd = Op1 + Op2 .text:0001EA1C MOV R4, R4,ROR#2 @ Rd = Op2 .text:0001EA20 AND R2, R5, R4 @ Rd = Op1 & Op2 .text:0001EA24 BIC R1, LR, R5 @ Rd = Op1 & ~Op2 .text:0001EA28 ORR R2, R2, R1 @ Rd = Op2 | Op1 .text:0001EA2C LDR R6, [R11,#var_158] @ Load from Memory .text:0001EA30 MOV R5, R5,ROR#2 @ Rd = Op2 .text:0001EA34 ADD R3, R3, R6 @ Rd = Op1 + Op2 .text:0001EA38 ADD R9, R3, #dword_27800 @ Rd = Op1 + Op2 .text:0001EA3C ADD R9, R9, #0x198 @ Rd = Op1 + Op2 .text:0001EA40 ADD R9, R9, #0x58000001 @ Rd = Op1 + Op2 .text:0001EA44 ADD R9, R9, #0x2800000 @ Rd = Op1 + Op2 .text:0001EA48 MOV R6, R9 @ Rd = Op2 .text:0001EA4C MOV R3, R6,ROR#27 @ Rd = Op2 .text:0001EA50 ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:0001EA54 ADD R3, R3, R0 @ Rd = Op1 + Op2 .text:0001EA58 ADD R3, R3, R7 @ Rd = Op1 + Op2 .text:0001EA5C ADD R9, R3, #dword_27800 @ Rd = Op1 + Op2 .text:0001EA60 ADD R9, R9, #0x198 @ Rd = Op1 + Op2 .text:0001EA64 ADD R9, R9, #0x58000001 @ Rd = Op1 + Op2 .text:0001EA68 ADD R9, R9, #0x2800000 @ Rd = Op1 + Op2 .text:0001EA6C MOV R7, R9 @ Rd = Op2 .text:0001EA70 MOV R3, R7,ROR#27 @ Rd = Op2 .text:0001EA74 AND R2, R6, R5 @ Rd = Op1 & Op2 .text:0001EA78 BIC R1, R4, R6 @ Rd = Op1 & ~Op2 .text:0001EA7C ORR R2, R2, R1 @ Rd = Op2 | Op1 .text:0001EA80 ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:0001EA84 ADD R3, R3, LR @ Rd = Op1 + Op2 .text:0001EA88 ADD R3, R3, R8 @ Rd = Op1 + Op2 .text:0001EA8C ADD R9, R3, #dword_27800 @ Rd = Op1 + Op2 .text:0001EA90 ADD R9, R9, #0x198 @ Rd = Op1 + Op2 .text:0001EA94 ADD R9, R9, #0x58000001 @ Rd = Op1 + Op2 .text:0001EA98 ADD R9, R9, #0x2800000 @ Rd = Op1 + Op2 .text:0001EA9C MOV R6, R6,ROR#2 @ Rd = Op2 .text:0001EAA0 MOV R12, R9 @ Rd = Op2 .text:0001EAA4 MOV R3, R12,ROR#27 @ Rd = Op2 .text:0001EAA8 AND R2, R7, R6 @ Rd = Op1 & Op2 .text:0001EAAC BIC R1, R5, R7 @ Rd = Op1 & ~Op2 .text:0001EAB0 ORR R2, R2, R1 @ Rd = Op2 | Op1 .text:0001EAB4 ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:0001EAB8 ADD R3, R3, R4 @ Rd = Op1 + Op2 .text:0001EABC MOV R7, R7,ROR#2 @ Rd = Op2 .text:0001EAC0 AND R2, R12, R7 @ Rd = Op1 & Op2 .text:0001EAC4 BIC R1, R6, R12 @ Rd = Op1 & ~Op2 .text:0001EAC8 LDR R9, [R11,#var_14C] @ Load from Memory .text:0001EACC ORR R2, R2, R1 @ Rd = Op2 | Op1 .text:0001EAD0 LDR R0, [R11,#var_148] @ Load from Memory .text:0001EAD4 MOV R12, R12,ROR#2 @ Rd = Op2 .text:0001EAD8 LDR R8, [R11,#var_134] @ Load from Memory .text:0001EADC ADD R3, R3, R9 @ Rd = Op1 + Op2 .text:0001EAE0 ADD R9, R3, #dword_27800 @ Rd = Op1 + Op2 .text:0001EAE4 ADD R9, R9, #0x198 @ Rd = Op1 + Op2 .text:0001EAE8 ADD R9, R9, #0x58000001 @ Rd = Op1 + Op2 .text:0001EAEC ADD R9, R9, #0x2800000 @ Rd = Op1 + Op2 .text:0001EAF0 MOV LR, R9 @ Rd = Op2 .text:0001EAF4 MOV R3, LR,ROR#27 @ Rd = Op2 .text:0001EAF8 ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:0001EAFC ADD R3, R3, R5 @ Rd = Op1 + Op2 .text:0001EB00 ADD R3, R3, R0 @ Rd = Op1 + Op2 .text:0001EB04 ADD R9, R3, #dword_27800 @ Rd = Op1 + Op2 .text:0001EB08 ADD R9, R9, #0x198 @ Rd = Op1 + Op2 .text:0001EB0C ADD R9, R9, #0x58000001 @ Rd = Op1 + Op2 .text:0001EB10 ADD R9, R9, #0x2800000 @ Rd = Op1 + Op2 .text:0001EB14 MOV R4, R9 @ Rd = Op2 .text:0001EB18 MOV R3, R4,ROR#27 @ Rd = Op2 .text:0001EB1C AND R2, LR, R12 @ Rd = Op1 & Op2 .text:0001EB20 BIC R1, R7, LR @ Rd = Op1 & ~Op2 .text:0001EB24 ORR R2, R2, R1 @ Rd = Op2 | Op1 .text:0001EB28 ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:0001EB2C ADD R3, R3, R6 @ Rd = Op1 + Op2 .text:0001EB30 MOV LR, LR,ROR#2 @ Rd = Op2 .text:0001EB34 LDR R1, [R11,#var_144] @ Load from Memory .text:0001EB38 BIC R2, R12, R4 @ Rd = Op1 & ~Op2 .text:0001EB3C LDR R6, [R11,#var_13C] @ Load from Memory .text:0001EB40 ADD R3, R3, R1 @ Rd = Op1 + Op2 .text:0001EB44 ADD R9, R3, #dword_27800 @ Rd = Op1 + Op2 .text:0001EB48 ADD R9, R9, #0x198 @ Rd = Op1 + Op2 .text:0001EB4C ADD R9, R9, #0x58000001 @ Rd = Op1 + Op2 .text:0001EB50 ADD R9, R9, #0x2800000 @ Rd = Op1 + Op2 .text:0001EB54 MOV R5, R9 @ Rd = Op2 .text:0001EB58 MOV R0, R5,ROR#27 @ Rd = Op2 .text:0001EB5C AND R3, R4, LR @ Rd = Op1 & Op2 .text:0001EB60 ORR R3, R3, R2 @ Rd = Op2 | Op1 .text:0001EB64 ADD R0, R0, R3 @ Rd = Op1 + Op2 .text:0001EB68 ADD R0, R0, R7 @ Rd = Op1 + Op2 .text:0001EB6C MOV R4, R4,ROR#2 @ Rd = Op2 .text:0001EB70 LDR R2, [R11,#var_140] @ Load from Memory .text:0001EB74 BIC R1, LR, R5 @ Rd = Op1 & ~Op2 .text:0001EB78 LDR R7, [R11,#var_138] @ Load from Memory .text:0001EB7C ADD R0, R0, R2 @ Rd = Op1 + Op2 .text:0001EB80 ADD R9, R0, #dword_27800 @ Rd = Op1 + Op2 .text:0001EB84 ADD R9, R9, #0x198 @ Rd = Op1 + Op2 .text:0001EB88 ADD R9, R9, #0x58000001 @ Rd = Op1 + Op2 .text:0001EB8C ADD R9, R9, #0x2800000 @ Rd = Op1 + Op2 .text:0001EB90 MOV R3, R9,ROR#27 @ Rd = Op2 .text:0001EB94 AND R2, R5, R4 @ Rd = Op1 & Op2 .text:0001EB98 ORR R2, R2, R1 @ Rd = Op2 | Op1 .text:0001EB9C ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:0001EBA0 ADD R3, R3, R12 @ Rd = Op1 + Op2 .text:0001EBA4 ADD R3, R3, R6 @ Rd = Op1 + Op2 .text:0001EBA8 ADD R9, R3, #dword_27800 @ Rd = Op1 + Op2 .text:0001EBAC ADD R9, R9, #0x198 @ Rd = Op1 + Op2 .text:0001EBB0 ADD R9, R9, #0x58000001 @ Rd = Op1 + Op2 .text:0001EBB4 ADD R9, R9, #0x2800000 @ Rd = Op1 + Op2 .text:0001EBB8 MOV R5, R5,ROR#2 @ Rd = Op2 .text:0001EBBC ADD R0, R0, #dword_27800 @ Rd = Op1 + Op2 .text:0001EBC0 ADD R0, R0, #0x198 @ Rd = Op1 + Op2 .text:0001EBC4 ADD R0, R0, #0x58000001 @ Rd = Op1 + Op2 .text:0001EBC8 ADD R0, R0, #0x2800000 @ Rd = Op1 + Op2 .text:0001EBCC MOV R6, R9 @ Rd = Op2 .text:0001EBD0 MOV R3, R6,ROR#27 @ Rd = Op2 .text:0001EBD4 AND R2, R0, R5 @ Rd = Op1 & Op2 .text:0001EBD8 BIC R1, R4, R0 @ Rd = Op1 & ~Op2 .text:0001EBDC ORR R2, R2, R1 @ Rd = Op2 | Op1 .text:0001EBE0 ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:0001EBE4 ADD R3, R3, LR @ Rd = Op1 + Op2 .text:0001EBE8 ADD R3, R3, R7 @ Rd = Op1 + Op2 .text:0001EBEC ADD R9, R3, #dword_27800 @ Rd = Op1 + Op2 .text:0001EBF0 ADD R9, R9, #0x198 @ Rd = Op1 + Op2 .text:0001EBF4 ADD R9, R9, #0x58000001 @ Rd = Op1 + Op2 .text:0001EBF8 ADD R9, R9, #0x2800000 @ Rd = Op1 + Op2 .text:0001EBFC MOV R0, R0,ROR#2 @ Rd = Op2 .text:0001EC00 MOV R7, R9 @ Rd = Op2 .text:0001EC04 MOV R3, R7,ROR#27 @ Rd = Op2 .text:0001EC08 AND R2, R6, R0 @ Rd = Op1 & Op2 .text:0001EC0C BIC R1, R5, R6 @ Rd = Op1 & ~Op2 .text:0001EC10 ORR R2, R2, R1 @ Rd = Op2 | Op1 .text:0001EC14 ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:0001EC18 ADD R3, R3, R4 @ Rd = Op1 + Op2 .text:0001EC1C ADD R3, R3, R8 @ Rd = Op1 + Op2 .text:0001EC20 ADD R9, R3, #dword_27800 @ Rd = Op1 + Op2 .text:0001EC24 ADD R9, R9, #0x198 @ Rd = Op1 + Op2 .text:0001EC28 ADD R9, R9, #0x58000001 @ Rd = Op1 + Op2 .text:0001EC2C ADD R9, R9, #0x2800000 @ Rd = Op1 + Op2 .text:0001EC30 MOV R6, R6,ROR#2 @ Rd = Op2 .text:0001EC34 MOV R4, R9 @ Rd = Op2 .text:0001EC38 MOV R3, R4,ROR#27 @ Rd = Op2 .text:0001EC3C AND R2, R7, R6 @ Rd = Op1 & Op2 .text:0001EC40 BIC R1, R0, R7 @ Rd = Op1 & ~Op2 .text:0001EC44 ORR R2, R2, R1 @ Rd = Op2 | Op1 .text:0001EC48 ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:0001EC4C ADD R3, R3, R5 @ Rd = Op1 + Op2 .text:0001EC50 MOV R7, R7,ROR#2 @ Rd = Op2 .text:0001EC54 AND R2, R4, R7 @ Rd = Op1 & Op2 .text:0001EC58 LDR R9, [R11,#var_130] @ Load from Memory .text:0001EC5C BIC R1, R6, R4 @ Rd = Op1 & ~Op2 .text:0001EC60 LDR R12, [R11,#var_12C] @ Load from Memory .text:0001EC64 ORR R2, R2, R1 @ Rd = Op2 | Op1 .text:0001EC68 LDR LR, [R11,#var_170] @ Load from Memory .text:0001EC6C MOV R4, R4,ROR#2 @ Rd = Op2 .text:0001EC70 LDR R8, [R11,#var_188] @ Load from Memory .text:0001EC74 ADD R3, R3, R9 @ Rd = Op1 + Op2 .text:0001EC78 ADD R9, R3, #dword_27800 @ Rd = Op1 + Op2 .text:0001EC7C ADD R9, R9, #0x198 @ Rd = Op1 + Op2 .text:0001EC80 ADD R9, R9, #0x58000001 @ Rd = Op1 + Op2 .text:0001EC84 ADD R9, R9, #0x2800000 @ Rd = Op1 + Op2 .text:0001EC88 MOV R5, R9 @ Rd = Op2 .text:0001EC8C MOV R3, R5,ROR#27 @ Rd = Op2 .text:0001EC90 ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:0001EC94 ADD R3, R3, R0 @ Rd = Op1 + Op2 .text:0001EC98 ADD R3, R3, R12 @ Rd = Op1 + Op2 .text:0001EC9C ADD R9, R3, #dword_27800 @ Rd = Op1 + Op2 .text:0001ECA0 ADD R9, R9, #0x198 @ Rd = Op1 + Op2 .text:0001ECA4 ADD R9, R9, #0x58000001 @ Rd = Op1 + Op2 .text:0001ECA8 ADD R9, R9, #0x2800000 @ Rd = Op1 + Op2 .text:0001ECAC MOV R12, R9 @ Rd = Op2 .text:0001ECB0 MOV R3, R12,ROR#27 @ Rd = Op2 .text:0001ECB4 AND R2, R5, R4 @ Rd = Op1 & Op2 .text:0001ECB8 BIC R1, R7, R5 @ Rd = Op1 & ~Op2 .text:0001ECBC ORR R2, R2, R1 @ Rd = Op2 | Op1 .text:0001ECC0 ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:0001ECC4 ADD R3, R3, R6 @ Rd = Op1 + Op2 .text:0001ECC8 B loc_1ECDC @ Branch .text:0001ECC8 @ --------------------------------------------------------------------------- .text:0001ECCC off_1ECCC: .long dword_45DB8 @ DATA XREF: sha1_block_host_order+75Cr .text:0001ECD0 off_1ECD0: .long dword_45DBC @ DATA XREF: sha1_block_host_order+768r .text:0001ECD4 off_1ECD4: .long dword_45DC4 @ DATA XREF: sha1_block_host_order+774r .text:0001ECD8 off_1ECD8: .long dword_45DB0 @ DATA XREF: sha1_block_host_order+780r .text:0001ECDC @ --------------------------------------------------------------------------- .text:0001ECDC .text:0001ECDC loc_1ECDC: @ CODE XREF: sha1_block_host_order+B40j .text:0001ECDC ADD R3, R3, LR @ Rd = Op1 + Op2 .text:0001ECE0 ADD R9, R3, #dword_27800 @ Rd = Op1 + Op2 .text:0001ECE4 ADD R9, R9, #0x198 @ Rd = Op1 + Op2 .text:0001ECE8 ADD R9, R9, #0x58000001 @ Rd = Op1 + Op2 .text:0001ECEC ADD R9, R9, #0x2800000 @ Rd = Op1 + Op2 .text:0001ECF0 MOV R5, R5,ROR#2 @ Rd = Op2 .text:0001ECF4 MOV LR, R9 @ Rd = Op2 .text:0001ECF8 MOV R3, LR,ROR#27 @ Rd = Op2 .text:0001ECFC AND R2, R12, R5 @ Rd = Op1 & Op2 .text:0001ED00 BIC R1, R4, R12 @ Rd = Op1 & ~Op2 .text:0001ED04 ORR R2, R2, R1 @ Rd = Op2 | Op1 .text:0001ED08 ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:0001ED0C ADD R3, R3, R7 @ Rd = Op1 + Op2 .text:0001ED10 MOV R12, R12,ROR#2 @ Rd = Op2 .text:0001ED14 AND R2, LR, R12 @ Rd = Op1 & Op2 .text:0001ED18 BIC R1, R5, LR @ Rd = Op1 & ~Op2 .text:0001ED1C LDR R0, [R11,#var_174] @ Load from Memory .text:0001ED20 ORR R2, R2, R1 @ Rd = Op2 | Op1 .text:0001ED24 LDR R1, [R11,#var_178] @ Load from Memory .text:0001ED28 MOV LR, LR,ROR#2 @ Rd = Op2 .text:0001ED2C LDR R7, =0x6ED9EBA1 @ Load from Memory .text:0001ED30 ADD R3, R3, R0 @ Rd = Op1 + Op2 .text:0001ED34 ADD R9, R3, #dword_27800 @ Rd = Op1 + Op2 .text:0001ED38 ADD R9, R9, #0x198 @ Rd = Op1 + Op2 .text:0001ED3C ADD R9, R9, #0x58000001 @ Rd = Op1 + Op2 .text:0001ED40 ADD R9, R9, #0x2800000 @ Rd = Op1 + Op2 .text:0001ED44 MOV R0, R9 @ Rd = Op2 .text:0001ED48 MOV R3, R0,ROR#27 @ Rd = Op2 .text:0001ED4C ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:0001ED50 ADD R3, R3, R4 @ Rd = Op1 + Op2 .text:0001ED54 ADD R3, R3, R1 @ Rd = Op1 + Op2 .text:0001ED58 ADD R9, R3, #dword_27800 @ Rd = Op1 + Op2 .text:0001ED5C ADD R9, R9, #0x198 @ Rd = Op1 + Op2 .text:0001ED60 ADD R9, R9, #0x58000001 @ Rd = Op1 + Op2 .text:0001ED64 ADD R9, R9, #0x2800000 @ Rd = Op1 + Op2 .text:0001ED68 MOV R6, R9 @ Rd = Op2 .text:0001ED6C MOV R3, R6,ROR#27 @ Rd = Op2 .text:0001ED70 AND R2, R0, LR @ Rd = Op1 & Op2 .text:0001ED74 BIC R1, R12, R0 @ Rd = Op1 & ~Op2 .text:0001ED78 ORR R2, R2, R1 @ Rd = Op2 | Op1 .text:0001ED7C ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:0001ED80 ADD R3, R3, R5 @ Rd = Op1 + Op2 .text:0001ED84 LDR R2, [R11,#var_17C] @ Load from Memory .text:0001ED88 MOV R0, R0,ROR#2 @ Rd = Op2 .text:0001ED8C LDR R5, [R11,#var_184] @ Load from Memory .text:0001ED90 ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:0001ED94 ADD R9, R3, #dword_27800 @ Rd = Op1 + Op2 .text:0001ED98 ADD R9, R9, #0x198 @ Rd = Op1 + Op2 .text:0001ED9C ADD R9, R9, #0x58000001 @ Rd = Op1 + Op2 .text:0001EDA0 ADD R9, R9, #0x2800000 @ Rd = Op1 + Op2 .text:0001EDA4 MOV R4, R9 @ Rd = Op2 .text:0001EDA8 MOV R2, R4,ROR#27 @ Rd = Op2 .text:0001EDAC EOR R3, R6, R0 @ Rd = Op1 ^ Op2 .text:0001EDB0 EOR R3, R3, LR @ Rd = Op1 ^ Op2 .text:0001EDB4 ADD R2, R2, R3 @ Rd = Op1 + Op2 .text:0001EDB8 ADD R2, R2, R12 @ Rd = Op1 + Op2 .text:0001EDBC LDR R3, [R11,#var_180] @ Load from Memory .text:0001EDC0 MOV R6, R6,ROR#2 @ Rd = Op2 .text:0001EDC4 ADD R2, R2, R3 @ Rd = Op1 + Op2 .text:0001EDC8 ADD R9, R2, R7 @ Rd = Op1 + Op2 .text:0001EDCC MOV R1, R9 @ Rd = Op2 .text:0001EDD0 MOV R3, R1,ROR#27 @ Rd = Op2 .text:0001EDD4 EOR R2, R4, R6 @ Rd = Op1 ^ Op2 .text:0001EDD8 EOR R2, R2, R0 @ Rd = Op1 ^ Op2 .text:0001EDDC ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:0001EDE0 ADD R3, R3, LR @ Rd = Op1 + Op2 .text:0001EDE4 ADD R3, R3, R5 @ Rd = Op1 + Op2 .text:0001EDE8 ADD R9, R3, R7 @ Rd = Op1 + Op2 .text:0001EDEC MOV R4, R4,ROR#2 @ Rd = Op2 .text:0001EDF0 MOV R12, R9 @ Rd = Op2 .text:0001EDF4 MOV R3, R12,ROR#27 @ Rd = Op2 .text:0001EDF8 EOR R2, R1, R4 @ Rd = Op1 ^ Op2 .text:0001EDFC EOR R2, R2, R6 @ Rd = Op1 ^ Op2 .text:0001EE00 ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:0001EE04 ADD R3, R3, R0 @ Rd = Op1 + Op2 .text:0001EE08 ADD R3, R3, R8 @ Rd = Op1 + Op2 .text:0001EE0C ADD R9, R3, R7 @ Rd = Op1 + Op2 .text:0001EE10 MOV R1, R1,ROR#2 @ Rd = Op2 .text:0001EE14 MOV R0, R9 @ Rd = Op2 .text:0001EE18 MOV R3, R0,ROR#27 @ Rd = Op2 .text:0001EE1C EOR R2, R12, R1 @ Rd = Op1 ^ Op2 .text:0001EE20 EOR R2, R2, R4 @ Rd = Op1 ^ Op2 .text:0001EE24 ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:0001EE28 ADD R3, R3, R6 @ Rd = Op1 + Op2 .text:0001EE2C MOV R12, R12,ROR#2 @ Rd = Op2 .text:0001EE30 LDR R9, [R11,#var_18C] @ Load from Memory .text:0001EE34 EOR R2, R0, R12 @ Rd = Op1 ^ Op2 .text:0001EE38 LDR R5, [R11,#var_194] @ Load from Memory .text:0001EE3C EOR R2, R2, R1 @ Rd = Op1 ^ Op2 .text:0001EE40 LDR R6, [R11,#var_198] @ Load from Memory .text:0001EE44 MOV R0, R0,ROR#2 @ Rd = Op2 .text:0001EE48 LDR R8, [R11,#var_19C] @ Load from Memory .text:0001EE4C ADD R3, R3, R9 @ Rd = Op1 + Op2 .text:0001EE50 ADD R9, R3, R7 @ Rd = Op1 + Op2 .text:0001EE54 MOV LR, R9 @ Rd = Op2 .text:0001EE58 MOV R3, LR,ROR#27 @ Rd = Op2 .text:0001EE5C ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:0001EE60 LDR R2, [R11,#var_190] @ Load from Memory .text:0001EE64 ADD R3, R3, R4 @ Rd = Op1 + Op2 .text:0001EE68 ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:0001EE6C ADD R9, R3, R7 @ Rd = Op1 + Op2 .text:0001EE70 MOV R4, R9 @ Rd = Op2 .text:0001EE74 MOV R3, R4,ROR#27 @ Rd = Op2 .text:0001EE78 EOR R2, LR, R0 @ Rd = Op1 ^ Op2 .text:0001EE7C EOR R2, R2, R12 @ Rd = Op1 ^ Op2 .text:0001EE80 ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:0001EE84 ADD R3, R3, R1 @ Rd = Op1 + Op2 .text:0001EE88 ADD R3, R3, R5 @ Rd = Op1 + Op2 .text:0001EE8C ADD R9, R3, R7 @ Rd = Op1 + Op2 .text:0001EE90 MOV LR, LR,ROR#2 @ Rd = Op2 .text:0001EE94 MOV R1, R9 @ Rd = Op2 .text:0001EE98 MOV R3, R1,ROR#27 @ Rd = Op2 .text:0001EE9C EOR R2, R4, LR @ Rd = Op1 ^ Op2 .text:0001EEA0 EOR R2, R2, R0 @ Rd = Op1 ^ Op2 .text:0001EEA4 ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:0001EEA8 ADD R3, R3, R12 @ Rd = Op1 + Op2 .text:0001EEAC ADD R3, R3, R6 @ Rd = Op1 + Op2 .text:0001EEB0 ADD R9, R3, R7 @ Rd = Op1 + Op2 .text:0001EEB4 MOV R4, R4,ROR#2 @ Rd = Op2 .text:0001EEB8 MOV R12, R9 @ Rd = Op2 .text:0001EEBC MOV R3, R12,ROR#27 @ Rd = Op2 .text:0001EEC0 EOR R2, R1, R4 @ Rd = Op1 ^ Op2 .text:0001EEC4 EOR R2, R2, LR @ Rd = Op1 ^ Op2 .text:0001EEC8 ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:0001EECC ADD R3, R3, R0 @ Rd = Op1 + Op2 .text:0001EED0 ADD R3, R3, R8 @ Rd = Op1 + Op2 .text:0001EED4 ADD R9, R3, R7 @ Rd = Op1 + Op2 .text:0001EED8 MOV R1, R1,ROR#2 @ Rd = Op2 .text:0001EEDC MOV R0, R9 @ Rd = Op2 .text:0001EEE0 MOV R3, R0,ROR#27 @ Rd = Op2 .text:0001EEE4 EOR R2, R12, R1 @ Rd = Op1 ^ Op2 .text:0001EEE8 EOR R2, R2, R4 @ Rd = Op1 ^ Op2 .text:0001EEEC ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:0001EEF0 ADD R3, R3, LR @ Rd = Op1 + Op2 .text:0001EEF4 MOV R12, R12,ROR#2 @ Rd = Op2 .text:0001EEF8 LDR R9, [R11,#var_1A0] @ Load from Memory .text:0001EEFC EOR R2, R0, R12 @ Rd = Op1 ^ Op2 .text:0001EF00 LDR R5, [R11,#var_1A8] @ Load from Memory .text:0001EF04 EOR R2, R2, R1 @ Rd = Op1 ^ Op2 .text:0001EF08 LDR R6, [R11,#var_1AC] @ Load from Memory .text:0001EF0C MOV R0, R0,ROR#2 @ Rd = Op2 .text:0001EF10 LDR R8, [R11,#var_1B0] @ Load from Memory .text:0001EF14 ADD R3, R3, R9 @ Rd = Op1 + Op2 .text:0001EF18 ADD R9, R3, R7 @ Rd = Op1 + Op2 .text:0001EF1C MOV LR, R9 @ Rd = Op2 .text:0001EF20 MOV R3, LR,ROR#27 @ Rd = Op2 .text:0001EF24 ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:0001EF28 LDR R2, [R11,#var_1A4] @ Load from Memory .text:0001EF2C ADD R3, R3, R4 @ Rd = Op1 + Op2 .text:0001EF30 ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:0001EF34 ADD R9, R3, R7 @ Rd = Op1 + Op2 .text:0001EF38 MOV R4, R9 @ Rd = Op2 .text:0001EF3C MOV R3, R4,ROR#27 @ Rd = Op2 .text:0001EF40 EOR R2, LR, R0 @ Rd = Op1 ^ Op2 .text:0001EF44 EOR R2, R2, R12 @ Rd = Op1 ^ Op2 .text:0001EF48 ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:0001EF4C ADD R3, R3, R1 @ Rd = Op1 + Op2 .text:0001EF50 ADD R3, R3, R5 @ Rd = Op1 + Op2 .text:0001EF54 ADD R9, R3, R7 @ Rd = Op1 + Op2 .text:0001EF58 MOV LR, LR,ROR#2 @ Rd = Op2 .text:0001EF5C MOV R5, R9 @ Rd = Op2 .text:0001EF60 MOV R3, R5,ROR#27 @ Rd = Op2 .text:0001EF64 EOR R2, R4, LR @ Rd = Op1 ^ Op2 .text:0001EF68 EOR R2, R2, R0 @ Rd = Op1 ^ Op2 .text:0001EF6C ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:0001EF70 ADD R3, R3, R12 @ Rd = Op1 + Op2 .text:0001EF74 ADD R3, R3, R6 @ Rd = Op1 + Op2 .text:0001EF78 ADD R9, R3, R7 @ Rd = Op1 + Op2 .text:0001EF7C MOV R4, R4,ROR#2 @ Rd = Op2 .text:0001EF80 MOV R1, R9 @ Rd = Op2 .text:0001EF84 MOV R3, R1,ROR#27 @ Rd = Op2 .text:0001EF88 EOR R2, R5, R4 @ Rd = Op1 ^ Op2 .text:0001EF8C EOR R2, R2, LR @ Rd = Op1 ^ Op2 .text:0001EF90 ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:0001EF94 ADD R3, R3, R0 @ Rd = Op1 + Op2 .text:0001EF98 ADD R3, R3, R8 @ Rd = Op1 + Op2 .text:0001EF9C ADD R9, R3, R7 @ Rd = Op1 + Op2 .text:0001EFA0 MOV R5, R5,ROR#2 @ Rd = Op2 .text:0001EFA4 MOV R12, R9 @ Rd = Op2 .text:0001EFA8 MOV R3, R12,ROR#27 @ Rd = Op2 .text:0001EFAC EOR R2, R1, R5 @ Rd = Op1 ^ Op2 .text:0001EFB0 EOR R2, R2, R4 @ Rd = Op1 ^ Op2 .text:0001EFB4 ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:0001EFB8 ADD R3, R3, LR @ Rd = Op1 + Op2 .text:0001EFBC MOV R1, R1,ROR#2 @ Rd = Op2 .text:0001EFC0 EOR R2, R12, R1 @ Rd = Op1 ^ Op2 .text:0001EFC4 LDR R9, [R11,#var_1B4] @ Load from Memory .text:0001EFC8 EOR R2, R2, R5 @ Rd = Op1 ^ Op2 .text:0001EFCC LDR LR, [R11,#var_1B8] @ Load from Memory .text:0001EFD0 MOV R12, R12,ROR#2 @ Rd = Op2 .text:0001EFD4 LDR R8, [R11,#var_1C4] @ Load from Memory .text:0001EFD8 ADD R3, R3, R9 @ Rd = Op1 + Op2 .text:0001EFDC ADD R9, R3, R7 @ Rd = Op1 + Op2 .text:0001EFE0 MOV R6, R9 @ Rd = Op2 .text:0001EFE4 MOV R3, R6,ROR#27 @ Rd = Op2 .text:0001EFE8 ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:0001EFEC ADD R3, R3, R4 @ Rd = Op1 + Op2 .text:0001EFF0 ADD R3, R3, LR @ Rd = Op1 + Op2 .text:0001EFF4 ADD R9, R3, R7 @ Rd = Op1 + Op2 .text:0001EFF8 MOV R4, R9 @ Rd = Op2 .text:0001EFFC MOV R0, R4,ROR#27 @ Rd = Op2 .text:0001F000 EOR R3, R6, R12 @ Rd = Op1 ^ Op2 .text:0001F004 EOR R3, R3, R1 @ Rd = Op1 ^ Op2 .text:0001F008 ADD R0, R0, R3 @ Rd = Op1 + Op2 .text:0001F00C ADD R0, R0, R5 @ Rd = Op1 + Op2 .text:0001F010 LDR R2, [R11,#var_1BC] @ Load from Memory .text:0001F014 MOV R6, R6,ROR#2 @ Rd = Op2 .text:0001F018 LDR R5, [R11,#var_1C0] @ Load from Memory .text:0001F01C ADD R0, R0, R2 @ Rd = Op1 + Op2 .text:0001F020 ADD R9, R0, R7 @ Rd = Op1 + Op2 .text:0001F024 MOV R3, R9,ROR#27 @ Rd = Op2 .text:0001F028 EOR R2, R4, R6 @ Rd = Op1 ^ Op2 .text:0001F02C EOR R2, R2, R12 @ Rd = Op1 ^ Op2 .text:0001F030 ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:0001F034 ADD R3, R3, R1 @ Rd = Op1 + Op2 .text:0001F038 ADD R3, R3, R5 @ Rd = Op1 + Op2 .text:0001F03C ADD R9, R3, R7 @ Rd = Op1 + Op2 .text:0001F040 MOV R4, R4,ROR#2 @ Rd = Op2 .text:0001F044 ADD R0, R0, R7 @ Rd = Op1 + Op2 .text:0001F048 MOV LR, R9 @ Rd = Op2 .text:0001F04C MOV R3, LR,ROR#27 @ Rd = Op2 .text:0001F050 EOR R2, R0, R4 @ Rd = Op1 ^ Op2 .text:0001F054 EOR R2, R2, R6 @ Rd = Op1 ^ Op2 .text:0001F058 ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:0001F05C ADD R3, R3, R12 @ Rd = Op1 + Op2 .text:0001F060 ADD R3, R3, R8 @ Rd = Op1 + Op2 .text:0001F064 ADD R9, R3, R7 @ Rd = Op1 + Op2 .text:0001F068 MOV R0, R0,ROR#2 @ Rd = Op2 .text:0001F06C MOV R12, R9 @ Rd = Op2 .text:0001F070 MOV R3, R12,ROR#27 @ Rd = Op2 .text:0001F074 EOR R2, LR, R0 @ Rd = Op1 ^ Op2 .text:0001F078 EOR R2, R2, R4 @ Rd = Op1 ^ Op2 .text:0001F07C ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:0001F080 LDR R9, [R11,#var_1C8] @ Load from Memory .text:0001F084 ADD R3, R3, R6 @ Rd = Op1 + Op2 .text:0001F088 ADD R3, R3, R9 @ Rd = Op1 + Op2 .text:0001F08C ADD R9, R3, R7 @ Rd = Op1 + Op2 .text:0001F090 STR R9, [R11,#var_218] @ Store to Memory .text:0001F094 MOV LR, LR,ROR#2 @ Rd = Op2 .text:0001F098 LDR R1, [R11,#var_1CC] @ Load from Memory .text:0001F09C EOR R2, R12, LR @ Rd = Op1 ^ Op2 .text:0001F0A0 LDR R5, [R11,#var_218] @ Load from Memory .text:0001F0A4 EOR R2, R2, R0 @ Rd = Op1 ^ Op2 .text:0001F0A8 LDR R6, [R11,#var_1D0] @ Load from Memory .text:0001F0AC MOV R12, R12,ROR#2 @ Rd = Op2 .text:0001F0B0 LDR R8, [R11,#var_1D4] @ Load from Memory .text:0001F0B4 MOV R3, R9,ROR#27 @ Rd = Op2 .text:0001F0B8 ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:0001F0BC ADD R3, R3, R4 @ Rd = Op1 + Op2 .text:0001F0C0 ADD R3, R3, R1 @ Rd = Op1 + Op2 .text:0001F0C4 ADD R9, R3, R7 @ Rd = Op1 + Op2 .text:0001F0C8 MOV R4, R9 @ Rd = Op2 .text:0001F0CC MOV R2, R4,ROR#27 @ Rd = Op2 .text:0001F0D0 ORR R3, R12, LR @ Rd = Op2 | Op1 .text:0001F0D4 AND R3, R5, R3 @ Rd = Op1 & Op2 .text:0001F0D8 AND R1, R12, LR @ Rd = Op1 & Op2 .text:0001F0DC ORR R3, R3, R1 @ Rd = Op2 | Op1 .text:0001F0E0 ADD R2, R2, R3 @ Rd = Op1 + Op2 .text:0001F0E4 ADD R2, R2, R0 @ Rd = Op1 + Op2 .text:0001F0E8 ADD R2, R2, R6 @ Rd = Op1 + Op2 .text:0001F0EC SUB R9, R2, #0x324 @ Rd = Op1 - Op2 .text:0001F0F0 ADD R9, R9, #0x90000000 @ Rd = Op1 + Op2 .text:0001F0F4 SUB R9, R9, #0xE40000 @ Rd = Op1 - Op2 .text:0001F0F8 SUB R9, R9, #0x4000 @ Rd = Op1 - Op2 .text:0001F0FC MOV R7, R5,ROR#2 @ Rd = Op2 .text:0001F100 MOV R0, R9 @ Rd = Op2 .text:0001F104 MOV R3, R0,ROR#27 @ Rd = Op2 .text:0001F108 ORR R2, R7, R12 @ Rd = Op2 | Op1 .text:0001F10C AND R2, R4, R2 @ Rd = Op1 & Op2 .text:0001F110 B loc_1F118 @ Branch .text:0001F110 @ --------------------------------------------------------------------------- .text:0001F114 dword_1F114: .long 0x6ED9EBA1 @ DATA XREF: sha1_block_host_order+BA4r .text:0001F118 @ --------------------------------------------------------------------------- .text:0001F118 .text:0001F118 loc_1F118: @ CODE XREF: sha1_block_host_order+F88j .text:0001F118 AND R1, R7, R12 @ Rd = Op1 & Op2 .text:0001F11C ORR R2, R2, R1 @ Rd = Op2 | Op1 .text:0001F120 ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:0001F124 ADD R3, R3, LR @ Rd = Op1 + Op2 .text:0001F128 ADD R3, R3, R8 @ Rd = Op1 + Op2 .text:0001F12C SUB R9, R3, #0x324 @ Rd = Op1 - Op2 .text:0001F130 ADD R9, R9, #0x90000000 @ Rd = Op1 + Op2 .text:0001F134 SUB R9, R9, #0xE40000 @ Rd = Op1 - Op2 .text:0001F138 SUB R9, R9, #0x4000 @ Rd = Op1 - Op2 .text:0001F13C MOV R4, R4,ROR#2 @ Rd = Op2 .text:0001F140 STR R9, [R11,#var_224] @ Store to Memory .text:0001F144 ORR R2, R4, R7 @ Rd = Op2 | Op1 .text:0001F148 AND R2, R0, R2 @ Rd = Op1 & Op2 .text:0001F14C STR R4, [R11,#var_220] @ Store to Memory .text:0001F150 AND R1, R4, R7 @ Rd = Op1 & Op2 .text:0001F154 ORR R2, R2, R1 @ Rd = Op2 | Op1 .text:0001F158 MOV R3, R9,ROR#27 @ Rd = Op2 .text:0001F15C ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:0001F160 LDR R9, [R11,#var_1D8] @ Load from Memory .text:0001F164 ADD R3, R3, R12 @ Rd = Op1 + Op2 .text:0001F168 LDR R12, =dword_45DB8 @ Load from Memory .text:0001F16C ADD R3, R3, R9 @ Rd = Op1 + Op2 .text:0001F170 SUB R9, R3, #0x324 @ Rd = Op1 - Op2 .text:0001F174 ADD R9, R9, #0x90000000 @ Rd = Op1 + Op2 .text:0001F178 SUB R9, R9, #0xE40000 @ Rd = Op1 - Op2 .text:0001F17C SUB R9, R9, #0x4000 @ Rd = Op1 - Op2 .text:0001F180 STR R9, [R12] @ Store to Memory .text:0001F184 MOV R0, R0,ROR#2 @ Rd = Op2 .text:0001F188 STR R0, [R11,#var_228] @ Store to Memory .text:0001F18C LDR R8, =dword_45DD0 @ Load from Memory .text:0001F190 MOV R0, R9 @ Rd = Op2 .text:0001F194 LDR LR, [R11,#var_228] @ Load from Memory .text:0001F198 MOV R2, R0,ROR#27 @ Rd = Op2 .text:0001F19C LDR R1, [R11,#var_224] @ Load from Memory .text:0001F1A0 ORR R3, LR, R4 @ Rd = Op2 | Op1 .text:0001F1A4 AND R3, R1, R3 @ Rd = Op1 & Op2 .text:0001F1A8 AND R1, LR, R4 @ Rd = Op1 & Op2 .text:0001F1AC ORR R3, R3, R1 @ Rd = Op2 | Op1 .text:0001F1B0 ADD R2, R2, R3 @ Rd = Op1 + Op2 .text:0001F1B4 LDR R1, [R11,#var_BC] @ Load from Memory .text:0001F1B8 ADD R2, R2, R7 @ Rd = Op1 + Op2 .text:0001F1BC ADD R2, R2, R1 @ Rd = Op1 + Op2 .text:0001F1C0 SUB R9, R2, #0x324 @ Rd = Op1 - Op2 .text:0001F1C4 ADD R9, R9, #0x90000000 @ Rd = Op1 + Op2 .text:0001F1C8 SUB R9, R9, #0xE40000 @ Rd = Op1 - Op2 .text:0001F1CC SUB R9, R9, #0x4000 @ Rd = Op1 - Op2 .text:0001F1D0 LDR R2, [R11,#var_224] @ Load from Memory .text:0001F1D4 MOV R12, R9 @ Rd = Op2 .text:0001F1D8 MOV R5, R2,ROR#2 @ Rd = Op2 .text:0001F1DC MOV R2, R12,ROR#27 @ Rd = Op2 .text:0001F1E0 ORR R3, R5, LR @ Rd = Op2 | Op1 .text:0001F1E4 AND R3, R0, R3 @ Rd = Op1 & Op2 .text:0001F1E8 AND R1, R5, LR @ Rd = Op1 & Op2 .text:0001F1EC ORR R3, R3, R1 @ Rd = Op2 | Op1 .text:0001F1F0 ADD R2, R2, R3 @ Rd = Op1 + Op2 .text:0001F1F4 ADD R2, R2, R4 @ Rd = Op1 + Op2 .text:0001F1F8 MOV R0, R0,ROR#2 @ Rd = Op2 .text:0001F1FC ORR R3, R0, R5 @ Rd = Op2 | Op1 .text:0001F200 LDR R1, [R11,#var_B8] @ Load from Memory .text:0001F204 AND R3, R12, R3 @ Rd = Op1 & Op2 .text:0001F208 ADD R2, R2, R1 @ Rd = Op1 + Op2 .text:0001F20C SUB R9, R2, #0x324 @ Rd = Op1 - Op2 .text:0001F210 ADD R9, R9, #0x90000000 @ Rd = Op1 + Op2 .text:0001F214 SUB R9, R9, #0xE40000 @ Rd = Op1 - Op2 .text:0001F218 SUB R9, R9, #0x4000 @ Rd = Op1 - Op2 .text:0001F21C MOV LR, R9 @ Rd = Op2 .text:0001F220 MOV R2, LR,ROR#27 @ Rd = Op2 .text:0001F224 AND R1, R0, R5 @ Rd = Op1 & Op2 .text:0001F228 ORR R3, R3, R1 @ Rd = Op2 | Op1 .text:0001F22C ADD R2, R2, R3 @ Rd = Op1 + Op2 .text:0001F230 LDR R3, [R11,#var_228] @ Load from Memory .text:0001F234 MOV R12, R12,ROR#2 @ Rd = Op2 .text:0001F238 LDR R1, [R11,#var_B4] @ Load from Memory .text:0001F23C ADD R2, R2, R3 @ Rd = Op1 + Op2 .text:0001F240 ADD R2, R2, R1 @ Rd = Op1 + Op2 .text:0001F244 SUB R9, R2, #0x324 @ Rd = Op1 - Op2 .text:0001F248 ADD R9, R9, #0x90000000 @ Rd = Op1 + Op2 .text:0001F24C SUB R9, R9, #0xE40000 @ Rd = Op1 - Op2 .text:0001F250 SUB R9, R9, #0x4000 @ Rd = Op1 - Op2 .text:0001F254 MOV R4, R9 @ Rd = Op2 .text:0001F258 MOV R2, R4,ROR#27 @ Rd = Op2 .text:0001F25C ORR R3, R12, R0 @ Rd = Op2 | Op1 .text:0001F260 AND R3, LR, R3 @ Rd = Op1 & Op2 .text:0001F264 AND R1, R12, R0 @ Rd = Op1 & Op2 .text:0001F268 ORR R3, R3, R1 @ Rd = Op2 | Op1 .text:0001F26C ADD R2, R2, R3 @ Rd = Op1 + Op2 .text:0001F270 ADD R2, R2, R5 @ Rd = Op1 + Op2 .text:0001F274 MOV LR, LR,ROR#2 @ Rd = Op2 .text:0001F278 ORR R3, LR, R12 @ Rd = Op2 | Op1 .text:0001F27C AND R3, R4, R3 @ Rd = Op1 & Op2 .text:0001F280 LDR R1, [R11,#var_B0] @ Load from Memory .text:0001F284 MOV R4, R4,ROR#2 @ Rd = Op2 .text:0001F288 ADD R2, R2, R1 @ Rd = Op1 + Op2 .text:0001F28C SUB R9, R2, #0x324 @ Rd = Op1 - Op2 .text:0001F290 ADD R9, R9, #0x90000000 @ Rd = Op1 + Op2 .text:0001F294 SUB R9, R9, #0xE40000 @ Rd = Op1 - Op2 .text:0001F298 SUB R9, R9, #0x4000 @ Rd = Op1 - Op2 .text:0001F29C MOV R5, R9 @ Rd = Op2 .text:0001F2A0 MOV R2, R5,ROR#27 @ Rd = Op2 .text:0001F2A4 AND R1, LR, R12 @ Rd = Op1 & Op2 .text:0001F2A8 ORR R3, R3, R1 @ Rd = Op2 | Op1 .text:0001F2AC ADD R2, R2, R3 @ Rd = Op1 + Op2 .text:0001F2B0 ADD R2, R2, R0 @ Rd = Op1 + Op2 .text:0001F2B4 ORR R3, R4, LR @ Rd = Op2 | Op1 .text:0001F2B8 AND R3, R5, R3 @ Rd = Op1 & Op2 .text:0001F2BC LDR R1, [R11,#var_AC] @ Load from Memory .text:0001F2C0 MOV R5, R5,ROR#2 @ Rd = Op2 .text:0001F2C4 ADD R2, R2, R1 @ Rd = Op1 + Op2 .text:0001F2C8 SUB R9, R2, #0x324 @ Rd = Op1 - Op2 .text:0001F2CC ADD R9, R9, #0x90000000 @ Rd = Op1 + Op2 .text:0001F2D0 SUB R9, R9, #0xE40000 @ Rd = Op1 - Op2 .text:0001F2D4 SUB R9, R9, #0x4000 @ Rd = Op1 - Op2 .text:0001F2D8 MOV R0, R9 @ Rd = Op2 .text:0001F2DC MOV R2, R0,ROR#27 @ Rd = Op2 .text:0001F2E0 AND R1, R4, LR @ Rd = Op1 & Op2 .text:0001F2E4 ORR R3, R3, R1 @ Rd = Op2 | Op1 .text:0001F2E8 ADD R2, R2, R3 @ Rd = Op1 + Op2 .text:0001F2EC ADD R2, R2, R12 @ Rd = Op1 + Op2 .text:0001F2F0 ORR R3, R5, R4 @ Rd = Op2 | Op1 .text:0001F2F4 AND R3, R0, R3 @ Rd = Op1 & Op2 .text:0001F2F8 LDR R1, [R11,#var_A8] @ Load from Memory .text:0001F2FC MOV R0, R0,ROR#2 @ Rd = Op2 .text:0001F300 ADD R2, R2, R1 @ Rd = Op1 + Op2 .text:0001F304 SUB R9, R2, #0x324 @ Rd = Op1 - Op2 .text:0001F308 ADD R9, R9, #0x90000000 @ Rd = Op1 + Op2 .text:0001F30C SUB R9, R9, #0xE40000 @ Rd = Op1 - Op2 .text:0001F310 SUB R9, R9, #0x4000 @ Rd = Op1 - Op2 .text:0001F314 MOV R12, R9 @ Rd = Op2 .text:0001F318 MOV R2, R12,ROR#27 @ Rd = Op2 .text:0001F31C AND R1, R5, R4 @ Rd = Op1 & Op2 .text:0001F320 ORR R3, R3, R1 @ Rd = Op2 | Op1 .text:0001F324 ADD R2, R2, R3 @ Rd = Op1 + Op2 .text:0001F328 ADD R2, R2, LR @ Rd = Op1 + Op2 .text:0001F32C ORR R3, R0, R5 @ Rd = Op2 | Op1 .text:0001F330 AND R3, R12, R3 @ Rd = Op1 & Op2 .text:0001F334 LDR R1, [R11,#var_A4] @ Load from Memory .text:0001F338 MOV R12, R12,ROR#2 @ Rd = Op2 .text:0001F33C ADD R2, R2, R1 @ Rd = Op1 + Op2 .text:0001F340 SUB R9, R2, #0x324 @ Rd = Op1 - Op2 .text:0001F344 ADD R9, R9, #0x90000000 @ Rd = Op1 + Op2 .text:0001F348 SUB R9, R9, #0xE40000 @ Rd = Op1 - Op2 .text:0001F34C SUB R9, R9, #0x4000 @ Rd = Op1 - Op2 .text:0001F350 MOV LR, R9 @ Rd = Op2 .text:0001F354 MOV R2, LR,ROR#27 @ Rd = Op2 .text:0001F358 AND R1, R0, R5 @ Rd = Op1 & Op2 .text:0001F35C ORR R3, R3, R1 @ Rd = Op2 | Op1 .text:0001F360 ADD R2, R2, R3 @ Rd = Op1 + Op2 .text:0001F364 ADD R2, R2, R4 @ Rd = Op1 + Op2 .text:0001F368 ORR R3, R12, R0 @ Rd = Op2 | Op1 .text:0001F36C AND R3, LR, R3 @ Rd = Op1 & Op2 .text:0001F370 LDR R1, [R11,#var_A0] @ Load from Memory .text:0001F374 MOV LR, LR,ROR#2 @ Rd = Op2 .text:0001F378 ADD R2, R2, R1 @ Rd = Op1 + Op2 .text:0001F37C SUB R9, R2, #0x324 @ Rd = Op1 - Op2 .text:0001F380 ADD R9, R9, #0x90000000 @ Rd = Op1 + Op2 .text:0001F384 SUB R9, R9, #0xE40000 @ Rd = Op1 - Op2 .text:0001F388 SUB R9, R9, #0x4000 @ Rd = Op1 - Op2 .text:0001F38C MOV R4, R9 @ Rd = Op2 .text:0001F390 MOV R2, R4,ROR#27 @ Rd = Op2 .text:0001F394 AND R1, R12, R0 @ Rd = Op1 & Op2 .text:0001F398 ORR R3, R3, R1 @ Rd = Op2 | Op1 .text:0001F39C ADD R2, R2, R3 @ Rd = Op1 + Op2 .text:0001F3A0 ADD R2, R2, R5 @ Rd = Op1 + Op2 .text:0001F3A4 ORR R3, LR, R12 @ Rd = Op2 | Op1 .text:0001F3A8 AND R3, R4, R3 @ Rd = Op1 & Op2 .text:0001F3AC LDR R1, [R11,#var_9C] @ Load from Memory .text:0001F3B0 MOV R4, R4,ROR#2 @ Rd = Op2 .text:0001F3B4 ADD R2, R2, R1 @ Rd = Op1 + Op2 .text:0001F3B8 SUB R9, R2, #0x324 @ Rd = Op1 - Op2 .text:0001F3BC ADD R9, R9, #0x90000000 @ Rd = Op1 + Op2 .text:0001F3C0 SUB R9, R9, #0xE40000 @ Rd = Op1 - Op2 .text:0001F3C4 SUB R9, R9, #0x4000 @ Rd = Op1 - Op2 .text:0001F3C8 MOV R5, R9 @ Rd = Op2 .text:0001F3CC MOV R2, R5,ROR#27 @ Rd = Op2 .text:0001F3D0 AND R1, LR, R12 @ Rd = Op1 & Op2 .text:0001F3D4 ORR R3, R3, R1 @ Rd = Op2 | Op1 .text:0001F3D8 ADD R2, R2, R3 @ Rd = Op1 + Op2 .text:0001F3DC ADD R2, R2, R0 @ Rd = Op1 + Op2 .text:0001F3E0 ORR R3, R4, LR @ Rd = Op2 | Op1 .text:0001F3E4 AND R3, R5, R3 @ Rd = Op1 & Op2 .text:0001F3E8 LDR R1, [R11,#var_98] @ Load from Memory .text:0001F3EC MOV R5, R5,ROR#2 @ Rd = Op2 .text:0001F3F0 ADD R2, R2, R1 @ Rd = Op1 + Op2 .text:0001F3F4 SUB R9, R2, #0x324 @ Rd = Op1 - Op2 .text:0001F3F8 ADD R9, R9, #0x90000000 @ Rd = Op1 + Op2 .text:0001F3FC SUB R9, R9, #0xE40000 @ Rd = Op1 - Op2 .text:0001F400 .text:0001F400 loc_1F400: @ DATA XREF: MD5Transform+648o .text:0001F400 SUB R9, R9, #0x4000 @ Rd = Op1 - Op2 .text:0001F404 MOV R0, R9 @ Rd = Op2 .text:0001F408 MOV R2, R0,ROR#27 @ Rd = Op2 .text:0001F40C AND R1, R4, LR @ Rd = Op1 & Op2 .text:0001F410 ORR R3, R3, R1 @ Rd = Op2 | Op1 .text:0001F414 ADD R2, R2, R3 @ Rd = Op1 + Op2 .text:0001F418 ADD R2, R2, R12 @ Rd = Op1 + Op2 .text:0001F41C ORR R3, R5, R4 @ Rd = Op2 | Op1 .text:0001F420 AND R3, R0, R3 @ Rd = Op1 & Op2 .text:0001F424 LDR R1, [R11,#var_94] @ Load from Memory .text:0001F428 MOV R0, R0,ROR#2 @ Rd = Op2 .text:0001F42C LDR R12, =dword_45DB0 @ Load from Memory .text:0001F430 ADD R2, R2, R1 @ Rd = Op1 + Op2 .text:0001F434 SUB R9, R2, #0x324 @ Rd = Op1 - Op2 .text:0001F438 ADD R9, R9, #0x90000000 @ Rd = Op1 + Op2 .text:0001F43C SUB R9, R9, #0xE40000 @ Rd = Op1 - Op2 .text:0001F440 SUB R9, R9, #0x4000 @ Rd = Op1 - Op2 .text:0001F444 MOV R6, R9 @ Rd = Op2 .text:0001F448 MOV R2, R6,ROR#27 @ Rd = Op2 .text:0001F44C AND R1, R5, R4 @ Rd = Op1 & Op2 .text:0001F450 ORR R3, R3, R1 @ Rd = Op2 | Op1 .text:0001F454 LDR R1, [R11,#var_90] @ Load from Memory .text:0001F458 ADD R2, R2, R3 @ Rd = Op1 + Op2 .text:0001F45C STR R7, [R8] @ Store to Memory .text:0001F460 ADD R2, R2, LR @ Rd = Op1 + Op2 .text:0001F464 ORR R3, R0, R5 @ Rd = Op2 | Op1 .text:0001F468 AND R3, R6, R3 @ Rd = Op1 & Op2 .text:0001F46C MOV R6, R6,ROR#2 @ Rd = Op2 .text:0001F470 LDR LR, [R11,#var_220] @ Load from Memory .text:0001F474 ADD R2, R2, R1 @ Rd = Op1 + Op2 .text:0001F478 SUB R9, R2, #0x324 @ Rd = Op1 - Op2 .text:0001F47C ADD R9, R9, #0x90000000 @ Rd = Op1 + Op2 .text:0001F480 SUB R9, R9, #0xE40000 @ Rd = Op1 - Op2 .text:0001F484 SUB R9, R9, #0x4000 @ Rd = Op1 - Op2 .text:0001F488 MOV R7, R9 @ Rd = Op2 .text:0001F48C MOV R2, R7,ROR#27 @ Rd = Op2 .text:0001F490 AND R1, R0, R5 @ Rd = Op1 & Op2 .text:0001F494 ORR R3, R3, R1 @ Rd = Op2 | Op1 .text:0001F498 ADD R2, R2, R3 @ Rd = Op1 + Op2 .text:0001F49C ADD R2, R2, R4 @ Rd = Op1 + Op2 .text:0001F4A0 ORR R3, R6, R0 @ Rd = Op2 | Op1 .text:0001F4A4 AND R3, R7, R3 @ Rd = Op1 & Op2 .text:0001F4A8 LDR R1, [R11,#var_8C] @ Load from Memory .text:0001F4AC MOV R7, R7,ROR#2 @ Rd = Op2 .text:0001F4B0 STR LR, [R12] @ Store to Memory .text:0001F4B4 ADD R2, R2, R1 @ Rd = Op1 + Op2 .text:0001F4B8 SUB R9, R2, #0x324 @ Rd = Op1 - Op2 .text:0001F4BC ADD R9, R9, #0x90000000 @ Rd = Op1 + Op2 .text:0001F4C0 SUB R9, R9, #0xE40000 @ Rd = Op1 - Op2 .text:0001F4C4 SUB R9, R9, #0x4000 @ Rd = Op1 - Op2 .text:0001F4C8 MOV LR, R9 @ Rd = Op2 .text:0001F4CC MOV R2, LR,ROR#27 @ Rd = Op2 .text:0001F4D0 AND R1, R6, R0 @ Rd = Op1 & Op2 .text:0001F4D4 ORR R3, R3, R1 @ Rd = Op2 | Op1 .text:0001F4D8 ADD R2, R2, R3 @ Rd = Op1 + Op2 .text:0001F4DC ADD R2, R2, R5 @ Rd = Op1 + Op2 .text:0001F4E0 ORR R3, R7, R6 @ Rd = Op2 | Op1 .text:0001F4E4 AND R3, LR, R3 @ Rd = Op1 & Op2 .text:0001F4E8 LDR R1, [R11,#var_88] @ Load from Memory .text:0001F4EC MOV LR, LR,ROR#2 @ Rd = Op2 .text:0001F4F0 LDR R5, =dword_45DB8 @ Load from Memory .text:0001F4F4 ADD R2, R2, R1 @ Rd = Op1 + Op2 .text:0001F4F8 SUB R9, R2, #0x324 @ Rd = Op1 - Op2 .text:0001F4FC ADD R9, R9, #0x90000000 @ Rd = Op1 + Op2 .text:0001F500 LDR R2, [R11,#var_228] @ Load from Memory .text:0001F504 SUB R9, R9, #0xE40000 @ Rd = Op1 - Op2 .text:0001F508 LDR R1, =dword_45DC4 @ Load from Memory .text:0001F50C SUB R9, R9, #0x4000 @ Rd = Op1 - Op2 .text:0001F510 STR R2, [R1] @ Store to Memory .text:0001F514 MOV R12, R9 @ Rd = Op2 .text:0001F518 MOV R2, R12,ROR#27 @ Rd = Op2 .text:0001F51C AND R1, R7, R6 @ Rd = Op1 & Op2 .text:0001F520 ORR R3, R3, R1 @ Rd = Op2 | Op1 .text:0001F524 LDR R1, [R11,#var_84] @ Load from Memory .text:0001F528 ADD R2, R2, R3 @ Rd = Op1 + Op2 .text:0001F52C LDR R4, [R11,#var_224] @ Load from Memory .text:0001F530 ADD R2, R2, R0 @ Rd = Op1 + Op2 .text:0001F534 LDR R3, =dword_45DBC @ Load from Memory .text:0001F538 ADD R2, R2, R1 @ Rd = Op1 + Op2 .text:0001F53C SUB R9, R2, #0x324 @ Rd = Op1 - Op2 .text:0001F540 ADD R9, R9, #0x90000000 @ Rd = Op1 + Op2 .text:0001F544 SUB R9, R9, #0xE40000 @ Rd = Op1 - Op2 .text:0001F548 SUB R9, R9, #0x4000 @ Rd = Op1 - Op2 .text:0001F54C B loc_1F564 @ Branch .text:0001F54C @ --------------------------------------------------------------------------- .text:0001F550 off_1F550: .long dword_45DB8 @ DATA XREF: sha1_block_host_order+FE0r .text:0001F550 @ sha1_block_host_order+1368r .text:0001F554 off_1F554: .long dword_45DD0 @ DATA XREF: sha1_block_host_order+1004r .text:0001F558 off_1F558: .long dword_45DB0 @ DATA XREF: sha1_block_host_order+12A4r .text:0001F55C off_1F55C: .long dword_45DC4 @ DATA XREF: sha1_block_host_order+1380r .text:0001F560 off_1F560: .long dword_45DBC @ DATA XREF: sha1_block_host_order+13ACr .text:0001F564 @ --------------------------------------------------------------------------- .text:0001F564 .text:0001F564 loc_1F564: @ CODE XREF: sha1_block_host_order+13C4j .text:0001F564 MOV R0, R9 @ Rd = Op2 .text:0001F568 MOV R2, R0,ROR#27 @ Rd = Op2 .text:0001F56C STR R4, [R3] @ Store to Memory .text:0001F570 ORR R3, LR, R7 @ Rd = Op2 | Op1 .text:0001F574 AND R3, R12, R3 @ Rd = Op1 & Op2 .text:0001F578 AND R1, LR, R7 @ Rd = Op1 & Op2 .text:0001F57C ORR R3, R3, R1 @ Rd = Op2 | Op1 .text:0001F580 ADD R2, R2, R3 @ Rd = Op1 + Op2 .text:0001F584 LDR R1, [R11,#var_80] @ Load from Memory .text:0001F588 ADD R2, R2, R6 @ Rd = Op1 + Op2 .text:0001F58C ADD R2, R2, R1 @ Rd = Op1 + Op2 .text:0001F590 SUB R9, R2, #0x324 @ Rd = Op1 - Op2 .text:0001F594 ADD R9, R9, #0x90000000 @ Rd = Op1 + Op2 .text:0001F598 SUB R9, R9, #0xE40000 @ Rd = Op1 - Op2 .text:0001F59C SUB R9, R9, #0x4000 @ Rd = Op1 - Op2 .text:0001F5A0 STR R9, [R5] @ Store to Memory .text:0001F5A4 STR LR, [R8] @ Store to Memory .text:0001F5A8 LDR R6, =dword_45DB0 @ Load from Memory .text:0001F5AC MOV R12, R12,ROR#2 @ Rd = Op2 .text:0001F5B0 STR R12, [R6] @ Store to Memory .text:0001F5B4 LDR R8, =dword_45DC4 @ Load from Memory .text:0001F5B8 MOV R2, R0,ROR#2 @ Rd = Op2 .text:0001F5BC STR R2, [R8] @ Store to Memory .text:0001F5C0 MOV R3, R9 @ Rd = Op2 .text:0001F5C4 LDR R9, =dword_45DBC @ Load from Memory .text:0001F5C8 STR R3, [R9] @ Store to Memory .text:0001F5CC MOV R3, R3,ROR#27 @ Rd = Op2 .text:0001F5D0 ORR R2, R12, LR @ Rd = Op2 | Op1 .text:0001F5D4 AND R0, R0, R2 @ Rd = Op1 & Op2 .text:0001F5D8 AND R12, R12, LR @ Rd = Op1 & Op2 .text:0001F5DC ORR R0, R0, R12 @ Rd = Op2 | Op1 .text:0001F5E0 ADD R3, R3, R0 @ Rd = Op1 + Op2 .text:0001F5E4 LDR R2, [R11,#var_7C] @ Load from Memory .text:0001F5E8 ADD R3, R3, R7 @ Rd = Op1 + Op2 .text:0001F5EC LDR R0, =dword_45DD0 @ Load from Memory .text:0001F5F0 ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:0001F5F4 LDR R4, [R9] @ Load from Memory .text:0001F5F8 SUB R9, R3, #0x324 @ Rd = Op1 - Op2 .text:0001F5FC ADD R9, R9, #0x90000000 @ Rd = Op1 + Op2 .text:0001F600 LDR LR, [R8] @ Load from Memory .text:0001F604 SUB R9, R9, #0xE40000 @ Rd = Op1 - Op2 .text:0001F608 LDR R12, [R6] @ Load from Memory .text:0001F60C SUB R9, R9, #0x4000 @ Rd = Op1 - Op2 .text:0001F610 LDR R1, [R0] @ Load from Memory .text:0001F614 MOV R5, R9 @ Rd = Op2 .text:0001F618 LDR R0, [R11,#var_78] @ Load from Memory .text:0001F61C MOV R3, R5,ROR#27 @ Rd = Op2 .text:0001F620 LDR R6, =0xCA62C1D6 @ Load from Memory .text:0001F624 EOR R2, R4, LR @ Rd = Op1 ^ Op2 .text:0001F628 EOR R2, R2, R12 @ Rd = Op1 ^ Op2 .text:0001F62C ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:0001F630 ADD R3, R3, R1 @ Rd = Op1 + Op2 .text:0001F634 ADD R3, R3, R0 @ Rd = Op1 + Op2 .text:0001F638 ADD R9, R3, R6 @ Rd = Op1 + Op2 .text:0001F63C MOV R4, R4,ROR#2 @ Rd = Op2 .text:0001F640 MOV R0, R9 @ Rd = Op2 .text:0001F644 MOV R2, R0,ROR#27 @ Rd = Op2 .text:0001F648 EOR R3, R5, R4 @ Rd = Op1 ^ Op2 .text:0001F64C EOR R3, R3, LR @ Rd = Op1 ^ Op2 .text:0001F650 ADD R2, R2, R3 @ Rd = Op1 + Op2 .text:0001F654 ADD R2, R2, R12 @ Rd = Op1 + Op2 .text:0001F658 MOV R5, R5,ROR#2 @ Rd = Op2 .text:0001F65C EOR R3, R0, R5 @ Rd = Op1 ^ Op2 .text:0001F660 EOR R3, R3, R4 @ Rd = Op1 ^ Op2 .text:0001F664 LDR R1, [R11,#var_74] @ Load from Memory .text:0001F668 MOV R0, R0,ROR#2 @ Rd = Op2 .text:0001F66C ADD R2, R2, R1 @ Rd = Op1 + Op2 .text:0001F670 ADD R9, R2, R6 @ Rd = Op1 + Op2 .text:0001F674 MOV R12, R9 @ Rd = Op2 .text:0001F678 MOV R2, R12,ROR#27 @ Rd = Op2 .text:0001F67C ADD R2, R2, R3 @ Rd = Op1 + Op2 .text:0001F680 ADD R2, R2, LR @ Rd = Op1 + Op2 .text:0001F684 EOR R3, R12, R0 @ Rd = Op1 ^ Op2 .text:0001F688 EOR R3, R3, R5 @ Rd = Op1 ^ Op2 .text:0001F68C LDR R1, [R11,#var_70] @ Load from Memory .text:0001F690 MOV R12, R12,ROR#2 @ Rd = Op2 .text:0001F694 ADD R2, R2, R1 @ Rd = Op1 + Op2 .text:0001F698 ADD R9, R2, R6 @ Rd = Op1 + Op2 .text:0001F69C MOV LR, R9 @ Rd = Op2 .text:0001F6A0 MOV R2, LR,ROR#27 @ Rd = Op2 .text:0001F6A4 ADD R2, R2, R3 @ Rd = Op1 + Op2 .text:0001F6A8 ADD R2, R2, R4 @ Rd = Op1 + Op2 .text:0001F6AC EOR R3, LR, R12 @ Rd = Op1 ^ Op2 .text:0001F6B0 EOR R3, R3, R0 @ Rd = Op1 ^ Op2 .text:0001F6B4 LDR R1, [R11,#var_6C] @ Load from Memory .text:0001F6B8 MOV LR, LR,ROR#2 @ Rd = Op2 .text:0001F6BC ADD R2, R2, R1 @ Rd = Op1 + Op2 .text:0001F6C0 ADD R9, R2, R6 @ Rd = Op1 + Op2 .text:0001F6C4 MOV R4, R9 @ Rd = Op2 .text:0001F6C8 MOV R2, R4,ROR#27 @ Rd = Op2 .text:0001F6CC ADD R2, R2, R3 @ Rd = Op1 + Op2 .text:0001F6D0 ADD R2, R2, R5 @ Rd = Op1 + Op2 .text:0001F6D4 EOR R3, R4, LR @ Rd = Op1 ^ Op2 .text:0001F6D8 EOR R3, R3, R12 @ Rd = Op1 ^ Op2 .text:0001F6DC LDR R1, [R11,#var_68] @ Load from Memory .text:0001F6E0 MOV R4, R4,ROR#2 @ Rd = Op2 .text:0001F6E4 ADD R2, R2, R1 @ Rd = Op1 + Op2 .text:0001F6E8 ADD R9, R2, R6 @ Rd = Op1 + Op2 .text:0001F6EC MOV R5, R9 @ Rd = Op2 .text:0001F6F0 MOV R2, R5,ROR#27 @ Rd = Op2 .text:0001F6F4 ADD R2, R2, R3 @ Rd = Op1 + Op2 .text:0001F6F8 ADD R2, R2, R0 @ Rd = Op1 + Op2 .text:0001F6FC EOR R3, R5, R4 @ Rd = Op1 ^ Op2 .text:0001F700 EOR R3, R3, LR @ Rd = Op1 ^ Op2 .text:0001F704 LDR R1, [R11,#var_64] @ Load from Memory .text:0001F708 MOV R5, R5,ROR#2 @ Rd = Op2 .text:0001F70C ADD R2, R2, R1 @ Rd = Op1 + Op2 .text:0001F710 ADD R9, R2, R6 @ Rd = Op1 + Op2 .text:0001F714 MOV R0, R9 @ Rd = Op2 .text:0001F718 MOV R2, R0,ROR#27 @ Rd = Op2 .text:0001F71C ADD R2, R2, R3 @ Rd = Op1 + Op2 .text:0001F720 ADD R2, R2, R12 @ Rd = Op1 + Op2 .text:0001F724 EOR R3, R0, R5 @ Rd = Op1 ^ Op2 .text:0001F728 EOR R3, R3, R4 @ Rd = Op1 ^ Op2 .text:0001F72C LDR R1, [R11,#var_60] @ Load from Memory .text:0001F730 MOV R0, R0,ROR#2 @ Rd = Op2 .text:0001F734 ADD R2, R2, R1 @ Rd = Op1 + Op2 .text:0001F738 ADD R9, R2, R6 @ Rd = Op1 + Op2 .text:0001F73C MOV R12, R9 @ Rd = Op2 .text:0001F740 MOV R2, R12,ROR#27 @ Rd = Op2 .text:0001F744 ADD R2, R2, R3 @ Rd = Op1 + Op2 .text:0001F748 ADD R2, R2, LR @ Rd = Op1 + Op2 .text:0001F74C EOR R3, R12, R0 @ Rd = Op1 ^ Op2 .text:0001F750 EOR R3, R3, R5 @ Rd = Op1 ^ Op2 .text:0001F754 LDR R1, [R11,#var_5C] @ Load from Memory .text:0001F758 MOV R12, R12,ROR#2 @ Rd = Op2 .text:0001F75C ADD R2, R2, R1 @ Rd = Op1 + Op2 .text:0001F760 ADD R9, R2, R6 @ Rd = Op1 + Op2 .text:0001F764 MOV LR, R9 @ Rd = Op2 .text:0001F768 MOV R2, LR,ROR#27 @ Rd = Op2 .text:0001F76C ADD R2, R2, R3 @ Rd = Op1 + Op2 .text:0001F770 ADD R2, R2, R4 @ Rd = Op1 + Op2 .text:0001F774 EOR R3, LR, R12 @ Rd = Op1 ^ Op2 .text:0001F778 EOR R3, R3, R0 @ Rd = Op1 ^ Op2 .text:0001F77C LDR R1, [R11,#var_58] @ Load from Memory .text:0001F780 MOV LR, LR,ROR#2 @ Rd = Op2 .text:0001F784 ADD R2, R2, R1 @ Rd = Op1 + Op2 .text:0001F788 ADD R9, R2, R6 @ Rd = Op1 + Op2 .text:0001F78C MOV R4, R9 @ Rd = Op2 .text:0001F790 MOV R2, R4,ROR#27 @ Rd = Op2 .text:0001F794 ADD R2, R2, R3 @ Rd = Op1 + Op2 .text:0001F798 ADD R2, R2, R5 @ Rd = Op1 + Op2 .text:0001F79C EOR R3, R4, LR @ Rd = Op1 ^ Op2 .text:0001F7A0 EOR R3, R3, R12 @ Rd = Op1 ^ Op2 .text:0001F7A4 LDR R1, [R11,#var_54] @ Load from Memory .text:0001F7A8 MOV R4, R4,ROR#2 @ Rd = Op2 .text:0001F7AC ADD R2, R2, R1 @ Rd = Op1 + Op2 .text:0001F7B0 ADD R9, R2, R6 @ Rd = Op1 + Op2 .text:0001F7B4 MOV R5, R9 @ Rd = Op2 .text:0001F7B8 MOV R2, R5,ROR#27 @ Rd = Op2 .text:0001F7BC ADD R2, R2, R3 @ Rd = Op1 + Op2 .text:0001F7C0 ADD R2, R2, R0 @ Rd = Op1 + Op2 .text:0001F7C4 EOR R3, R5, R4 @ Rd = Op1 ^ Op2 .text:0001F7C8 EOR R3, R3, LR @ Rd = Op1 ^ Op2 .text:0001F7CC LDR R1, [R11,#var_50] @ Load from Memory .text:0001F7D0 MOV R5, R5,ROR#2 @ Rd = Op2 .text:0001F7D4 ADD R2, R2, R1 @ Rd = Op1 + Op2 .text:0001F7D8 ADD R9, R2, R6 @ Rd = Op1 + Op2 .text:0001F7DC MOV R0, R9 @ Rd = Op2 .text:0001F7E0 MOV R2, R0,ROR#27 @ Rd = Op2 .text:0001F7E4 ADD R2, R2, R3 @ Rd = Op1 + Op2 .text:0001F7E8 ADD R2, R2, R12 @ Rd = Op1 + Op2 .text:0001F7EC EOR R3, R0, R5 @ Rd = Op1 ^ Op2 .text:0001F7F0 EOR R3, R3, R4 @ Rd = Op1 ^ Op2 .text:0001F7F4 LDR R1, [R11,#var_4C] @ Load from Memory .text:0001F7F8 MOV R0, R0,ROR#2 @ Rd = Op2 .text:0001F7FC ADD R2, R2, R1 @ Rd = Op1 + Op2 .text:0001F800 ADD R9, R2, R6 @ Rd = Op1 + Op2 .text:0001F804 MOV R12, R9 @ Rd = Op2 .text:0001F808 MOV R2, R12,ROR#27 @ Rd = Op2 .text:0001F80C ADD R2, R2, R3 @ Rd = Op1 + Op2 .text:0001F810 ADD R2, R2, LR @ Rd = Op1 + Op2 .text:0001F814 EOR R3, R12, R0 @ Rd = Op1 ^ Op2 .text:0001F818 EOR R3, R3, R5 @ Rd = Op1 ^ Op2 .text:0001F81C LDR R1, [R11,#var_48] @ Load from Memory .text:0001F820 MOV R12, R12,ROR#2 @ Rd = Op2 .text:0001F824 ADD R2, R2, R1 @ Rd = Op1 + Op2 .text:0001F828 ADD R9, R2, R6 @ Rd = Op1 + Op2 .text:0001F82C MOV LR, R9 @ Rd = Op2 .text:0001F830 MOV R2, LR,ROR#27 @ Rd = Op2 .text:0001F834 ADD R2, R2, R3 @ Rd = Op1 + Op2 .text:0001F838 ADD R2, R2, R4 @ Rd = Op1 + Op2 .text:0001F83C EOR R3, LR, R12 @ Rd = Op1 ^ Op2 .text:0001F840 EOR R3, R3, R0 @ Rd = Op1 ^ Op2 .text:0001F844 LDR R1, [R11,#var_44] @ Load from Memory .text:0001F848 MOV LR, LR,ROR#2 @ Rd = Op2 .text:0001F84C ADD R2, R2, R1 @ Rd = Op1 + Op2 .text:0001F850 ADD R9, R2, R6 @ Rd = Op1 + Op2 .text:0001F854 MOV R4, R9 @ Rd = Op2 .text:0001F858 MOV R2, R4,ROR#27 @ Rd = Op2 .text:0001F85C ADD R2, R2, R3 @ Rd = Op1 + Op2 .text:0001F860 ADD R2, R2, R5 @ Rd = Op1 + Op2 .text:0001F864 EOR R3, R4, LR @ Rd = Op1 ^ Op2 .text:0001F868 EOR R3, R3, R12 @ Rd = Op1 ^ Op2 .text:0001F86C LDR R1, [R11,#var_40] @ Load from Memory .text:0001F870 MOV R4, R4,ROR#2 @ Rd = Op2 .text:0001F874 ADD R2, R2, R1 @ Rd = Op1 + Op2 .text:0001F878 ADD R9, R2, R6 @ Rd = Op1 + Op2 .text:0001F87C MOV R5, R9 @ Rd = Op2 .text:0001F880 MOV R2, R5,ROR#27 @ Rd = Op2 .text:0001F884 ADD R2, R2, R3 @ Rd = Op1 + Op2 .text:0001F888 ADD R2, R2, R0 @ Rd = Op1 + Op2 .text:0001F88C EOR R3, R5, R4 @ Rd = Op1 ^ Op2 .text:0001F890 EOR R3, R3, LR @ Rd = Op1 ^ Op2 .text:0001F894 LDR R1, [R11,#var_3C] @ Load from Memory .text:0001F898 MOV R5, R5,ROR#2 @ Rd = Op2 .text:0001F89C LDR R0, [R11,#var_38] @ Load from Memory .text:0001F8A0 ADD R2, R2, R1 @ Rd = Op1 + Op2 .text:0001F8A4 ADD R9, R2, R6 @ Rd = Op1 + Op2 .text:0001F8A8 MOV R1, R9 @ Rd = Op2 .text:0001F8AC MOV R2, R1,ROR#27 @ Rd = Op2 .text:0001F8B0 ADD R2, R2, R3 @ Rd = Op1 + Op2 .text:0001F8B4 ADD R2, R2, R12 @ Rd = Op1 + Op2 .text:0001F8B8 ADD R2, R2, R0 @ Rd = Op1 + Op2 .text:0001F8BC ADD R9, R2, R6 @ Rd = Op1 + Op2 .text:0001F8C0 MOV R7, R1,ROR#2 @ Rd = Op2 .text:0001F8C4 LDR R2, =dword_45DD0 @ Load from Memory .text:0001F8C8 MOV R0, R9 @ Rd = Op2 .text:0001F8CC STR R7, [R2] @ Store to Memory .text:0001F8D0 MOV R3, R0,ROR#27 @ Rd = Op2 .text:0001F8D4 EOR R1, R1, R5 @ Rd = Op1 ^ Op2 .text:0001F8D8 EOR R1, R1, R4 @ Rd = Op1 ^ Op2 .text:0001F8DC ADD R3, R3, R1 @ Rd = Op1 + Op2 .text:0001F8E0 LDR R2, [R11,#var_34] @ Load from Memory .text:0001F8E4 ADD R3, R3, LR @ Rd = Op1 + Op2 .text:0001F8E8 ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:0001F8EC ADD R9, R3, R6 @ Rd = Op1 + Op2 .text:0001F8F0 LDR R3, =dword_45DB0 @ Load from Memory .text:0001F8F4 MOV R12, R0,ROR#2 @ Rd = Op2 .text:0001F8F8 STR R12, [R3] @ Store to Memory .text:0001F8FC MOV R2, R9 @ Rd = Op2 .text:0001F900 MOV LR, R2,ROR#2 @ Rd = Op2 .text:0001F904 STR LR, [R8] @ Store to Memory .text:0001F908 EOR R0, R0, R7 @ Rd = Op1 ^ Op2 .text:0001F90C EOR R0, R0, R5 @ Rd = Op1 ^ Op2 .text:0001F910 MOV R3, R2,ROR#27 @ Rd = Op2 .text:0001F914 ADD R3, R3, R0 @ Rd = Op1 + Op2 .text:0001F918 LDR R1, [R11,#var_30] @ Load from Memory .text:0001F91C ADD R3, R3, R4 @ Rd = Op1 + Op2 .text:0001F920 LDR R4, =dword_45DBC @ Load from Memory .text:0001F924 ADD R3, R3, R1 @ Rd = Op1 + Op2 .text:0001F928 ADD R9, R3, R6 @ Rd = Op1 + Op2 .text:0001F92C MOV R0, R9 @ Rd = Op2 .text:0001F930 STR R0, [R4] @ Store to Memory .text:0001F934 EOR R2, R2, R12 @ Rd = Op1 ^ Op2 .text:0001F938 EOR R2, R2, R7 @ Rd = Op1 ^ Op2 .text:0001F93C MOV R3, R0,ROR#27 @ Rd = Op2 .text:0001F940 ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:0001F944 LDR R1, [R11,#var_2C] @ Load from Memory .text:0001F948 ADD R3, R3, R5 @ Rd = Op1 + Op2 .text:0001F94C LDR R2, =dword_45DB8 @ Load from Memory .text:0001F950 ADD R3, R3, R1 @ Rd = Op1 + Op2 .text:0001F954 ADD R9, R3, R6 @ Rd = Op1 + Op2 .text:0001F958 STR R9, [R2] @ Store to Memory .text:0001F95C LDR R5, [R11,#var_16C] @ Load from Memory .text:0001F960 LDR R3, [R5] @ Load from Memory .text:0001F964 ADD R3, R3, R9 @ Rd = Op1 + Op2 .text:0001F968 STR R3, [R5] @ Store to Memory .text:0001F96C LDMIB R5, {R2,R3} @ Load Block from Memory .text:0001F970 ADD R2, R2, R0 @ Rd = Op1 + Op2 .text:0001F974 STR R2, [R5,#4] @ Store to Memory .text:0001F978 ADD R3, R3, LR @ Rd = Op1 + Op2 .text:0001F97C STR R3, [R5,#8] @ Store to Memory .text:0001F980 ADD R2, R5, #0xC @ Rd = Op1 + Op2 .text:0001F984 LDMIA R2, {R2,R3} @ Load Block from Memory .text:0001F988 B loc_1F9A4 @ Branch .text:0001F988 @ --------------------------------------------------------------------------- .text:0001F98C off_1F98C: .long dword_45DB0 @ DATA XREF: sha1_block_host_order+1420r .text:0001F98C @ sha1_block_host_order+1768r .text:0001F990 off_1F990: .long dword_45DC4 @ DATA XREF: sha1_block_host_order+142Cr .text:0001F994 off_1F994: .long dword_45DBC @ DATA XREF: sha1_block_host_order+143Cr .text:0001F994 @ sha1_block_host_order+1798r .text:0001F998 off_1F998: .long dword_45DD0 @ DATA XREF: sha1_block_host_order+1464r .text:0001F998 @ sha1_block_host_order+173Cr .text:0001F99C dword_1F99C: .long 0xCA62C1D6 @ DATA XREF: sha1_block_host_order+1498r .text:0001F9A0 off_1F9A0: .long dword_45DB8 @ DATA XREF: sha1_block_host_order+17C4r .text:0001F9A4 @ --------------------------------------------------------------------------- .text:0001F9A4 .text:0001F9A4 loc_1F9A4: @ CODE XREF: sha1_block_host_order+1800j .text:0001F9A4 ADD R2, R2, R12 @ Rd = Op1 + Op2 .text:0001F9A8 STR R2, [R5,#0xC] @ Store to Memory .text:0001F9AC ADD R3, R3, R7 @ Rd = Op1 + Op2 .text:0001F9B0 STR R3, [R5,#0x10] @ Store to Memory .text:0001F9B4 MOV R1, #0 @ Rd = Op2 .text:0001F9B8 LDR R0, [R11,#var_21C] @ Load from Memory .text:0001F9BC MOV R2, #0x140 @ Rd = Op2 .text:0001F9C0 BL sub_1DEB4 @ Branch with Link .text:0001F9C4 LDMDB R11, {R4-R11,SP,PC} @ Load Block from Memory .text:0001F9C4 @ End of function sha1_block_host_order .text:0001F9C4 .text:0001F9C8 .text:0001F9C8 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001F9C8 .text:0001F9C8 @ Attributes: bp-based frame .text:0001F9C8 .text:0001F9C8 sub_1F9C8: @ CODE XREF: SHA1_Final+C8p .text:0001F9C8 .text:0001F9C8 oldR4 = -0x20 .text:0001F9C8 oldR5 = -0x1C .text:0001F9C8 oldR6 = -0x18 .text:0001F9C8 oldR7 = -0x14 .text:0001F9C8 oldR8 = -0x10 .text:0001F9C8 oldR11 = -0xC .text:0001F9C8 oldSP = -8 .text:0001F9C8 oldLR = -4 .text:0001F9C8 .text:0001F9C8 MOV R12, SP @ Rd = Op2 .text:0001F9CC STMFD SP!, {R4-R8,R11,R12,LR,PC} @ Store Block to Memory .text:0001F9D0 SUB R11, R12, #4 @ Rd = Op1 - Op2 .text:0001F9D4 MOV R4, #0 @ Rd = Op2 .text:0001F9D8 MOV LR, R4 @ Rd = Op2 .text:0001F9DC MOV R5, R2 @ Rd = Op2 .text:0001F9E0 CMP R4, R5 @ Set cond. codes on Op1 - Op2 .text:0001F9E4 MOV R12, R1 @ Rd = Op2 .text:0001F9E8 LDMCSDB R11, {R4-R8,R11,SP,PC} @ Load Block from Memory .text:0001F9EC MOV R8, #3 @ Rd = Op2 .text:0001F9F0 MOV R7, #2 @ Rd = Op2 .text:0001F9F4 MOV R6, #1 @ Rd = Op2 .text:0001F9F8 .text:0001F9F8 loc_1F9F8: @ CODE XREF: sub_1F9C8+6Cj .text:0001F9F8 LDRB R2, [R12,LR,LSL#2] @ Load from Memory .text:0001F9FC ADD R1, R4, R0 @ Rd = Op1 + Op2 .text:0001FA00 STRB R2, [R1,R8] @ Store to Memory .text:0001FA04 LDR R3, [R12,LR,LSL#2] @ Load from Memory .text:0001FA08 MOV R3, R3,LSR#8 @ Rd = Op2 .text:0001FA0C STRB R3, [R1,R7] @ Store to Memory .text:0001FA10 LDR R2, [R12,LR,LSL#2] @ Load from Memory .text:0001FA14 MOV R2, R2,LSR#16 @ Rd = Op2 .text:0001FA18 STRB R2, [R1,R6] @ Store to Memory .text:0001FA1C LDR R3, [R12,LR,LSL#2] @ Load from Memory .text:0001FA20 ADD LR, LR, #1 @ Rd = Op1 + Op2 .text:0001FA24 MOV R3, R3,LSR#24 @ Rd = Op2 .text:0001FA28 STRB R3, [R0,R4] @ Store to Memory .text:0001FA2C ADD R4, R4, #4 @ Rd = Op1 + Op2 .text:0001FA30 CMP R4, R5 @ Set cond. codes on Op1 - Op2 .text:0001FA34 BCC loc_1F9F8 @ Branch .text:0001FA38 LDMDB R11, {R4-R8,R11,SP,PC} @ Load Block from Memory .text:0001FA38 @ End of function sub_1F9C8 .text:0001FA38 .text:0001FA3C .text:0001FA3C @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001FA3C .text:0001FA3C .text:0001FA3C sub_1FA3C: @ CODE XREF: sub_1CC40+40p .text:0001FA3C MOV R12, SP @ Rd = Op2 .text:0001FA40 STMFD SP!, {R4,R5,R11,R12,LR,PC} @ Store Block to Memory .text:0001FA44 MOV R4, R0 @ Rd = Op2 .text:0001FA48 MOV R5, #0 @ Rd = Op2 .text:0001FA4C STR R5, [R4,#0x20] @ Store to Memory .text:0001FA50 SUB R11, R12, #4 @ Rd = Op1 - Op2 .text:0001FA54 MOV R1, R5 @ Rd = Op2 .text:0001FA58 MOV R2, #0x10 @ Rd = Op2 .text:0001FA5C BL sub_1DEB4 @ Branch with Link .text:0001FA60 ADD R0, R4, #0x10 @ Rd = Op1 + Op2 .text:0001FA64 MOV R1, R5 @ Rd = Op2 .text:0001FA68 MOV R2, #0x10 @ Rd = Op2 .text:0001FA6C BL sub_1DEB4 @ Branch with Link .text:0001FA70 LDMDB R11, {R4,R5,R11,SP,PC} @ Load Block from Memory .text:0001FA70 @ End of function sub_1FA3C .text:0001FA70 .text:0001FA74 .text:0001FA74 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001FA74 .text:0001FA74 @ Attributes: library function bp-based frame .text:0001FA74 .text:0001FA74 MD2Update: @ CODE XREF: hash_update+40p .text:0001FA74 @ MD2_Init+28p ... .text:0001FA74 .text:0001FA74 oldR4 = -0x20 .text:0001FA74 oldR5 = -0x1C .text:0001FA74 oldR6 = -0x18 .text:0001FA74 oldR7 = -0x14 .text:0001FA74 oldR8 = -0x10 .text:0001FA74 oldR11 = -0xC .text:0001FA74 oldSP = -8 .text:0001FA74 oldLR = -4 .text:0001FA74 .text:0001FA74 MOV R12, SP @ Rd = Op2 .text:0001FA78 STMFD SP!, {R4-R8,R11,R12,LR,PC} @ Store Block to Memory .text:0001FA7C SUB R11, R12, #4 @ Rd = Op1 - Op2 .text:0001FA80 MOV R6, R0 @ Rd = Op2 .text:0001FA84 MOV R7, R2 @ Rd = Op2 .text:0001FA88 LDR R0, [R6,#0x20] @ Load from Memory .text:0001FA8C MOV R8, R1 @ Rd = Op2 .text:0001FA90 RSB R5, R0, #0x10 @ Rd = Op2 - Op1 .text:0001FA94 CMP R7, R5 @ Set cond. codes on Op1 - Op2 .text:0001FA98 ADD R3, R0, R7 @ Rd = Op1 + Op2 .text:0001FA9C AND R3, R3, #0xF @ Rd = Op1 & Op2 .text:0001FAA0 STR R3, [R6,#0x20] @ Store to Memory .text:0001FAA4 BCC loc_1FAF4 @ Branch .text:0001FAA8 ADD R0, R0, #0x24 @ Rd = Op1 + Op2 .text:0001FAAC ADD R0, R6, R0 @ Rd = Op1 + Op2 .text:0001FAB0 MOV R2, R5 @ Rd = Op2 .text:0001FAB4 BL sub_1DED8 @ Branch with Link .text:0001FAB8 MOV R0, R6 @ Rd = Op2 .text:0001FABC ADD R4, R6, #0x10 @ Rd = Op1 + Op2 .text:0001FAC0 MOV R1, R4 @ Rd = Op2 .text:0001FAC4 ADD R2, R6, #0x24 @ Rd = Op1 + Op2 .text:0001FAC8 B loc_1FADC @ Branch .text:0001FACC @ --------------------------------------------------------------------------- .text:0001FACC .text:0001FACC loc_1FACC: @ CODE XREF: MD2Update+74j .text:0001FACC MOV R0, R6 @ Rd = Op2 .text:0001FAD0 MOV R1, R4 @ Rd = Op2 .text:0001FAD4 ADD R2, R8, R5 @ Rd = Op1 + Op2 .text:0001FAD8 ADD R5, R5, #0x10 @ Rd = Op1 + Op2 .text:0001FADC .text:0001FADC loc_1FADC: @ CODE XREF: MD2Update+54j .text:0001FADC BL sub_1FB74 @ Branch with Link .text:0001FAE0 ADD R3, R5, #0xF @ Rd = Op1 + Op2 .text:0001FAE4 CMP R3, R7 @ Set cond. codes on Op1 - Op2 .text:0001FAE8 BCC loc_1FACC @ Branch .text:0001FAEC MOV R0, #0 @ Rd = Op2 .text:0001FAF0 B loc_1FAF8 @ Branch .text:0001FAF4 @ --------------------------------------------------------------------------- .text:0001FAF4 .text:0001FAF4 loc_1FAF4: @ CODE XREF: MD2Update+30j .text:0001FAF4 MOV R5, #0 @ Rd = Op2 .text:0001FAF8 .text:0001FAF8 loc_1FAF8: @ CODE XREF: MD2Update+7Cj .text:0001FAF8 ADD R0, R0, #0x24 @ Rd = Op1 + Op2 .text:0001FAFC ADD R0, R6, R0 @ Rd = Op1 + Op2 .text:0001FB00 ADD R1, R8, R5 @ Rd = Op1 + Op2 .text:0001FB04 RSB R2, R5, R7 @ Rd = Op2 - Op1 .text:0001FB08 BL sub_1DED8 @ Branch with Link .text:0001FB0C LDMDB R11, {R4-R8,R11,SP,PC} @ Load Block from Memory .text:0001FB0C @ End of function MD2Update .text:0001FB0C .text:0001FB10 .text:0001FB10 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001FB10 .text:0001FB10 @ Attributes: library function bp-based frame .text:0001FB10 .text:0001FB10 MD2_Init: @ CODE XREF: sub_1CD28+5Cp .text:0001FB10 .text:0001FB10 oldR4 = -0x14 .text:0001FB10 oldR5 = -0x10 .text:0001FB10 oldR11 = -0xC .text:0001FB10 oldSP = -8 .text:0001FB10 oldLR = -4 .text:0001FB10 .text:0001FB10 MOV R12, SP @ Rd = Op2 .text:0001FB14 STMFD SP!, {R4,R5,R11,R12,LR,PC} @ Store Block to Memory .text:0001FB18 SUB R11, R12, #4 @ Rd = Op1 - Op2 .text:0001FB1C MOV R4, R1 @ Rd = Op2 .text:0001FB20 LDR R2, [R4,#0x20] @ Load from Memory .text:0001FB24 MOV R5, R0 @ Rd = Op2 .text:0001FB28 LDR R3, =off_3CBB4 @ Load from Memory .text:0001FB2C RSB R2, R2, #0x10 @ Rd = Op2 - Op1 .text:0001FB30 LDR R1, [R3,R2,LSL#2] @ Load from Memory .text:0001FB34 MOV R0, R4 @ Rd = Op2 .text:0001FB38 BL MD2Update @ Branch with Link .text:0001FB3C MOV R0, R4 @ Rd = Op2 .text:0001FB40 ADD R1, R4, #0x10 @ Rd = Op1 + Op2 .text:0001FB44 MOV R2, #0x10 @ Rd = Op2 .text:0001FB48 BL MD2Update @ Branch with Link .text:0001FB4C MOV R0, R5 @ Rd = Op2 .text:0001FB50 MOV R1, R4 @ Rd = Op2 .text:0001FB54 MOV R2, #0x10 @ Rd = Op2 .text:0001FB58 BL sub_1DED8 @ Branch with Link .text:0001FB5C MOV R0, R4 @ Rd = Op2 .text:0001FB60 MOV R1, #0 @ Rd = Op2 .text:0001FB64 MOV R2, #0x34 @ '4' @ Rd = Op2 .text:0001FB68 BL sub_1DEB4 @ Branch with Link .text:0001FB6C LDMDB R11, {R4,R5,R11,SP,PC} @ Load Block from Memory .text:0001FB6C @ End of function MD2_Init .text:0001FB6C .text:0001FB6C @ --------------------------------------------------------------------------- .text:0001FB70 off_1FB70: .long off_3CBB4 @ DATA XREF: MD2_Init+18r .text:0001FB74 .text:0001FB74 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001FB74 .text:0001FB74 @ Attributes: library function bp-based frame .text:0001FB74 .text:0001FB74 sub_1FB74: @ CODE XREF: MD2Update:loc_1FADCp .text:0001FB74 .text:0001FB74 oldR4 = -0x20 .text:0001FB74 oldR5 = -0x1C .text:0001FB74 oldR6 = -0x18 .text:0001FB74 oldR7 = -0x14 .text:0001FB74 oldR8 = -0x10 .text:0001FB74 oldR11 = -0xC .text:0001FB74 oldSP = -8 .text:0001FB74 oldLR = -4 .text:0001FB74 .text:0001FB74 MOV R12, SP @ Rd = Op2 .text:0001FB78 STMFD SP!, {R4-R8,R11,R12,LR,PC} @ Store Block to Memory .text:0001FB7C SUB R11, R12, #4 @ Rd = Op1 - Op2 .text:0001FB80 MOV R5, R0 @ Rd = Op2 .text:0001FB84 SUB R4, R11, #0x50 @ Rd = Op1 - Op2 .text:0001FB88 MOV R0, R4 @ Rd = Op2 .text:0001FB8C MOV R7, R1 @ Rd = Op2 .text:0001FB90 MOV R1, R5 @ Rd = Op2 .text:0001FB94 MOV R6, R2 @ Rd = Op2 .text:0001FB98 MOV R2, #0x10 @ Rd = Op2 .text:0001FB9C SUB SP, SP, #0x30 @ Rd = Op1 - Op2 .text:0001FBA0 BL sub_1DED8 @ Branch with Link .text:0001FBA4 SUB R0, R11, #0x40 @ Rd = Op1 - Op2 .text:0001FBA8 MOV R1, R6 @ Rd = Op2 .text:0001FBAC MOV R2, #0x10 @ Rd = Op2 .text:0001FBB0 BL sub_1DED8 @ Branch with Link .text:0001FBB4 MOV R0, #0 @ Rd = Op2 .text:0001FBB8 MOV R8, R4 @ Rd = Op2 .text:0001FBBC MOV R12, R8 @ Rd = Op2 .text:0001FBC0 .text:0001FBC0 loc_1FBC0: @ CODE XREF: sub_1FB74+68j .text:0001FBC0 LDRB R3, [R5,R0] @ Load from Memory .text:0001FBC4 ADD R1, R0, #0x20 @ Rd = Op1 + Op2 .text:0001FBC8 LDRB R2, [R6,R0] @ Load from Memory .text:0001FBCC ADD R0, R0, #1 @ Rd = Op1 + Op2 .text:0001FBD0 CMP R0, #0xF @ Set cond. codes on Op1 - Op2 .text:0001FBD4 EOR R3, R3, R2 @ Rd = Op1 ^ Op2 .text:0001FBD8 STRB R3, [R12,R1] @ Store to Memory .text:0001FBDC BLS loc_1FBC0 @ Branch .text:0001FBE0 MOV R0, #0 @ Rd = Op2 .text:0001FBE4 MOV R12, R0 @ Rd = Op2 .text:0001FBE8 MOV LR, R8 @ Rd = Op2 .text:0001FBEC LDR R4, =dword_3CAB4 @ Load from Memory .text:0001FBF0 .text:0001FBF0 loc_1FBF0: @ CODE XREF: sub_1FB74+B0j .text:0001FBF0 MOV R1, #0 @ Rd = Op2 .text:0001FBF4 .text:0001FBF4 loc_1FBF4: @ CODE XREF: sub_1FB74+9Cj .text:0001FBF4 LDRB R2, [LR,R1] @ Load from Memory .text:0001FBF8 LDRB R3, [R4,R12] @ Load from Memory .text:0001FBFC EOR R2, R2, R3 @ Rd = Op1 ^ Op2 .text:0001FC00 AND R12, R2, #0xFF @ Rd = Op1 & Op2 .text:0001FC04 STRB R2, [LR,R1] @ Store to Memory .text:0001FC08 ADD R1, R1, #1 @ Rd = Op1 + Op2 .text:0001FC0C CMP R1, #0x2F @ '/' @ Set cond. codes on Op1 - Op2 .text:0001FC10 BLS loc_1FBF4 @ Branch .text:0001FC14 ADD R3, R12, R0 @ Rd = Op1 + Op2 .text:0001FC18 AND R12, R3, #0xFF @ Rd = Op1 & Op2 .text:0001FC1C ADD R0, R0, #1 @ Rd = Op1 + Op2 .text:0001FC20 CMP R0, #0x11 @ Set cond. codes on Op1 - Op2 .text:0001FC24 BLS loc_1FBF0 @ Branch .text:0001FC28 MOV R0, R5 @ Rd = Op2 .text:0001FC2C MOV R1, R8 @ Rd = Op2 .text:0001FC30 MOV R2, #0x10 @ Rd = Op2 .text:0001FC34 BL sub_1DED8 @ Branch with Link .text:0001FC38 LDRB R12, [R7,#0xF] @ Load from Memory .text:0001FC3C MOV R0, #0 @ Rd = Op2 .text:0001FC40 LDR LR, =dword_3CAB4 @ Load from Memory .text:0001FC44 .text:0001FC44 loc_1FC44: @ CODE XREF: sub_1FB74+F4j .text:0001FC44 LDRB R3, [R6,R0] @ Load from Memory .text:0001FC48 LDRB R1, [R7,R0] @ Load from Memory .text:0001FC4C EOR R3, R3, R12 @ Rd = Op1 ^ Op2 .text:0001FC50 LDRB R2, [LR,R3] @ Load from Memory .text:0001FC54 EOR R1, R1, R2 @ Rd = Op1 ^ Op2 .text:0001FC58 AND R12, R1, #0xFF @ Rd = Op1 & Op2 .text:0001FC5C STRB R1, [R7,R0] @ Store to Memory .text:0001FC60 ADD R0, R0, #1 @ Rd = Op1 + Op2 .text:0001FC64 CMP R0, #0xF @ Set cond. codes on Op1 - Op2 .text:0001FC68 BLS loc_1FC44 @ Branch .text:0001FC6C MOV R0, R8 @ Rd = Op2 .text:0001FC70 MOV R1, #0 @ Rd = Op2 .text:0001FC74 MOV R2, #0x30 @ '0' @ Rd = Op2 .text:0001FC78 BL sub_1DEB4 @ Branch with Link .text:0001FC7C B loc_1FC84 @ Branch .text:0001FC7C @ --------------------------------------------------------------------------- .text:0001FC80 off_1FC80: .long dword_3CAB4 @ DATA XREF: sub_1FB74+78r .text:0001FC80 @ sub_1FB74+CCr .text:0001FC84 @ --------------------------------------------------------------------------- .text:0001FC84 .text:0001FC84 loc_1FC84: @ CODE XREF: sub_1FB74+108j .text:0001FC84 LDMDB R11, {R4-R8,R11,SP,PC} @ Load Block from Memory .text:0001FC84 @ End of function sub_1FB74 .text:0001FC84 .text:0001FC88 .text:0001FC88 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001FC88 .text:0001FC88 @ Attributes: library function .text:0001FC88 .text:0001FC88 MD4_Init: @ CODE XREF: sub_1CC40+4Cp .text:0001FC88 MOV R12, SP @ Rd = Op2 .text:0001FC8C STMFD SP!, {R11,R12,LR,PC} @ Store Block to Memory .text:0001FC90 MOV R2, #0 @ Rd = Op2 .text:0001FC94 STR R2, [R0,#0x14] @ Store to Memory .text:0001FC98 STR R2, [R0,#0x10] @ Store to Memory .text:0001FC9C LDR R3, =0x67452301 @ Load from Memory .text:0001FCA0 STR R3, [R0] @ Store to Memory .text:0001FCA4 LDR R2, =0xEFCDAB89 @ Load from Memory .text:0001FCA8 STR R2, [R0,#4] @ Store to Memory .text:0001FCAC LDR R3, =0x98BADCFE @ Load from Memory .text:0001FCB0 STR R3, [R0,#8] @ Store to Memory .text:0001FCB4 LDR R2, =0x10325476 @ Load from Memory .text:0001FCB8 SUB R11, R12, #4 @ Rd = Op1 - Op2 .text:0001FCBC STR R2, [R0,#0xC] @ Store to Memory .text:0001FCC0 LDMDB R11, {R11,SP,PC} @ Load Block from Memory .text:0001FCC0 @ End of function MD4_Init .text:0001FCC0 .text:0001FCC0 @ --------------------------------------------------------------------------- .text:0001FCC4 dword_1FCC4: .long 0x67452301 @ DATA XREF: MD4_Init+14r .text:0001FCC8 dword_1FCC8: .long 0xEFCDAB89 @ DATA XREF: MD4_Init+1Cr .text:0001FCCC dword_1FCCC: .long 0x98BADCFE @ DATA XREF: MD4_Init+24r .text:0001FCD0 dword_1FCD0: .long 0x10325476 @ DATA XREF: MD4_Init+2Cr .text:0001FCD4 .text:0001FCD4 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001FCD4 .text:0001FCD4 @ Attributes: library function bp-based frame .text:0001FCD4 .text:0001FCD4 MD4_Update: @ CODE XREF: hash_update+4Cp .text:0001FCD4 @ sub_1FD8C+54p ... .text:0001FCD4 .text:0001FCD4 oldR4 = -0x1C .text:0001FCD4 oldR5 = -0x18 .text:0001FCD4 oldR6 = -0x14 .text:0001FCD4 oldR7 = -0x10 .text:0001FCD4 oldR11 = -0xC .text:0001FCD4 oldSP = -8 .text:0001FCD4 oldLR = -4 .text:0001FCD4 .text:0001FCD4 MOV R12, SP @ Rd = Op2 .text:0001FCD8 STMFD SP!, {R4-R7,R11,R12,LR,PC} @ Store Block to Memory .text:0001FCDC SUB R11, R12, #4 @ Rd = Op1 - Op2 .text:0001FCE0 MOV R5, R0 @ Rd = Op2 .text:0001FCE4 MOV R6, R2 @ Rd = Op2 .text:0001FCE8 MOV R2, R6,LSL#3 @ Rd = Op2 .text:0001FCEC LDR R3, [R5,#0x10] @ Load from Memory .text:0001FCF0 MOV R7, R1 @ Rd = Op2 .text:0001FCF4 MOV R0, R3,LSR#3 @ Rd = Op2 .text:0001FCF8 AND R0, R0, #0x3F @ Rd = Op1 & Op2 .text:0001FCFC ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:0001FD00 CMP R3, R2 @ Set cond. codes on Op1 - Op2 .text:0001FD04 STR R3, [R5,#0x10] @ Store to Memory .text:0001FD08 LDRCC R3, [R5,#0x14] @ Load from Memory .text:0001FD0C ADDCC R3, R3, #1 @ Rd = Op1 + Op2 .text:0001FD10 STRCC R3, [R5,#0x14] @ Store to Memory .text:0001FD14 RSB R4, R0, #0x40 @ Rd = Op2 - Op1 .text:0001FD18 LDR R3, [R5,#0x14] @ Load from Memory .text:0001FD1C CMP R6, R4 @ Set cond. codes on Op1 - Op2 .text:0001FD20 ADD R3, R3, R6,LSR#29 @ Rd = Op1 + Op2 .text:0001FD24 STR R3, [R5,#0x14] @ Store to Memory .text:0001FD28 BCC loc_1FD70 @ Branch .text:0001FD2C ADD R0, R0, #0x18 @ Rd = Op1 + Op2 .text:0001FD30 ADD R0, R5, R0 @ Rd = Op1 + Op2 .text:0001FD34 MOV R1, R7 @ Rd = Op2 .text:0001FD38 MOV R2, R4 @ Rd = Op2 .text:0001FD3C BL sub_1DED8 @ Branch with Link .text:0001FD40 MOV R0, R5 @ Rd = Op2 .text:0001FD44 ADD R1, R5, #0x18 @ Rd = Op1 + Op2 .text:0001FD48 B loc_1FD58 @ Branch .text:0001FD4C @ --------------------------------------------------------------------------- .text:0001FD4C .text:0001FD4C loc_1FD4C: @ CODE XREF: MD4_Update+90j .text:0001FD4C MOV R0, R5 @ Rd = Op2 .text:0001FD50 ADD R1, R7, R4 @ Rd = Op1 + Op2 .text:0001FD54 ADD R4, R4, #0x40 @ Rd = Op1 + Op2 .text:0001FD58 .text:0001FD58 loc_1FD58: @ CODE XREF: MD4_Update+74j .text:0001FD58 BL md4_block_host_order @ Branch with Link .text:0001FD5C ADD R3, R4, #0x3F @ Rd = Op1 + Op2 .text:0001FD60 CMP R3, R6 @ Set cond. codes on Op1 - Op2 .text:0001FD64 BCC loc_1FD4C @ Branch .text:0001FD68 MOV R0, #0 @ Rd = Op2 .text:0001FD6C B loc_1FD74 @ Branch .text:0001FD70 @ --------------------------------------------------------------------------- .text:0001FD70 .text:0001FD70 loc_1FD70: @ CODE XREF: MD4_Update+54j .text:0001FD70 MOV R4, #0 @ Rd = Op2 .text:0001FD74 .text:0001FD74 loc_1FD74: @ CODE XREF: MD4_Update+98j .text:0001FD74 ADD R0, R0, #0x18 @ Rd = Op1 + Op2 .text:0001FD78 ADD R0, R5, R0 @ Rd = Op1 + Op2 .text:0001FD7C ADD R1, R7, R4 @ Rd = Op1 + Op2 .text:0001FD80 RSB R2, R4, R6 @ Rd = Op2 - Op1 .text:0001FD84 BL sub_1DED8 @ Branch with Link .text:0001FD88 LDMDB R11, {R4-R7,R11,SP,PC} @ Load Block from Memory .text:0001FD88 @ End of function MD4_Update .text:0001FD88 .text:0001FD8C .text:0001FD8C @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001FD8C .text:0001FD8C @ Attributes: library function bp-based frame .text:0001FD8C .text:0001FD8C sub_1FD8C: @ CODE XREF: sub_1CD28+68p .text:0001FD8C .text:0001FD8C oldR4 = -0x18 .text:0001FD8C oldR5 = -0x14 .text:0001FD8C oldR6 = -0x10 .text:0001FD8C oldR11 = -0xC .text:0001FD8C oldSP = -8 .text:0001FD8C oldLR = -4 .text:0001FD8C .text:0001FD8C MOV R12, SP @ Rd = Op2 .text:0001FD90 STMFD SP!, {R4-R6,R11,R12,LR,PC} @ Store Block to Memory .text:0001FD94 SUB R11, R12, #4 @ Rd = Op1 - Op2 .text:0001FD98 MOV R6, R0 @ Rd = Op2 .text:0001FD9C SUB R5, R11, #0x20 @ Rd = Op1 - Op2 .text:0001FDA0 MOV R0, R5 @ Rd = Op2 .text:0001FDA4 MOV R4, R1 @ Rd = Op2 .text:0001FDA8 ADD R1, R4, #0x10 @ Rd = Op1 + Op2 .text:0001FDAC MOV R2, #8 @ Rd = Op2 .text:0001FDB0 SUB SP, SP, #8 @ Rd = Op1 - Op2 .text:0001FDB4 BL sub_20448 @ Branch with Link .text:0001FDB8 LDR R2, [R4,#0x10] @ Load from Memory .text:0001FDBC MOV R0, R4 @ Rd = Op2 .text:0001FDC0 LDR R1, =dword_3CBF8 @ Load from Memory .text:0001FDC4 MOV R2, R2,LSR#3 @ Rd = Op2 .text:0001FDC8 AND R2, R2, #0x3F @ Rd = Op1 & Op2 .text:0001FDCC RSB R12, R2, #0x78 @ Rd = Op2 - Op1 .text:0001FDD0 RSB R3, R2, #0x38 @ Rd = Op2 - Op1 .text:0001FDD4 CMP R2, #0x37 @ '7' @ Set cond. codes on Op1 - Op2 .text:0001FDD8 MOVHI R2, R12 @ Rd = Op2 .text:0001FDDC MOVLS R2, R3 @ Rd = Op2 .text:0001FDE0 BL MD4_Update @ Branch with Link .text:0001FDE4 MOV R0, R4 @ Rd = Op2 .text:0001FDE8 MOV R1, R5 @ Rd = Op2 .text:0001FDEC MOV R2, #8 @ Rd = Op2 .text:0001FDF0 BL MD4_Update @ Branch with Link .text:0001FDF4 MOV R0, R6 @ Rd = Op2 .text:0001FDF8 MOV R1, R4 @ Rd = Op2 .text:0001FDFC MOV R2, #0x10 @ Rd = Op2 .text:0001FE00 BL sub_20448 @ Branch with Link .text:0001FE04 MOV R0, R4 @ Rd = Op2 .text:0001FE08 MOV R1, #0 @ Rd = Op2 .text:0001FE0C MOV R2, #0x58 @ 'X' @ Rd = Op2 .text:0001FE10 BL sub_1DEB4 @ Branch with Link .text:0001FE14 B loc_1FE1C @ Branch .text:0001FE14 @ --------------------------------------------------------------------------- .text:0001FE18 off_1FE18: .long dword_3CBF8 @ DATA XREF: sub_1FD8C+34r .text:0001FE1C @ --------------------------------------------------------------------------- .text:0001FE1C .text:0001FE1C loc_1FE1C: @ CODE XREF: sub_1FD8C+88j .text:0001FE1C LDMDB R11, {R4-R6,R11,SP,PC} @ Load Block from Memory .text:0001FE1C @ End of function sub_1FD8C .text:0001FE1C .text:0001FE20 .text:0001FE20 @ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0001FE20 .text:0001FE20 @ Attributes: library function bp-based frame .text:0001FE20 .text:0001FE20 md4_block_host_order: @ CODE XREF: MD4_Update:loc_1FD58p .text:0001FE20 .text:0001FE20 var_6C = -0x6C .text:0001FE20 var_68 = -0x68 .text:0001FE20 var_64 = -0x64 .text:0001FE20 var_60 = -0x60 .text:0001FE20 var_5C = -0x5C .text:0001FE20 var_58 = -0x58 .text:0001FE20 var_54 = -0x54 .text:0001FE20 var_50 = -0x50 .text:0001FE20 var_4C = -0x4C .text:0001FE20 var_48 = -0x48 .text:0001FE20 var_44 = -0x44 .text:0001FE20 var_40 = -0x40 .text:0001FE20 var_3C = -0x3C .text:0001FE20 var_38 = -0x38 .text:0001FE20 var_34 = -0x34 .text:0001FE20 var_30 = -0x30 .text:0001FE20 var_2C = -0x2C .text:0001FE20 oldR4 = -0x28 .text:0001FE20 oldR5 = -0x24 .text:0001FE20 oldR6 = -0x20 .text:0001FE20 oldR7 = -0x1C .text:0001FE20 oldR8 = -0x18 .text:0001FE20 oldR9 = -0x14 .text:0001FE20 oldR10 = -0x10 .text:0001FE20 oldR11 = -0xC .text:0001FE20 oldSP = -8 .text:0001FE20 oldLR = -4 .text:0001FE20 .text:0001FE20 MOV R12, SP @ Rd = Op2 .text:0001FE24 STMFD SP!, {R4-R12,LR,PC} @ Store Block to Memory .text:0001FE28 SUB R11, R12, #4 @ Rd = Op1 - Op2 .text:0001FE2C MOV R4, R0 @ Rd = Op2 .text:0001FE30 SUB SP, SP, #0x44 @ Rd = Op1 - Op2 .text:0001FE34 LDR R9, [R4] @ Load from Memory .text:0001FE38 SUB R0, R11, #0x68 @ Rd = Op1 - Op2 .text:0001FE3C STR R0, [R11,#var_6C] @ Store to Memory .text:0001FE40 LDR R10, [R4,#4] @ Load from Memory .text:0001FE44 LDR R8, [R4,#8] @ Load from Memory .text:0001FE48 MOV R2, #0x40 @ '@' @ Rd = Op2 .text:0001FE4C LDR R7, [R4,#0xC] @ Load from Memory .text:0001FE50 BL sub_204BC @ Branch with Link .text:0001FE54 LDR R1, [R11,#var_68] @ Load from Memory .text:0001FE58 LDR R0, [R11,#var_60] @ Load from Memory .text:0001FE5C LDR R5, [R11,#var_48] @ Load from Memory .text:0001FE60 LDR R12, [R11,#var_38] @ Load from Memory .text:0001FE64 LDR LR, [R11,#var_30] @ Load from Memory .text:0001FE68 LDR R6, [R11,#var_2C] @ Load from Memory .text:0001FE6C AND R3, R10, R8 @ Rd = Op1 & Op2 .text:0001FE70 BIC R2, R7, R10 @ Rd = Op1 & ~Op2 .text:0001FE74 ORR R3, R3, R2 @ Rd = Op2 | Op1 .text:0001FE78 ADD R3, R3, R1 @ Rd = Op1 + Op2 .text:0001FE7C ADD R9, R9, R3 @ Rd = Op1 + Op2 .text:0001FE80 MOV R9, R9,ROR#29 @ Rd = Op2 .text:0001FE84 AND R3, R9, R10 @ Rd = Op1 & Op2 .text:0001FE88 BIC R2, R8, R9 @ Rd = Op1 & ~Op2 .text:0001FE8C ORR R3, R3, R2 @ Rd = Op2 | Op1 .text:0001FE90 LDR R2, [R11,#var_64] @ Load from Memory .text:0001FE94 LDR R1, [R11,#var_5C] @ Load from Memory .text:0001FE98 ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:0001FE9C ADD R7, R7, R3 @ Rd = Op1 + Op2 .text:0001FEA0 MOV R7, R7,ROR#25 @ Rd = Op2 .text:0001FEA4 AND R3, R7, R9 @ Rd = Op1 & Op2 .text:0001FEA8 BIC R2, R10, R7 @ Rd = Op1 & ~Op2 .text:0001FEAC ORR R3, R3, R2 @ Rd = Op2 | Op1 .text:0001FEB0 ADD R3, R3, R0 @ Rd = Op1 + Op2 .text:0001FEB4 ADD R8, R8, R3 @ Rd = Op1 + Op2 .text:0001FEB8 MOV R8, R8,ROR#21 @ Rd = Op2 .text:0001FEBC AND R3, R8, R7 @ Rd = Op1 & Op2 .text:0001FEC0 BIC R2, R9, R8 @ Rd = Op1 & ~Op2 .text:0001FEC4 ORR R3, R3, R2 @ Rd = Op2 | Op1 .text:0001FEC8 ADD R3, R3, R1 @ Rd = Op1 + Op2 .text:0001FECC ADD R10, R10, R3 @ Rd = Op1 + Op2 .text:0001FED0 MOV R10, R10,ROR#13 @ Rd = Op2 .text:0001FED4 AND R3, R10, R8 @ Rd = Op1 & Op2 .text:0001FED8 BIC R2, R7, R10 @ Rd = Op1 & ~Op2 .text:0001FEDC ORR R3, R3, R2 @ Rd = Op2 | Op1 .text:0001FEE0 LDR R2, [R11,#var_58] @ Load from Memory .text:0001FEE4 SUB R0, R11, #0x54 @ Rd = Op1 - Op2 .text:0001FEE8 LDMIA R0, {R0,R1} @ Load Block from Memory .text:0001FEEC ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:0001FEF0 ADD R9, R9, R3 @ Rd = Op1 + Op2 .text:0001FEF4 MOV R9, R9,ROR#29 @ Rd = Op2 .text:0001FEF8 AND R3, R9, R10 @ Rd = Op1 & Op2 .text:0001FEFC BIC R2, R8, R9 @ Rd = Op1 & ~Op2 .text:0001FF00 ORR R3, R3, R2 @ Rd = Op2 | Op1 .text:0001FF04 ADD R3, R3, R0 @ Rd = Op1 + Op2 .text:0001FF08 ADD R7, R7, R3 @ Rd = Op1 + Op2 .text:0001FF0C MOV R7, R7,ROR#25 @ Rd = Op2 .text:0001FF10 AND R3, R7, R9 @ Rd = Op1 & Op2 .text:0001FF14 BIC R2, R10, R7 @ Rd = Op1 & ~Op2 .text:0001FF18 ORR R3, R3, R2 @ Rd = Op2 | Op1 .text:0001FF1C ADD R3, R3, R1 @ Rd = Op1 + Op2 .text:0001FF20 ADD R8, R8, R3 @ Rd = Op1 + Op2 .text:0001FF24 MOV R8, R8,ROR#21 @ Rd = Op2 .text:0001FF28 AND R3, R8, R7 @ Rd = Op1 & Op2 .text:0001FF2C BIC R2, R9, R8 @ Rd = Op1 & ~Op2 .text:0001FF30 ORR R3, R3, R2 @ Rd = Op2 | Op1 .text:0001FF34 LDR R2, [R11,#var_4C] @ Load from Memory .text:0001FF38 SUB R0, R11, #0x44 @ Rd = Op1 - Op2 .text:0001FF3C LDMIA R0, {R0,R1} @ Load Block from Memory .text:0001FF40 ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:0001FF44 ADD R10, R10, R3 @ Rd = Op1 + Op2 .text:0001FF48 MOV R10, R10,ROR#13 @ Rd = Op2 .text:0001FF4C AND R3, R10, R8 @ Rd = Op1 & Op2 .text:0001FF50 BIC R2, R7, R10 @ Rd = Op1 & ~Op2 .text:0001FF54 ORR R3, R3, R2 @ Rd = Op2 | Op1 .text:0001FF58 ADD R3, R3, R5 @ Rd = Op1 + Op2 .text:0001FF5C ADD R9, R9, R3 @ Rd = Op1 + Op2 .text:0001FF60 MOV R9, R9,ROR#29 @ Rd = Op2 .text:0001FF64 AND R3, R9, R10 @ Rd = Op1 & Op2 .text:0001FF68 BIC R2, R8, R9 @ Rd = Op1 & ~Op2 .text:0001FF6C ORR R3, R3, R2 @ Rd = Op2 | Op1 .text:0001FF70 ADD R3, R3, R0 @ Rd = Op1 + Op2 .text:0001FF74 ADD R7, R7, R3 @ Rd = Op1 + Op2 .text:0001FF78 MOV R7, R7,ROR#25 @ Rd = Op2 .text:0001FF7C AND R3, R7, R9 @ Rd = Op1 & Op2 .text:0001FF80 BIC R2, R10, R7 @ Rd = Op1 & ~Op2 .text:0001FF84 ORR R3, R3, R2 @ Rd = Op2 | Op1 .text:0001FF88 ADD R3, R3, R1 @ Rd = Op1 + Op2 .text:0001FF8C ADD R8, R8, R3 @ Rd = Op1 + Op2 .text:0001FF90 MOV R8, R8,ROR#21 @ Rd = Op2 .text:0001FF94 AND R3, R8, R7 @ Rd = Op1 & Op2 .text:0001FF98 BIC R2, R9, R8 @ Rd = Op1 & ~Op2 .text:0001FF9C ORR R3, R3, R2 @ Rd = Op2 | Op1 .text:0001FFA0 LDR R2, [R11,#var_3C] @ Load from Memory .text:0001FFA4 LDR R0, [R11,#var_34] @ Load from Memory .text:0001FFA8 ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:0001FFAC ADD R10, R10, R3 @ Rd = Op1 + Op2 .text:0001FFB0 MOV R10, R10,ROR#13 @ Rd = Op2 .text:0001FFB4 AND R3, R10, R8 @ Rd = Op1 & Op2 .text:0001FFB8 BIC R2, R7, R10 @ Rd = Op1 & ~Op2 .text:0001FFBC ORR R3, R3, R2 @ Rd = Op2 | Op1 .text:0001FFC0 ADD R3, R3, R12 @ Rd = Op1 + Op2 .text:0001FFC4 ADD R9, R9, R3 @ Rd = Op1 + Op2 .text:0001FFC8 MOV R9, R9,ROR#29 @ Rd = Op2 .text:0001FFCC AND R3, R9, R10 @ Rd = Op1 & Op2 .text:0001FFD0 BIC R2, R8, R9 @ Rd = Op1 & ~Op2 .text:0001FFD4 ORR R3, R3, R2 @ Rd = Op2 | Op1 .text:0001FFD8 ADD R3, R3, R0 @ Rd = Op1 + Op2 .text:0001FFDC ADD R7, R7, R3 @ Rd = Op1 + Op2 .text:0001FFE0 MOV R7, R7,ROR#25 @ Rd = Op2 .text:0001FFE4 AND R3, R7, R9 @ Rd = Op1 & Op2 .text:0001FFE8 BIC R2, R10, R7 @ Rd = Op1 & ~Op2 .text:0001FFEC ORR R3, R3, R2 @ Rd = Op2 | Op1 .text:0001FFF0 ADD R3, R3, LR @ Rd = Op1 + Op2 .text:0001FFF4 ADD R8, R8, R3 @ Rd = Op1 + Op2 .text:0001FFF8 MOV R8, R8,ROR#21 @ Rd = Op2 .text:0001FFFC AND R1, R8, R7 @ Rd = Op1 & Op2 .text:00020000 BIC R3, R9, R8 @ Rd = Op1 & ~Op2 .text:00020004 ORR R3, R1, R3 @ Rd = Op2 | Op1 .text:00020008 ADD R3, R3, R6 @ Rd = Op1 + Op2 .text:0002000C ADD R10, R10, R3 @ Rd = Op1 + Op2 .text:00020010 MOV R10, R10,ROR#13 @ Rd = Op2 .text:00020014 ORR R3, R8, R7 @ Rd = Op2 | Op1 .text:00020018 AND R3, R10, R3 @ Rd = Op1 & Op2 .text:0002001C LDR R0, =0x5A827999 @ Load from Memory .text:00020020 ORR R3, R3, R1 @ Rd = Op2 | Op1 .text:00020024 LDR R1, [R11,#var_68] @ Load from Memory .text:00020028 ADD R2, R9, R0 @ Rd = Op1 + Op2 .text:0002002C ADD R3, R3, R1 @ Rd = Op1 + Op2 .text:00020030 ADD R9, R2, R3 @ Rd = Op1 + Op2 .text:00020034 MOV R9, R9,ROR#29 @ Rd = Op2 .text:00020038 ORR R3, R10, R8 @ Rd = Op2 | Op1 .text:0002003C AND R3, R9, R3 @ Rd = Op1 & Op2 .text:00020040 AND R2, R10, R8 @ Rd = Op1 & Op2 .text:00020044 ORR R3, R3, R2 @ Rd = Op2 | Op1 .text:00020048 LDR R2, [R11,#var_58] @ Load from Memory .text:0002004C ADD R1, R7, R0 @ Rd = Op1 + Op2 .text:00020050 ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:00020054 ADD R7, R1, R3 @ Rd = Op1 + Op2 .text:00020058 MOV R7, R7,ROR#27 @ Rd = Op2 .text:0002005C ADD R1, R8, R0 @ Rd = Op1 + Op2 .text:00020060 ORR R3, R9, R10 @ Rd = Op2 | Op1 .text:00020064 AND R3, R7, R3 @ Rd = Op1 & Op2 .text:00020068 AND R2, R9, R10 @ Rd = Op1 & Op2 .text:0002006C ORR R3, R3, R2 @ Rd = Op2 | Op1 .text:00020070 ADD R3, R3, R5 @ Rd = Op1 + Op2 .text:00020074 ADD R8, R1, R3 @ Rd = Op1 + Op2 .text:00020078 MOV R8, R8,ROR#23 @ Rd = Op2 .text:0002007C ADD R1, R10, R0 @ Rd = Op1 + Op2 .text:00020080 ORR R3, R7, R9 @ Rd = Op2 | Op1 .text:00020084 AND R3, R8, R3 @ Rd = Op1 & Op2 .text:00020088 AND R2, R7, R9 @ Rd = Op1 & Op2 .text:0002008C ORR R3, R3, R2 @ Rd = Op2 | Op1 .text:00020090 ADD R3, R3, R12 @ Rd = Op1 + Op2 .text:00020094 ADD R10, R1, R3 @ Rd = Op1 + Op2 .text:00020098 MOV R10, R10,ROR#19 @ Rd = Op2 .text:0002009C ORR R3, R8, R7 @ Rd = Op2 | Op1 .text:000200A0 AND R3, R10, R3 @ Rd = Op1 & Op2 .text:000200A4 AND R2, R8, R7 @ Rd = Op1 & Op2 .text:000200A8 ORR R3, R3, R2 @ Rd = Op2 | Op1 .text:000200AC LDR R2, [R11,#var_64] @ Load from Memory .text:000200B0 ADD R1, R9, R0 @ Rd = Op1 + Op2 .text:000200B4 ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:000200B8 ADD R9, R1, R3 @ Rd = Op1 + Op2 .text:000200BC MOV R9, R9,ROR#29 @ Rd = Op2 .text:000200C0 ORR R3, R10, R8 @ Rd = Op2 | Op1 .text:000200C4 AND R3, R9, R3 @ Rd = Op1 & Op2 .text:000200C8 AND R2, R10, R8 @ Rd = Op1 & Op2 .text:000200CC ORR R3, R3, R2 @ Rd = Op2 | Op1 .text:000200D0 LDR R2, [R11,#var_54] @ Load from Memory .text:000200D4 ADD R1, R7, R0 @ Rd = Op1 + Op2 .text:000200D8 ADD R3, R3, R2 @ Rd = Op1 + Op2 .text:000200DC ADD R7, R1, R3 @ Rd = Op1 + Op2 .text:000200E0 MOV R7, R7,ROR#27 @ Rd = Op2 .text:000200E4 ORR R3, R9, R10 @ Rd = Op2 | Op1 .text:000200E8 AND R3, R7, R3 @ Rd = Op1 & Op2 .text:000200EC AND R2