Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- RAM_ARM9:0203A228 ; =============== S U B R O U T I N E =======================================
- RAM_ARM9:0203A228
- RAM_ARM9:0203A228
- RAM_ARM9:0203A228 ; void *__fastcall allocateBlockFromExpHeap(int blkGroupID, u32 blockLength, bool clearBlock, const char *pSourceFile, int marker)
- RAM_ARM9:0203A228 allocateBlockFromExpHeap ; CODE XREF: setupMainGFSystems+EEp
- RAM_ARM9:0203A228 ; setupMainGFSystems+108p ...
- RAM_ARM9:0203A228
- RAM_ARM9:0203A228 pSourceSrc = -0x18
- RAM_ARM9:0203A228 marker = 0
- RAM_ARM9:0203A228
- RAM_ARM9:0203A228 F8 B5 PUSH {R3-R7,LR}
- RAM_ARM9:0203A22A 06 1C MOVS R6, R0
- RAM_ARM9:0203A22C 0D 1C MOVS R5, R1
- RAM_ARM9:0203A22E 17 1C MOVS R7, R2
- RAM_ARM9:0203A230 00 93 STR R3, [SP,#0x18+pSourceSrc]
- RAM_ARM9:0203A232 FF F7 C9 FD BL getNewBlockFromHeapNum
- RAM_ARM9:0203A236 04 1C MOVS R4, R0
- RAM_ARM9:0203A238 0B D1 BNE loc_203A252
- RAM_ARM9:0203A23A FF F7 43 FF BL getAllocatorStatus
- RAM_ARM9:0203A23E 06 AB ADD R3, SP, #0x18+marker
- RAM_ARM9:0203A240 1B 88 LDRH R3, [R3]
- RAM_ARM9:0203A242 00 9A LDR R2, [SP,#0x18+pSourceSrc]
- RAM_ARM9:0203A244 30 1C MOVS R0, R6 ; blkGroupID
- RAM_ARM9:0203A246 29 1C MOVS R1, R5 ; blockLength
- RAM_ARM9:0203A248 00 F0 9A F8 BL abortIfBlockIsAllocatedWrong
- RAM_ARM9:0203A24C ; ---------------------------------------------------------------------------
- RAM_ARM9:0203A24C 42 F0 A8 FA BL OS_Panic
- RAM_ARM9:0203A250 10 E0 B loc_203A274
- RAM_ARM9:0203A252 ; ---------------------------------------------------------------------------
- RAM_ARM9:0203A252
- RAM_ARM9:0203A252 loc_203A252 ; CODE XREF: allocateBlockFromExpHeap+10j
- RAM_ARM9:0203A252 06 AA ADD R2, SP, #0x18
- RAM_ARM9:0203A254 12 88 LDRH R2, [R2] ; marker
- RAM_ARM9:0203A256 00 99 LDR R1, [SP,#0x18+pSourceSrc] ; pSourceSrc
- RAM_ARM9:0203A258 00 F0 58 F8 BL copySourceFileToAllocatedBlock
- RAM_ARM9:0203A25C 30 1C MOVS R0, R6 ; blkGroupID
- RAM_ARM9:0203A25E 21 1C MOVS R1, R4 ; pBlk
- RAM_ARM9:0203A260 2A 1C MOVS R2, R5
- RAM_ARM9:0203A262 00 F0 C9 F8 BL verifySysBlkGroup
- RAM_ARM9:0203A266 00 2F CMP R7, #0
- RAM_ARM9:0203A268 04 D0 BEQ loc_203A274
- RAM_ARM9:0203A26A 00 20 MOVS R0, #0 ; data
- RAM_ARM9:0203A26C 21 1C MOVS R1, R4 ; pSrc
- RAM_ARM9:0203A26E 2A 1C MOVS R2, R5 ; dataSize
- RAM_ARM9:0203A270 3E F0 08 EA BLX MIi_CpuClear32
- RAM_ARM9:0203A274
- RAM_ARM9:0203A274 loc_203A274 ; CODE XREF: allocateBlockFromExpHeap+28j
- RAM_ARM9:0203A274 ; allocateBlockFromExpHeap+40j
- RAM_ARM9:0203A274 20 1C MOVS R0, R4
- RAM_ARM9:0203A276 F8 BD POP {R3-R7,PC}
- RAM_ARM9:0203A276 ; End of function allocateBlockFromExpHeap
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement