Procedure Compare_Get_IMEIs:
seg178:1EBA mov [-r0], r9
seg178:1EBC mov [-r0], r8
seg178:1EBE sub r0, #0Ah
seg178:1EC2 mov r8, r12
seg178:1EC4 mov r9, r13
seg178:1EC6 calls 0B2h, Get_Flash_IMEI
seg178:1ECA cmp r4, #0
seg178:1ECC jmpr cc_Z, loc_B21F2C
seg178:1ECE mov r12, r0
seg178:1ED0 and r12, #3FFFh
seg178:1ED4 mov r13, unk_403E02
seg178:1ED8 calls 0B2h, Get_EEPROM_IMEI
seg178:1EDC cmp r4, #0
seg178:1EDE jmpr cc_Z, Compare_IMEIs
seg178:1EE0 cmp r4, #4
seg178:1EE2 jmpr cc_Z, Copy_IMEI
seg178:1EE4 jmpr cc_UC, loc_B21F26
This part of procedure compare IMEIs OTP and EEPROM
seg178:1EE6 Compare_IMEIs:
seg178:1EE6 mov r12, #8
seg178:1EE8 mov [-r0], r12
seg178:1EEA mov r12, #2
seg178:1EEC add r12, r0
seg178:1EEE and r12, #3FFFh
seg178:1EF2 mov r13, unk_403E02
seg178:1EF6 mov r14, r8
seg178:1EF8 mov r15, r9
seg178:1EFA calls 0B2h, Compare
If IMEIs dont mach r40 and Phone cannot start
seg178:1EFE add r0, #2
seg178:1F00 cmp r4, #0
seg178:1F02 jmpr cc_NZ, loc_B21F26; IMEI is BAD
seg178:1F04 mov r12, #0
seg178:1F06 jmpr cc_UC, loc_B21F28 ; IMEI is GOOD
End of part
seg178:1F08 Copy_IMEI:
seg178:1F08 mov r12, #8
seg178:1F0A mov [-r0], r12
seg178:1F0C mov r12, #2
seg178:1F0E add r12, r0
seg178:1F10 and r12, #3FFFh
seg178:1F14 mov r13, unk_403E02
seg178:1F18 mov r14, r8
seg178:1F1A mov r15, r9
seg178:1F1C calls 0B2h, memcopy
seg178:1F20 add r0, #2
seg178:1F22 mov r12, #3
seg178:1F24 jmpr cc_UC, loc_B21F28
seg178:1F26 loc_B21F26:
seg178:1F26 mov r12, #2
seg178:1F28
seg178:1F28 loc_B21F28:
seg178:1F28 mov r4, r12
seg178:1F2A jmpr cc_UC, loc_B21F34
seg178:1F2C loc_B21F2C: Compare_Get_IMEIs+12j
seg178:1F2C mov r12, r8
seg178:1F2E mov r13, r9
seg178:1F30 calls 0B2h, Get_EEPROM_IMEI
seg178:1F34 loc_B21F34:
seg178:1F34 add r0, #0Ah
seg178:1F38 mov r8, [r0+]
seg178:1F3A mov r9, [r0+]
seg178:1F3C rets
seg178:1F3C ; End of function Compare_Get_IMEIs
BEST REARDS ANDREW911