summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorscnorton <scnorton@biociphers.org>2017-06-05 17:45:15 -0400
committerscnorton <scnorton@biociphers.org>2017-06-05 17:45:15 -0400
commitdc79b94bb32c758253aba698115b60cb5a683266 (patch)
treee7e3ac567816739e66f3958e0f35303b6c253967 /src
parent4a6d595e5171ed4dc3742c3ff43e771b731a9716 (diff)
Nonmatching sub_80B9BC4
Diffstat (limited to 'src')
-rw-r--r--src/record_mixing.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/record_mixing.c b/src/record_mixing.c
index 6749941dd..f9cb4116e 100644
--- a/src/record_mixing.c
+++ b/src/record_mixing.c
@@ -429,14 +429,20 @@ u8 sub_80B9BBC(u16 *a)
#undef NONMATCHING
#ifdef NONMATCHING
-void sub_80B9BC4(u32 a, u32 b, u32 c, u32 d)
+void sub_80B9BC4(struct RecordMixing_UnknownStruct *a, size_t b, u8 c[][2], u8 d, u8 e)
{
+ struct RecordMixing_UnknownStructSub *offA;
+ struct RecordMixing_UnknownStructSub *offB;
+ struct RecordMixing_UnknownStructSub v0;
+ v0 = (offA = ((struct RecordMixing_UnknownStruct *)(b * c[d][0] + (u32)&a))->data)[c[d][1]];
+ offA[c[d][1]] = (offB = ((struct RecordMixing_UnknownStruct *)(b * c[e][0] + (u32)&a))->data)[c[e][1]];
+ offB[c[e][1]] = v0;
//ToDo: Figure out what this strange stack usage is
}
#else
__attribute__((naked))
-void sub_80B9BC4(u32 a, u32 b, u32 c, u32 d)
+void sub_80B9BC4(struct RecordMixing_UnknownStruct *a, size_t b, u8 c[][2], u8 d, u8 e)
{
asm(".syntax unified\n\
push {r4-r6,lr}\n\