Skip to content

Instantly share code, notes, and snippets.

@cleverca22
Forked from mbondaru/bootcode.elf
Last active April 28, 2024 10:22
Show Gist options
  • Save cleverca22/baa4f603b5754d309ba9bd8c67c06a89 to your computer and use it in GitHub Desktop.
Save cleverca22/baa4f603b5754d309ba9bd8c67c06a89 to your computer and use it in GitHub Desktop.
/* WARNING: This function may have set the stack pointer */
void _start(void)
{
code *pcVar1;
uint uVar2;
undefined4 extraout_r2;
undefined4 unaff_r6;
undefined4 unaff_r7;
undefined4 unaff_r8;
undefined8 uVar3;
uVar3 = CONCAT44(unaff_r7,unaff_r6);
uVar2 = version();
if ((uVar2 & 0x10000) == 0) {
write_volatile_4(0x7e200094,1);
write_volatile_4(0x7e20009c,0x10000);
write_volatile_4(0x7e20009c,0);
bss_init();
FUN_800002cc();
FUN_800002ce();
FUN_800002d0();
FUN_800002d2();
FUN_800002d4();
FUN_800002d6();
FUN_80009800();
FID_conflict:FID_conflict:init_3((__func *)&LAB_80009820);
uVar3 = FUN_800002d8();
FUN_800002da();
FUN_800002dc((int)uVar3,(int)((ulonglong)uVar3 >> 0x20),extraout_r2);
unaff_r8 = extraout_r2;
}
FUN_800061f0((int)uVar3,(int)((ulonglong)uVar3 >> 0x20),unaff_r8);
uVar3 = FUN_80003c2a();
do {
pcVar1 = (code *)swi(0xe);
uVar3 = (*pcVar1)((int)uVar3,(int)((ulonglong)uVar3 >> 0x20));
} while( true );
}
void entry(void)
{
code *pcVar1;
uint uVar2;
undefined4 uVar3;
undefined8 uVar4;
uVar2 = version();
if ((uVar2 & 0x10000) == 0) {
_DAT_7e200094 = 1;
_DAT_7e20009c = 0;
FUN_80000f2a();
FUN_800002cc();
FUN_800002ce();
FUN_800002d0();
FUN_800002d2();
FUN_800002d4();
FUN_800002d6();
FUN_80009220();
FUN_80001464(-0x7fff6dc0);
FUN_800002d8();
FUN_800002da();
FUN_800002dc();
}
uVar3 = FUN_80005fa4();
uVar4 = FUN_80003a32(uVar3);
do {
pcVar1 = (code *)swi(0xe);
uVar4 = (*pcVar1)((int)uVar4,(int)((ulonglong)uVar4 >> 0x20));
} while( true );
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment