el usuario Stuck estuvo revisando el asm que deje, y el que sabe mas me dijo que quedaria asi:

Código:
include "x.inc"

new_vector_table_ram equ 0x4C02D2CC ; vector_table+10
vector_table equ 0x4C02D2BC ;w800 002: 0x4c04b0c0
func3 equ 0x453B01D8 ; w800 002: 0x4505fe88
patch_reloc equ patch+144 ;patch+144

;ram_func E403044C W200 R4HA

;funciones por buscar y el org 0x44E8399A
func equ 0x44e8f6dc
func2 equ 0x44e8f724
newloc equ 0x44e839a4



org 0x44C599D4
DCD new_vector_table_ram

org 0x44C598BC
DCD new_vector_table_ram

org 0x44C59944
DCD new_vector_table_ram

org 0x44C59C34
DCD new_vector_table_ram


org 0x44E8399A ;falta
LSL R0, R0, 0
LDR R3, _PATCH_
BX R3


_patch_: 
org _patch_
DCD 0x45211000+1


org 0x45211000
  BL FUNC
  BL FUNC2
  LDR R1, RAM
  LDRB R1, [R1]
  CMP R5, 5
  BNE LOC_45211030
  MOV R2, 0X2C
  LDRB R2, [R4,R2]
  CMP R2, 0
  BNE LOC_45211030
  MOV R2, 1
  EOR R1, R2
  LDR R2, RAM
  STRB R1, [R2]
  LDR R5, PATCH_RELOC
  PUSH {R0,R3,LR}
  LDR R0, ICON
  BL FUNC3
  POP {R0,R3}
  POP {R2}
  MOV LR, R2

loc_45211030:
  CMP R1, 1
  BNE LOC_45211054
  MOV R1, 0XA
  CMP R5, 0X18
  BEQ LOC_45211052
  MOV R1, 6
  CMP R5, 0X12
  BEQ LOC_45211052
  MOV R1, 0XC
  CMP R5, 0X14
  BEQ LOC_45211052
  MOV R1, 8
  CMP R5, 0X16
  BEQ LOC_45211052
  MOV R1, 5
  CMP R5, 0X15
  BNE LOC_45211054

loc_45211052:
  ADD R5, R1, 0

loc_45211054:
  CMP R6, 0
  LDR R3, JUMP
  BX R3

DCD 0
ram DCD vector_table+4
icon DCD 0xeab8
jump DCD newloc+1
Estos son mis avances en el ASM. Seria cuestion de buscar las 3
funciones y el org que falta, las 3 funciones y el org estan por la
misma area, ram_func que esta comentado es de referencia y te debe
ayudar a encontrar los offsets correctos de las funciones que faltan o
por lo menos eso pienso yo, al haber examinado ayer un rato el del W800.

Eso me dijo, todavia no me puse a buscar las funciones, pero si alguien quiere avanzar, que busque.Saludos.
Stuck, si podes escribinos por aca, gracias.