FUN_0056D9D4:
**************************************************************
* FUNCTION *
**************************************************************
undefined FUN_0056d9d4()
assume linkreg = 0x0
undefined <UNASSIGNED> <RETURN>
FUN_0056d9d4 XREF[3]: FUN_0056df48:0056df60(c),
FUN_0056e310:0056e3f0(c),
FUN_00572218:00572450(c)
0056d9d4 2f 84 00 00 cmpwi cr7,r4,0x0
0056d9d8 80 63 00 00 lwz r3,0x0(r3)
0056d9dc 41 9c 00 e0 blt cr7,switchD_0056da04::caseD_6
0056d9e0 2b 84 00 0b cmplwi cr7,r4,0xb
0056d9e4 41 9d 00 d8 bgt cr7,switchD_0056da04::caseD_6
0056d9e8 3d 20 00 57 lis r9,0x57
0056d9ec 78 8b 17 88 rldic r11,r4,0x2,0x1e
0056d9f0 39 29 da 08 subi r9,r9,0x25f8
0056d9f4 7c 0b 48 2e lwzx r0,r11,r9=>switchD_0056da04::switchdataD_0056d = 30h
0056d9f8 7c 00 07 b4 extsw r0,r0
0056d9fc 7c 00 4a 14 add r0,r0,r9
0056da00 7c 09 03 a6 mtspr CTR,r0
switchD_0056da04::switchD
0056da04 4e 80 04 20 bctr
switchD_0056da04::switchdataD_0056da08 XREF[1]: FUN_0056d9d4:0056d9f4(*)
0056da08 00 00 00 30 uint 30h
0056da0c 00 00 00 3c uint 3Ch
0056da10 00 00 00 48 uint 48h
0056da14 00 00 00 54 uint 54h
0056da18 00 00 00 60 uint 60h
0056da1c 00 00 00 6c uint 6Ch
0056da20 00 00 00 b4 uint B4h
0056da24 00 00 00 78 uint 78h
0056da28 00 00 00 84 uint 84h
0056da2c 00 00 00 90 uint 90h
0056da30 00 00 00 9c uint 9Ch
0056da34 00 00 00 a8 uint A8h
switchD_0056da04::caseD_0 XREF[1]: 0056da04(j)
0056da38 78 69 00 20 rldicl r9,r3,0x0,0x20
0056da3c 88 69 00 40 lbz r3,0x40(r9)
0056da40 48 00 00 80 b LAB_0056dac0
switchD_0056da04::caseD_1 XREF[1]: 0056da04(j)
0056da44 78 69 00 20 rldicl r9,r3,0x0,0x20
0056da48 88 69 00 04 lbz r3,0x4(r9)
0056da4c 48 00 00 74 b LAB_0056dac0
switchD_0056da04::caseD_2 XREF[1]: 0056da04(j)
0056da50 78 69 00 20 rldicl r9,r3,0x0,0x20
0056da54 88 69 02 e8 lbz r3,0x2e8(r9)
0056da58 48 00 00 68 b LAB_0056dac0
switchD_0056da04::caseD_3 XREF[1]: 0056da04(j)
0056da5c 78 69 00 20 rldicl r9,r3,0x0,0x20
0056da60 88 69 00 6c lbz r3,0x6c(r9)
0056da64 48 00 00 5c b LAB_0056dac0
switchD_0056da04::caseD_4 XREF[1]: 0056da04(j)
0056da68 78 69 00 20 rldicl r9,r3,0x0,0x20
0056da6c 88 69 00 b4 lbz r3,0xb4(r9)
0056da70 48 00 00 50 b LAB_0056dac0
switchD_0056da04::caseD_5 XREF[1]: 0056da04(j)
0056da74 78 69 00 20 rldicl r9,r3,0x0,0x20
0056da78 88 69 02 d4 lbz r3,0x2d4(r9)
0056da7c 48 00 00 44 b LAB_0056dac0
switchD_0056da04::caseD_7 XREF[1]: 0056da04(j)
0056da80 78 69 00 20 rldicl r9,r3,0x0,0x20
0056da84 88 69 00 84 lbz r3,0x84(r9)
0056da88 48 00 00 38 b LAB_0056dac0
switchD_0056da04::caseD_8 XREF[1]: 0056da04(j)
0056da8c 78 69 00 20 rldicl r9,r3,0x0,0x20
0056da90 88 69 00 e8 lbz r3,0xe8(r9)
0056da94 48 00 00 2c b LAB_0056dac0
switchD_0056da04::caseD_9 XREF[1]: 0056da04(j)
0056da98 78 69 00 20 rldicl r9,r3,0x0,0x20
0056da9c 88 69 01 1c lbz r3,0x11c(r9)
0056daa0 48 00 00 20 b LAB_0056dac0
switchD_0056da04::caseD_a XREF[1]: 0056da04(j)
0056daa4 78 69 00 20 rldicl r9,r3,0x0,0x20
0056daa8 88 69 02 e9 lbz r3,0x2e9(r9)
0056daac 48 00 00 14 b LAB_0056dac0
switchD_0056da04::caseD_b XREF[1]: 0056da04(j)
0056dab0 78 69 00 20 rldicl r9,r3,0x0,0x20
0056dab4 88 69 02 ea lbz r3,0x2ea(r9)
0056dab8 48 00 00 08 b LAB_0056dac0
switchD_0056da04::caseD_6 XREF[3]: 0056d9dc(j), 0056d9e4(j),
0056da04(j)
0056dabc 38 60 00 00 li r3,0x0
LAB_0056dac0 XREF[11]: 0056da40(j), 0056da4c(j),
0056da58(j), 0056da64(j),
0056da70(j), 0056da7c(j),
0056da88(j), 0056da94(j),
0056daa0(j), 0056daac(j),
0056dab8(j)
0056dac0 7c 63 07 b4 extsw r3,r3
0056dac4 4e 80 00 20 blr
Decompilado:
undefined1 FUN_0056d9d4(int *param_1,undefined4 param_2)
{
int iVar1;
undefined1 uVar2;
iVar1 = *param_1;
switch(param_2) {
case 0:
uVar2 = *(undefined1 *)(iVar1 + 0x40);
break;
case 1:
uVar2 = *(undefined1 *)(iVar1 + 4);
break;
case 2:
uVar2 = *(undefined1 *)(iVar1 + 0x2e8);
break;
case 3:
uVar2 = *(undefined1 *)(iVar1 + 0x6c);
break;
case 4:
uVar2 = *(undefined1 *)(iVar1 + 0xb4);
break;
case 5:
uVar2 = *(undefined1 *)(iVar1 + 0x2d4);
break;
default:
uVar2 = 0;
break;
case 7:
uVar2 = *(undefined1 *)(iVar1 + 0x84);
break;
case 8:
uVar2 = *(undefined1 *)(iVar1 + 0xe8);
break;
case 9:
uVar2 = *(undefined1 *)(iVar1 + 0x11c);
break;
case 10:
uVar2 = *(undefined1 *)(iVar1 + 0x2e9);
break;
case 0xb:
uVar2 = *(undefined1 *)(iVar1 + 0x2ea);
}
return uVar2;
}
--XREF's--
Incoming References - FUN_0056d9d4
FUN_0056df48
FUN_0056e310
FUN_00572218
No Outgoing References - FUN_0056d9d4
-------------------------------------------------------------
FUN_0056DF48:
**************************************************************
* FUNCTION *
**************************************************************
undefined FUN_0056df48()
assume linkreg = 0x0
undefined <UNASSIGNED> <RETURN>
undefined8 Stack[-0x8]:8 local_8 XREF[2]: 0056df54(W),
0056df94(R)
undefined8 Stack[-0x80]:8 local_80 XREF[1]: 0056df48(W)
FUN_0056df48 XREF[1]: FUN_00572218:0057245c(c)
0056df48 f8 21 ff 81 stdu r1,local_80(r1)
0056df4c 7c 08 02 a6 mfspr r0,LR
0056df50 38 80 00 02 li r4,0x2
0056df54 fb e1 00 78 std r31,local_8(r1)
0056df58 f8 01 00 90 std r0,Stack[0x10](r1)
0056df5c 7c 7f 1b 78 or r31,r3,r3
0056df60 4b ff fa 75 bl FUN_0056d9d4 undefined FUN_0056d9d4()
0056df64 54 63 06 3e rlwinm r3,r3,0x0,0x18,0x1f
0056df68 2f 83 00 00 cmpwi cr7,r3,0x0
0056df6c 40 9e 00 10 bne cr7,LAB_0056df7c
0056df70 3d 20 01 17 lis r9,0x117
0056df74 c0 29 e9 f8 lfs f1,-0x1608(r9)=>DAT_0116e9f8 = 3F800000h
0056df78 48 00 00 18 b LAB_0056df90
LAB_0056df7c XREF[1]: 0056df6c(j)
0056df7c 81 3f 00 00 lwz r9,0x0(r31)
0056df80 c1 a9 02 d0 lfs f13,0x2d0(r9)
0056df84 3d 20 01 17 lis r9,0x117
0056df88 c0 09 e9 fc lfs f0,-0x1604(r9)=>DAT_0116e9fc
0056df8c fc 2d 03 6e fsel f1,f13,f13,f0
LAB_0056df90 XREF[1]: 0056df78(j)
0056df90 e8 01 00 90 ld r0,Stack[0x10](r1)
0056df94 eb e1 00 78 ld r31,local_8(r1)
0056df98 38 21 00 80 addi r1,r1,0x80
0056df9c 7c 08 03 a6 mtspr LR,r0
0056dfa0 4e 80 00 20 blr
Decompilado:
double FUN_0056df48(int *param_1)
{
char cVar1;
double dVar2;
cVar1 = FUN_0056d9d4(param_1,2);
if (cVar1 == '\0') {
dVar2 = 1.0;
}
else {
dVar2 = (double)*(float *)(*param_1 + 0x2d0);
if ((double)*(float *)(*param_1 + 0x2d0) < 0.0) {
dVar2 = 0.0;
}
}
return dVar2;
}
--XREF's--
Incoming References - FUN_0056df48
FUN_00572218
Outgoing References - FUN_0056df48
FUN_0056d9d43 views