Decodificação da instrução BLX no ARM / Thumb (IOS)

Eu li toda a documentação do ARM, mas ainda estou tendo problemas para decodificar uma instrução BLX. Aqui estão dois exemplos:

__text:0000347C 02 F0 B2 ED                 BLX             _objc_msgSend

__text:0000469C 01 F0 A2 EC                 BLX             _objc_msgSend

Ambos devem ir para o mesmo local, endereço virtual 0x5FE4, como visto aqui:

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

No entanto, não consigo descobrir qual cálculo é usado para obter os dois endereços acima (0x347C e 0x469C) usando seus bytes de instrução. De acordo com a documentação do ARM, é suposto ser um salto relativo, usando o deslocamento à direita de 2, mas os números não dão cert

Pode alguém ajudar?