IDA Disassemblies Gallery

ARM Processor iOS (iPhone): C++ signatures

Assembler code
__text:00015E90 BL _readdir __text:00015E94 SUBS R1, R0, #0 __text:00015E98 BEQ loc_15F2C __text:00015E9C MOV R3, #2 __text:00015EA0 LDRB R2, [R1,#7] __text:00015EA4 ADD R0, SP, #0xA8+var_64 __text:00015EA8 STR R3, [SP,#0xA8+fctx.call_site] __text:00015EAC ADD R1, R1, #8 __text:00015EB0 ADD R3, SP, #0xA8+var_5D __text:00015EB4 BL __ZNSsC1EPKcmRKSaIcE ; std::string::string(char const*,ulong,std::allocator<char> const&) __text:00015EB8 MOV R3, #1 __text:00015EBC STR R3, [SP,#0xA8+fctx.call_site] __text:00015EC0 ADD R0, SP, #0xA8+var_64 __text:00015EC4 LDR R3, [SP,#0xA8+var_A4] __text:00015EC8 BLX R3 __text:00015ECC CMP R0, #0 __text:00015ED0 BNE loc_15F1C __text:00015ED4 MOV R3, #0xFFFFFFFF __text:00015ED8 ADD R0, SP, #0xA8+var_64 ; this __text:00015EDC STR R3, [SP,#0xA8+fctx.call_site] __text:00015EE0 BL __ZNSsD2Ev ; std::string::~string() __text:00015EE4 B loc_15E84 __text:00015EE8 ; --------------------------------------------------------------------------- __text:00015EE8 ; cleanup() // owned by 15E64 __text:00015EE8 LDR R3, [SP,#0xA8+fctx.data] __text:00015EEC STR R3, [SP,#0xA8+lpuexcpt] __text:00015EF0 LDR R3, [SP,#0xA8+fctx.call_site] __text:00015EF4 CMP R3, #1 __text:00015EF8 BEQ loc_15F0C __text:00015EFC MOV R3, #0 __text:00015F00 ADD R0, SP, #0xA8+var_64 ; this __text:00015F04 STR R3, [SP,#0xA8+fctx.call_site] __text:00015F08 BL __ZNSsD2Ev ; std::string::~string() __text:00015F0C __text:00015F0C loc_15F0C ; CODE XREF: sub_15E1C+DC↑j __text:00015F0C MOV R3, #0xFFFFFFFF