fix rfu_STC_analyzeLLSF
Co-authored-by: Normmatt <normmatt234@gmail.com>
This commit is contained in:
-388
@@ -5,394 +5,6 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start rfu_STC_analyzeLLSF
|
||||
rfu_STC_analyzeLLSF: @ 81E2C40
|
||||
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, _081E2C74 @ =gRfuLinkStatus
|
||||
ldr r0, [r2]
|
||||
ldrb r0, [r0]
|
||||
mvns r0, r0
|
||||
movs r1, 0x1
|
||||
ands r0, r1
|
||||
lsls r0, 4
|
||||
ldr r1, _081E2C78 @ =_Str_RfuHeader
|
||||
adds r6, r0, r1
|
||||
ldrb r0, [r6]
|
||||
cmp r3, r0
|
||||
bcs _081E2C7C
|
||||
adds r0, r3, 0
|
||||
b _081E2E6E
|
||||
.align 2, 0
|
||||
_081E2C74: .4byte gRfuLinkStatus
|
||||
_081E2C78: .4byte _Str_RfuHeader
|
||||
_081E2C7C:
|
||||
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 _081E2CA4
|
||||
adds r2, r0, 0
|
||||
_081E2C90:
|
||||
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 _081E2C90
|
||||
_081E2CA4:
|
||||
adds r0, r5, 0
|
||||
lsrs r0, r3
|
||||
mov r3, r8
|
||||
ands r0, r3
|
||||
ldr r1, _081E2D7C @ =0xffffff00
|
||||
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, _081E2D80 @ =0xffff00ff
|
||||
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, _081E2D84 @ =0xff00ffff
|
||||
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, _081E2D88 @ =0x00ffffff
|
||||
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, _081E2D8C @ =0x0000ffff
|
||||
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 _081E2D4A
|
||||
b _081E2E6C
|
||||
_081E2D4A:
|
||||
ldr r2, _081E2D90 @ =gRfuLinkStatus
|
||||
ldr r3, [r2]
|
||||
ldrb r2, [r3]
|
||||
cmp r2, 0x1
|
||||
bne _081E2E08
|
||||
ldrb r0, [r3, 0x2]
|
||||
mov r5, r12
|
||||
asrs r0, r5
|
||||
ands r0, r2
|
||||
cmp r0, 0
|
||||
bne _081E2D62
|
||||
b _081E2E6C
|
||||
_081E2D62:
|
||||
mov r1, r8
|
||||
lsrs r0, r1, 16
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x4
|
||||
bne _081E2D94
|
||||
mov r0, r12
|
||||
mov r1, sp
|
||||
adds r2, r7, 0
|
||||
bl rfu_STC_UNI_receive
|
||||
b _081E2E6C
|
||||
.align 2, 0
|
||||
_081E2D7C: .4byte 0xffffff00
|
||||
_081E2D80: .4byte 0xffff00ff
|
||||
_081E2D84: .4byte 0xff00ffff
|
||||
_081E2D88: .4byte 0x00ffffff
|
||||
_081E2D8C: .4byte 0x0000ffff
|
||||
_081E2D90: .4byte gRfuLinkStatus
|
||||
_081E2D94:
|
||||
mov r5, r9
|
||||
ldrb r0, [r5, 0x3]
|
||||
cmp r0, 0
|
||||
bne _081E2DA8
|
||||
mov r0, r12
|
||||
mov r1, sp
|
||||
adds r2, r7, 0
|
||||
bl rfu_STC_NI_receive_Receiver
|
||||
b _081E2E6C
|
||||
_081E2DA8:
|
||||
movs r4, 0
|
||||
ldr r1, _081E2DC0 @ =gRfuSlotStatusNI
|
||||
ldr r0, [r1]
|
||||
ldrb r0, [r0, 0x1A]
|
||||
mov r5, r12
|
||||
asrs r0, r5
|
||||
ands r0, r2
|
||||
cmp r0, 0
|
||||
beq _081E2DC4
|
||||
ldrb r0, [r3, 0x4]
|
||||
b _081E2DEA
|
||||
.align 2, 0
|
||||
_081E2DC0: .4byte gRfuSlotStatusNI
|
||||
_081E2DC4:
|
||||
adds r0, r4, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r4, r0, 24
|
||||
cmp r4, 0x3
|
||||
bhi _081E2E6C
|
||||
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 _081E2DC4
|
||||
ldr r3, _081E2E04 @ =gRfuLinkStatus
|
||||
ldr r0, [r3]
|
||||
ldrb r0, [r0, 0x4]
|
||||
mov r5, r12
|
||||
_081E2DEA:
|
||||
asrs r0, r5
|
||||
ands r0, r2
|
||||
cmp r0, 0
|
||||
beq _081E2DC4
|
||||
cmp r4, 0x3
|
||||
bhi _081E2E6C
|
||||
adds r0, r4, 0
|
||||
mov r1, r12
|
||||
mov r2, sp
|
||||
adds r3, r7, 0
|
||||
bl rfu_STC_NI_receive_Sender
|
||||
b _081E2E6C
|
||||
.align 2, 0
|
||||
_081E2E04: .4byte gRfuLinkStatus
|
||||
_081E2E08:
|
||||
ldrb r1, [r3, 0x2]
|
||||
mov r2, r9
|
||||
ldrb r0, [r2, 0x1]
|
||||
adds r5, r1, 0
|
||||
ands r5, r0
|
||||
cmp r5, 0
|
||||
beq _081E2E6C
|
||||
movs r4, 0
|
||||
movs r6, 0x1
|
||||
_081E2E1A:
|
||||
adds r0, r5, 0
|
||||
asrs r0, r4
|
||||
ands r0, r6
|
||||
cmp r0, 0
|
||||
beq _081E2E62
|
||||
mov r1, sp
|
||||
ldrb r0, [r1, 0x2]
|
||||
cmp r0, 0x4
|
||||
bne _081E2E36
|
||||
adds r0, r4, 0
|
||||
adds r2, r7, 0
|
||||
bl rfu_STC_UNI_receive
|
||||
b _081E2E62
|
||||
_081E2E36:
|
||||
ldrb r0, [r1, 0x3]
|
||||
cmp r0, 0
|
||||
bne _081E2E48
|
||||
adds r0, r4, 0
|
||||
mov r1, sp
|
||||
adds r2, r7, 0
|
||||
bl rfu_STC_NI_receive_Receiver
|
||||
b _081E2E62
|
||||
_081E2E48:
|
||||
ldr r0, _081E2E80 @ =gRfuLinkStatus
|
||||
ldr r0, [r0]
|
||||
ldrb r0, [r0, 0x4]
|
||||
asrs r0, r4
|
||||
ands r0, r6
|
||||
cmp r0, 0
|
||||
beq _081E2E62
|
||||
adds r0, r4, 0
|
||||
adds r1, r4, 0
|
||||
mov r2, sp
|
||||
adds r3, r7, 0
|
||||
bl rfu_STC_NI_receive_Sender
|
||||
_081E2E62:
|
||||
adds r0, r4, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r4, r0, 24
|
||||
cmp r4, 0x3
|
||||
bls _081E2E1A
|
||||
_081E2E6C:
|
||||
mov r0, r10
|
||||
_081E2E6E:
|
||||
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
|
||||
_081E2E80: .4byte gRfuLinkStatus
|
||||
thumb_func_end rfu_STC_analyzeLLSF
|
||||
|
||||
thumb_func_start rfu_STC_UNI_receive
|
||||
rfu_STC_UNI_receive: @ 81E2E84
|
||||
push {r4-r7,lr}
|
||||
sub sp, 0x8
|
||||
adds r6, r1, 0
|
||||
str r2, [sp]
|
||||
lsls r0, 24
|
||||
lsrs r7, r0, 24
|
||||
ldr r2, _081E2EB8 @ =gRfuSlotStatusUNI
|
||||
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 _081E2EC0
|
||||
movs r0, 0x49
|
||||
strh r0, [r3, 0xC]
|
||||
ldr r0, _081E2EBC @ =0x00000701
|
||||
strh r0, [r5, 0x2]
|
||||
b _081E2F0E
|
||||
.align 2, 0
|
||||
_081E2EB8: .4byte gRfuSlotStatusUNI
|
||||
_081E2EBC: .4byte 0x00000701
|
||||
_081E2EC0:
|
||||
ldrb r0, [r5, 0x7]
|
||||
cmp r0, 0
|
||||
beq _081E2ED8
|
||||
ldrb r0, [r5, 0x6]
|
||||
cmp r0, 0
|
||||
beq _081E2EE4
|
||||
ldr r0, _081E2ED4 @ =0x00000709
|
||||
strh r0, [r5, 0x2]
|
||||
b _081E2F0E
|
||||
.align 2, 0
|
||||
_081E2ED4: .4byte 0x00000709
|
||||
_081E2ED8:
|
||||
ldrb r0, [r5, 0x6]
|
||||
cmp r0, 0
|
||||
beq _081E2EE4
|
||||
movs r0, 0xE1
|
||||
lsls r0, 3
|
||||
strh r0, [r5, 0x2]
|
||||
_081E2EE4:
|
||||
movs r4, 0
|
||||
ldr r0, _081E2F2C @ =0x00008042
|
||||
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, _081E2F30 @ =gRfuFixed
|
||||
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]
|
||||
_081E2F0E:
|
||||
ldrh r0, [r5, 0x2]
|
||||
cmp r0, 0
|
||||
beq _081E2F22
|
||||
ldr r0, _081E2F34 @ =gRfuStatic
|
||||
ldr r2, [r0]
|
||||
movs r0, 0x10
|
||||
lsls r0, r7
|
||||
ldrb r1, [r2, 0x4]
|
||||
orrs r0, r1
|
||||
strb r0, [r2, 0x4]
|
||||
_081E2F22:
|
||||
add sp, 0x8
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_081E2F2C: .4byte 0x00008042
|
||||
_081E2F30: .4byte gRfuFixed
|
||||
_081E2F34: .4byte gRfuStatic
|
||||
thumb_func_end rfu_STC_UNI_receive
|
||||
|
||||
thumb_func_start rfu_STC_NI_receive_Sender
|
||||
rfu_STC_NI_receive_Sender: @ 81E2F38
|
||||
push {r4-r7,lr}
|
||||
|
||||
Reference in New Issue
Block a user