Decoding instrucción BLX en ARM / Thumb (IOS)

He leído gran parte de la documentación de ARM pero sigo teniendo problemas para decodificar una instrucción BLX. Aquí hay dos ejemplos:

__text:0000347C 02 F0 B2 ED                 BLX             _objc_msgSend

__text:0000469C 01 F0 A2 EC                 BLX             _objc_msgSend

Ambos de estos se supone que deben ir al mismo lugar, dirección virtual 0x5FE4 como se ve aquí:

__symbolstub1:00005FE4 38 F0 9F E5                 LDR             PC, =__imp__objc_msgSend

Sin embargo, no puedo entender qué cálculo se usa para obtener de las dos direcciones anteriores (0x347C y 0x469C) usando sus bytes de instrucciones. De acuerdo con la documentación de ARM, se supone que es un salto relativo, usando un desplazamiento a la derecha por 2, pero los números no funcionan.

¿Alguien puede ayudarme?

Respuestas a la pregunta(2)

Su respuesta a la pregunta