Public feed
#724600
iBSS, reversed by roxfan
-00000084 crypt_buf2 DCB 64 dup(?)
-00000044 iv2 DCB 16 dup(?)
-00000034 crypt_buf1 DCB 16 dup(?)
ROM:22016C7C crypt_2 DCB 0xAD, 0x2E, 0xE3, 0x8D, 0x2D, 0x9B, 0xE4, 0x35, 0x99, 4
ROM:22016C7C DCB 0x44, 0x33, 0x65, 0x3D, 0xF0, 0x74, 0x98, 0xD8, 0x56, 0x3B
ROM:22016C7C DCB 0x4F, 0xF9, 0x6A, 0x55, 0x45, 0xCE, 0x82, 0xF2, 0x9A, 0x5A
ROM:22016C7C DCB 0xC2, 0xBC, 0x47, 0x61, 0x6D, 0x65, 0x4F, 0x76, 0x65, 0x72
ROM:22016C7C DCB 0xA6, 0xA0, 0x99, 0x13
ROM:22016CA8 iv1 DCD 0x115D7041, 0x824B986F, 0xBB996C9C, 0x6978F1A5
ROM:22016CB8 crypt_1 DCD 0xB345F3CD, 0x8548E712, 0x4721BE8B, 0x8880E5F0
ROM:2200865A loc_2200865A
ROM:2200865A LDR R1, =crypt_1
ROM:2200865C MOVS R2, #0x10
ROM:2200865E ADD R0, SP, #0x94+crypt_buf1
ROM:22008660 BLX _memmove
ROM:22008664 LDR R3, =iv1
ROM:22008666 MOVS R1, #0x10
ROM:22008668 STR R3, [SP]
ROM:2200866A MOVS R2, #2
ROM:2200866C MOVS R3, #0
ROM:2200866E ADD R0, SP, #0x94+crypt_buf1
ROM:22008670 BL aes_crypt? ; r0=data,r1=size,r2=type,r3=key,arg0=iv
ROM:22008674 LDR R1, [SP,#0x94+_size2]
ROM:22008676 ADD R2, SP, #0x94+crypt_buf2
ROM:22008678 LDR R0, [SP,#0x94+unwrapped_ptr]
ROM:2200867A BL sha1_hash? ; r0=data,r1=size,r2=hashbuf
ROM:2200867E LDR R1, =crypt_2
ROM:22008680 MOVS R2, #0x2C
ROM:22008682 ADD R0, SP, #0x94+crypt_buf2+0x14
ROM:22008684 BLX _memmove
ROM:22008688 MOVS R1, #0
ROM:2200868A MOVS R2, #0x10
ROM:2200868C ADD R0, SP, #0x94+iv2
ROM:2200868E BLX _memset
ROM:22008692 ADD _iv2, SP, #0x94+iv2
ROM:22008694 MOVS R1, #0x40
ROM:22008696 MOVS R2, #0
ROM:22008698 ADD R0, SP, #0x94+crypt_buf2
ROM:2200869A ADD R3, SP, #0x94+crypt_buf1
ROM:2200869C STR _iv2, [SP]
ROM:2200869E BL aes_crypt? ; r0=data,r1=size,r2=type,r3=key,arg0=iv
ROM:220086A2 ADDS R0, R5, #0
ROM:220086A4 ADDS R0, #0x20
ROM:220086A6 ADD R1, SP, #0x94+crypt_buf2
ROM:220086A8 MOVS R2, #0x40
ROM:220086AA BL memcmp_0
ROM:220086AE CMP R0, #0
ROM:220086B0 BNE loc_220086B6
ROM:220086B2 MOVS R4, #0
ROM:220086B4 B loc_220086BA
ROM:220086B6 ; ---------------------------------------------------------------------------
ROM:220086B6
ROM:220086B6 loc_220086B6 ; CODE XREF: do_load_image+144j
ROM:220086B6 MOVS R4, #1
ROM:220086B8 NEGS R4, R4
ROM:220086BA
ROM:220086BA loc_220086BA ; CODE XREF: do_load_image+148j
ROM:220086BA ADD R0, SP, #0x94+iv2
ROM:220086BC MOVS R1, #0
ROM:220086BE MOVS R2, #0x10
ROM:220086C0 BLX _memset
ROM:220086C4 CMP R4, #0
ROM:220086C6 BNE loc_220086DC
ROM:220086C8 LDR R0, [R5,#Image2.miscflags] ; bit30=encrypted?
ROM:220086CA LSLS R3, R0, #0x16
ROM:220086CC BPL loc_220086DC
ROM:220086CE LDR R0, [SP,#0x94+unwrapped_ptr]
ROM:220086D0 LDR R1, [SP,#0x94+_size2]
ROM:220086D2 MOVS R2, #0
ROM:220086D4 ADD R3, SP, #0x94+crypt_buf1
ROM:220086D6 STR _iv2, [SP]
ROM:220086D8 BL aes_decrypt? ; r0=data,r1=size,r2=type,r3=key,arg0=iv
ROM:220086DC
ROM:220086DC loc_220086DC ; CODE XREF: do_load_image+ECj
ROM:220086DC ; do_load_image+15Aj ...
ROM:220086DC ADD R0, SP, #0x94+crypt_buf1
ROM:220086DE MOVS R1, #0
ROM:220086E0 MOVS R2, #0x10
ROM:220086E2 BLX _memset
ROM:220086E6 CMP R4, #0