summaryrefslogtreecommitdiff
path: root/asm/librfu.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/librfu.s')
-rw-r--r--asm/librfu.s8917
1 files changed, 8917 insertions, 0 deletions
diff --git a/asm/librfu.s b/asm/librfu.s
new file mode 100644
index 000000000..0ba27165b
--- /dev/null
+++ b/asm/librfu.s
@@ -0,0 +1,8917 @@
+ thumb_func_start STWI_init_all
+STWI_init_all: @ 82E2A18
+ push {r4,lr}
+ adds r3, r0, 0
+ lsls r2, 24
+ lsrs r2, 24
+ cmp r2, 0x1
+ bne _082E2A54
+ adds r2, r3, 0
+ adds r2, 0xE8
+ str r2, [r1]
+ ldr r1, _082E2A40
+ ldr r0, _082E2A44
+ str r0, [r1]
+ str r2, [r1, 0x4]
+ ldr r0, _082E2A48
+ str r0, [r1, 0x8]
+ ldr r0, [r1, 0x8]
+ ldr r1, _082E2A4C
+ ldr r2, _082E2A50
+ adds r0, r3, r2
+ b _082E2A5E
+ .align 2, 0
+_082E2A40: .4byte 0x040000d4
+_082E2A44: .4byte IntrSIO32
+_082E2A48: .4byte 0x800004b0
+_082E2A4C: .4byte 0x03007868
+_082E2A50: .4byte 0x00000a48
+_082E2A54:
+ ldr r0, _082E2AD8
+ str r0, [r1]
+ ldr r1, _082E2ADC
+ adds r0, r3, 0
+ adds r0, 0xE8
+_082E2A5E:
+ str r0, [r1]
+ adds r2, r1, 0
+ ldr r1, [r2]
+ str r3, [r1, 0x28]
+ adds r0, r3, 0
+ adds r0, 0x74
+ str r0, [r1, 0x24]
+ ldrb r0, [r1, 0x14]
+ movs r4, 0
+ movs r0, 0x1
+ strb r0, [r1, 0x14]
+ ldr r0, [r2]
+ str r4, [r0]
+ strb r4, [r0, 0x4]
+ ldr r0, [r2]
+ strb r4, [r0, 0x5]
+ ldr r0, [r2]
+ strb r4, [r0, 0x7]
+ ldr r0, [r2]
+ strb r4, [r0, 0x8]
+ ldr r0, [r2]
+ strb r4, [r0, 0x9]
+ ldr r0, [r2]
+ str r4, [r0, 0xC]
+ ldrb r1, [r0, 0x10]
+ strb r4, [r0, 0x10]
+ ldr r0, [r2]
+ ldrh r1, [r0, 0x12]
+ movs r1, 0
+ strh r4, [r0, 0x12]
+ strb r1, [r0, 0x15]
+ ldr r0, [r2]
+ adds r0, 0x2C
+ ldrb r2, [r0]
+ strb r1, [r0]
+ ldr r1, _082E2AE0
+ movs r2, 0x80
+ lsls r2, 1
+ adds r0, r2, 0
+ strh r0, [r1]
+ subs r1, 0xC
+ ldr r2, _082E2AE4
+ adds r0, r2, 0
+ strh r0, [r1]
+ bl STWI_init_Callback_M
+ bl STWI_init_Callback_S
+ ldr r3, _082E2AE8
+ ldrh r2, [r3]
+ strh r4, [r3]
+ ldr r4, _082E2AEC
+ ldrh r0, [r4]
+ movs r1, 0x80
+ orrs r0, r1
+ strh r0, [r4]
+ strh r2, [r3]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E2AD8: .4byte IntrSIO32
+_082E2ADC: .4byte 0x03007868
+_082E2AE0: .4byte 0x04000134
+_082E2AE4: .4byte 0x00005003
+_082E2AE8: .4byte 0x04000208
+_082E2AEC: .4byte 0x04000200
+ thumb_func_end STWI_init_all
+
+ thumb_func_start STWI_init_timer
+STWI_init_timer: @ 82E2AF0
+ push {r4,r5,lr}
+ ldr r2, _082E2B1C
+ str r2, [r0]
+ ldr r5, _082E2B20
+ ldr r0, [r5]
+ movs r4, 0
+ strb r1, [r0, 0xA]
+ ldr r3, _082E2B24
+ ldrh r2, [r3]
+ strh r4, [r3]
+ ldr r4, _082E2B28
+ ldr r1, [r5]
+ movs r0, 0x8
+ ldrb r1, [r1, 0xA]
+ lsls r0, r1
+ ldrh r1, [r4]
+ orrs r0, r1
+ strh r0, [r4]
+ strh r2, [r3]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E2B1C: .4byte STWI_intr_timer + 1
+_082E2B20: .4byte 0x03007868
+_082E2B24: .4byte 0x04000208
+_082E2B28: .4byte 0x04000200
+ thumb_func_end STWI_init_timer
+
+ thumb_func_start AgbRFU_SoftReset
+AgbRFU_SoftReset: @ 82E2B2C
+ push {r4,r5,lr}
+ ldr r5, _082E2BC4
+ movs r1, 0x80
+ lsls r1, 8
+ adds r0, r1, 0
+ strh r0, [r5]
+ ldr r2, _082E2BC8
+ adds r0, r2, 0
+ strh r0, [r5]
+ ldr r1, _082E2BCC
+ ldr r0, [r1]
+ ldrb r0, [r0, 0xA]
+ lsls r0, 2
+ ldr r3, _082E2BD0
+ adds r2, r0, r3
+ ldr r4, _082E2BD4
+ adds r3, r0, r4
+ movs r0, 0
+ strh r0, [r3]
+ strh r0, [r2]
+ movs r0, 0x83
+ strh r0, [r3]
+ ldrh r0, [r2]
+ adds r4, r1, 0
+ cmp r0, 0x11
+ bhi _082E2B6C
+ ldr r0, _082E2BD8
+ adds r1, r0, 0
+_082E2B64:
+ strh r1, [r5]
+ ldrh r0, [r2]
+ cmp r0, 0x11
+ bls _082E2B64
+_082E2B6C:
+ movs r0, 0x3
+ strh r0, [r3]
+ ldr r1, _082E2BC4
+ ldr r2, _082E2BC8
+ adds r0, r2, 0
+ strh r0, [r1]
+ subs r1, 0xC
+ ldr r3, _082E2BDC
+ adds r0, r3, 0
+ strh r0, [r1]
+ ldr r0, [r4]
+ movs r2, 0
+ str r2, [r0]
+ strb r2, [r0, 0x4]
+ ldr r0, [r4]
+ strb r2, [r0, 0x5]
+ ldr r0, [r4]
+ strb r2, [r0, 0x6]
+ ldr r0, [r4]
+ strb r2, [r0, 0x7]
+ ldr r0, [r4]
+ strb r2, [r0, 0x8]
+ ldr r0, [r4]
+ strb r2, [r0, 0x9]
+ ldr r0, [r4]
+ str r2, [r0, 0xC]
+ ldrb r1, [r0, 0x10]
+ strb r2, [r0, 0x10]
+ ldr r1, [r4]
+ ldrh r0, [r1, 0x12]
+ movs r3, 0
+ strh r2, [r1, 0x12]
+ ldrb r0, [r1, 0x14]
+ movs r0, 0x1
+ strb r0, [r1, 0x14]
+ ldr r0, [r4]
+ strb r3, [r0, 0x15]
+ ldr r0, [r4]
+ adds r0, 0x2C
+ ldrb r1, [r0]
+ strb r3, [r0]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E2BC4: .4byte 0x04000134
+_082E2BC8: .4byte 0x000080a0
+_082E2BCC: .4byte 0x03007868
+_082E2BD0: .4byte 0x04000100
+_082E2BD4: .4byte 0x04000102
+_082E2BD8: .4byte 0x000080a2
+_082E2BDC: .4byte 0x00005003
+ thumb_func_end AgbRFU_SoftReset
+
+ thumb_func_start STWI_set_MS_mode
+STWI_set_MS_mode: @ 82E2BE0
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, _082E2BF0
+ ldr r1, [r1]
+ ldrb r2, [r1, 0x14]
+ strb r0, [r1, 0x14]
+ bx lr
+ .align 2, 0
+_082E2BF0: .4byte 0x03007868
+ thumb_func_end STWI_set_MS_mode
+
+ thumb_func_start STWI_read_status
+STWI_read_status: @ 82E2BF4
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ adds r1, r0, 0
+ cmp r0, 0x1
+ beq _082E2C20
+ cmp r0, 0x1
+ bgt _082E2C0A
+ cmp r0, 0
+ beq _082E2C14
+ b _082E2C48
+_082E2C0A:
+ cmp r1, 0x2
+ beq _082E2C2C
+ cmp r1, 0x3
+ beq _082E2C3C
+ b _082E2C48
+_082E2C14:
+ ldr r0, _082E2C1C
+ ldr r0, [r0]
+ ldrh r0, [r0, 0x12]
+ b _082E2C4A
+ .align 2, 0
+_082E2C1C: .4byte 0x03007868
+_082E2C20:
+ ldr r0, _082E2C28
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x14]
+ b _082E2C4A
+ .align 2, 0
+_082E2C28: .4byte 0x03007868
+_082E2C2C:
+ ldr r0, _082E2C38
+ ldr r0, [r0]
+ ldr r0, [r0]
+ lsls r0, 16
+ lsrs r0, 16
+ b _082E2C4A
+ .align 2, 0
+_082E2C38: .4byte 0x03007868
+_082E2C3C:
+ ldr r0, _082E2C44
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x6]
+ b _082E2C4A
+ .align 2, 0
+_082E2C44: .4byte 0x03007868
+_082E2C48:
+ ldr r0, _082E2C50
+_082E2C4A:
+ pop {r1}
+ bx r1
+ .align 2, 0
+_082E2C50: .4byte 0x0000ffff
+ thumb_func_end STWI_read_status
+
+ thumb_func_start STWI_init_Callback_M
+STWI_init_Callback_M: @ 82E2C54
+ push {lr}
+ movs r0, 0
+ bl STWI_set_Callback_M
+ pop {r0}
+ bx r0
+ thumb_func_end STWI_init_Callback_M
+
+ thumb_func_start STWI_init_Callback_S
+STWI_init_Callback_S: @ 82E2C60
+ push {lr}
+ movs r0, 0
+ bl STWI_set_Callback_S
+ pop {r0}
+ bx r0
+ thumb_func_end STWI_init_Callback_S
+
+ thumb_func_start STWI_set_Callback_M
+STWI_set_Callback_M: @ 82E2C6C
+ ldr r1, _082E2C74
+ ldr r1, [r1]
+ str r0, [r1, 0x18]
+ bx lr
+ .align 2, 0
+_082E2C74: .4byte 0x03007868
+ thumb_func_end STWI_set_Callback_M
+
+ thumb_func_start STWI_set_Callback_S
+STWI_set_Callback_S: @ 82E2C78
+ ldr r1, _082E2C80
+ ldr r1, [r1]
+ str r0, [r1, 0x1C]
+ bx lr
+ .align 2, 0
+_082E2C80: .4byte 0x03007868
+ thumb_func_end STWI_set_Callback_S
+
+ thumb_func_start STWI_set_Callback_ID
+STWI_set_Callback_ID: @ 82E2C84
+ ldr r1, _082E2C8C
+ ldr r1, [r1]
+ str r0, [r1, 0x20]
+ bx lr
+ .align 2, 0
+_082E2C8C: .4byte 0x03007868
+ thumb_func_end STWI_set_Callback_ID
+
+ thumb_func_start STWI_poll_CommandEnd
+STWI_poll_CommandEnd: @ 82E2C90
+ push {lr}
+ ldr r0, _082E2CB4
+ ldr r1, [r0]
+ adds r2, r1, 0
+ adds r2, 0x2C
+ ldrb r1, [r2]
+ adds r3, r0, 0
+ cmp r1, 0x1
+ bne _082E2CAA
+ adds r1, r2, 0
+_082E2CA4:
+ ldrb r0, [r1]
+ cmp r0, 0x1
+ beq _082E2CA4
+_082E2CAA:
+ ldr r0, [r3]
+ ldrh r0, [r0, 0x12]
+ pop {r1}
+ bx r1
+ .align 2, 0
+_082E2CB4: .4byte 0x03007868
+ thumb_func_end STWI_poll_CommandEnd
+
+ thumb_func_start STWI_send_ResetREQ
+STWI_send_ResetREQ: @ 82E2CB8
+ push {lr}
+ movs r0, 0x10
+ bl STWI_init
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0
+ bne _082E2CD2
+ ldr r0, _082E2CD8
+ ldr r0, [r0]
+ strb r1, [r0, 0x4]
+ bl STWI_start_Command
+_082E2CD2:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E2CD8: .4byte 0x03007868
+ thumb_func_end STWI_send_ResetREQ
+
+ thumb_func_start STWI_send_LinkStatusREQ
+STWI_send_LinkStatusREQ: @ 82E2CDC
+ push {lr}
+ movs r0, 0x11
+ bl STWI_init
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0
+ bne _082E2CF6
+ ldr r0, _082E2CFC
+ ldr r0, [r0]
+ strb r1, [r0, 0x4]
+ bl STWI_start_Command
+_082E2CF6:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E2CFC: .4byte 0x03007868
+ thumb_func_end STWI_send_LinkStatusREQ
+
+ thumb_func_start STWI_send_VersionStatusREQ
+STWI_send_VersionStatusREQ: @ 82E2D00
+ push {lr}
+ movs r0, 0x12
+ bl STWI_init
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0
+ bne _082E2D1A
+ ldr r0, _082E2D20
+ ldr r0, [r0]
+ strb r1, [r0, 0x4]
+ bl STWI_start_Command
+_082E2D1A:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E2D20: .4byte 0x03007868
+ thumb_func_end STWI_send_VersionStatusREQ
+
+ thumb_func_start STWI_send_SystemStatusREQ
+STWI_send_SystemStatusREQ: @ 82E2D24
+ push {lr}
+ movs r0, 0x13
+ bl STWI_init
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0
+ bne _082E2D3E
+ ldr r0, _082E2D44
+ ldr r0, [r0]
+ strb r1, [r0, 0x4]
+ bl STWI_start_Command
+_082E2D3E:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E2D44: .4byte 0x03007868
+ thumb_func_end STWI_send_SystemStatusREQ
+
+ thumb_func_start STWI_send_SlotStatusREQ
+STWI_send_SlotStatusREQ: @ 82E2D48
+ push {lr}
+ movs r0, 0x14
+ bl STWI_init
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0
+ bne _082E2D62
+ ldr r0, _082E2D68
+ ldr r0, [r0]
+ strb r1, [r0, 0x4]
+ bl STWI_start_Command
+_082E2D62:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E2D68: .4byte 0x03007868
+ thumb_func_end STWI_send_SlotStatusREQ
+
+ thumb_func_start STWI_send_ConfigStatusREQ
+STWI_send_ConfigStatusREQ: @ 82E2D6C
+ push {lr}
+ movs r0, 0x15
+ bl STWI_init
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0
+ bne _082E2D86
+ ldr r0, _082E2D8C
+ ldr r0, [r0]
+ strb r1, [r0, 0x4]
+ bl STWI_start_Command
+_082E2D86:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E2D8C: .4byte 0x03007868
+ thumb_func_end STWI_send_ConfigStatusREQ
+
+ thumb_func_start STWI_send_GameConfigREQ
+STWI_send_GameConfigREQ: @ 82E2D90
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ adds r5, r1, 0
+ movs r0, 0x16
+ bl STWI_init
+ lsls r0, 16
+ cmp r0, 0
+ bne _082E2DDC
+ ldr r2, _082E2DE4
+ ldr r1, [r2]
+ movs r0, 0x6
+ strb r0, [r1, 0x4]
+ ldr r0, [r2]
+ ldr r1, [r0, 0x24]
+ adds r1, 0x4
+ ldrh r0, [r4]
+ strh r0, [r1]
+ adds r1, 0x2
+ adds r4, 0x2
+ movs r2, 0xD
+_082E2DBA:
+ ldrb r0, [r4]
+ strb r0, [r1]
+ adds r1, 0x1
+ adds r4, 0x1
+ subs r2, 0x1
+ cmp r2, 0
+ bge _082E2DBA
+ movs r2, 0x7
+_082E2DCA:
+ ldrb r0, [r5]
+ strb r0, [r1]
+ adds r1, 0x1
+ adds r5, 0x1
+ subs r2, 0x1
+ cmp r2, 0
+ bge _082E2DCA
+ bl STWI_start_Command
+_082E2DDC:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E2DE4: .4byte 0x03007868
+ thumb_func_end STWI_send_GameConfigREQ
+
+ thumb_func_start STWI_send_SystemConfigREQ
+STWI_send_SystemConfigREQ: @ 82E2DE8
+ push {r4-r6,lr}
+ lsls r0, 16
+ lsrs r6, r0, 16
+ lsls r1, 24
+ lsrs r5, r1, 24
+ lsls r2, 24
+ lsrs r4, r2, 24
+ movs r0, 0x17
+ bl STWI_init
+ lsls r0, 16
+ cmp r0, 0
+ bne _082E2E1E
+ ldr r2, _082E2E24
+ ldr r1, [r2]
+ movs r0, 0x1
+ strb r0, [r1, 0x4]
+ ldr r0, [r2]
+ ldr r0, [r0, 0x24]
+ adds r0, 0x4
+ strb r4, [r0]
+ adds r0, 0x1
+ strb r5, [r0]
+ adds r0, 0x1
+ strh r6, [r0]
+ bl STWI_start_Command
+_082E2E1E:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E2E24: .4byte 0x03007868
+ thumb_func_end STWI_send_SystemConfigREQ
+
+ thumb_func_start STWI_send_SC_StartREQ
+STWI_send_SC_StartREQ: @ 82E2E28
+ push {lr}
+ movs r0, 0x19
+ bl STWI_init
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0
+ bne _082E2E42
+ ldr r0, _082E2E48
+ ldr r0, [r0]
+ strb r1, [r0, 0x4]
+ bl STWI_start_Command
+_082E2E42:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E2E48: .4byte 0x03007868
+ thumb_func_end STWI_send_SC_StartREQ
+
+ thumb_func_start STWI_send_SC_PollingREQ
+STWI_send_SC_PollingREQ: @ 82E2E4C
+ push {lr}
+ movs r0, 0x1A
+ bl STWI_init
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0
+ bne _082E2E66
+ ldr r0, _082E2E6C
+ ldr r0, [r0]
+ strb r1, [r0, 0x4]
+ bl STWI_start_Command
+_082E2E66:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E2E6C: .4byte 0x03007868
+ thumb_func_end STWI_send_SC_PollingREQ
+
+ thumb_func_start STWI_send_SC_EndREQ
+STWI_send_SC_EndREQ: @ 82E2E70
+ push {lr}
+ movs r0, 0x1B
+ bl STWI_init
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0
+ bne _082E2E8A
+ ldr r0, _082E2E90
+ ldr r0, [r0]
+ strb r1, [r0, 0x4]
+ bl STWI_start_Command
+_082E2E8A:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E2E90: .4byte 0x03007868
+ thumb_func_end STWI_send_SC_EndREQ
+
+ thumb_func_start STWI_send_SP_StartREQ
+STWI_send_SP_StartREQ: @ 82E2E94
+ push {lr}
+ movs r0, 0x1C
+ bl STWI_init
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0
+ bne _082E2EAE
+ ldr r0, _082E2EB4
+ ldr r0, [r0]
+ strb r1, [r0, 0x4]
+ bl STWI_start_Command
+_082E2EAE:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E2EB4: .4byte 0x03007868
+ thumb_func_end STWI_send_SP_StartREQ
+
+ thumb_func_start STWI_send_SP_PollingREQ
+STWI_send_SP_PollingREQ: @ 82E2EB8
+ push {lr}
+ movs r0, 0x1D
+ bl STWI_init
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0
+ bne _082E2ED2
+ ldr r0, _082E2ED8
+ ldr r0, [r0]
+ strb r1, [r0, 0x4]
+ bl STWI_start_Command
+_082E2ED2:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E2ED8: .4byte 0x03007868
+ thumb_func_end STWI_send_SP_PollingREQ
+
+ thumb_func_start STWI_send_SP_EndREQ
+STWI_send_SP_EndREQ: @ 82E2EDC
+ push {lr}
+ movs r0, 0x1E
+ bl STWI_init
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0
+ bne _082E2EF6
+ ldr r0, _082E2EFC
+ ldr r0, [r0]
+ strb r1, [r0, 0x4]
+ bl STWI_start_Command
+_082E2EF6:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E2EFC: .4byte 0x03007868
+ thumb_func_end STWI_send_SP_EndREQ
+
+ thumb_func_start STWI_send_CP_StartREQ
+STWI_send_CP_StartREQ: @ 82E2F00
+ push {r4,lr}
+ lsls r0, 16
+ lsrs r4, r0, 16
+ movs r0, 0x1F
+ bl STWI_init
+ lsls r0, 16
+ cmp r0, 0
+ bne _082E2F24
+ ldr r2, _082E2F2C
+ ldr r1, [r2]
+ movs r0, 0x1
+ strb r0, [r1, 0x4]
+ ldr r0, [r2]
+ ldr r0, [r0, 0x24]
+ str r4, [r0, 0x4]
+ bl STWI_start_Command
+_082E2F24:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E2F2C: .4byte 0x03007868
+ thumb_func_end STWI_send_CP_StartREQ
+
+ thumb_func_start STWI_send_CP_PollingREQ
+STWI_send_CP_PollingREQ: @ 82E2F30
+ push {lr}
+ movs r0, 0x20
+ bl STWI_init
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0
+ bne _082E2F4A
+ ldr r0, _082E2F50
+ ldr r0, [r0]
+ strb r1, [r0, 0x4]
+ bl STWI_start_Command
+_082E2F4A:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E2F50: .4byte 0x03007868
+ thumb_func_end STWI_send_CP_PollingREQ
+
+ thumb_func_start STWI_send_CP_EndREQ
+STWI_send_CP_EndREQ: @ 82E2F54
+ push {lr}
+ movs r0, 0x21
+ bl STWI_init
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0
+ bne _082E2F6E
+ ldr r0, _082E2F74
+ ldr r0, [r0]
+ strb r1, [r0, 0x4]
+ bl STWI_start_Command
+_082E2F6E:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E2F74: .4byte 0x03007868
+ thumb_func_end STWI_send_CP_EndREQ
+
+ thumb_func_start STWI_send_DataTxREQ
+STWI_send_DataTxREQ: @ 82E2F78
+ push {r4-r6,lr}
+ adds r6, r0, 0
+ lsls r4, r1, 24
+ lsrs r5, r4, 24
+ movs r0, 0x24
+ bl STWI_init
+ lsls r0, 16
+ cmp r0, 0
+ bne _082E2FB6
+ lsrs r2, r4, 26
+ movs r0, 0x3
+ ands r0, r5
+ cmp r0, 0
+ beq _082E2F98
+ adds r2, 0x1
+_082E2F98:
+ ldr r1, _082E2FBC
+ ldr r0, [r1]
+ strb r2, [r0, 0x4]
+ ldr r0, [r1]
+ ldr r1, [r0, 0x24]
+ adds r1, 0x4
+ ldrb r2, [r0, 0x4]
+ movs r0, 0x80
+ lsls r0, 19
+ orrs r2, r0
+ adds r0, r6, 0
+ bl CpuSet
+ bl STWI_start_Command
+_082E2FB6:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E2FBC: .4byte 0x03007868
+ thumb_func_end STWI_send_DataTxREQ
+
+ thumb_func_start STWI_send_DataTxAndChangeREQ
+STWI_send_DataTxAndChangeREQ: @ 82E2FC0
+ push {r4-r6,lr}
+ adds r6, r0, 0
+ lsls r4, r1, 24
+ lsrs r5, r4, 24
+ movs r0, 0x25
+ bl STWI_init
+ lsls r0, 16
+ cmp r0, 0
+ bne _082E2FFE
+ lsrs r2, r4, 26
+ movs r0, 0x3
+ ands r0, r5
+ cmp r0, 0
+ beq _082E2FE0
+ adds r2, 0x1
+_082E2FE0:
+ ldr r1, _082E3004
+ ldr r0, [r1]
+ strb r2, [r0, 0x4]
+ ldr r0, [r1]
+ ldr r1, [r0, 0x24]
+ adds r1, 0x4
+ ldrb r2, [r0, 0x4]
+ movs r0, 0x80
+ lsls r0, 19
+ orrs r2, r0
+ adds r0, r6, 0
+ bl CpuSet
+ bl STWI_start_Command
+_082E2FFE:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E3004: .4byte 0x03007868
+ thumb_func_end STWI_send_DataTxAndChangeREQ
+
+ thumb_func_start STWI_send_DataRxREQ
+STWI_send_DataRxREQ: @ 82E3008
+ push {lr}
+ movs r0, 0x26
+ bl STWI_init
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0
+ bne _082E3022
+ ldr r0, _082E3028
+ ldr r0, [r0]
+ strb r1, [r0, 0x4]
+ bl STWI_start_Command
+_082E3022:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E3028: .4byte 0x03007868
+ thumb_func_end STWI_send_DataRxREQ
+
+ thumb_func_start STWI_send_MS_ChangeREQ
+STWI_send_MS_ChangeREQ: @ 82E302C
+ push {lr}
+ movs r0, 0x27
+ bl STWI_init
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0
+ bne _082E3046
+ ldr r0, _082E304C
+ ldr r0, [r0]
+ strb r1, [r0, 0x4]
+ bl STWI_start_Command
+_082E3046:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E304C: .4byte 0x03007868
+ thumb_func_end STWI_send_MS_ChangeREQ
+
+ thumb_func_start STWI_send_DataReadyAndChangeREQ
+STWI_send_DataReadyAndChangeREQ: @ 82E3050
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ adds r5, r4, 0
+ movs r0, 0x28
+ bl STWI_init
+ lsls r0, 16
+ lsrs r3, r0, 16
+ cmp r3, 0
+ bne _082E3096
+ cmp r4, 0
+ bne _082E3078
+ ldr r0, _082E3074
+ ldr r0, [r0]
+ strb r3, [r0, 0x4]
+ b _082E3092
+ .align 2, 0
+_082E3074: .4byte 0x03007868
+_082E3078:
+ ldr r2, _082E309C
+ ldr r1, [r2]
+ movs r0, 0x1
+ strb r0, [r1, 0x4]
+ ldr r0, [r2]
+ ldr r0, [r0, 0x24]
+ adds r0, 0x4
+ strb r5, [r0]
+ adds r0, 0x1
+ strb r3, [r0]
+ adds r0, 0x1
+ strb r3, [r0]
+ strb r3, [r0, 0x1]
+_082E3092:
+ bl STWI_start_Command
+_082E3096:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E309C: .4byte 0x03007868
+ thumb_func_end STWI_send_DataReadyAndChangeREQ
+
+ thumb_func_start STWI_send_DisconnectedAndChangeREQ
+STWI_send_DisconnectedAndChangeREQ: @ 82E30A0
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ lsls r1, 24
+ lsrs r5, r1, 24
+ movs r0, 0x29
+ bl STWI_init
+ lsls r0, 16
+ lsrs r3, r0, 16
+ cmp r3, 0
+ bne _082E30D6
+ ldr r2, _082E30DC
+ ldr r1, [r2]
+ movs r0, 0x1
+ strb r0, [r1, 0x4]
+ ldr r0, [r2]
+ ldr r0, [r0, 0x24]
+ adds r0, 0x4
+ strb r4, [r0]
+ adds r0, 0x1
+ strb r5, [r0]
+ adds r0, 0x1
+ strb r3, [r0]
+ strb r3, [r0, 0x1]
+ bl STWI_start_Command
+_082E30D6:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E30DC: .4byte 0x03007868
+ thumb_func_end STWI_send_DisconnectedAndChangeREQ
+
+ thumb_func_start STWI_send_ResumeRetransmitAndChangeREQ
+STWI_send_ResumeRetransmitAndChangeREQ: @ 82E30E0
+ push {lr}
+ movs r0, 0x37
+ bl STWI_init
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0
+ bne _082E30FA
+ ldr r0, _082E3100
+ ldr r0, [r0]
+ strb r1, [r0, 0x4]
+ bl STWI_start_Command
+_082E30FA:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E3100: .4byte 0x03007868
+ thumb_func_end STWI_send_ResumeRetransmitAndChangeREQ
+
+ thumb_func_start STWI_send_DisconnectREQ
+STWI_send_DisconnectREQ: @ 82E3104
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ movs r0, 0x30
+ bl STWI_init
+ lsls r0, 16
+ cmp r0, 0
+ bne _082E3128
+ ldr r2, _082E3130
+ ldr r1, [r2]
+ movs r0, 0x1
+ strb r0, [r1, 0x4]
+ ldr r0, [r2]
+ ldr r0, [r0, 0x24]
+ str r4, [r0, 0x4]
+ bl STWI_start_Command
+_082E3128:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E3130: .4byte 0x03007868
+ thumb_func_end STWI_send_DisconnectREQ
+
+ thumb_func_start STWI_send_TestModeREQ
+STWI_send_TestModeREQ: @ 82E3134
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ lsls r1, 24
+ lsrs r4, r1, 24
+ movs r0, 0x31
+ bl STWI_init
+ lsls r0, 16
+ cmp r0, 0
+ bne _082E3160
+ ldr r2, _082E3168
+ ldr r1, [r2]
+ movs r0, 0x1
+ strb r0, [r1, 0x4]
+ ldr r0, [r2]
+ ldr r1, [r0, 0x24]
+ lsls r0, r4, 8
+ orrs r0, r5
+ str r0, [r1, 0x4]
+ bl STWI_start_Command
+_082E3160:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E3168: .4byte 0x03007868
+ thumb_func_end STWI_send_TestModeREQ
+
+ thumb_func_start STWI_send_CPR_StartREQ
+STWI_send_CPR_StartREQ: @ 82E316C
+ push {r4-r6,lr}
+ lsls r0, 16
+ lsrs r5, r0, 16
+ lsls r1, 16
+ lsrs r4, r1, 16
+ lsls r2, 24
+ lsrs r6, r2, 24
+ movs r0, 0x32
+ bl STWI_init
+ lsls r0, 16
+ cmp r0, 0
+ bne _082E319E
+ ldr r2, _082E31A4
+ ldr r1, [r2]
+ movs r0, 0x2
+ strb r0, [r1, 0x4]
+ lsls r0, r5, 16
+ orrs r0, r4
+ ldr r1, [r2]
+ ldr r1, [r1, 0x24]
+ str r0, [r1, 0x4]
+ str r6, [r1, 0x8]
+ bl STWI_start_Command
+_082E319E:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E31A4: .4byte 0x03007868
+ thumb_func_end STWI_send_CPR_StartREQ
+
+ thumb_func_start STWI_send_CPR_PollingREQ
+STWI_send_CPR_PollingREQ: @ 82E31A8
+ push {lr}
+ movs r0, 0x33
+ bl STWI_init
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0
+ bne _082E31C2
+ ldr r0, _082E31C8
+ ldr r0, [r0]
+ strb r1, [r0, 0x4]
+ bl STWI_start_Command
+_082E31C2:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E31C8: .4byte 0x03007868
+ thumb_func_end STWI_send_CPR_PollingREQ
+
+ thumb_func_start STWI_send_CPR_EndREQ
+STWI_send_CPR_EndREQ: @ 82E31CC
+ push {lr}
+ movs r0, 0x34
+ bl STWI_init
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0
+ bne _082E31E6
+ ldr r0, _082E31EC
+ ldr r0, [r0]
+ strb r1, [r0, 0x4]
+ bl STWI_start_Command
+_082E31E6:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E31EC: .4byte 0x03007868
+ thumb_func_end STWI_send_CPR_EndREQ
+
+ thumb_func_start STWI_send_StopModeREQ
+STWI_send_StopModeREQ: @ 82E31F0
+ push {lr}
+ movs r0, 0x3D
+ bl STWI_init
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0
+ bne _082E320A
+ ldr r0, _082E3210
+ ldr r0, [r0]
+ strb r1, [r0, 0x4]
+ bl STWI_start_Command
+_082E320A:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E3210: .4byte 0x03007868
+ thumb_func_end STWI_send_StopModeREQ
+
+ thumb_func_start STWI_intr_timer
+STWI_intr_timer: @ 82E3214
+ push {r4,lr}
+ ldr r4, _082E322C
+ ldr r1, [r4]
+ ldr r0, [r1, 0xC]
+ cmp r0, 0x2
+ beq _082E323A
+ cmp r0, 0x2
+ bgt _082E3230
+ cmp r0, 0x1
+ beq _082E3248
+ b _082E3270
+ .align 2, 0
+_082E322C: .4byte 0x03007868
+_082E3230:
+ cmp r0, 0x3
+ beq _082E3252
+ cmp r0, 0x4
+ beq _082E3248
+ b _082E3270
+_082E323A:
+ ldrb r0, [r1, 0x10]
+ movs r0, 0x1
+ strb r0, [r1, 0x10]
+ movs r0, 0x32
+ bl STWI_set_timer
+ b _082E3270
+_082E3248:
+ bl STWI_stop_timer
+ bl STWI_restart_Command
+ b _082E3270
+_082E3252:
+ ldrb r0, [r1, 0x10]
+ movs r0, 0x1
+ strb r0, [r1, 0x10]
+ bl STWI_stop_timer
+ bl STWI_reset_ClockCounter
+ ldr r0, [r4]
+ ldr r2, [r0, 0x18]
+ cmp r2, 0
+ beq _082E3270
+ movs r0, 0xFF
+ movs r1, 0
+ bl _call_via_r2
+_082E3270:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end STWI_intr_timer
+
+ thumb_func_start STWI_set_timer
+STWI_set_timer: @ 82E3278
+ push {r4-r7,lr}
+ lsls r0, 24
+ lsrs r3, r0, 24
+ adds r5, r3, 0
+ ldr r2, _082E32A8
+ ldr r0, [r2]
+ ldrb r0, [r0, 0xA]
+ lsls r0, 2
+ ldr r1, _082E32AC
+ adds r4, r0, r1
+ adds r1, 0x2
+ adds r7, r0, r1
+ ldr r1, _082E32B0
+ movs r0, 0
+ strh r0, [r1]
+ adds r6, r2, 0
+ cmp r3, 0x50
+ beq _082E32D0
+ cmp r3, 0x50
+ bgt _082E32B4
+ cmp r3, 0x32
+ beq _082E32BE
+ b _082E32FC
+ .align 2, 0
+_082E32A8: .4byte 0x03007868
+_082E32AC: .4byte 0x04000100
+_082E32B0: .4byte 0x04000208
+_082E32B4:
+ cmp r5, 0x64
+ beq _082E32E0
+ cmp r5, 0x82
+ beq _082E32F0
+ b _082E32FC
+_082E32BE:
+ ldr r1, _082E32CC
+ adds r0, r1, 0
+ strh r0, [r4]
+ ldr r1, [r6]
+ movs r0, 0x1
+ b _082E32FA
+ .align 2, 0
+_082E32CC: .4byte 0x0000fccb
+_082E32D0:
+ ldr r1, _082E32DC
+ adds r0, r1, 0
+ strh r0, [r4]
+ ldr r1, [r6]
+ movs r0, 0x2
+ b _082E32FA
+ .align 2, 0
+_082E32DC: .4byte 0x0000fae0
+_082E32E0:
+ ldr r1, _082E32EC
+ adds r0, r1, 0
+ strh r0, [r4]
+ ldr r1, [r6]
+ movs r0, 0x3
+ b _082E32FA
+ .align 2, 0
+_082E32EC: .4byte 0x0000f996
+_082E32F0:
+ ldr r1, _082E3318
+ adds r0, r1, 0
+ strh r0, [r4]
+ ldr r1, [r6]
+ movs r0, 0x4
+_082E32FA:
+ str r0, [r1, 0xC]
+_082E32FC:
+ movs r0, 0xC3
+ strh r0, [r7]
+ ldr r2, _082E331C
+ ldr r1, [r6]
+ movs r0, 0x8
+ ldrb r1, [r1, 0xA]
+ lsls r0, r1
+ strh r0, [r2]
+ ldr r1, _082E3320
+ movs r0, 0x1
+ strh r0, [r1]
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E3318: .4byte 0x0000f7ad
+_082E331C: .4byte 0x04000202
+_082E3320: .4byte 0x04000208
+ thumb_func_end STWI_set_timer
+
+ thumb_func_start STWI_stop_timer
+STWI_stop_timer: @ 82E3324
+ ldr r2, _082E3344
+ ldr r0, [r2]
+ movs r1, 0
+ str r1, [r0, 0xC]
+ ldrb r0, [r0, 0xA]
+ lsls r0, 2
+ ldr r3, _082E3348
+ adds r0, r3
+ strh r1, [r0]
+ ldr r0, [r2]
+ ldrb r0, [r0, 0xA]
+ lsls r0, 2
+ ldr r2, _082E334C
+ adds r0, r2
+ strh r1, [r0]
+ bx lr
+ .align 2, 0
+_082E3344: .4byte 0x03007868
+_082E3348: .4byte 0x04000100
+_082E334C: .4byte 0x04000102
+ thumb_func_end STWI_stop_timer
+
+ thumb_func_start STWI_init
+STWI_init: @ 82E3350
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ adds r6, r5, 0
+ ldr r0, _082E337C
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _082E3384
+ ldr r0, _082E3380
+ ldr r1, [r0]
+ ldrh r0, [r1, 0x12]
+ movs r0, 0x6
+ strh r0, [r1, 0x12]
+ ldr r2, [r1, 0x18]
+ cmp r2, 0
+ beq _082E33CE
+ ldrh r1, [r1, 0x12]
+ adds r0, r5, 0
+ bl _call_via_r2
+ b _082E33CE
+ .align 2, 0
+_082E337C: .4byte 0x04000208
+_082E3380: .4byte 0x03007868
+_082E3384:
+ ldr r4, _082E33B0
+ ldr r2, [r4]
+ adds r3, r2, 0
+ adds r3, 0x2C
+ ldrb r0, [r3]
+ cmp r0, 0x1
+ bne _082E33B4
+ ldrh r0, [r2, 0x12]
+ movs r1, 0
+ movs r0, 0x2
+ strh r0, [r2, 0x12]
+ ldrb r0, [r3]
+ strb r1, [r3]
+ ldr r0, [r4]
+ ldr r2, [r0, 0x18]
+ cmp r2, 0
+ beq _082E33CE
+ ldrh r1, [r0, 0x12]
+ adds r0, r5, 0
+ bl _call_via_r2
+ b _082E33CE
+ .align 2, 0
+_082E33B0: .4byte 0x03007868
+_082E33B4:
+ ldrb r0, [r2, 0x14]
+ cmp r0, 0
+ bne _082E33D2
+ ldrh r0, [r2, 0x12]
+ movs r0, 0x4
+ strh r0, [r2, 0x12]
+ ldr r3, [r2, 0x18]
+ cmp r3, 0
+ beq _082E33CE
+ ldrh r1, [r2, 0x12]
+ adds r0, r5, 0
+ bl _call_via_r3
+_082E33CE:
+ movs r0, 0x1
+ b _082E341A
+_082E33D2:
+ ldrb r0, [r3]
+ movs r1, 0
+ movs r0, 0x1
+ strb r0, [r3]
+ ldr r0, [r4]
+ strb r6, [r0, 0x6]
+ ldr r0, [r4]
+ str r1, [r0]
+ strb r1, [r0, 0x4]
+ ldr r0, [r4]
+ strb r1, [r0, 0x5]
+ ldr r0, [r4]
+ strb r1, [r0, 0x7]
+ ldr r0, [r4]
+ strb r1, [r0, 0x8]
+ ldr r0, [r4]
+ strb r1, [r0, 0x9]
+ ldr r0, [r4]
+ str r1, [r0, 0xC]
+ ldrb r2, [r0, 0x10]
+ strb r1, [r0, 0x10]
+ ldr r0, [r4]
+ ldrh r2, [r0, 0x12]
+ movs r2, 0
+ strh r1, [r0, 0x12]
+ strb r2, [r0, 0x15]
+ ldr r1, _082E3420
+ movs r2, 0x80
+ lsls r2, 1
+ adds r0, r2, 0
+ strh r0, [r1]
+ subs r1, 0xC
+ ldr r2, _082E3424
+ adds r0, r2, 0
+ strh r0, [r1]
+ movs r0, 0
+_082E341A:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_082E3420: .4byte 0x04000134
+_082E3424: .4byte 0x00005003
+ thumb_func_end STWI_init
+
+ thumb_func_start STWI_start_Command
+STWI_start_Command: @ 82E3428
+ push {r4,r5,lr}
+ ldr r5, _082E3480
+ ldr r0, [r5]
+ ldr r3, [r0, 0x24]
+ ldrb r1, [r0, 0x4]
+ lsls r1, 8
+ ldrb r0, [r0, 0x6]
+ ldr r2, _082E3484
+ orrs r0, r2
+ orrs r1, r0
+ str r1, [r3]
+ ldr r2, _082E3488
+ ldr r1, [r5]
+ ldr r0, [r1, 0x24]
+ ldr r0, [r0]
+ str r0, [r2]
+ movs r2, 0
+ str r2, [r1]
+ movs r0, 0x1
+ strb r0, [r1, 0x5]
+ ldr r4, _082E348C
+ ldrh r3, [r4]
+ strh r2, [r4]
+ ldr r2, _082E3490
+ ldr r1, [r5]
+ movs r0, 0x8
+ ldrb r1, [r1, 0xA]
+ lsls r0, r1
+ ldrh r1, [r2]
+ orrs r0, r1
+ strh r0, [r2]
+ ldrh r0, [r2]
+ movs r1, 0x80
+ orrs r0, r1
+ strh r0, [r2]
+ strh r3, [r4]
+ ldr r1, _082E3494
+ ldr r2, _082E3498
+ adds r0, r2, 0
+ strh r0, [r1]
+ movs r0, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_082E3480: .4byte 0x03007868
+_082E3484: .4byte 0x99660000
+_082E3488: .4byte 0x04000120
+_082E348C: .4byte 0x04000208
+_082E3490: .4byte 0x04000200
+_082E3494: .4byte 0x04000128
+_082E3498: .4byte 0x00005083
+ thumb_func_end STWI_start_Command
+
+ thumb_func_start STWI_restart_Command
+STWI_restart_Command: @ 82E349C
+ push {r4,lr}
+ ldr r4, _082E34B4
+ ldr r2, [r4]
+ ldrb r0, [r2, 0x15]
+ adds r3, r4, 0
+ cmp r0, 0x1
+ bhi _082E34B8
+ adds r0, 0x1
+ strb r0, [r2, 0x15]
+ bl STWI_start_Command
+ b _082E3512
+ .align 2, 0
+_082E34B4: .4byte 0x03007868
+_082E34B8:
+ ldrb r0, [r2, 0x6]
+ cmp r0, 0x27
+ beq _082E34CA
+ cmp r0, 0x25
+ beq _082E34CA
+ cmp r0, 0x35
+ beq _082E34CA
+ cmp r0, 0x37
+ bne _082E34EC
+_082E34CA:
+ ldr r0, [r3]
+ ldrh r1, [r0, 0x12]
+ movs r2, 0
+ movs r1, 0x1
+ strh r1, [r0, 0x12]
+ adds r0, 0x2C
+ ldrb r1, [r0]
+ strb r2, [r0]
+ ldr r1, [r3]
+ ldr r2, [r1, 0x18]
+ cmp r2, 0
+ beq _082E3512
+ ldrb r0, [r1, 0x6]
+ ldrh r1, [r1, 0x12]
+ bl _call_via_r2
+ b _082E3512
+_082E34EC:
+ ldrh r0, [r2, 0x12]
+ movs r1, 0
+ movs r0, 0x1
+ strh r0, [r2, 0x12]
+ adds r0, r2, 0
+ adds r0, 0x2C
+ ldrb r2, [r0]
+ strb r1, [r0]
+ ldr r1, [r4]
+ ldr r2, [r1, 0x18]
+ cmp r2, 0
+ beq _082E350C
+ ldrb r0, [r1, 0x6]
+ ldrh r1, [r1, 0x12]
+ bl _call_via_r2
+_082E350C:
+ ldr r1, [r4]
+ movs r0, 0x4
+ str r0, [r1]
+_082E3512:
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end STWI_restart_Command
+
+ thumb_func_start STWI_reset_ClockCounter
+STWI_reset_ClockCounter: @ 82E351C
+ ldr r3, _082E3548
+ ldr r1, [r3]
+ movs r0, 0x5
+ str r0, [r1]
+ movs r2, 0
+ strb r2, [r1, 0x4]
+ ldr r0, [r3]
+ strb r2, [r0, 0x5]
+ ldr r1, _082E354C
+ movs r0, 0x80
+ lsls r0, 24
+ str r0, [r1]
+ adds r1, 0x8
+ strh r2, [r1]
+ ldr r2, _082E3550
+ adds r0, r2, 0
+ strh r0, [r1]
+ adds r2, 0x7F
+ adds r0, r2, 0
+ strh r0, [r1]
+ movs r0, 0
+ bx lr
+ .align 2, 0
+_082E3548: .4byte 0x03007868
+_082E354C: .4byte 0x04000120
+_082E3550: .4byte 0x00005003
+ thumb_func_end STWI_reset_ClockCounter
+
+ .arm
+ arm_func_start IntrSIO32
+IntrSIO32: @ 82E3554
+ mov r12, sp
+ stmdb sp!, {r11,r12,lr,pc}
+ ldr r3, _082E35B4
+ ldr r0, [r3]
+ ldr r2, [r0]
+ sub r11, r12, 0x4
+ cmp r2, 0xA
+ bne _082E3590
+ ldr r0, [r0, 0x20]
+ cmp r0, 0
+ ldmdbeq r11, {r11,sp,lr}
+ bxeq lr
+ bl sub_82E3EB0
+ ldmdb r11, {r11,sp,lr}
+ bx lr
+_082E3590:
+ ldrb r3, [r0, 0x14]
+ cmp r3, 0x1
+ bne _082E35A8
+ bl sio32intr_clock_master
+ ldmdb r11, {r11,sp,lr}
+ bx lr
+_082E35A8:
+ bl sio32intr_clock_slave
+ ldmdb r11, {r11,sp,lr}
+ bx lr
+ .align 2, 0
+_082E35B4: .4byte 0x03007868
+ arm_func_end IntrSIO32
+
+ arm_func_start sio32intr_clock_master
+sio32intr_clock_master: @ 82E35B8
+ mov r12, sp
+ stmdb sp!, {r4-r6,r11,r12,lr,pc}
+ mov r0, 0x50
+ sub r11, r12, 0x4
+ bl STWI_set_timer_in_RAM
+ mov r4, 0x120
+ ldr r2, _082E382C
+ add r4, r4, 0x4000000
+ ldr lr, [r4]
+ ldr r12, [r2]
+ ldr r3, [r12]
+ mov r6, r2
+ cmp r3, 0
+ bne _082E3638
+ cmp lr, 0x80000000
+ bne _082E36B8
+ ldrb r2, [r12, 0x5]
+ ldrb r3, [r12, 0x4]
+ cmp r2, r3
+ bhi _082E3628
+ ldr r3, [r12, 0x24]
+ mov r1, r2
+ ldr r2, [r3, r1, lsl 2]
+ str r2, [r4]
+ ldrb r3, [r12, 0x5]
+ add r3, r3, 0x1
+ strb r3, [r12, 0x5]
+ b _082E3714
+_082E3628:
+ mov r3, 0x1
+ str r3, [r12]
+ str lr, [r4]
+ b _082E3714
+_082E3638:
+ ldr r3, [r12]
+ cmp r3, 0x1
+ bne _082E36C8
+ mov r3, 0x99000000
+ add r3, r3, 0x660000
+ mov r5, 0x80000000
+ and r2, lr, r5, asr 15
+ cmp r2, r3
+ bne _082E36B8
+ mov r3, 0
+ strb r3, [r12, 0x8]
+ ldr r1, [r6]
+ ldrb r0, [r1, 0x8]
+ ldr r2, [r1, 0x28]
+ str lr, [r2, r0, lsl 2]
+ ldrb r3, [r1, 0x8]
+ add r3, r3, 0x1
+ strb r3, [r1, 0x8]
+ ldr r2, [r6]
+ strb lr, [r2, 0x9]
+ ldr r3, [r6]
+ mov r2, lr, lsr 8
+ strb r2, [r3, 0x7]
+ ldr r1, [r6]
+ ldrb r2, [r1, 0x7]
+ ldrb r3, [r1, 0x8]
+ cmp r2, r3
+ bcc _082E3700
+ mov r3, 0x2
+ str r3, [r1]
+ str r5, [r4]
+ b _082E3714
+_082E36B8:
+ bl STWI_stop_timer_in_RAM
+ mov r0, 0x82
+ bl STWI_set_timer_in_RAM
+ b _082E3840
+_082E36C8:
+ ldr r3, [r12]
+ cmp r3, 0x2
+ bne _082E3714
+ ldrb r1, [r12, 0x8]
+ ldr r2, [r12, 0x28]
+ str lr, [r2, r1, lsl 2]
+ ldrb r3, [r12, 0x8]
+ add r3, r3, 0x1
+ strb r3, [r12, 0x8]
+ ldr r1, [r6]
+ ldrb r2, [r1, 0x7]
+ ldrb r3, [r1, 0x8]
+ cmp r2, r3
+ bcs _082E370C
+_082E3700:
+ mov r3, 0x3
+ str r3, [r1]
+ b _082E3714
+_082E370C:
+ mov r3, 0x80000000
+ str r3, [r4]
+_082E3714:
+ mov r0, 0x1
+ bl handshake_wait
+ mov r0, r0, lsl 16
+ cmp r0, 0x10000
+ beq _082E3840
+ mov r4, 0x128
+ add r4, r4, 0x4000000
+ mov r5, 0x5000
+ add r3, r5, 0xB
+ strh r3, [r4]
+ mov r0, 0
+ bl handshake_wait
+ mov r0, r0, lsl 16
+ cmp r0, 0x10000
+ beq _082E3840
+ bl STWI_stop_timer_in_RAM
+ ldr r1, [r6]
+ ldr r0, [r1]
+ cmp r0, 0x3
+ bne _082E3830
+ ldrb r3, [r1, 0x9]
+ cmp r3, 0xA5
+ cmpne r3, 0xA7
+ beq _082E3788
+ and r3, r3, 0xFF
+ cmp r3, 0xB5
+ beq _082E3788
+ cmp r3, 0xB7
+ bne _082E37D0
+_082E3788:
+ mov r1, 0x120
+ add r1, r1, 0x4000000
+ mov r12, 0x128
+ add r12, r12, 0x4000000
+ ldr r0, [r6]
+ mov r3, 0
+ strb r3, [r0, 0x14]
+ mov r2, 0x80000000
+ str r2, [r1]
+ add r3, r3, 0x5000
+ add r2, r3, 0x2
+ strh r2, [r12]
+ add r3, r3, 0x82
+ strh r3, [r12]
+ ldr r2, [r6]
+ mov r3, 0x5
+ str r3, [r2]
+ b _082E3800
+_082E37D0:
+ cmp r3, 0xEE
+ bne _082E37F0
+ add r3, r5, 0x3
+ strh r3, [r4]
+ mov r2, 0x4
+ str r2, [r1]
+ strh r0, [r1, 0x12]
+ b _082E3800
+_082E37F0:
+ add r3, r5, 0x3
+ strh r3, [r4]
+ mov r2, 0x4
+ str r2, [r1]
+_082E3800:
+ ldr r2, [r6]
+ mov r3, 0
+ strb r3, [r2, 0x2C]
+ ldr r0, [r6]
+ ldr r2, [r0, 0x18]
+ cmp r2, r3
+ beq _082E3840
+ ldrh r1, [r0, 0x12]
+ ldrb r0, [r0, 0x6]
+ bl sub_82E3EA8
+ b _082E3840
+ .align 2, 0
+_082E382C: .4byte 0x03007868
+_082E3830:
+ add r3, r5, 0x3
+ strh r3, [r4]
+ add r2, r5, 0x83
+ strh r2, [r4]
+_082E3840:
+ ldmdb r11, {r4-r6,r11,sp,lr}
+ bx lr
+ arm_func_end sio32intr_clock_master
+
+ arm_func_start sio32intr_clock_slave
+sio32intr_clock_slave: @ 82E3848
+ mov r12, sp
+ stmdb sp!, {r4-r6,r11,r12,lr,pc}
+ ldr r4, _082E3BF4
+ mov r0, 0x64
+ ldr r3, [r4]
+ mov r6, 0
+ strb r6, [r3, 0x10]
+ sub r11, r12, 0x4
+ bl STWI_set_timer_in_RAM
+ mov r0, r6
+ bl handshake_wait
+ mov r0, r0, lsl 16
+ cmp r0, 0x10000
+ mov r5, r4
+ beq _082E3C4C
+ mov r3, 0x128
+ add r3, r3, 0x4000000
+ mov r2, 0x5000
+ add r2, r2, 0xA
+ strh r2, [r3]
+ mov lr, 0x120
+ ldr r0, [r5]
+ add lr, lr, 0x4000000
+ ldr r12, [lr]
+ ldr r3, [r0]
+ cmp r3, 0x5
+ bne _082E3978
+ ldr r3, [r0, 0x28]
+ mov r4, 0x1
+ mov r0, 0x99000000
+ str r12, [r3]
+ add r0, r0, 0x660000
+ ldr r2, [r5]
+ mov r3, r0, lsr 16
+ strb r4, [r2, 0x5]
+ cmp r3, r12, lsr 16
+ bne _082E3AC4
+ ldr r3, [r5]
+ mov r2, r12, lsr 8
+ strb r2, [r3, 0x4]
+ ldr r2, [r5]
+ strb r12, [r2, 0x6]
+ ldr r1, [r5]
+ ldrb r3, [r1, 0x4]
+ cmp r3, r6
+ bne _082E395C
+ ldrb r2, [r1, 0x6]
+ sub r3, r2, 0x27
+ cmp r2, 0x36
+ cmpne r3, 0x2
+ bhi _082E3930
+ add r3, r2, 0x80
+ strb r3, [r1, 0x9]
+ ldr r2, [r5]
+ ldrb r3, [r2, 0x9]
+ ldr r1, [r2, 0x24]
+ add r3, r3, r0
+ b _082E39E0
+_082E3930:
+ ldr r2, [r1, 0x24]
+ ldr r3, _082E3BF8
+ str r3, [r2]
+ ldr r2, [r5]
+ ldrb r3, [r2, 0x6]
+ sub r3, r3, 0x10
+ cmp r3, 0x2D
+ bhi _082E3A18
+ ldr r3, [r2, 0x24]
+ str r4, [r3, 0x4]
+ b _082E3A24
+_082E395C:
+ mov r3, 0x80000000
+ str r3, [lr]
+ strb r4, [r1, 0x5]
+ ldr r2, [r5]
+ add r3, r3, 0x80000006
+ str r3, [r2]
+ b _082E3AD4
+_082E3978:
+ ldr r3, [r0]
+ cmp r3, 0x6
+ bne _082E3A78
+ ldrb r1, [r0, 0x5]
+ ldr r2, [r0, 0x28]
+ str r12, [r2, r1, lsl 2]
+ ldrb r3, [r0, 0x5]
+ add r3, r3, 0x1
+ strb r3, [r0, 0x5]
+ ldr r1, [r5]
+ ldrb r2, [r1, 0x4]
+ ldrb r3, [r1, 0x5]
+ cmp r2, r3
+ bcs _082E3A6C
+ ldrb r2, [r1, 0x6]
+ sub r3, r2, 0x28
+ cmp r2, 0x36
+ cmpne r3, 0x1
+ bhi _082E39F0
+ add r3, r2, 0x80
+ strb r3, [r1, 0x9]
+ ldr r2, [r5]
+ ldrb r3, [r2, 0x9]
+ ldr r1, [r2, 0x24]
+ orr r3, r3, 0x99000000
+ orr r3, r3, 0x660000
+_082E39E0:
+ str r3, [r1]
+ ldr r2, [r5]
+ strb r6, [r2, 0x7]
+ b _082E3A3C
+_082E39F0:
+ ldr r2, [r1, 0x24]
+ ldr r3, _082E3BF8
+ str r3, [r2]
+ ldr r2, [r5]
+ ldrb r3, [r2, 0x6]
+ sub r3, r3, 0x10
+ cmp r3, 0x2D
+ ldrls r2, [r2, 0x24]
+ movls r3, 0x1
+ bls _082E3A20
+_082E3A18:
+ ldr r2, [r2, 0x24]
+ mov r3, 0x2
+_082E3A20:
+ str r3, [r2, 0x4]
+_082E3A24:
+ ldr r2, [r5]
+ mov r3, 0x1
+ strb r3, [r2, 0x7]
+ ldr r1, [r5]
+ add r3, r3, 0x2
+ strh r3, [r1, 0x12]
+_082E3A3C:
+ ldr r0, [r5]
+ ldr r2, [r0, 0x24]
+ mov r3, 0x120
+ ldr r1, [r2]
+ add r3, r3, 0x4000000
+ str r1, [r3]
+ mov r2, 0x1
+ strb r2, [r0, 0x8]
+ ldr r1, [r5]
+ mov r3, 0x7
+ str r3, [r1]
+ b _082E3AD4
+_082E3A6C:
+ mov r3, 0x80000000
+ str r3, [lr]
+ b _082E3AD4
+_082E3A78:
+ ldr r3, [r0]
+ cmp r3, 0x7
+ bne _082E3AD4
+ cmp r12, 0x80000000
+ bne _082E3AC4
+ ldrb r2, [r0, 0x7]
+ ldrb r3, [r0, 0x8]
+ cmp r2, r3
+ movcc r3, 0x8
+ strcc r3, [r0]
+ bcc _082E3AD4
+ ldrb r1, [r0, 0x8]
+ ldr r3, [r0, 0x24]
+ ldr r2, [r3, r1, lsl 2]
+ str r2, [lr]
+ ldrb r3, [r0, 0x8]
+ add r3, r3, 0x1
+ strb r3, [r0, 0x8]
+ b _082E3AD4
+_082E3AC4:
+ bl STWI_stop_timer_in_RAM
+ mov r0, 0x64
+ bl STWI_set_timer_in_RAM
+ b _082E3C4C
+_082E3AD4:
+ mov r0, 0x1
+ bl handshake_wait
+ mov r0, r0, lsl 16
+ cmp r0, 0x10000
+ beq _082E3C4C
+ mov r6, r5
+ ldr r3, [r6]
+ ldr r2, [r3]
+ cmp r2, 0x8
+ bne _082E3B9C
+ mov r4, 0x128
+ add r4, r4, 0x4000000
+ mov r3, 0x5000
+ add r3, r3, 0x2
+ strh r3, [r4]
+ bl STWI_stop_timer_in_RAM
+ ldr r0, [r6]
+ ldrh r3, [r0, 0x12]
+ cmp r3, 0x3
+ bne _082E3B48
+ bl STWI_init_slave
+ ldr r3, [r6]
+ ldr r1, [r3, 0x1C]
+ cmp r1, 0
+ beq _082E3C4C
+ mov r0, 0x1EC
+ add r0, r0, 0x2
+ bl sub_82E3EAC
+ b _082E3C4C
+_082E3B48:
+ mov r3, 0x120
+ add r3, r3, 0x4000000
+ mov r1, 0
+ str r1, [r3]
+ mov r2, 0x5000
+ strh r1, [r4]
+ add r2, r2, 0x3
+ strh r2, [r4]
+ mov r3, 0x1
+ strb r3, [r0, 0x14]
+ ldr r0, [r5]
+ ldr r2, [r0, 0x1C]
+ str r1, [r0]
+ cmp r2, r1
+ beq _082E3C4C
+ ldrb r3, [r0, 0x4]
+ ldrb r0, [r0, 0x6]
+ mov r1, r2
+ orr r0, r0, r3, lsl 8
+ bl sub_82E3EAC
+ b _082E3C4C
+_082E3B9C:
+ mov r3, 0x208
+ add r3, r3, 0x4000000
+ mov r2, 0
+ strh r2, [r3]
+ mov r1, 0x100
+ add r2, r1, 0x4000002
+ ldrh r3, [r2]
+ tst r3, 0x80
+ beq _082E3C20
+ ldrh r3, [r2]
+ tst r3, 0x3
+ bne _082E3BFC
+ mov r2, 0xFF00
+ add r1, r1, 0x4000000
+ ldrh r3, [r1]
+ add r2, r2, 0x9B
+ cmp r3, r2
+ bls _082E3C20
+_082E3BE4:
+ ldrh r3, [r1]
+ cmp r3, r2
+ bhi _082E3BE4
+ b _082E3C20
+ .align 2, 0
+_082E3BF4: .4byte 0x03007868
+_082E3BF8: .4byte 0x996601ee
+_082E3BFC:
+ mov r2, 0xFF00
+ add r1, r1, 0x4000000
+ ldrh r3, [r1]
+ add r2, r2, 0xFE
+ cmp r3, r2
+ bls _082E3C20
+_082E3C14:
+ ldrh r3, [r1]
+ cmp r3, r2
+ bhi _082E3C14
+_082E3C20:
+ mov r1, 0x128
+ add r1, r1, 0x4000000
+ mov r0, 0x208
+ add r0, r0, 0x4000000
+ mov r3, 0x5000
+ add r2, r3, 0x2
+ strh r2, [r1]
+ add r3, r3, 0x82
+ strh r3, [r1]
+ mov r2, 0x1
+ strh r2, [r0]
+_082E3C4C:
+ ldmdb r11, {r4-r6,r11,sp,lr}
+ bx lr
+ arm_func_end sio32intr_clock_slave
+
+ arm_func_start handshake_wait
+handshake_wait: @ 82E3C54
+ mov r12, sp
+ stmdb sp!, {r11,r12,lr,pc}
+ mov r1, 0x128
+ add r1, r1, 0x4000000
+ mov r0, r0, lsl 16
+ ldr r2, _082E3CB8
+ sub r11, r12, 0x4
+ mov lr, r0, lsr 14
+ ldr r12, [r2]
+_082E3C78:
+ ldrb r3, [r12, 0x10]
+ and r0, r3, 0xFF
+ cmp r0, 0x1
+ beq _082E3CA4
+ ldrh r3, [r1]
+ and r3, r3, 0x4
+ cmp r3, lr
+ bne _082E3C78
+ mov r0, 0
+ ldmdb r11, {r11,sp,lr}
+ bx lr
+_082E3CA4:
+ ldr r2, [r2]
+ mov r3, 0
+ strb r3, [r2, 0x10]
+ ldmdb r11, {r11,sp,lr}
+ bx lr
+ .align 2, 0
+_082E3CB8: .4byte 0x03007868
+ arm_func_end handshake_wait
+
+ arm_func_start STWI_set_timer_in_RAM
+STWI_set_timer_in_RAM: @ 82E3CBC
+ mov r12, sp
+ stmdb sp!, {r4,r5,r11,r12,lr,pc}
+ mov r1, 0x208
+ add r1, r1, 0x4000000
+ mov r3, 0
+ sub r11, r12, 0x4
+ ldr r12, _082E3D74
+ and lr, r0, 0xFF
+ ldr r2, [r12]
+ cmp lr, 0x50
+ ldrb r0, [r2, 0xA]
+ mov r4, r12
+ mov r2, lr
+ strh r3, [r1]
+ mov r0, r0, lsl 2
+ add r3, r3, 0x100
+ add r1, r3, 0x4000000
+ add r3, r3, 0x4000002
+ add r5, r0, r3
+ beq _082E3D44
+ bgt _082E3D1C
+ cmp lr, 0x32
+ beq _082E3D30
+ b _082E3D90
+_082E3D1C:
+ cmp r2, 0x64
+ beq _082E3D5C
+ cmp r2, 0x82
+ beq _082E3D78
+ b _082E3D90
+_082E3D30:
+ mvn r3, 0x334
+ strh r3, [r0, r1]
+ ldr r2, [r4]
+ mov r3, 0x1
+ b _082E3D8C
+_082E3D44:
+ mov r3, 0xAE000000
+ mov r3, r3, asr 20
+ strh r3, [r0, r1]
+ ldr r2, [r4]
+ mov r3, 0x2
+ b _082E3D8C
+_082E3D5C:
+ mvn r3, 0x660
+ sub r3, r3, 0x9
+ strh r3, [r0, r1]
+ ldr r2, [r4]
+ mov r3, 0x3
+ b _082E3D8C
+ .align 2, 0
+_082E3D74: .4byte 0x03007868
+_082E3D78:
+ mvn r3, 0x850
+ sub r3, r3, 0x2
+ strh r3, [r0, r1]
+ ldr r2, [r4]
+ mov r3, 0x4
+_082E3D8C:
+ str r3, [r2, 0xC]
+_082E3D90:
+ mov r12, 0x200
+ add r12, r12, 0x4000002
+ mov r3, 0xC3
+ strh r3, [r5]
+ mov r1, 0x208
+ ldr r2, [r4]
+ add r1, r1, 0x4000000
+ ldrb r0, [r2, 0xA]
+ sub r3, r3, 0xBB
+ mov r3, r3, lsl r0
+ strh r3, [r12]
+ mov r2, 0x1
+ strh r2, [r1]
+ ldmdb r11, {r4,r5,r11,sp,lr}
+ bx lr
+ arm_func_end STWI_set_timer_in_RAM
+
+ arm_func_start STWI_stop_timer_in_RAM
+STWI_stop_timer_in_RAM: @ 82E3DCC
+ mov r12, sp
+ stmdb sp!, {r11,r12,lr,pc}
+ mov r1, 0x100
+ ldr lr, _082E3E18
+ add r0, r1, 0x4000000
+ ldr r2, [lr]
+ sub r11, r12, 0x4
+ ldrb r3, [r2, 0xA]
+ mov r12, 0
+ str r12, [r2, 0xC]
+ mov r3, r3, lsl 2
+ strh r12, [r3, r0]
+ ldr r2, [lr]
+ ldrb r3, [r2, 0xA]
+ add r1, r1, 0x4000002
+ mov r3, r3, lsl 2
+ strh r12, [r3, r1]
+ ldmdb r11, {r11,sp,lr}
+ bx lr
+ .align 2, 0
+_082E3E18: .4byte 0x03007868
+ arm_func_end STWI_stop_timer_in_RAM
+
+ arm_func_start STWI_init_slave
+STWI_init_slave: @ 82E3E1C
+ mov r12, sp
+ stmdb sp!, {r11,r12,lr,pc}
+ ldr r0, _082E3EA4
+ ldr r2, [r0]
+ mov r3, 0x5
+ str r3, [r2]
+ mov r1, 0
+ strb r1, [r2, 0x14]
+ ldr r3, [r0]
+ strb r1, [r3, 0x4]
+ ldr r2, [r0]
+ strb r1, [r2, 0x5]
+ ldr r3, [r0]
+ strb r1, [r3, 0x6]
+ ldr r2, [r0]
+ strb r1, [r2, 0x7]
+ ldr r3, [r0]
+ strb r1, [r3, 0x8]
+ ldr r2, [r0]
+ strb r1, [r2, 0x9]
+ ldr r3, [r0]
+ str r1, [r3, 0xC]
+ sub r11, r12, 0x4
+ strb r1, [r3, 0x10]
+ mov r2, 0x128
+ ldr r12, [r0]
+ add r2, r2, 0x4000000
+ strh r1, [r12, 0x12]
+ mov r3, 0x5000
+ strb r1, [r12, 0x15]
+ add r3, r3, 0x82
+ strh r3, [r2]
+ ldmdb r11, {r11,sp,lr}
+ bx lr
+ .align 2, 0
+_082E3EA4: .4byte 0x03007868
+ arm_func_end STWI_init_slave
+
+ arm_func_start sub_82E3EA8
+sub_82E3EA8: @ 82E3EA8
+ bx r2
+ arm_func_end sub_82E3EA8
+
+ arm_func_start sub_82E3EAC
+sub_82E3EAC: @ 82E3EAC
+ bx r1
+ arm_func_end sub_82E3EAC
+
+ arm_func_start sub_82E3EB0
+sub_82E3EB0: @ 82E3EB0
+ bx r0
+ arm_func_end sub_82E3EB0
+
+ .thumb
+ thumb_func_start rfu_initializeAPI
+rfu_initializeAPI: @ 82E3EB4
+ push {r4-r7,lr}
+ adds r4, r0, 0
+ mov r12, r2
+ lsls r1, 16
+ lsrs r2, r1, 16
+ lsls r3, 24
+ lsrs r7, r3, 24
+ movs r0, 0xF0
+ lsls r0, 20
+ ands r0, r4
+ movs r1, 0x80
+ lsls r1, 18
+ cmp r0, r1
+ bne _082E3ED4
+ cmp r7, 0
+ bne _082E3EDC
+_082E3ED4:
+ movs r0, 0x3
+ ands r0, r4
+ cmp r0, 0
+ beq _082E3EE0
+_082E3EDC:
+ movs r0, 0x2
+ b _082E3FB8
+_082E3EE0:
+ cmp r7, 0
+ beq _082E3EEC
+ ldr r3, _082E3EE8
+ b _082E3EEE
+ .align 2, 0
+_082E3EE8: .4byte 0x00000e64
+_082E3EEC:
+ ldr r3, _082E3EF8
+_082E3EEE:
+ cmp r2, r3
+ bcs _082E3EFC
+ movs r0, 0x1
+ b _082E3FB8
+ .align 2, 0
+_082E3EF8: .4byte 0x00000504
+_082E3EFC:
+ ldr r0, _082E3FC0
+ str r4, [r0]
+ ldr r1, _082E3FC4
+ adds r0, r4, 0
+ adds r0, 0xB4
+ str r0, [r1]
+ ldr r1, _082E3FC8
+ adds r0, 0x28
+ str r0, [r1]
+ ldr r2, _082E3FCC
+ movs r1, 0xDE
+ lsls r1, 1
+ adds r0, r4, r1
+ str r0, [r2]
+ ldr r1, _082E3FD0
+ movs r3, 0xDF
+ lsls r3, 2
+ adds r0, r4, r3
+ str r0, [r1]
+ movs r5, 0x1
+ adds r6, r2, 0
+ adds r4, r1, 0
+_082E3F28:
+ lsls r2, r5, 2
+ adds r3, r2, r6
+ subs r1, r5, 0x1
+ lsls r1, 2
+ adds r0, r1, r6
+ ldr r0, [r0]
+ adds r0, 0x70
+ str r0, [r3]
+ adds r2, r4
+ adds r1, r4
+ ldr r0, [r1]
+ adds r0, 0x1C
+ str r0, [r2]
+ adds r0, r5, 0x1
+ lsls r0, 16
+ lsrs r5, r0, 16
+ cmp r5, 0x3
+ bls _082E3F28
+ ldr r0, _082E3FC8
+ ldr r1, [r0]
+ adds r1, 0xDC
+ ldr r4, _082E3FD0
+ ldr r0, [r4, 0xC]
+ adds r0, 0x1C
+ str r0, [r1]
+ mov r1, r12
+ adds r2, r7, 0
+ bl STWI_init_all
+ bl rfu_STC_clearAPIVariables
+ movs r5, 0
+ ldr r3, _082E3FCC
+ movs r2, 0
+_082E3F6C:
+ lsls r1, r5, 2
+ adds r0, r1, r3
+ ldr r0, [r0]
+ str r2, [r0, 0x68]
+ str r2, [r0, 0x6C]
+ adds r1, r4
+ ldr r0, [r1]
+ str r2, [r0, 0x14]
+ str r2, [r0, 0x18]
+ adds r0, r5, 0x1
+ lsls r0, 16
+ lsrs r5, r0, 16
+ cmp r5, 0x3
+ bls _082E3F6C
+ ldr r4, _082E3FD4
+ movs r0, 0x2
+ negs r0, r0
+ ands r4, r0
+ ldr r1, _082E3FC8
+ ldr r0, [r1]
+ adds r2, r0, 0
+ adds r2, 0x8
+ movs r3, 0x2F
+ ldr r5, _082E3FD8
+_082E3F9C:
+ ldrh r0, [r4]
+ strh r0, [r2]
+ adds r4, 0x2
+ adds r2, 0x2
+ subs r0, r3, 0x1
+ lsls r0, 16
+ lsrs r3, r0, 16
+ cmp r3, r5
+ bne _082E3F9C
+ ldr r1, [r1]
+ adds r0, r1, 0
+ adds r0, 0x9
+ str r0, [r1, 0x4]
+ movs r0, 0
+_082E3FB8:
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_082E3FC0: .4byte 0x03007890
+_082E3FC4: .4byte 0x03007894
+_082E3FC8: .4byte 0x03007898
+_082E3FCC: .4byte 0x03007880
+_082E3FD0: .4byte 0x03007870
+_082E3FD4: .4byte sub_82E53F4 + 1
+_082E3FD8: .4byte 0x0000ffff
+ thumb_func_end rfu_initializeAPI
+
+ thumb_func_start rfu_STC_clearAPIVariables
+rfu_STC_clearAPIVariables: @ 82E3FDC
+ push {r4-r7,lr}
+ sub sp, 0x4
+ ldr r1, _082E4050
+ ldrh r0, [r1]
+ adds r7, r0, 0
+ movs r6, 0
+ strh r6, [r1]
+ ldr r5, _082E4054
+ ldr r1, [r5]
+ ldrb r4, [r1]
+ mov r0, sp
+ strh r6, [r0]
+ ldr r2, _082E4058
+ bl CpuSet
+ ldr r2, [r5]
+ movs r0, 0x8
+ ands r4, r0
+ movs r1, 0
+ strb r4, [r2]
+ mov r0, sp
+ adds r0, 0x2
+ strh r1, [r0]
+ ldr r4, _082E405C
+ ldr r1, [r4]
+ ldr r2, _082E4060
+ bl CpuSet
+ ldr r1, [r4]
+ movs r0, 0x4
+ strb r0, [r1, 0x9]
+ ldr r0, [r5]
+ strb r6, [r0, 0x6]
+ ldr r1, [r4]
+ movs r0, 0xFF
+ strb r0, [r1]
+ bl rfu_clearAllSlot
+ ldr r0, [r5]
+ strb r6, [r0, 0x9]
+ movs r2, 0
+ movs r3, 0
+_082E4030:
+ ldr r0, [r5]
+ lsls r1, r2, 1
+ adds r0, 0x12
+ adds r0, r1
+ strh r3, [r0]
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0x3
+ bls _082E4030
+ ldr r0, _082E4050
+ strh r7, [r0]
+ add sp, 0x4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E4050: .4byte 0x04000208
+_082E4054: .4byte 0x03007894
+_082E4058: .4byte 0x01000014
+_082E405C: .4byte 0x03007890
+_082E4060: .4byte 0x0100005a
+ thumb_func_end rfu_STC_clearAPIVariables
+
+ thumb_func_start rfu_REQ_PARENT_resumeRetransmitAndChange
+rfu_REQ_PARENT_resumeRetransmitAndChange: @ 82E4064
+ push {lr}
+ ldr r0, _082E4074
+ bl STWI_set_Callback_M
+ bl STWI_send_ResumeRetransmitAndChangeREQ
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E4074: .4byte rfu_STC_REQ_callback + 1
+ thumb_func_end rfu_REQ_PARENT_resumeRetransmitAndChange
+
+ thumb_func_start rfu_UNI_PARENT_getDRAC_ACK
+rfu_UNI_PARENT_getDRAC_ACK: @ 82E4078
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ movs r0, 0
+ strb r0, [r4]
+ ldr r5, _082E4090
+ ldr r0, [r5]
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ beq _082E4094
+ movs r0, 0xC0
+ lsls r0, 2
+ b _082E40BA
+ .align 2, 0
+_082E4090: .4byte 0x03007890
+_082E4094:
+ bl rfu_getSTWIRecvBuffer
+ adds r1, r0, 0
+ ldrb r0, [r1]
+ cmp r0, 0x28
+ beq _082E40A4
+ cmp r0, 0x36
+ bne _082E40B8
+_082E40A4:
+ ldrb r0, [r1, 0x1]
+ cmp r0, 0
+ bne _082E40B0
+ ldr r0, [r5]
+ ldrb r0, [r0, 0x2]
+ b _082E40B2
+_082E40B0:
+ ldrb r0, [r1, 0x4]
+_082E40B2:
+ strb r0, [r4]
+ movs r0, 0
+ b _082E40BA
+_082E40B8:
+ movs r0, 0x10
+_082E40BA:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end rfu_UNI_PARENT_getDRAC_ACK
+
+ thumb_func_start rfu_setTimerInterrupt
+rfu_setTimerInterrupt: @ 82E40C0
+ push {lr}
+ adds r2, r0, 0
+ adds r0, r1, 0
+ lsls r2, 24
+ lsrs r2, 24
+ adds r1, r2, 0
+ bl STWI_init_timer
+ pop {r0}
+ bx r0
+ thumb_func_end rfu_setTimerInterrupt
+
+ thumb_func_start rfu_getSTWIRecvBuffer
+rfu_getSTWIRecvBuffer: @ 82E40D4
+ ldr r0, _082E40E0
+ ldr r0, [r0]
+ adds r0, 0xDC
+ ldr r0, [r0]
+ bx lr
+ .align 2, 0
+_082E40E0: .4byte 0x03007898
+ thumb_func_end rfu_getSTWIRecvBuffer
+
+ thumb_func_start rfu_setMSCCallback
+rfu_setMSCCallback: @ 82E40E4
+ push {lr}
+ bl STWI_set_Callback_S
+ pop {r0}
+ bx r0
+ thumb_func_end rfu_setMSCCallback
+
+ thumb_func_start rfu_setREQCallback
+rfu_setREQCallback: @ 82E40F0
+ push {lr}
+ adds r1, r0, 0
+ ldr r0, _082E4108
+ ldr r0, [r0]
+ str r1, [r0]
+ negs r0, r1
+ orrs r0, r1
+ lsrs r0, 31
+ bl rfu_enableREQCallback
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E4108: .4byte 0x03007898
+ thumb_func_end rfu_setREQCallback
+
+ thumb_func_start rfu_enableREQCallback
+rfu_enableREQCallback: @ 82E410C
+ push {lr}
+ lsls r0, 24
+ cmp r0, 0
+ beq _082E4124
+ ldr r0, _082E4120
+ ldr r2, [r0]
+ ldrb r1, [r2]
+ movs r0, 0x8
+ orrs r0, r1
+ b _082E412E
+ .align 2, 0
+_082E4120: .4byte 0x03007894
+_082E4124:
+ ldr r0, _082E4134
+ ldr r2, [r0]
+ ldrb r1, [r2]
+ movs r0, 0xF7
+ ands r0, r1
+_082E412E:
+ strb r0, [r2]
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E4134: .4byte 0x03007894
+ thumb_func_end rfu_enableREQCallback
+
+ thumb_func_start rfu_STC_REQ_callback
+rfu_STC_REQ_callback: @ 82E4138
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ lsls r1, 16
+ lsrs r4, r1, 16
+ ldr r0, _082E416C
+ bl STWI_set_Callback_M
+ ldr r0, _082E4170
+ ldr r0, [r0]
+ strh r4, [r0, 0x1C]
+ ldrb r1, [r0]
+ movs r0, 0x8
+ ands r0, r1
+ cmp r0, 0
+ beq _082E4166
+ ldr r0, _082E4174
+ ldr r0, [r0]
+ ldr r2, [r0]
+ adds r0, r5, 0
+ adds r1, r4, 0
+ bl _call_via_r2
+_082E4166:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E416C: .4byte rfu_CB_defaultCallback + 1
+_082E4170: .4byte 0x03007894
+_082E4174: .4byte 0x03007898
+ thumb_func_end rfu_STC_REQ_callback
+
+ thumb_func_start rfu_CB_defaultCallback
+rfu_CB_defaultCallback: @ 82E4178
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, 16
+ lsrs r3, r1, 16
+ cmp r0, 0xFF
+ bne _082E41D4
+ ldr r0, _082E41DC
+ ldr r0, [r0]
+ ldrb r1, [r0]
+ movs r0, 0x8
+ ands r0, r1
+ cmp r0, 0
+ beq _082E41A2
+ ldr r0, _082E41E0
+ ldr r0, [r0]
+ ldr r2, [r0]
+ movs r0, 0xFF
+ adds r1, r3, 0
+ bl _call_via_r2
+_082E41A2:
+ ldr r0, _082E41E4
+ ldr r0, [r0]
+ ldrb r1, [r0, 0x2]
+ ldrb r0, [r0, 0x3]
+ adds r5, r0, 0
+ orrs r5, r1
+ movs r4, 0
+_082E41B0:
+ adds r0, r5, 0
+ asrs r0, r4
+ movs r1, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _082E41C2
+ adds r0, r4, 0
+ bl rfu_STC_removeLinkData
+_082E41C2:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x3
+ bls _082E41B0
+ ldr r0, _082E41E4
+ ldr r1, [r0]
+ movs r0, 0xFF
+ strb r0, [r1]
+_082E41D4:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E41DC: .4byte 0x03007894
+_082E41E0: .4byte 0x03007898
+_082E41E4: .4byte 0x03007890
+ thumb_func_end rfu_CB_defaultCallback
+
+ thumb_func_start rfu_waitREQComplete
+rfu_waitREQComplete: @ 82E41E8
+ push {lr}
+ bl STWI_poll_CommandEnd
+ ldr r0, _082E41F8
+ ldr r0, [r0]
+ ldrh r0, [r0, 0x1C]
+ pop {r1}
+ bx r1
+ .align 2, 0
+_082E41F8: .4byte 0x03007894
+ thumb_func_end rfu_waitREQComplete
+
+ thumb_func_start rfu_REQ_RFUStatus
+rfu_REQ_RFUStatus: @ 82E41FC
+ push {lr}
+ ldr r0, _082E420C
+ bl STWI_set_Callback_M
+ bl STWI_send_SystemStatusREQ
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E420C: .4byte rfu_STC_REQ_callback + 1
+ thumb_func_end rfu_REQ_RFUStatus
+
+ thumb_func_start rfu_getRFUStatus
+rfu_getRFUStatus: @ 82E4210
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ ldr r5, _082E4228
+ ldr r0, [r5]
+ adds r0, 0xDC
+ ldr r0, [r0]
+ ldrb r0, [r0]
+ cmp r0, 0x93
+ beq _082E422C
+ movs r0, 0x10
+ b _082E4246
+ .align 2, 0
+_082E4228: .4byte 0x03007898
+_082E422C:
+ bl STWI_poll_CommandEnd
+ lsls r0, 16
+ cmp r0, 0
+ bne _082E4240
+ ldr r0, [r5]
+ adds r0, 0xDC
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x7]
+ b _082E4242
+_082E4240:
+ movs r0, 0xFF
+_082E4242:
+ strb r0, [r4]
+ movs r0, 0
+_082E4246:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end rfu_getRFUStatus
+
+ thumb_func_start sub_82E424C
+sub_82E424C: @ 82E424C
+ push {lr}
+ ldr r2, _082E4254
+ ldr r3, _082E4258
+ b _082E4266
+ .align 2, 0
+_082E4254: .4byte 0x089a324c
+_082E4258: .4byte 0x030000f0
+ thumb_func_end sub_82E424C
+
+ thumb_func_start sub_82E425C
+sub_82E425C: @ 82E425C
+ ldrb r0, [r3]
+ adds r3, 0x1
+ adds r2, 0x1
+ cmp r1, r0
+ bne _082E42BC
+_082E4266:
+ ldrb r1, [r2]
+ cmp r1, 0
+ bne sub_82E425C
+ movs r2, 0xC0
+ lsls r2, 18
+ movs r3, 0
+ movs r1, 0
+_082E4274:
+ ldrh r0, [r2]
+ adds r0, r3, r0
+ lsls r0, 16
+ lsrs r3, r0, 16
+ adds r2, 0x2
+ adds r0, r1, 0x1
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0x59
+ bls _082E4274
+ ldr r0, _082E42B0
+ ldrh r0, [r0]
+ cmp r3, r0
+ bne _082E42BC
+ movs r0, 0xC0
+ lsls r0, 18
+ ldr r1, _082E42B4
+ ldr r1, [r1]
+ movs r2, 0x5A
+ bl CpuSet
+ ldr r0, _082E42B8
+ ldr r2, [r0]
+ ldrb r1, [r2]
+ movs r0, 0x80
+ orrs r0, r1
+ strb r0, [r2]
+ movs r0, 0
+ b _082E42BE
+ .align 2, 0
+_082E42B0: .4byte 0x030000fa
+_082E42B4: .4byte 0x03007890
+_082E42B8: .4byte 0x03007894
+_082E42BC:
+ movs r0, 0x1
+_082E42BE:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_82E425C
+
+ thumb_func_start rfu_REQ_stopMode
+rfu_REQ_stopMode: @ 82E42C4
+ push {lr}
+ ldr r0, _082E42E4
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _082E42EC
+ movs r0, 0x3D
+ movs r1, 0x6
+ bl rfu_STC_REQ_callback
+ ldr r0, _082E42E8
+ ldr r1, [r0]
+ ldrh r0, [r1, 0x12]
+ movs r0, 0x6
+ strh r0, [r1, 0x12]
+ b _082E4362
+ .align 2, 0
+_082E42E4: .4byte 0x04000208
+_082E42E8: .4byte 0x03007868
+_082E42EC:
+ bl AgbRFU_SoftReset
+ bl rfu_STC_clearAPIVariables
+ movs r0, 0x8
+ bl sub_82E6D6C
+ ldr r1, _082E433C
+ cmp r0, r1
+ bne _082E4350
+ ldr r0, _082E4340
+ ldr r0, [r0]
+ ldrb r0, [r0, 0xA]
+ lsls r0, 2
+ ldr r2, _082E4344
+ adds r1, r0, r2
+ movs r0, 0
+ str r0, [r1]
+ movs r0, 0x83
+ lsls r0, 16
+ str r0, [r1]
+ ldr r0, [r1]
+ lsls r0, 16
+ ldr r2, _082E4348
+ ldr r3, _082E434C
+ cmp r0, r2
+ bhi _082E432A
+_082E4322:
+ ldr r0, [r1]
+ lsls r0, 16
+ cmp r0, r2
+ bls _082E4322
+_082E432A:
+ movs r0, 0
+ str r0, [r1]
+ adds r0, r3, 0
+ bl STWI_set_Callback_M
+ bl STWI_send_StopModeREQ
+ b _082E4362
+ .align 2, 0
+_082E433C: .4byte 0x00008001
+_082E4340: .4byte 0x03007868
+_082E4344: .4byte 0x04000100
+_082E4348: .4byte 0x0105ffff
+_082E434C: .4byte rfu_CB_stopMode + 1
+_082E4350:
+ ldr r1, _082E4368
+ movs r2, 0x80
+ lsls r2, 6
+ adds r0, r2, 0
+ strh r0, [r1]
+ movs r0, 0x3D
+ movs r1, 0
+ bl rfu_STC_REQ_callback
+_082E4362:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E4368: .4byte 0x04000128
+ thumb_func_end rfu_REQ_stopMode
+
+ thumb_func_start rfu_CB_stopMode
+rfu_CB_stopMode: @ 82E436C
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r3, r0, 24
+ lsls r1, 16
+ lsrs r1, 16
+ adds r2, r1, 0
+ cmp r2, 0
+ bne _082E4386
+ ldr r1, _082E4394
+ movs r4, 0x80
+ lsls r4, 6
+ adds r0, r4, 0
+ strh r0, [r1]
+_082E4386:
+ adds r0, r3, 0
+ adds r1, r2, 0
+ bl rfu_STC_REQ_callback
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E4394: .4byte 0x04000128
+ thumb_func_end rfu_CB_stopMode
+
+ thumb_func_start rfu_REQBN_softReset_and_checkID
+rfu_REQBN_softReset_and_checkID: @ 82E4398
+ push {lr}
+ ldr r0, _082E43A8
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _082E43AC
+ movs r0, 0x1
+ negs r0, r0
+ b _082E43CC
+ .align 2, 0
+_082E43A8: .4byte 0x04000208
+_082E43AC:
+ bl AgbRFU_SoftReset
+ bl rfu_STC_clearAPIVariables
+ movs r0, 0x1E
+ bl sub_82E6D6C
+ adds r2, r0, 0
+ cmp r2, 0
+ bne _082E43CA
+ ldr r1, _082E43D0
+ movs r3, 0x80
+ lsls r3, 6
+ adds r0, r3, 0
+ strh r0, [r1]
+_082E43CA:
+ adds r0, r2, 0
+_082E43CC:
+ pop {r1}
+ bx r1
+ .align 2, 0
+_082E43D0: .4byte 0x04000128
+ thumb_func_end rfu_REQBN_softReset_and_checkID
+
+ thumb_func_start rfu_REQ_reset
+rfu_REQ_reset: @ 82E43D4
+ push {lr}
+ ldr r0, _082E43E4
+ bl STWI_set_Callback_M
+ bl STWI_send_ResetREQ
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E43E4: .4byte rfu_CB_reset + 1
+ thumb_func_end rfu_REQ_reset
+
+ thumb_func_start rfu_CB_reset
+rfu_CB_reset: @ 82E43E8
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ lsls r1, 16
+ lsrs r1, 16
+ adds r4, r1, 0
+ cmp r4, 0
+ bne _082E43FC
+ bl rfu_STC_clearAPIVariables
+_082E43FC:
+ adds r0, r5, 0
+ adds r1, r4, 0
+ bl rfu_STC_REQ_callback
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end rfu_CB_reset
+
+ thumb_func_start rfu_REQ_configSystem
+rfu_REQ_configSystem: @ 82E440C
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ adds r5, r1, 0
+ lsls r4, 16
+ lsrs r4, 16
+ lsls r5, 24
+ lsrs r5, 24
+ lsls r2, 24
+ lsrs r6, r2, 24
+ ldr r0, _082E4444
+ bl STWI_set_Callback_M
+ movs r0, 0x3
+ ands r4, r0
+ movs r0, 0x3C
+ orrs r4, r0
+ adds r0, r4, 0
+ adds r1, r5, 0
+ adds r2, r6, 0
+ bl STWI_send_SystemConfigREQ
+ cmp r6, 0
+ bne _082E444C
+ ldr r0, _082E4448
+ ldr r1, [r0]
+ movs r0, 0x1
+ strh r0, [r1, 0x1A]
+ b _082E4466
+ .align 2, 0
+_082E4444: .4byte rfu_STC_REQ_callback + 1
+_082E4448: .4byte 0x03007894
+_082E444C:
+ ldr r5, _082E446C
+ ldrh r4, [r5]
+ movs r0, 0
+ strh r0, [r5]
+ movs r0, 0x96
+ lsls r0, 2
+ adds r1, r6, 0
+ bl Div
+ ldr r1, _082E4470
+ ldr r1, [r1]
+ strh r0, [r1, 0x1A]
+ strh r4, [r5]
+_082E4466:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E446C: .4byte 0x04000208
+_082E4470: .4byte 0x03007894
+ thumb_func_end rfu_REQ_configSystem
+
+ thumb_func_start rfu_REQ_configGameData
+rfu_REQ_configGameData: @ 82E4474
+ push {r4-r7,lr}
+ sub sp, 0x10
+ adds r4, r2, 0
+ adds r7, r3, 0
+ lsls r0, 24
+ lsrs r6, r0, 24
+ lsls r2, r1, 16
+ adds r5, r4, 0
+ mov r0, sp
+ strb r1, [r0]
+ lsrs r2, 24
+ strb r2, [r0, 0x1]
+ cmp r6, 0
+ beq _082E449A
+ movs r1, 0x80
+ orrs r2, r1
+ movs r1, 0
+ orrs r2, r1
+ strb r2, [r0, 0x1]
+_082E449A:
+ movs r2, 0x2
+ ldr r0, _082E44FC
+ mov r12, r0
+_082E44A0:
+ mov r3, sp
+ adds r1, r3, r2
+ ldrb r0, [r4]
+ strb r0, [r1]
+ adds r4, 0x1
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0xE
+ bls _082E44A0
+ movs r3, 0
+ adds r1, r7, 0
+ movs r2, 0
+_082E44BA:
+ ldrb r0, [r1]
+ adds r0, r3, r0
+ lsls r0, 24
+ adds r1, 0x1
+ lsrs r0, 24
+ ldrb r3, [r5]
+ adds r0, r3
+ lsls r0, 24
+ lsrs r3, r0, 24
+ adds r5, 0x1
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0x7
+ bls _082E44BA
+ mov r1, sp
+ mvns r0, r3
+ strb r0, [r1, 0xF]
+ cmp r6, 0
+ beq _082E44E6
+ movs r0, 0
+ strb r0, [r1, 0xE]
+_082E44E6:
+ mov r0, r12
+ bl STWI_set_Callback_M
+ mov r0, sp
+ adds r1, r7, 0
+ bl STWI_send_GameConfigREQ
+ add sp, 0x10
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E44FC: .4byte rfu_CB_configGameData + 1
+ thumb_func_end rfu_REQ_configGameData
+
+ thumb_func_start rfu_CB_configGameData
+rfu_CB_configGameData: @ 82E4500
+ push {r4-r7,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ mov r12, r0
+ lsls r1, 16
+ lsrs r7, r1, 16
+ cmp r7, 0
+ bne _082E458A
+ ldr r0, _082E4544
+ ldr r0, [r0]
+ ldr r1, [r0, 0x24]
+ ldr r0, _082E4548
+ ldr r6, [r0]
+ ldrb r2, [r1, 0x4]
+ adds r5, r6, 0
+ adds r5, 0x98
+ strh r2, [r5]
+ ldrb r0, [r1, 0x5]
+ lsls r3, r0, 8
+ orrs r3, r2
+ strh r3, [r5]
+ adds r4, r1, 0x6
+ movs r1, 0x80
+ lsls r1, 8
+ adds r0, r3, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _082E454C
+ eors r3, r1
+ strh r3, [r5]
+ adds r1, r6, 0
+ adds r1, 0x97
+ movs r0, 0x1
+ b _082E4552
+ .align 2, 0
+_082E4544: .4byte 0x03007868
+_082E4548: .4byte 0x03007890
+_082E454C:
+ adds r1, r6, 0
+ adds r1, 0x97
+ movs r0, 0
+_082E4552:
+ strb r0, [r1]
+ movs r2, 0
+ ldr r3, _082E4598
+_082E4558:
+ ldr r0, [r3]
+ adds r0, 0x9A
+ adds r0, r2
+ ldrb r1, [r4]
+ strb r1, [r0]
+ adds r4, 0x1
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0xC
+ bls _082E4558
+ adds r4, 0x1
+ movs r2, 0
+ ldr r3, _082E4598
+_082E4574:
+ ldr r0, [r3]
+ adds r0, 0xA9
+ adds r0, r2
+ ldrb r1, [r4]
+ strb r1, [r0]
+ adds r4, 0x1
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0x7
+ bls _082E4574
+_082E458A:
+ mov r0, r12
+ adds r1, r7, 0
+ bl rfu_STC_REQ_callback
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E4598: .4byte 0x03007890
+ thumb_func_end rfu_CB_configGameData
+
+ thumb_func_start rfu_REQ_startSearchChild
+rfu_REQ_startSearchChild: @ 82E459C
+ push {r4,lr}
+ movs r1, 0
+ ldr r4, _082E45E4
+ ldr r3, _082E45E8
+ movs r2, 0
+_082E45A6:
+ ldr r0, [r3]
+ adds r0, 0xE
+ adds r0, r1
+ strb r2, [r0]
+ adds r0, r1, 0x1
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0x3
+ bls _082E45A6
+ adds r0, r4, 0
+ bl STWI_set_Callback_M
+ bl STWI_send_SystemStatusREQ
+ bl STWI_poll_CommandEnd
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0
+ bne _082E45F0
+ ldr r0, _082E45EC
+ ldr r0, [r0]
+ adds r0, 0xDC
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x7]
+ cmp r0, 0
+ bne _082E45F6
+ movs r0, 0x1
+ bl rfu_STC_clearLinkStatus
+ b _082E45F6
+ .align 2, 0
+_082E45E4: .4byte rfu_CB_defaultCallback + 1
+_082E45E8: .4byte 0x03007894
+_082E45EC: .4byte 0x03007898
+_082E45F0:
+ movs r0, 0x19
+ bl rfu_STC_REQ_callback
+_082E45F6:
+ ldr r0, _082E4608
+ bl STWI_set_Callback_M
+ bl STWI_send_SC_StartREQ
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E4608: .4byte rfu_CB_startSearchChild + 1
+ thumb_func_end rfu_REQ_startSearchChild
+
+ thumb_func_start rfu_CB_startSearchChild
+rfu_CB_startSearchChild: @ 82E460C
+ push {lr}
+ lsls r0, 24
+ lsrs r3, r0, 24
+ lsls r1, 16
+ lsrs r1, 16
+ adds r2, r1, 0
+ cmp r2, 0
+ bne _082E4624
+ ldr r0, _082E4630
+ ldr r1, [r0]
+ movs r0, 0x1
+ strb r0, [r1, 0x9]
+_082E4624:
+ adds r0, r3, 0
+ adds r1, r2, 0
+ bl rfu_STC_REQ_callback
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E4630: .4byte 0x03007894
+ thumb_func_end rfu_CB_startSearchChild
+
+ thumb_func_start rfu_STC_clearLinkStatus
+rfu_STC_clearLinkStatus: @ 82E4634
+ push {r4,r5,lr}
+ sub sp, 0x4
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ bl rfu_clearAllSlot
+ cmp r4, 0
+ beq _082E465C
+ mov r0, sp
+ movs r5, 0
+ strh r5, [r0]
+ ldr r4, _082E4690
+ ldr r1, [r4]
+ adds r1, 0x14
+ ldr r2, _082E4694
+ bl CpuSet
+ ldr r0, [r4]
+ strb r5, [r0, 0x8]
+_082E465C:
+ movs r1, 0
+ ldr r2, _082E4690
+ adds r4, r2, 0
+ movs r3, 0
+_082E4664:
+ ldr r0, [r4]
+ adds r0, 0xA
+ adds r0, r1
+ strb r3, [r0]
+ adds r0, r1, 0x1
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0x3
+ bls _082E4664
+ ldr r0, [r2]
+ movs r1, 0
+ strb r1, [r0, 0x1]
+ ldr r0, [r2]
+ strb r1, [r0, 0x2]
+ ldr r0, [r2]
+ strb r1, [r0, 0x3]
+ ldr r0, [r2]
+ strb r1, [r0, 0x7]
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E4690: .4byte 0x03007890
+_082E4694: .4byte 0x01000040
+ thumb_func_end rfu_STC_clearLinkStatus
+
+ thumb_func_start rfu_REQ_pollSearchChild
+rfu_REQ_pollSearchChild: @ 82E4698
+ push {lr}
+ ldr r0, _082E46A8
+ bl STWI_set_Callback_M
+ bl STWI_send_SC_PollingREQ
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E46A8: .4byte rfu_CB_pollAndEndSearchChild + 1
+ thumb_func_end rfu_REQ_pollSearchChild
+
+ thumb_func_start rfu_REQ_endSearchChild
+rfu_REQ_endSearchChild: @ 82E46AC
+ push {lr}
+ ldr r0, _082E46BC
+ bl STWI_set_Callback_M
+ bl STWI_send_SC_EndREQ
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E46BC: .4byte rfu_CB_pollAndEndSearchChild + 1
+ thumb_func_end rfu_REQ_endSearchChild
+
+ thumb_func_start rfu_CB_pollAndEndSearchChild
+rfu_CB_pollAndEndSearchChild: @ 82E46C0
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ lsls r1, 16
+ lsrs r6, r1, 16
+ cmp r6, 0
+ bne _082E46D2
+ bl rfu_STC_readChildList
+_082E46D2:
+ cmp r4, 0x1A
+ bne _082E4714
+ ldr r5, _082E4708
+ ldr r0, [r5]
+ adds r0, 0x94
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _082E4730
+ ldr r0, _082E470C
+ bl STWI_set_Callback_M
+ bl STWI_send_SystemStatusREQ
+ bl STWI_poll_CommandEnd
+ lsls r0, 16
+ cmp r0, 0
+ bne _082E4730
+ ldr r1, [r5]
+ ldr r0, _082E4710
+ ldr r0, [r0]
+ adds r0, 0xDC
+ ldr r0, [r0]
+ ldrh r0, [r0, 0x4]
+ adds r1, 0x94
+ strh r0, [r1]
+ b _082E4730
+ .align 2, 0
+_082E4708: .4byte 0x03007890
+_082E470C: .4byte rfu_CB_defaultCallback + 1
+_082E4710: .4byte 0x03007898
+_082E4714:
+ cmp r4, 0x1B
+ bne _082E4730
+ ldr r0, _082E4740
+ ldr r1, [r0]
+ ldrb r0, [r1]
+ cmp r0, 0xFF
+ bne _082E4728
+ adds r1, 0x94
+ movs r0, 0
+ strh r0, [r1]
+_082E4728:
+ ldr r0, _082E4744
+ ldr r1, [r0]
+ movs r0, 0
+ strb r0, [r1, 0x9]
+_082E4730:
+ adds r0, r4, 0
+ adds r1, r6, 0
+ bl rfu_STC_REQ_callback
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E4740: .4byte 0x03007890
+_082E4744: .4byte 0x03007894
+ thumb_func_end rfu_CB_pollAndEndSearchChild
+
+ thumb_func_start rfu_STC_readChildList
+rfu_STC_readChildList: @ 82E4748
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ ldr r0, _082E47F8
+ ldr r0, [r0]
+ adds r0, 0xDC
+ ldr r0, [r0]
+ ldrb r7, [r0, 0x1]
+ adds r6, r0, 0x4
+ cmp r7, 0
+ beq _082E47EE
+ ldr r0, _082E47FC
+ mov r8, r0
+ ldr r1, _082E4800
+ mov r12, r1
+_082E4766:
+ ldrb r4, [r6, 0x2]
+ cmp r4, 0x3
+ bhi _082E47E2
+ mov r2, r12
+ ldr r1, [r2]
+ ldrb r0, [r1, 0x2]
+ asrs r0, r4
+ movs r5, 0x1
+ ands r0, r5
+ cmp r0, 0
+ bne _082E47E2
+ ldrb r0, [r1, 0x3]
+ asrs r0, r4
+ ands r0, r5
+ cmp r0, 0
+ bne _082E47E2
+ mov r1, r8
+ ldr r0, [r1]
+ adds r0, 0xE
+ adds r0, r4
+ movs r1, 0xF0
+ strb r1, [r0]
+ ldr r0, [r2]
+ adds r0, 0xA
+ adds r0, r4
+ movs r1, 0x10
+ strb r1, [r0]
+ ldr r2, [r2]
+ adds r0, r5, 0
+ lsls r0, r4
+ ldrb r1, [r2, 0x2]
+ orrs r0, r1
+ strb r0, [r2, 0x2]
+ mov r2, r12
+ ldr r1, [r2]
+ ldrb r0, [r1, 0x1]
+ adds r0, 0x1
+ strb r0, [r1, 0x1]
+ ldr r1, [r2]
+ lsls r3, r4, 5
+ adds r1, r3
+ ldrh r0, [r6]
+ strh r0, [r1, 0x14]
+ strb r4, [r1, 0x16]
+ ldr r0, [r2]
+ strb r5, [r0]
+ mov r0, r8
+ ldr r2, [r0]
+ ldrb r1, [r2]
+ movs r0, 0x7F
+ ands r0, r1
+ strb r0, [r2]
+ mov r2, r8
+ ldr r1, [r2]
+ lsls r0, r4, 1
+ adds r1, 0x12
+ adds r1, r0
+ mov r2, r12
+ ldr r0, [r2]
+ adds r0, r3
+ ldrh r0, [r0, 0x14]
+ strh r0, [r1]
+_082E47E2:
+ subs r0, r7, 0x1
+ lsls r0, 24
+ lsrs r7, r0, 24
+ adds r6, 0x4
+ cmp r7, 0
+ bne _082E4766
+_082E47EE:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E47F8: .4byte 0x03007898
+_082E47FC: .4byte 0x03007894
+_082E4800: .4byte 0x03007890
+ thumb_func_end rfu_STC_readChildList
+
+ thumb_func_start rfu_REQ_startSearchParent
+rfu_REQ_startSearchParent: @ 82E4804
+ push {lr}
+ ldr r0, _082E4814
+ bl STWI_set_Callback_M
+ bl STWI_send_SP_StartREQ
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E4814: .4byte rfu_CB_startSearchParent + 1
+ thumb_func_end rfu_REQ_startSearchParent
+
+ thumb_func_start rfu_CB_startSearchParent
+rfu_CB_startSearchParent: @ 82E4818
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ lsls r1, 16
+ lsrs r1, 16
+ adds r4, r1, 0
+ cmp r4, 0
+ bne _082E482E
+ movs r0, 0
+ bl rfu_STC_clearLinkStatus
+_082E482E:
+ adds r0, r5, 0
+ adds r1, r4, 0
+ bl rfu_STC_REQ_callback
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end rfu_CB_startSearchParent
+
+ thumb_func_start rfu_REQ_pollSearchParent
+rfu_REQ_pollSearchParent: @ 82E483C
+ push {lr}
+ ldr r0, _082E484C
+ bl STWI_set_Callback_M
+ bl STWI_send_SP_PollingREQ
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E484C: .4byte sub_82E4850 + 1
+ thumb_func_end rfu_REQ_pollSearchParent
+
+ thumb_func_start sub_82E4850
+sub_82E4850: @ 82E4850
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ lsls r1, 16
+ lsrs r1, 16
+ adds r4, r1, 0
+ cmp r4, 0
+ bne _082E4864
+ bl rfu_STC_readParentCandidateList
+_082E4864:
+ adds r0, r5, 0
+ adds r1, r4, 0
+ bl rfu_STC_REQ_callback
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_82E4850
+
+ thumb_func_start rfu_REQ_endSearchParent
+rfu_REQ_endSearchParent: @ 82E4874
+ push {lr}
+ ldr r0, _082E4884
+ bl STWI_set_Callback_M
+ bl STWI_send_SP_EndREQ
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E4884: .4byte rfu_STC_REQ_callback + 1
+ thumb_func_end rfu_REQ_endSearchParent
+
+ thumb_func_start rfu_STC_readParentCandidateList
+rfu_STC_readParentCandidateList: @ 82E4888
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x4
+ mov r0, sp
+ movs r4, 0
+ strh r4, [r0]
+ ldr r5, _082E4930
+ ldr r1, [r5]
+ adds r1, 0x14
+ ldr r2, _082E4934
+ bl CpuSet
+ ldr r0, _082E4938
+ ldr r0, [r0]
+ adds r0, 0xDC
+ ldr r2, [r0]
+ ldrb r7, [r2, 0x1]
+ adds r2, 0x4
+ ldr r0, [r5]
+ strb r4, [r0, 0x8]
+ movs r6, 0
+ cmp r7, 0
+ beq _082E498C
+ mov r12, r5
+ ldr r0, _082E493C
+ mov r8, r0
+_082E48BE:
+ subs r0, r7, 0x7
+ lsls r0, 24
+ lsrs r7, r0, 24
+ adds r1, r2, 0x6
+ adds r2, 0x13
+ ldrb r0, [r2]
+ mvns r0, r0
+ lsls r0, 24
+ lsrs r5, r0, 24
+ adds r2, 0x1
+ movs r4, 0
+ movs r3, 0
+ adds r6, 0x1
+_082E48D8:
+ ldrb r0, [r2]
+ adds r0, r4, r0
+ lsls r0, 24
+ adds r2, 0x1
+ lsrs r0, 24
+ ldrb r4, [r1]
+ adds r0, r4
+ lsls r0, 24
+ lsrs r4, r0, 24
+ adds r1, 0x1
+ adds r0, r3, 0x1
+ lsls r0, 24
+ lsrs r3, r0, 24
+ cmp r3, 0x7
+ bls _082E48D8
+ cmp r4, r5
+ bne _082E4980
+ subs r2, 0x1C
+ mov r0, r12
+ ldr r1, [r0]
+ ldrb r0, [r1, 0x8]
+ lsls r0, 5
+ adds r0, 0x14
+ adds r4, r1, r0
+ ldrh r0, [r2]
+ movs r3, 0
+ strh r0, [r4]
+ adds r2, 0x2
+ ldrb r0, [r2]
+ strb r0, [r4, 0x2]
+ adds r2, 0x2
+ ldrh r1, [r2]
+ mov r0, r8
+ ands r0, r1
+ strh r0, [r4, 0x4]
+ ldrh r1, [r2]
+ movs r0, 0x80
+ lsls r0, 8
+ ands r0, r1
+ cmp r0, 0
+ beq _082E4940
+ movs r0, 0x1
+ strb r0, [r4, 0x3]
+ b _082E4942
+ .align 2, 0
+_082E4930: .4byte 0x03007890
+_082E4934: .4byte 0x01000040
+_082E4938: .4byte 0x03007898
+_082E493C: .4byte 0x00007fff
+_082E4940:
+ strb r3, [r4, 0x3]
+_082E4942:
+ adds r2, 0x2
+ movs r3, 0
+ adds r5, r4, 0
+ adds r5, 0x15
+ adds r4, 0x6
+_082E494C:
+ adds r1, r4, r3
+ ldrb r0, [r2]
+ strb r0, [r1]
+ adds r2, 0x1
+ adds r0, r3, 0x1
+ lsls r0, 24
+ lsrs r3, r0, 24
+ cmp r3, 0xC
+ bls _082E494C
+ adds r2, 0x1
+ movs r3, 0
+ adds r4, r5, 0
+_082E4964:
+ adds r1, r4, r3
+ ldrb r0, [r2]
+ strb r0, [r1]
+ adds r2, 0x1
+ adds r0, r3, 0x1
+ lsls r0, 24
+ lsrs r3, r0, 24
+ cmp r3, 0x7
+ bls _082E4964
+ mov r4, r12
+ ldr r1, [r4]
+ ldrb r0, [r1, 0x8]
+ adds r0, 0x1
+ strb r0, [r1, 0x8]
+_082E4980:
+ lsls r0, r6, 24
+ lsrs r6, r0, 24
+ cmp r6, 0x3
+ bhi _082E498C
+ cmp r7, 0
+ bne _082E48BE
+_082E498C:
+ add sp, 0x4
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end rfu_STC_readParentCandidateList
+
+ thumb_func_start rfu_REQ_startConnectParent
+rfu_REQ_startConnectParent: @ 82E4998
+ push {r4,r5,lr}
+ lsls r0, 16
+ lsrs r4, r0, 16
+ movs r3, 0
+ movs r2, 0
+ ldr r1, _082E49E4
+ ldr r0, [r1]
+ ldrh r0, [r0, 0x14]
+ cmp r0, r4
+ beq _082E49C4
+ adds r5, r1, 0
+_082E49AE:
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0x3
+ bhi _082E49C4
+ ldr r0, [r5]
+ lsls r1, r2, 5
+ adds r0, r1
+ ldrh r0, [r0, 0x14]
+ cmp r0, r4
+ bne _082E49AE
+_082E49C4:
+ cmp r2, 0x4
+ bne _082E49CC
+ movs r3, 0x80
+ lsls r3, 1
+_082E49CC:
+ cmp r3, 0
+ bne _082E49F0
+ ldr r0, _082E49E8
+ ldr r0, [r0]
+ strh r4, [r0, 0x1E]
+ ldr r0, _082E49EC
+ bl STWI_set_Callback_M
+ adds r0, r4, 0
+ bl STWI_send_CP_StartREQ
+ b _082E49F8
+ .align 2, 0
+_082E49E4: .4byte 0x03007890
+_082E49E8: .4byte 0x03007894
+_082E49EC: .4byte rfu_STC_REQ_callback + 1
+_082E49F0:
+ movs r0, 0x1F
+ adds r1, r3, 0
+ bl rfu_STC_REQ_callback
+_082E49F8:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end rfu_REQ_startConnectParent
+
+ thumb_func_start rfu_REQ_pollConnectParent
+rfu_REQ_pollConnectParent: @ 82E4A00
+ push {lr}
+ ldr r0, _082E4A10
+ bl STWI_set_Callback_M
+ bl STWI_send_CP_PollingREQ
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E4A10: .4byte rfu_CB_pollConnectParent + 1
+ thumb_func_end rfu_REQ_pollConnectParent
+
+ thumb_func_start rfu_CB_pollConnectParent
+rfu_CB_pollConnectParent: @ 82E4A14
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x2C
+ lsls r0, 24
+ lsrs r0, 24
+ str r0, [sp, 0x24]
+ lsls r1, 16
+ lsrs r1, 16
+ str r1, [sp, 0x28]
+ cmp r1, 0
+ bne _082E4B16
+ ldr r0, _082E4AD0
+ ldr r0, [r0]
+ adds r0, 0xDC
+ ldr r0, [r0]
+ ldrh r5, [r0, 0x4]
+ ldrb r1, [r0, 0x6]
+ mov r10, r1
+ ldrb r0, [r0, 0x7]
+ cmp r0, 0
+ bne _082E4B16
+ movs r0, 0x80
+ lsls r0, 17
+ lsls r0, r1
+ lsrs r2, r0, 24
+ ldr r4, _082E4AD4
+ ldr r3, [r4]
+ ldrb r1, [r3, 0x2]
+ adds r0, r2, 0
+ ands r0, r1
+ cmp r0, 0
+ bne _082E4B16
+ adds r0, r2, 0
+ orrs r0, r1
+ strb r0, [r3, 0x2]
+ ldr r1, [r4]
+ ldrb r0, [r1, 0x3]
+ bics r0, r2
+ strb r0, [r1, 0x3]
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0x94
+ movs r2, 0
+ strh r5, [r0]
+ ldrb r0, [r1, 0x1]
+ adds r0, 0x1
+ strb r0, [r1, 0x1]
+ ldr r0, [r4]
+ strb r2, [r0]
+ ldr r3, _082E4AD8
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ movs r0, 0x80
+ orrs r0, r1
+ strb r0, [r2]
+ movs r5, 0
+ adds r7, r4, 0
+ add r6, sp, 0x20
+ movs r0, 0
+ mov r8, r0
+_082E4A92:
+ ldr r2, [r7]
+ lsls r4, r5, 5
+ adds r0, r2, r4
+ ldr r1, [r3]
+ ldrh r0, [r0, 0x14]
+ ldrh r1, [r1, 0x1E]
+ cmp r0, r1
+ bne _082E4AEA
+ ldrb r0, [r2, 0x8]
+ cmp r0, 0
+ beq _082E4AE0
+ mov r9, sp
+ adds r0, r4, 0
+ adds r0, 0x14
+ adds r0, r2, r0
+ mov r1, sp
+ movs r2, 0x10
+ bl CpuSet
+ mov r1, r8
+ strh r1, [r6]
+ ldr r1, [r7]
+ adds r1, 0x14
+ adds r0, r6, 0
+ ldr r2, _082E4ADC
+ bl CpuSet
+ ldr r0, [r7]
+ mov r1, r8
+ strb r1, [r0, 0x8]
+ b _082E4AF4
+ .align 2, 0
+_082E4AD0: .4byte 0x03007898
+_082E4AD4: .4byte 0x03007890
+_082E4AD8: .4byte 0x03007894
+_082E4ADC: .4byte 0x01000040
+_082E4AE0:
+ adds r0, r4, 0
+ adds r0, 0x14
+ adds r2, r0
+ mov r9, r2
+ b _082E4AF4
+_082E4AEA:
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x3
+ bls _082E4A92
+_082E4AF4:
+ cmp r5, 0x3
+ bhi _082E4B16
+ ldr r4, _082E4B30
+ mov r0, r10
+ lsls r5, r0, 5
+ adds r0, r5, 0
+ adds r0, 0x14
+ ldr r1, [r4]
+ adds r1, r0
+ mov r0, r9
+ movs r2, 0x10
+ bl CpuSet
+ ldr r0, [r4]
+ adds r0, r5
+ mov r1, r10
+ strb r1, [r0, 0x16]
+_082E4B16:
+ ldr r0, [sp, 0x24]
+ ldr r1, [sp, 0x28]
+ bl rfu_STC_REQ_callback
+ add sp, 0x2C
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E4B30: .4byte 0x03007890
+ thumb_func_end rfu_CB_pollConnectParent
+
+ thumb_func_start rfu_getConnectParentStatus
+rfu_getConnectParentStatus: @ 82E4B34
+ push {lr}
+ adds r3, r0, 0
+ movs r0, 0xFF
+ strb r0, [r3]
+ ldr r0, _082E4B54
+ ldr r0, [r0]
+ adds r0, 0xDC
+ ldr r2, [r0]
+ ldrb r0, [r2]
+ adds r0, 0x60
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bls _082E4B58
+ movs r0, 0x10
+ b _082E4B64
+ .align 2, 0
+_082E4B54: .4byte 0x03007898
+_082E4B58:
+ adds r2, 0x6
+ ldrb r0, [r2]
+ strb r0, [r1]
+ ldrb r0, [r2, 0x1]
+ strb r0, [r3]
+ movs r0, 0
+_082E4B64:
+ pop {r1}
+ bx r1
+ thumb_func_end rfu_getConnectParentStatus
+
+ thumb_func_start rfu_REQ_endConnectParent
+rfu_REQ_endConnectParent: @ 82E4B68
+ push {lr}
+ ldr r0, _082E4B94
+ bl STWI_set_Callback_M
+ bl STWI_send_CP_EndREQ
+ ldr r0, _082E4B98
+ ldr r0, [r0]
+ adds r0, 0xDC
+ ldr r1, [r0]
+ ldrb r0, [r1, 0x6]
+ cmp r0, 0x3
+ bhi _082E4B90
+ ldr r0, _082E4B9C
+ ldr r0, [r0]
+ adds r0, 0xA
+ ldrb r1, [r1, 0x6]
+ adds r0, r1
+ movs r1, 0
+ strb r1, [r0]
+_082E4B90:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E4B94: .4byte rfu_CB_pollConnectParent + 1
+_082E4B98: .4byte 0x03007898
+_082E4B9C: .4byte 0x03007894
+ thumb_func_end rfu_REQ_endConnectParent
+
+ thumb_func_start rfu_syncVBlank
+rfu_syncVBlank: @ 82E4BA0
+ push {r4,r5,lr}
+ bl rfu_NI_checkCommFailCounter
+ ldr r0, _082E4BE8
+ ldr r0, [r0]
+ ldrb r0, [r0]
+ cmp r0, 0xFF
+ beq _082E4C78
+ ldr r4, _082E4BEC
+ ldr r1, [r4]
+ ldrb r0, [r1, 0x6]
+ cmp r0, 0
+ beq _082E4BBE
+ subs r0, 0x1
+ strb r0, [r1, 0x6]
+_082E4BBE:
+ bl rfu_getMasterSlave
+ lsls r0, 24
+ lsrs r3, r0, 24
+ ldr r2, [r4]
+ ldrb r1, [r2]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ bne _082E4BF0
+ cmp r3, 0
+ bne _082E4BFE
+ movs r0, 0x4
+ orrs r0, r1
+ strb r0, [r2]
+ ldr r1, [r4]
+ movs r0, 0xB4
+ lsls r0, 1
+ strh r0, [r1, 0x20]
+ b _082E4BFA
+ .align 2, 0
+_082E4BE8: .4byte 0x03007890
+_082E4BEC: .4byte 0x03007894
+_082E4BF0:
+ cmp r3, 0
+ beq _082E4C10
+ movs r0, 0xFB
+ ands r0, r1
+ strb r0, [r2]
+_082E4BFA:
+ cmp r3, 0
+ beq _082E4C10
+_082E4BFE:
+ ldr r3, _082E4C0C
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ movs r0, 0xFD
+ ands r0, r1
+ b _082E4C1A
+ .align 2, 0
+_082E4C0C: .4byte 0x03007894
+_082E4C10:
+ ldr r3, _082E4C6C
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ movs r0, 0x2
+ orrs r0, r1
+_082E4C1A:
+ strb r0, [r2]
+ ldr r3, [r3]
+ ldrb r1, [r3]
+ movs r0, 0x4
+ ands r0, r1
+ cmp r0, 0
+ beq _082E4C78
+ ldrh r0, [r3, 0x20]
+ cmp r0, 0
+ bne _082E4C74
+ movs r0, 0xFB
+ ands r0, r1
+ strb r0, [r3]
+ ldr r0, _082E4C70
+ ldr r0, [r0]
+ ldrb r1, [r0, 0x2]
+ ldrb r0, [r0, 0x3]
+ adds r5, r0, 0
+ orrs r5, r1
+ movs r4, 0
+_082E4C42:
+ adds r0, r5, 0
+ asrs r0, r4
+ movs r1, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _082E4C54
+ adds r0, r4, 0
+ bl rfu_STC_removeLinkData
+_082E4C54:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x3
+ bls _082E4C42
+ ldr r0, _082E4C70
+ ldr r1, [r0]
+ movs r0, 0xFF
+ strb r0, [r1]
+ movs r0, 0x1
+ b _082E4C7A
+ .align 2, 0
+_082E4C6C: .4byte 0x03007894
+_082E4C70: .4byte 0x03007890
+_082E4C74:
+ subs r0, 0x1
+ strh r0, [r3, 0x20]
+_082E4C78:
+ movs r0, 0
+_082E4C7A:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end rfu_syncVBlank
+
+ thumb_func_start rfu_REQBN_watchLink
+rfu_REQBN_watchLink: @ 82E4C80
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x18
+ mov r8, r1
+ str r2, [sp]
+ str r3, [sp, 0x4]
+ lsls r0, 16
+ lsrs r6, r0, 16
+ movs r0, 0
+ str r0, [sp, 0x8]
+ movs r1, 0
+ str r1, [sp, 0xC]
+ mov r2, r8
+ strb r1, [r2]
+ mov r0, sp
+ ldrb r1, [r0, 0xC]
+ ldr r0, [sp]
+ strb r1, [r0]
+ mov r2, sp
+ ldrb r0, [r2, 0xC]
+ ldr r2, [sp, 0x4]
+ strb r0, [r2]
+ ldr r5, _082E4D20
+ ldr r0, [r5]
+ ldrb r0, [r0]
+ cmp r0, 0xFF
+ bne _082E4CBE
+ b _082E504E
+_082E4CBE:
+ ldr r0, _082E4D24
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x14]
+ cmp r0, 0
+ bne _082E4CCA
+ b _082E504E
+_082E4CCA:
+ ldr r3, _082E4D28
+ ldr r2, [r3]
+ ldrb r1, [r2]
+ movs r4, 0x4
+ adds r0, r4, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _082E4CE0
+ movs r0, 0xB4
+ lsls r0, 1
+ strh r0, [r2, 0x20]
+_082E4CE0:
+ ldr r1, [r3]
+ ldrb r0, [r1, 0x6]
+ cmp r0, 0
+ bne _082E4CEE
+ strb r4, [r1, 0x6]
+ movs r1, 0x1
+ str r1, [sp, 0x8]
+_082E4CEE:
+ lsls r0, r6, 24
+ lsrs r0, 24
+ cmp r0, 0x29
+ bne _082E4D30
+ ldr r0, _082E4D2C
+ ldr r0, [r0]
+ adds r0, 0xDC
+ ldr r1, [r0]
+ ldrb r0, [r1, 0x4]
+ mov r2, r8
+ strb r0, [r2]
+ ldrb r0, [r1, 0x5]
+ ldr r1, [sp]
+ strb r0, [r1]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _082E4D18
+ ldr r0, [r5]
+ ldrb r0, [r0, 0x2]
+ strb r0, [r2]
+_082E4D18:
+ movs r2, 0x2
+ str r2, [sp, 0x8]
+ b _082E4D88
+ .align 2, 0
+_082E4D20: .4byte 0x03007890
+_082E4D24: .4byte 0x03007868
+_082E4D28: .4byte 0x03007894
+_082E4D2C: .4byte 0x03007898
+_082E4D30:
+ movs r0, 0x9B
+ lsls r0, 1
+ cmp r6, r0
+ bne _082E4D80
+ ldr r0, _082E4DDC
+ ldr r0, [r0]
+ adds r0, 0xDC
+ ldr r0, [r0]
+ ldrb r6, [r0, 0x5]
+ ldr r0, [r5]
+ ldrb r0, [r0, 0x2]
+ eors r6, r0
+ ands r6, r0
+ mov r0, r8
+ strb r6, [r0]
+ movs r0, 0x1
+ ldr r1, [sp]
+ strb r0, [r1]
+ movs r5, 0
+_082E4D56:
+ mov r2, r8
+ ldrb r0, [r2]
+ asrs r0, r5
+ movs r1, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _082E4D76
+ ldr r0, _082E4DE0
+ ldr r0, [r0]
+ adds r0, 0xA
+ adds r0, r5
+ movs r1, 0
+ strb r1, [r0]
+ adds r0, r5, 0
+ bl rfu_STC_removeLinkData
+_082E4D76:
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x3
+ bls _082E4D56
+_082E4D80:
+ ldr r0, [sp, 0x8]
+ cmp r0, 0
+ bne _082E4D88
+ b _082E504E
+_082E4D88:
+ ldr r4, _082E4DDC
+ ldr r0, [r4]
+ adds r0, 0xDC
+ ldr r0, [r0]
+ ldr r1, [r0]
+ str r1, [sp, 0x10]
+ ldr r0, [r0, 0x4]
+ str r0, [sp, 0x14]
+ ldr r0, _082E4DE4
+ bl STWI_set_Callback_M
+ bl STWI_send_LinkStatusREQ
+ bl STWI_poll_CommandEnd
+ lsls r0, 24
+ lsrs r0, 24
+ str r0, [sp, 0xC]
+ cmp r0, 0
+ bne _082E4DE8
+ ldr r0, [r4]
+ adds r0, 0xDC
+ ldr r0, [r0]
+ adds r2, r0, 0x4
+ movs r5, 0
+ ldr r3, _082E4DE0
+_082E4DBC:
+ ldr r0, [r3]
+ adds r0, 0xA
+ adds r0, r5
+ ldrb r1, [r2]
+ strb r1, [r0]
+ adds r2, 0x1
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x3
+ bls _082E4DBC
+ movs r2, 0
+ mov r9, r2
+ movs r5, 0
+ b _082E4DF4
+ .align 2, 0
+_082E4DDC: .4byte 0x03007898
+_082E4DE0: .4byte 0x03007890
+_082E4DE4: .4byte rfu_CB_defaultCallback + 1
+_082E4DE8:
+ movs r0, 0x11
+ ldr r1, [sp, 0xC]
+ bl rfu_STC_REQ_callback
+ ldr r0, [sp, 0xC]
+ b _082E5050
+_082E4DF4:
+ ldr r1, _082E4E7C
+ ldr r0, [r1]
+ adds r0, 0xE
+ adds r2, r0, r5
+ ldrb r0, [r2]
+ adds r3, r1, 0
+ cmp r0, 0
+ beq _082E4E1A
+ subs r0, 0x4
+ strb r0, [r2]
+ ldr r0, _082E4E80
+ ldr r0, [r0]
+ adds r0, 0xA
+ adds r1, r0, r5
+ ldrb r0, [r1]
+ cmp r0, 0xF
+ bhi _082E4E1A
+ movs r0, 0x10
+ strb r0, [r1]
+_082E4E1A:
+ movs r0, 0x80
+ lsls r0, 17
+ lsls r0, r5
+ lsrs r6, r0, 24
+ adds r0, r5, 0x1
+ mov r10, r0
+ ldr r1, [sp, 0xC]
+ cmp r1, 0
+ beq _082E4E2E
+ b _082E5002
+_082E4E2E:
+ ldr r2, [sp, 0x8]
+ cmp r2, 0x1
+ bne _082E4F10
+ ldr r4, _082E4E80
+ ldr r1, [r4]
+ ldrb r0, [r1, 0x2]
+ ands r0, r6
+ cmp r0, 0
+ beq _082E4F10
+ adds r0, r1, 0
+ adds r0, 0xA
+ adds r0, r5
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _082E4F04
+ ldrb r0, [r1]
+ cmp r0, 0x1
+ bne _082E4E84
+ ldr r1, [r3]
+ adds r1, 0xA
+ adds r1, r5
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ ldr r0, [r3]
+ adds r0, 0xA
+ adds r0, r5
+ ldrb r0, [r0]
+ cmp r0, 0x3
+ bls _082E4F10
+ mov r0, r8
+ ldrb r1, [r0]
+ adds r0, r6, 0
+ orrs r0, r1
+ mov r1, r8
+ strb r0, [r1]
+ ldr r0, [sp]
+ strb r2, [r0]
+ b _082E4F10
+ .align 2, 0
+_082E4E7C: .4byte 0x03007894
+_082E4E80: .4byte 0x03007890
+_082E4E84:
+ bl STWI_send_SystemStatusREQ
+ bl STWI_poll_CommandEnd
+ lsls r0, 16
+ cmp r0, 0
+ bne _082E4F10
+ ldr r0, _082E4EB4
+ ldr r0, [r0]
+ adds r0, 0xDC
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x7]
+ cmp r0, 0
+ bne _082E4EB8
+ mov r2, r8
+ ldrb r1, [r2]
+ adds r0, r6, 0
+ orrs r0, r1
+ strb r0, [r2]
+ mov r0, sp
+ ldrb r1, [r0, 0x8]
+ ldr r0, [sp]
+ b _082E4F0E
+ .align 2, 0
+_082E4EB4: .4byte 0x03007898
+_082E4EB8:
+ ldr r2, _082E4F00
+ ldr r1, [r2]
+ adds r1, 0xA
+ adds r1, r5
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ lsls r0, 24
+ ldr r2, [r2]
+ lsrs r0, 24
+ ldrh r1, [r2, 0x1A]
+ cmp r0, r1
+ bls _082E4F10
+ adds r0, r2, 0
+ adds r0, 0xA
+ adds r0, r5
+ mov r2, sp
+ ldrb r2, [r2, 0xC]
+ strb r2, [r0]
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x2]
+ bl STWI_send_DisconnectREQ
+ bl STWI_poll_CommandEnd
+ mov r0, r8
+ ldrb r1, [r0]
+ adds r0, r6, 0
+ orrs r0, r1
+ mov r1, r8
+ strb r0, [r1]
+ mov r2, sp
+ ldrb r0, [r2, 0x8]
+ ldr r2, [sp]
+ strb r0, [r2]
+ b _082E4F10
+ .align 2, 0
+_082E4F00: .4byte 0x03007894
+_082E4F04:
+ ldr r0, [r3]
+ adds r0, 0xA
+ adds r0, r5
+ mov r1, sp
+ ldrb r1, [r1, 0xC]
+_082E4F0E:
+ strb r1, [r0]
+_082E4F10:
+ ldr r2, _082E4F70
+ mov r12, r2
+ ldr r1, [r2]
+ ldrb r7, [r1]
+ adds r0, r5, 0x1
+ mov r10, r0
+ cmp r7, 0x1
+ bne _082E5002
+ adds r0, r1, 0
+ adds r0, 0xA
+ adds r4, r0, r5
+ ldrb r3, [r4]
+ cmp r3, 0
+ beq _082E5002
+ ldrb r2, [r1, 0x3]
+ adds r0, r6, 0
+ ands r0, r2
+ cmp r0, 0
+ beq _082E4F7E
+ cmp r3, 0xA
+ bls _082E4F78
+ ldr r2, [sp, 0x4]
+ ldrb r1, [r2]
+ adds r0, r6, 0
+ orrs r0, r1
+ strb r0, [r2]
+ mov r0, r12
+ ldr r2, [r0]
+ ldrb r1, [r2, 0x2]
+ adds r0, r6, 0
+ orrs r0, r1
+ movs r3, 0
+ strb r0, [r2, 0x2]
+ mov r2, r12
+ ldr r1, [r2]
+ ldrb r0, [r1, 0x3]
+ bics r0, r6
+ strb r0, [r1, 0x3]
+ ldr r1, [r2]
+ ldrb r0, [r1, 0x1]
+ adds r0, 0x1
+ strb r0, [r1, 0x1]
+ ldr r0, _082E4F74
+ ldr r0, [r0]
+ adds r0, 0xA
+ adds r0, r5
+ strb r3, [r0]
+ b _082E5002
+ .align 2, 0
+_082E4F70: .4byte 0x03007890
+_082E4F74: .4byte 0x03007894
+_082E4F78:
+ movs r0, 0
+ strb r0, [r4]
+ b _082E5002
+_082E4F7E:
+ ldrb r0, [r1, 0x2]
+ orrs r0, r2
+ ands r0, r6
+ cmp r0, 0
+ bne _082E5002
+ bl STWI_send_SlotStatusREQ
+ bl STWI_poll_CommandEnd
+ ldr r0, _082E4FC8
+ ldr r0, [r0]
+ adds r0, 0xDC
+ ldr r2, [r0]
+ ldrb r0, [r2, 0x1]
+ subs r0, 0x1
+ lsls r0, 24
+ lsrs r3, r0, 24
+ adds r2, 0x8
+ cmp r3, 0
+ beq _082E5002
+ ldrh r4, [r2]
+ ldrb r0, [r2, 0x2]
+ cmp r0, r5
+ bne _082E4FD0
+ ldr r0, _082E4FCC
+ ldr r0, [r0]
+ lsls r1, r5, 1
+ adds r0, 0x12
+ adds r0, r1
+ ldrh r0, [r0]
+ cmp r4, r0
+ bne _082E4FD0
+ lsls r7, r5
+ mov r0, r9
+ orrs r0, r7
+ lsls r0, 24
+ b _082E4FFE
+ .align 2, 0
+_082E4FC8: .4byte 0x03007898
+_082E4FCC: .4byte 0x03007894
+_082E4FD0:
+ adds r2, 0x4
+ subs r0, r3, 0x1
+ lsls r0, 24
+ lsrs r3, r0, 24
+ cmp r3, 0
+ beq _082E5002
+ ldrh r4, [r2]
+ ldrb r0, [r2, 0x2]
+ cmp r0, r5
+ bne _082E4FD0
+ ldr r0, _082E5060
+ ldr r0, [r0]
+ lsls r1, r5, 1
+ adds r0, 0x12
+ adds r0, r1
+ ldrh r0, [r0]
+ cmp r4, r0
+ bne _082E4FD0
+ movs r0, 0x1
+ lsls r0, r5
+ mov r1, r9
+ orrs r1, r0
+ lsls r0, r1, 24
+_082E4FFE:
+ lsrs r0, 24
+ mov r9, r0
+_082E5002:
+ ldr r0, _082E5064
+ ldr r0, [r0]
+ ldrb r1, [r0, 0x2]
+ mov r2, r8
+ ldrb r0, [r2]
+ ands r0, r1
+ ands r6, r0
+ cmp r6, 0
+ beq _082E501C
+ adds r0, r5, 0
+ movs r1, 0
+ bl rfu_STC_removeLinkData
+_082E501C:
+ mov r1, r10
+ lsls r0, r1, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x3
+ bhi _082E5028
+ b _082E4DF4
+_082E5028:
+ mov r2, r9
+ cmp r2, 0
+ beq _082E5038
+ mov r0, r9
+ bl STWI_send_DisconnectREQ
+ bl STWI_poll_CommandEnd
+_082E5038:
+ ldr r1, _082E5068
+ ldr r0, [r1]
+ adds r0, 0xDC
+ ldr r0, [r0]
+ ldr r2, [sp, 0x10]
+ str r2, [r0]
+ ldr r0, [r1]
+ adds r0, 0xDC
+ ldr r0, [r0]
+ ldr r1, [sp, 0x14]
+ str r1, [r0, 0x4]
+_082E504E:
+ movs r0, 0
+_082E5050:
+ add sp, 0x18
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_082E5060: .4byte 0x03007894
+_082E5064: .4byte 0x03007890
+_082E5068: .4byte 0x03007898
+ thumb_func_end rfu_REQBN_watchLink
+
+ thumb_func_start rfu_STC_removeLinkData
+rfu_STC_removeLinkData: @ 82E506C
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r7, r0, 24
+ lsls r1, 24
+ lsrs r1, 24
+ mov r12, r1
+ movs r0, 0x80
+ lsls r0, 17
+ lsls r0, r7
+ lsrs r6, r0, 24
+ ldr r0, _082E511C
+ ldr r0, [r0]
+ adds r0, 0xE
+ adds r0, r7
+ movs r1, 0
+ strb r1, [r0]
+ ldr r1, _082E5120
+ ldr r4, [r1]
+ ldrb r0, [r4, 0x2]
+ ands r0, r6
+ mov r8, r1
+ cmp r0, 0
+ beq _082E50AA
+ ldrb r0, [r4, 0x1]
+ cmp r0, 0
+ beq _082E50AA
+ subs r0, 0x1
+ strb r0, [r4, 0x1]
+_082E50AA:
+ mov r3, r8
+ ldr r2, [r3]
+ mvns r5, r6
+ ldrb r1, [r2, 0x2]
+ adds r0, r5, 0
+ ands r0, r1
+ strb r0, [r2, 0x2]
+ ldr r2, [r3]
+ ldrb r1, [r2, 0x3]
+ adds r0, r6, 0
+ orrs r0, r1
+ strb r0, [r2, 0x3]
+ ldr r3, [r3]
+ ldr r0, [r3]
+ ldr r1, _082E5124
+ ands r0, r1
+ cmp r0, 0
+ bne _082E50D2
+ movs r0, 0xFF
+ strb r0, [r3]
+_082E50D2:
+ mov r0, r12
+ cmp r0, 0
+ beq _082E5110
+ mov r1, sp
+ movs r4, 0
+ movs r0, 0
+ strh r0, [r1]
+ lsls r0, r7, 5
+ adds r0, 0x14
+ mov r2, r8
+ ldr r1, [r2]
+ adds r1, r0
+ ldr r2, _082E5128
+ mov r0, sp
+ bl CpuSet
+ mov r0, r8
+ ldr r2, [r0]
+ ldrb r1, [r2, 0x3]
+ adds r0, r5, 0
+ ands r0, r1
+ strb r0, [r2, 0x3]
+ mov r2, r8
+ ldr r1, [r2]
+ ldrb r0, [r1, 0x7]
+ ands r5, r0
+ strb r5, [r1, 0x7]
+ ldr r0, [r2]
+ adds r0, 0xA
+ adds r0, r7
+ strb r4, [r0]
+_082E5110:
+ add sp, 0x4
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E511C: .4byte 0x03007894
+_082E5120: .4byte 0x03007890
+_082E5124: .4byte 0x00ff00ff
+_082E5128: .4byte 0x01000010
+ thumb_func_end rfu_STC_removeLinkData
+
+ thumb_func_start rfu_REQ_disconnect
+rfu_REQ_disconnect: @ 82E512C
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r2, _082E5170
+ ldr r1, [r2]
+ ldrb r0, [r1, 0x2]
+ ldrb r1, [r1, 0x3]
+ orrs r0, r1
+ ands r0, r4
+ cmp r0, 0
+ beq _082E51B0
+ ldr r0, _082E5174
+ ldr r1, [r0]
+ strb r4, [r1, 0x5]
+ ldr r2, [r2]
+ ldrb r1, [r2]
+ adds r3, r0, 0
+ cmp r1, 0xFF
+ bne _082E5178
+ ldr r0, [r3]
+ ldrb r1, [r0]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ beq _082E5178
+ ldrb r0, [r2, 0x3]
+ ands r0, r4
+ cmp r0, 0
+ beq _082E51B0
+ movs r0, 0x30
+ movs r1, 0
+ bl rfu_CB_disconnect
+ b _082E51B0
+ .align 2, 0
+_082E5170: .4byte 0x03007890
+_082E5174: .4byte 0x03007894
+_082E5178:
+ ldr r0, [r3]
+ ldrb r0, [r0, 0x9]
+ cmp r0, 0
+ beq _082E51A4
+ ldr r0, _082E51A0
+ bl STWI_set_Callback_M
+ bl STWI_send_SC_EndREQ
+ bl STWI_poll_CommandEnd
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0
+ beq _082E51A4
+ movs r0, 0x1B
+ bl rfu_STC_REQ_callback
+ b _082E51B0
+ .align 2, 0
+_082E51A0: .4byte rfu_CB_defaultCallback + 1
+_082E51A4:
+ ldr r0, _082E51B8
+ bl STWI_set_Callback_M
+ adds r0, r4, 0
+ bl STWI_send_DisconnectREQ
+_082E51B0:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E51B8: .4byte rfu_CB_disconnect + 1
+ thumb_func_end rfu_REQ_disconnect
+
+ thumb_func_start rfu_CB_disconnect
+rfu_CB_disconnect: @ 82E51BC
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r6, r0, 24
+ lsls r1, 16
+ lsrs r5, r1, 16
+ cmp r5, 0x3
+ bne _082E51F8
+ ldr r0, _082E528C
+ ldr r0, [r0]
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _082E51F8
+ ldr r0, _082E5290
+ bl STWI_set_Callback_M
+ bl STWI_send_SystemStatusREQ
+ bl STWI_poll_CommandEnd
+ lsls r0, 16
+ cmp r0, 0
+ bne _082E51F8
+ ldr r0, _082E5294
+ ldr r0, [r0]
+ adds r0, 0xDC
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x7]
+ cmp r0, 0
+ bne _082E51F8
+ movs r5, 0
+_082E51F8:
+ ldr r3, _082E5298
+ ldr r2, [r3]
+ ldr r0, _082E528C
+ ldr r1, [r0]
+ ldrb r0, [r1, 0x2]
+ ldrb r1, [r1, 0x3]
+ orrs r0, r1
+ ldrb r1, [r2, 0x5]
+ ands r0, r1
+ strb r0, [r2, 0x5]
+ ldr r0, _082E5294
+ ldr r0, [r0]
+ adds r0, 0xDC
+ ldr r1, [r0]
+ ldr r0, [r3]
+ ldrb r0, [r0, 0x5]
+ strb r0, [r1, 0x8]
+ cmp r5, 0
+ bne _082E5246
+ movs r4, 0
+_082E5220:
+ movs r0, 0x80
+ lsls r0, 17
+ lsls r0, r4
+ lsrs r0, 24
+ ldr r1, _082E5298
+ ldr r1, [r1]
+ ldrb r1, [r1, 0x5]
+ ands r0, r1
+ cmp r0, 0
+ beq _082E523C
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl rfu_STC_removeLinkData
+_082E523C:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x3
+ bls _082E5220
+_082E5246:
+ ldr r0, _082E528C
+ ldr r2, [r0]
+ ldrb r1, [r2, 0x2]
+ ldrb r0, [r2, 0x3]
+ orrs r0, r1
+ cmp r0, 0
+ bne _082E5258
+ movs r0, 0xFF
+ strb r0, [r2]
+_082E5258:
+ adds r0, r6, 0
+ adds r1, r5, 0
+ bl rfu_STC_REQ_callback
+ ldr r0, _082E5298
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x9]
+ cmp r0, 0
+ beq _082E5286
+ ldr r0, _082E5290
+ bl STWI_set_Callback_M
+ bl STWI_send_SC_StartREQ
+ bl STWI_poll_CommandEnd
+ adds r5, r0, 0
+ cmp r5, 0
+ beq _082E5286
+ movs r0, 0x19
+ adds r1, r5, 0
+ bl rfu_STC_REQ_callback
+_082E5286:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E528C: .4byte 0x03007890
+_082E5290: .4byte rfu_CB_defaultCallback + 1
+_082E5294: .4byte 0x03007898
+_082E5298: .4byte 0x03007894
+ thumb_func_end rfu_CB_disconnect
+
+ thumb_func_start rfu_REQ_CHILD_startConnectRecovery
+rfu_REQ_CHILD_startConnectRecovery: @ 82E529C
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r0, _082E52EC
+ ldr r0, [r0]
+ strb r5, [r0, 0x5]
+ movs r4, 0
+ movs r0, 0x1
+ ands r0, r5
+ ldr r2, _082E52F0
+ cmp r0, 0
+ bne _082E52CA
+ movs r1, 0x1
+_082E52B6:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x3
+ bhi _082E52CA
+ adds r0, r5, 0
+ asrs r0, r4
+ ands r0, r1
+ cmp r0, 0
+ beq _082E52B6
+_082E52CA:
+ adds r0, r2, 0
+ bl STWI_set_Callback_M
+ ldr r0, _082E52F4
+ ldr r1, [r0]
+ lsls r0, r4, 5
+ adds r0, r1, r0
+ ldrh r0, [r0, 0x14]
+ adds r1, 0x94
+ ldrh r1, [r1]
+ adds r2, r5, 0
+ bl STWI_send_CPR_StartREQ
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E52EC: .4byte 0x03007894
+_082E52F0: .4byte rfu_STC_REQ_callback + 1
+_082E52F4: .4byte 0x03007890
+ thumb_func_end rfu_REQ_CHILD_startConnectRecovery
+
+ thumb_func_start rfu_REQ_CHILD_pollConnectRecovery
+rfu_REQ_CHILD_pollConnectRecovery: @ 82E52F8
+ push {lr}
+ ldr r0, _082E5308
+ bl STWI_set_Callback_M
+ bl STWI_send_CPR_PollingREQ
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E5308: .4byte rfu_CB_CHILD_pollConnectRecovery + 1
+ thumb_func_end rfu_REQ_CHILD_pollConnectRecovery
+
+ thumb_func_start rfu_CB_CHILD_pollConnectRecovery
+rfu_CB_CHILD_pollConnectRecovery: @ 82E530C
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ lsls r1, 16
+ lsrs r7, r1, 16
+ cmp r7, 0
+ bne _082E5390
+ ldr r0, _082E53A4
+ ldr r0, [r0]
+ adds r0, 0xDC
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x4]
+ cmp r0, 0
+ bne _082E5390
+ ldr r0, _082E53A8
+ ldr r1, [r0]
+ ldrb r1, [r1, 0x5]
+ adds r6, r0, 0
+ cmp r1, 0
+ beq _082E5390
+ ldr r1, _082E53AC
+ ldr r0, [r1]
+ strb r7, [r0]
+ movs r4, 0
+ adds r5, r1, 0
+ mov r12, r4
+_082E5346:
+ movs r0, 0x80
+ lsls r0, 17
+ lsls r0, r4
+ lsrs r3, r0, 24
+ ldr r2, [r5]
+ ldr r0, [r6]
+ ldrb r0, [r0, 0x5]
+ ands r0, r3
+ ldrb r1, [r2, 0x3]
+ ands r0, r1
+ cmp r0, 0
+ beq _082E5380
+ ldrb r1, [r2, 0x2]
+ adds r0, r3, 0
+ orrs r0, r1
+ strb r0, [r2, 0x2]
+ ldr r1, [r5]
+ ldrb r0, [r1, 0x3]
+ bics r0, r3
+ strb r0, [r1, 0x3]
+ ldr r1, [r5]
+ ldrb r0, [r1, 0x1]
+ adds r0, 0x1
+ strb r0, [r1, 0x1]
+ ldr r0, [r6]
+ adds r0, 0xA
+ adds r0, r4
+ mov r1, r12
+ strb r1, [r0]
+_082E5380:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x3
+ bls _082E5346
+ ldr r1, [r6]
+ movs r0, 0
+ strb r0, [r1, 0x5]
+_082E5390:
+ mov r0, r8
+ adds r1, r7, 0
+ bl rfu_STC_REQ_callback
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E53A4: .4byte 0x03007898
+_082E53A8: .4byte 0x03007894
+_082E53AC: .4byte 0x03007890
+ thumb_func_end rfu_CB_CHILD_pollConnectRecovery
+
+ thumb_func_start rfu_CHILD_getConnectRecoveryStatus
+rfu_CHILD_getConnectRecoveryStatus: @ 82E53B0
+ push {lr}
+ adds r2, r0, 0
+ movs r0, 0xFF
+ strb r0, [r2]
+ ldr r0, _082E53D0
+ ldr r0, [r0]
+ adds r0, 0xDC
+ ldr r1, [r0]
+ ldrb r0, [r1]
+ adds r0, 0x4D
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bls _082E53D4
+ movs r0, 0x10
+ b _082E53DA
+ .align 2, 0
+_082E53D0: .4byte 0x03007898
+_082E53D4:
+ ldrb r0, [r1, 0x4]
+ strb r0, [r2]
+ movs r0, 0
+_082E53DA:
+ pop {r1}
+ bx r1
+ thumb_func_end rfu_CHILD_getConnectRecoveryStatus
+
+ thumb_func_start rfu_REQ_CHILD_endConnectRecovery
+rfu_REQ_CHILD_endConnectRecovery: @ 82E53E0
+ push {lr}
+ ldr r0, _082E53F0
+ bl STWI_set_Callback_M
+ bl STWI_send_CPR_EndREQ
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E53F0: .4byte rfu_CB_CHILD_pollConnectRecovery + 1
+ thumb_func_end rfu_REQ_CHILD_endConnectRecovery
+
+ thumb_func_start sub_82E53F4
+sub_82E53F4: @ 82E53F4
+ push {r4-r6,lr}
+ adds r5, r0, 0
+ adds r6, r1, 0
+ ldr r3, [r5]
+ ldr r1, [r6]
+ subs r2, 0x1
+ movs r0, 0x1
+ negs r0, r0
+ cmp r2, r0
+ beq _082E5418
+ adds r4, r0, 0
+ thumb_func_end sub_82E53F4
+
+ non_word_aligned_thumb_func_start sub_82E540A
+sub_82E540A: @ 82E540A
+ ldrb r0, [r3]
+ strb r0, [r1]
+ adds r3, 0x1
+ adds r1, 0x1
+ subs r2, 0x1
+ cmp r2, r4
+ bne sub_82E540A
+_082E5418:
+ str r3, [r5]
+ str r1, [r6]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_82E540A
+
+ thumb_func_start rfu_REQ_changeMasterSlave
+rfu_REQ_changeMasterSlave: @ 82E5424
+ push {lr}
+ movs r0, 0x1
+ bl STWI_read_status
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x1
+ bne _082E5444
+ ldr r0, _082E5440
+ bl STWI_set_Callback_M
+ bl STWI_send_MS_ChangeREQ
+ b _082E544C
+ .align 2, 0
+_082E5440: .4byte rfu_STC_REQ_callback + 1
+_082E5444:
+ movs r0, 0x27
+ movs r1, 0
+ bl rfu_STC_REQ_callback
+_082E544C:
+ pop {r0}
+ bx r0
+ thumb_func_end rfu_REQ_changeMasterSlave
+
+ thumb_func_start rfu_getMasterSlave
+rfu_getMasterSlave: @ 82E5450
+ push {lr}
+ movs r0, 0x1
+ bl STWI_read_status
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0x1
+ bne _082E547E
+ ldr r0, _082E5484
+ ldr r1, [r0]
+ adds r0, r1, 0
+ adds r0, 0x2C
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _082E547E
+ ldrb r0, [r1, 0x6]
+ cmp r0, 0x27
+ beq _082E547C
+ cmp r0, 0x25
+ beq _082E547C
+ cmp r0, 0x37
+ bne _082E547E
+_082E547C:
+ movs r2, 0
+_082E547E:
+ adds r0, r2, 0
+ pop {r1}
+ bx r1
+ .align 2, 0
+_082E5484: .4byte 0x03007868
+ thumb_func_end rfu_getMasterSlave
+
+ thumb_func_start rfu_clearAllSlot
+rfu_clearAllSlot: @ 82E5488
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x4
+ ldr r1, _082E550C
+ ldrh r0, [r1]
+ mov r8, r0
+ movs r0, 0
+ strh r0, [r1]
+ movs r5, 0
+ mov r0, sp
+ adds r0, 0x2
+ movs r7, 0
+ adds r6, r0, 0
+_082E54A4:
+ mov r0, sp
+ strh r7, [r0]
+ ldr r0, _082E5510
+ lsls r4, r5, 2
+ adds r0, r4, r0
+ ldr r1, [r0]
+ mov r0, sp
+ ldr r2, _082E5514
+ bl CpuSet
+ strh r7, [r6]
+ ldr r0, _082E5518
+ adds r4, r0
+ ldr r1, [r4]
+ adds r0, r6, 0
+ ldr r2, _082E551C
+ bl CpuSet
+ ldr r3, _082E5520
+ ldr r0, [r3]
+ adds r0, 0x10
+ adds r0, r5
+ movs r1, 0x10
+ strb r1, [r0]
+ adds r0, r5, 0x1
+ lsls r0, 16
+ lsrs r5, r0, 16
+ cmp r5, 0x3
+ bls _082E54A4
+ ldr r2, [r3]
+ movs r1, 0
+ movs r0, 0x57
+ strb r0, [r2, 0xF]
+ ldr r0, [r3]
+ strb r1, [r0, 0x4]
+ ldr r0, [r3]
+ strb r1, [r0, 0x5]
+ ldr r0, [r3]
+ strb r1, [r0, 0x6]
+ ldr r0, _082E5524
+ ldr r0, [r0]
+ strb r1, [r0, 0x2]
+ ldr r0, _082E550C
+ mov r1, r8
+ strh r1, [r0]
+ add sp, 0x4
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E550C: .4byte 0x04000208
+_082E5510: .4byte 0x03007880
+_082E5514: .4byte 0x01000034
+_082E5518: .4byte 0x03007870
+_082E551C: .4byte 0x0100000a
+_082E5520: .4byte 0x03007890
+_082E5524: .4byte 0x03007894
+ thumb_func_end rfu_clearAllSlot
+
+ thumb_func_start rfu_STC_releaseFrame
+rfu_STC_releaseFrame: @ 82E5528
+ push {r4-r6,lr}
+ adds r4, r2, 0
+ lsls r0, 24
+ lsrs r2, r0, 24
+ adds r5, r2, 0
+ lsls r1, 24
+ lsrs r3, r1, 24
+ ldr r0, _082E5560
+ ldr r0, [r0]
+ ldrb r1, [r0]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _082E5568
+ ldr r6, _082E5564
+ cmp r3, 0
+ bne _082E5554
+ ldr r1, [r6]
+ ldrb r0, [r1, 0xF]
+ ldrh r4, [r4, 0x2E]
+ adds r0, r4
+ strb r0, [r1, 0xF]
+_082E5554:
+ ldr r1, [r6]
+ ldrb r0, [r1, 0xF]
+ adds r0, 0x3
+ strb r0, [r1, 0xF]
+ b _082E5588
+ .align 2, 0
+_082E5560: .4byte 0x03007894
+_082E5564: .4byte 0x03007890
+_082E5568:
+ ldr r6, _082E5590
+ cmp r3, 0
+ bne _082E557C
+ ldr r1, [r6]
+ adds r1, 0x10
+ adds r1, r2
+ ldrb r0, [r1]
+ ldrh r4, [r4, 0x2E]
+ adds r0, r4
+ strb r0, [r1]
+_082E557C:
+ ldr r1, [r6]
+ adds r1, 0x10
+ adds r1, r5
+ ldrb r0, [r1]
+ adds r0, 0x2
+ strb r0, [r1]
+_082E5588:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E5590: .4byte 0x03007890
+ thumb_func_end rfu_STC_releaseFrame
+
+ thumb_func_start rfu_clearSlot
+rfu_clearSlot: @ 82E5594
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ lsls r1, 24
+ lsrs r7, r1, 24
+ cmp r7, 0x3
+ bls _082E55B4
+ movs r0, 0x80
+ lsls r0, 3
+ b _082E572C
+_082E55B4:
+ movs r0, 0xF
+ mov r1, r8
+ ands r0, r1
+ cmp r0, 0
+ bne _082E55C4
+ movs r0, 0xC0
+ lsls r0, 3
+ b _082E572C
+_082E55C4:
+ ldr r1, _082E5608
+ ldrh r0, [r1]
+ mov r10, r0
+ movs r0, 0
+ strh r0, [r1]
+ movs r0, 0xC
+ mov r2, r8
+ ands r0, r2
+ cmp r0, 0
+ beq _082E568C
+ movs r3, 0
+ ldr r1, _082E560C
+ lsls r0, r7, 2
+ adds r0, r1
+ mov r9, r0
+_082E55E2:
+ movs r4, 0
+ cmp r3, 0
+ bne _082E5614
+ movs r0, 0x4
+ mov r1, r8
+ ands r0, r1
+ cmp r0, 0
+ beq _082E5634
+ mov r2, r9
+ ldr r4, [r2]
+ ldr r0, _082E5610
+ ldr r2, [r0]
+ adds r0, r4, 0
+ adds r0, 0x2C
+ ldrb r1, [r0]
+ ldrb r0, [r2, 0x4]
+ bics r0, r1
+ strb r0, [r2, 0x4]
+ b _082E5634
+ .align 2, 0
+_082E5608: .4byte 0x04000208
+_082E560C: .4byte 0x03007880
+_082E5610: .4byte 0x03007890
+_082E5614:
+ movs r0, 0x8
+ mov r1, r8
+ ands r0, r1
+ cmp r0, 0
+ beq _082E5634
+ mov r2, r9
+ ldr r0, [r2]
+ adds r4, r0, 0
+ adds r4, 0x34
+ ldr r0, _082E56C8
+ ldr r2, [r0]
+ movs r1, 0x1
+ lsls r1, r7
+ ldrb r0, [r2, 0x5]
+ bics r0, r1
+ strb r0, [r2, 0x5]
+_082E5634:
+ adds r6, r3, 0x1
+ cmp r4, 0
+ beq _082E5684
+ ldrh r0, [r4]
+ movs r2, 0x80
+ lsls r2, 8
+ adds r1, r2, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _082E5674
+ lsls r1, r3, 24
+ lsrs r1, 24
+ adds r0, r7, 0
+ adds r2, r4, 0
+ bl rfu_STC_releaseFrame
+ movs r1, 0
+ adds r2, r4, 0
+ adds r2, 0x2C
+ movs r5, 0x1
+ movs r3, 0
+_082E565E:
+ ldrb r0, [r2]
+ asrs r0, r1
+ ands r0, r5
+ cmp r0, 0
+ beq _082E566A
+ strh r3, [r4, 0x2]
+_082E566A:
+ adds r0, r1, 0x1
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0x3
+ bls _082E565E
+_082E5674:
+ mov r1, sp
+ movs r0, 0
+ strh r0, [r1]
+ mov r0, sp
+ adds r1, r4, 0
+ ldr r2, _082E56CC
+ bl CpuSet
+_082E5684:
+ lsls r0, r6, 16
+ lsrs r3, r0, 16
+ cmp r3, 0x1
+ bls _082E55E2
+_082E568C:
+ movs r0, 0x1
+ mov r4, r8
+ ands r0, r4
+ cmp r0, 0
+ beq _082E5702
+ ldr r1, _082E56D0
+ lsls r0, r7, 2
+ adds r0, r1
+ ldr r3, [r0]
+ ldrh r1, [r3]
+ movs r0, 0x80
+ lsls r0, 8
+ ands r0, r1
+ cmp r0, 0
+ beq _082E56F4
+ ldr r0, _082E56D4
+ ldr r0, [r0]
+ ldrb r1, [r0]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _082E56D8
+ ldr r2, _082E56C8
+ ldr r1, [r2]
+ ldrb r0, [r1, 0xF]
+ adds r0, 0x3
+ ldrb r4, [r3, 0x4]
+ adds r0, r4
+ strb r0, [r1, 0xF]
+ b _082E56EA
+ .align 2, 0
+_082E56C8: .4byte 0x03007890
+_082E56CC: .4byte 0x0100001a
+_082E56D0: .4byte 0x03007870
+_082E56D4: .4byte 0x03007894
+_082E56D8:
+ ldr r2, _082E573C
+ ldr r1, [r2]
+ adds r1, 0x10
+ adds r1, r7
+ ldrb r0, [r1]
+ adds r0, 0x2
+ ldrb r4, [r3, 0x4]
+ adds r0, r4
+ strb r0, [r1]
+_082E56EA:
+ ldr r2, [r2]
+ ldrb r1, [r3, 0x3]
+ ldrb r0, [r2, 0x6]
+ bics r0, r1
+ strb r0, [r2, 0x6]
+_082E56F4:
+ mov r0, sp
+ movs r1, 0
+ strh r1, [r0]
+ ldr r2, _082E5740
+ adds r1, r3, 0
+ bl CpuSet
+_082E5702:
+ movs r0, 0x2
+ mov r1, r8
+ ands r0, r1
+ cmp r0, 0
+ beq _082E5724
+ mov r1, sp
+ movs r0, 0
+ strh r0, [r1]
+ ldr r1, _082E5744
+ lsls r0, r7, 2
+ adds r0, r1
+ ldr r1, [r0]
+ adds r1, 0xC
+ ldr r2, _082E5748
+ mov r0, sp
+ bl CpuSet
+_082E5724:
+ ldr r0, _082E574C
+ mov r2, r10
+ strh r2, [r0]
+ movs r0, 0
+_082E572C:
+ add sp, 0x4
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_082E573C: .4byte 0x03007890
+_082E5740: .4byte 0x01000006
+_082E5744: .4byte 0x03007870
+_082E5748: .4byte 0x01000004
+_082E574C: .4byte 0x04000208
+ thumb_func_end rfu_clearSlot
+
+ thumb_func_start rfu_setRecvBuffer
+rfu_setRecvBuffer: @ 82E5750
+ push {r4-r6,lr}
+ adds r5, r2, 0
+ adds r6, r3, 0
+ lsls r0, 24
+ lsrs r3, r0, 24
+ adds r2, r3, 0
+ lsls r1, 24
+ lsrs r1, 24
+ adds r4, r1, 0
+ cmp r1, 0x3
+ bls _082E576C
+ movs r0, 0x80
+ lsls r0, 3
+ b _082E57A4
+_082E576C:
+ movs r0, 0x20
+ ands r0, r3
+ cmp r0, 0
+ beq _082E5788
+ ldr r0, _082E5784
+ lsls r1, 2
+ adds r1, r0
+ ldr r0, [r1]
+ str r5, [r0, 0x68]
+ str r6, [r0, 0x6C]
+ b _082E57A2
+ .align 2, 0
+_082E5784: .4byte 0x03007880
+_082E5788:
+ movs r0, 0x10
+ ands r2, r0
+ cmp r2, 0
+ bne _082E5796
+ movs r0, 0xC0
+ lsls r0, 3
+ b _082E57A4
+_082E5796:
+ ldr r0, _082E57AC
+ lsls r1, r4, 2
+ adds r1, r0
+ ldr r0, [r1]
+ str r5, [r0, 0x14]
+ str r6, [r0, 0x18]
+_082E57A2:
+ movs r0, 0
+_082E57A4:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_082E57AC: .4byte 0x03007870
+ thumb_func_end rfu_setRecvBuffer
+
+ thumb_func_start rfu_NI_setSendData
+rfu_NI_setSendData: @ 82E57B0
+ push {r4-r6,lr}
+ sub sp, 0x4
+ adds r4, r0, 0
+ adds r5, r1, 0
+ adds r6, r2, 0
+ lsls r4, 24
+ lsrs r4, 24
+ lsls r5, 24
+ lsrs r5, 24
+ str r3, [sp]
+ movs r0, 0x20
+ adds r1, r4, 0
+ adds r2, r5, 0
+ adds r3, r6, 0
+ bl rfu_STC_setSendData_org
+ lsls r0, 16
+ lsrs r0, 16
+ add sp, 0x4
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end rfu_NI_setSendData
+
+ thumb_func_start rfu_UNI_setSendData
+rfu_UNI_setSendData: @ 82E57DC
+ push {lr}
+ sub sp, 0x4
+ adds r3, r1, 0
+ lsls r0, 24
+ lsrs r1, r0, 24
+ lsls r2, 24
+ lsrs r2, 24
+ ldr r0, _082E57F8
+ ldr r0, [r0]
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ bne _082E57FC
+ adds r0, r2, 0x3
+ b _082E57FE
+ .align 2, 0
+_082E57F8: .4byte 0x03007890
+_082E57FC:
+ adds r0, r2, 0x2
+_082E57FE:
+ lsls r0, 24
+ lsrs r2, r0, 24
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x10
+ bl rfu_STC_setSendData_org
+ lsls r0, 16
+ lsrs r0, 16
+ add sp, 0x4
+ pop {r1}
+ bx r1
+ thumb_func_end rfu_UNI_setSendData
+
+ thumb_func_start rfu_NI_CHILD_setSendGameName
+rfu_NI_CHILD_setSendGameName: @ 82E5818
+ push {lr}
+ sub sp, 0x4
+ adds r2, r1, 0
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r2, 24
+ lsrs r2, 24
+ movs r1, 0x80
+ lsls r1, 17
+ lsls r1, r0
+ lsrs r1, 24
+ ldr r0, _082E5848
+ ldr r3, [r0]
+ adds r3, 0x98
+ movs r0, 0x1A
+ str r0, [sp]
+ movs r0, 0x40
+ bl rfu_STC_setSendData_org
+ lsls r0, 16
+ lsrs r0, 16
+ add sp, 0x4
+ pop {r1}
+ bx r1
+ .align 2, 0
+_082E5848: .4byte 0x03007890
+ thumb_func_end rfu_NI_CHILD_setSendGameName
+
+ thumb_func_start rfu_STC_setSendData_org
+rfu_STC_setSendData_org: @ 82E584C
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x8
+ str r3, [sp]
+ lsls r0, 24
+ lsrs r6, r0, 24
+ lsls r1, 24
+ lsrs r3, r1, 24
+ lsls r2, 24
+ lsrs r2, 24
+ mov r8, r2
+ ldr r0, _082E5878
+ ldr r2, [r0]
+ ldrb r1, [r2]
+ mov r10, r0
+ cmp r1, 0xFF
+ bne _082E5880
+ ldr r0, _082E587C
+ b _082E5A36
+ .align 2, 0
+_082E5878: .4byte 0x03007890
+_082E587C: .4byte 0x00000301
+_082E5880:
+ movs r0, 0xF
+ ands r0, r3
+ cmp r0, 0
+ bne _082E588E
+ movs r0, 0x80
+ lsls r0, 3
+ b _082E5A36
+_082E588E:
+ ldrb r0, [r2, 0x2]
+ ldrb r1, [r2, 0x3]
+ orrs r0, r1
+ ands r0, r3
+ cmp r0, r3
+ beq _082E58A4
+ ldr r0, _082E58A0
+ b _082E5A36
+ .align 2, 0
+_082E58A0: .4byte 0x00000401
+_082E58A4:
+ movs r0, 0x10
+ ands r0, r6
+ cmp r0, 0
+ beq _082E58B0
+ ldrb r0, [r2, 0x6]
+ b _082E58B2
+_082E58B0:
+ ldrb r0, [r2, 0x4]
+_082E58B2:
+ ands r0, r3
+ cmp r0, 0
+ beq _082E58C0
+ ldr r0, _082E58BC
+ b _082E5A36
+ .align 2, 0
+_082E58BC: .4byte 0x00000402
+_082E58C0:
+ movs r2, 0
+ movs r0, 0x1
+ ands r0, r3
+ ldr r4, _082E58F0
+ cmp r0, 0
+ bne _082E58E2
+ movs r1, 0x1
+_082E58CE:
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0x3
+ bhi _082E58E2
+ adds r0, r3, 0
+ asrs r0, r2
+ ands r0, r1
+ cmp r0, 0
+ beq _082E58CE
+_082E58E2:
+ mov r0, r10
+ ldr r1, [r0]
+ ldrb r0, [r1]
+ cmp r0, 0x1
+ bne _082E58F4
+ adds r1, 0xF
+ b _082E58FE
+ .align 2, 0
+_082E58F0: .4byte 0x089a3220
+_082E58F4:
+ cmp r0, 0
+ bne _082E5900
+ adds r0, r2, 0
+ adds r0, 0x10
+ adds r1, r0
+_082E58FE:
+ mov r9, r1
+_082E5900:
+ mov r1, r10
+ ldr r0, [r1]
+ ldrb r0, [r0]
+ lsls r0, 4
+ adds r0, r4
+ ldrb r4, [r0]
+ mov r0, r9
+ ldrb r0, [r0]
+ cmp r8, r0
+ bhi _082E5918
+ cmp r8, r4
+ bhi _082E591E
+_082E5918:
+ movs r0, 0xA0
+ lsls r0, 3
+ b _082E5A36
+_082E591E:
+ ldr r1, _082E596C
+ ldrh r0, [r1]
+ str r0, [sp, 0x4]
+ movs r7, 0
+ strh r7, [r1]
+ movs r0, 0x20
+ ands r0, r6
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0
+ bne _082E5938
+ cmp r6, 0x40
+ bne _082E59F4
+_082E5938:
+ ldr r1, _082E5970
+ lsls r0, r2, 2
+ adds r0, r1
+ ldr r0, [r0]
+ mov r12, r0
+ movs r1, 0
+ strh r1, [r0, 0x18]
+ mov r1, r12
+ adds r1, 0x2D
+ mov r2, r12
+ str r1, [r2, 0x4]
+ movs r0, 0x7
+ str r0, [r2, 0x14]
+ mov r0, r12
+ adds r0, 0x2C
+ strb r3, [r0]
+ strb r3, [r2, 0x1A]
+ mov r2, r8
+ subs r0, r2, r4
+ mov r2, r12
+ strh r0, [r2, 0x2E]
+ cmp r5, 0
+ beq _082E5974
+ strb r7, [r1]
+ b _082E5978
+ .align 2, 0
+_082E596C: .4byte 0x04000208
+_082E5970: .4byte 0x03007880
+_082E5974:
+ movs r0, 0x1
+ strb r0, [r1]
+_082E5978:
+ ldr r0, [sp, 0x28]
+ mov r1, r12
+ str r0, [r1, 0x30]
+ ldr r2, [sp]
+ str r2, [r1, 0x28]
+ movs r1, 0
+ mov r0, r12
+ strb r1, [r0, 0x1F]
+ adds r0, 0x20
+ strb r1, [r0]
+ mov r4, r12
+ adds r4, 0x1B
+ movs r6, 0
+ mov r2, r12
+ adds r2, 0x21
+ movs r5, 0x1
+_082E5998:
+ adds r0, r4, r1
+ strb r6, [r0]
+ adds r0, r2, r1
+ strb r5, [r0]
+ adds r0, r1, 0x1
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0x3
+ bls _082E5998
+ movs r2, 0
+ movs r5, 0x1
+ ldr r4, _082E59EC
+ movs r1, 0
+_082E59B2:
+ adds r0, r3, 0
+ asrs r0, r2
+ ands r0, r5
+ cmp r0, 0
+ beq _082E59C4
+ lsls r0, r2, 2
+ adds r0, r4
+ ldr r0, [r0]
+ strh r1, [r0, 0x2]
+_082E59C4:
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0x3
+ bls _082E59B2
+ mov r1, r10
+ ldr r2, [r1]
+ ldrb r1, [r2, 0x4]
+ adds r0, r3, 0
+ orrs r0, r1
+ strb r0, [r2, 0x4]
+ mov r2, r9
+ ldrb r0, [r2]
+ mov r1, r8
+ subs r0, r1
+ strb r0, [r2]
+ ldr r0, _082E59F0
+ mov r2, r12
+ strh r0, [r2]
+ b _082E5A2C
+ .align 2, 0
+_082E59EC: .4byte 0x03007880
+_082E59F0: .4byte 0x00008021
+_082E59F4:
+ movs r0, 0x10
+ ands r0, r6
+ cmp r0, 0
+ beq _082E5A2C
+ ldr r1, _082E5A48
+ lsls r0, r2, 2
+ adds r0, r1
+ ldr r1, [r0]
+ strb r3, [r1, 0x3]
+ ldr r0, [sp]
+ str r0, [r1, 0x8]
+ mov r2, r8
+ subs r0, r2, r4
+ strh r0, [r1, 0x4]
+ mov r2, r9
+ ldrb r0, [r2]
+ mov r2, r8
+ subs r0, r2
+ mov r2, r9
+ strb r0, [r2]
+ ldr r0, _082E5A4C
+ strh r0, [r1]
+ mov r0, r10
+ ldr r2, [r0]
+ ldrb r1, [r2, 0x6]
+ adds r0, r3, 0
+ orrs r0, r1
+ strb r0, [r2, 0x6]
+_082E5A2C:
+ ldr r0, _082E5A50
+ mov r1, sp
+ ldrh r1, [r1, 0x4]
+ strh r1, [r0]
+ movs r0, 0
+_082E5A36:
+ add sp, 0x8
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_082E5A48: .4byte 0x03007870
+_082E5A4C: .4byte 0x00008024
+_082E5A50: .4byte 0x04000208
+ thumb_func_end rfu_STC_setSendData_org
+
+ thumb_func_start rfu_changeSendTarget
+rfu_changeSendTarget: @ 82E5A54
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r0, 24
+ adds r3, r0, 0
+ lsls r1, 24
+ lsrs r7, r1, 24
+ lsls r2, 24
+ lsrs r6, r2, 24
+ cmp r7, 0x3
+ bls _082E5A78
+ movs r0, 0x80
+ lsls r0, 3
+ b _082E5BAC
+_082E5A78:
+ cmp r0, 0x20
+ bne _082E5B18
+ ldr r0, _082E5B08
+ mov r12, r0
+ lsls r0, r7, 2
+ add r0, r12
+ ldr r5, [r0]
+ ldrh r2, [r5]
+ ldr r1, _082E5B0C
+ adds r0, r1, 0
+ ands r0, r2
+ cmp r0, r1
+ bne _082E5B2E
+ ldrb r0, [r5, 0x1A]
+ adds r3, r6, 0
+ eors r3, r0
+ adds r2, r3, 0
+ ands r2, r6
+ cmp r2, 0
+ bne _082E5B66
+ cmp r3, 0
+ bne _082E5AA6
+ b _082E5BAA
+_082E5AA6:
+ ldr r1, _082E5B10
+ ldrh r0, [r1]
+ mov r8, r0
+ strh r2, [r1]
+ movs r2, 0
+ mvns r1, r3
+ str r1, [sp]
+ lsls r4, r6, 24
+ mov r10, r4
+ movs r0, 0x1
+ mov r9, r0
+ movs r1, 0
+_082E5ABE:
+ adds r0, r3, 0
+ asrs r0, r2
+ mov r4, r9
+ ands r0, r4
+ cmp r0, 0
+ beq _082E5AD2
+ lsls r0, r2, 2
+ add r0, r12
+ ldr r0, [r0]
+ strh r1, [r0, 0x2]
+_082E5AD2:
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0x3
+ bls _082E5ABE
+ ldr r0, _082E5B14
+ ldr r1, [r0]
+ ldrb r0, [r1, 0x4]
+ ldr r2, [sp]
+ ands r2, r0
+ strb r2, [r1, 0x4]
+ strb r6, [r5, 0x1A]
+ mov r0, r10
+ cmp r0, 0
+ bne _082E5AFE
+ adds r0, r7, 0
+ movs r1, 0
+ adds r2, r5, 0
+ bl rfu_STC_releaseFrame
+ movs r0, 0x27
+ strh r0, [r5]
+_082E5AFE:
+ ldr r0, _082E5B10
+ mov r1, r8
+ strh r1, [r0]
+ b _082E5BAA
+ .align 2, 0
+_082E5B08: .4byte 0x03007880
+_082E5B0C: .4byte 0x00008020
+_082E5B10: .4byte 0x04000208
+_082E5B14: .4byte 0x03007890
+_082E5B18:
+ cmp r3, 0x10
+ bne _082E5BA4
+ ldr r3, _082E5B34
+ lsls r1, r7, 2
+ adds r0, r1, r3
+ ldr r0, [r0]
+ ldrh r2, [r0]
+ ldr r0, _082E5B38
+ adds r5, r3, 0
+ cmp r2, r0
+ beq _082E5B40
+_082E5B2E:
+ ldr r0, _082E5B3C
+ b _082E5BAC
+ .align 2, 0
+_082E5B34: .4byte 0x03007870
+_082E5B38: .4byte 0x00008024
+_082E5B3C: .4byte 0x00000403
+_082E5B40:
+ movs r3, 0
+ movs r2, 0
+ adds r4, r5, 0
+_082E5B46:
+ cmp r2, r7
+ beq _082E5B54
+ lsls r0, r2, 2
+ adds r0, r4
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x3]
+ orrs r3, r0
+_082E5B54:
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0x3
+ bls _082E5B46
+ adds r2, r6, 0
+ ands r2, r3
+ cmp r2, 0
+ beq _082E5B70
+_082E5B66:
+ ldr r0, _082E5B6C
+ b _082E5BAC
+ .align 2, 0
+_082E5B6C: .4byte 0x00000404
+_082E5B70:
+ ldr r3, _082E5B9C
+ ldrh r0, [r3]
+ mov r8, r0
+ strh r2, [r3]
+ ldr r4, _082E5BA0
+ ldr r2, [r4]
+ adds r5, r1, r5
+ ldr r0, [r5]
+ ldrb r1, [r0, 0x3]
+ ldrb r0, [r2, 0x6]
+ bics r0, r1
+ strb r0, [r2, 0x6]
+ ldr r2, [r4]
+ ldrb r1, [r2, 0x6]
+ adds r0, r6, 0
+ orrs r0, r1
+ strb r0, [r2, 0x6]
+ ldr r0, [r5]
+ strb r6, [r0, 0x3]
+ mov r2, r8
+ strh r2, [r3]
+ b _082E5BAA
+ .align 2, 0
+_082E5B9C: .4byte 0x04000208
+_082E5BA0: .4byte 0x03007890
+_082E5BA4:
+ movs r0, 0xC0
+ lsls r0, 3
+ b _082E5BAC
+_082E5BAA:
+ movs r0, 0
+_082E5BAC:
+ add sp, 0x4
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end rfu_changeSendTarget
+
+ thumb_func_start rfu_NI_stopReceivingData
+rfu_NI_stopReceivingData: @ 82E5BBC
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r3, r0, 24
+ cmp r3, 0x3
+ bls _082E5BCC
+ movs r0, 0x80
+ lsls r0, 3
+ b _082E5C26
+_082E5BCC:
+ ldr r1, _082E5BF8
+ lsls r0, r3, 2
+ adds r0, r1
+ ldr r2, [r0]
+ adds r5, r2, 0
+ adds r5, 0x34
+ ldr r1, _082E5BFC
+ ldrh r0, [r1]
+ adds r4, r0, 0
+ movs r0, 0
+ strh r0, [r1]
+ ldrh r1, [r2, 0x34]
+ movs r0, 0x80
+ lsls r0, 8
+ ands r0, r1
+ cmp r0, 0
+ beq _082E5C20
+ ldr r0, _082E5C00
+ cmp r1, r0
+ bne _082E5C04
+ movs r0, 0x48
+ b _082E5C06
+ .align 2, 0
+_082E5BF8: .4byte 0x03007880
+_082E5BFC: .4byte 0x04000208
+_082E5C00: .4byte 0x00008043
+_082E5C04:
+ movs r0, 0x47
+_082E5C06:
+ strh r0, [r2, 0x34]
+ ldr r0, _082E5C2C
+ ldr r2, [r0]
+ movs r1, 0x1
+ lsls r1, r3
+ ldrb r0, [r2, 0x5]
+ bics r0, r1
+ strb r0, [r2, 0x5]
+ adds r0, r3, 0
+ movs r1, 0x1
+ adds r2, r5, 0
+ bl rfu_STC_releaseFrame
+_082E5C20:
+ ldr r0, _082E5C30
+ strh r4, [r0]
+ movs r0, 0
+_082E5C26:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_082E5C2C: .4byte 0x03007890
+_082E5C30: .4byte 0x04000208
+ thumb_func_end rfu_NI_stopReceivingData
+
+ thumb_func_start rfu_UNI_changeAndReadySendData
+rfu_UNI_changeAndReadySendData: @ 82E5C34
+ push {r4-r7,lr}
+ adds r7, r1, 0
+ lsls r0, 24
+ lsrs r0, 24
+ adds r3, r0, 0
+ lsls r2, 24
+ lsrs r5, r2, 24
+ cmp r0, 0x3
+ bls _082E5C4C
+ movs r0, 0x80
+ lsls r0, 3
+ b _082E5CC0
+_082E5C4C:
+ ldr r1, _082E5C60
+ lsls r0, 2
+ adds r0, r1
+ ldr r4, [r0]
+ ldrh r1, [r4]
+ ldr r0, _082E5C64
+ cmp r1, r0
+ beq _082E5C6C
+ ldr r0, _082E5C68
+ b _082E5CC0
+ .align 2, 0
+_082E5C60: .4byte 0x03007870
+_082E5C64: .4byte 0x00008024
+_082E5C68: .4byte 0x00000403
+_082E5C6C:
+ ldr r0, _082E5C80
+ ldr r1, [r0]
+ ldrb r0, [r1]
+ cmp r0, 0x1
+ bne _082E5C84
+ adds r6, r1, 0
+ adds r6, 0xF
+ ldrb r0, [r4, 0x4]
+ ldrb r1, [r1, 0xF]
+ b _082E5C92
+ .align 2, 0
+_082E5C80: .4byte 0x03007890
+_082E5C84:
+ adds r0, r3, 0
+ adds r0, 0x10
+ adds r6, r1, r0
+ adds r1, 0x10
+ adds r1, r3
+ ldrb r0, [r4, 0x4]
+ ldrb r1, [r1]
+_082E5C92:
+ adds r0, r1
+ lsls r0, 24
+ lsrs r3, r0, 24
+ cmp r3, r5
+ bcc _082E5CBC
+ ldr r2, _082E5CB8
+ ldrh r1, [r2]
+ movs r0, 0
+ strh r0, [r2]
+ str r7, [r4, 0x8]
+ subs r0, r3, r5
+ strb r0, [r6]
+ strh r5, [r4, 0x4]
+ movs r0, 0x1
+ strb r0, [r4, 0x2]
+ strh r1, [r2]
+ movs r0, 0
+ b _082E5CC0
+ .align 2, 0
+_082E5CB8: .4byte 0x04000208
+_082E5CBC:
+ movs r0, 0xA0
+ lsls r0, 3
+_082E5CC0:
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end rfu_UNI_changeAndReadySendData
+
+ thumb_func_start rfu_UNI_readySendData
+rfu_UNI_readySendData: @ 82E5CC8
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x3
+ bhi _082E5CE6
+ ldr r1, _082E5CEC
+ lsls r0, 2
+ adds r0, r1
+ ldr r2, [r0]
+ ldrh r1, [r2]
+ ldr r0, _082E5CF0
+ cmp r1, r0
+ bne _082E5CE6
+ movs r0, 0x1
+ strb r0, [r2, 0x2]
+_082E5CE6:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E5CEC: .4byte 0x03007870
+_082E5CF0: .4byte 0x00008024
+ thumb_func_end rfu_UNI_readySendData
+
+ thumb_func_start rfu_UNI_clearRecvNewDataFlag
+rfu_UNI_clearRecvNewDataFlag: @ 82E5CF4
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x3
+ bhi _082E5D0A
+ ldr r1, _082E5D10
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, [r0]
+ movs r0, 0
+ strb r0, [r1, 0x12]
+_082E5D0A:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E5D10: .4byte 0x03007870
+ thumb_func_end rfu_UNI_clearRecvNewDataFlag
+
+ thumb_func_start rfu_REQ_sendData
+rfu_REQ_sendData: @ 82E5D14
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r0, _082E5D60
+ ldr r2, [r0]
+ ldrb r1, [r2]
+ adds r4, r0, 0
+ cmp r1, 0xFF
+ bne _082E5D28
+ b _082E5E4E
+_082E5D28:
+ cmp r1, 0x1
+ bne _082E5DB8
+ ldrb r0, [r2, 0x4]
+ ldrb r1, [r2, 0x5]
+ adds r3, r0, 0
+ orrs r3, r1
+ ldrb r0, [r2, 0x6]
+ orrs r3, r0
+ cmp r3, 0
+ bne _082E5DB8
+ ldr r0, _082E5D64
+ ldr r2, [r0]
+ ldrb r1, [r2, 0x3]
+ adds r4, r0, 0
+ cmp r1, 0
+ beq _082E5D50
+ movs r0, 0x10
+ strb r0, [r2, 0x8]
+ ldr r0, [r4]
+ strb r3, [r0, 0x7]
+_082E5D50:
+ ldr r1, [r4]
+ ldrb r0, [r1, 0x8]
+ cmp r0, 0
+ beq _082E5D68
+ subs r0, 0x1
+ strb r0, [r1, 0x8]
+ b _082E5D6E
+ .align 2, 0
+_082E5D60: .4byte 0x03007890
+_082E5D64: .4byte 0x03007894
+_082E5D68:
+ ldrb r0, [r1, 0x7]
+ adds r0, 0x1
+ strb r0, [r1, 0x7]
+_082E5D6E:
+ ldr r1, [r4]
+ ldrb r0, [r1, 0x8]
+ cmp r0, 0
+ bne _082E5D80
+ ldrb r1, [r1, 0x7]
+ movs r0, 0xF
+ ands r0, r1
+ cmp r0, 0
+ bne _082E5E12
+_082E5D80:
+ ldr r4, _082E5DA4
+ ldr r1, [r4]
+ movs r0, 0x1
+ str r0, [r1, 0x68]
+ movs r0, 0xFF
+ str r0, [r1, 0x78]
+ ldr r0, _082E5DA8
+ bl STWI_set_Callback_M
+ cmp r5, 0
+ bne _082E5DAC
+ ldr r0, [r4]
+ adds r0, 0x68
+ movs r1, 0x1
+ bl STWI_send_DataTxREQ
+ b _082E5E4E
+ .align 2, 0
+_082E5DA4: .4byte 0x03007898
+_082E5DA8: .4byte sub_82E5F00 + 1
+_082E5DAC:
+ ldr r0, [r4]
+ adds r0, 0x68
+ movs r1, 0x1
+ bl STWI_send_DataTxAndChangeREQ
+ b _082E5E4E
+_082E5DB8:
+ ldr r0, [r4]
+ ldrb r0, [r0, 0xE]
+ cmp r0, 0
+ bne _082E5DC4
+ bl rfu_constructSendLLFrame
+_082E5DC4:
+ ldr r0, [r4]
+ ldrb r0, [r0, 0xE]
+ cmp r0, 0
+ beq _082E5E12
+ ldr r0, _082E5DF0
+ bl STWI_set_Callback_M
+ cmp r5, 0
+ beq _082E5DFC
+ ldr r0, _082E5DF4
+ ldr r0, [r0]
+ adds r0, 0x68
+ ldr r1, _082E5DF8
+ ldr r1, [r1]
+ ldr r1, [r1, 0x24]
+ adds r1, 0x4
+ lsls r1, 24
+ lsrs r1, 24
+ bl STWI_send_DataTxAndChangeREQ
+ b _082E5E4E
+ .align 2, 0
+_082E5DF0: .4byte rfu_CB_sendData + 1
+_082E5DF4: .4byte 0x03007898
+_082E5DF8: .4byte 0x03007894
+_082E5DFC:
+ ldr r0, _082E5E34
+ ldr r0, [r0]
+ adds r0, 0x68
+ ldr r1, _082E5E38
+ ldr r1, [r1]
+ ldr r1, [r1, 0x24]
+ adds r1, 0x4
+ lsls r1, 24
+ lsrs r1, 24
+ bl STWI_send_DataTxREQ
+_082E5E12:
+ cmp r5, 0
+ beq _082E5E4E
+ ldr r0, _082E5E3C
+ ldr r0, [r0]
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ bne _082E5E44
+ ldr r0, _082E5E40
+ ldr r0, [r0]
+ ldr r1, [r0, 0x1C]
+ cmp r1, 0
+ beq _082E5E4E
+ movs r0, 0x27
+ bl _call_via_r1
+ b _082E5E4E
+ .align 2, 0
+_082E5E34: .4byte 0x03007898
+_082E5E38: .4byte 0x03007894
+_082E5E3C: .4byte 0x03007890
+_082E5E40: .4byte 0x03007868
+_082E5E44:
+ ldr r0, _082E5E54
+ bl STWI_set_Callback_M
+ bl STWI_send_MS_ChangeREQ
+_082E5E4E:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E5E54: .4byte rfu_CB_sendData2 + 1
+ thumb_func_end rfu_REQ_sendData
+
+ thumb_func_start rfu_CB_sendData
+rfu_CB_sendData: @ 82E5E58
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ lsls r1, 16
+ lsrs r7, r1, 16
+ cmp r7, 0
+ bne _082E5EC2
+ movs r6, 0
+ ldr r0, _082E5EE0
+ mov r8, r0
+_082E5E6C:
+ ldr r0, _082E5EE4
+ lsls r2, r6, 2
+ adds r0, r2, r0
+ ldr r1, [r0]
+ ldrb r0, [r1, 0x2]
+ cmp r0, 0
+ beq _082E5E7E
+ movs r0, 0
+ strb r0, [r1, 0x2]
+_082E5E7E:
+ ldr r0, _082E5EE8
+ adds r0, r2, r0
+ ldr r4, [r0]
+ ldrh r0, [r4]
+ cmp r0, r8
+ bne _082E5EB8
+ adds r0, r6, 0
+ movs r1, 0
+ adds r2, r4, 0
+ bl rfu_STC_releaseFrame
+ ldr r5, _082E5EEC
+ ldr r2, [r5]
+ ldrb r1, [r4, 0x1A]
+ ldrb r0, [r2, 0x4]
+ bics r0, r1
+ strb r0, [r2, 0x4]
+ adds r0, r4, 0
+ adds r0, 0x2D
+ ldrb r3, [r0]
+ cmp r3, 0x1
+ bne _082E5EB4
+ ldr r1, [r5]
+ lsls r3, r6
+ ldrb r0, [r1, 0x7]
+ orrs r3, r0
+ strb r3, [r1, 0x7]
+_082E5EB4:
+ movs r0, 0x26
+ strh r0, [r4]
+_082E5EB8:
+ adds r0, r6, 0x1
+ lsls r0, 24
+ lsrs r6, r0, 24
+ cmp r6, 0x3
+ bls _082E5E6C
+_082E5EC2:
+ ldr r0, _082E5EEC
+ ldr r1, [r0]
+ ldrb r0, [r1, 0xE]
+ movs r0, 0
+ strb r0, [r1, 0xE]
+ movs r0, 0x24
+ adds r1, r7, 0
+ bl rfu_STC_REQ_callback
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E5EE0: .4byte 0x00008020
+_082E5EE4: .4byte 0x03007870
+_082E5EE8: .4byte 0x03007880
+_082E5EEC: .4byte 0x03007890
+ thumb_func_end rfu_CB_sendData
+
+ thumb_func_start rfu_CB_sendData2
+rfu_CB_sendData2: @ 82E5EF0
+ push {lr}
+ lsls r1, 16
+ lsrs r1, 16
+ movs r0, 0x24
+ bl rfu_STC_REQ_callback
+ pop {r0}
+ bx r0
+ thumb_func_end rfu_CB_sendData2
+
+ thumb_func_start sub_82E5F00
+sub_82E5F00: @ 82E5F00
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, 16
+ lsrs r1, 16
+ cmp r1, 0
+ beq _082E5F16
+ movs r0, 0x24
+ bl rfu_STC_REQ_callback
+ b _082E5F22
+_082E5F16:
+ cmp r0, 0xFF
+ bne _082E5F22
+ movs r0, 0xFF
+ movs r1, 0
+ bl rfu_STC_REQ_callback
+_082E5F22:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_82E5F00
+
+ thumb_func_start rfu_constructSendLLFrame
+rfu_constructSendLLFrame: @ 82E5F28
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x4
+ ldr r0, _082E5FD4
+ ldr r2, [r0]
+ ldrb r0, [r2]
+ cmp r0, 0xFF
+ bne _082E5F40
+ b _082E6044
+_082E5F40:
+ ldrb r0, [r2, 0x4]
+ ldrb r1, [r2, 0x5]
+ orrs r0, r1
+ ldrb r1, [r2, 0x6]
+ orrs r0, r1
+ cmp r0, 0
+ beq _082E6044
+ ldrb r0, [r2, 0xE]
+ movs r0, 0
+ strb r0, [r2, 0xE]
+ mov r8, r0
+ ldr r0, _082E5FD8
+ ldr r0, [r0]
+ adds r0, 0x6C
+ str r0, [sp]
+ movs r6, 0
+ movs r0, 0x80
+ lsls r0, 8
+ mov r9, r0
+ ldr r1, _082E5FDC
+ mov r10, r1
+_082E5F6A:
+ movs r5, 0
+ ldr r0, _082E5FE0
+ lsls r7, r6, 2
+ adds r4, r7, r0
+ ldr r2, [r4]
+ ldrh r1, [r2]
+ mov r0, r9
+ ands r0, r1
+ cmp r0, 0
+ beq _082E5F8A
+ adds r0, r6, 0
+ mov r1, sp
+ bl rfu_STC_NI_constructLLSF
+ lsls r0, 16
+ lsrs r5, r0, 16
+_082E5F8A:
+ ldr r2, [r4]
+ ldrh r1, [r2, 0x34]
+ mov r0, r9
+ ands r0, r1
+ cmp r0, 0
+ beq _082E5FA6
+ adds r2, 0x34
+ adds r0, r6, 0
+ mov r1, sp
+ bl rfu_STC_NI_constructLLSF
+ lsls r0, 16
+ lsrs r0, 16
+ adds r5, r0
+_082E5FA6:
+ ldr r0, _082E5FE4
+ adds r0, r7, r0
+ ldr r0, [r0]
+ ldrh r0, [r0]
+ cmp r0, r10
+ bne _082E5FC0
+ adds r0, r6, 0
+ mov r1, sp
+ bl rfu_STC_UNI_constructLLSF
+ lsls r0, 16
+ lsrs r0, 16
+ adds r5, r0
+_082E5FC0:
+ cmp r5, 0
+ beq _082E5FF4
+ ldr r0, _082E5FD4
+ ldr r0, [r0]
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ bne _082E5FE8
+ add r8, r5
+ b _082E5FF4
+ .align 2, 0
+_082E5FD4: .4byte 0x03007890
+_082E5FD8: .4byte 0x03007898
+_082E5FDC: .4byte 0x00008024
+_082E5FE0: .4byte 0x03007880
+_082E5FE4: .4byte 0x03007870
+_082E5FE8:
+ adds r0, r7, r6
+ adds r0, 0x8
+ lsls r5, r0
+ mov r2, r8
+ orrs r2, r5
+ mov r8, r2
+_082E5FF4:
+ adds r0, r6, 0x1
+ lsls r0, 24
+ lsrs r6, r0, 24
+ cmp r6, 0x3
+ bls _082E5F6A
+ ldr r6, _082E6054
+ mov r0, r8
+ cmp r0, 0
+ beq _082E603E
+ ldr r2, [sp]
+ movs r0, 0x3
+ ands r0, r2
+ ldr r5, _082E6058
+ ldr r1, _082E605C
+ cmp r0, 0
+ beq _082E6026
+ movs r4, 0
+ movs r3, 0x3
+_082E6018:
+ strb r4, [r2]
+ adds r0, r2, 0x1
+ str r0, [sp]
+ adds r2, r0, 0
+ ands r0, r3
+ cmp r0, 0
+ bne _082E6018
+_082E6026:
+ ldr r0, [r1]
+ mov r2, r8
+ str r2, [r0, 0x68]
+ ldr r0, [r5]
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _082E603E
+ ldr r0, [sp]
+ subs r0, 0x6C
+ ldr r1, [r1]
+ subs r0, r1
+ mov r8, r0
+_082E603E:
+ ldr r0, [r6]
+ mov r1, r8
+ str r1, [r0, 0x24]
+_082E6044:
+ add sp, 0x4
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E6054: .4byte 0x03007894
+_082E6058: .4byte 0x03007890
+_082E605C: .4byte 0x03007898
+ thumb_func_end rfu_constructSendLLFrame
+
+ thumb_func_start rfu_STC_NI_constructLLSF
+rfu_STC_NI_constructLLSF: @ 82E6060
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x8
+ mov r12, r1
+ adds r4, r2, 0
+ lsls r0, 24
+ lsrs r0, 24
+ mov r10, r0
+ ldr r2, _082E60DC
+ ldr r0, [r2]
+ ldrb r0, [r0]
+ lsls r0, 4
+ ldr r1, _082E60E0
+ adds r0, r1
+ mov r8, r0
+ ldrh r1, [r4]
+ ldr r0, _082E60E4
+ cmp r1, r0
+ bne _082E60CA
+ adds r3, r4, 0
+ adds r3, 0x20
+ ldrb r1, [r3]
+ lsls r1, 2
+ adds r5, r4, 0x4
+ adds r1, r5, r1
+ ldr r2, [r4, 0x28]
+ ldr r0, [r4, 0x30]
+ adds r2, r0
+ ldr r0, [r1]
+ adds r6, r3, 0
+ cmp r0, r2
+ bcc _082E60CA
+ movs r7, 0
+_082E60A8:
+ ldrb r0, [r3]
+ adds r0, 0x1
+ strb r0, [r3]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x4
+ bne _082E60B8
+ strb r7, [r6]
+_082E60B8:
+ ldrb r1, [r3]
+ lsls r1, 2
+ adds r1, r5, r1
+ ldr r2, [r4, 0x28]
+ ldr r0, [r4, 0x30]
+ adds r2, r0
+ ldr r0, [r1]
+ cmp r0, r2
+ bcs _082E60A8
+_082E60CA:
+ ldrh r1, [r4]
+ movs r0, 0x40
+ ands r0, r1
+ mov r9, r1
+ cmp r0, 0
+ beq _082E60E8
+ movs r5, 0
+ b _082E612C
+ .align 2, 0
+_082E60DC: .4byte 0x03007890
+_082E60E0: .4byte 0x089a3220
+_082E60E4: .4byte 0x00008022
+_082E60E8:
+ ldr r0, _082E6114
+ cmp r9, r0
+ bne _082E611C
+ adds r3, r4, 0
+ adds r3, 0x20
+ ldrb r0, [r3]
+ lsls r0, 2
+ adds r1, r4, 0x4
+ adds r1, r0
+ ldrh r7, [r4, 0x2E]
+ ldr r5, [r1]
+ adds r2, r5, r7
+ ldr r1, [r4, 0x28]
+ ldr r0, [r4, 0x30]
+ adds r0, r1, r0
+ adds r6, r3, 0
+ cmp r2, r0
+ bls _082E6118
+ subs r0, r5
+ lsls r0, 16
+ lsrs r5, r0, 16
+ b _082E6130
+ .align 2, 0
+_082E6114: .4byte 0x00008022
+_082E6118:
+ adds r5, r7, 0
+ b _082E6130
+_082E611C:
+ ldrh r2, [r4, 0x2E]
+ ldr r0, [r4, 0x14]
+ cmp r0, r2
+ bcc _082E6128
+ adds r5, r2, 0
+ b _082E612C
+_082E6128:
+ lsls r0, 16
+ lsrs r5, r0, 16
+_082E612C:
+ adds r6, r4, 0
+ adds r6, 0x20
+_082E6130:
+ movs r3, 0xF
+ mov r0, r9
+ ands r3, r0
+ mov r1, r8
+ ldrb r1, [r1, 0x3]
+ lsls r3, r1
+ ldrb r0, [r4, 0x1F]
+ mov r2, r8
+ ldrb r2, [r2, 0x4]
+ lsls r0, r2
+ orrs r3, r0
+ ldrb r1, [r6]
+ adds r0, r1, 0
+ mov r7, r8
+ ldrb r7, [r7, 0x5]
+ lsls r0, r7
+ orrs r3, r0
+ adds r0, r4, 0
+ adds r0, 0x21
+ adds r0, r1
+ ldrb r0, [r0]
+ mov r1, r8
+ ldrb r1, [r1, 0x6]
+ lsls r0, r1
+ orrs r3, r0
+ orrs r3, r5
+ str r3, [sp]
+ ldr r2, _082E61EC
+ ldr r0, [r2]
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ bne _082E6178
+ ldrb r0, [r4, 0x1A]
+ lsls r0, 18
+ orrs r3, r0
+ str r3, [sp]
+_082E6178:
+ mov r2, sp
+ movs r3, 0
+ mov r7, r8
+ ldrb r7, [r7]
+ cmp r3, r7
+ bcs _082E61A2
+_082E6184:
+ mov r0, r12
+ ldr r1, [r0]
+ ldrb r0, [r2]
+ strb r0, [r1]
+ adds r2, 0x1
+ adds r1, 0x1
+ mov r7, r12
+ str r1, [r7]
+ adds r0, r3, 0x1
+ lsls r0, 24
+ lsrs r3, r0, 24
+ mov r0, r8
+ ldrb r0, [r0]
+ cmp r3, r0
+ bcc _082E6184
+_082E61A2:
+ cmp r5, 0
+ beq _082E61C2
+ ldrb r1, [r6]
+ lsls r1, 2
+ adds r0, r4, 0x4
+ adds r0, r1
+ ldr r0, [r0]
+ str r0, [sp, 0x4]
+ ldr r0, _082E61F0
+ ldr r1, [r0]
+ add r0, sp, 0x4
+ ldr r3, [r1, 0x4]
+ mov r1, r12
+ adds r2, r5, 0
+ bl _call_via_r3
+_082E61C2:
+ ldrh r1, [r4]
+ ldr r0, _082E61F4
+ cmp r1, r0
+ bne _082E61DC
+ ldrb r0, [r6]
+ adds r0, 0x1
+ strb r0, [r6]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x4
+ bne _082E61DC
+ movs r0, 0
+ strb r0, [r6]
+_082E61DC:
+ ldr r0, _082E61EC
+ ldr r2, [r0]
+ ldrb r1, [r2]
+ cmp r1, 0x1
+ bne _082E61F8
+ ldrb r0, [r2, 0xE]
+ strb r1, [r2, 0xE]
+ b _082E6206
+ .align 2, 0
+_082E61EC: .4byte 0x03007890
+_082E61F0: .4byte 0x03007898
+_082E61F4: .4byte 0x00008022
+_082E61F8:
+ movs r0, 0x1
+ mov r1, r10
+ lsls r0, r1
+ ldrb r1, [r2, 0xE]
+ orrs r0, r1
+ ldrb r1, [r2, 0xE]
+ strb r0, [r2, 0xE]
+_082E6206:
+ mov r2, r8
+ ldrb r0, [r2]
+ adds r0, r5, r0
+ lsls r0, 16
+ lsrs r0, 16
+ add sp, 0x8
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end rfu_STC_NI_constructLLSF
+
+ thumb_func_start rfu_STC_UNI_constructLLSF
+rfu_STC_UNI_constructLLSF: @ 82E6220
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x8
+ adds r6, r1, 0
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ ldr r1, _082E6248
+ lsls r0, 2
+ adds r0, r1
+ ldr r4, [r0]
+ ldrb r0, [r4, 0x2]
+ cmp r0, 0
+ beq _082E6244
+ ldrb r0, [r4, 0x3]
+ cmp r0, 0
+ bne _082E624C
+_082E6244:
+ movs r0, 0
+ b _082E62E8
+ .align 2, 0
+_082E6248: .4byte 0x03007870
+_082E624C:
+ ldr r0, _082E62C4
+ ldr r2, [r0]
+ ldrb r0, [r2]
+ lsls r0, 4
+ ldr r1, _082E62C8
+ adds r5, r0, r1
+ ldrh r0, [r4]
+ movs r1, 0xF
+ ands r1, r0
+ ldrb r0, [r5, 0x3]
+ lsls r1, r0
+ ldrh r0, [r4, 0x4]
+ orrs r1, r0
+ str r1, [sp]
+ ldrb r0, [r2]
+ cmp r0, 0x1
+ bne _082E6276
+ ldrb r0, [r4, 0x3]
+ lsls r0, 18
+ orrs r1, r0
+ str r1, [sp]
+_082E6276:
+ mov r2, sp
+ movs r3, 0
+ ldr r1, _082E62CC
+ mov r12, r1
+ add r7, sp, 0x4
+ ldrb r0, [r5]
+ cmp r3, r0
+ bcs _082E629E
+_082E6286:
+ ldr r1, [r6]
+ ldrb r0, [r2]
+ strb r0, [r1]
+ adds r2, 0x1
+ adds r1, 0x1
+ str r1, [r6]
+ adds r0, r3, 0x1
+ lsls r0, 24
+ lsrs r3, r0, 24
+ ldrb r1, [r5]
+ cmp r3, r1
+ bcc _082E6286
+_082E629E:
+ ldr r0, [r4, 0x8]
+ str r0, [sp, 0x4]
+ mov r2, r12
+ ldr r0, [r2]
+ ldrh r2, [r4, 0x4]
+ ldr r3, [r0, 0x4]
+ adds r0, r7, 0
+ adds r1, r6, 0
+ bl _call_via_r3
+ ldr r0, _082E62C4
+ ldr r2, [r0]
+ ldrb r0, [r2]
+ cmp r0, 0x1
+ bne _082E62D0
+ ldrb r0, [r2, 0xE]
+ movs r0, 0x10
+ b _082E62DC
+ .align 2, 0
+_082E62C4: .4byte 0x03007890
+_082E62C8: .4byte 0x089a3220
+_082E62CC: .4byte 0x03007898
+_082E62D0:
+ movs r0, 0x10
+ mov r1, r8
+ lsls r0, r1
+ ldrb r1, [r2, 0xE]
+ orrs r0, r1
+ ldrb r1, [r2, 0xE]
+_082E62DC:
+ strb r0, [r2, 0xE]
+ ldrh r0, [r4, 0x4]
+ ldrb r5, [r5]
+ adds r0, r5
+ lsls r0, 16
+ lsrs r0, 16
+_082E62E8:
+ add sp, 0x8
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end rfu_STC_UNI_constructLLSF
+
+ thumb_func_start rfu_REQ_recvData
+rfu_REQ_recvData: @ 82E62F4
+ push {r4,lr}
+ ldr r0, _082E6328
+ ldr r4, [r0]
+ ldrb r0, [r4]
+ cmp r0, 0xFF
+ beq _082E6320
+ ldr r2, _082E632C
+ ldr r3, [r2]
+ ldrb r0, [r4, 0x4]
+ ldrb r1, [r4, 0x5]
+ orrs r0, r1
+ ldrb r1, [r4, 0x6]
+ orrs r0, r1
+ movs r1, 0
+ strb r0, [r3, 0x3]
+ ldr r0, [r2]
+ strb r1, [r0, 0x4]
+ ldr r0, _082E6330
+ bl STWI_set_Callback_M
+ bl STWI_send_DataRxREQ
+_082E6320:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E6328: .4byte 0x03007890
+_082E632C: .4byte 0x03007894
+_082E6330: .4byte rfu_CB_recvData + 1
+ thumb_func_end rfu_REQ_recvData
+
+ thumb_func_start rfu_CB_recvData
+rfu_CB_recvData: @ 82E6334
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r0, 24
+ mov r9, r0
+ lsls r1, 16
+ lsrs r7, r1, 16
+ cmp r7, 0
+ bne _082E63F8
+ ldr r0, _082E6370
+ ldr r0, [r0]
+ adds r0, 0xDC
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x1]
+ cmp r0, 0
+ beq _082E63F8
+ ldr r0, _082E6374
+ ldr r0, [r0]
+ strb r7, [r0, 0x1]
+ ldr r0, _082E6378
+ ldr r0, [r0]
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ bne _082E637C
+ bl rfu_STC_PARENT_analyzeRecvPacket
+ b _082E6380
+ .align 2, 0
+_082E6370: .4byte 0x03007898
+_082E6374: .4byte 0x03007894
+_082E6378: .4byte 0x03007890
+_082E637C:
+ bl rfu_STC_CHILD_analyzeRecvPacket
+_082E6380:
+ movs r6, 0
+ ldr r0, _082E6410
+ mov r8, r0
+ ldr r3, _082E6414
+_082E6388:
+ ldr r0, _082E6418
+ lsls r1, r6, 2
+ adds r1, r0
+ ldr r4, [r1]
+ ldrh r0, [r4, 0x34]
+ cmp r0, r8
+ bne _082E63DA
+ ldr r0, _082E641C
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x1]
+ asrs r0, r6
+ movs r1, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _082E63DA
+ adds r5, r4, 0
+ adds r5, 0x34
+ adds r0, r4, 0
+ adds r0, 0x61
+ ldrb r2, [r0]
+ cmp r2, 0x1
+ bne _082E63BE
+ ldr r1, [r3]
+ lsls r2, r6
+ ldrb r0, [r1, 0x7]
+ orrs r2, r0
+ strb r2, [r1, 0x7]
+_082E63BE:
+ adds r0, r6, 0
+ movs r1, 0x1
+ adds r2, r5, 0
+ str r3, [sp]
+ bl rfu_STC_releaseFrame
+ ldr r3, [sp]
+ ldr r2, [r3]
+ ldrb r1, [r5, 0x1A]
+ ldrb r0, [r2, 0x5]
+ bics r0, r1
+ strb r0, [r2, 0x5]
+ movs r0, 0x46
+ strh r0, [r4, 0x34]
+_082E63DA:
+ adds r0, r6, 0x1
+ lsls r0, 24
+ lsrs r6, r0, 24
+ cmp r6, 0x3
+ bls _082E6388
+ ldr r0, _082E641C
+ ldr r1, [r0]
+ ldrb r0, [r1, 0x4]
+ cmp r0, 0
+ beq _082E63F8
+ adds r7, r0, 0
+ movs r1, 0xE0
+ lsls r1, 3
+ adds r0, r1, 0
+ orrs r7, r0
+_082E63F8:
+ mov r0, r9
+ adds r1, r7, 0
+ bl rfu_STC_REQ_callback
+ add sp, 0x4
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E6410: .4byte 0x00008043
+_082E6414: .4byte 0x03007890
+_082E6418: .4byte 0x03007880
+_082E641C: .4byte 0x03007894
+ thumb_func_end rfu_CB_recvData
+
+ thumb_func_start rfu_STC_PARENT_analyzeRecvPacket
+rfu_STC_PARENT_analyzeRecvPacket: @ 82E6420
+ push {r4-r7,lr}
+ sub sp, 0x4
+ ldr r1, _082E64B0
+ ldr r0, [r1]
+ adds r0, 0xDC
+ ldr r0, [r0]
+ ldr r0, [r0, 0x4]
+ lsrs r3, r0, 8
+ movs r5, 0
+ mov r12, r1
+ movs r7, 0x1F
+ ldr r4, _082E64B4
+ movs r6, 0x1
+_082E643A:
+ mov r0, sp
+ adds r1, r0, r5
+ adds r0, r3, 0
+ ands r0, r7
+ strb r0, [r1]
+ lsrs r3, 5
+ cmp r0, 0
+ bne _082E6456
+ ldr r0, [r4]
+ adds r1, r6, 0
+ lsls r1, r5
+ ldrb r2, [r0, 0x1]
+ orrs r1, r2
+ strb r1, [r0, 0x1]
+_082E6456:
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x3
+ bls _082E643A
+ mov r1, r12
+ ldr r0, [r1]
+ adds r0, 0xDC
+ ldr r0, [r0]
+ adds r6, r0, 0
+ adds r6, 0x8
+ movs r5, 0
+_082E646E:
+ mov r0, sp
+ adds r1, r0, r5
+ ldrb r0, [r1]
+ adds r7, r5, 0x1
+ cmp r0, 0
+ beq _082E64A0
+ adds r4, r1, 0
+_082E647C:
+ ldrb r2, [r4]
+ adds r0, r5, 0
+ adds r1, r6, 0
+ bl rfu_STC_analyzeLLSF
+ lsls r0, 24
+ lsrs r0, 24
+ adds r6, r0
+ ldrb r1, [r4]
+ subs r1, r0
+ strb r1, [r4]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _082E64A0
+ lsls r0, r1, 24
+ cmp r0, 0
+ bne _082E647C
+_082E64A0:
+ lsls r0, r7, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x3
+ bls _082E646E
+ add sp, 0x4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E64B0: .4byte 0x03007898
+_082E64B4: .4byte 0x03007894
+ thumb_func_end rfu_STC_PARENT_analyzeRecvPacket
+
+ thumb_func_start rfu_STC_CHILD_analyzeRecvPacket
+rfu_STC_CHILD_analyzeRecvPacket: @ 82E64B8
+ push {r4-r6,lr}
+ ldr r0, _082E6508
+ ldr r0, [r0]
+ adds r0, 0xDC
+ ldr r1, [r0]
+ ldrh r0, [r1, 0x4]
+ movs r4, 0x7F
+ ands r4, r0
+ adds r5, r1, 0
+ adds r5, 0x8
+ cmp r4, 0
+ bne _082E64D8
+ ldr r0, _082E650C
+ ldr r1, [r0]
+ movs r0, 0xF
+ strb r0, [r1, 0x1]
+_082E64D8:
+ movs r0, 0x80
+ lsls r0, 8
+ adds r6, r0, 0
+_082E64DE:
+ cmp r4, 0
+ beq _082E6500
+ movs r0, 0
+ adds r1, r5, 0
+ adds r2, r4, 0
+ bl rfu_STC_analyzeLLSF
+ lsls r0, 16
+ lsrs r0, 16
+ adds r5, r0
+ subs r0, r4, r0
+ lsls r0, 16
+ lsrs r4, r0, 16
+ adds r0, r4, 0
+ ands r0, r6
+ cmp r0, 0
+ beq _082E64DE
+_082E6500:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E6508: .4byte 0x03007898
+_082E650C: .4byte 0x03007894
+ thumb_func_end rfu_STC_CHILD_analyzeRecvPacket
+
+ thumb_func_start rfu_STC_analyzeLLSF
+rfu_STC_analyzeLLSF: @ 82E6510
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x8
+ adds r7, r1, 0
+ lsls r0, 24
+ lsrs r0, 24
+ mov r12, r0
+ lsls r2, 16
+ lsrs r3, r2, 16
+ ldr r2, _082E6544
+ ldr r0, [r2]
+ ldrb r0, [r0]
+ mvns r0, r0
+ movs r1, 0x1
+ ands r0, r1
+ lsls r0, 4
+ ldr r1, _082E6548
+ adds r6, r0, r1
+ ldrb r0, [r6]
+ cmp r3, r0
+ bcs _082E654C
+ adds r0, r3, 0
+ b _082E673E
+ .align 2, 0
+_082E6544: .4byte 0x03007890
+_082E6548: .4byte 0x089a3220
+_082E654C:
+ movs r5, 0
+ movs r4, 0
+ ldrb r3, [r6, 0x1]
+ ldrb r1, [r6, 0x7]
+ mov r8, r1
+ ldr r2, [sp]
+ mov r9, r2
+ cmp r4, r0
+ bcs _082E6574
+ adds r2, r0, 0
+_082E6560:
+ ldrb r0, [r7]
+ lsls r1, r4, 3
+ lsls r0, r1
+ orrs r5, r0
+ adds r7, 0x1
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, r2
+ bcc _082E6560
+_082E6574:
+ adds r0, r5, 0
+ lsrs r0, r3
+ mov r3, r8
+ ands r0, r3
+ ldr r1, _082E664C
+ mov r10, r1
+ mov r3, r10
+ mov r2, r9
+ ands r3, r2
+ orrs r3, r0
+ str r3, [sp]
+ adds r0, r5, 0
+ ldrb r1, [r6, 0x2]
+ lsrs r0, r1
+ ldrb r1, [r6, 0x8]
+ ands r0, r1
+ lsls r0, 8
+ ldr r4, _082E6650
+ adds r2, r4, 0
+ ands r2, r3
+ orrs r2, r0
+ str r2, [sp]
+ adds r0, r5, 0
+ ldrb r3, [r6, 0x3]
+ lsrs r0, r3
+ ldrb r1, [r6, 0x9]
+ ands r0, r1
+ lsls r0, 16
+ ldr r3, _082E6654
+ ands r3, r2
+ orrs r3, r0
+ str r3, [sp]
+ adds r0, r5, 0
+ ldrb r1, [r6, 0x4]
+ lsrs r0, r1
+ ldrb r1, [r6, 0xA]
+ ands r0, r1
+ lsls r0, 24
+ ldr r2, _082E6658
+ mov r8, r2
+ mov r1, r8
+ ands r1, r3
+ orrs r1, r0
+ mov r8, r1
+ str r1, [sp]
+ adds r1, r5, 0
+ ldrb r2, [r6, 0x5]
+ lsrs r1, r2
+ ldrb r0, [r6, 0xB]
+ ands r1, r0
+ mov r9, sp
+ ldr r2, [sp, 0x4]
+ mov r3, r10
+ ands r2, r3
+ orrs r2, r1
+ str r2, [sp, 0x4]
+ adds r0, r5, 0
+ ldrb r1, [r6, 0x6]
+ lsrs r0, r1
+ ldrb r1, [r6, 0xC]
+ ands r0, r1
+ lsls r0, 8
+ ands r4, r2
+ orrs r4, r0
+ str r4, [sp, 0x4]
+ ldrh r0, [r6, 0xE]
+ ands r5, r0
+ lsls r1, r5, 16
+ ldr r0, _082E665C
+ ands r0, r4
+ orrs r0, r1
+ str r0, [sp, 0x4]
+ lsrs r0, 16
+ ldrb r6, [r6]
+ adds r0, r6
+ lsls r0, 16
+ lsrs r0, 16
+ mov r10, r0
+ mov r0, sp
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _082E661A
+ b _082E673C
+_082E661A:
+ ldr r2, _082E6660
+ ldr r3, [r2]
+ ldrb r2, [r3]
+ cmp r2, 0x1
+ bne _082E66D8
+ ldrb r0, [r3, 0x2]
+ mov r5, r12
+ asrs r0, r5
+ ands r0, r2
+ cmp r0, 0
+ bne _082E6632
+ b _082E673C
+_082E6632:
+ mov r1, r8
+ lsrs r0, r1, 16
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x4
+ bne _082E6664
+ mov r0, r12
+ mov r1, sp
+ adds r2, r7, 0
+ bl rfu_STC_UNI_receive
+ b _082E673C
+ .align 2, 0
+_082E664C: .4byte 0xffffff00
+_082E6650: .4byte 0xffff00ff
+_082E6654: .4byte 0xff00ffff
+_082E6658: .4byte 0x00ffffff
+_082E665C: .4byte 0x0000ffff
+_082E6660: .4byte 0x03007890
+_082E6664:
+ mov r5, r9
+ ldrb r0, [r5, 0x3]
+ cmp r0, 0
+ bne _082E6678
+ mov r0, r12
+ mov r1, sp
+ adds r2, r7, 0
+ bl rfu_STC_NI_receive_Receiver
+ b _082E673C
+_082E6678:
+ movs r4, 0
+ ldr r1, _082E6690
+ ldr r0, [r1]
+ ldrb r0, [r0, 0x1A]
+ mov r5, r12
+ asrs r0, r5
+ ands r0, r2
+ cmp r0, 0
+ beq _082E6694
+ ldrb r0, [r3, 0x4]
+ b _082E66BA
+ .align 2, 0
+_082E6690: .4byte 0x03007880
+_082E6694:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x3
+ bhi _082E673C
+ lsls r0, r4, 2
+ adds r0, r1
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x1A]
+ mov r2, r12
+ asrs r0, r2
+ movs r2, 0x1
+ ands r0, r2
+ cmp r0, 0
+ beq _082E6694
+ ldr r3, _082E66D4
+ ldr r0, [r3]
+ ldrb r0, [r0, 0x4]
+ mov r5, r12
+_082E66BA:
+ asrs r0, r5
+ ands r0, r2
+ cmp r0, 0
+ beq _082E6694
+ cmp r4, 0x3
+ bhi _082E673C
+ adds r0, r4, 0
+ mov r1, r12
+ mov r2, sp
+ adds r3, r7, 0
+ bl rfu_STC_NI_receive_Sender
+ b _082E673C
+ .align 2, 0
+_082E66D4: .4byte 0x03007890
+_082E66D8:
+ ldrb r1, [r3, 0x2]
+ mov r2, r9
+ ldrb r0, [r2, 0x1]
+ adds r5, r1, 0
+ ands r5, r0
+ cmp r5, 0
+ beq _082E673C
+ movs r4, 0
+ movs r6, 0x1
+_082E66EA:
+ adds r0, r5, 0
+ asrs r0, r4
+ ands r0, r6
+ cmp r0, 0
+ beq _082E6732
+ mov r1, sp
+ ldrb r0, [r1, 0x2]
+ cmp r0, 0x4
+ bne _082E6706
+ adds r0, r4, 0
+ adds r2, r7, 0
+ bl rfu_STC_UNI_receive
+ b _082E6732
+_082E6706:
+ ldrb r0, [r1, 0x3]
+ cmp r0, 0
+ bne _082E6718
+ adds r0, r4, 0
+ mov r1, sp
+ adds r2, r7, 0
+ bl rfu_STC_NI_receive_Receiver
+ b _082E6732
+_082E6718:
+ ldr r0, _082E6750
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x4]
+ asrs r0, r4
+ ands r0, r6
+ cmp r0, 0
+ beq _082E6732
+ adds r0, r4, 0
+ adds r1, r4, 0
+ mov r2, sp
+ adds r3, r7, 0
+ bl rfu_STC_NI_receive_Sender
+_082E6732:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x3
+ bls _082E66EA
+_082E673C:
+ mov r0, r10
+_082E673E:
+ add sp, 0x8
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_082E6750: .4byte 0x03007890
+ thumb_func_end rfu_STC_analyzeLLSF
+
+ thumb_func_start rfu_STC_UNI_receive
+rfu_STC_UNI_receive: @ 82E6754
+ push {r4-r7,lr}
+ sub sp, 0x8
+ adds r6, r1, 0
+ str r2, [sp]
+ lsls r0, 24
+ lsrs r7, r0, 24
+ ldr r2, _082E6788
+ lsls r1, r7, 2
+ adds r1, r2
+ ldr r3, [r1]
+ adds r5, r3, 0
+ adds r5, 0xC
+ movs r4, 0
+ movs r0, 0
+ strh r0, [r5, 0x2]
+ ldr r0, [r1]
+ ldr r0, [r0, 0x18]
+ adds r1, r2, 0
+ ldrh r2, [r6, 0x6]
+ cmp r0, r2
+ bcs _082E6790
+ movs r0, 0x49
+ strh r0, [r3, 0xC]
+ ldr r0, _082E678C
+ strh r0, [r5, 0x2]
+ b _082E67DE
+ .align 2, 0
+_082E6788: .4byte 0x03007870
+_082E678C: .4byte 0x00000701
+_082E6790:
+ ldrb r0, [r5, 0x7]
+ cmp r0, 0
+ beq _082E67A8
+ ldrb r0, [r5, 0x6]
+ cmp r0, 0
+ beq _082E67B4
+ ldr r0, _082E67A4
+ strh r0, [r5, 0x2]
+ b _082E67DE
+ .align 2, 0
+_082E67A4: .4byte 0x00000709
+_082E67A8:
+ ldrb r0, [r5, 0x6]
+ cmp r0, 0
+ beq _082E67B4
+ movs r0, 0xE1
+ lsls r0, 3
+ strh r0, [r5, 0x2]
+_082E67B4:
+ movs r4, 0
+ ldr r0, _082E67FC
+ strh r0, [r5]
+ ldrh r0, [r6, 0x6]
+ strh r0, [r5, 0x4]
+ ldrh r2, [r6, 0x6]
+ lsls r0, r7, 2
+ adds r0, r1
+ ldr r0, [r0]
+ ldr r0, [r0, 0x14]
+ str r0, [sp, 0x4]
+ ldr r0, _082E6800
+ ldr r0, [r0]
+ add r1, sp, 0x4
+ ldr r3, [r0, 0x4]
+ mov r0, sp
+ bl _call_via_r3
+ movs r0, 0x1
+ strb r0, [r5, 0x6]
+ strh r4, [r5]
+_082E67DE:
+ ldrh r0, [r5, 0x2]
+ cmp r0, 0
+ beq _082E67F2
+ ldr r0, _082E6804
+ ldr r2, [r0]
+ movs r0, 0x10
+ lsls r0, r7
+ ldrb r1, [r2, 0x4]
+ orrs r0, r1
+ strb r0, [r2, 0x4]
+_082E67F2:
+ add sp, 0x8
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E67FC: .4byte 0x00008042
+_082E6800: .4byte 0x03007898
+_082E6804: .4byte 0x03007894
+ thumb_func_end rfu_STC_UNI_receive
+
+ thumb_func_start rfu_STC_NI_receive_Sender
+rfu_STC_NI_receive_Sender: @ 82E6808
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x4
+ adds r6, r2, 0
+ lsls r0, 24
+ lsls r1, 24
+ lsrs r1, 24
+ mov r10, r1
+ ldr r1, _082E68D4
+ lsrs r0, 22
+ adds r0, r1
+ ldr r0, [r0]
+ mov r12, r0
+ ldrh r0, [r0]
+ mov r9, r0
+ mov r0, r12
+ adds r0, 0x21
+ ldrb r2, [r6, 0x4]
+ adds r0, r2
+ ldrb r0, [r0]
+ str r0, [sp]
+ ldrb r2, [r6, 0x2]
+ cmp r2, 0x2
+ bne _082E6844
+ ldr r0, _082E68D8
+ cmp r9, r0
+ beq _082E685E
+_082E6844:
+ cmp r2, 0x1
+ bne _082E684E
+ ldr r0, _082E68DC
+ cmp r9, r0
+ beq _082E685E
+_082E684E:
+ movs r3, 0x1B
+ add r3, r12
+ mov r8, r3
+ cmp r2, 0x3
+ bne _082E6882
+ ldr r0, _082E68E0
+ cmp r9, r0
+ bne _082E6882
+_082E685E:
+ ldrb r1, [r6, 0x4]
+ mov r0, r12
+ adds r0, 0x21
+ adds r0, r1
+ ldrb r0, [r0]
+ movs r7, 0x1B
+ add r7, r12
+ mov r8, r7
+ ldrb r2, [r6, 0x5]
+ cmp r0, r2
+ bne _082E6882
+ adds r0, r7, r1
+ movs r1, 0x1
+ mov r3, r10
+ lsls r1, r3
+ ldrb r2, [r0]
+ orrs r1, r2
+ strb r1, [r0]
+_082E6882:
+ ldrb r2, [r6, 0x4]
+ mov r7, r8
+ adds r0, r7, r2
+ ldrb r0, [r0]
+ mov r3, r12
+ ldrb r1, [r3, 0x1A]
+ ands r0, r1
+ cmp r0, r1
+ bne _082E697E
+ adds r3, 0x21
+ adds r2, r3, r2
+ ldrb r0, [r2]
+ adds r0, 0x1
+ movs r1, 0x3
+ ands r0, r1
+ movs r1, 0
+ strb r0, [r2]
+ ldrb r0, [r6, 0x4]
+ add r0, r8
+ strb r1, [r0]
+ mov r7, r12
+ ldrh r1, [r7]
+ ldr r2, _082E68E4
+ adds r0, r1, r2
+ lsls r0, 16
+ lsrs r0, 16
+ adds r5, r3, 0
+ cmp r0, 0x1
+ bhi _082E6970
+ ldr r0, _082E68DC
+ cmp r1, r0
+ bne _082E68E8
+ ldrb r1, [r6, 0x4]
+ lsls r1, 2
+ subs r3, 0x1D
+ adds r1, r3, r1
+ ldrh r2, [r7, 0x2E]
+ ldr r0, [r1]
+ adds r0, r2
+ str r0, [r1]
+ b _082E68FE
+ .align 2, 0
+_082E68D4: .4byte 0x03007880
+_082E68D8: .4byte 0x00008022
+_082E68DC: .4byte 0x00008021
+_082E68E0: .4byte 0x00008023
+_082E68E4: .4byte 0x00007fdf
+_082E68E8:
+ ldrb r2, [r6, 0x4]
+ lsls r2, 2
+ mov r3, r12
+ adds r3, 0x4
+ adds r2, r3, r2
+ mov r7, r12
+ ldrh r1, [r7, 0x2E]
+ lsls r1, 2
+ ldr r0, [r2]
+ adds r0, r1
+ str r0, [r2]
+_082E68FE:
+ mov r0, r12
+ ldrh r1, [r0, 0x2E]
+ ldr r0, [r0, 0x14]
+ subs r0, r1
+ mov r1, r12
+ str r0, [r1, 0x14]
+ cmp r0, 0
+ beq _082E6912
+ cmp r0, 0
+ bge _082E697E
+_082E6912:
+ mov r0, r12
+ adds r0, 0x20
+ movs r2, 0
+ strb r2, [r0]
+ mov r7, r12
+ ldrh r1, [r7]
+ ldr r0, _082E6954
+ cmp r1, r0
+ bne _082E695C
+ movs r4, 0
+_082E6926:
+ adds r0, r5, r4
+ movs r1, 0x1
+ strb r1, [r0]
+ lsls r1, r4, 2
+ adds r1, r3, r1
+ mov r2, r12
+ ldrh r0, [r2, 0x2E]
+ adds r2, r0, 0
+ muls r2, r4
+ mov r7, r12
+ ldr r0, [r7, 0x28]
+ adds r0, r2
+ str r0, [r1]
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x3
+ bls _082E6926
+ ldr r0, [r7, 0x30]
+ str r0, [r7, 0x14]
+ ldr r0, _082E6958
+ strh r0, [r7]
+ b _082E697E
+ .align 2, 0
+_082E6954: .4byte 0x00008021
+_082E6958: .4byte 0x00008022
+_082E695C:
+ strb r2, [r5]
+ mov r0, r12
+ str r2, [r0, 0x14]
+ ldr r0, _082E696C
+ mov r1, r12
+ strh r0, [r1]
+ b _082E697E
+ .align 2, 0
+_082E696C: .4byte 0x00008023
+_082E6970:
+ lsls r1, 16
+ ldr r0, _082E69E0
+ cmp r1, r0
+ bne _082E697E
+ ldr r0, _082E69E4
+ mov r2, r12
+ strh r0, [r2]
+_082E697E:
+ mov r3, r12
+ ldrh r0, [r3]
+ cmp r0, r9
+ bne _082E69A8
+ ldrb r2, [r6, 0x4]
+ mov r0, r12
+ adds r0, 0x21
+ adds r0, r2
+ ldrb r0, [r0]
+ ldr r7, [sp]
+ cmp r0, r7
+ bne _082E69A8
+ mov r1, r8
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ mov r2, r10
+ asrs r0, r2
+ movs r1, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _082E69CE
+_082E69A8:
+ ldr r4, _082E69E8
+ ldrh r2, [r4]
+ movs r0, 0
+ strh r0, [r4]
+ ldr r0, _082E69EC
+ ldr r3, [r0]
+ movs r0, 0x10
+ mov r7, r10
+ lsls r0, r7
+ ldrb r1, [r3, 0x2]
+ orrs r0, r1
+ movs r1, 0
+ strb r0, [r3, 0x2]
+ lsls r0, r7, 2
+ ldr r3, _082E69F0
+ adds r0, r3
+ ldr r0, [r0]
+ strh r1, [r0, 0x2]
+ strh r2, [r4]
+_082E69CE:
+ add sp, 0x4
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E69E0: .4byte 0x80230000
+_082E69E4: .4byte 0x00008020
+_082E69E8: .4byte 0x04000208
+_082E69EC: .4byte 0x03007894
+_082E69F0: .4byte 0x03007880
+ thumb_func_end rfu_STC_NI_receive_Sender
+
+ thumb_func_start rfu_STC_NI_receive_Receiver
+rfu_STC_NI_receive_Receiver: @ 82E69F4
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x4
+ adds r6, r1, 0
+ str r2, [sp]
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ movs r7, 0
+ ldr r1, _082E6A54
+ lsls r0, 2
+ adds r0, r1
+ ldr r4, [r0]
+ adds r5, r4, 0
+ adds r5, 0x34
+ ldrh r0, [r4, 0x34]
+ mov r9, r0
+ ldrb r0, [r6, 0x4]
+ adds r3, r4, 0
+ adds r3, 0x55
+ adds r0, r3, r0
+ ldrb r0, [r0]
+ mov r10, r0
+ ldrb r0, [r6, 0x2]
+ cmp r0, 0x3
+ bne _082E6A64
+ ldr r0, _082E6A58
+ ldr r2, [r0]
+ movs r0, 0x1
+ mov r1, r8
+ lsls r0, r1
+ ldrb r1, [r2, 0x1]
+ orrs r0, r1
+ strb r0, [r2, 0x1]
+ ldrh r1, [r4, 0x34]
+ ldr r0, _082E6A5C
+ cmp r1, r0
+ bne _082E6AAA
+ adds r0, r4, 0
+ adds r0, 0x54
+ strb r7, [r0]
+ strb r7, [r3]
+ ldr r0, _082E6A60
+ strh r0, [r4, 0x34]
+ b _082E6AAA
+ .align 2, 0
+_082E6A54: .4byte 0x03007880
+_082E6A58: .4byte 0x03007894
+_082E6A5C: .4byte 0x00008042
+_082E6A60: .4byte 0x00008043
+_082E6A64:
+ cmp r0, 0x2
+ bne _082E6A90
+ ldr r0, _082E6A88
+ cmp r9, r0
+ bne _082E6A7C
+ ldr r0, [r5, 0x14]
+ cmp r0, 0
+ bne _082E6A7C
+ mov r0, r8
+ adds r1, r5, 0
+ bl rfu_STC_NI_initSlot_asRecvDataEntity
+_082E6A7C:
+ ldrh r1, [r5]
+ ldr r0, _082E6A8C
+ cmp r1, r0
+ bne _082E6AAA
+ b _082E6AAE
+ .align 2, 0
+_082E6A88: .4byte 0x00008041
+_082E6A8C: .4byte 0x00008042
+_082E6A90:
+ cmp r0, 0x1
+ bne _082E6AAA
+ ldr r7, _082E6B5C
+ cmp r9, r7
+ beq _082E6AAE
+ mov r0, r8
+ adds r1, r5, 0
+ bl rfu_STC_NI_initSlot_asRecvControllData
+ ldrh r0, [r4, 0x34]
+ cmp r0, r7
+ bne _082E6B4A
+ movs r7, 0x1
+_082E6AAA:
+ cmp r7, 0
+ beq _082E6B04
+_082E6AAE:
+ ldrb r2, [r6, 0x5]
+ ldrb r3, [r6, 0x4]
+ adds r4, r5, 0
+ adds r4, 0x21
+ adds r0, r4, r3
+ ldrb r0, [r0]
+ adds r0, 0x1
+ movs r1, 0x3
+ ands r0, r1
+ cmp r2, r0
+ bne _082E6B04
+ ldr r0, _082E6B60
+ ldr r0, [r0]
+ lsls r1, r3, 2
+ adds r1, 0x4
+ adds r1, r5, r1
+ ldrh r2, [r6, 0x6]
+ ldr r3, [r0, 0x4]
+ mov r0, sp
+ bl _call_via_r3
+ ldrh r1, [r5]
+ ldr r0, _082E6B64
+ cmp r1, r0
+ bne _082E6AF4
+ ldrb r0, [r6, 0x4]
+ lsls r0, 2
+ adds r2, r5, 0x4
+ adds r2, r0
+ ldrh r0, [r5, 0x2E]
+ lsls r1, r0, 1
+ adds r1, r0
+ ldr r0, [r2]
+ adds r0, r1
+ str r0, [r2]
+_082E6AF4:
+ ldrh r1, [r6, 0x6]
+ ldr r0, [r5, 0x14]
+ subs r0, r1
+ str r0, [r5, 0x14]
+ ldrb r0, [r6, 0x4]
+ adds r0, r4, r0
+ ldrb r1, [r6, 0x5]
+ strb r1, [r0]
+_082E6B04:
+ ldrh r0, [r5, 0x18]
+ cmp r0, 0
+ bne _082E6B4A
+ ldrb r0, [r6, 0x4]
+ adds r1, r5, 0
+ adds r1, 0x20
+ strb r0, [r1]
+ ldrh r0, [r5]
+ cmp r0, r9
+ bne _082E6B2C
+ adds r0, r5, 0
+ adds r0, 0x21
+ ldrb r2, [r6, 0x4]
+ adds r0, r2
+ ldrb r0, [r0]
+ cmp r0, r10
+ bne _082E6B2C
+ ldrb r6, [r6, 0x5]
+ cmp r0, r6
+ bne _082E6B4A
+_082E6B2C:
+ ldr r3, _082E6B68
+ ldrh r2, [r3]
+ movs r0, 0
+ strh r0, [r3]
+ ldr r0, _082E6B6C
+ ldr r4, [r0]
+ movs r0, 0x1
+ mov r1, r8
+ lsls r0, r1
+ ldrb r1, [r4, 0x2]
+ orrs r0, r1
+ movs r1, 0
+ strb r0, [r4, 0x2]
+ strh r1, [r5, 0x2]
+ strh r2, [r3]
+_082E6B4A:
+ add sp, 0x4
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E6B5C: .4byte 0x00008041
+_082E6B60: .4byte 0x03007898
+_082E6B64: .4byte 0x00008042
+_082E6B68: .4byte 0x04000208
+_082E6B6C: .4byte 0x03007894
+ thumb_func_end rfu_STC_NI_receive_Receiver
+
+ thumb_func_start rfu_STC_NI_initSlot_asRecvControllData
+rfu_STC_NI_initSlot_asRecvControllData: @ 82E6B70
+ push {r4-r7,lr}
+ adds r2, r1, 0
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r0, _082E6B8C
+ ldr r3, [r0]
+ ldrb r1, [r3]
+ mov r12, r0
+ cmp r1, 0x1
+ bne _082E6B90
+ movs r5, 0x3
+ adds r1, r3, 0
+ adds r1, 0xF
+ b _082E6B98
+ .align 2, 0
+_082E6B8C: .4byte 0x03007890
+_082E6B90:
+ movs r5, 0x2
+ adds r0, r4, 0
+ adds r0, 0x10
+ adds r1, r3, r0
+_082E6B98:
+ movs r7, 0x1
+ adds r0, r7, 0
+ lsls r0, r4
+ lsls r0, 24
+ lsrs r6, r0, 24
+ adds r4, r6, 0
+ ldrh r3, [r2]
+ cmp r3, 0
+ bne _082E6BF6
+ ldrb r0, [r1]
+ cmp r0, r5
+ bcs _082E6BD0
+ movs r0, 0x49
+ strh r0, [r2]
+ ldr r0, _082E6BC8
+ strh r0, [r2, 0x18]
+ ldr r0, _082E6BCC
+ ldr r2, [r0]
+ ldrb r1, [r2, 0x4]
+ adds r0, r6, 0
+ orrs r0, r1
+ strb r0, [r2, 0x4]
+ b _082E6BF6
+ .align 2, 0
+_082E6BC8: .4byte 0x00000702
+_082E6BCC: .4byte 0x03007894
+_082E6BD0:
+ strh r3, [r2, 0x18]
+ ldrb r0, [r1]
+ subs r0, r5
+ strb r0, [r1]
+ adds r0, r2, 0
+ adds r0, 0x2D
+ str r0, [r2, 0x4]
+ movs r0, 0x7
+ str r0, [r2, 0x14]
+ strb r7, [r2, 0x1F]
+ strh r3, [r2, 0x2E]
+ strb r4, [r2, 0x1A]
+ ldr r0, _082E6BFC
+ strh r0, [r2]
+ mov r0, r12
+ ldr r1, [r0]
+ ldrb r0, [r1, 0x5]
+ orrs r4, r0
+ strb r4, [r1, 0x5]
+_082E6BF6:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E6BFC: .4byte 0x00008041
+ thumb_func_end rfu_STC_NI_initSlot_asRecvControllData
+
+ thumb_func_start rfu_STC_NI_initSlot_asRecvDataEntity
+rfu_STC_NI_initSlot_asRecvDataEntity: @ 82E6C00
+ push {r4-r7,lr}
+ adds r4, r1, 0
+ lsls r0, 24
+ lsrs r5, r0, 24
+ adds r0, r4, 0
+ adds r0, 0x2D
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ bne _082E6C24
+ ldr r0, _082E6C20
+ lsls r1, r5, 5
+ adds r1, 0x14
+ ldr r0, [r0]
+ adds r0, r1
+ adds r0, 0x4
+ b _082E6C7A
+ .align 2, 0
+_082E6C20: .4byte 0x03007890
+_082E6C24:
+ ldr r1, _082E6C68
+ lsls r0, r5, 2
+ adds r0, r1
+ ldr r2, [r0]
+ ldr r1, [r4, 0x30]
+ ldr r0, [r2, 0x6C]
+ cmp r1, r0
+ bls _082E6C78
+ movs r1, 0x80
+ lsls r1, 17
+ lsls r1, r5
+ lsrs r1, 24
+ ldr r0, _082E6C6C
+ ldr r3, [r0]
+ ldrb r2, [r3, 0x4]
+ adds r0, r1, 0
+ orrs r0, r2
+ strb r0, [r3, 0x4]
+ ldr r0, _082E6C70
+ ldr r2, [r0]
+ ldrb r0, [r2, 0x5]
+ bics r0, r1
+ strb r0, [r2, 0x5]
+ ldr r0, _082E6C74
+ strh r0, [r4, 0x18]
+ movs r0, 0x47
+ strh r0, [r4]
+ adds r0, r5, 0
+ movs r1, 0x1
+ adds r2, r4, 0
+ bl rfu_STC_releaseFrame
+ b _082E6CAC
+ .align 2, 0
+_082E6C68: .4byte 0x03007880
+_082E6C6C: .4byte 0x03007894
+_082E6C70: .4byte 0x03007890
+_082E6C74: .4byte 0x00000701
+_082E6C78:
+ ldr r0, [r2, 0x68]
+_082E6C7A:
+ str r0, [r4, 0x4]
+ movs r3, 0
+ adds r6, r4, 0
+ adds r6, 0x21
+ movs r7, 0
+ adds r5, r4, 0x4
+_082E6C86:
+ adds r0, r6, r3
+ strb r7, [r0]
+ lsls r1, r3, 2
+ adds r1, r5, r1
+ ldrh r0, [r4, 0x2E]
+ adds r2, r0, 0
+ muls r2, r3
+ ldr r0, [r4, 0x4]
+ adds r0, r2
+ str r0, [r1]
+ adds r0, r3, 0x1
+ lsls r0, 24
+ lsrs r3, r0, 24
+ cmp r3, 0x3
+ bls _082E6C86
+ ldr r0, [r4, 0x30]
+ str r0, [r4, 0x14]
+ ldr r0, _082E6CB4
+ strh r0, [r4]
+_082E6CAC:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E6CB4: .4byte 0x00008042
+ thumb_func_end rfu_STC_NI_initSlot_asRecvDataEntity
+
+ thumb_func_start rfu_NI_checkCommFailCounter
+rfu_NI_checkCommFailCounter: @ 82E6CB8
+ push {r4-r7,lr}
+ ldr r2, _082E6D44
+ ldr r0, [r2]
+ ldrb r1, [r0, 0x4]
+ ldrb r0, [r0, 0x5]
+ orrs r0, r1
+ cmp r0, 0
+ beq _082E6D3E
+ ldr r1, _082E6D48
+ ldrh r0, [r1]
+ mov r12, r0
+ movs r0, 0
+ strh r0, [r1]
+ ldr r1, _082E6D4C
+ ldr r0, [r1]
+ ldrb r0, [r0, 0x2]
+ lsrs r7, r0, 4
+ movs r3, 0
+ adds r6, r1, 0
+ adds r5, r2, 0
+ ldr r4, _082E6D50
+_082E6CE2:
+ movs r0, 0x80
+ lsls r0, 17
+ lsls r0, r3
+ lsrs r2, r0, 24
+ ldr r0, [r5]
+ ldrb r0, [r0, 0x4]
+ ands r0, r2
+ cmp r0, 0
+ beq _082E6D0A
+ ldr r0, [r6]
+ ldrb r0, [r0, 0x2]
+ ands r0, r2
+ cmp r0, 0
+ bne _082E6D0A
+ lsls r0, r3, 2
+ adds r0, r4
+ ldr r1, [r0]
+ ldrh r0, [r1, 0x2]
+ adds r0, 0x1
+ strh r0, [r1, 0x2]
+_082E6D0A:
+ ldr r0, [r5]
+ ldrb r0, [r0, 0x5]
+ ands r0, r2
+ cmp r0, 0
+ beq _082E6D28
+ adds r0, r7, 0
+ ands r0, r2
+ cmp r0, 0
+ bne _082E6D28
+ lsls r0, r3, 2
+ adds r0, r4
+ ldr r1, [r0]
+ ldrh r0, [r1, 0x36]
+ adds r0, 0x1
+ strh r0, [r1, 0x36]
+_082E6D28:
+ adds r0, r3, 0x1
+ lsls r0, 24
+ lsrs r3, r0, 24
+ cmp r3, 0x3
+ bls _082E6CE2
+ ldr r0, [r6]
+ movs r1, 0
+ strb r1, [r0, 0x2]
+ ldr r0, _082E6D48
+ mov r1, r12
+ strh r1, [r0]
+_082E6D3E:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E6D44: .4byte 0x03007890
+_082E6D48: .4byte 0x04000208
+_082E6D4C: .4byte 0x03007894
+_082E6D50: .4byte 0x03007880
+ thumb_func_end rfu_NI_checkCommFailCounter
+
+ thumb_func_start rfu_REQ_noise
+rfu_REQ_noise: @ 82E6D54
+ push {lr}
+ ldr r0, _082E6D68
+ bl STWI_set_Callback_M
+ movs r0, 0x1
+ movs r1, 0
+ bl STWI_send_TestModeREQ
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E6D68: .4byte rfu_STC_REQ_callback + 1
+ thumb_func_end rfu_REQ_noise
+
+ thumb_func_start sub_82E6D6C
+sub_82E6D6C: @ 82E6D6C
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r0, _082E6D84
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _082E6D88
+ movs r0, 0x1
+ negs r0, r0
+ b _082E6E08
+ .align 2, 0
+_082E6D84: .4byte 0x04000208
+_082E6D88:
+ ldr r0, _082E6DB4
+ ldrh r0, [r0]
+ mov r8, r0
+ ldr r4, _082E6DB8
+ ldr r1, [r4]
+ movs r0, 0xA
+ str r0, [r1]
+ ldr r0, _082E6DBC
+ bl STWI_set_Callback_ID
+ bl sub_82E6E20
+ ldr r0, [r4]
+ ldrb r0, [r0, 0xA]
+ lsls r0, 2
+ ldr r1, _082E6DC0
+ adds r4, r0, r1
+ lsls r0, r5, 27
+ lsrs r5, r0, 24
+ movs r7, 0
+ b _082E6DD6
+ .align 2, 0
+_082E6DB4: .4byte 0x04000200
+_082E6DB8: .4byte 0x03007868
+_082E6DBC: .4byte sub_82E6F88 + 1
+_082E6DC0: .4byte 0x04000100
+_082E6DC4:
+ strh r6, [r4, 0x2]
+ strh r6, [r4]
+ movs r0, 0x83
+ strh r0, [r4, 0x2]
+_082E6DCC:
+ ldrh r0, [r4]
+ cmp r0, 0x1F
+ bls _082E6DCC
+ strh r7, [r4, 0x2]
+ strh r7, [r4]
+_082E6DD6:
+ subs r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0xFF
+ beq _082E6DEA
+ bl sub_82E6E94
+ adds r6, r0, 0
+ cmp r6, 0
+ beq _082E6DC4
+_082E6DEA:
+ ldr r1, _082E6E14
+ movs r0, 0
+ strh r0, [r1]
+ ldr r0, _082E6E18
+ mov r2, r8
+ strh r2, [r0]
+ movs r0, 0x1
+ strh r0, [r1]
+ ldr r0, _082E6E1C
+ ldr r1, [r0]
+ movs r0, 0
+ str r0, [r1]
+ bl STWI_set_Callback_ID
+ adds r0, r6, 0
+_082E6E08:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_082E6E14: .4byte 0x04000208
+_082E6E18: .4byte 0x04000200
+_082E6E1C: .4byte 0x03007868
+ thumb_func_end sub_82E6D6C
+
+ thumb_func_start sub_82E6E20
+sub_82E6E20: @ 82E6E20
+ push {r4,r5,lr}
+ sub sp, 0x4
+ ldr r3, _082E6E78
+ movs r4, 0
+ strh r4, [r3]
+ ldr r2, _082E6E7C
+ ldr r0, _082E6E80
+ ldr r0, [r0]
+ movs r1, 0x8
+ ldrb r0, [r0, 0xA]
+ lsls r1, r0
+ movs r5, 0x80
+ orrs r1, r5
+ ldrh r0, [r2]
+ bics r0, r1
+ strh r0, [r2]
+ movs r0, 0x1
+ strh r0, [r3]
+ ldr r0, _082E6E84
+ strh r4, [r0]
+ subs r2, 0xD8
+ movs r1, 0x80
+ lsls r1, 5
+ adds r0, r1, 0
+ strh r0, [r2]
+ ldrh r0, [r2]
+ movs r3, 0x81
+ lsls r3, 7
+ adds r1, r3, 0
+ orrs r0, r1
+ strh r0, [r2]
+ movs r0, 0
+ str r0, [sp]
+ ldr r1, _082E6E88
+ ldr r2, _082E6E8C
+ mov r0, sp
+ bl CpuSet
+ ldr r0, _082E6E90
+ strh r5, [r0]
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E6E78: .4byte 0x04000208
+_082E6E7C: .4byte 0x04000200
+_082E6E80: .4byte 0x03007868
+_082E6E84: .4byte 0x04000134
+_082E6E88: .4byte 0x030078a0
+_082E6E8C: .4byte 0x05000003
+_082E6E90: .4byte 0x04000202
+ thumb_func_end sub_82E6E20
+
+ thumb_func_start sub_82E6E94
+sub_82E6E94: @ 82E6E94
+ push {r4-r7,lr}
+ ldr r0, _082E6EA8
+ ldrb r1, [r0, 0x1]
+ mov r12, r1
+ adds r7, r0, 0
+ cmp r1, 0
+ beq _082E6EAC
+ cmp r1, 0x1
+ beq _082E6EE4
+ b _082E6F7C
+ .align 2, 0
+_082E6EA8: .4byte 0x030078a0
+_082E6EAC:
+ movs r6, 0x1
+ strb r6, [r7]
+ ldr r3, _082E6ED8
+ ldrh r0, [r3]
+ movs r5, 0x1
+ orrs r0, r5
+ strh r0, [r3]
+ ldr r4, _082E6EDC
+ mov r0, r12
+ strh r0, [r4]
+ ldr r2, _082E6EE0
+ ldrh r0, [r2]
+ movs r1, 0x80
+ orrs r0, r1
+ strh r0, [r2]
+ strh r6, [r4]
+ strb r5, [r7, 0x1]
+ ldrb r0, [r3]
+ orrs r0, r1
+ strb r0, [r3]
+ b _082E6F80
+ .align 2, 0
+_082E6ED8: .4byte 0x04000128
+_082E6EDC: .4byte 0x04000208
+_082E6EE0: .4byte 0x04000200
+_082E6EE4:
+ ldrh r0, [r7, 0xA]
+ cmp r0, 0
+ bne _082E6F78
+ ldrb r0, [r7]
+ cmp r0, 0x1
+ bne _082E6F14
+ ldrh r0, [r7, 0x2]
+ cmp r0, 0
+ bne _082E6F80
+ ldr r3, _082E6F0C
+ strh r0, [r3]
+ ldr r2, _082E6F10
+ ldrh r0, [r2]
+ movs r1, 0x80
+ orrs r0, r1
+ strh r0, [r2]
+ mov r1, r12
+ strh r1, [r3]
+ b _082E6F80
+ .align 2, 0
+_082E6F0C: .4byte 0x04000208
+_082E6F10: .4byte 0x04000128
+_082E6F14:
+ ldrh r1, [r7, 0x4]
+ ldr r0, _082E6F60
+ cmp r1, r0
+ beq _082E6F80
+ ldrh r6, [r7, 0x2]
+ cmp r6, 0
+ bne _082E6F80
+ ldr r4, _082E6F64
+ strh r6, [r4]
+ ldr r3, _082E6F68
+ ldrh r1, [r3]
+ ldr r0, _082E6F6C
+ ands r0, r1
+ strh r0, [r3]
+ mov r7, r12
+ strh r7, [r4]
+ ldr r2, _082E6F70
+ strh r6, [r2]
+ movs r1, 0x80
+ lsls r1, 5
+ adds r0, r1, 0
+ strh r0, [r2]
+ ldr r0, _082E6F74
+ movs r5, 0x80
+ strh r5, [r0]
+ ldrh r0, [r2]
+ movs r7, 0x81
+ lsls r7, 7
+ adds r1, r7, 0
+ orrs r0, r1
+ strh r0, [r2]
+ strh r6, [r4]
+ ldrh r0, [r3]
+ orrs r0, r5
+ strh r0, [r3]
+ mov r0, r12
+ strh r0, [r4]
+ b _082E6F80
+ .align 2, 0
+_082E6F60: .4byte 0x00008001
+_082E6F64: .4byte 0x04000208
+_082E6F68: .4byte 0x04000200
+_082E6F6C: .4byte 0x0000ff7f
+_082E6F70: .4byte 0x04000128
+_082E6F74: .4byte 0x04000202
+_082E6F78:
+ movs r0, 0x2
+ strb r0, [r7, 0x1]
+_082E6F7C:
+ ldrh r0, [r7, 0xA]
+ b _082E6F82
+_082E6F80:
+ movs r0, 0
+_082E6F82:
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_82E6E94
+
+ thumb_func_start sub_82E6F88
+sub_82E6F88: @ 82E6F88
+ push {r4,r5,lr}
+ ldr r0, _082E6FD0
+ ldr r5, [r0]
+ ldr r0, _082E6FD4
+ ldrb r1, [r0]
+ adds r4, r0, 0
+ cmp r1, 0x1
+ beq sub_82E6FA2
+ ldr r0, _082E6FD8
+ ldrh r1, [r0]
+ movs r2, 0x80
+ orrs r1, r2
+ strh r1, [r0]
+ thumb_func_end sub_82E6F88
+
+ non_word_aligned_thumb_func_start sub_82E6FA2
+sub_82E6FA2: @ 82E6FA2
+ ldrb r2, [r4]
+ lsls r1, r2, 4
+ adds r0, r5, 0
+ lsls r0, r1
+ lsrs r1, r0, 16
+ movs r0, 0x1
+ subs r0, r2
+ lsls r0, 4
+ lsls r5, r0
+ adds r0, r5, 0
+ lsrs r5, r0, 16
+ ldrh r0, [r4, 0xA]
+ cmp r0, 0
+ bne _082E6FF6
+ ldrh r2, [r4, 0x6]
+ cmp r1, r2
+ bne _082E6FF4
+ ldrh r3, [r4, 0x2]
+ cmp r3, 0x3
+ bls _082E6FDC
+ strh r5, [r4, 0xA]
+ b _082E6FF6
+ .align 2, 0
+_082E6FD0: .4byte 0x04000120
+_082E6FD4: .4byte 0x030078a0
+_082E6FD8: .4byte 0x04000128
+_082E6FDC:
+ ldrh r0, [r4, 0x4]
+ mvns r0, r0
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r1, r0
+ bne _082E6FF6
+ mvns r0, r2
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r5, r0
+ bne _082E6FF6
+ adds r0, r3, 0x1
+_082E6FF4:
+ strh r0, [r4, 0x2]
+_082E6FF6:
+ ldrh r0, [r4, 0x2]
+ cmp r0, 0x3
+ bhi _082E700C
+ lsls r0, 1
+ ldr r1, _082E7008
+ adds r0, r1
+ ldrh r0, [r0]
+ b _082E700E
+ .align 2, 0
+_082E7008: .4byte 0x089a3258
+_082E700C:
+ ldr r0, _082E7064
+_082E700E:
+ strh r0, [r4, 0x4]
+ mvns r0, r5
+ strh r0, [r4, 0x6]
+ ldr r3, _082E7068
+ ldrh r2, [r4, 0x4]
+ ldrb r1, [r4]
+ movs r0, 0x1
+ subs r0, r1
+ lsls r0, 4
+ lsls r2, r0
+ ldrh r0, [r4, 0x6]
+ lsls r1, 4
+ lsls r0, r1
+ adds r2, r0
+ str r2, [r3]
+ ldrb r0, [r4]
+ cmp r0, 0x1
+ bne _082E705C
+ ldrh r0, [r4, 0x2]
+ cmp r0, 0
+ bne _082E703E
+ ldr r0, _082E706C
+ cmp r5, r0
+ bne _082E705C
+_082E703E:
+ movs r0, 0
+ ldr r1, _082E7070
+_082E7042:
+ adds r0, 0x1
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, r1
+ bls _082E7042
+ ldrh r0, [r4, 0xA]
+ cmp r0, 0
+ bne _082E705C
+ ldr r0, _082E7074
+ ldrh r1, [r0]
+ movs r2, 0x80
+ orrs r1, r2
+ strh r1, [r0]
+_082E705C:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_082E7064: .4byte 0x00008001
+_082E7068: .4byte 0x04000120
+_082E706C: .4byte 0x0000494e
+_082E7070: .4byte 0x00000257
+_082E7074: .4byte 0x04000128
+ thumb_func_end sub_82E6FA2