Public feed #723354

get_imei

public text v1 · immutable
Raw Edit
·published 2007-10-02 18:57 UTC
rendered paste body
__text:00011548 do_get_IMEI                             ; DATA XREF: __inst_meth:000219A8o
__text:00011548
__text:00011548 var_161         = -0x161
__text:00011548 var_160         = -0x160
__text:00011548 ATCgsn          = -0x158
__text:00011548 atcgsn_cmd      = -0x154
__text:00011548 IMEI_READ       = -0x150
__text:00011548 var_14C         = -0x14C
__text:00011548 var_148         = -0x148
__text:00011548 var_142         = -0x142
__text:00011548 RECEIVED_DATA   = -0x140
__text:00011548 var_3C          = -0x3C
__text:00011548 var_38          = -0x38
__text:00011548 serial_fd       = -0x34
__text:00011548 var_30          = -0x30
__text:00011548 var_2C          = -0x2C
__text:00011548 var_28          = -0x28
__text:00011548 var_24          = -0x24
__text:00011548 var_20          = -0x20
__text:00011548 var_1C          = -0x1C
__text:00011548 var_18          = -0x18
__text:00011548 var_8           = -8
__text:00011548
__text:00011548                 STMFD   SP!, {R4-R7,LR}
__text:0001154C                 ADD     R7, SP, #0x14+var_8
__text:00011550                 SUB     SP, SP, #0x24C
__text:00011554                 STR     R0, [SP,#0x260+var_18]
__text:00011558                 STR     R1, [SP,#0x260+var_1C]
__text:0001155C                 MOVL    R3, 0xFFFFFFFF
__text:00011560                 STR     R3, [SP,#0x260+var_30]
__text:00011564                 STR     R3, [SP,#0x260+serial_fd]
__text:00011568                 MOV     R3, #0
__text:0001156C                 STR     R3, [SP,#0x260+var_3C]
__text:00011570                 BL      restart_baseband
__text:00011574                 CMP     R0, #0
__text:00011578                 BLT     loc_116D8
__text:0001157C                 MOVL    R1, unk_1C200   ; speed
__text:00011584                 LDR     R0, =aDevTty_baseban ; unk
__text:00011588                 BL      init_conn
__text:0001158C                 STR     R0, [SP,#0x260+serial_fd]
__text:00011590                 CMN     R0, #1
__text:00011594                 BEQ     loc_116D8
__text:00011598                 LDR     R3, =aAtCgsn_0
__text:0001159C                 STR     R3, [SP,#0x260+atcgsn_cmd]
__text:000115A0                 LDR     R3, =aAtCgsn
__text:000115A4                 STR     R3, [SP,#0x260+ATCgsn]
__text:000115A8                 MOV     R0, #5
__text:000115AC                 BL      _sleep
__text:000115B0                 MOV     R2, #0x100
__text:000115B4                 MOV     R1, #0
__text:000115B8                 MOV     R0, SP
__text:000115BC                 BL      _memset
__text:000115C0                 LDR     R0, [SP,#0x260+atcgsn_cmd]
__text:000115C4                 BL      _strlen
__text:000115C8                 MOV     R2, R0
__text:000115CC                 LDR     R0, [SP,#0x260+serial_fd]
__text:000115D0                 LDR     R1, [SP,#0x260+atcgsn_cmd]
__text:000115D4                 BL      _write_0        ; SEND AT+CGSN\r
__text:000115D8                 CMP     R0, #0
__text:000115DC                 BLT     loc_116D8
__text:000115E0                 LDR     R0, [SP,#0x260+serial_fd]
__text:000115E4                 MOV     R2, #0x100
__text:000115E8                 MOV     R1, SP
__text:000115EC                 BL      bb_raw_read_bytes
__text:000115F0                 CMP     R0, #0
__text:000115F4                 BLT     loc_116D8
__text:000115F8                 MOV     R3, #0
__text:000115FC                 STRB    R3, [SP,#0x260+var_161]
__text:00011600                 ADD     R2, SP, #0x260+var_3C
__text:00011604                 MOV     R3, #0x100
__text:00011608                 ADD     R1, SP, #0x260+RECEIVED_DATA
__text:0001160C                 MOV     R0, SP
__text:00011610                 BL      trimp_string
__text:00011614                 STR     R0, [SP,#0x260+var_38]
__text:00011618                 CMP     R0, #0
__text:0001161C                 BEQ     loc_116D8
__text:00011620                 LDR     R0, [SP,#0x260+ATCgsn]
__text:00011624                 BL      _strlen
__text:00011628                 MOV     R2, R0
__text:0001162C                 LDR     R1, [SP,#0x260+ATCgsn]
__text:00011630                 ADD     R0, SP, #0x260+RECEIVED_DATA
__text:00011634                 BL      _memcmp         ; Is the echo there?
__text:00011638                 CMP     R0, #0
__text:0001163C                 BNE     loc_116D8
__text:00011640                 ADD     R2, SP, #0x260+var_3C
__text:00011644                 MOV     R3, #0x100
__text:00011648                 ADD     R1, SP, #0x260+RECEIVED_DATA ; Skip the echo
__text:0001164C                 MOV     R0, SP
__text:00011650                 BL      trimp_string
__text:00011654                 STR     R0, [SP,#0x260+var_38]
__text:00011658                 CMP     R0, #0
__text:0001165C                 BEQ     loc_116D8
__text:00011660                 LDR     R3, [SP,#0x260+var_38] ; IMEI LEN
__text:00011664                 CMP     R3, #0xF
__text:00011668                 BHI     loc_116D8
__text:0001166C                 MOV     R4, #0
__text:00011670                 ADD     R0, SP, #0x260+var_160
__text:00011674                 STRH    R4, [R0,#0x1C]
__text:00011678                 STR     R4, [SP,#0x260+var_14C]
__text:0001167C                 STRB    R4, [SP,#0x260+var_142]
__text:00011680                 STR     R4, [SP,#0x260+var_148]
__text:00011684                 STR     R4, [SP,#0x260+IMEI_READ]
__text:00011688                 LDR     R2, [SP,#0x260+var_38]
__text:0001168C                 ADD     R5, SP, #0x260+IMEI_READ
__text:00011690                 ADD     R1, SP, #0x260+RECEIVED_DATA
__text:00011694                 MOV     R0, R5
__text:00011698                 BL      _memcpy
__text:0001169C                 LDR     R3, =off_21040
__text:000116A0                 LDR     R0, [R3]
__text:000116A4                 STR     R0, [SP,#0x260+var_24]
__text:000116A8                 LDR     R3, =off_21058
__text:000116AC                 LDR     R1, [R3]
__text:000116B0                 BL      _objc_msgSend
__text:000116B4                 STR     R0, [SP,#0x260+var_28]
__text:000116B8                 LDR     R3, =off_21244
__text:000116BC                 LDR     R1, [R3]
__text:000116C0                 MOV     R3, #0xF
__text:000116C4                 MOV     R2, R5
__text:000116C8                 BL      _objc_msgSend
__text:000116CC                 LDR     R3, [SP,#0x260+var_18]
__text:000116D0                 STR     R0, [R3,#0x110]
__text:000116D4                 STR     R4, [SP,#0x260+var_30]
__text:000116D8
__text:000116D8 loc_116D8                               ; CODE XREF: do_get_IMEI+30j
__text:000116D8                                         ; do_get_IMEI+4Cj ...
__text:000116D8                 LDR     R3, [SP,#0x260+serial_fd]
__text:000116DC                 CMN     R3, #1
__text:000116E0                 BEQ     loc_116EC
__text:000116E4                 LDR     R0, [SP,#0x260+serial_fd]
__text:000116E8                 BL      _close_0        ; Close the serial comunication.
__text:000116EC
__text:000116EC loc_116EC                               ; CODE XREF: do_get_IMEI+198j
__text:000116EC                 LDR     R3, [SP,#0x260+var_30]
__text:000116F0                 STR     R3, [SP,#0x260+var_2C]
__text:000116F4                 STR     R3, [SP,#0x260+var_20]
__text:000116F8                 LDR     R0, [SP,#0x260+var_20]
__text:000116FC                 SUB     SP, R7, #0xC
__text:00011700                 LDMFD   SP!, {R4-R7,PC}
__text:00011700 ; End of function do_get_IMEI