/* @0044283c file=? name=FUN_0044283c */ undefined4 FUN_0044283c(void) { return 1; } /* @00442848 file=? name=FUN_00442848 */ undefined4 * __cdecl FUN_00442848(undefined4 *param_1) { FUN_004178cc(param_1,0x41); *param_1 = &PTR_FUN_004edc60; FUN_00442a46(param_1 + 3,param_1); return param_1; } /* @00442874 file=? name=FUN_00442874 */ void __cdecl FUN_00442874(int *param_1,byte param_2) { if (param_1 != (int *)0x0) { *param_1 = (int)&PTR_FUN_004edc60; FUN_00442a65(param_1 + 3,2); FUN_0041790c(param_1,0); if ((param_2 & 1) != 0) { FUN_004022d0(param_1); } } return; } /* @004428b0 file=? name=FUN_004428b0 */ undefined4 FUN_004428b0(void) { return 1; } /* @004428bc file=? name=FUN_004428bc */ int __cdecl FUN_004428bc(int param_1,char *param_2) { int iVar1; int iVar2; int local_10 [3]; FUN_0044316d(local_10,param_1 + 0xc); do { iVar2 = (**(code **)(local_10[0] + 0x28))(local_10); if (iVar2 == 0) { iVar2 = 0; FUN_004431ab(local_10,2); return iVar2; } iVar1 = FUN_004d4b58((char *)(iVar2 + 0xc),param_2); } while (iVar1 != 0); FUN_004431ab(local_10,2); return iVar2; } /* @0044292c file=? name=FUN_0044292c */ int __cdecl FUN_0044292c(int param_1,int param_2) { int iVar1; int local_10 [3]; FUN_0044316d(local_10,param_1 + 0xc); do { iVar1 = (**(code **)(local_10[0] + 0x28))(local_10); if (iVar1 == 0) { iVar1 = 0; FUN_004431ab(local_10,2); return iVar1; } } while (param_2 != *(int *)(iVar1 + 0x2c)); FUN_004431ab(local_10,2); return iVar1; } /* @00442990 file=? name=FUN_00442990 */ undefined4 * __cdecl FUN_00442990(undefined4 *param_1) { *param_1 = &PTR_FUN_004edc58; FUN_00442aa0(param_1 + 1); FUN_00442cdf(param_1 + 8); FUN_00442f1e(param_1 + 0xf); return param_1; } /* @004429c0 file=? name=FUN_004429c0 */ void __cdecl FUN_004429c0(int *param_1,byte param_2) { if (param_1 != (int *)0x0) { *param_1 = (int)&PTR_FUN_004edc58; (**(code **)(*param_1 + 4))(param_1); FUN_00442f37(param_1 + 0xf,2); FUN_00442cf8(param_1 + 8,2); FUN_00442ab9(param_1 + 1,2); if ((param_2 & 1) != 0) { FUN_004022d0(param_1); } } return; } /* @00442a14 file=? name=FUN_00442a14 */ void __cdecl FUN_00442a14(int param_1) { FUN_00442c82(param_1 + 4); FUN_00442ec1(param_1 + 0x20); FUN_00443100(param_1 + 0x3c); return; } /* @00442a3c file=? name=FUN_00442a3c */ undefined4 FUN_00442a3c(void) { return 1; } /* @00442a46 file=? name=FUN_00442a46 */ undefined4 * __cdecl FUN_00442a46(undefined4 *param_1,undefined4 param_2) { FUN_00417be0(param_1,param_2); *param_1 = &PTR_FUN_004edc50; return param_1; } /* @00442a65 file=? name=FUN_00442a65 */ void __cdecl FUN_00442a65(int *param_1,byte param_2) { if (param_1 != (int *)0x0) { *param_1 = (int)&PTR_FUN_004edc50; FUN_00417c0c(param_1,0); if ((param_2 & 1) != 0) { FUN_004022d0(param_1); } } return; } /* @00442a91 file=? name=FUN_00442a91 */ void FUN_00442a91(void) { FUN_004428b0(); return; } /* @00442aa0 file=? name=FUN_00442aa0 */ undefined4 * __cdecl FUN_00442aa0(undefined4 *param_1) { FUN_00442848(param_1); *param_1 = &PTR_FUN_004edc44; return param_1; } /* @00442ab9 file=? name=FUN_00442ab9 */ void __cdecl FUN_00442ab9(int *param_1,byte param_2) { if (param_1 != (int *)0x0) { *param_1 = (int)&PTR_FUN_004edc44; FUN_00442c82((int)param_1); FUN_00442874(param_1,0); if ((param_2 & 1) != 0) { FUN_004022d0(param_1); } } return; } /* @00442aec file=? name=FUN_00442aec */ undefined4 * __cdecl FUN_00442aec(int param_1,char *param_2,undefined4 param_3) { int iVar1; undefined4 *puVar2; undefined4 *puVar3; iVar1 = FUN_004428bc(param_1,param_2); if (iVar1 == 0) { puVar2 = FUN_00449148(param_2); if (puVar2 == (undefined4 *)0x0) { puVar2 = (undefined4 *)0x0; } else { puVar3 = (undefined4 *)FUN_00402298(0x3c); if (puVar3 == (undefined4 *)0x0) { puVar3 = (undefined4 *)0x0; } else { puVar3 = FUN_004431d7(puVar3,param_2,puVar2,param_3); } (**(code **)(*(int *)(param_1 + 0xc) + 4))(param_1 + 0xc,puVar3); } } else { *(int *)(iVar1 + 0x30) = *(int *)(iVar1 + 0x30) + 1; puVar2 = *(undefined4 **)(iVar1 + 0x38); } return puVar2; } /* @00442b5c file=? name=FUN_00442b5c */ int __cdecl FUN_00442b5c(int param_1,int param_2,undefined4 param_3) { int iVar1; undefined4 *puVar2; iVar1 = FUN_0044292c(param_1,param_2); if (iVar1 == 0) { iVar1 = FUN_004491ac(); if (iVar1 == 0) { iVar1 = 0; } else { puVar2 = (undefined4 *)FUN_00402298(0x3c); if (puVar2 == (undefined4 *)0x0) { puVar2 = (undefined4 *)0x0; } else { puVar2 = FUN_00443200(puVar2,param_2,iVar1,param_3); } (**(code **)(*(int *)(param_1 + 0xc) + 4))(param_1 + 0xc,puVar2); } } else { *(int *)(iVar1 + 0x30) = *(int *)(iVar1 + 0x30) + 1; iVar1 = *(int *)(iVar1 + 0x38); } return iVar1; } /* @00442bcc file=? name=FUN_00442bcc */ undefined4 __cdecl FUN_00442bcc(int param_1,char *param_2) { int iVar1; iVar1 = FUN_004428bc(param_1,param_2); if (iVar1 != 0) { *(int *)(iVar1 + 0x30) = *(int *)(iVar1 + 0x30) + 1; return *(undefined4 *)(iVar1 + 0x38); } return 0; } /* @00442bef file=? name=FUN_00442bef */ undefined4 __cdecl FUN_00442bef(int param_1,int param_2) { int iVar1; iVar1 = FUN_0044292c(param_1,param_2); if (iVar1 != 0) { *(int *)(iVar1 + 0x30) = *(int *)(iVar1 + 0x30) + 1; return *(undefined4 *)(iVar1 + 0x38); } return 0; } /* @00442c12 file=? name=FUN_00442c12 */ void __cdecl FUN_00442c12(int param_1,char *param_2) { undefined4 *puVar1; puVar1 = (undefined4 *)FUN_004428bc(param_1,param_2); if ((((puVar1 != (undefined4 *)0x0) && (puVar1[0xc] = puVar1[0xc] + -1, (int)puVar1[0xc] < 1)) && (puVar1[0xd] == 0)) && (puVar1 != (undefined4 *)0x0)) { (**(code **)*puVar1)(puVar1,3); } return; } /* @00442c4a file=? name=FUN_00442c4a */ void __cdecl FUN_00442c4a(int param_1,int param_2) { undefined4 *puVar1; puVar1 = (undefined4 *)FUN_0044292c(param_1,param_2); if ((((puVar1 != (undefined4 *)0x0) && (puVar1[0xc] = puVar1[0xc] + -1, (int)puVar1[0xc] < 1)) && (puVar1[0xd] == 0)) && (puVar1 != (undefined4 *)0x0)) { (**(code **)*puVar1)(puVar1,3); } return; } /* @00442c82 file=? name=FUN_00442c82 */ void __cdecl FUN_00442c82(int param_1) { undefined4 *puVar1; int local_10 [3]; FUN_0044316d(local_10,param_1 + 0xc); while( true ) { puVar1 = (undefined4 *)(**(code **)(local_10[0] + 0x28))(local_10); if (puVar1 == (undefined4 *)0x0) break; if (puVar1 != (undefined4 *)0x0) { (**(code **)*puVar1)(puVar1,3); } } FUN_004431ab(local_10,2); return; } /* @00442cd0 file=? name=FUN_00442cd0 */ void FUN_00442cd0(void) { FUN_004428b0(); return; } /* @00442cdf file=? name=FUN_00442cdf */ undefined4 * __cdecl FUN_00442cdf(undefined4 *param_1) { FUN_00442848(param_1); *param_1 = &PTR_FUN_004edc38; return param_1; } /* @00442cf8 file=? name=FUN_00442cf8 */ void __cdecl FUN_00442cf8(int *param_1,byte param_2) { if (param_1 != (int *)0x0) { *param_1 = (int)&PTR_FUN_004edc38; FUN_00442ec1((int)param_1); FUN_00442874(param_1,0); if ((param_2 & 1) != 0) { FUN_004022d0(param_1); } } return; } /* @00442d2b file=? name=FUN_00442d2b */ int * __cdecl FUN_00442d2b(int param_1,char *param_2,undefined4 param_3) { int iVar1; int *piVar2; undefined4 *puVar3; iVar1 = FUN_004428bc(param_1,param_2); if (iVar1 == 0) { piVar2 = FUN_00449c1c(param_2); if (piVar2 == (int *)0x0) { piVar2 = (int *)0x0; } else { puVar3 = (undefined4 *)FUN_00402298(0x3c); if (puVar3 == (undefined4 *)0x0) { puVar3 = (undefined4 *)0x0; } else { puVar3 = FUN_0044327a(puVar3,param_2,piVar2,param_3); } (**(code **)(*(int *)(param_1 + 0xc) + 4))(param_1 + 0xc,puVar3); } } else { *(int *)(iVar1 + 0x30) = *(int *)(iVar1 + 0x30) + 1; piVar2 = *(int **)(iVar1 + 0x38); } return piVar2; } /* @00442d9b file=? name=FUN_00442d9b */ int __cdecl FUN_00442d9b(int param_1,int param_2,undefined4 param_3) { int iVar1; undefined4 *puVar2; iVar1 = FUN_0044292c(param_1,param_2); if (iVar1 == 0) { iVar1 = FUN_00449c80(); if (iVar1 == 0) { iVar1 = 0; } else { puVar2 = (undefined4 *)FUN_00402298(0x3c); if (puVar2 == (undefined4 *)0x0) { puVar2 = (undefined4 *)0x0; } else { puVar2 = FUN_004432a3(puVar2,param_2,iVar1,param_3); } (**(code **)(*(int *)(param_1 + 0xc) + 4))(param_1 + 0xc,puVar2); } } else { *(int *)(iVar1 + 0x30) = *(int *)(iVar1 + 0x30) + 1; iVar1 = *(int *)(iVar1 + 0x38); } return iVar1; } /* @00442e0b file=? name=FUN_00442e0b */ undefined4 __cdecl FUN_00442e0b(int param_1,char *param_2) { int iVar1; iVar1 = FUN_004428bc(param_1,param_2); if (iVar1 != 0) { *(int *)(iVar1 + 0x30) = *(int *)(iVar1 + 0x30) + 1; return *(undefined4 *)(iVar1 + 0x38); } return 0; } /* @00442e2e file=? name=FUN_00442e2e */ undefined4 __cdecl FUN_00442e2e(int param_1,int param_2) { int iVar1; iVar1 = FUN_0044292c(param_1,param_2); if (iVar1 != 0) { *(int *)(iVar1 + 0x30) = *(int *)(iVar1 + 0x30) + 1; return *(undefined4 *)(iVar1 + 0x38); } return 0; } /* @00442e51 file=? name=FUN_00442e51 */ void __cdecl FUN_00442e51(int param_1,char *param_2) { undefined4 *puVar1; puVar1 = (undefined4 *)FUN_004428bc(param_1,param_2); if ((((puVar1 != (undefined4 *)0x0) && (puVar1[0xc] = puVar1[0xc] + -1, (int)puVar1[0xc] < 1)) && (puVar1[0xd] == 0)) && (puVar1 != (undefined4 *)0x0)) { (**(code **)*puVar1)(puVar1,3); } return; } /* @00442e89 file=? name=FUN_00442e89 */ void __cdecl FUN_00442e89(int param_1,int param_2) { undefined4 *puVar1; puVar1 = (undefined4 *)FUN_0044292c(param_1,param_2); if ((((puVar1 != (undefined4 *)0x0) && (puVar1[0xc] = puVar1[0xc] + -1, (int)puVar1[0xc] < 1)) && (puVar1[0xd] == 0)) && (puVar1 != (undefined4 *)0x0)) { (**(code **)*puVar1)(puVar1,3); } return; } /* @00442ec1 file=? name=FUN_00442ec1 */ void __cdecl FUN_00442ec1(int param_1) { undefined4 *puVar1; int local_10 [3]; FUN_0044316d(local_10,param_1 + 0xc); while( true ) { puVar1 = (undefined4 *)(**(code **)(local_10[0] + 0x28))(local_10); if (puVar1 == (undefined4 *)0x0) break; if (puVar1 != (undefined4 *)0x0) { (**(code **)*puVar1)(puVar1,3); } } FUN_004431ab(local_10,2); return; } /* @00442f0f file=? name=FUN_00442f0f */ void FUN_00442f0f(void) { FUN_004428b0(); return; } /* @00442f1e file=? name=FUN_00442f1e */ undefined4 * __cdecl FUN_00442f1e(undefined4 *param_1) { FUN_00442848(param_1); *param_1 = &PTR_FUN_004edc2c; return param_1; } /* @00442f37 file=? name=FUN_00442f37 */ void __cdecl FUN_00442f37(int *param_1,byte param_2) { if (param_1 != (int *)0x0) { *param_1 = (int)&PTR_FUN_004edc2c; FUN_00443100((int)param_1); FUN_00442874(param_1,0); if ((param_2 & 1) != 0) { FUN_004022d0(param_1); } } return; } /* @00442f6a file=? name=FUN_00442f6a */ int * __cdecl FUN_00442f6a(int param_1,char *param_2,undefined4 param_3) { int iVar1; int *piVar2; undefined4 *puVar3; iVar1 = FUN_004428bc(param_1,param_2); if (iVar1 == 0) { piVar2 = FUN_004498b4(param_2); if (piVar2 == (int *)0x0) { piVar2 = (int *)0x0; } else { puVar3 = (undefined4 *)FUN_00402298(0x3c); if (puVar3 == (undefined4 *)0x0) { puVar3 = (undefined4 *)0x0; } else { puVar3 = FUN_0044331a(puVar3,param_2,piVar2,param_3); } (**(code **)(*(int *)(param_1 + 0xc) + 4))(param_1 + 0xc,puVar3); } } else { *(int *)(iVar1 + 0x30) = *(int *)(iVar1 + 0x30) + 1; piVar2 = *(int **)(iVar1 + 0x38); } return piVar2; } /* @00442fda file=? name=FUN_00442fda */ int __cdecl FUN_00442fda(int param_1,int param_2,undefined4 param_3) { int iVar1; undefined4 *puVar2; iVar1 = FUN_0044292c(param_1,param_2); if (iVar1 == 0) { iVar1 = FUN_00449918(); if (iVar1 == 0) { iVar1 = 0; } else { puVar2 = (undefined4 *)FUN_00402298(0x3c); if (puVar2 == (undefined4 *)0x0) { puVar2 = (undefined4 *)0x0; } else { puVar2 = FUN_00443343(puVar2,param_2,iVar1,param_3); } (**(code **)(*(int *)(param_1 + 0xc) + 4))(param_1 + 0xc,puVar2); } } else { *(int *)(iVar1 + 0x30) = *(int *)(iVar1 + 0x30) + 1; iVar1 = *(int *)(iVar1 + 0x38); } return iVar1; } /* @0044304a file=? name=FUN_0044304a */ undefined4 __cdecl FUN_0044304a(int param_1,char *param_2) { int iVar1; iVar1 = FUN_004428bc(param_1,param_2); if (iVar1 != 0) { *(int *)(iVar1 + 0x30) = *(int *)(iVar1 + 0x30) + 1; return *(undefined4 *)(iVar1 + 0x38); } return 0; } /* @0044306d file=? name=FUN_0044306d */ undefined4 __cdecl FUN_0044306d(int param_1,int param_2) { int iVar1; iVar1 = FUN_0044292c(param_1,param_2); if (iVar1 != 0) { *(int *)(iVar1 + 0x30) = *(int *)(iVar1 + 0x30) + 1; return *(undefined4 *)(iVar1 + 0x38); } return 0; } /* @00443090 file=? name=FUN_00443090 */ void __cdecl FUN_00443090(int param_1,char *param_2) { undefined4 *puVar1; puVar1 = (undefined4 *)FUN_004428bc(param_1,param_2); if ((((puVar1 != (undefined4 *)0x0) && (puVar1[0xc] = puVar1[0xc] + -1, (int)puVar1[0xc] < 1)) && (puVar1[0xd] == 0)) && (puVar1 != (undefined4 *)0x0)) { (**(code **)*puVar1)(puVar1,3); } return; } /* @004430c8 file=? name=FUN_004430c8 */ void __cdecl FUN_004430c8(int param_1,int param_2) { undefined4 *puVar1; puVar1 = (undefined4 *)FUN_0044292c(param_1,param_2); if ((((puVar1 != (undefined4 *)0x0) && (puVar1[0xc] = puVar1[0xc] + -1, (int)puVar1[0xc] < 1)) && (puVar1[0xd] == 0)) && (puVar1 != (undefined4 *)0x0)) { (**(code **)*puVar1)(puVar1,3); } return; } /* @00443100 file=? name=FUN_00443100 */ void __cdecl FUN_00443100(int param_1) { undefined4 *puVar1; int local_10 [3]; FUN_0044316d(local_10,param_1 + 0xc); while( true ) { puVar1 = (undefined4 *)(**(code **)(local_10[0] + 0x28))(local_10); if (puVar1 == (undefined4 *)0x0) break; if (puVar1 != (undefined4 *)0x0) { (**(code **)*puVar1)(puVar1,3); } } FUN_004431ab(local_10,2); return; } /* @0044314e file=? name=FUN_0044314e */ undefined4 * __cdecl FUN_0044314e(undefined4 *param_1,int param_2) { FUN_00417d00(param_1,param_2); *param_1 = &PTR_FUN_004edbdc; return param_1; } /* @0044316d file=? name=FUN_0044316d */ undefined4 * __cdecl FUN_0044316d(undefined4 *param_1,int param_2) { FUN_00417d00(param_1,param_2); *param_1 = &PTR_FUN_004edbdc; return param_1; } /* @0044318c file=? name=FUN_0044318c */ undefined4 * __cdecl FUN_0044318c(undefined4 *param_1,int param_2) { FUN_00417d28(param_1,param_2); *param_1 = &PTR_FUN_004edbdc; return param_1; } /* @004431ab file=? name=FUN_004431ab */ void __cdecl FUN_004431ab(int *param_1,byte param_2) { if (param_1 != (int *)0x0) { *param_1 = (int)&PTR_FUN_004edbdc; FUN_00417d54(param_1,0); if ((param_2 & 1) != 0) { FUN_004022d0(param_1); } } return; } /* @004431d7 file=? name=FUN_004431d7 */ undefined4 * __cdecl FUN_004431d7(undefined4 *param_1,char *param_2,undefined4 param_3,undefined4 param_4) { FUN_00442780(param_1,param_2,param_4); *param_1 = &PTR_FUN_004edbd8; param_1[0xe] = param_3; return param_1; } /* @00443200 file=? name=FUN_00443200 */ undefined4 * __cdecl FUN_00443200(undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4) { FUN_004427dc(param_1,param_2,param_4); *param_1 = &PTR_FUN_004edbd8; param_1[0xe] = param_3; return param_1; } /* @00443229 file=? name=FUN_00443229 */ void __cdecl FUN_00443229(int *param_1,byte param_2) { undefined4 *puVar1; if (param_1 != (int *)0x0) { *param_1 = (int)&PTR_FUN_004edbd8; puVar1 = (undefined4 *)param_1[0xe]; if (puVar1 != (undefined4 *)0x0) { (**(code **)*puVar1)(puVar1,3); } param_1[0xe] = 0; FUN_00442810(param_1,0); if ((param_2 & 1) != 0) { FUN_004022d0(param_1); } } return; } /* @0044326b file=? name=FUN_0044326b */ void FUN_0044326b(void) { FUN_0044283c(); return; } /* @0044327a file=? name=FUN_0044327a */ undefined4 * __cdecl FUN_0044327a(undefined4 *param_1,char *param_2,undefined4 param_3,undefined4 param_4) { FUN_00442780(param_1,param_2,param_4); *param_1 = &PTR_FUN_004edbd4; param_1[0xe] = param_3; return param_1; } /* @004432a3 file=? name=FUN_004432a3 */ undefined4 * __cdecl FUN_004432a3(undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4) { FUN_004427dc(param_1,param_2,param_4); *param_1 = &PTR_FUN_004edbd4; param_1[0xe] = param_3; return param_1; } /* @004432cc file=? name=FUN_004432cc */ void __cdecl FUN_004432cc(int *param_1,byte param_2) { if (param_1 != (int *)0x0) { *param_1 = (int)&PTR_FUN_004edbd4; FUN_00449d0c((int *)param_1[0xe],3); param_1[0xe] = 0; FUN_00442810(param_1,0); if ((param_2 & 1) != 0) { FUN_004022d0(param_1); } } return; } /* @0044330b file=? name=FUN_0044330b */ void FUN_0044330b(void) { FUN_0044283c(); return; } /* @0044331a file=? name=FUN_0044331a */ undefined4 * __cdecl FUN_0044331a(undefined4 *param_1,char *param_2,undefined4 param_3,undefined4 param_4) { FUN_00442780(param_1,param_2,param_4); *param_1 = &PTR_FUN_004edbd0; param_1[0xe] = param_3; return param_1; } /* @00443343 file=? name=FUN_00443343 */ undefined4 * __cdecl FUN_00443343(undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4) { FUN_004427dc(param_1,param_2,param_4); *param_1 = &PTR_FUN_004edbd0; param_1[0xe] = param_3; return param_1; } /* @0044336c file=? name=FUN_0044336c */ void __cdecl FUN_0044336c(int *param_1,byte param_2) { if (param_1 != (int *)0x0) { *param_1 = (int)&PTR_FUN_004edbd0; FUN_00449994((int *)param_1[0xe],3); param_1[0xe] = 0; FUN_00442810(param_1,0); if ((param_2 & 1) != 0) { FUN_004022d0(param_1); } } return; } /* @004433ab file=? name=FUN_004433ab */ void FUN_004433ab(void) { FUN_0044283c(); return; } /* @004433bc file=? name=FUN_004433bc */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ float10 FUN_004433bc(void) { float fVar1; float fVar2; uint uVar3; undefined4 local_10; undefined4 local_c; undefined4 local_8; uVar3 = FUN_004dcd94(); local_8 = (float)(int)((uVar3 ^ (int)uVar3 >> 0x1f) - ((int)uVar3 >> 0x1f)); uVar3 = FUN_004dcd94(); fVar1 = (float)(int)((uVar3 ^ (int)uVar3 >> 0x1f) - ((int)uVar3 >> 0x1f)); uVar3 = FUN_004dcd94(); fVar2 = (float)(int)((uVar3 ^ (int)uVar3 >> 0x1f) - ((int)uVar3 >> 0x1f)); local_c = fVar1; if (local_8 < fVar1) { local_c = local_8; local_8 = fVar1; } local_10 = fVar2; if (local_8 < fVar2) { local_10 = local_8; local_8 = fVar2; } return ((float10)local_c + (float10)local_10) * (float10)_DAT_00443470 + (float10)local_8; } /* @00443474 file=? name=FUN_00443474 */ undefined4 * __cdecl FUN_00443474(undefined4 *param_1) { FUN_004178cc(param_1,0x37); *param_1 = &PTR_FUN_004edc90; FUN_00443edc(param_1 + 3,param_1); return param_1; } /* @004434a0 file=? name=FUN_004434a0 */ void __cdecl FUN_004434a0(int *param_1,byte param_2) { if (param_1 != (int *)0x0) { *param_1 = (int)&PTR_FUN_004edc90; FUN_004435ac((int)param_1); FUN_00443efb(param_1 + 3,2); FUN_0041790c(param_1,0); if ((param_2 & 1) != 0) { FUN_004022d0(param_1); } } return; } /* @004434e4 file=? name=FUN_004434e4 */ void FUN_004434e4(void) { FUN_00415f1c(); return; } /* @004434f4 file=? name=FUN_004434f4 */ void __cdecl FUN_004434f4(int param_1,undefined4 param_2) { (**(code **)(*(int *)(param_1 + 0xc) + 4))(param_1 + 0xc,param_2); return; } /* @00443510 file=? name=FUN_00443510 */ void __cdecl FUN_00443510(int param_1,int param_2) { int iVar1; int local_10 [3]; FUN_0042ac3b(local_10,param_1 + 0xc); do { iVar1 = (**(code **)(local_10[0] + 0x30))(local_10); if (iVar1 == 0) { LAB_0044355d: FUN_0042ac79(local_10,2); return; } if (param_2 == iVar1) { (**(code **)(local_10[0] + 0x48))(local_10); goto LAB_0044355d; } (**(code **)(local_10[0] + 0xc))(local_10); } while( true ); } /* @00443574 file=? name=FUN_00443574 */ undefined4 __cdecl FUN_00443574(int param_1) { undefined4 uVar1; int local_10 [3]; FUN_0042ac3b(local_10,param_1 + 0xc); uVar1 = (**(code **)(local_10[0] + 0x14))(local_10); FUN_0042ac79(local_10,2); return uVar1; } /* @004435ac file=? name=FUN_004435ac */ void __cdecl FUN_004435ac(int param_1) { int iVar1; int local_10 [3]; FUN_0042ac3b(local_10,param_1 + 0xc); while( true ) { iVar1 = (**(code **)(local_10[0] + 0x30))(local_10); if (iVar1 == 0) break; (**(code **)(local_10[0] + 0x48))(local_10); } FUN_0042ac79(local_10,2); return; } /* @004435f4 file=? name=FUN_004435f4 */ int __cdecl FUN_004435f4(int param_1,int param_2,int param_3) { int iVar1; int iVar2; int iVar3; int local_14 [3]; int local_8; FUN_0042ac3b(local_14,param_1 + 0xc); iVar3 = 0; LAB_00443642: iVar2 = (**(code **)(local_14[0] + 0x28))(local_14); if (iVar2 == 0) { FUN_0042ac79(local_14,2); return iVar3; } if (param_3 != 0) goto code_r0x0044361b; goto LAB_00443634; code_r0x0044361b: local_8 = param_3; iVar1 = FUN_0041a1a4(**(int **)(iVar2 + 0xc),param_3); if (iVar1 != 0) { LAB_00443634: FUN_004434f4(param_2,iVar2); iVar3 = iVar3 + 1; } goto LAB_00443642; } /* @0044366c file=? name=FUN_0044366c */ int __cdecl FUN_0044366c(int param_1,int param_2,float param_3,undefined4 param_4,float param_5,float param_6, undefined4 param_7,float param_8,int param_9) { int iVar1; int iVar2; float local_20 [2]; float local_18; int local_14 [3]; int local_8; FUN_0042ac3b(local_14,param_1 + 0xc); local_8 = 0; LAB_004436fa: iVar2 = (**(code **)(local_14[0] + 0x28))(local_14); if (iVar2 == 0) { FUN_0042ac79(local_14,2); return local_8; } if (param_9 != 0) goto code_r0x00443696; goto LAB_004436ab; code_r0x00443696: iVar1 = FUN_0041a1a4(**(int **)(iVar2 + 0xc),param_9); if (iVar1 != 0) { LAB_004436ab: FUN_00408440(local_20,(undefined4 *)(iVar2 + 0x100)); if ((((param_5 <= local_18) && (local_18 <= param_8)) && (param_3 <= local_20[0])) && (local_20[0] <= param_6)) { FUN_004434f4(param_2,iVar2); local_8 = local_8 + 1; } } goto LAB_004436fa; } /* @00443728 file=? name=FUN_00443728 */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ int __cdecl FUN_00443728(int param_1,int param_2,undefined4 param_3,float param_4,int param_5) { int iVar1; int iVar2; float10 fVar3; undefined4 local_20 [3]; int local_14 [3]; int local_8; FUN_0042ac3b(local_14,param_1 + 0xc); local_8 = 0; LAB_004437a8: iVar2 = (**(code **)(local_14[0] + 0x28))(local_14); if (iVar2 == 0) { FUN_0042ac79(local_14,2); return local_8; } if (param_5 != 0) goto code_r0x00443752; goto LAB_00443767; code_r0x00443752: iVar1 = FUN_0041a1a4(**(int **)(iVar2 + 0xc),param_5); if (iVar1 != 0) { LAB_00443767: FUN_00408440(local_20,(undefined4 *)(iVar2 + 0x100)); fVar3 = FUN_004433bc(); if (fVar3 - (float10)_DAT_004437d4 <= (float10)param_4) { FUN_004434f4(param_2,iVar2); local_8 = local_8 + 1; } } goto LAB_004437a8; } /* @004437d8 file=? name=FUN_004437d8 */ undefined4 * __cdecl FUN_004437d8(undefined4 *param_1) { FUN_004de998(param_1 + 6,0x1c,0x1000,1,FUN_00443474); *param_1 = 0; param_1[1] = 0; param_1[2] = 0; param_1[3] = 0; param_1[4] = 0; param_1[5] = 0; return param_1; } /* @0044381c file=? name=FUN_0044381c */ void __cdecl FUN_0044381c(int *param_1,byte param_2) { if (param_1 != (int *)0x0) { FUN_00443998(param_1); FUN_004de8d4(param_1 + 6,0x1c,0x1000,1,FUN_004434a0); if ((param_2 & 1) != 0) { FUN_004022d0(param_1); } } return; } /* @00443858 file=? name=FUN_00443858 */ undefined4 FUN_00443858(void) { return 1; } /* @00443864 file=? name=FUN_00443864 */ void __cdecl FUN_00443864(float *param_1,int param_2) { float fVar1; float fVar2; float fVar3; int iVar4; int iVar5; fVar1 = *(float *)(param_2 + 0x100); fVar2 = *(float *)(param_2 + 0x104); fVar3 = *(float *)(param_2 + 0x108); iVar4 = FUN_00443e94(); iVar5 = FUN_00443e94(); FUN_004434f4((int)(param_1 + iVar4 * 0x1c0 + iVar5 * 7 + 6),param_2); if (fVar1 < *param_1) { *param_1 = fVar1; } if (fVar2 < param_1[1]) { param_1[1] = fVar2; } if (fVar3 < param_1[2]) { param_1[2] = fVar3; } if (param_1[3] < fVar1) { param_1[3] = fVar1; } if (param_1[4] < fVar2) { param_1[4] = fVar2; } if (param_1[5] < fVar3) { param_1[5] = fVar3; } return; } /* @00443930 file=? name=FUN_00443930 */ void __cdecl FUN_00443930(int param_1,int param_2) { int iVar1; int iVar2; iVar1 = FUN_00443e94(); iVar2 = FUN_00443e94(); FUN_00443510(iVar1 * 0x700 + param_1 + iVar2 * 0x1c + 0x18,param_2); return; } /* @00443998 file=? name=FUN_00443998 */ void __cdecl FUN_00443998(undefined4 *param_1) { int iVar1; int iVar2; iVar2 = 0; do { iVar1 = 0; do { FUN_004435ac((int)(param_1 + iVar1 * 0x1c0 + iVar2 * 7 + 6)); iVar1 = iVar1 + 1; } while (iVar1 < 0x40); iVar2 = iVar2 + 1; } while (iVar2 < 0x40); *param_1 = 0; param_1[1] = 0; param_1[2] = 0; param_1[3] = 0; param_1[4] = 0; param_1[5] = 0; return; } /* @004439f8 file=? name=FUN_004439f8 */ void __cdecl FUN_004439f8(int param_1) { int *piVar1; uint uVar2; int iVar3; uint uVar4; uint local_8; uVar4 = 0; local_8 = 0; do { if ((int)uVar4 < 10) { FUN_004dbb24(&DAT_00524e20,&DAT_004edc70,(char *)0x0); } piVar1 = FUN_004db78c(&DAT_00524e20,uVar4); FUN_004dbb24(piVar1,&DAT_004edc72,(char *)0x0); iVar3 = 0; do { uVar2 = FUN_00443574(iVar3 * 0x700 + param_1 + uVar4 * 0x1c + 0x18); local_8 = local_8 + uVar2; if ((int)uVar2 < 100) { FUN_004dbb24(&DAT_00524e20,&DAT_004edc74,(char *)0x0); if ((int)uVar2 < 10) { FUN_004dbb24(&DAT_00524e20,&DAT_004edc76,(char *)0x0); } } piVar1 = FUN_004db78c(&DAT_00524e20,uVar2); FUN_004dbb24(piVar1,&DAT_004edc78,(char *)0x0); iVar3 = iVar3 + 1; } while (iVar3 < 0x40); FUN_004dbb24(&DAT_00524e20,&DAT_004edc7a,(char *)0x0); uVar4 = uVar4 + 1; } while ((int)uVar4 < 0x40); FUN_004dbb24(&DAT_00524e20,s_Total__004edc7c,(char *)0x0); piVar1 = FUN_004db78c(&DAT_00524e20,local_8); FUN_004dbb24(piVar1,&DAT_004edc84,(char *)0x0); return; } /* @00443b28 file=? name=FUN_00443b28 */ int __cdecl FUN_00443b28(int param_1,int param_2,int param_3) { int iVar1; int iVar2; int iVar3; int iVar4; undefined4 local_8; iVar4 = 0; local_8 = 0; iVar3 = 0; iVar2 = local_8; do { do { iVar1 = FUN_004435f4(iVar2 * 0x700 + param_1 + iVar3 * 0x1c + 0x18,param_2,param_3); iVar4 = iVar4 + iVar1; iVar2 = iVar2 + 1; } while (iVar2 < 0x3f); iVar3 = iVar3 + 1; iVar2 = local_8; } while (iVar3 < 0x3f); return iVar4; } /* @00443ba4 file=? name=FUN_00443ba4 */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ int __cdecl FUN_00443ba4(int param_1,int param_2,float param_3,undefined4 param_4,float param_5,float param_6, undefined4 param_7,float param_8,int param_9) { int iVar1; int iVar2; int iVar3; undefined4 local_14; undefined4 local_10; undefined4 local_c; undefined4 local_8; local_14 = 0; iVar2 = FUN_00443e94(); local_10 = FUN_00443e94(); if (iVar2 < 0) { iVar2 = 0; } else if (0x3f < iVar2) { iVar2 = 0x3f; } if (local_10 < 0) { local_10 = 0; } else if (0x3f < local_10) { local_10 = 0x3f; } local_8 = FUN_00443e94(); local_c = FUN_00443e94(); if (local_8 < 0) { local_8 = 0; } else if (0x3f < local_8) { local_8 = 0x3f; } if (local_c < 0) { local_c = 0; } else if (0x3f < local_c) { local_c = 0x3f; } for (; iVar1 = local_8, iVar2 < local_10; iVar2 = iVar2 + 1) { for (; iVar1 < local_c; iVar1 = iVar1 + 1) { iVar3 = FUN_0044366c(iVar1 * 0x700 + param_1 + iVar2 * 0x1c + 0x18,param_2,param_3,param_4, param_5,param_6,param_7,param_8,param_9); local_14 = local_14 + iVar3; } } return local_14; } /* @00443e94 file=? name=FUN_00443e94 */ int FUN_00443e94(void) { int iVar1; iVar1 = FUN_004dcd94(); iVar1 = iVar1 + 0x20; if (iVar1 < 0) { iVar1 = 0; } if (0x3f < iVar1) { iVar1 = 0x3f; } return iVar1; } /* @00443edc file=? name=FUN_00443edc */ undefined4 * __cdecl FUN_00443edc(undefined4 *param_1,undefined4 param_2) { FUN_00417be0(param_1,param_2); *param_1 = &PTR_FUN_004edc88; return param_1; } /* @00443efb file=? name=FUN_00443efb */ void __cdecl FUN_00443efb(int *param_1,byte param_2) { if (param_1 != (int *)0x0) { *param_1 = (int)&PTR_FUN_004edc88; FUN_00417c0c(param_1,0); if ((param_2 & 1) != 0) { FUN_004022d0(param_1); } } return; } /* @00443f28 file=? name=FUN_00443f28 */ undefined4 * __cdecl FUN_00443f28(undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4, undefined4 param_5) { FUN_004178cc(param_1,0x23); *param_1 = &PTR_FUN_004ee184; param_1[3] = 0; param_1[6] = param_2; param_1[5] = param_4; param_1[7] = param_3; param_1[8] = param_5; param_1[4] = 1; if (param_1[7] != 0) { FUN_00447fa0(param_1[7],param_1); } return param_1; } /* @00443f7c file=? name=FUN_00443f7c */ void __cdecl FUN_00443f7c(int *param_1,byte param_2) { if (param_1 != (int *)0x0) { *param_1 = (int)&PTR_FUN_004ee184; FUN_0041790c(param_1,0); if ((param_2 & 1) != 0) { FUN_004022d0(param_1); } } return; } /* @00443fa8 file=? name=FUN_00443fa8 */ undefined4 FUN_00443fa8(void) { return 1; } /* @00443fb4 file=? name=FUN_00443fb4 */ void __cdecl FUN_00443fb4(int *param_1) { char *pcVar1; pcVar1 = (char *)param_1[8]; FUN_004dbb24(&DAT_00524e20,s_BecameActive___has_not_been_defi_004ede69,(char *)0x0); FUN_004dbb24(&DAT_00524e20,pcVar1,(char *)0x0); FUN_004dbb24(&DAT_00524e20,s____About_to_call_Inactivate___004ede93,(char *)0x0); (**(code **)(*param_1 + 0x14))(param_1); return; } /* @00444004 file=? name=FUN_00444004 */ void FUN_00444004(void) { return; } /* @0044400c file=? name=FUN_0044400c */ void __cdecl FUN_0044400c(int *param_1) { if (param_1[7] != 0) { FUN_004480b0(param_1[7],param_1); } return; } /* @00444028 file=? name=FUN_00444028 */ undefined4 __cdecl FUN_00444028(int *param_1) { char *pcVar1; pcVar1 = (char *)param_1[8]; FUN_004dbb24(&DAT_00524e20,s_Update___has_not_been_defined_fo_004edeb2,(char *)0x0); FUN_004dbb24(&DAT_00524e20,pcVar1,(char *)0x0); FUN_004dbb24(&DAT_00524e20,s____About_to_call_Inactivate___004eded6,(char *)0x0); (**(code **)(*param_1 + 0x14))(param_1); return 0; } /* @00444078 file=? name=FUN_00444078 */ void FUN_00444078(void) { return; } /* @00444080 file=? name=FUN_00444080 */ void FUN_00444080(void) { return; } /* @00444088 file=? name=FUN_00444088 */ void FUN_00444088(void) { return; } /* @00444090 file=? name=FUN_00444090 */ void FUN_00444090(void) { return; } /* @00444098 file=? name=FUN_00444098 */ void FUN_00444098(void) { return; } /* @004440a0 file=? name=FUN_004440a0 */ undefined4 FUN_004440a0(void) { return 0; } /* @004440a8 file=? name=FUN_004440a8 */ undefined4 * __cdecl FUN_004440a8(undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4, undefined4 param_5) { FUN_00443f28(param_1,param_2,param_3,param_4,param_5); *param_1 = &PTR_FUN_004ee150; return param_1; } /* @004440d4 file=? name=FUN_004440d4 */ undefined4 * __cdecl FUN_004440d4(undefined4 *param_1,undefined4 param_2,int param_3,undefined4 param_4,int param_5, undefined4 param_6) { undefined4 *puVar1; FUN_004440a8(param_1,param_2,param_3,param_4,param_6); *param_1 = &PTR_FUN_004ee11c; if (param_3 == 0) { puVar1 = (undefined4 *)0x0; } else { puVar1 = (undefined4 *)FUN_00447f84(param_3,param_5); } FUN_0044ad78(param_1 + 9,puVar1); return param_1; } /* @00444124 file=? name=FUN_00444124 */ undefined4 * __cdecl FUN_00444124(undefined4 *param_1,undefined4 param_2) { FUN_00415e90(param_1,1); *param_1 = &PTR_FUN_004ee110; param_1[3] = param_2; return param_1; } /* @00444148 file=? name=FUN_00444148 */ void __cdecl FUN_00444148(int *param_1,byte param_2) { if (param_1 != (int *)0x0) { *param_1 = (int)&PTR_FUN_004ee110; FUN_00415ed8(param_1,0); if ((param_2 & 1) != 0) { FUN_004022d0(param_1); } } return; } /* @00444174 file=? name=FUN_00444174 */ undefined4 FUN_00444174(void) { return 1; } /* @00444180 file=munga/gauge.cpp name=FUN_00444180 */ void FUN_00444180(void) { FUN_0040385c(s_GaugeConnection__Update_should_n_004edef5,s_d__tesla_bt_munga_GAUGE_CPP_004edf24, 0xe2); return; } /* @0044419c file=? name=FUN_0044419c */ void __cdecl FUN_0044419c(int param_1,char *param_2) { char cVar1; int *piVar2; uint uVar3; uint uVar4; char *pcVar5; char *pcVar6; char local_54 [80]; FUN_004dbb24(&DAT_00524e20,param_2,(char *)0x0); FUN_004dbb24(&DAT_00524e20,s_GaugeConnection__004edf40,(char *)0x0); uVar3 = 0xffffffff; do { pcVar5 = param_2; if (uVar3 == 0) break; uVar3 = uVar3 - 1; pcVar5 = param_2 + 1; cVar1 = *param_2; param_2 = pcVar5; } while (cVar1 != '\0'); uVar3 = ~uVar3; pcVar5 = pcVar5 + -uVar3; pcVar6 = local_54; for (uVar4 = uVar3 >> 2; uVar4 != 0; uVar4 = uVar4 - 1) { *(undefined4 *)pcVar6 = *(undefined4 *)pcVar5; pcVar5 = pcVar5 + 4; pcVar6 = pcVar6 + 4; } for (uVar3 = uVar3 & 3; uVar3 != 0; uVar3 = uVar3 - 1) { *pcVar6 = *pcVar5; pcVar5 = pcVar5 + 1; pcVar6 = pcVar6 + 1; } FUN_004d49b8(local_54,&DAT_004edf52); uVar3 = *(uint *)(param_1 + 0xc); FUN_004dbb24(&DAT_00524e20,local_54,(char *)0x0); FUN_004dbb24(&DAT_00524e20,s_parameterID__004edf56,(char *)0x0); piVar2 = FUN_004db78c(&DAT_00524e20,uVar3); FUN_004dbb24(piVar2,&DAT_004edf63,(char *)0x0); FUN_004d9c70(piVar2); return; } /* @00444290 file=? name=FUN_00444290 */ undefined4 FUN_00444290(void) { DAT_004edd1c = DAT_004edd1c + 1; DAT_004edd1c = DAT_004edd1c & 3; DAT_004edd20 = DAT_004edd20 + 2; DAT_004edd24 = DAT_004edd24 + 4; return (&DAT_004edca8)[DAT_004edd1c]; } /* @004442b8 file=? name=FUN_004442b8 */ undefined4 FUN_004442b8(void) { DAT_004edd20 = DAT_004edd20 + 1; DAT_004edd20 = DAT_004edd20 & 7; DAT_004edd24 = DAT_004edd24 + 2; return (&DAT_004edcb8)[DAT_004edd20]; } /* @004442dc file=? name=FUN_004442dc */ undefined4 FUN_004442dc(void) { DAT_004edd24 = DAT_004edd24 + 1; DAT_004edd24 = DAT_004edd24 & 0xf; return (&DAT_004edcd8)[DAT_004edd24]; } /* @004442f8 file=? name=FUN_004442f8 */ undefined4 __cdecl FUN_004442f8(int param_1) { return *(undefined4 *)(&DAT_004edc9c + param_1 * 4); } /* @00444308 file=? name=FUN_00444308 */ undefined4 * __cdecl FUN_00444308(undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4, undefined4 param_5,undefined4 param_6) { FUN_00443f28(param_1,param_3,param_4,param_5,param_6); *param_1 = &PTR_FUN_004ee0cc; FUN_0044494b(param_1 + 0xb,param_1); param_1[9] = param_2; param_1[10] = param_2; param_1[4] = 0; param_1[0xf] = 0; param_1[0x10] = 0; param_1[0x11] = 0; return param_1; } /* @00444360 file=? name=FUN_00444360 */ void __cdecl FUN_00444360(int *param_1,byte param_2) { if (param_1 != (int *)0x0) { *param_1 = (int)&PTR_FUN_004ee0cc; (**(code **)(*param_1 + 0x3c))(param_1); FUN_0044496a(param_1 + 0xb,2); FUN_00443f7c(param_1,0); if ((param_2 & 1) != 0) { FUN_004022d0(param_1); } } return; } /* @004443a4 file=? name=FUN_004443a4 */ void FUN_004443a4(void) { FUN_00443fa8(); return; } /* @004443b4 file=? name=FUN_004443b4 */ void __cdecl FUN_004443b4(int param_1,char *param_2) { char cVar1; int *piVar2; uint uVar3; uint uVar4; char *pcVar5; char *pcVar6; undefined8 uVar7; char local_60 [80]; int local_10 [3]; FUN_004449b5(local_10,param_1 + 0x2c); FUN_004dbb24(&DAT_00524e20,param_2,(char *)0x0); FUN_004dbb24(&DAT_00524e20,s_Gauge__004edf65,(char *)0x0); uVar3 = 0xffffffff; do { pcVar5 = param_2; if (uVar3 == 0) break; uVar3 = uVar3 - 1; pcVar5 = param_2 + 1; cVar1 = *param_2; param_2 = pcVar5; } while (cVar1 != '\0'); uVar3 = ~uVar3; pcVar5 = pcVar5 + -uVar3; pcVar6 = local_60; for (uVar4 = uVar3 >> 2; uVar4 != 0; uVar4 = uVar4 - 1) { *(undefined4 *)pcVar6 = *(undefined4 *)pcVar5; pcVar5 = pcVar5 + 4; pcVar6 = pcVar6 + 4; } for (uVar3 = uVar3 & 3; uVar3 != 0; uVar3 = uVar3 - 1) { *pcVar6 = *pcVar5; pcVar5 = pcVar5 + 1; pcVar6 = pcVar6 + 1; } FUN_004d49b8(local_60,&DAT_004edf6d); uVar3 = *(uint *)(param_1 + 0x18); FUN_004dbb24(&DAT_00524e20,local_60,(char *)0x0); FUN_004dbb24(&DAT_00524e20,s_modeMask___004edf71,(char *)0x0); piVar2 = FUN_004db880(&DAT_00524e20,uVar3); FUN_004dbb24(piVar2,&DAT_004edf84,(char *)0x0); uVar3 = *(uint *)(param_1 + 0x1c); FUN_004dbb24(&DAT_00524e20,local_60,(char *)0x0); FUN_004dbb24(&DAT_00524e20,s_renderer___004edf86,(char *)0x0); uVar7 = FUN_004dbd4c(&DAT_00524e20,uVar3); FUN_004dbb24((int *)uVar7,&DAT_004edf99,(char *)0x0); uVar3 = *(uint *)(param_1 + 0x14); FUN_004dbb24(&DAT_00524e20,local_60,(char *)0x0); FUN_004dbb24(&DAT_00524e20,s_ownerID___004edf9b,(char *)0x0); piVar2 = FUN_004db880(&DAT_00524e20,uVar3); FUN_004dbb24(piVar2,&DAT_004edfae,(char *)0x0); FUN_004dbb24(&DAT_00524e20,local_60,(char *)0x0); FUN_004dbb24(&DAT_00524e20,s_InstanceList___004edfb0,(char *)0x0); FUN_004d9c70(&DAT_00524e20); FUN_004d49b8(local_60,&DAT_004edfc0); while( true ) { piVar2 = (int *)(**(code **)(local_10[0] + 0x28))(local_10); if (piVar2 == (int *)0x0) break; (**(code **)(*piVar2 + 4))(piVar2,local_60); } FUN_004449f3(local_10,2); return; } /* @00444588 file=? name=FUN_00444588 */ void __cdecl FUN_00444588(int param_1,undefined4 param_2) { (**(code **)(*(int *)(param_1 + 0x2c) + 4))(param_1 + 0x2c,param_2); return; } /* @004445a4 file=? name=FUN_004445a4 */ void __cdecl FUN_004445a4(int param_1,int param_2) { undefined4 *puVar1; int local_10 [3]; FUN_004449b5(local_10,param_1 + 0x2c); while( true ) { puVar1 = (undefined4 *)(**(code **)(local_10[0] + 0x28))(local_10); if (puVar1 == (undefined4 *)0x0) break; if ((param_2 == puVar1[3]) && (puVar1 != (undefined4 *)0x0)) { (**(code **)*puVar1)(puVar1,3); } } FUN_004449f3(local_10,2); return; } /* @00444600 file=? name=FUN_00444600 */ void __cdecl FUN_00444600(int param_1) { undefined4 *puVar1; int local_10 [3]; FUN_004449b5(local_10,param_1 + 0x2c); while( true ) { puVar1 = (undefined4 *)(**(code **)(local_10[0] + 0x28))(local_10); if (puVar1 == (undefined4 *)0x0) break; if (puVar1 != (undefined4 *)0x0) { (**(code **)*puVar1)(puVar1,3); } } FUN_004449f3(local_10,2); return; } /* @00444650 file=? name=FUN_00444650 */ void __cdecl FUN_00444650(int *param_1,int param_2) { if (param_2 != 0) { param_1[9] = 0; (**(code **)(*param_1 + 0x10))(param_1); return; } param_1[9] = param_1[10]; (**(code **)(*param_1 + 0xc))(param_1); return; } /* @0044467c file=? name=FUN_0044467c */ undefined4 __cdecl FUN_0044467c(int *param_1,uint param_2) { int *piVar1; undefined4 uVar2; int local_10 [3]; uVar2 = 0; if ((param_1[9] & param_2) != 0) { FUN_004449b5(local_10,(int)(param_1 + 0xb)); while( true ) { piVar1 = (int *)(**(code **)(local_10[0] + 0x28))(local_10); if (piVar1 == (int *)0x0) break; (**(code **)(*piVar1 + 8))(piVar1); } (**(code **)(*param_1 + 0x40))(param_1); uVar2 = 1; FUN_004449f3(local_10,2); } return uVar2; } /* @004446e0 file=munga/gauge.cpp name=FUN_004446e0 */ void FUN_004446e0(void) { FUN_0040385c(s_Gauge__Execute_not_overridden_004edfc4,s_d__tesla_bt_munga_GAUGE_CPP_004edfe2,599); return; } /* @004446fc file=? name=FUN_004446fc */ int __cdecl FUN_004446fc(int param_1) { int *piVar1; piVar1 = &DAT_004edd28; while( true ) { if (*piVar1 == 0) { return 0; } if (*piVar1 == *(int *)(param_1 + 0x24)) break; piVar1 = piVar1 + 2; } return piVar1[1]; } /* @00444720 file=? name=FUN_00444720 */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void __cdecl FUN_00444720(int param_1,float param_2) { if (*(float *)(param_1 + 0x40) < param_2) { *(float *)(param_1 + 0x40) = param_2; } *(float *)(param_1 + 0x3c) = param_2 + *(float *)(param_1 + 0x3c); *(int *)(param_1 + 0x44) = *(int *)(param_1 + 0x44) + 1; if (0x4000 < *(int *)(param_1 + 0x44)) { *(float *)(param_1 + 0x3c) = _DAT_00444760 * *(float *)(param_1 + 0x3c); *(int *)(param_1 + 0x44) = *(int *)(param_1 + 0x44) >> 1; } return; } /* @00444818 file=? name=FUN_00444818 */ undefined4 * __cdecl FUN_00444818(undefined4 *param_1,undefined4 param_2,undefined4 param_3,int param_4, undefined4 param_5,int param_6,undefined4 param_7) { undefined4 *puVar1; FUN_00444308(param_1,param_2,param_3,param_4,param_5,param_7); *param_1 = &PTR_FUN_004ee088; if (param_4 == 0) { puVar1 = (undefined4 *)0x0; } else { puVar1 = (undefined4 *)FUN_00447f84(param_4,param_6); } FUN_0044ad78(param_1 + 0x12,puVar1); return param_1; } /* @00444870 file=? name=FUN_00444870 */ void __cdecl FUN_00444870(int *param_1,byte param_2) { if (param_1 != (int *)0x0) { *param_1 = (int)&PTR_FUN_004ee088; FUN_0044ae0c(param_1 + 0x12,2); FUN_00444360(param_1,0); if ((param_2 & 1) != 0) { FUN_004022d0(param_1); } } return; } /* @004448ac file=? name=FUN_004448ac */ void FUN_004448ac(void) { FUN_004443a4(); return; } /* @004448bc file=? name=FUN_004448bc */ void __cdecl FUN_004448bc(int param_1,char *param_2) { char cVar1; uint uVar2; uint uVar3; char *pcVar4; char *pcVar5; char local_54 [80]; FUN_004dbb24(&DAT_00524e20,param_2,(char *)0x0); FUN_004dbb24(&DAT_00524e20,s_GraphicGauge__004ee01d,(char *)0x0); uVar2 = 0xffffffff; do { pcVar4 = param_2; if (uVar2 == 0) break; uVar2 = uVar2 - 1; pcVar4 = param_2 + 1; cVar1 = *param_2; param_2 = pcVar4; } while (cVar1 != '\0'); uVar2 = ~uVar2; pcVar4 = pcVar4 + -uVar2; pcVar5 = local_54; for (uVar3 = uVar2 >> 2; uVar3 != 0; uVar3 = uVar3 - 1) { *(undefined4 *)pcVar5 = *(undefined4 *)pcVar4; pcVar4 = pcVar4 + 4; pcVar5 = pcVar5 + 4; } for (uVar2 = uVar2 & 3; uVar2 != 0; uVar2 = uVar2 - 1) { *pcVar5 = *pcVar4; pcVar4 = pcVar4 + 1; pcVar5 = pcVar5 + 1; } FUN_004d49b8(local_54,&DAT_004ee02c); (**(code **)(*(int *)(param_1 + 0x48) + 4))(param_1 + 0x48,local_54); FUN_004443b4(param_1,local_54); return; } /* @0044494b file=? name=FUN_0044494b */ undefined4 * __cdecl FUN_0044494b(undefined4 *param_1,undefined4 param_2) { FUN_00417be0(param_1,param_2); *param_1 = &PTR_FUN_004ee080; return param_1; } /* @0044496a file=? name=FUN_0044496a */ void __cdecl FUN_0044496a(int *param_1,byte param_2) { if (param_1 != (int *)0x0) { *param_1 = (int)&PTR_FUN_004ee080; FUN_00417c0c(param_1,0); if ((param_2 & 1) != 0) { FUN_004022d0(param_1); } } return; } /* @00444996 file=? name=FUN_00444996 */ undefined4 * __cdecl FUN_00444996(undefined4 *param_1,int param_2) { FUN_00417d00(param_1,param_2); *param_1 = &PTR_FUN_004ee030; return param_1; } /* @004449b5 file=? name=FUN_004449b5 */ undefined4 * __cdecl FUN_004449b5(undefined4 *param_1,int param_2) { FUN_00417d00(param_1,param_2); *param_1 = &PTR_FUN_004ee030; return param_1; } /* @004449d4 file=? name=FUN_004449d4 */ undefined4 * __cdecl FUN_004449d4(undefined4 *param_1,int param_2) { FUN_00417d28(param_1,param_2); *param_1 = &PTR_FUN_004ee030; return param_1; } /* @004449f3 file=? name=FUN_004449f3 */ void __cdecl FUN_004449f3(int *param_1,byte param_2) { if (param_1 != (int *)0x0) { *param_1 = (int)&PTR_FUN_004ee030; FUN_00417d54(param_1,0); if ((param_2 & 1) != 0) { FUN_004022d0(param_1); } } return; } /* @00444a1f file=? name=FUN_00444a1f */ void __cdecl FUN_00444a1f(int *param_1,byte param_2) { if (param_1 != (int *)0x0) { FUN_0044ae0c(param_1 + 9,2); FUN_00443f7c(param_1,0); if ((param_2 & 1) != 0) { FUN_004022d0(param_1); } } return; } /* @00444a53 file=? name=FUN_00444a53 */ void __cdecl FUN_00444a53(int *param_1,byte param_2) { if (param_1 != (int *)0x0) { FUN_00443f7c(param_1,0); if ((param_2 & 1) != 0) { FUN_004022d0(param_1); } } return; } /* @00444a7c file=? name=FUN_00444a7c */ undefined4 * __cdecl FUN_00444a7c(undefined4 *param_1) { *param_1 = &PTR_FUN_004ee2c0; FUN_00444f5f(param_1 + 2,0); FUN_00444f5f(param_1 + 6,0); FUN_00444f5f(param_1 + 10,0); param_1[1] = 0; return param_1; } /* @00444ac0 file=? name=FUN_00444ac0 */ void __cdecl FUN_00444ac0(int *param_1,byte param_2) { if (param_1 != (int *)0x0) { *param_1 = (int)&PTR_FUN_004ee2c0; FUN_00444d6c((int)param_1); FUN_00444f7e(param_1 + 10,2); FUN_00444f7e(param_1 + 6,2); FUN_00444f7e(param_1 + 2,2); if ((param_2 & 1) != 0) { FUN_004022d0(param_1); } } return; } /* @00444b14 file=? name=FUN_00444b14 */ undefined4 FUN_00444b14(void) { return 1; } /* @00444b20 file=? name=FUN_00444b20 */ void __cdecl FUN_00444b20(int param_1,uint param_2) { int *piVar1; int local_10 [3]; if (param_2 != *(uint *)(param_1 + 4)) { *(uint *)(param_1 + 4) = param_2; FUN_00444b8c(param_1,param_2); FUN_00444c0c(param_1,param_2); } FUN_00444fc9(local_10,param_1 + 0x18); while( true ) { piVar1 = (int *)(**(code **)(local_10[0] + 0x28))(local_10); if (piVar1 == (int *)0x0) break; (**(code **)(*piVar1 + 0x10))(piVar1,0); } FUN_00445007(local_10,2); return; } /* @00444b8c file=? name=FUN_00444b8c */ void __cdecl FUN_00444b8c(int param_1,uint param_2) { int *piVar1; int local_10 [3]; FUN_00444fc9(local_10,param_1 + 0x28); while( true ) { piVar1 = (int *)(**(code **)(local_10[0] + 0x30))(local_10); if (piVar1 == (int *)0x0) break; if ((piVar1[4] & param_2) == 0) { (**(code **)(local_10[0] + 0xc))(local_10); } else { (**(code **)(local_10[0] + 0x48))(local_10); (**(code **)(*(int *)(param_1 + 0x18) + 4))(param_1 + 0x18,piVar1); (**(code **)(*piVar1 + 0x10))(piVar1,1); } } FUN_00445007(local_10,2); return; } /* @00444c0c file=? name=FUN_00444c0c */ void __cdecl FUN_00444c0c(int param_1,uint param_2) { int iVar1; int local_10 [3]; FUN_00444fc9(local_10,param_1 + 0x18); while( true ) { iVar1 = (**(code **)(local_10[0] + 0x30))(local_10); if (iVar1 == 0) break; if ((*(uint *)(iVar1 + 0x10) & param_2) == 0) { (**(code **)(local_10[0] + 0x48))(local_10); (**(code **)(*(int *)(param_1 + 0x28) + 4))(param_1 + 0x28,iVar1); } else { (**(code **)(local_10[0] + 0xc))(local_10); } } FUN_00445007(local_10,2); return; } /* @00444c80 file=? name=FUN_00444c80 */ int __cdecl FUN_00444c80(int param_1,int param_2,int param_3) { int iVar1; int local_10 [3]; FUN_00444fc9(local_10,param_1 + 8); do { iVar1 = (**(code **)(local_10[0] + 0x28))(local_10); if (iVar1 == 0) { iVar1 = 0; FUN_00445007(local_10,2); return iVar1; } } while ((param_2 != *(int *)(iVar1 + 0xc)) || (param_3 != *(int *)(iVar1 + 0x10))); FUN_00445007(local_10,2); return iVar1; } /* @00444cf0 file=? name=FUN_00444cf0 */ void __cdecl FUN_00444cf0(int param_1,int param_2) { (**(code **)(*(int *)(param_1 + 8) + 4))(param_1 + 8,param_2); if ((*(uint *)(param_2 + 0x10) & *(uint *)(param_1 + 4)) == 0) { (**(code **)(*(int *)(param_1 + 0x28) + 4))(param_1 + 0x28,param_2); } else { (**(code **)(*(int *)(param_1 + 0x18) + 4))(param_1 + 0x18,param_2); } return; } /* @00444d3c file=? name=FUN_00444d3c */ void __cdecl FUN_00444d3c(int param_1,int param_2,int param_3) { undefined4 *puVar1; puVar1 = (undefined4 *)FUN_00444c80(param_1,param_2,param_3); if ((param_2 != 0) && (puVar1 != (undefined4 *)0x0)) { (**(code **)*puVar1)(puVar1,3); } return; } /* @00444d6c file=? name=FUN_00444d6c */ void __cdecl FUN_00444d6c(int param_1) { undefined4 *puVar1; int local_10 [3]; FUN_00444fc9(local_10,param_1 + 8); while( true ) { puVar1 = (undefined4 *)(**(code **)(local_10[0] + 0x28))(local_10); if (puVar1 == (undefined4 *)0x0) break; if (puVar1 != (undefined4 *)0x0) { (**(code **)*puVar1)(puVar1,3); } } FUN_00445007(local_10,2); return; } /* @00444dbc file=? name=FUN_00444dbc */ undefined4 * __cdecl FUN_00444dbc(undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4) { FUN_004178cc(param_1,0x23); *param_1 = &PTR_FUN_004ee2a8; param_1[3] = param_2; param_1[4] = param_3; param_1[5] = 0xffffffff; param_1[6] = param_4; param_1[7] = 0; FUN_00444cf0(param_1[6],(int)param_1); return param_1; } /* @00444e04 file=? name=FUN_00444e04 */ void __cdecl FUN_00444e04(int *param_1,byte param_2) { if (param_1 != (int *)0x0) { *param_1 = (int)&PTR_FUN_004ee2a8; FUN_0041790c(param_1,0); if ((param_2 & 1) != 0) { FUN_004022d0(param_1); } } return; } /* @00444e30 file=? name=FUN_00444e30 */ undefined4 FUN_00444e30(void) { return 1; } /* @00444e3c file=? name=FUN_00444e3c */ void __cdecl FUN_00444e3c(int *param_1,int param_2) { if ((param_2 != param_1[5]) && (param_1[5] = param_2, (*(uint *)(param_1[6] + 4) & param_1[4]) != 0)) { (**(code **)(*param_1 + 0x14))(param_1); } return; } /* @00444e64 file=? name=FUN_00444e64 */ void __cdecl FUN_00444e64(int *param_1,int param_2) { if (param_2 == 0) { param_1[7] = param_1[7] + -1; if (param_1[7] < 0) { param_1[7] = 0; } } else { param_1[7] = param_1[7] + 1; } if ((*(uint *)(param_1[6] + 4) & param_1[4]) != 0) { (**(code **)(*param_1 + 0x14))(param_1); } return; } /* @00444e9c file=munga/lamp.cpp name=FUN_00444e9c */ void FUN_00444e9c(void) { FUN_0040385c(s_Lamp__Update_method_not_overridd_004ee1f9,s_d__tesla_bt_munga_LAMP_CPP_004ee21d, 0x14f); return; } /* @00444eb8 file=? name=FUN_00444eb8 */ void FUN_00444eb8(void) { return; } /* @00444ec0 file=? name=FUN_00444ec0 */ undefined4 * __cdecl FUN_00444ec0(undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4, int param_5,int param_6) { undefined4 *puVar1; FUN_00444dbc(param_1,param_2,param_3,param_4); *param_1 = &PTR_FUN_004ee290; param_1[8] = param_5; if (param_5 == 0) { puVar1 = (undefined4 *)0x0; } else { puVar1 = (undefined4 *)FUN_00447f84(param_5,param_6); } FUN_0044ad78(param_1 + 9,puVar1); return param_1; } /* @00444f14 file=? name=FUN_00444f14 */ void __cdecl FUN_00444f14(int *param_1,byte param_2) { if (param_1 != (int *)0x0) { *param_1 = (int)&PTR_FUN_004ee290; FUN_0044ae0c(param_1 + 9,2); FUN_00444e04(param_1,0); if ((param_2 & 1) != 0) { FUN_004022d0(param_1); } } return; } /* @00444f50 file=? name=FUN_00444f50 */ void FUN_00444f50(void) { FUN_00444e30(); return; } /* @00444f5f file=? name=FUN_00444f5f */ undefined4 * __cdecl FUN_00444f5f(undefined4 *param_1,undefined4 param_2) { FUN_00417be0(param_1,param_2); *param_1 = &PTR_FUN_004ee288; return param_1; } /* @00444f7e file=? name=FUN_00444f7e */ void __cdecl FUN_00444f7e(int *param_1,byte param_2) { if (param_1 != (int *)0x0) { *param_1 = (int)&PTR_FUN_004ee288; FUN_00417c0c(param_1,0); if ((param_2 & 1) != 0) { FUN_004022d0(param_1); } } return; } /* @00444faa file=? name=FUN_00444faa */ undefined4 * __cdecl FUN_00444faa(undefined4 *param_1,int param_2) { FUN_00417d00(param_1,param_2); *param_1 = &PTR_FUN_004ee238; return param_1; } /* @00444fc9 file=? name=FUN_00444fc9 */ undefined4 * __cdecl FUN_00444fc9(undefined4 *param_1,int param_2) { FUN_00417d00(param_1,param_2); *param_1 = &PTR_FUN_004ee238; return param_1; } /* @00444fe8 file=? name=FUN_00444fe8 */ undefined4 * __cdecl FUN_00444fe8(undefined4 *param_1,int param_2) { FUN_00417d28(param_1,param_2); *param_1 = &PTR_FUN_004ee238; return param_1; } /* @00445007 file=? name=FUN_00445007 */ void __cdecl FUN_00445007(int *param_1,byte param_2) { if (param_1 != (int *)0x0) { *param_1 = (int)&PTR_FUN_004ee238; FUN_00417d54(param_1,0); if ((param_2 & 1) != 0) { FUN_004022d0(param_1); } } return; } /* @00445034 file=? name=FUN_00445034 */ undefined4 __cdecl FUN_00445034(undefined4 *param_1,char *param_2) { int iVar1; for (; (char *)*param_1 != (char *)0x0; param_1 = param_1 + 2) { iVar1 = FUN_004d4b58(param_2,(char *)*param_1); if (iVar1 == 0) break; } return param_1[1]; } /* @00445064 file=? name=FUN_00445064 */ char * __cdecl FUN_00445064(char *param_1,undefined4 *param_2,char *param_3,undefined4 param_4,undefined4 param_5) { char cVar1; uint uVar2; uint uVar3; char *pcVar4; char *pcVar5; *(undefined4 *)(param_1 + 0x28) = *param_2; *param_2 = param_1; uVar2 = 0xffffffff; do { pcVar4 = param_3; if (uVar2 == 0) break; uVar2 = uVar2 - 1; pcVar4 = param_3 + 1; cVar1 = *param_3; param_3 = pcVar4; } while (cVar1 != '\0'); uVar2 = ~uVar2; pcVar4 = pcVar4 + -uVar2; pcVar5 = param_1; for (uVar3 = uVar2 >> 2; uVar3 != 0; uVar3 = uVar3 - 1) { *(undefined4 *)pcVar5 = *(undefined4 *)pcVar4; pcVar4 = pcVar4 + 4; pcVar5 = pcVar5 + 4; } for (uVar2 = uVar2 & 3; uVar2 != 0; uVar2 = uVar2 - 1) { *pcVar5 = *pcVar4; pcVar4 = pcVar4 + 1; pcVar5 = pcVar5 + 1; } *(undefined4 *)(param_1 + 0x20) = param_4; *(undefined4 *)(param_1 + 0x24) = param_5; return param_1; } /* @004450b0 file=? name=FUN_004450b0 */ void __cdecl FUN_004450b0(int *param_1,byte param_2) { if ((param_1 != (int *)0x0) && ((param_2 & 1) != 0)) { FUN_004022d0(param_1); } return; } /* @004450cc file=? name=FUN_004450cc */ undefined4 FUN_004450cc(void) { return 1; } /* @004450d8 file=? name=FUN_004450d8 */ void __cdecl FUN_004450d8(undefined4 *param_1,undefined4 param_2) { *param_1 = 0; param_1[1] = param_2; return; } /* @004450ec file=? name=FUN_004450ec */ void __cdecl FUN_004450ec(int *param_1,byte param_2) { int *piVar1; int *piVar2; if (param_1 != (int *)0x0) { piVar2 = (int *)*param_1; while (piVar2 != (int *)0x0) { piVar1 = (int *)piVar2[10]; FUN_004450b0(piVar2,3); piVar2 = piVar1; } *param_1 = 0; if ((param_2 & 1) != 0) { FUN_004022d0(param_1); } } return; } /* @00445128 file=? name=FUN_00445128 */ undefined4 FUN_00445128(void) { return 1; } /* @00445134 file=munga/gaugrend.cpp name=FUN_00445134 */ void __cdecl FUN_00445134(undefined4 *param_1,char *param_2,int param_3) { int iVar1; int *piVar2; char *pcVar3; pcVar3 = (char *)*param_1; do { if (pcVar3 == (char *)0x0) { pcVar3 = (char *)FUN_00402298(0x2c); if (pcVar3 != (char *)0x0) { FUN_00445064(pcVar3,param_1,param_2,param_3,1); } return; } iVar1 = FUN_004d4b58(param_2,pcVar3); if (iVar1 == 0) { if (*(int *)(pcVar3 + 0x24) == 0) { iVar1 = *(int *)(pcVar3 + 0x20); while (-1 < iVar1) { piVar2 = (int *)(iVar1 + param_1[1]); iVar1 = *piVar2; *piVar2 = param_3; } *(int *)(pcVar3 + 0x20) = param_3; pcVar3[0x24] = '\x01'; pcVar3[0x25] = '\0'; pcVar3[0x26] = '\0'; pcVar3[0x27] = '\0'; return; } FUN_004dbb24(&DAT_00524e20,s_label___004ee34d,(char *)0x0); FUN_004dbb24(&DAT_00524e20,param_2,(char *)0x0); FUN_004dbb24(&DAT_00524e20,&DAT_004ee355,(char *)0x0); FUN_0040385c(s_Already_resolved_004ee357,s_d__tesla_bt_munga_GAUGREND_CPP_004ee368,0xec); } pcVar3 = *(char **)(pcVar3 + 0x28); } while( true ); } /* @00445218 file=? name=FUN_00445218 */ undefined4 __cdecl FUN_00445218(undefined4 *param_1,char *param_2,undefined4 param_3) { undefined4 uVar1; int iVar2; char *pcVar3; pcVar3 = (char *)*param_1; while( true ) { if (pcVar3 == (char *)0x0) { pcVar3 = (char *)FUN_00402298(0x2c); if (pcVar3 != (char *)0x0) { FUN_00445064(pcVar3,param_1,param_2,param_3,0); } return 0xffffffff; } iVar2 = FUN_004d4b58(param_2,pcVar3); if (iVar2 == 0) break; pcVar3 = *(char **)(pcVar3 + 0x28); } if (*(int *)(pcVar3 + 0x24) != 0) { return *(undefined4 *)(pcVar3 + 0x20); } uVar1 = *(undefined4 *)(pcVar3 + 0x20); *(undefined4 *)(pcVar3 + 0x20) = param_3; return uVar1; } /* @00445280 file=? name=FUN_00445280 */ undefined4 __cdecl FUN_00445280(undefined4 *param_1,char *param_2) { char *pcVar1; int iVar2; pcVar1 = (char *)*param_1; while( true ) { if (pcVar1 == (char *)0x0) { return 0xfffffffd; } iVar2 = FUN_004d4b58(param_2,pcVar1); if (iVar2 == 0) break; pcVar1 = *(char **)(pcVar1 + 0x28); } if (*(int *)(pcVar1 + 0x24) != 0) { return *(undefined4 *)(pcVar1 + 0x20); } return 0xfffffffe; } /* @004452c4 file=? name=FUN_004452c4 */ int __cdecl FUN_004452c4(int *param_1,int param_2) { int iVar1; iVar1 = *param_1; while( true ) { if (iVar1 == 0) { return 0; } if (param_2 == *(int *)(iVar1 + 0x20)) break; iVar1 = *(int *)(iVar1 + 0x28); } if (*(int *)(iVar1 + 0x24) != 0) { return iVar1; } return 0; } /* @004452f0 file=? name=FUN_004452f0 */ undefined4 __cdecl FUN_004452f0(int *param_1) { int iVar1; iVar1 = *param_1; while( true ) { if (iVar1 == 0) { return 0; } if (*(int *)(iVar1 + 0x24) == 0) break; iVar1 = *(int *)(iVar1 + 0x28); } return 1; } /* @00445314 file=? name=FUN_00445314 */ undefined4 * __cdecl FUN_00445314(undefined4 *param_1) { undefined4 uVar1; undefined4 *puVar2; int iVar3; FUN_004d9d34(param_1); uVar1 = FUN_004022b0(0x20000); param_1[0x24] = uVar1; iVar3 = 0; puVar2 = param_1 + 0x26; do { *puVar2 = 0; iVar3 = iVar3 + 1; puVar2 = puVar2 + 1; } while (iVar3 < 10); puVar2 = (undefined4 *)FUN_00402298(8); if (puVar2 == (undefined4 *)0x0) { uVar1 = 0; } else { uVar1 = FUN_004450d8(puVar2,param_1[0x24]); } param_1[0x21] = uVar1; param_1[0x22] = 0; param_1[0x23] = 0; param_1[0x25] = 0; return param_1; } /* @00445390 file=? name=FUN_00445390 */ void __cdecl FUN_00445390(int *param_1,byte param_2) { if (param_1 != (int *)0x0) { if ((int *)param_1[0x22] != (int *)0x0) { FUN_004022e8((int *)param_1[0x22]); } FUN_004450ec((int *)param_1[0x21],3); FUN_004022e8((int *)param_1[0x24]); FUN_004d9e28(param_1,2); if ((param_2 & 1) != 0) { FUN_004022d0(param_1); } } return; } /* @004453e8 file=? name=FUN_004453e8 */ undefined4 FUN_004453e8(void) { return 1; } /* @004453f4 file=munga/gaugrend.cpp name=FUN_004453f4 */ /* WARNING: Removing unreachable block (ram,0x004456a4) */ int * __cdecl FUN_004453f4(int *param_1) { int *piVar1; uint uVar2; undefined1 uVar3; int *piVar4; int local_c; if (param_1[0x1f] != 0) { param_1[0x1f] = 0; return param_1 + 0xf; } piVar4 = param_1 + 0xf; local_c = 0; LAB_00445423: do { if ((uint)param_1[8] < (uint)param_1[9]) { uVar2 = (uint)*(byte *)param_1[8]; } else { uVar2 = (**(code **)(*param_1 + 0xc))(param_1); } piVar1 = param_1 + 0xf; if (0x3f < (int)piVar1 - (int)piVar4) { FUN_0040385c(s_Token_too_large_004ee387,s_d__tesla_bt_munga_GAUGREND_CPP_004ee397,0x240); return (int *)0x0; } if ((int)uVar2 < 0) { if (piVar1 == piVar4) { return (int *)0x0; } *(undefined1 *)piVar4 = 0; return piVar1; } if (uVar2 == 10) { param_1[0x20] = param_1[0x20] + 1; } if (local_c == 0) { if ((int)uVar2 < 0xe) { if (((uVar2 == 0xd) || (uVar2 == 0)) || (uVar2 - 9 < 2)) { LAB_004454cd: if ((uint)param_1[8] < (uint)param_1[9]) { param_1[8] = param_1[8] + 1; } else { (**(code **)(*param_1 + 0xc))(param_1); } goto LAB_00445423; } } else { if (uVar2 == 0x20) goto LAB_004454cd; if (uVar2 == 0x23) { if ((uint)param_1[8] < (uint)param_1[9]) { param_1[8] = param_1[8] + 1; } else { (**(code **)(*param_1 + 0xc))(param_1); } local_c = 2; goto LAB_00445423; } } local_c = 1; goto LAB_00445423; } uVar3 = (undefined1)uVar2; if (local_c == 1) { if ((int)uVar2 < 0x28) { if ((int)uVar2 < 0x21) { if (((uVar2 == 0x20) || (uVar2 == 0)) || ((uVar2 - 9 < 2 || (uVar2 - 9 == 4)))) { if ((uint)param_1[8] < (uint)param_1[9]) { param_1[8] = param_1[8] + 1; } else { (**(code **)(*param_1 + 0xc))(param_1); } *(undefined1 *)piVar4 = 0; return param_1 + 0xf; } } else { if (uVar2 == 0x22) { if ((uint)param_1[8] < (uint)param_1[9]) { param_1[8] = param_1[8] + 1; } else { (**(code **)(*param_1 + 0xc))(param_1); } if (piVar4 != param_1 + 0xf) { *(undefined1 *)piVar4 = 0; return param_1 + 0xf; } local_c = 3; goto LAB_00445423; } if (uVar2 == 0x23) { if ((uint)param_1[8] < (uint)param_1[9]) { param_1[8] = param_1[8] + 1; } else { (**(code **)(*param_1 + 0xc))(param_1); } local_c = 2; goto LAB_00445423; } } } else if ((int)uVar2 < 0x3e) { if ((uVar2 == 0x3d) || (((uVar2 - 0x28 < 2 || (uVar2 == 0x2c)) || (uVar2 == 0x3b)))) { LAB_004455cf: if (piVar4 == param_1 + 0xf) { if ((uint)param_1[8] < (uint)param_1[9]) { param_1[8] = param_1[8] + 1; } else { (**(code **)(*param_1 + 0xc))(param_1); } *(undefined1 *)piVar4 = uVar3; piVar4 = (int *)((int)piVar4 + 1); } *(undefined1 *)piVar4 = 0; return param_1 + 0xf; } } else if ((uVar2 == 0x7b) || (uVar2 == 0x7d)) goto LAB_004455cf; if ((uint)param_1[8] < (uint)param_1[9]) { param_1[8] = param_1[8] + 1; } else { (**(code **)(*param_1 + 0xc))(param_1); } *(undefined1 *)piVar4 = uVar3; piVar4 = (int *)((int)piVar4 + 1); goto LAB_00445423; } if (local_c == 2) { if ((uint)param_1[8] < (uint)param_1[9]) { param_1[8] = param_1[8] + 1; } else { (**(code **)(*param_1 + 0xc))(param_1); } if ((uVar2 == 10) || (uVar2 == 0xd)) { if (piVar4 != param_1 + 0xf) { *(undefined1 *)piVar4 = 0; return param_1 + 0xf; } local_c = 0; } } else if (local_c == 3) { if ((uint)param_1[8] < (uint)param_1[9]) { param_1[8] = param_1[8] + 1; } else { (**(code **)(*param_1 + 0xc))(param_1); } if (uVar2 == 0x22) { *(undefined1 *)piVar4 = 0; return param_1 + 0xf; } *(undefined1 *)piVar4 = uVar3; piVar4 = (int *)((int)piVar4 + 1); } } while( true ); } /* @004456c4 file=? name=FUN_004456c4 */ void __cdecl FUN_004456c4(int param_1) { *(undefined4 *)(param_1 + 0x7c) = 1; return; } /* @004456d4 file=? name=FUN_004456d4 */ undefined4 __cdecl FUN_004456d4(int *param_1,int *param_2) { char cVar1; int *piVar2; uint uVar3; int iVar4; bool bVar5; piVar2 = FUN_004453f4(param_1); iVar4 = 0; bVar5 = (char)*piVar2 == '-'; if (bVar5) { piVar2 = (int *)((int)piVar2 + 1); } if (((char)*piVar2 == '0') && (piVar2 = (int *)((int)piVar2 + 1), *(char *)piVar2 == '\0')) { *param_2 = 0; } else { if (((char)*piVar2 == 'x') || ((char)*piVar2 == 'X')) { while( true ) { piVar2 = (int *)((int)piVar2 + 1); if (*(char *)piVar2 == '\0') break; uVar3 = FUN_004dc8c4((int)*(char *)piVar2); if (((&DAT_005207dd)[uVar3] & 0x10) == 0) { return 0; } if (0x39 < (int)uVar3) { uVar3 = uVar3 - 7; } iVar4 = uVar3 + iVar4 * 0x10 + -0x30; } } else { for (; cVar1 = (char)*piVar2, cVar1 != '\0'; piVar2 = (int *)((int)piVar2 + 1)) { if (((&DAT_005207dd)[cVar1] & 2) == 0) { return 0; } iVar4 = (int)cVar1 + iVar4 * 10 + -0x30; } } if (bVar5) { iVar4 = -iVar4; } *param_2 = iVar4; } return 1; } /* @004457a0 file=? name=FUN_004457a0 */ undefined4 __thiscall FUN_004457a0(void *this,int *param_1,float *param_2) { int *piVar1; int iVar2; undefined4 uVar3; bool bVar4; void *local_8; piVar1 = FUN_004453f4(param_1); bVar4 = (char)*piVar1 == '-'; if (bVar4) { piVar1 = (int *)((int)piVar1 + 1); } iVar2 = FUN_004d7f84(piVar1,&DAT_004ee3e5); if (iVar2 < 1) { FUN_00445a6c((int)param_1,s_Token_not_a_scalar_value_004ee3e8); uVar3 = 0; } else { local_8 = this; if (bVar4) { local_8 = (void *)-(float)this; } *param_2 = (float)local_8; uVar3 = 1; } return uVar3; } /* @00445808 file=? name=FUN_00445808 */ undefined4 __cdecl FUN_00445808(int *param_1,int *param_2) { char *pcVar1; int *piVar2; undefined4 uVar3; int iVar4; char *pcVar5; bool bVar6; int local_c; int local_8; piVar2 = FUN_004453f4(param_1); pcVar5 = &DAT_004ee401; do { bVar6 = (char)*piVar2 == *pcVar5; if (!bVar6) break; if ((char)*piVar2 == '\0') goto LAB_00445851; pcVar1 = (char *)((int)piVar2 + 1); bVar6 = *pcVar1 == pcVar5[1]; if (!bVar6) break; piVar2 = (int *)((int)piVar2 + 2); pcVar5 = pcVar5 + 2; bVar6 = *pcVar1 == '\0'; } while (!bVar6); if (bVar6) { LAB_00445851: iVar4 = FUN_004456d4(param_1,&local_c); if (iVar4 == 0) { uVar3 = 0; } else { piVar2 = FUN_004453f4(param_1); pcVar5 = &DAT_004ee425; do { bVar6 = (char)*piVar2 == *pcVar5; if (!bVar6) break; if ((char)*piVar2 == '\0') goto LAB_004458a5; pcVar1 = (char *)((int)piVar2 + 1); bVar6 = *pcVar1 == pcVar5[1]; if (!bVar6) break; piVar2 = (int *)((int)piVar2 + 2); pcVar5 = pcVar5 + 2; bVar6 = *pcVar1 == '\0'; } while (!bVar6); if (bVar6) { LAB_004458a5: iVar4 = FUN_004456d4(param_1,&local_8); if (iVar4 == 0) { uVar3 = 0; } else { piVar2 = FUN_004453f4(param_1); pcVar5 = &DAT_004ee441; do { bVar6 = (char)*piVar2 == *pcVar5; if (!bVar6) break; if ((char)*piVar2 == '\0') goto LAB_004458f6; pcVar1 = (char *)((int)piVar2 + 1); bVar6 = *pcVar1 == pcVar5[1]; if (!bVar6) break; piVar2 = (int *)((int)piVar2 + 2); pcVar5 = pcVar5 + 2; bVar6 = *pcVar1 == '\0'; } while (!bVar6); if (bVar6) { LAB_004458f6: uVar3 = 1; *param_2 = local_c; param_2[1] = local_8; } else { FUN_00445a6c((int)param_1,s_Missing_trailing_____for_2D_vect_004ee443); uVar3 = 0; } } } else { FUN_00445a6c((int)param_1,s_Missing_____for_2D_vector_004ee427); uVar3 = 0; } } } else { FUN_00445a6c((int)param_1,s_Missing_leading_____for_2D_vecto_004ee403); uVar3 = 0; } return uVar3; } /* @00445910 file=? name=FUN_00445910 */ undefined4 __cdecl FUN_00445910(int *param_1,undefined4 *param_2) { int *piVar1; uint uVar2; undefined4 uVar3; piVar1 = FUN_004453f4(param_1); if (((&DAT_005207dd)[(char)*piVar1] & 0xc) == 0) { FUN_00445a6c((int)param_1,s_Token_is_not_a_valid_rate_004ee466); } else { uVar2 = FUN_004dc8c4((int)(char)*piVar1); if ((0x40 < (int)uVar2) && ((int)uVar2 < 0x5b)) { uVar3 = FUN_004442f8(uVar2 - 0x41); *param_2 = uVar3; return 1; } FUN_00445a6c((int)param_1,s_Token_is_not_a_valid_rate_004ee480); } return 0; } /* @00445978 file=? name=FUN_00445978 */ uint __cdecl FUN_00445978(int *param_1,int *param_2) { char cVar1; int *piVar2; uint uVar3; uint extraout_EDX; bool bVar4; bool bVar5; int local_8; piVar2 = FUN_004453f4(param_1); local_8 = 0; bVar4 = (char)*piVar2 == '-'; if (bVar4) { piVar2 = (int *)((int)piVar2 + 1); } if (((&DAT_005207dd)[(char)*piVar2] & 0xc) == 0) { bVar5 = (char)*piVar2 == '0'; if (bVar5) { piVar2 = (int *)((int)piVar2 + 1); } if (((char)*piVar2 == 'x') || ((char)*piVar2 == 'X')) { while( true ) { piVar2 = (int *)((int)piVar2 + 1); if (*(char *)piVar2 == '\0') break; uVar3 = FUN_004dc8c4((int)*(char *)piVar2); if (((&DAT_005207dd)[uVar3] & 0x10) == 0) { return extraout_EDX; } if (0x39 < (int)uVar3) { uVar3 = uVar3 - 7; } local_8 = local_8 * 0x10 + (uVar3 - 0x30); } uVar3 = 1; } else { for (; cVar1 = (char)*piVar2, cVar1 != '\0'; piVar2 = (int *)((int)piVar2 + 1)) { if (((&DAT_005207dd)[cVar1] & 2) == 0) { return (uint)bVar5; } local_8 = local_8 * 10 + cVar1 + -0x30; } uVar3 = 1; } } else { uVar3 = (**(code **)**(undefined4 **)(DAT_004efc94 + 0x50)) (*(undefined4 **)(DAT_004efc94 + 0x50),piVar2,&local_8); } if (uVar3 == 1) { if (bVar4) { local_8 = -local_8; } *param_2 = local_8; } return uVar3; } /* @00445a6c file=munga/gaugrend.cpp name=FUN_00445a6c */ void __cdecl FUN_00445a6c(int param_1,char *param_2) { uint uVar1; int *piVar2; uVar1 = *(uint *)(param_1 + 0x80); FUN_004dbb24(&DAT_00524e20,s_Interpreter_parsing_error__004ee49a,(char *)0x0); FUN_004dbb24(&DAT_00524e20,param_2,(char *)0x0); FUN_004dbb24(&DAT_00524e20,s_in_line_004ee4b5,(char *)0x0); piVar2 = FUN_004db78c(&DAT_00524e20,uVar1); FUN_004dbb24(piVar2,&DAT_004ee4bf,(char *)0x0); FUN_0040385c(s_Parsing_error_004ee4c1,s_d__tesla_bt_munga_GAUGREND_CPP_004ee4cf,0x447); return; } /* @00445af0 file=? name=FUN_00445af0 */ void __cdecl FUN_00445af0(int *param_1,LPCSTR param_2,int *param_3) { int *piVar1; int *piVar2; int *piVar3; int iVar4; uint uVar5; uint uVar6; char *pcVar7; char *pcVar8; char local_28 [35]; undefined1 local_5; param_1[0x23] = 0; piVar3 = param_3; while (piVar3 != (int *)0x0) { piVar2 = (int *)*piVar3; piVar3 = piVar3 + 1; if (*piVar2 == 0) { piVar3 = (int *)piVar2[3]; } else { param_1[0x23] = param_1[0x23] + 1; } } piVar2 = (int *)FUN_004022b0(param_1[0x23] << 2); param_1[0x22] = (int)piVar2; piVar3 = param_3; while (piVar3 != (int *)0x0) { piVar1 = (int *)*piVar3; piVar3 = piVar3 + 1; if (*piVar1 == 0) { piVar3 = (int *)piVar1[3]; } else { *piVar2 = (int)piVar1; piVar2 = piVar2 + 1; } } FUN_004d9f60((int)param_1,param_2,0x21,DAT_00520540); if ((short)param_1[0xc] == 0) { FUN_004dbb24(&DAT_00524e20,s_Cannot_open_interpreter_file___004ee4ee,(char *)0x0); FUN_004dbb24(&DAT_00524e20,param_2,(char *)0x0); FUN_004dbb24(&DAT_00524e20,&DAT_004ee50d,(char *)0x0); } else { param_1[0x20] = 1; param_1[0x1f] = 0; while (piVar3 = FUN_004453f4(param_1), piVar3 != (int *)0x0) { uVar5 = 0xffffffff; do { piVar2 = piVar3; if (uVar5 == 0) break; uVar5 = uVar5 - 1; piVar2 = (int *)((int)piVar3 + 1); iVar4 = *piVar3; piVar3 = piVar2; } while ((char)iVar4 != '\0'); uVar5 = ~uVar5; pcVar8 = (char *)((int)piVar2 - uVar5); pcVar7 = local_28; for (uVar6 = uVar5 >> 2; uVar6 != 0; uVar6 = uVar6 - 1) { *(undefined4 *)pcVar7 = *(undefined4 *)pcVar8; pcVar8 = pcVar8 + 4; pcVar7 = pcVar7 + 4; } for (uVar5 = uVar5 & 3; uVar5 != 0; uVar5 = uVar5 - 1) { *pcVar7 = *pcVar8; pcVar8 = pcVar8 + 1; pcVar7 = pcVar7 + 1; } pcVar8 = &DAT_004ee510; piVar3 = FUN_004453f4(param_1); iVar4 = FUN_004d4b58((char *)piVar3,pcVar8); if (iVar4 != 0) { FUN_00445a6c((int)param_1,s_Missing_____004ee512); } FUN_00445134((undefined4 *)param_1[0x21],local_28,param_1[0x25]); FUN_00445c94(param_1,param_3); } iVar4 = FUN_004452f0((int *)param_1[0x21]); if (iVar4 != 0) { FUN_00445a6c((int)param_1,s_Unresolved_forward_references_004ee51e); } FUN_004d9cc4(param_1); local_5 = 0; FUN_004461c8((int)param_1,&local_5,1); } return; } /* @00445c94 file=? name=FUN_00445c94 */ void __cdecl FUN_00445c94(int *param_1,int *param_2) { int *piVar1; int iVar2; uint uVar3; uint uVar4; char *pcVar5; int *piVar6; int *piVar7; char *pcVar8; bool bVar9; char local_3c [32]; undefined4 local_1c; int local_18 [2]; int local_10; int local_c; byte local_6 [2]; do { piVar1 = FUN_004453f4(param_1); if (piVar1 == (int *)0x0) { FUN_00445a6c((int)param_1,s_Internal_error__NULL_token__004ee53c); } uVar3 = 0xffffffff; piVar6 = piVar1; do { piVar7 = piVar6; if (uVar3 == 0) break; uVar3 = uVar3 - 1; piVar7 = (int *)((int)piVar6 + 1); iVar2 = *piVar6; piVar6 = piVar7; } while ((char)iVar2 != '\0'); uVar3 = ~uVar3; pcVar5 = (char *)((int)piVar7 - uVar3); pcVar8 = local_3c; for (uVar4 = uVar3 >> 2; uVar4 != 0; uVar4 = uVar4 - 1) { *(undefined4 *)pcVar8 = *(undefined4 *)pcVar5; pcVar5 = pcVar5 + 4; pcVar8 = pcVar8 + 4; } for (uVar3 = uVar3 & 3; uVar3 != 0; uVar3 = uVar3 - 1) { *pcVar8 = *pcVar5; pcVar5 = pcVar5 + 1; pcVar8 = pcVar8 + 1; } iVar2 = FUN_004d4b58((char *)piVar1,&DAT_004ee558); if (iVar2 == 0) { local_6[1] = 1; FUN_004461c8((int)param_1,local_6 + 1,1); return; } if ((char)*piVar1 == '@') { iVar2 = FUN_004d4a78((char *)piVar1); if (iVar2 != 2) { FUN_00445a6c((int)param_1,s_Ill_formed_attribute_variable_in_004ee55a); } local_6[0] = *(char *)((int)piVar1 + 1) - 0x30; if (10 < local_6[0]) { FUN_00445a6c((int)param_1,s_Illegal_attribute_variable_index_004ee57e); } piVar1 = FUN_004453f4(param_1); pcVar5 = &DAT_004ee59f; do { bVar9 = (char)*piVar1 == *pcVar5; if (!bVar9) break; if ((char)*piVar1 == '\0') goto LAB_00445d8c; pcVar8 = (char *)((int)piVar1 + 1); bVar9 = *pcVar8 == pcVar5[1]; if (!bVar9) break; piVar1 = (int *)((int)piVar1 + 2); pcVar5 = pcVar5 + 2; bVar9 = *pcVar8 == '\0'; } while (!bVar9); if (!bVar9) { FUN_00445a6c((int)param_1,s_Missing_____004ee5a1); } LAB_00445d8c: local_6[1] = 7; FUN_004461c8((int)param_1,local_6 + 1,1); FUN_004461c8((int)param_1,local_6,1); piVar1 = FUN_004453f4(param_1); FUN_0044621c((int)param_1,(char *)piVar1); } else { iVar2 = FUN_004d4b58((char *)piVar1,s_enable_004ee5ad); if (iVar2 == 0) { piVar1 = FUN_004453f4(param_1); pcVar5 = &DAT_004ee5b4; do { bVar9 = (char)*piVar1 == *pcVar5; if (!bVar9) break; if ((char)*piVar1 == '\0') goto LAB_00445e0e; pcVar8 = (char *)((int)piVar1 + 1); bVar9 = *pcVar8 == pcVar5[1]; if (!bVar9) break; piVar1 = (int *)((int)piVar1 + 2); pcVar5 = pcVar5 + 2; bVar9 = *pcVar8 == '\0'; } while (!bVar9); if (!bVar9) { FUN_00445a6c((int)param_1,s_Missing_____004ee5b6); } LAB_00445e0e: FUN_00445978(param_1,&local_c); local_6[1] = 5; FUN_004461c8((int)param_1,local_6 + 1,1); FUN_004461c8((int)param_1,(undefined1 *)&local_c,4); } else { iVar2 = FUN_004d4b58((char *)piVar1,s_disable_004ee5c2); if (iVar2 == 0) { piVar1 = FUN_004453f4(param_1); pcVar5 = &DAT_004ee5ca; do { bVar9 = (char)*piVar1 == *pcVar5; if (!bVar9) break; if ((char)*piVar1 == '\0') goto LAB_00445e8c; pcVar8 = (char *)((int)piVar1 + 1); bVar9 = *pcVar8 == pcVar5[1]; if (!bVar9) break; piVar1 = (int *)((int)piVar1 + 2); pcVar5 = pcVar5 + 2; bVar9 = *pcVar8 == '\0'; } while (!bVar9); if (!bVar9) { FUN_00445a6c((int)param_1,s_Missing_____004ee5cc); } LAB_00445e8c: FUN_00445978(param_1,&local_10); local_6[1] = 6; FUN_004461c8((int)param_1,local_6 + 1,1); FUN_004461c8((int)param_1,(undefined1 *)&local_10,4); } else { iVar2 = FUN_004d4b58((char *)piVar1,s_offset_004ee5d8); if (iVar2 == 0) { piVar1 = FUN_004453f4(param_1); pcVar5 = &DAT_004ee5df; do { bVar9 = (char)*piVar1 == *pcVar5; if (!bVar9) break; if ((char)*piVar1 == '\0') goto LAB_00445f0a; pcVar8 = (char *)((int)piVar1 + 1); bVar9 = *pcVar8 == pcVar5[1]; if (!bVar9) break; piVar1 = (int *)((int)piVar1 + 2); pcVar5 = pcVar5 + 2; bVar9 = *pcVar8 == '\0'; } while (!bVar9); if (!bVar9) { FUN_00445a6c((int)param_1,s_Missing_____004ee5e1); } LAB_00445f0a: FUN_00445808(param_1,local_18); local_6[1] = 3; FUN_004461c8((int)param_1,local_6 + 1,1); FUN_004461c8((int)param_1,(undefined1 *)local_18,8); } else { iVar2 = FUN_004d4b58((char *)piVar1,&DAT_004ee5ed); if (iVar2 == 0) { piVar1 = FUN_004453f4(param_1); pcVar5 = &DAT_004ee5f2; do { bVar9 = (char)*piVar1 == *pcVar5; if (!bVar9) break; if ((char)*piVar1 == '\0') goto LAB_00445f88; pcVar8 = (char *)((int)piVar1 + 1); bVar9 = *pcVar8 == pcVar5[1]; if (!bVar9) break; piVar1 = (int *)((int)piVar1 + 2); pcVar5 = pcVar5 + 2; bVar9 = *pcVar8 == '\0'; } while (!bVar9); if (!bVar9) { FUN_00445a6c((int)param_1,s_Missing_____004ee5f4); } LAB_00445f88: local_6[1] = 2; FUN_004461c8((int)param_1,local_6 + 1,1); piVar1 = FUN_004453f4(param_1); FUN_0044621c((int)param_1,(char *)piVar1); } else { piVar1 = FUN_004453f4(param_1); iVar2 = FUN_004d4b58((char *)piVar1,&DAT_004ee600); if (iVar2 == 0) { iVar2 = FUN_00446098(param_1,local_3c,param_2); if (iVar2 == 0) { FUN_00445a6c((int)param_1,s_Undefined_primitive_004ee602); } pcVar5 = &DAT_004ee616; piVar1 = FUN_004453f4(param_1); iVar2 = FUN_004d4b58((char *)piVar1,pcVar5); if (iVar2 != 0) { FUN_00445a6c((int)param_1,s_Missing_____004ee618); } } else { FUN_004456c4((int)param_1); local_6[1] = 4; FUN_004461c8((int)param_1,local_6 + 1,1); local_1c = FUN_00445218((undefined4 *)param_1[0x21],local_3c,param_1[0x25]); FUN_004461c8((int)param_1,(undefined1 *)&local_1c,4); } } } } } } pcVar5 = &DAT_004ee624; piVar1 = FUN_004453f4(param_1); iVar2 = FUN_004d4b58((char *)piVar1,pcVar5); if (iVar2 != 0) { FUN_00445a6c((int)param_1,s_Missing_____004ee626); } } while( true ); } /* @00446098 file=? name=FUN_00446098 */ undefined4 __cdecl FUN_00446098(int *param_1,char *param_2,int *param_3) { undefined4 *puVar1; bool bVar2; int iVar3; int *piVar4; int iVar5; char *pcVar6; int *local_14; int *local_10; char local_5; local_5 = '\b'; bVar2 = true; while( true ) { while( true ) { if (param_3 == (int *)0x0) { return 0; } puVar1 = (undefined4 *)*param_3; param_3 = param_3 + 1; if ((char *)*puVar1 != (char *)0x0) break; param_3 = (int *)puVar1[3]; } iVar3 = FUN_004d4b58((char *)*puVar1,param_2); if (iVar3 == 0) break; local_5 = local_5 + '\x01'; } iVar3 = 0; local_10 = puVar1 + 2; while( true ) { if (*local_10 == 0) { FUN_004461c8((int)param_1,&local_5,1); iVar3 = 0; for (local_14 = puVar1 + 2; *local_14 != 0; local_14 = local_14 + 0x11) { FUN_00446fdc(puVar1 + iVar3 * 0x11 + 2,(int)param_1); iVar3 = iVar3 + 1; } return 1; } if (bVar2) { bVar2 = false; } else { pcVar6 = &DAT_004ee632; piVar4 = FUN_004453f4(param_1); iVar5 = FUN_004d4b58((char *)piVar4,pcVar6); if (iVar5 != 0) { FUN_00445a6c((int)param_1,s_Missing_____004ee634); return 0; } } iVar5 = FUN_00446cc0(puVar1 + iVar3 * 0x11 + 2,puVar1 + iVar3 * 0x11 + 2,param_1); if (iVar5 == 0) break; iVar3 = iVar3 + 1; local_10 = local_10 + 0x11; } FUN_00445a6c((int)param_1,s_Wrong_or_missing_parameter_004ee640); return 0; } /* @004461c8 file=? name=FUN_004461c8 */ void __cdecl FUN_004461c8(int param_1,undefined1 *param_2,int param_3) { undefined1 uVar1; int iVar2; for (; param_3 != 0; param_3 = param_3 + -1) { iVar2 = *(int *)(param_1 + 0x94); *(int *)(param_1 + 0x94) = *(int *)(param_1 + 0x94) + 1; uVar1 = *param_2; param_2 = param_2 + 1; *(undefined1 *)(*(int *)(param_1 + 0x90) + iVar2) = uVar1; } return; } /* @004461fc file=? name=FUN_004461fc */ int __cdecl FUN_004461fc(int param_1,int param_2) { int iVar1; iVar1 = *(int *)(param_1 + 0x94); *(int *)(param_1 + 0x94) = *(int *)(param_1 + 0x94) + param_2; return *(int *)(param_1 + 0x90) + iVar1; } /* @0044621c file=? name=FUN_0044621c */ void __cdecl FUN_0044621c(int param_1,char *param_2) { int iVar1; ushort local_6; iVar1 = FUN_004d4a78(param_2); local_6 = (short)iVar1 + 1; FUN_004461c8(param_1,(undefined1 *)&local_6,2); FUN_004461c8(param_1,param_2,(uint)local_6); return; } /* @00446258 file=? name=FUN_00446258 */ int __cdecl FUN_00446258(int param_1) { int iVar1; ushort *puVar2; puVar2 = (ushort *)FUN_004461fc(param_1,2); iVar1 = *(int *)(param_1 + 0x94); *(int *)(param_1 + 0x94) = *(int *)(param_1 + 0x94) + (uint)*puVar2; return *(int *)(param_1 + 0x90) + iVar1; } /* @00446288 file=? name=FUN_00446288 */ void __cdecl FUN_00446288(int param_1,char *param_2,int param_3,int param_4,int param_5,int param_6,int param_7) { int iVar1; iVar1 = FUN_00445280(*(undefined4 **)(param_1 + 0x84),param_2); if (iVar1 < 0) { FUN_004dbb24(&DAT_00524e20,s_GaugeInterpreter__undefined_labe_004ee65b,(char *)0x0); FUN_004dbb24(&DAT_00524e20,param_2,(char *)0x0); FUN_004dbb24(&DAT_00524e20,&DAT_004ee67f,(char *)0x0); } else { FUN_00446310(param_1,iVar1,param_3,param_4,param_5,param_6,param_7); } return; } /* @00446310 file=? name=FUN_00446310 */ void __cdecl FUN_00446310(int param_1,undefined4 param_2,int param_3,int param_4,int param_5,int param_6, int param_7) { byte bVar1; undefined4 uVar2; uint uVar3; bool bVar4; char *pcVar5; int *piVar6; byte *pbVar7; int iVar8; undefined4 *puVar9; uint *puVar10; int local_c; int local_8; bVar4 = true; *(undefined4 *)(param_1 + 0x94) = param_2; local_c = param_5; local_8 = param_6; do { pcVar5 = (char *)FUN_004461fc(param_1,1); switch(*pcVar5) { case '\0': case '\x01': bVar4 = false; break; case '\x02': pcVar5 = (char *)FUN_00446258(param_1); pcVar5 = FUN_004464d4(param_1,pcVar5); iVar8 = FUN_00447f1c(param_3,pcVar5); if (-1 < iVar8) { param_4 = iVar8; } break; case '\x03': piVar6 = (int *)FUN_004461fc(param_1,8); local_c = param_5 + *piVar6; local_8 = param_6 + piVar6[1]; break; case '\x04': puVar9 = (undefined4 *)FUN_004461fc(param_1,4); uVar2 = *(undefined4 *)(param_1 + 0x94); FUN_00446310(param_1,*puVar9,param_3,param_4,local_c,local_8,param_7); *(undefined4 *)(param_1 + 0x94) = uVar2; break; case '\x05': puVar10 = (uint *)FUN_004461fc(param_1,4); uVar3 = *puVar10; iVar8 = *(int *)(DAT_004efc94 + 0x50); *(undefined4 *)(iVar8 + 8) = *(undefined4 *)(iVar8 + 4); *(uint *)(iVar8 + 4) = *(uint *)(iVar8 + 4) | uVar3; break; case '\x06': puVar10 = (uint *)FUN_004461fc(param_1,4); uVar3 = *puVar10; iVar8 = *(int *)(DAT_004efc94 + 0x50); *(undefined4 *)(iVar8 + 8) = *(undefined4 *)(iVar8 + 4); *(uint *)(iVar8 + 4) = *(uint *)(iVar8 + 4) & ~uVar3; break; case '\a': pbVar7 = (byte *)FUN_004461fc(param_1,1); bVar1 = *pbVar7; iVar8 = FUN_00446258(param_1); *(int *)(param_1 + 0x98 + (uint)bVar1 * 4) = iVar8; break; default: FUN_004477c4(*(int *)(*(int *)(param_1 + 0x88) + (uint)(byte)(*pcVar5 - 8) * 4),param_4, local_c,local_8,param_7,param_3); } } while (bVar4); return; } /* @004464d4 file=? name=FUN_004464d4 */ char * __cdecl FUN_004464d4(int param_1,char *param_2) { byte bVar1; if (((*param_2 == '@') && (bVar1 = param_2[1], 0x2f < bVar1)) && (bVar1 < 0x3a)) { param_2 = *(char **)(param_1 + -0x28 + (uint)bVar1 * 4); } return param_2; } /* @004464fc file=? name=FUN_004464fc */ void __cdecl FUN_004464fc(int param_1) { byte bVar1; undefined4 *puVar2; char *pcVar3; int *piVar4; byte *pbVar5; uint *puVar6; undefined *puVar7; uint uVar8; int local_1c; uint local_c; uint local_8; *(undefined4 *)(param_1 + 0x94) = 0; do { pcVar3 = (char *)FUN_004452c4(*(int **)(param_1 + 0x84),*(int *)(param_1 + 0x94)); if (pcVar3 != (char *)0x0) { FUN_004dbb24(&DAT_00524e20,pcVar3,(char *)0x0); FUN_004dbb24(&DAT_00524e20,&DAT_004ee682,(char *)0x0); } uVar8 = *(uint *)(param_1 + 0x94); puVar7 = &LAB_004d9ca4; FUN_004dbb24(&DAT_00524e20,&DAT_004ee685,(char *)0x0); piVar4 = FUN_004dbaa8(&DAT_00524e20,puVar7); piVar4 = FUN_004db78c(piVar4,uVar8); FUN_004dbb24(piVar4,&DAT_004ee689,(char *)0x0); pbVar5 = (byte *)FUN_004461fc(param_1,1); bVar1 = *pbVar5; switch(bVar1) { case 0: FUN_004dbb24(&DAT_00524e20,s__________End_of_table__________004ee68b,(char *)0x0); break; case 1: FUN_004dbb24(&DAT_00524e20,s_return_004ee6ab,(char *)0x0); break; case 2: pcVar3 = (char *)FUN_00446258(param_1); FUN_004dbb24(&DAT_00524e20,s_setport___004ee6b3,(char *)0x0); FUN_004dbb24(&DAT_00524e20,pcVar3,(char *)0x0); FUN_004dbb24(&DAT_00524e20,&DAT_004ee6bd,(char *)0x0); break; case 3: puVar6 = (uint *)FUN_004461fc(param_1,8); local_c = *puVar6; local_8 = puVar6[1]; puVar6 = &local_c; puVar7 = &LAB_004d9c84; FUN_004dbb24(&DAT_00524e20,s_offset_004ee6c0,(char *)0x0); piVar4 = FUN_004dbaa8(&DAT_00524e20,puVar7); piVar4 = (int *)FUN_00407f08(piVar4,puVar6); FUN_004dbb24(piVar4,&DAT_004ee6c8,(char *)0x0); break; case 4: puVar6 = (uint *)FUN_004461fc(param_1,4); uVar8 = *puVar6; FUN_004dbb24(&DAT_00524e20,s_call_0x_004ee6ca,(char *)0x0); piVar4 = FUN_004db78c(&DAT_00524e20,uVar8); FUN_004dbb24(piVar4,&DAT_004ee6d2,(char *)0x0); pcVar3 = (char *)FUN_004452c4(*(int **)(param_1 + 0x84),uVar8); if (pcVar3 == (char *)0x0) { FUN_004dbb24(&DAT_00524e20,s_UNDEFINED_____004ee6d5,(char *)0x0); } else { FUN_004dbb24(&DAT_00524e20,pcVar3,(char *)0x0); FUN_004dbb24(&DAT_00524e20,&DAT_004ee6e4,(char *)0x0); } break; case 5: puVar6 = (uint *)FUN_004461fc(param_1,4); uVar8 = *puVar6; FUN_004dbb24(&DAT_00524e20,s_enable_0x_004ee6e7,(char *)0x0); piVar4 = FUN_004db880(&DAT_00524e20,uVar8); FUN_004dbb24(piVar4,&DAT_004ee6f1,(char *)0x0); break; case 6: puVar6 = (uint *)FUN_004461fc(param_1,4); uVar8 = *puVar6; FUN_004dbb24(&DAT_00524e20,s_disable_0x_004ee6f3,(char *)0x0); piVar4 = FUN_004db880(&DAT_00524e20,uVar8); FUN_004dbb24(piVar4,&DAT_004ee6fe,(char *)0x0); break; default: puVar2 = *(undefined4 **)(*(int *)(param_1 + 0x88) + -0x20 + (uint)bVar1 * 4); FUN_004dbb24(&DAT_00524e20,(char *)*puVar2,(char *)0x0); FUN_004dbb24(&DAT_00524e20,&DAT_004ee700,(char *)0x0); local_1c = 0; for (piVar4 = puVar2 + 2; *piVar4 != 0; piVar4 = piVar4 + 0x11) { FUN_004472ec(puVar2 + local_1c * 0x11 + 2,param_1,s__004ee703); local_1c = local_1c + 1; } } } while (bVar1 != 0); return; } /* @00446860 file=? name=FUN_00446860 */ void __cdecl FUN_00446860(int *param_1,byte param_2) { if ((param_1 != (int *)0x0) && ((param_2 & 1) != 0)) { FUN_004022d0(param_1); } return; } /* @0044687c file=? name=FUN_0044687c */ void FUN_0044687c(void) { return; } /* @00446884 file=? name=FUN_00446884 */ void __cdecl FUN_00446884(uint *param_1,char *param_2) { float fVar1; uint uVar2; uint uVar3; uint uVar4; int *piVar5; int iVar6; uint uVar7; undefined *puVar8; undefined1 uVar9; undefined1 uVar10; undefined2 uVar11; uVar9 = 0x84; uVar10 = 0x9c; uVar11 = 0x4d; FUN_004dbb24(&DAT_00524e20,param_2,(char *)0x0); FUN_004dbb24(&DAT_00524e20,s_ParameterDescription__004ee70e,(char *)0x0); FUN_004dbaa8(&DAT_00524e20,(undefined *)CONCAT22(uVar11,CONCAT11(uVar10,uVar9))); switch(*param_1) { case 0: FUN_004dbb24(&DAT_00524e20,s_empty_004ee724,(char *)0x0); break; case 1: FUN_004dbb24(&DAT_00524e20,s_rate__004ee72a,(char *)0x0); iVar6 = 0x41; uVar7 = 0x10000; do { if ((param_1[1] & uVar7) != 0) { FUN_004db92c(&DAT_00524e20,(byte)iVar6); } iVar6 = iVar6 + 1; uVar7 = uVar7 * 2; } while (iVar6 < 0x51); break; case 2: uVar9 = 0x84; uVar10 = 0x9c; uVar11 = 0x4d; uVar7 = param_1[1]; piVar5 = FUN_004dbaa8(&DAT_00524e20,&LAB_004d9ca4); FUN_004dbb24(piVar5,s_modeMask__004ee730,(char *)0x0); piVar5 = FUN_004db880(piVar5,uVar7); FUN_004dbaa8(piVar5,(undefined *)CONCAT22(uVar11,CONCAT11(uVar10,uVar9))); break; case 3: uVar7 = param_1[1]; FUN_004dbb24(&DAT_00524e20,s_integer__004ee73a,(char *)0x0); FUN_004db78c(&DAT_00524e20,uVar7); break; case 4: uVar9 = 0x84; uVar10 = 0x9c; uVar11 = 0x4d; uVar7 = param_1[1]; puVar8 = &LAB_004d9ca4; FUN_004dbb24(&DAT_00524e20,s_color_0x_004ee743,(char *)0x0); piVar5 = FUN_004dbaa8(&DAT_00524e20,puVar8); piVar5 = FUN_004db78c(piVar5,uVar7); FUN_004dbaa8(piVar5,(undefined *)CONCAT22(uVar11,CONCAT11(uVar10,uVar9))); break; case 5: fVar1 = (float)param_1[1]; FUN_004dbb24(&DAT_00524e20,s_scalar__004ee74c,(char *)0x0); FUN_004db634(&DAT_00524e20,(float10)fVar1); break; case 6: uVar7 = param_1[2]; uVar2 = param_1[1]; FUN_004dbb24(&DAT_00524e20,s_vector____004ee754,(char *)0x0); piVar5 = FUN_004db78c(&DAT_00524e20,uVar2); FUN_004dbb24(piVar5,&DAT_004ee75e,(char *)0x0); piVar5 = FUN_004db78c(piVar5,uVar7); FUN_004dbb24(piVar5,&DAT_004ee761,(char *)0x0); break; case 7: uVar7 = param_1[4]; uVar2 = param_1[3]; uVar3 = param_1[2]; uVar4 = param_1[1]; FUN_004dbb24(&DAT_00524e20,s_rectangle_____004ee763,(char *)0x0); piVar5 = FUN_004db78c(&DAT_00524e20,uVar4); FUN_004dbb24(piVar5,&DAT_004ee771,(char *)0x0); piVar5 = FUN_004db78c(piVar5,uVar3); FUN_004dbb24(piVar5,&DAT_004ee774,(char *)0x0); piVar5 = FUN_004db78c(piVar5,uVar2); FUN_004dbb24(piVar5,&DAT_004ee778,(char *)0x0); piVar5 = FUN_004db78c(piVar5,uVar7); FUN_004dbb24(piVar5,&DAT_004ee77b,(char *)0x0); break; case 8: if (param_1 + 1 == (uint *)0x0) { FUN_004dbb24(&DAT_00524e20,s_attribute_NULL_004ee77d,(char *)0x0); } else { FUN_004dbb24(&DAT_00524e20,s_attribute_<_004ee78d,(char *)0x0); FUN_004dbb24(&DAT_00524e20,(char *)(param_1 + 1),(char *)0x0); FUN_004dbb24(&DAT_00524e20,&DAT_004ee799,(char *)0x0); } break; case 9: if (param_1 + 1 == (uint *)0x0) { FUN_004dbb24(&DAT_00524e20,s_string_NULL_004ee79b,(char *)0x0); } else { FUN_004dbb24(&DAT_00524e20,s_string_<_004ee7a8,(char *)0x0); FUN_004dbb24(&DAT_00524e20,(char *)(param_1 + 1),(char *)0x0); FUN_004dbb24(&DAT_00524e20,&DAT_004ee7b1,(char *)0x0); } break; default: uVar7 = *param_1; FUN_004dbb24(&DAT_00524e20,s_ILLEGAL_TYPE__004ee7b3,(char *)0x0); FUN_004db78c(&DAT_00524e20,uVar7); } FUN_004dbb24(&DAT_00524e20,&DAT_004ee7c1,(char *)0x0); return; } /* @00446c3c file=? name=FUN_00446c3c */ int __cdecl FUN_00446c3c(undefined4 param_1,char *param_2,int param_3) { char cVar1; int iVar2; uint uVar3; uint uVar4; char *pcVar5; char *pcVar6; char *pcVar7; char local_54 [80]; uVar3 = 0xffffffff; do { pcVar6 = param_2; if (uVar3 == 0) break; uVar3 = uVar3 - 1; pcVar6 = param_2 + 1; cVar1 = *param_2; param_2 = pcVar6; } while (cVar1 != '\0'); uVar3 = ~uVar3; pcVar6 = pcVar6 + -uVar3; pcVar7 = local_54; for (uVar4 = uVar3 >> 2; uVar4 != 0; uVar4 = uVar4 - 1) { *(undefined4 *)pcVar7 = *(undefined4 *)pcVar6; pcVar6 = pcVar6 + 4; pcVar7 = pcVar7 + 4; } for (uVar3 = uVar3 & 3; pcVar5 = local_54, uVar3 != 0; uVar3 = uVar3 - 1) { *pcVar7 = *pcVar6; pcVar6 = pcVar6 + 1; pcVar7 = pcVar7 + 1; } while( true ) { if (*pcVar5 == '\0') { iVar2 = FUN_0041bfc0(param_3,local_54); return iVar2; } if (*pcVar5 == '/') break; pcVar5 = pcVar5 + 1; } *pcVar5 = '\0'; iVar2 = FUN_0041f98c(param_3,local_54); if (iVar2 == 0) { return 0; } iVar2 = FUN_0041bfc0(iVar2,pcVar5 + 1); return iVar2; } /* @00446cc0 file=munga/gaugrend.cpp name=FUN_00446cc0 */ undefined4 __thiscall FUN_00446cc0(void *this,undefined4 *param_1,int *param_2) { char *pcVar1; int extraout_EAX; int iVar2; uint uVar3; uint uVar4; int *piVar5; uint uVar6; uint uVar7; char *pcVar8; undefined4 *puVar9; int *piVar10; bool bVar11; bool bVar12; bool bVar13; bool bVar14; bool bVar15; int local_c; undefined4 local_8; switch(*param_1) { case 0: FUN_0040385c(s_type____empty__004ee7c3,s_d__tesla_bt_munga_GAUGREND_CPP_004ee7d2,0x8a8); break; case 1: iVar2 = FUN_00445910(param_2,param_1 + 1); if (iVar2 != 0) { return 1; } break; case 2: FUN_00445978(param_2,param_1 + 1); if (extraout_EAX != 0) { return 1; } break; case 3: iVar2 = FUN_004456d4(param_2,param_1 + 1); if (iVar2 != 0) { return 1; } break; case 4: iVar2 = FUN_004456d4(param_2,param_1 + 1); if (((iVar2 != 0) && ((int)param_1[1] < 0x100)) && (-1 < (int)param_1[1])) { return 1; } break; case 5: iVar2 = FUN_004457a0(this,param_2,(float *)(param_1 + 1)); if (iVar2 != 0) { return 1; } break; case 6: iVar2 = FUN_00445808(param_2,&local_c); if (iVar2 != 0) { param_1[1] = local_c; param_1[2] = local_8; return 1; } break; case 7: piVar5 = FUN_004453f4(param_2); pcVar8 = &DAT_004ee7f1; do { bVar11 = (char)*piVar5 == *pcVar8; if ((!bVar11) || (bVar11 = true, (char)*piVar5 == '\0')) break; pcVar1 = (char *)((int)piVar5 + 1); bVar11 = *pcVar1 == pcVar8[1]; if (!bVar11) break; piVar5 = (int *)((int)piVar5 + 2); pcVar8 = pcVar8 + 2; bVar11 = *pcVar1 == '\0'; } while (!bVar11); uVar6 = FUN_004456d4(param_2,param_1 + 1); piVar5 = FUN_004453f4(param_2); pcVar8 = &DAT_004ee7f3; do { bVar12 = (char)*piVar5 == *pcVar8; if ((!bVar12) || (bVar12 = true, (char)*piVar5 == '\0')) break; pcVar1 = (char *)((int)piVar5 + 1); bVar12 = *pcVar1 == pcVar8[1]; if (!bVar12) break; piVar5 = (int *)((int)piVar5 + 2); pcVar8 = pcVar8 + 2; bVar12 = *pcVar1 == '\0'; } while (!bVar12); uVar7 = FUN_004456d4(param_2,param_1 + 2); piVar5 = FUN_004453f4(param_2); pcVar8 = &DAT_004ee7f5; do { bVar13 = (char)*piVar5 == *pcVar8; if ((!bVar13) || (bVar13 = true, (char)*piVar5 == '\0')) break; pcVar1 = (char *)((int)piVar5 + 1); bVar13 = *pcVar1 == pcVar8[1]; if (!bVar13) break; piVar5 = (int *)((int)piVar5 + 2); pcVar8 = pcVar8 + 2; bVar13 = *pcVar1 == '\0'; } while (!bVar13); uVar3 = FUN_004456d4(param_2,param_1 + 3); piVar5 = FUN_004453f4(param_2); pcVar8 = &DAT_004ee7f7; do { bVar14 = (char)*piVar5 == *pcVar8; if ((!bVar14) || (bVar14 = true, (char)*piVar5 == '\0')) break; pcVar1 = (char *)((int)piVar5 + 1); bVar14 = *pcVar1 == pcVar8[1]; if (!bVar14) break; piVar5 = (int *)((int)piVar5 + 2); pcVar8 = pcVar8 + 2; bVar14 = *pcVar1 == '\0'; } while (!bVar14); uVar4 = FUN_004456d4(param_2,param_1 + 4); piVar5 = FUN_004453f4(param_2); pcVar8 = &DAT_004ee7f9; do { bVar15 = (char)*piVar5 == *pcVar8; if ((!bVar15) || (bVar15 = true, (char)*piVar5 == '\0')) break; pcVar1 = (char *)((int)piVar5 + 1); bVar15 = *pcVar1 == pcVar8[1]; if (!bVar15) break; piVar5 = (int *)((int)piVar5 + 2); pcVar8 = pcVar8 + 2; bVar15 = *pcVar1 == '\0'; } while (!bVar15); if ((bVar11 & uVar6 & (uint)bVar12 & uVar7 & (uint)bVar13 & uVar3 & (uint)bVar14 & uVar4 & (uint)bVar15) != 0) { return 1; } break; case 8: piVar5 = FUN_004453f4(param_2); uVar6 = 0xffffffff; do { piVar10 = piVar5; if (uVar6 == 0) break; uVar6 = uVar6 - 1; piVar10 = (int *)((int)piVar5 + 1); iVar2 = *piVar5; piVar5 = piVar10; } while ((char)iVar2 != '\0'); uVar6 = ~uVar6; puVar9 = (undefined4 *)((int)piVar10 - uVar6); for (uVar7 = uVar6 >> 2; param_1 = param_1 + 1, uVar7 != 0; uVar7 = uVar7 - 1) { *param_1 = *puVar9; puVar9 = puVar9 + 1; } for (uVar6 = uVar6 & 3; uVar6 != 0; uVar6 = uVar6 - 1) { *(undefined1 *)param_1 = *(undefined1 *)puVar9; puVar9 = (undefined4 *)((int)puVar9 + 1); param_1 = (undefined4 *)((int)param_1 + 1); } return 1; case 9: piVar5 = FUN_004453f4(param_2); uVar6 = 0xffffffff; do { piVar10 = piVar5; if (uVar6 == 0) break; uVar6 = uVar6 - 1; piVar10 = (int *)((int)piVar5 + 1); iVar2 = *piVar5; piVar5 = piVar10; } while ((char)iVar2 != '\0'); uVar6 = ~uVar6; puVar9 = (undefined4 *)((int)piVar10 - uVar6); for (uVar7 = uVar6 >> 2; param_1 = param_1 + 1, uVar7 != 0; uVar7 = uVar7 - 1) { *param_1 = *puVar9; puVar9 = puVar9 + 1; } for (uVar6 = uVar6 & 3; uVar6 != 0; uVar6 = uVar6 - 1) { *(undefined1 *)param_1 = *(undefined1 *)puVar9; puVar9 = (undefined4 *)((int)puVar9 + 1); param_1 = (undefined4 *)((int)param_1 + 1); } return 1; default: FUN_0040385c(s_Illegal_type_004ee7fb,s_d__tesla_bt_munga_GAUGREND_CPP_004ee808,0x921); return 0; } return 0; } /* @00446fdc file=munga/gaugrend.cpp name=FUN_00446fdc */ void __cdecl FUN_00446fdc(undefined4 *param_1,int param_2) { switch(*param_1) { case 0: FUN_0040385c(s_type____empty__004ee827,s_d__tesla_bt_munga_GAUGREND_CPP_004ee836,0x939); break; case 1: FUN_004461c8(param_2,(undefined1 *)(param_1 + 1),4); break; case 2: FUN_004461c8(param_2,(undefined1 *)(param_1 + 1),4); break; case 3: FUN_004461c8(param_2,(undefined1 *)(param_1 + 1),4); break; case 4: FUN_004461c8(param_2,(undefined1 *)(param_1 + 1),4); break; case 5: FUN_004461c8(param_2,(undefined1 *)(param_1 + 1),4); break; case 6: FUN_004461c8(param_2,(undefined1 *)(param_1 + 1),4); FUN_004461c8(param_2,(undefined1 *)(param_1 + 2),4); break; case 7: FUN_004461c8(param_2,(undefined1 *)(param_1 + 1),4); FUN_004461c8(param_2,(undefined1 *)(param_1 + 2),4); FUN_004461c8(param_2,(undefined1 *)(param_1 + 3),4); FUN_004461c8(param_2,(undefined1 *)(param_1 + 4),4); break; case 8: FUN_0044621c(param_2,(char *)(param_1 + 1)); break; case 9: FUN_0044621c(param_2,(char *)(param_1 + 1)); break; default: FUN_0040385c(s_Illegal_type_004ee855,s_d__tesla_bt_munga_GAUGREND_CPP_004ee862,0x96f); } return; } /* @00447138 file=munga/gaugrend.cpp name=FUN_00447138 */ char * __cdecl FUN_00447138(undefined4 *param_1,int param_2,int param_3) { char cVar1; undefined4 *puVar2; char *pcVar3; char *pcVar4; uint uVar5; uint uVar6; char *pcVar7; switch(*param_1) { case 0: pcVar4 = (char *)FUN_0040385c(s_type____empty__004ee881, s_d__tesla_bt_munga_GAUGREND_CPP_004ee890,0x987); break; case 1: pcVar4 = (char *)FUN_004461fc(param_2,4); param_1[1] = *(undefined4 *)pcVar4; break; case 2: pcVar4 = (char *)FUN_004461fc(param_2,4); param_1[1] = *(undefined4 *)pcVar4; break; case 3: puVar2 = (undefined4 *)FUN_004461fc(param_2,4); pcVar4 = (char *)*puVar2; param_1[1] = pcVar4; break; case 4: pcVar4 = (char *)FUN_004461fc(param_2,4); param_1[1] = *(undefined4 *)pcVar4; break; case 5: pcVar4 = (char *)FUN_004461fc(param_2,4); param_1[1] = *(undefined4 *)pcVar4; break; case 6: puVar2 = (undefined4 *)FUN_004461fc(param_2,4); param_1[1] = *puVar2; pcVar4 = (char *)FUN_004461fc(param_2,4); param_1[2] = *(undefined4 *)pcVar4; break; case 7: puVar2 = (undefined4 *)FUN_004461fc(param_2,4); param_1[1] = *puVar2; puVar2 = (undefined4 *)FUN_004461fc(param_2,4); param_1[2] = *puVar2; puVar2 = (undefined4 *)FUN_004461fc(param_2,4); param_1[3] = *puVar2; pcVar4 = (char *)FUN_004461fc(param_2,4); param_1[4] = *(undefined4 *)pcVar4; break; case 8: pcVar4 = (char *)FUN_00446258(param_2); pcVar4 = FUN_004464d4(param_2,pcVar4); pcVar4 = (char *)FUN_00446c3c(param_1,pcVar4,param_3); param_1[1] = pcVar4; break; case 9: pcVar4 = (char *)FUN_00446258(param_2); pcVar3 = FUN_004464d4(param_2,pcVar4); pcVar4 = (char *)(param_1 + 1); uVar5 = 0xffffffff; do { pcVar7 = pcVar3; if (uVar5 == 0) break; uVar5 = uVar5 - 1; pcVar7 = pcVar3 + 1; cVar1 = *pcVar3; pcVar3 = pcVar7; } while (cVar1 != '\0'); uVar5 = ~uVar5; pcVar3 = pcVar7 + -uVar5; pcVar7 = pcVar4; for (uVar6 = uVar5 >> 2; uVar6 != 0; uVar6 = uVar6 - 1) { *(undefined4 *)pcVar7 = *(undefined4 *)pcVar3; pcVar3 = pcVar3 + 4; pcVar7 = pcVar7 + 4; } for (uVar5 = uVar5 & 3; uVar5 != 0; uVar5 = uVar5 - 1) { *pcVar7 = *pcVar3; pcVar3 = pcVar3 + 1; pcVar7 = pcVar7 + 1; } break; default: pcVar4 = (char *)FUN_0040385c(s_Illegal_type_004ee8af,s_d__tesla_bt_munga_GAUGREND_CPP_004ee8bc, 0x9e3); } return pcVar4; } /* @004472ec file=? name=FUN_004472ec */ void __cdecl FUN_004472ec(uint *param_1,int param_2,char *param_3) { uint uVar1; uint *puVar2; undefined4 *puVar3; char *pcVar4; int *piVar5; undefined2 uVar6; undefined2 uVar7; uint local_24; undefined4 local_20; undefined4 local_1c; undefined4 local_18; uint local_14; undefined4 local_10; float local_c; float local_8; FUN_004dbb24(&DAT_00524e20,param_3,(char *)0x0); switch(*param_1) { case 0: FUN_004dbb24(&DAT_00524e20,s____EMPTY____004ee8db,(char *)0x0); break; case 1: puVar2 = (uint *)FUN_004461fc(param_2,4); uVar1 = *puVar2; FUN_004dbb24(&DAT_00524e20,s_rate_004ee8e8,(char *)0x0); piVar5 = FUN_004db880(&DAT_00524e20,uVar1); FUN_004dbb24(piVar5,&DAT_004ee8ee,(char *)0x0); break; case 2: puVar3 = (undefined4 *)FUN_004461fc(param_2,4); uVar6 = (undefined2)*puVar3; uVar7 = (undefined2)((uint)*puVar3 >> 0x10); FUN_004dbb24(&DAT_00524e20,s_mask_004ee8f0,(char *)0x0); piVar5 = FUN_004db880(&DAT_00524e20,CONCAT22(uVar7,uVar6)); FUN_004dbb24(piVar5,&DAT_004ee8f6,(char *)0x0); break; case 3: puVar2 = (uint *)FUN_004461fc(param_2,4); uVar1 = *puVar2; piVar5 = FUN_004dbaa8(&DAT_00524e20,&LAB_004d9c84); FUN_004dbb24(piVar5,&DAT_004ee8f8,(char *)0x0); piVar5 = FUN_004db78c(piVar5,uVar1); FUN_004dbb24(piVar5,&DAT_004ee8fd,(char *)0x0); break; case 4: puVar2 = (uint *)FUN_004461fc(param_2,4); uVar1 = *puVar2; FUN_004dbb24(&DAT_00524e20,s_color_0x_004ee8ff,(char *)0x0); piVar5 = FUN_004db78c(&DAT_00524e20,uVar1); FUN_004dbb24(piVar5,&DAT_004ee908,(char *)0x0); break; case 5: piVar5 = (int *)FUN_004461fc(param_2,4); local_c = (float)*piVar5; local_8 = local_c; piVar5 = FUN_004dbaa8(&DAT_00524e20,&LAB_004d9c84); FUN_004dbb24(piVar5,s_scalar_004ee90a,(char *)0x0); piVar5 = FUN_004db634(piVar5,(float10)local_c); FUN_004dbb24(piVar5,&DAT_004ee912,(char *)0x0); break; case 6: puVar2 = (uint *)FUN_004461fc(param_2,4); local_14 = *puVar2; puVar3 = (undefined4 *)FUN_004461fc(param_2,4); local_10 = *puVar3; puVar2 = &local_14; piVar5 = FUN_004dbaa8(&DAT_00524e20,&LAB_004d9c84); FUN_004dbb24(piVar5,s_vector_004ee914,(char *)0x0); piVar5 = (int *)FUN_00407f08(piVar5,puVar2); FUN_004dbb24(piVar5,&DAT_004ee91c,(char *)0x0); break; case 7: FUN_00407b9c(&local_24); puVar2 = (uint *)FUN_004461fc(param_2,4); local_24 = *puVar2; puVar3 = (undefined4 *)FUN_004461fc(param_2,4); local_20 = *puVar3; puVar3 = (undefined4 *)FUN_004461fc(param_2,4); local_1c = *puVar3; puVar3 = (undefined4 *)FUN_004461fc(param_2,4); local_18 = *puVar3; puVar2 = &local_24; piVar5 = FUN_004dbaa8(&DAT_00524e20,&LAB_004d9c84); FUN_004dbb24(piVar5,s_rectangle_004ee91e,(char *)0x0); piVar5 = (int *)FUN_00407d78(piVar5,puVar2); FUN_004dbb24(piVar5,&DAT_004ee929,(char *)0x0); break; case 8: pcVar4 = (char *)FUN_00446258(param_2); FUN_004dbb24(&DAT_00524e20,s_attribute___004ee92b,(char *)0x0); FUN_004dbb24(&DAT_00524e20,pcVar4,(char *)0x0); FUN_004dbb24(&DAT_00524e20,&DAT_004ee937,(char *)0x0); break; case 9: pcVar4 = (char *)FUN_00446258(param_2); FUN_004dbb24(&DAT_00524e20,s_string___004ee93a,(char *)0x0); FUN_004dbb24(&DAT_00524e20,pcVar4,(char *)0x0); FUN_004dbb24(&DAT_00524e20,&DAT_004ee943,(char *)0x0); break; default: uVar1 = *param_1; FUN_004dbb24(&DAT_00524e20,s_ILLEGAL_TYPE__004ee946,(char *)0x0); piVar5 = FUN_004db78c(&DAT_00524e20,uVar1); FUN_004dbb24(piVar5,&DAT_004ee954,(char *)0x0); } return; } /* @004476ac file=? name=FUN_004476ac */ void __cdecl FUN_004476ac(undefined4 *param_1,char *param_2) { char *pcVar1; int iVar2; int *piVar3; undefined8 uVar4; uint uVar5; char local_54 [80]; FUN_004dbb24(&DAT_00524e20,param_2,(char *)0x0); FUN_004dbb24(&DAT_00524e20,s_MethodDescription__004ee958,(char *)0x0); pcVar1 = (char *)*param_1; FUN_004dbb24(&DAT_00524e20,param_2,(char *)0x0); FUN_004dbb24(&DAT_00524e20,s_name___004ee96c,(char *)0x0); FUN_004dbb24(&DAT_00524e20,pcVar1,(char *)0x0); FUN_004dbb24(&DAT_00524e20,&DAT_004ee975,(char *)0x0); uVar5 = param_1[1]; FUN_004dbb24(&DAT_00524e20,param_2,(char *)0x0); FUN_004dbb24(&DAT_00524e20,s_execute__004ee977,(char *)0x0); uVar4 = FUN_004dbd4c(&DAT_00524e20,uVar5); FUN_004dbb24((int *)uVar4,&DAT_004ee980,(char *)0x0); iVar2 = 0; piVar3 = param_1 + 2; do { if (*piVar3 == 0) { return; } FUN_004d7f10(local_54,s__s_2d__004ee982); FUN_00446884(param_1 + iVar2 * 0x11 + 2,local_54); iVar2 = iVar2 + 1; piVar3 = piVar3 + 0x11; } while (iVar2 < 0x10); return; } /* @004477c4 file=? name=FUN_004477c4 */ void __cdecl FUN_004477c4(int param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,int param_5, int param_6) { int *piVar1; int iVar2; iVar2 = 0; for (piVar1 = (int *)(param_1 + 8); *piVar1 != 0; piVar1 = piVar1 + 0x11) { FUN_00447138((undefined4 *)(iVar2 * 0x44 + param_1 + 8),*(int *)(param_6 + 0x50),param_5); iVar2 = iVar2 + 1; } (**(code **)(param_1 + 4))(param_2,param_3,param_4,param_5,param_6); return; } /* @00447828 file=? name=FUN_00447828 */ void __cdecl FUN_00447828(undefined4 *param_1) { *param_1 = 0; param_1[1] = 0; param_1[2] = 0; return; } /* @00447840 file=? name=FUN_00447840 */ void __cdecl FUN_00447840(int *param_1,float param_2) { *param_1 = *param_1 + 1; param_1[1] = (int)(param_2 + (float)param_1[1]); if ((float)param_1[2] < param_2) { param_1[2] = (int)param_2; } return; } /* @00447864 file=? name=FUN_00447864 */ float10 __cdecl FUN_00447864(int *param_1) { float local_8; if (*param_1 < 1) { local_8 = 0.0; } else { local_8 = (float)param_1[1] / (float)*param_1; } return (float10)local_8; } /* @00447890 file=? name=FUN_00447890 */ undefined4 * __cdecl FUN_00447890(undefined4 *param_1) { undefined4 *puVar1; int iVar2; int iVar3; float10 fVar4; undefined4 uVar5; undefined4 uVar6; undefined4 uVar7; undefined4 uVar8; undefined4 uVar9; undefined *puVar10; puVar10 = &DAT_004e82f8; uVar9 = 0x24; uVar8 = 1; uVar7 = 2; uVar6 = 1; uVar5 = DAT_004e823c; fVar4 = FUN_0044e19c(DAT_004efc94); FUN_00435d30(param_1,(float)fVar4,uVar5,uVar6,uVar7,uVar8,uVar9,puVar10); *param_1 = &PTR_FUN_004eeb70; FUN_00443474(param_1 + 0x25); FUN_004437d8(param_1 + 0x2c); param_1[0x7032] = 0; FUN_00448997(param_1 + 0x7036,0); FUN_00448997(param_1 + 0x703b,0); FUN_00448997(param_1 + 0x7040,0); param_1[0x7046] = 0; param_1[0x7035] = 0; iVar3 = 0; puVar1 = param_1 + 0x15; do { iVar3 = iVar3 + 1; *puVar1 = 0; puVar1 = puVar1 + 1; } while (iVar3 < 0x10); param_1[0x7049] = DAT_004ee2c8; DAT_004ee2c8 = param_1; param_1[0x7047] = 0; param_1[0x7048] = 0; param_1[0x13] = 0; puVar1 = (undefined4 *)FUN_00402298(0xc0); if (puVar1 == (undefined4 *)0x0) { puVar1 = (undefined4 *)0x0; } else { puVar1 = FUN_00445314(puVar1); } param_1[0x14] = puVar1; param_1[0x7033] = 0; param_1[0x7034] = 0; puVar1 = (undefined4 *)FUN_00402298(0x14); if (puVar1 == (undefined4 *)0x0) { puVar1 = (undefined4 *)0x0; } else { puVar1 = FUN_004014d9(puVar1,(int)(param_1 + 0x703b)); } param_1[0x7045] = puVar1; iVar3 = 0; puVar1 = param_1 + 0x704a; do { iVar3 = iVar3 + 1; *puVar1 = 0; puVar1 = puVar1 + 1; } while (iVar3 < 0x10); iVar3 = 0; do { iVar2 = 0; do { FUN_00447828(param_1 + iVar3 * 0xf + iVar2 * 3 + 0x705a); iVar2 = iVar2 + 1; } while (iVar2 < 5); iVar3 = iVar3 + 1; } while (iVar3 < 0x10); return param_1; } /* @00447a14 file=? name=FUN_00447a14 */ void __cdecl FUN_00447a14(int *param_1,byte param_2) { undefined4 *puVar1; int *piVar2; int *piVar3; if (param_1 != (int *)0x0) { *param_1 = (int)&PTR_FUN_004eeb70; (**(code **)(*param_1 + 0x34))(param_1); FUN_00445390((int *)param_1[0x14],3); puVar1 = (undefined4 *)param_1[0x7033]; if ((puVar1 != (undefined4 *)0x0) && (puVar1 != (undefined4 *)0x0)) { (**(code **)*puVar1)(puVar1,3); } puVar1 = (undefined4 *)param_1[0x7032]; if ((puVar1 != (undefined4 *)0x0) && (puVar1 != (undefined4 *)0x0)) { (**(code **)*puVar1)(puVar1,3); } puVar1 = (undefined4 *)param_1[0x7045]; if (puVar1 != (undefined4 *)0x0) { (**(code **)*puVar1)(puVar1,3); } param_1[0x7045] = 0; piVar2 = (int *)0x0; for (piVar3 = DAT_004ee2c8; piVar3 != (int *)0x0; piVar3 = (int *)piVar3[0x7049]) { if (param_1 == piVar3) { if (piVar2 == (int *)0x0) { DAT_004ee2c8 = (int *)param_1[0x7049]; } else { piVar2[0x7049] = param_1[0x7049]; } break; } piVar2 = piVar3; } FUN_004489b6(param_1 + 0x7040,2); FUN_004489b6(param_1 + 0x703b,2); FUN_004489b6(param_1 + 0x7036,2); FUN_0044381c(param_1 + 0x2c,2); FUN_004434a0(param_1 + 0x25,2); FUN_00435df8(param_1,0); if ((param_2 & 1) != 0) { FUN_004022d0(param_1); } } return; } /* @00447b38 file=? name=FUN_00447b38 */ void FUN_00447b38(void) { int *piVar1; for (piVar1 = DAT_004ee2c8; piVar1 != (int *)0x0; piVar1 = (int *)piVar1[0x7049]) { (**(code **)(*piVar1 + 0x48))(piVar1); } return; } /* @00447b58 file=? name=FUN_00447b58 */ void FUN_00447b58(void) { return; } /* @00447b60 file=? name=FUN_00447b60 */ void __cdecl FUN_00447b60(int param_1) { FUN_00435e48(param_1); return; } /* @00447b70 file=? name=FUN_00447b70 */ void __cdecl FUN_00447b70(int *param_1,int param_2) { int *piVar1; int local_40 [5]; int local_2c [5]; int local_18 [5]; if (param_1[0x7046] == 0) { FUN_004014d9(local_18,(int)(param_1 + 0x7036)); while( true ) { piVar1 = (int *)(**(code **)(local_18[0] + 0x28))(local_18); if (piVar1 == (int *)0x0) break; (**(code **)(*piVar1 + 0x24))(piVar1,param_2); } FUN_00401517(local_18,2); FUN_004014d9(local_2c,(int)(param_1 + 0x703b)); while( true ) { piVar1 = (int *)(**(code **)(local_2c[0] + 0x28))(local_2c); if (piVar1 == (int *)0x0) break; (**(code **)(*piVar1 + 0x24))(piVar1,param_2); } FUN_00401517(local_2c,2); FUN_004014d9(local_40,(int)(param_1 + 0x7040)); while( true ) { piVar1 = (int *)(**(code **)(local_40[0] + 0x28))(local_40); if (piVar1 == (int *)0x0) break; (**(code **)(*piVar1 + 0x24))(piVar1,param_2); } FUN_00401517(local_40,2); } FUN_00435e70(param_1,param_2); return; } /* @00447c58 file=? name=FUN_00447c58 */ void __cdecl FUN_00447c58(int param_1,undefined4 param_2) { int *piVar1; int local_40 [5]; int local_2c [5]; int local_18 [5]; if (*(int *)(param_1 + 0x1c118) == 0) { FUN_004014d9(local_18,param_1 + 0x1c0d8); while( true ) { piVar1 = (int *)(**(code **)(local_18[0] + 0x28))(local_18); if (piVar1 == (int *)0x0) break; (**(code **)(*piVar1 + 0x28))(piVar1,param_2); } FUN_00401517(local_18,2); FUN_004014d9(local_2c,param_1 + 0x1c0ec); while( true ) { piVar1 = (int *)(**(code **)(local_2c[0] + 0x28))(local_2c); if (piVar1 == (int *)0x0) break; (**(code **)(*piVar1 + 0x28))(piVar1,param_2); } FUN_00401517(local_2c,2); FUN_004014d9(local_40,param_1 + 0x1c100); while( true ) { piVar1 = (int *)(**(code **)(local_40[0] + 0x28))(local_40); if (piVar1 == (int *)0x0) break; (**(code **)(*piVar1 + 0x28))(piVar1,param_2); } FUN_00401517(local_40,2); } return; } /* @00447d38 file=? name=FUN_00447d38 */ void __cdecl FUN_00447d38(int param_1,undefined4 param_2) { int *piVar1; int local_40 [5]; int local_2c [5]; int local_18 [5]; if (*(int *)(param_1 + 0x1c118) == 0) { FUN_004014d9(local_18,param_1 + 0x1c0d8); while( true ) { piVar1 = (int *)(**(code **)(local_18[0] + 0x28))(local_18); if (piVar1 == (int *)0x0) break; (**(code **)(*piVar1 + 0x2c))(piVar1,param_2); } FUN_00401517(local_18,2); FUN_004014d9(local_2c,param_1 + 0x1c0ec); while( true ) { piVar1 = (int *)(**(code **)(local_2c[0] + 0x28))(local_2c); if (piVar1 == (int *)0x0) break; (**(code **)(*piVar1 + 0x2c))(piVar1,param_2); } FUN_00401517(local_2c,2); FUN_004014d9(local_40,param_1 + 0x1c100); while( true ) { piVar1 = (int *)(**(code **)(local_40[0] + 0x28))(local_40); if (piVar1 == (int *)0x0) break; (**(code **)(*piVar1 + 0x2c))(piVar1,param_2); } FUN_00401517(local_40,2); } return; } /* @00447e18 file=? name=FUN_00447e18 */ void __cdecl FUN_00447e18(int param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,int param_5) { FUN_00448d00(*(int **)(param_1 + 0x1c0cc),param_2,param_3,param_4,param_5); return; } /* @00447e40 file=? name=FUN_00447e40 */ void __cdecl FUN_00447e40(int param_1,int param_2,int param_3,int param_4) { FUN_00448e00(*(int *)(param_1 + 0x1c0cc),param_2,param_3,param_4); return; } /* @00447e64 file=? name=FUN_00447e64 */ void FUN_00447e64(void) { return; } /* @00447e6c file=? name=FUN_00447e6c */ void __cdecl FUN_00447e6c(int param_1) { undefined4 *puVar1; int *piVar2; int iVar3; if (*(int *)(param_1 + 0x1c0cc) != 0) { FUN_00448cb0(*(int *)(param_1 + 0x1c0cc)); } FUN_00447fc0(param_1,0); if (*(int *)(param_1 + 0x1c0c8) != 0) { FUN_00444d6c(*(int *)(param_1 + 0x1c0c8)); } piVar2 = *(int **)(param_1 + 0x4c); if (piVar2 != (int *)0x0) { (**(code **)(*piVar2 + 4))(piVar2); } FUN_004435ac(param_1 + 0x94); FUN_00443998((undefined4 *)(param_1 + 0xb0)); piVar2 = (int *)(param_1 + 0x54); iVar3 = 0; do { puVar1 = (undefined4 *)*piVar2; if (puVar1 != (undefined4 *)0x0) { if (puVar1 != (undefined4 *)0x0) { (**(code **)*puVar1)(puVar1,3); } *piVar2 = 0; } iVar3 = iVar3 + 1; piVar2 = piVar2 + 1; } while (iVar3 < 0x10); return; } /* @00447ef8 file=? name=FUN_00447ef8 */ void __cdecl FUN_00447ef8(int param_1) { *(undefined4 *)(param_1 + 0x1c118) = 1; return; } /* @00447f0c file=? name=FUN_00447f0c */ void __cdecl FUN_00447f0c(int param_1) { *(undefined4 *)(param_1 + 0x1c118) = 0; return; } /* @00447f1c file=? name=FUN_00447f1c */ int __cdecl FUN_00447f1c(int param_1,char *param_2) { int iVar1; int *piVar2; int iVar3; if (param_2 != (char *)0x0) { iVar3 = 0; piVar2 = (int *)(param_1 + 0x54); do { if ((*piVar2 != 0) && (iVar1 = FUN_004d4b58((char *)(*piVar2 + 0x18),param_2), iVar1 == 0)) { return iVar3; } iVar3 = iVar3 + 1; piVar2 = piVar2 + 1; } while (iVar3 < 0x10); } return -1; } /* @00447f60 file=? name=FUN_00447f60 */ undefined4 __cdecl FUN_00447f60(int param_1,char *param_2) { int iVar1; iVar1 = FUN_00447f1c(param_1,param_2); if (-1 < iVar1) { return *(undefined4 *)(param_1 + 0x54 + iVar1 * 4); } return 0; } /* @00447f84 file=? name=FUN_00447f84 */ undefined4 __cdecl FUN_00447f84(int param_1,int param_2) { if ((-1 < param_2) && (param_2 < 0x10)) { return *(undefined4 *)(param_1 + 0x54 + param_2 * 4); } return 0; } /* @00447fa0 file=? name=FUN_00447fa0 */ void __cdecl FUN_00447fa0(int param_1,undefined4 param_2) { (**(code **)(*(int *)(param_1 + 0x1c0d8) + 4))(param_1 + 0x1c0d8,param_2); return; } /* @00447fc0 file=? name=FUN_00447fc0 */ void __cdecl FUN_00447fc0(int param_1,int param_2) { int *piVar1; undefined4 *puVar2; int local_2c [5]; int local_18 [5]; FUN_004014d9(local_18,param_1 + 0x1c0ec); while( true ) { piVar1 = (int *)(**(code **)(local_18[0] + 0x30))(local_18); if (piVar1 == (int *)0x0) break; if ((param_2 == 0) || (param_2 == piVar1[5])) { (**(code **)(*piVar1 + 0x20))(piVar1,0xffff); (**(code **)(local_18[0] + 0x48))(local_18); if (piVar1 != (int *)0x0) { (**(code **)*piVar1)(piVar1,3); } } else { (**(code **)(local_18[0] + 0xc))(local_18); } } FUN_00401517(local_18,2); FUN_004014d9(local_2c,param_1 + 0x1c100); while( true ) { puVar2 = (undefined4 *)(**(code **)(local_2c[0] + 0x30))(local_2c); if (puVar2 == (undefined4 *)0x0) break; if ((param_2 == 0) || (param_2 == puVar2[5])) { (**(code **)(local_2c[0] + 0x48))(local_2c); if (puVar2 != (undefined4 *)0x0) { (**(code **)*puVar2)(puVar2,3); } } else { (**(code **)(local_2c[0] + 0xc))(local_2c); } } FUN_00401517(local_2c,2); return; } /* @004480b0 file=? name=FUN_004480b0 */ void __cdecl FUN_004480b0(int param_1,int *param_2) { int *piVar1; int local_18 [5]; FUN_004014d9(local_18,param_1 + 0x1c0ec); do { piVar1 = (int *)(**(code **)(local_18[0] + 0x30))(local_18); if (piVar1 == (int *)0x0) { LAB_0044811e: FUN_00401517(local_18,2); return; } if (piVar1 == param_2) { (**(code **)(local_18[0] + 0x48))(local_18); (**(code **)(*(int *)(param_1 + 0x1c100) + 4))(param_1 + 0x1c100,param_2); (**(code **)(*param_2 + 0x10))(param_2); goto LAB_0044811e; } (**(code **)(local_18[0] + 0xc))(local_18); } while( true ); } /* @00448134 file=? name=FUN_00448134 */ undefined4 FUN_00448134(void) { return 0xaaaa; } /* @00448140 file=? name=FUN_00448140 */ undefined4 FUN_00448140(void) { return 0x8888; } /* @0044814c file=? name=FUN_0044814c */ undefined4 FUN_0044814c(void) { return 0x8080; } /* @00448158 file=? name=FUN_00448158 */ undefined4 FUN_00448158(void) { return 0x8000; } /* @00448164 file=? name=FUN_00448164 */ void __cdecl FUN_00448164(int *param_1) { if ((param_1[0x7046] == 0) && (param_1[0x7034] == 0)) { (**(code **)(*param_1 + 0x54))(param_1); } return; } /* @00448188 file=? name=FUN_00448188 */ void __cdecl FUN_00448188(int param_1) { uint uVar1; int *piVar2; int local_1c [5]; uint local_8; uVar1 = *(uint *)(*(int *)(DAT_004efc94 + 0x50) + 4); local_8 = *(uint *)(param_1 + 0x1c0d4) ^ uVar1; piVar2 = *(int **)(param_1 + 0x1c0c8); if (piVar2 != (int *)0x0) { (**(code **)(*piVar2 + 4))(piVar2,uVar1); } FUN_004014d9(local_1c,param_1 + 0x1c0d8); while( true ) { piVar2 = (int *)(**(code **)(local_1c[0] + 0x30))(local_1c); if (piVar2 == (int *)0x0) break; (**(code **)(local_1c[0] + 0x48))(local_1c); if ((piVar2[6] & uVar1) == 0) { (**(code **)(*(int *)(param_1 + 0x1c100) + 4))(param_1 + 0x1c100,piVar2); } else if ((piVar2[3] == 0) || ((piVar2[6] & local_8) != 0)) { (**(code **)(*piVar2 + 0xc))(piVar2); if (piVar2[4] == 0) { piVar2[3] = 1; (**(code **)(*(int *)(param_1 + 0x1c0ec) + 4))(param_1 + 0x1c0ec,piVar2); } else { (**(code **)(*(int *)(param_1 + 0x1c100) + 4))(param_1 + 0x1c100,piVar2); } } } FUN_00401517(local_1c,2); if (uVar1 != *(uint *)(param_1 + 0x1c0d4)) { *(uint *)(param_1 + 0x1c0d4) = uVar1; FUN_00448318(param_1,uVar1,local_8); FUN_004483dc(param_1,uVar1); } *(undefined4 *)(param_1 + 0x1c0d0) = 1; (**(code **)(**(int **)(param_1 + 0x1c114) + 4))(*(int **)(param_1 + 0x1c114)); if (*(int *)(param_1 + 0x1c11c) == 0) { *(undefined4 *)(param_1 + 0x1c11c) = 0x8000; *(undefined4 *)(param_1 + 0x1c120) = 0; } return; } /* @004482d4 file=? name=FUN_004482d4 */ undefined4 __fastcall FUN_004482d4(undefined4 param_1,undefined4 param_2,int *param_3) { int iVar1; iVar1 = param_3[0x7034]; if (iVar1 == 0) { param_2 = (**(code **)(*param_3 + 0x58))(param_3); } else if (iVar1 == 1) { param_2 = FUN_00448468(param_3); } else if (iVar1 == 2) { param_2 = (**(code **)(*param_3 + 0x58))(param_3); } return param_2; } /* @00448310 file=? name=FUN_00448310 */ undefined4 FUN_00448310(void) { return 0; } /* @00448318 file=? name=FUN_00448318 */ void __cdecl FUN_00448318(int param_1,uint param_2,uint param_3) { int *piVar1; int local_18 [5]; FUN_004014d9(local_18,param_1 + 0x1c100); while( true ) { piVar1 = (int *)(**(code **)(local_18[0] + 0x30))(local_18); if (piVar1 == (int *)0x0) break; if ((piVar1[6] & param_2) == 0) { (**(code **)(local_18[0] + 0xc))(local_18); } else if ((piVar1[3] == 0) && ((piVar1[6] & param_3) != 0)) { (**(code **)(*piVar1 + 0xc))(piVar1); if (piVar1[4] == 0) { (**(code **)(local_18[0] + 0x48))(local_18); (**(code **)(*(int *)(param_1 + 0x1c0ec) + 4))(param_1 + 0x1c0ec,piVar1); piVar1[3] = 1; } else { (**(code **)(local_18[0] + 0xc))(local_18); } } else { (**(code **)(local_18[0] + 0xc))(local_18); } } FUN_00401517(local_18,2); return; } /* @004483dc file=? name=FUN_004483dc */ void __cdecl FUN_004483dc(int param_1,uint param_2) { int *piVar1; int local_18 [5]; FUN_004014d9(local_18,param_1 + 0x1c0ec); while( true ) { piVar1 = (int *)(**(code **)(local_18[0] + 0x30))(local_18); if (piVar1 == (int *)0x0) break; if ((piVar1[6] & param_2) == 0) { piVar1[3] = 0; (**(code **)(local_18[0] + 0x48))(local_18); (**(code **)(*(int *)(param_1 + 0x1c100) + 4))(param_1 + 0x1c100,piVar1); (**(code **)(*piVar1 + 0x10))(piVar1); } else { (**(code **)(local_18[0] + 0xc))(local_18); } } FUN_00401517(local_18,2); return; } /* @00448468 file=? name=FUN_00448468 */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ undefined4 __cdecl FUN_00448468(int *param_1) { int *piVar1; int iVar2; float10 fVar3; float10 fVar4; float local_8; piVar1 = (int *)(**(code **)(*(int *)param_1[0x7045] + 0x28))((int *)param_1[0x7045]); if (piVar1 == (int *)0x0) { param_1[0x7047] = (uint)param_1[0x7047] >> 1; param_1[0x7048] = param_1[0x7048] + 1; param_1[0x7034] = 2; } else { fVar3 = (float10)(**(code **)(*param_1 + 0x5c))(param_1); iVar2 = (**(code **)(*piVar1 + 0x20))(piVar1,param_1[0x7047]); fVar4 = (float10)(**(code **)(*param_1 + 0x5c))(param_1); local_8 = (float)(fVar4 - (float10)(float)fVar3); if (local_8 < _DAT_00448534) { local_8 = -local_8; } if (iVar2 != 0) { (**(code **)(*piVar1 + 0x18))(piVar1,local_8); } iVar2 = (**(code **)(*piVar1 + 0x30))(piVar1); FUN_00447840(param_1 + param_1[0x7048] * 0xf + iVar2 * 3 + 0x705a,local_8); } return 1; } /* @00448548 file=? name=FUN_00448548 */ float10 __cdecl FUN_00448548(int param_1,int param_2,int param_3,int param_4) { byte bVar1; int iVar2; int iVar3; float10 fVar4; float *local_1c; int local_14; float local_10; float local_c; float local_8; local_c = 0.0; local_10 = 0.0; iVar3 = 0; local_14 = 0; local_1c = (float *)(param_1 + 0x1c170 + param_3 * 0x3c); do { bVar1 = (&PTR_s_ABDHP_004ee2cc)[param_3][local_14]; if (param_4 == 1) { local_8 = *local_1c; } else { fVar4 = FUN_00447864((int *)(param_3 * 0x3c + param_1 + local_14 * 0xc + 0x1c168)); local_8 = (float)fVar4; } local_c = local_8 + local_c; local_10 = (float)param_2 * local_8 + local_10; if ((float)param_2 < local_10) { local_10 = (float)param_2; } iVar2 = FUN_004dcd94(); for (; iVar3 < iVar2; iVar3 = iVar3 + 1) { FUN_004db92c(&DAT_00524e20,bVar1); } local_14 = local_14 + 1; local_1c = local_1c + 3; } while (local_14 < 5); for (; iVar3 < param_2; iVar3 = iVar3 + 1) { FUN_004dbb24(&DAT_00524e20,&DAT_004ee9e9,(char *)0x0); } return (float10)local_c; } /* @00448654 file=? name=FUN_00448654 */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void __cdecl FUN_00448654(int param_1) { int *piVar1; int iVar2; int iVar3; int iVar4; float10 fVar5; char local_8c [80]; int local_3c [5]; int local_28 [5]; int *local_14; float local_10; float local_c; int local_8; FUN_004014d9(local_28,param_1 + 0x1c0ec); FUN_004dbb24(&DAT_00524e20,s_Active_name_count_avg_worst_004ee9eb,(char *)0x0); FUN_004dbb24(&DAT_00524e20,s__________________________________004eea20,(char *)0x0); while( true ) { piVar1 = (int *)(**(code **)(local_28[0] + 0x28))(); if (piVar1 == (int *)0x0) break; (**(code **)(*piVar1 + 0x1c))(); } FUN_00401517(local_28,2); FUN_004014d9(local_3c,param_1 + 0x1c100); FUN_004dbb24(&DAT_00524e20,s_Inactive_name_count_avg_worst_004eea55,(char *)0x0); FUN_004dbb24(&DAT_00524e20,s__________________________________004eea8a,(char *)0x0); while( true ) { piVar1 = (int *)(**(code **)(local_3c[0] + 0x28))(); if (piVar1 == (int *)0x0) break; (**(code **)(*piVar1 + 0x1c))(); } FUN_00401517(local_3c,2); local_8 = 0x28; FUN_004dbb24(&DAT_00524e20,s_Slot_Count_Tier_values_004eeabf,(char *)0x0); FUN_004dbb24(&DAT_00524e20,s__Total___004eeaf4,(char *)0x0); FUN_004dbb24(&DAT_00524e20,s_____________004eeafe,(char *)0x0); iVar3 = 0; if (0 < local_8) { do { FUN_004dbb24(&DAT_00524e20,&DAT_004eeb0a,(char *)0x0); iVar3 = iVar3 + 1; } while (iVar3 < local_8); } FUN_004dbb24(&DAT_00524e20,s__________004eeb0c,(char *)0x0); local_14 = (int *)(param_1 + 0x1c168); iVar3 = 0; do { FUN_004d7f10(local_8c,s__2d___004eeb16); FUN_004dbb24(&DAT_00524e20,local_8c,(char *)0x0); iVar2 = 0; iVar4 = 0; piVar1 = local_14; do { iVar2 = iVar2 + *piVar1; iVar4 = iVar4 + 1; piVar1 = piVar1 + 3; } while (iVar4 < 5); if (iVar2 < 1) { FUN_004dbb24(&DAT_00524e20,s_No_samples_available_004eeb1d,(char *)0x0); } else { FUN_004d7f10(local_8c,&DAT_004eeb33); FUN_004dbb24(&DAT_00524e20,local_8c,(char *)0x0); fVar5 = FUN_00448548(param_1,local_8,iVar3,0); local_c = (float)fVar5; FUN_004d7f10(local_8c,s___5_2f___004eeb38); FUN_004dbb24(&DAT_00524e20,local_8c,(char *)0x0); FUN_004dbb24(&DAT_00524e20,s__Worst__004eeb42,(char *)0x0); fVar5 = FUN_00448548(param_1,local_8,iVar3,1); local_10 = (float)fVar5; FUN_004d7f10(local_8c,s___5_2f___004eeb4e); FUN_004dbb24(&DAT_00524e20,local_8c,(char *)0x0); iVar2 = 0; do { FUN_00447828((undefined4 *)(iVar3 * 0x3c + param_1 + iVar2 * 0xc + 0x1c168)); iVar2 = iVar2 + 1; } while (iVar2 < 5); } iVar3 = iVar3 + 1; local_14 = local_14 + 0xf; } while (iVar3 < 0x10); return; } /* @00448928 file=? name=FUN_00448928 */ void __cdecl FUN_00448928(int *param_1,LPCSTR param_2,int *param_3) { FUN_00445af0((int *)param_1[0x14],param_2,param_3); (**(code **)(*param_1 + 0x50))(param_1,s_Initialization_004eeb58,0); return; } /* @0044895c file=? name=FUN_0044895c */ void __cdecl FUN_0044895c(int param_1,char *param_2,int param_3) { FUN_00446288(*(int *)(param_1 + 0x50),param_2,param_1,0,0,0,param_3); return; } /* @00448997 file=? name=FUN_00448997 */ undefined4 * __cdecl FUN_00448997(undefined4 *param_1,undefined4 param_2) { FUN_0041827c(param_1,param_2); *param_1 = &PTR_FUN_004eeb68; return param_1; } /* @004489b6 file=? name=FUN_004489b6 */ void __cdecl FUN_004489b6(int *param_1,byte param_2) { if (param_1 != (int *)0x0) { *param_1 = (int)&PTR_FUN_004eeb68; FUN_004182a8(param_1,0); if ((param_2 & 1) != 0) { FUN_004022d0(param_1); } } return; } /* @004489e2 file=? name=FUN_004489e2 */ void FUN_004489e2(void) { return; } /* @004489e8 file=? name=FUN_004489e8 */ undefined4 * __cdecl FUN_004489e8(undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4) { FUN_004178cc(param_1,0x5c); *param_1 = &PTR_FUN_004eed7c; FUN_00444f5f(param_1 + 6,0); param_1[3] = param_2; param_1[4] = param_3; param_1[5] = param_4; return param_1; } /* @00448a28 file=? name=FUN_00448a28 */ void __cdecl FUN_00448a28(int *param_1,byte param_2) { int *piVar1; int local_10 [3]; if (param_1 != (int *)0x0) { *param_1 = (int)&PTR_FUN_004eed7c; FUN_00444fc9(local_10,(int)(param_1 + 6)); while( true ) { piVar1 = (int *)(**(code **)(local_10[0] + 0x28))(local_10); if (piVar1 == (int *)0x0) break; FUN_00444e64(piVar1,0); } FUN_00445007(local_10,2); FUN_00444f7e(param_1 + 6,2); FUN_0041790c(param_1,0); if ((param_2 & 1) != 0) { FUN_004022d0(param_1); } } return; } /* @00448aa8 file=? name=FUN_00448aa8 */ void FUN_00448aa8(void) { FUN_00415f1c(); return; } /* @00448ab8 file=munga/gaugalrm.cpp name=FUN_00448ab8 */ undefined4 FUN_00448ab8(void) { FUN_0040385c(s_GaugeAlarmManager__CreateGaugeAl_004eec11,s_d__tesla_bt_munga_GAUGALRM_CPP_004eec4f ,0x71); return 0; } /* @00448ad4 file=munga/gaugalrm.cpp name=FUN_00448ad4 */ void FUN_00448ad4(void) { FUN_0040385c(s_GaugeAlarmManager__ReadGaugeAlar_004eec6e,s_d__tesla_bt_munga_GAUGALRM_CPP_004eecaa ,0x7e); return; } /* @00448af0 file=? name=FUN_00448af0 */ undefined4 __cdecl FUN_00448af0(int *param_1,int param_2,char *param_3,int param_4) { int *piVar1; undefined4 *puVar2; int *piVar3; int iVar4; int iVar5; int local_14; int local_10; undefined4 local_c; undefined4 local_8; local_8 = 0xffffffff; local_c = *(undefined4 *)(param_4 + 0x1c); *(uint *)(param_4 + 0x1c) = *(uint *)(param_4 + 0x1c) | 0x1f; piVar1 = FUN_00404720(param_4,s_gaugeAlarm_004eecc9,(char *)0x0); if (piVar1 != (int *)0x0) { local_10 = 1; local_14 = FUN_00403b60((int)piVar1); puVar2 = (undefined4 *)FUN_00402298(0x18); if (puVar2 == (undefined4 *)0x0) { piVar3 = (int *)0x0; } else { piVar3 = FUN_0040328c(puVar2,0); } (**(code **)(*piVar3 + 0x20))(piVar3,&local_14,4); puVar2 = (undefined4 *)piVar1[1]; iVar5 = 0; if (0 < local_14) { do { iVar4 = (**(code **)(*param_1 + 4))(param_1,piVar3,puVar2 + 2,puVar2[1]); if (iVar4 == 0) { FUN_004dbb24(&DAT_00524e20,s_Model_file___004eecd4,(char *)0x0); FUN_004dbb24(&DAT_00524e20,param_3,(char *)0x0); FUN_004dbb24(&DAT_00524e20,s___has_undefined_alarm_type___004eece1,(char *)0x0); FUN_004dbb24(&DAT_00524e20,(char *)(puVar2 + 2),(char *)0x0); FUN_004dbb24(&DAT_00524e20,s_____resource_not_built__004eecfe,(char *)0x0); local_10 = 0; break; } puVar2 = (undefined4 *)*puVar2; iVar5 = iVar5 + 1; } while (iVar5 < local_14); } if (local_10 != 0) { puVar2 = (undefined4 *)FUN_00406f3c(param_2,param_3,0x1f,1,0,piVar3,-1); local_8 = *puVar2; } FUN_00403310(piVar3,3); } *(undefined4 *)(param_4 + 0x1c) = local_c; return local_8; } /* @00448c54 file=? name=FUN_00448c54 */ undefined4 * __cdecl FUN_00448c54(undefined4 *param_1) { *param_1 = &PTR_FUN_004eed70; FUN_00448e72(param_1 + 1,0); return param_1; } /* @00448c74 file=? name=FUN_00448c74 */ void __cdecl FUN_00448c74(int *param_1,byte param_2) { if (param_1 != (int *)0x0) { *param_1 = (int)&PTR_FUN_004eed70; FUN_00448e91(param_1 + 1,2); if ((param_2 & 1) != 0) { FUN_004022d0(param_1); } } return; } /* @00448ca4 file=? name=FUN_00448ca4 */ undefined4 FUN_00448ca4(void) { return 1; } /* @00448cb0 file=? name=FUN_00448cb0 */ void __cdecl FUN_00448cb0(int param_1) { undefined4 *puVar1; int local_10 [3]; FUN_00448edc(local_10,param_1 + 4); while( true ) { puVar1 = (undefined4 *)(**(code **)(local_10[0] + 0x28))(local_10); if (puVar1 == (undefined4 *)0x0) break; if (puVar1 != (undefined4 *)0x0) { (**(code **)*puVar1)(puVar1,3); } } FUN_00448f1a(local_10,2); return; } /* @00448d00 file=? name=FUN_00448d00 */ void __cdecl FUN_00448d00(int *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,int param_5) { int iVar1; int iVar2; undefined4 *puVar3; int *piVar4; int local_10; undefined4 *local_c; undefined4 *local_8; iVar2 = FUN_00407064(*(int *)(DAT_004efc94 + 0x68),param_5,0x1f); if (iVar2 != 0) { iVar1 = *(int *)(iVar2 + 4); *(int *)(iVar2 + 4) = *(int *)(iVar2 + 4) + 1; if (iVar1 == 0) { FUN_00406cd0(iVar2); } puVar3 = (undefined4 *)FUN_00402298(0x18); if (puVar3 == (undefined4 *)0x0) { piVar4 = (int *)0x0; } else { piVar4 = FUN_004032dc(puVar3,*(undefined4 *)(iVar2 + 0x3c),*(undefined4 *)(iVar2 + 0x40),0); } if (piVar4 != (int *)0x0) { local_c = (undefined4 *)FUN_00402298(0x28); if (local_c == (undefined4 *)0x0) { local_8 = (undefined4 *)0x0; } else { local_8 = FUN_004489e8(local_c,param_2,param_3,param_4); } (**(code **)(param_1[1] + 4))(param_1 + 1,local_8); (**(code **)(*piVar4 + 0x1c))(piVar4,&local_10,4); for (; 0 < local_10; local_10 = local_10 + -1) { (**(code **)(*param_1 + 8))(param_1,local_8,param_2,param_3,param_4,piVar4); } FUN_00403310(piVar4,3); } *(int *)(iVar2 + 4) = *(int *)(iVar2 + 4) + -1; } return; } /* @00448e00 file=? name=FUN_00448e00 */ void __cdecl FUN_00448e00(int param_1,int param_2,int param_3,int param_4) { undefined4 *puVar1; int local_10 [3]; FUN_00448edc(local_10,param_1 + 4); do { puVar1 = (undefined4 *)(**(code **)(local_10[0] + 0x28))(local_10); if (puVar1 == (undefined4 *)0x0) goto LAB_00448e5d; } while (((param_2 != puVar1[3]) || (param_3 != puVar1[4])) || (puVar1[5] != param_4)); if (puVar1 != (undefined4 *)0x0) { (**(code **)*puVar1)(puVar1,3); } LAB_00448e5d: FUN_00448f1a(local_10,2); return; } /* @00448e72 file=? name=FUN_00448e72 */ undefined4 * __cdecl FUN_00448e72(undefined4 *param_1,undefined4 param_2) { FUN_00417be0(param_1,param_2); *param_1 = &PTR_FUN_004eed68; return param_1; } /* @00448e91 file=? name=FUN_00448e91 */ void __cdecl FUN_00448e91(int *param_1,byte param_2) { if (param_1 != (int *)0x0) { *param_1 = (int)&PTR_FUN_004eed68; FUN_00417c0c(param_1,0); if ((param_2 & 1) != 0) { FUN_004022d0(param_1); } } return; } /* @00448ebd file=? name=FUN_00448ebd */ undefined4 * __cdecl FUN_00448ebd(undefined4 *param_1,int param_2) { FUN_00417d00(param_1,param_2); *param_1 = &PTR_FUN_004eed18; return param_1; } /* @00448edc file=? name=FUN_00448edc */ undefined4 * __cdecl FUN_00448edc(undefined4 *param_1,int param_2) { FUN_00417d00(param_1,param_2); *param_1 = &PTR_FUN_004eed18; return param_1; } /* @00448efb file=? name=FUN_00448efb */ undefined4 * __cdecl FUN_00448efb(undefined4 *param_1,int param_2) { FUN_00417d28(param_1,param_2); *param_1 = &PTR_FUN_004eed18; return param_1; } /* @00448f1a file=? name=FUN_00448f1a */ void __cdecl FUN_00448f1a(int *param_1,byte param_2) { if (param_1 != (int *)0x0) { *param_1 = (int)&PTR_FUN_004eed18; FUN_00417d54(param_1,0); if ((param_2 & 1) != 0) { FUN_004022d0(param_1); } } return; } /* @00448f48 file=? name=FUN_00448f48 */ undefined4 __cdecl FUN_00448f48(LPCSTR param_1,char *param_2,int *param_3,char *param_4) { uint uVar1; int *piVar2; undefined4 uVar3; uint uVar4; undefined1 *puVar5; int iVar6; char local_19; uint local_18; int local_14; uint local_10; int local_c; uint local_8; piVar2 = FUN_004d6f54(param_1,&DAT_004eed88); if (piVar2 == (int *)0x0) { uVar3 = 0; } else { uVar4 = FUN_004d71e0(param_2,0x80,1,piVar2); if (uVar4 == 1) { if ((((*param_2 == '\n') && (param_2[3] == '\b')) && (param_2[2] == '\x01')) && (param_2[0x41] == '\x01')) { local_8 = (uint)*(ushort *)(param_2 + 0x42); local_c = ((uint)*(ushort *)(param_2 + 8) - (uint)*(ushort *)(param_2 + 4)) + 1; iVar6 = ((uint)*(ushort *)(param_2 + 10) - (uint)*(ushort *)(param_2 + 6)) + 1; if (param_3 == (int *)0x0) { FUN_004d7270(piVar2,-0x301,2); } else { if ((int *)*param_3 != (int *)0x0) { FUN_004022d0((int *)*param_3); *param_3 = 0; } puVar5 = (undefined1 *)FUN_004022b0(local_c * iVar6); *param_3 = (int)puVar5; for (local_14 = iVar6; iVar6 = local_c, uVar4 = local_8, 0 < local_14; local_14 = local_14 + -1) { while (local_10 = uVar4, 0 < (int)local_10) { uVar4 = FUN_004d744c(piVar2); if ((*(byte *)((int)piVar2 + 0x12) & 0x10) != 0) { FUN_004d6b08(piVar2); FUN_004022d0((int *)*param_3); *param_3 = 0; return 0; } if ((uVar4 & 0xc0) == 0xc0) { local_18 = uVar4 & 0x3f; local_10 = local_10 - local_18; uVar4 = FUN_004d744c(piVar2); while (uVar1 = local_18 - 1, local_18 != 0) { local_18 = uVar1; if (0 < iVar6) { iVar6 = iVar6 + -1; *puVar5 = (char)uVar4; puVar5 = puVar5 + 1; } } local_18 = 0xffffffff; uVar4 = local_10; } else { if (0 < iVar6) { iVar6 = iVar6 + -1; *puVar5 = (char)uVar4; puVar5 = puVar5 + 1; } uVar4 = local_10 - 1; } } } } if (param_4 != (char *)0x0) { uVar4 = FUN_004d71e0(&local_19,1,1,piVar2); if (uVar4 != 1) { FUN_004d6b08(piVar2); return 0; } if (local_19 != '\f') { FUN_004d6b08(piVar2); return 0; } uVar4 = FUN_004d71e0(param_4,0x300,1,piVar2); if (uVar4 != 1) { FUN_004d6b08(piVar2); return 0; } } FUN_004d6b08(piVar2); uVar3 = 1; } else { FUN_004d6b08(piVar2); uVar3 = 0; } } else { FUN_004d6b08(piVar2); uVar3 = 0; } } return uVar3; } /* @00449148 file=? name=FUN_00449148 */ undefined4 * __cdecl FUN_00449148(char *param_1) { undefined4 *puVar1; undefined4 local_54; undefined2 uStack_50; undefined1 uStack_4e; local_54 = DAT_004eed8b; uStack_50 = DAT_004eed8f; uStack_4e = DAT_004eed91; FUN_004d49b8((char *)&local_54,param_1); puVar1 = (undefined4 *)FUN_00402298(0x1c); if (puVar1 == (undefined4 *)0x0) { puVar1 = (undefined4 *)0x0; } else { puVar1 = FUN_0044927c(puVar1,(LPCSTR)&local_54); } if (puVar1[6] == 0) { if (puVar1 != (undefined4 *)0x0) { (**(code **)*puVar1)(puVar1,3); } puVar1 = (undefined4 *)0x0; } return puVar1; } /* @004491ac file=? name=FUN_004491ac */ undefined4 FUN_004491ac(void) { return 0; } /* @004491b4 file=? name=FUN_004491b4 */ undefined4 * __cdecl FUN_004491b4(undefined4 *param_1,int param_2,int param_3) { undefined4 uVar1; FUN_00415e90(param_1,1); *param_1 = &PTR_FUN_004ef674; param_1[5] = param_2 + 0xf >> 4; uVar1 = FUN_004022b0(param_1[5] * param_3 * 2); param_1[6] = uVar1; param_1[3] = param_2; param_1[4] = param_3; return param_1; } /* @004491fc file=? name=FUN_004491fc */ undefined4 * __cdecl FUN_004491fc(undefined4 *param_1,int param_2,int param_3,undefined4 *param_4) { int iVar1; undefined4 uVar2; FUN_00415e90(param_1,1); *param_1 = &PTR_FUN_004ef674; param_1[5] = 0; param_1[3] = 0; param_1[4] = 0; if ((0 < param_2) && (0 < param_3)) { iVar1 = param_2 + 0xf >> 4; uVar2 = FUN_004022b0(iVar1 * param_3 * 2); param_1[6] = uVar2; param_1[5] = iVar1; param_1[3] = param_2; param_1[4] = param_3; FUN_004d4918((undefined4 *)param_1[6],param_4,iVar1 * param_3 * 2); } return param_1; } /* @0044927c file=? name=FUN_0044927c */ undefined4 * __cdecl FUN_0044927c(undefined4 *param_1,LPCSTR param_2) { ushort uVar1; ushort uVar2; int iVar3; ushort uVar4; char local_94 [4]; ushort local_90; ushort local_8e; ushort local_8c; ushort local_8a; int local_14; ushort *local_10; int *local_c; int *local_8; FUN_00415e90(param_1,1); *param_1 = &PTR_FUN_004ef674; local_8 = (int *)0x0; param_1[5] = 0; param_1[3] = 0; param_1[4] = 0; param_1[6] = 0; iVar3 = FUN_00448f48(param_2,local_94,(int *)&local_8,(char *)0x0); if ((iVar3 == 1) && (local_8 != (int *)0x0)) { param_1[3] = ((uint)local_8c - (uint)local_90) + 1; param_1[4] = ((uint)local_8a - (uint)local_8e) + 1; iVar3 = param_1[3] + 0xf >> 4; param_1[5] = iVar3; local_10 = (ushort *)FUN_004022b0(iVar3 * param_1[4] * 2); param_1[6] = local_10; uVar4 = 0; uVar2 = 0x8000; local_c = local_8; for (local_14 = param_1[4]; 0 < local_14; local_14 = local_14 + -1) { for (iVar3 = param_1[3]; 0 < iVar3; iVar3 = iVar3 + -1) { if ((char)*local_c != '\0') { uVar4 = uVar4 | uVar2; } uVar1 = uVar2 >> 1; if (uVar2 >> 1 == 0) { *local_10 = uVar4; local_10 = local_10 + 1; uVar1 = 0x8000; uVar4 = 0; } uVar2 = uVar1; local_c = (int *)((int)local_c + 1); } if (uVar2 != 0x8000) { uVar2 = 0x8000; *local_10 = uVar4; local_10 = local_10 + 1; uVar4 = 0; } } FUN_004022d0(local_8); } return param_1; } /* @004493a8 file=? name=FUN_004493a8 */ undefined4 * __cdecl FUN_004493a8(undefined4 *param_1,int param_2,char *param_3) { char *pcVar1; undefined4 *puVar2; bool bVar3; undefined3 extraout_var; undefined3 extraout_var_00; undefined3 extraout_var_01; undefined4 uVar4; int *piVar5; char *pcVar6; uint uVar7; int iVar8; char *pcVar9; int iVar10; int iVar11; undefined2 *local_1c; int local_10; int local_c; int local_8; FUN_00415e90(param_1,1); *param_1 = &PTR_FUN_004ef674; param_1[3] = 0; param_1[4] = 0; param_1[5] = 0; param_1[6] = 0; bVar3 = FUN_004040d8(param_2,param_3,&DAT_004eed92,&local_8); if (((CONCAT31(extraout_var,bVar3) != 0) && (bVar3 = FUN_004040d8(param_2,param_3,&DAT_004eed94,&local_c), CONCAT31(extraout_var_00,bVar3) != 0)) && (bVar3 = FUN_004040d8(param_2,param_3,s_width_004eed96,&local_10), CONCAT31(extraout_var_01,bVar3) != 0)) { uVar4 = FUN_004022b0(local_10 * local_c * 2); param_1[6] = uVar4; param_1[3] = local_8; param_1[4] = local_c; param_1[5] = local_10; piVar5 = FUN_00404720(param_2,param_3,(char *)0x0); iVar10 = 0; iVar11 = 4; local_1c = (undefined2 *)param_1[6]; for (puVar2 = (undefined4 *)piVar5[1]; puVar2 != (undefined4 *)0x0; puVar2 = (undefined4 *)*puVar2) { pcVar6 = (char *)(puVar2 + 2); if (pcVar6 != (char *)0x0) { pcVar9 = s_bitmap_004eed9c; do { bVar3 = *pcVar6 == *pcVar9; if (!bVar3) break; if (*pcVar6 == '\0') goto LAB_004494d6; pcVar1 = pcVar6 + 1; bVar3 = *pcVar1 == pcVar9[1]; if (!bVar3) break; pcVar6 = pcVar6 + 2; pcVar9 = pcVar9 + 2; bVar3 = *pcVar1 == '\0'; } while (!bVar3); if (bVar3) { LAB_004494d6: for (pcVar6 = (char *)puVar2[1]; *pcVar6 != '\0'; pcVar6 = pcVar6 + 1) { uVar7 = FUN_004dc8c4((int)*pcVar6); if (0x39 < (int)uVar7) { uVar7 = uVar7 - 7; } iVar10 = (uVar7 - 0x30) + iVar10 * 0x10; iVar11 = iVar11 + -1; if (iVar11 < 1) { iVar8 = (int)local_1c - param_1[6] >> 1; if (iVar8 < 0) { iVar8 = iVar8 + (uint)(((int)local_1c - param_1[6] & 1U) != 0); } if (local_10 * local_c <= iVar8) break; iVar11 = 4; *local_1c = (short)iVar10; local_1c = local_1c + 1; iVar10 = 0; } } } } } if (piVar5 != (int *)0x0) { (**(code **)*piVar5)(piVar5,3); } } return param_1; } /* @00449568 file=? name=FUN_00449568 */ void __cdecl FUN_00449568(int *param_1,byte param_2) { if (param_1 != (int *)0x0) { *param_1 = (int)&PTR_FUN_004ef674; if ((int *)param_1[6] != (int *)0x0) { FUN_004022d0((int *)param_1[6]); param_1[3] = 0; param_1[4] = 0; param_1[6] = 0; } FUN_00415ed8(param_1,0); if ((param_2 & 1) != 0) { FUN_004022d0(param_1); } } return; } /* @004495b4 file=? name=FUN_004495b4 */ undefined4 FUN_004495b4(void) { return 1; } /* @004495c0 file=? name=FUN_004495c0 */ void __cdecl FUN_004495c0(int param_1,char *param_2) { char cVar1; ushort uVar2; int *piVar3; uint uVar4; uint uVar5; char *pcVar6; char *pcVar7; undefined8 uVar8; uint *puVar9; char local_64 [80]; ushort *local_14; int local_10; int local_c; int local_8; FUN_004dbb24(&DAT_00524e20,param_2,(char *)0x0); FUN_004dbb24(&DAT_00524e20,s_BitMap__004eeda3,(char *)0x0); uVar4 = 0xffffffff; do { pcVar6 = param_2; if (uVar4 == 0) break; uVar4 = uVar4 - 1; pcVar6 = param_2 + 1; cVar1 = *param_2; param_2 = pcVar6; } while (cVar1 != '\0'); uVar4 = ~uVar4; pcVar6 = pcVar6 + -uVar4; pcVar7 = local_64; for (uVar5 = uVar4 >> 2; uVar5 != 0; uVar5 = uVar5 - 1) { *(undefined4 *)pcVar7 = *(undefined4 *)pcVar6; pcVar6 = pcVar6 + 4; pcVar7 = pcVar7 + 4; } for (uVar4 = uVar4 & 3; uVar4 != 0; uVar4 = uVar4 - 1) { *pcVar7 = *pcVar6; pcVar6 = pcVar6 + 1; pcVar7 = pcVar7 + 1; } FUN_004d49b8(local_64,&DAT_004eedac); puVar9 = (uint *)(param_1 + 0xc); FUN_004dbb24(&DAT_00524e20,local_64,(char *)0x0); FUN_004dbb24(&DAT_00524e20,s_Size___004eedb0,(char *)0x0); piVar3 = (int *)FUN_00407f08(&DAT_00524e20,puVar9); FUN_004dbb24(piVar3,&DAT_004eedbe,(char *)0x0); uVar4 = *(uint *)(param_1 + 0x14); FUN_004dbb24(&DAT_00524e20,local_64,(char *)0x0); FUN_004dbb24(&DAT_00524e20,s_WidthInWords__004eedc0,(char *)0x0); piVar3 = FUN_004db78c(&DAT_00524e20,uVar4); FUN_004dbb24(piVar3,&DAT_004eedce,(char *)0x0); uVar4 = *(uint *)(param_1 + 0x18); FUN_004dbb24(&DAT_00524e20,local_64,(char *)0x0); FUN_004dbb24(&DAT_00524e20,s_MapPointer___004eedd0,(char *)0x0); uVar8 = FUN_004dbd4c(&DAT_00524e20,uVar4); FUN_004dbb24((int *)uVar8,&DAT_004eedde,(char *)0x0); FUN_004d9c70(&DAT_00524e20); local_14 = *(ushort **)(param_1 + 0x18); if (local_14 != (ushort *)0x0) { for (local_c = *(int *)(param_1 + 0x10); 0 < local_c; local_c = local_c + -1) { FUN_004dbb24(&DAT_00524e20,local_64,(char *)0x0); local_10 = 0; for (local_8 = *(int *)(param_1 + 0x14); 0 < local_8; local_8 = local_8 + -1) { uVar4 = 0x8000; uVar2 = *local_14; local_14 = local_14 + 1; do { local_10 = local_10 + 1; if (*(int *)(param_1 + 0xc) < local_10) { FUN_004dbb24(&DAT_00524e20,&DAT_004eede0,(char *)0x0); } else if ((uVar4 & uVar2) == 0) { FUN_004dbb24(&DAT_00524e20,&DAT_004eede4,(char *)0x0); } else { FUN_004dbb24(&DAT_00524e20,&DAT_004eede2,(char *)0x0); } uVar4 = (int)uVar4 >> 1; } while (uVar4 != 0); } FUN_004dbb24(&DAT_00524e20,&DAT_004eede6,(char *)0x0); } FUN_004dbb24(&DAT_00524e20,&DAT_004eede8,(char *)0x0); } return; } /* @00449808 file=? name=FUN_00449808 */ void __cdecl FUN_00449808(undefined4 *param_1,byte *param_2) { byte bVar1; byte bVar2; byte bVar3; int *piVar4; byte bVar5; byte bVar6; undefined *puVar7; puVar7 = &LAB_004d9c84; bVar1 = param_2[2]; bVar6 = 0x3a; bVar2 = param_2[1]; bVar5 = 0x3a; bVar3 = *param_2; piVar4 = FUN_004dbaa8(param_1,&LAB_004d9ca4); piVar4 = FUN_004db78c(piVar4,(uint)bVar3); piVar4 = FUN_004db92c(piVar4,bVar5); piVar4 = FUN_004db78c(piVar4,(uint)bVar2); piVar4 = FUN_004db92c(piVar4,bVar6); piVar4 = FUN_004db78c(piVar4,(uint)bVar1); FUN_004dbaa8(piVar4,puVar7); return; } /* @004498a8 file=? name=FUN_004498a8 */ void __cdecl FUN_004498a8(undefined4 *param_1) { *param_1 = 0; return; } /* @004498b4 file=? name=FUN_004498b4 */ int * __cdecl FUN_004498b4(char *param_1) { undefined4 *puVar1; int *piVar2; undefined4 local_54; undefined2 uStack_50; undefined1 uStack_4e; local_54 = DAT_004eedea; uStack_50 = DAT_004eedee; uStack_4e = DAT_004eedf0; FUN_004d49b8((char *)&local_54,param_1); puVar1 = (undefined4 *)FUN_00402298(0x304); if (puVar1 == (undefined4 *)0x0) { piVar2 = (int *)0x0; } else { piVar2 = FUN_00449968(puVar1,(LPCSTR)&local_54); } if (*piVar2 == 0) { FUN_00449994(piVar2,3); piVar2 = (int *)0x0; } return piVar2; } /* @00449918 file=? name=FUN_00449918 */ undefined4 FUN_00449918(void) { return 0; } /* @00449920 file=? name=FUN_00449920 */ undefined4 * __cdecl FUN_00449920(undefined4 *param_1,int param_2,undefined1 *param_3) { int iVar1; int iVar2; iVar1 = 0; if (0 < param_2) { do { iVar2 = iVar1 + 1; *(undefined1 *)((int)param_1 + iVar1 * 3 + 4) = *param_3; *(undefined1 *)((int)param_1 + iVar1 * 3 + 5) = param_3[1]; *(undefined1 *)((int)param_1 + iVar1 * 3 + 6) = param_3[2]; iVar1 = iVar2; param_3 = param_3 + 3; } while (iVar2 < param_2); } *param_1 = 1; return param_1; } /* @00449968 file=? name=FUN_00449968 */ undefined4 * __cdecl FUN_00449968(undefined4 *param_1,LPCSTR param_2) { undefined4 uVar1; char local_84 [128]; uVar1 = FUN_00448f48(param_2,local_84,(int *)0x0,(char *)(param_1 + 1)); *param_1 = uVar1; return param_1; } /* @00449994 file=? name=FUN_00449994 */ void __cdecl FUN_00449994(int *param_1,byte param_2) { if ((param_1 != (int *)0x0) && ((param_2 & 1) != 0)) { FUN_004022d0(param_1); } return; } /* @004499b0 file=? name=FUN_004499b0 */ void __cdecl FUN_004499b0(int param_1,int param_2,int param_3,undefined4 param_4) { int iVar1; for (; param_2 <= param_3; param_2 = param_2 + 1) { iVar1 = param_2 * 3 + param_1; *(undefined1 *)(iVar1 + 4) = (undefined1)param_4; *(undefined1 *)(iVar1 + 5) = param_4._1_1_; *(undefined1 *)(iVar1 + 6) = param_4._2_1_; } return; } /* @004499e4 file=? name=FUN_004499e4 */ void __cdecl FUN_004499e4(int param_1,int param_2,int param_3,uint param_4,uint param_5) { int iVar1; undefined1 *puVar2; int iVar3; int iVar4; int iVar5; iVar4 = param_3 - param_2; if (iVar4 == 0) { iVar4 = param_2 * 3 + param_1; *(undefined1 *)(iVar4 + 4) = (undefined1)param_4; *(byte *)(iVar4 + 5) = param_4._1_1_; *(byte *)(iVar4 + 6) = param_4._2_1_; } else { iVar3 = (param_4 & 0xff) << 5; iVar5 = (uint)param_4._1_1_ << 5; iVar1 = (uint)param_4._2_1_ << 5; puVar2 = (undefined1 *)(param_1 + 4 + param_2 * 3); for (; param_2 <= param_3; param_2 = param_2 + 1) { *puVar2 = (char)(iVar3 >> 5); puVar2[1] = (char)(iVar5 >> 5); puVar2[2] = (char)(iVar1 >> 5); iVar3 = iVar3 + (int)(((param_5 & 0xff) - (param_4 & 0xff)) * 0x20) / iVar4; iVar5 = iVar5 + (int)(((param_5 >> 8 & 0xff) - (uint)param_4._1_1_) * 0x20) / iVar4; iVar1 = iVar1 + (int)(((param_5 >> 0x10 & 0xff) - (uint)param_4._2_1_) * 0x20) / iVar4; puVar2 = puVar2 + 3; } } return; } /* @00449ab4 file=? name=FUN_00449ab4 */ undefined4 FUN_00449ab4(void) { return 1; } /* @00449ac0 file=? name=FUN_00449ac0 */ void __cdecl FUN_00449ac0(uint *param_1,char *param_2) { char cVar1; int *piVar2; uint uVar3; uint uVar4; char *pcVar5; int iVar6; char *pcVar7; uint *puVar8; uint *puVar9; char local_78 [32]; char local_58 [80]; int local_8; FUN_004dbb24(&DAT_00524e20,param_2,(char *)0x0); FUN_004dbb24(&DAT_00524e20,s_Palette8__004eedf1,(char *)0x0); uVar3 = 0xffffffff; do { pcVar5 = param_2; if (uVar3 == 0) break; uVar3 = uVar3 - 1; pcVar5 = param_2 + 1; cVar1 = *param_2; param_2 = pcVar5; } while (cVar1 != '\0'); uVar3 = ~uVar3; pcVar5 = pcVar5 + -uVar3; pcVar7 = local_58; for (uVar4 = uVar3 >> 2; uVar4 != 0; uVar4 = uVar4 - 1) { *(undefined4 *)pcVar7 = *(undefined4 *)pcVar5; pcVar5 = pcVar5 + 4; pcVar7 = pcVar7 + 4; } for (uVar3 = uVar3 & 3; uVar3 != 0; uVar3 = uVar3 - 1) { *pcVar7 = *pcVar5; pcVar5 = pcVar5 + 1; pcVar7 = pcVar7 + 1; } FUN_004d49b8(local_58,&DAT_004eedfc); uVar3 = *param_1; FUN_004dbb24(&DAT_00524e20,local_58,(char *)0x0); FUN_004dbb24(&DAT_00524e20,s_Valid___004eee00,(char *)0x0); piVar2 = FUN_004db78c(&DAT_00524e20,uVar3); FUN_004dbb24(piVar2,&DAT_004eee08,(char *)0x0); if (*param_1 != 0) { puVar9 = param_1 + 1; local_8 = 0; do { FUN_004d7f10(local_78,s__02X__004eee0a); FUN_004dbb24(&DAT_00524e20,local_58,(char *)0x0); FUN_004dbb24(&DAT_00524e20,local_78,(char *)0x0); iVar6 = 4; puVar8 = puVar9; do { puVar9 = (uint *)((int)puVar8 + 3); piVar2 = (int *)FUN_00449808(&DAT_00524e20,(byte *)puVar8); FUN_004dbb24(piVar2,&DAT_004eee11,(char *)0x0); iVar6 = iVar6 + -1; puVar8 = puVar9; } while (0 < iVar6); FUN_004dbb24(&DAT_00524e20,&DAT_004eee13,(char *)0x0); local_8 = local_8 + 4; } while (local_8 < 0x100); } return; } /* @00449c1c file=? name=FUN_00449c1c */ int * __cdecl FUN_00449c1c(char *param_1) { int *piVar1; undefined4 local_54; undefined2 uStack_50; undefined1 uStack_4e; local_54 = DAT_004eee15; uStack_50 = DAT_004eee19; uStack_4e = DAT_004eee1b; FUN_004d49b8((char *)&local_54,param_1); piVar1 = (int *)FUN_00402298(0xc); if (piVar1 == (int *)0x0) { piVar1 = (int *)0x0; } else { piVar1 = FUN_00449cb0(piVar1,(LPCSTR)&local_54); } if (piVar1[2] == 0) { FUN_00449d0c(piVar1,3); piVar1 = (int *)0x0; } return piVar1; } /* @00449c80 file=? name=FUN_00449c80 */ undefined4 FUN_00449c80(void) { return 0; } /* @00449c88 file=? name=FUN_00449c88 */ int * __cdecl FUN_00449c88(int *param_1,int param_2,int param_3) { int iVar1; *param_1 = param_2; param_1[1] = param_3; iVar1 = FUN_004022b0(param_2 * param_3); param_1[2] = iVar1; return param_1; } /* @00449cb0 file=? name=FUN_00449cb0 */ int * __cdecl FUN_00449cb0(int *param_1,LPCSTR param_2) { int iVar1; char local_84 [4]; ushort local_80; ushort local_7e; ushort local_7c; ushort local_7a; param_1[2] = 0; iVar1 = FUN_00448f48(param_2,local_84,param_1 + 2,(char *)0x0); if (iVar1 == 1) { if (param_1[2] == 0) { *param_1 = 0; param_1[1] = 0; } else { *param_1 = ((uint)local_7c - (uint)local_80) + 1; param_1[1] = ((uint)local_7a - (uint)local_7e) + 1; } } return param_1; } /* @00449d0c file=? name=FUN_00449d0c */ void __cdecl FUN_00449d0c(int *param_1,byte param_2) { if (param_1 != (int *)0x0) { if ((int *)param_1[2] != (int *)0x0) { FUN_004022d0((int *)param_1[2]); *param_1 = 0; param_1[1] = 0; param_1[2] = 0; } if ((param_2 & 1) != 0) { FUN_004022d0(param_1); } } return; } /* @00449d44 file=? name=FUN_00449d44 */ undefined4 FUN_00449d44(void) { return 1; } /* @00449d50 file=? name=FUN_00449d50 */ void __cdecl FUN_00449d50(uint *param_1,char *param_2) { char cVar1; int *piVar2; uint uVar3; uint uVar4; char *pcVar5; char *pcVar6; undefined8 uVar7; uint *puVar8; char local_78 [32]; char local_58 [80]; uint local_8; FUN_004dbb24(&DAT_00524e20,param_2,(char *)0x0); FUN_004dbb24(&DAT_00524e20,s_PixelMap8__004eee1c,(char *)0x0); uVar3 = 0xffffffff; do { pcVar5 = param_2; if (uVar3 == 0) break; uVar3 = uVar3 - 1; pcVar5 = param_2 + 1; cVar1 = *param_2; param_2 = pcVar5; } while (cVar1 != '\0'); uVar3 = ~uVar3; pcVar5 = pcVar5 + -uVar3; pcVar6 = local_58; for (uVar4 = uVar3 >> 2; uVar4 != 0; uVar4 = uVar4 - 1) { *(undefined4 *)pcVar6 = *(undefined4 *)pcVar5; pcVar5 = pcVar5 + 4; pcVar6 = pcVar6 + 4; } for (uVar3 = uVar3 & 3; uVar3 != 0; uVar3 = uVar3 - 1) { *pcVar6 = *pcVar5; pcVar5 = pcVar5 + 1; pcVar6 = pcVar6 + 1; } FUN_004d49b8(local_58,&DAT_004eee28); puVar8 = param_1; FUN_004dbb24(&DAT_00524e20,local_58,(char *)0x0); FUN_004dbb24(&DAT_00524e20,s_Size___004eee2c,(char *)0x0); piVar2 = (int *)FUN_00407f08(&DAT_00524e20,puVar8); FUN_004dbb24(piVar2,&DAT_004eee3a,(char *)0x0); uVar3 = param_1[2]; FUN_004dbb24(&DAT_00524e20,local_58,(char *)0x0); FUN_004dbb24(&DAT_00524e20,s_MapPointer___004eee3c,(char *)0x0); uVar7 = FUN_004dbd4c(&DAT_00524e20,uVar3); FUN_004dbb24((int *)uVar7,&DAT_004eee4a,(char *)0x0); if (param_1[2] != 0) { for (local_8 = param_1[1]; 0 < (int)local_8; local_8 = local_8 - 1) { FUN_004dbb24(&DAT_00524e20,local_58,(char *)0x0); for (uVar3 = *param_1; 0 < (int)uVar3; uVar3 = uVar3 - 1) { FUN_004d7f10(local_78,s__02X_004eee4c); FUN_004dbb24(&DAT_00524e20,local_78,(char *)0x0); } FUN_004dbb24(&DAT_00524e20,&DAT_004eee52,(char *)0x0); } } return; } /* @00449ed0 file=? name=FUN_00449ed0 */ int * __cdecl FUN_00449ed0(int *param_1,int param_2,int param_3) { int iVar1; *param_1 = param_2; param_1[1] = param_3; iVar1 = FUN_004022b0(param_2 * param_3 * 2); param_1[2] = iVar1; return param_1; } /* @00449efc file=munga/graph2d.cpp name=FUN_00449efc */ undefined4 * __cdecl FUN_00449efc(undefined4 *param_1) { FUN_0040385c(s_PixelMap16__PixelMap16_char____U_004eee54,s_d__tesla_bt_munga_GRAPH2D_CPP_004eee82, 0x3d0); param_1[2] = 0; *param_1 = 0; param_1[1] = 0; return param_1; } /* @00449f30 file=? name=FUN_00449f30 */ void __cdecl FUN_00449f30(int *param_1,byte param_2) { if (param_1 != (int *)0x0) { if ((int *)param_1[2] != (int *)0x0) { FUN_004022d0((int *)param_1[2]); *param_1 = 0; param_1[1] = 0; param_1[2] = 0; } if ((param_2 & 1) != 0) { FUN_004022d0(param_1); } } return; } /* @00449f68 file=? name=FUN_00449f68 */ undefined4 FUN_00449f68(void) { return 1; } /* @00449f74 file=? name=FUN_00449f74 */ void __cdecl FUN_00449f74(uint *param_1,char *param_2) { char cVar1; int *piVar2; uint uVar3; uint uVar4; char *pcVar5; char *pcVar6; undefined8 uVar7; uint *puVar8; char local_54 [80]; FUN_004dbb24(&DAT_00524e20,param_2,(char *)0x0); FUN_004dbb24(&DAT_00524e20,s_PixelMap16__004eeea0,(char *)0x0); uVar3 = 0xffffffff; do { pcVar5 = param_2; if (uVar3 == 0) break; uVar3 = uVar3 - 1; pcVar5 = param_2 + 1; cVar1 = *param_2; param_2 = pcVar5; } while (cVar1 != '\0'); uVar3 = ~uVar3; pcVar5 = pcVar5 + -uVar3; pcVar6 = local_54; for (uVar4 = uVar3 >> 2; uVar4 != 0; uVar4 = uVar4 - 1) { *(undefined4 *)pcVar6 = *(undefined4 *)pcVar5; pcVar5 = pcVar5 + 4; pcVar6 = pcVar6 + 4; } for (uVar3 = uVar3 & 3; uVar3 != 0; uVar3 = uVar3 - 1) { *pcVar6 = *pcVar5; pcVar5 = pcVar5 + 1; pcVar6 = pcVar6 + 1; } FUN_004d49b8(local_54,&DAT_004eeead); puVar8 = param_1; FUN_004dbb24(&DAT_00524e20,local_54,(char *)0x0); FUN_004dbb24(&DAT_00524e20,s_Size___004eeeb1,(char *)0x0); piVar2 = (int *)FUN_00407f08(&DAT_00524e20,puVar8); FUN_004dbb24(piVar2,&DAT_004eeebf,(char *)0x0); uVar3 = param_1[2]; FUN_004dbb24(&DAT_00524e20,local_54,(char *)0x0); FUN_004dbb24(&DAT_00524e20,s_MapPointer___004eeec1,(char *)0x0); uVar7 = FUN_004dbd4c(&DAT_00524e20,uVar3); FUN_004dbb24((int *)uVar7,&DAT_004eeecf,(char *)0x0); return; } /* @0044a078 file=? name=FUN_0044a078 */ undefined4 * __cdecl FUN_0044a078(undefined4 *param_1,int param_2,int param_3) { *param_1 = &PTR_FUN_004ef640; FUN_00407b9c(param_1 + 1); param_1[1] = 0; param_1[2] = 0; param_1[3] = param_2 + -1; param_1[4] = param_3 + -1; return param_1; } /* @0044a0ac file=? name=FUN_0044a0ac */ void __cdecl FUN_0044a0ac(int *param_1,byte param_2) { if ((param_1 != (int *)0x0) && (*param_1 = (int)&PTR_FUN_004ef640, (param_2 & 1) != 0)) { FUN_004022d0(param_1); } return; } /* @0044a0cc file=? name=FUN_0044a0cc */ void __cdecl FUN_0044a0cc(int param_1,char *param_2) { char cVar1; int *piVar2; uint uVar3; uint uVar4; uint *puVar5; char *pcVar6; char *pcVar7; char local_54 [80]; FUN_004dbb24(&DAT_00524e20,param_2,(char *)0x0); FUN_004dbb24(&DAT_00524e20,s_GraphicsDisplay__004eeed1,(char *)0x0); uVar3 = 0xffffffff; do { pcVar6 = param_2; if (uVar3 == 0) break; uVar3 = uVar3 - 1; pcVar6 = param_2 + 1; cVar1 = *param_2; param_2 = pcVar6; } while (cVar1 != '\0'); uVar3 = ~uVar3; pcVar6 = pcVar6 + -uVar3; pcVar7 = local_54; for (uVar4 = uVar3 >> 2; uVar4 != 0; uVar4 = uVar4 - 1) { *(undefined4 *)pcVar7 = *(undefined4 *)pcVar6; pcVar6 = pcVar6 + 4; pcVar7 = pcVar7 + 4; } for (uVar3 = uVar3 & 3; uVar3 != 0; uVar3 = uVar3 - 1) { *pcVar7 = *pcVar6; pcVar6 = pcVar6 + 1; pcVar7 = pcVar7 + 1; } FUN_004d49b8(local_54,&DAT_004eeee3); puVar5 = (uint *)(param_1 + 4); FUN_004dbb24(&DAT_00524e20,local_54,(char *)0x0); FUN_004dbb24(&DAT_00524e20,s_bounds___004eeee7,(char *)0x0); piVar2 = (int *)FUN_00407d78(&DAT_00524e20,puVar5); FUN_004dbb24(piVar2,&DAT_004eeef0,(char *)0x0); return; } /* @0044a188 file=? name=FUN_0044a188 */ undefined4 FUN_0044a188(void) { return 1; } /* @0044a194 file=? name=FUN_0044a194 */ undefined4 FUN_0044a194(void) { return 0; } /* @0044a19c file=? name=FUN_0044a19c */ void FUN_0044a19c(void) { return; } /* @0044a1a4 file=munga/graph2d.cpp name=FUN_0044a1a4 */ undefined4 * __cdecl FUN_0044a1a4(undefined4 *param_1) { undefined4 local_14; undefined4 local_10; undefined4 local_c; undefined4 local_8; FUN_0040385c(s_GraphicsDisplay__TextBounds______004eeef2,s_d__tesla_bt_munga_GRAPH2D_CPP_004eef25, 0x43f); FUN_00407b9c(&local_14); *param_1 = local_14; param_1[1] = local_10; param_1[2] = local_c; param_1[3] = local_8; return param_1; } /* @0044a1f0 file=munga/graph2d.cpp name=FUN_0044a1f0 */ void FUN_0044a1f0(void) { FUN_0040385c(s_GraphicsDisplay__DrawPoint_not_o_004eef43,s_d__tesla_bt_munga_GRAPH2D_CPP_004eef6d, 0x450); return; } /* @0044a20c file=munga/graph2d.cpp name=FUN_0044a20c */ void FUN_0044a20c(void) { FUN_0040385c(s_GraphicsDisplay__DrawLine_not_ov_004eef8b,s_d__tesla_bt_munga_GRAPH2D_CPP_004eefb4, 0x45f); return; } /* @0044a228 file=munga/graph2d.cpp name=FUN_0044a228 */ void FUN_0044a228(void) { FUN_0040385c(s_GraphicsDisplay__DrawFilledRecta_004eefd2,s_d__tesla_bt_munga_GRAPH2D_CPP_004ef006, 0x46d); return; } /* @0044a244 file=munga/graph2d.cpp name=FUN_0044a244 */ void FUN_0044a244(void) { FUN_0040385c(s_GraphicsDisplay__DrawText_not_ov_004ef024,s_d__tesla_bt_munga_GRAPH2D_CPP_004ef04d, 0x47e); return; } /* @0044a260 file=munga/graph2d.cpp name=FUN_0044a260 */ void FUN_0044a260(void) { FUN_0040385c(s_GraphicsDisplay__DrawBitMap_not_o_004ef06b,s_d__tesla_bt_munga_GRAPH2D_CPP_004ef096 ,0x490); return; } /* @0044a27c file=munga/graph2d.cpp name=FUN_0044a27c */ void FUN_0044a27c(void) { FUN_0040385c(s_GraphicsDisplay__DrawBitMapOpaqu_004ef0b4,s_d__tesla_bt_munga_GRAPH2D_CPP_004ef0e5, 0x4a3); return; } /* @0044a298 file=munga/graph2d.cpp name=FUN_0044a298 */ void FUN_0044a298(void) { FUN_0040385c(s_GraphicsDisplay__DrawPixelMap8_n_004ef103,s_d__tesla_bt_munga_GRAPH2D_CPP_004ef131, 0x4b6); return; } /* @0044a2b4 file=munga/graph2d.cpp name=FUN_0044a2b4 */ void FUN_0044a2b4(void) { FUN_0040385c(s_GraphicsDisplay__DrawPixelMap8Si_004ef14f,s_d__tesla_bt_munga_GRAPH2D_CPP_004ef188, 0x4c8); return; } /* @0044a2d0 file=? name=FUN_0044a2d0 */ undefined4 * __cdecl FUN_0044a2d0(undefined4 *param_1,undefined4 *param_2,char *param_3) { char cVar1; int iVar2; uint uVar3; uint uVar4; undefined4 *puVar5; char *pcVar6; undefined4 *puVar7; char *pcVar8; *param_1 = &PTR_FUN_004ef610; FUN_00407b9c(param_1 + 1); if (param_2 == (undefined4 *)0x0) { param_1[1] = 0; param_1[2] = 0; param_1[3] = 0; param_1[4] = 0; } else { iVar2 = 4; puVar5 = param_2; puVar7 = param_1; while( true ) { puVar7 = puVar7 + 1; puVar5 = puVar5 + 1; if (iVar2 == 0) break; iVar2 = iVar2 + -1; *puVar7 = *puVar5; } } param_1[5] = param_2; uVar3 = 0xffffffff; do { pcVar6 = param_3; if (uVar3 == 0) break; uVar3 = uVar3 - 1; pcVar6 = param_3 + 1; cVar1 = *param_3; param_3 = pcVar6; } while (cVar1 != '\0'); uVar3 = ~uVar3; pcVar6 = pcVar6 + -uVar3; pcVar8 = (char *)(param_1 + 6); for (uVar4 = uVar3 >> 2; uVar4 != 0; uVar4 = uVar4 - 1) { *(undefined4 *)pcVar8 = *(undefined4 *)pcVar6; pcVar6 = pcVar6 + 4; pcVar8 = pcVar8 + 4; } for (uVar3 = uVar3 & 3; uVar3 != 0; uVar3 = uVar3 - 1) { *pcVar8 = *pcVar6; pcVar6 = pcVar6 + 1; pcVar8 = pcVar8 + 1; } return param_1; } /* @0044a348 file=? name=FUN_0044a348 */ void __cdecl FUN_0044a348(int *param_1,byte param_2) { if ((param_1 != (int *)0x0) && (*param_1 = (int)&PTR_FUN_004ef610, (param_2 & 1) != 0)) { FUN_004022d0(param_1); } return; } /* @0044a368 file=? name=FUN_0044a368 */ undefined4 FUN_0044a368(void) { return 1; } /* @0044a374 file=? name=FUN_0044a374 */ void __cdecl FUN_0044a374(int param_1,char *param_2) { char cVar1; int *piVar2; uint uVar3; uint uVar4; char *pcVar5; char *pcVar6; undefined8 uVar7; uint *puVar8; char local_54 [80]; FUN_004dbb24(&DAT_00524e20,param_2,(char *)0x0); FUN_004dbb24(&DAT_00524e20,s_GraphicsPort__004ef1a6,(char *)0x0); uVar3 = 0xffffffff; do { pcVar5 = param_2; if (uVar3 == 0) break; uVar3 = uVar3 - 1; pcVar5 = param_2 + 1; cVar1 = *param_2; param_2 = pcVar5; } while (cVar1 != '\0'); uVar3 = ~uVar3; pcVar5 = pcVar5 + -uVar3; pcVar6 = local_54; for (uVar4 = uVar3 >> 2; uVar4 != 0; uVar4 = uVar4 - 1) { *(undefined4 *)pcVar6 = *(undefined4 *)pcVar5; pcVar5 = pcVar5 + 4; pcVar6 = pcVar6 + 4; } for (uVar3 = uVar3 & 3; uVar3 != 0; uVar3 = uVar3 - 1) { *pcVar6 = *pcVar5; pcVar5 = pcVar5 + 1; pcVar6 = pcVar6 + 1; } FUN_004d49b8(local_54,&DAT_004ef1b5); puVar8 = (uint *)(param_1 + 4); FUN_004dbb24(&DAT_00524e20,local_54,(char *)0x0); FUN_004dbb24(&DAT_00524e20,s_bounds___004ef1b9,(char *)0x0); piVar2 = (int *)FUN_00407d78(&DAT_00524e20,puVar8); FUN_004dbb24(piVar2,&DAT_004ef1ca,(char *)0x0); uVar3 = *(uint *)(param_1 + 0x14); FUN_004dbb24(&DAT_00524e20,local_54,(char *)0x0); FUN_004dbb24(&DAT_00524e20,s_graphicsDisplay__004ef1cc,(char *)0x0); uVar7 = FUN_004dbd4c(&DAT_00524e20,uVar3); FUN_004dbb24((int *)uVar7,&DAT_004ef1dd,(char *)0x0); FUN_004d9c70(&DAT_00524e20); return; } /* @0044a488 file=? name=FUN_0044a488 */ undefined4 __cdecl FUN_0044a488(undefined4 param_1,int param_2,undefined4 param_3,undefined4 param_4,undefined4 param_5 ,undefined4 param_6) { (**(code **)(**(int **)(param_2 + 0x14) + 0x10)) (param_1,*(int **)(param_2 + 0x14),param_3,param_4,param_5,param_6); return param_1; } /* @0044a4b8 file=munga/graph2d.cpp name=FUN_0044a4b8 */ void FUN_0044a4b8(void) { FUN_0040385c(s_GraphicsPort__SetColor_not_overr_004ef1df,s_d__tesla_bt_munga_GRAPH2D_CPP_004ef205, 0x522); return; } /* @0044a4d4 file=munga/graph2d.cpp name=FUN_0044a4d4 */ void FUN_0044a4d4(void) { FUN_0040385c(s_GraphicsPort__DrawPoint_not_over_004ef223,s_d__tesla_bt_munga_GRAPH2D_CPP_004ef24a, 0x52d); return; } /* @0044a4f0 file=munga/graph2d.cpp name=FUN_0044a4f0 */ void FUN_0044a4f0(void) { FUN_0040385c(s_GraphicsPort__DrawLine_not_overr_004ef268,s_d__tesla_bt_munga_GRAPH2D_CPP_004ef28e, 0x53b); return; } /* @0044a50c file=munga/graph2d.cpp name=FUN_0044a50c */ void FUN_0044a50c(void) { FUN_0040385c(s_GraphicsPort__DrawFilledRectangl_004ef2ac,s_d__tesla_bt_munga_GRAPH2D_CPP_004ef2dd, 0x548); return; } /* @0044a528 file=munga/graph2d.cpp name=FUN_0044a528 */ void FUN_0044a528(void) { FUN_0040385c(s_GraphicsPort__DrawText_not_overr_004ef2fb,s_d__tesla_bt_munga_GRAPH2D_CPP_004ef321, 0x558); return; } /* @0044a544 file=munga/graph2d.cpp name=FUN_0044a544 */ void FUN_0044a544(void) { FUN_0040385c(s_GraphicsPort__DrawBitMap_not_ove_004ef33f,s_d__tesla_bt_munga_GRAPH2D_CPP_004ef367, 0x569); return; } /* @0044a560 file=munga/graph2d.cpp name=FUN_0044a560 */ void FUN_0044a560(void) { FUN_0040385c(s_GraphicsPort__DrawBitMapOpaque_n_004ef385,s_d__tesla_bt_munga_GRAPH2D_CPP_004ef3b3, 0x57b); return; } /* @0044a57c file=munga/graph2d.cpp name=FUN_0044a57c */ void FUN_0044a57c(void) { FUN_0040385c(s_GraphicsPort__DrawPixelMap8_not_o_004ef3d1,s_d__tesla_bt_munga_GRAPH2D_CPP_004ef3fc ,0x58c); return; } /* @0044a598 file=munga/graph2d.cpp name=FUN_0044a598 */ void FUN_0044a598(void) { FUN_0040385c(s_GraphicsPort__DrawPixelMap8Singl_004ef41a,s_d__tesla_bt_munga_GRAPH2D_CPP_004ef450, 0x59d); return; } /* @0044a5b4 file=? name=FUN_0044a5b4 */ uint * __cdecl FUN_0044a5b4(uint *param_1) { uint uVar1; *param_1 = 0x1000; param_1[1] = 0; uVar1 = FUN_004022b0(*param_1); param_1[2] = uVar1; param_1[3] = 0; return param_1; } /* @0044a5dc file=? name=FUN_0044a5dc */ void __cdecl FUN_0044a5dc(int *param_1,byte param_2) { if (param_1 != (int *)0x0) { if ((int *)param_1[3] != (int *)0x0) { FUN_0044a5dc((int *)param_1[3],3); param_1[3] = 0; } if ((int *)param_1[2] != (int *)0x0) { FUN_004022d0((int *)param_1[2]); param_1[2] = 0; } if ((param_2 & 1) != 0) { FUN_004022d0(param_1); } } return; } /* @0044a624 file=? name=FUN_0044a624 */ undefined4 FUN_0044a624(void) { return 1; } /* @0044a630 file=? name=FUN_0044a630 */ void __cdecl FUN_0044a630(int param_1) { if (*(int *)(param_1 + 0xc) != 0) { FUN_0044a630(*(int *)(param_1 + 0xc)); } *(undefined4 *)(param_1 + 4) = 0; return; } /* @0044a650 file=? name=FUN_0044a650 */ void __cdecl FUN_0044a650(int *param_1,int param_2,uint param_3) { int *piVar1; bool bVar2; int iVar3; undefined4 uVar4; uint uVar5; uint uVar6; uint uVar7; uint uVar8; uint uVar9; uint uVar10; uint uVar11; uint uVar12; uint uVar13; uint uVar14; piVar1 = *(int **)(param_2 + 0x40); if (piVar1 == (int *)0x0) { FUN_0044a630((int)param_1); } else { bVar2 = true; FUN_0044aab0(param_1,0); FUN_0044a630((int)param_1); do { iVar3 = FUN_0044ab0c(param_1); switch(iVar3) { case 0: bVar2 = false; break; case 1: uVar6 = FUN_0044abc4(param_1); iVar3 = FUN_0044ab0c(param_1); uVar7 = FUN_0044abc4(param_1); uVar8 = FUN_0044abc4(param_1); if (param_3 != 0xffffffff) { uVar6 = param_3; } (**(code **)(*piVar1 + 0x10))(piVar1,uVar6,iVar3,uVar7,uVar8); break; case 2: uVar6 = FUN_0044abc4(param_1); iVar3 = FUN_0044ab0c(param_1); uVar7 = FUN_0044abc4(param_1); uVar8 = FUN_0044abc4(param_1); uVar9 = FUN_0044abc4(param_1); uVar10 = FUN_0044abc4(param_1); uVar4 = FUN_0044ab80(param_1); if (param_3 != 0xffffffff) { uVar6 = param_3; } (**(code **)(*piVar1 + 0x14))(piVar1,uVar6,iVar3,uVar7,uVar8,uVar9,uVar10,uVar4); break; case 3: uVar6 = FUN_0044abc4(param_1); iVar3 = FUN_0044ab0c(param_1); uVar7 = FUN_0044abc4(param_1); uVar8 = FUN_0044abc4(param_1); uVar9 = FUN_0044abc4(param_1); uVar10 = FUN_0044abc4(param_1); if (param_3 != 0xffffffff) { uVar6 = param_3; } (**(code **)(*piVar1 + 0x18))(piVar1,uVar6,iVar3,uVar7,uVar8,uVar9,uVar10); break; case 4: uVar6 = FUN_0044abc4(param_1); iVar3 = FUN_0044ab0c(param_1); uVar7 = FUN_0044abc4(param_1); uVar8 = FUN_0044abc4(param_1); uVar9 = FUN_0044abc4(param_1); uVar10 = FUN_0044ac48(param_1); uVar11 = FUN_0044abc4(param_1); uVar12 = FUN_0044abc4(param_1); uVar13 = FUN_0044abc4(param_1); uVar14 = FUN_0044abc4(param_1); if (param_3 != 0xffffffff) { uVar6 = param_3; } (**(code **)(*piVar1 + 0x20)) (piVar1,uVar6,iVar3,uVar7,uVar8,uVar9,uVar10,uVar11,uVar12,uVar13,uVar14); break; case 5: uVar6 = FUN_0044abc4(param_1); uVar7 = FUN_0044abc4(param_1); iVar3 = FUN_0044ab0c(param_1); uVar8 = FUN_0044abc4(param_1); uVar9 = FUN_0044abc4(param_1); uVar10 = FUN_0044abc4(param_1); uVar11 = FUN_0044ac48(param_1); uVar12 = FUN_0044abc4(param_1); uVar13 = FUN_0044abc4(param_1); uVar14 = FUN_0044abc4(param_1); uVar5 = FUN_0044abc4(param_1); if (param_3 != 0xffffffff) { uVar6 = param_3; } (**(code **)(*piVar1 + 0x24)) (piVar1,uVar6,uVar7,iVar3,uVar8,uVar9,uVar10,uVar11,uVar12,uVar13,uVar14,uVar5); break; case 6: iVar3 = FUN_0044ab0c(param_1); uVar6 = FUN_0044abc4(param_1); uVar7 = FUN_0044abc4(param_1); uVar8 = FUN_0044abc4(param_1); uVar9 = FUN_0044abc4(param_1); uVar10 = FUN_0044ac48(param_1); uVar11 = FUN_0044abc4(param_1); uVar12 = FUN_0044abc4(param_1); uVar13 = FUN_0044abc4(param_1); uVar14 = FUN_0044abc4(param_1); if (param_3 == 0xffffffff) { (**(code **)(*piVar1 + 0x28)) (piVar1,iVar3,uVar6,uVar7,uVar8,uVar9,uVar10,uVar11,uVar12,uVar13,uVar14); } else { (**(code **)(*piVar1 + 0x2c)) (piVar1,param_3,iVar3,uVar7,uVar8,uVar9,uVar10,uVar11,uVar12,uVar13,uVar14); } break; case 7: uVar6 = FUN_0044abc4(param_1); iVar3 = FUN_0044ab0c(param_1); uVar7 = FUN_0044abc4(param_1); uVar8 = FUN_0044abc4(param_1); uVar9 = FUN_0044abc4(param_1); uVar10 = FUN_0044ac48(param_1); uVar11 = FUN_0044abc4(param_1); uVar12 = FUN_0044abc4(param_1); uVar13 = FUN_0044abc4(param_1); uVar14 = FUN_0044abc4(param_1); if (param_3 != 0xffffffff) { uVar6 = param_3; } (**(code **)(*piVar1 + 0x2c)) (piVar1,uVar6,iVar3,uVar7,uVar8,uVar9,uVar10,uVar11,uVar12,uVar13,uVar14); } } while (bVar2); } return; } /* @0044aab0 file=? name=FUN_0044aab0 */ void __cdecl FUN_0044aab0(int *param_1,undefined4 param_2) { int iVar1; uint *puVar2; if (param_1[1] < *param_1) { iVar1 = param_1[1]; param_1[1] = param_1[1] + 1; *(char *)(param_1[2] + iVar1) = (char)param_2; } else { if (param_1[3] == 0) { puVar2 = (uint *)FUN_00402298(0x10); if (puVar2 == (uint *)0x0) { puVar2 = (uint *)0x0; } else { puVar2 = FUN_0044a5b4(puVar2); } param_1[3] = (int)puVar2; } FUN_0044aab0((int *)param_1[3],param_2); } return; } /* @0044ab0c file=munga/graph2d.cpp name=FUN_0044ab0c */ int __cdecl FUN_0044ab0c(int *param_1) { int iVar1; if (param_1[1] < *param_1) { iVar1 = param_1[1]; param_1[1] = param_1[1] + 1; return (int)*(char *)(param_1[2] + iVar1); } if (param_1[3] == 0) { FUN_0040385c(s_GraphicsViewRecord__GetChar___ha_004ef46e, s_d__tesla_bt_munga_GRAPH2D_CPP_004ef498,0x746); return 0; } iVar1 = FUN_0044ab0c((int *)param_1[3]); return iVar1; } /* @0044ab58 file=? name=FUN_0044ab58 */ void __cdecl FUN_0044ab58(int *param_1,int param_2) { if (param_2 != 0) { FUN_0044aab0(param_1,1); return; } FUN_0044aab0(param_1,0); return; } /* @0044ab80 file=? name=FUN_0044ab80 */ undefined4 __cdecl FUN_0044ab80(int *param_1) { int iVar1; iVar1 = FUN_0044ab0c(param_1); if (iVar1 != 0) { return 1; } return 0; } /* @0044ab9c file=? name=FUN_0044ab9c */ void __cdecl FUN_0044ab9c(int *param_1,int param_2) { FUN_0044aab0(param_1,param_2 >> 8); FUN_0044aab0(param_1,param_2); return; } /* @0044abc4 file=? name=FUN_0044abc4 */ uint __cdecl FUN_0044abc4(int *param_1) { int iVar1; uint uVar2; iVar1 = FUN_0044ab0c(param_1); uVar2 = FUN_0044ab0c(param_1); uVar2 = iVar1 << 8 | uVar2 & 0xff; if ((iVar1 << 8 & 0x8000U) != 0) { uVar2 = uVar2 | 0xffff0000; } return uVar2; } /* @0044abf8 file=? name=FUN_0044abf8 */ void __cdecl FUN_0044abf8(int *param_1,int param_2) { FUN_0044aab0(param_1,param_2 >> 0x18); FUN_0044aab0(param_1,param_2 >> 0x10); FUN_0044aab0(param_1,param_2 >> 8); FUN_0044aab0(param_1,param_2); return; } /* @0044ac48 file=? name=FUN_0044ac48 */ uint __cdecl FUN_0044ac48(int *param_1) { int iVar1; uint uVar2; uint uVar3; uint uVar4; iVar1 = FUN_0044ab0c(param_1); uVar2 = FUN_0044ab0c(param_1); uVar3 = FUN_0044ab0c(param_1); uVar4 = FUN_0044ab0c(param_1); return iVar1 << 0x18 | (uVar2 & 0xff) << 0x10 | (uVar3 & 0xff) << 8 | uVar4 & 0xff; } /* @0044ac98 file=? name=FUN_0044ac98 */ undefined4 * __cdecl FUN_0044ac98(undefined4 *param_1,int param_2,undefined4 param_3,undefined4 param_4, undefined4 param_5,undefined4 param_6) { int *piVar1; int iVar2; undefined4 *puVar3; undefined4 *puVar4; *param_1 = &PTR_FUN_004ef59c; piVar1 = param_1 + 1; FUN_00407b9c(piVar1); FUN_00407b9c(param_1 + 0xb); param_1[0x10] = param_2; param_1[7] = 0; param_1[8] = 0; param_1[9] = 0; param_1[10] = 1; param_1[0xf] = 0; if (param_2 == 0) { param_1[1] = 0; param_1[2] = 0; param_1[3] = 0; param_1[4] = 0; param_1[5] = param_1[1]; param_1[6] = param_1[2]; } else { param_1[1] = param_3; param_1[2] = param_4; param_1[3] = param_5; param_1[4] = param_6; FUN_00407de3(piVar1,piVar1,(int *)(param_1[0x10] + 4)); FUN_00407de3(param_1 + 3,param_1 + 3,(int *)(param_1[0x10] + 4)); param_1[5] = param_1[1]; param_1[6] = param_1[2]; FUN_00407cd0(piVar1,piVar1,(int *)(param_1[0x10] + 4)); } puVar4 = param_1 + 0xb; puVar3 = param_1; for (iVar2 = 4; puVar3 = puVar3 + 1, iVar2 != 0; iVar2 = iVar2 + -1) { *puVar4 = *puVar3; puVar4 = puVar4 + 1; } param_1[0x11] = 0; return param_1; } /* @0044ad78 file=? name=FUN_0044ad78 */ undefined4 * __cdecl FUN_0044ad78(undefined4 *param_1,undefined4 *param_2) { int iVar1; undefined4 *puVar2; undefined4 *puVar3; *param_1 = &PTR_FUN_004ef59c; FUN_00407b9c(param_1 + 1); FUN_00407b9c(param_1 + 0xb); param_1[0x10] = param_2; param_1[7] = 0; param_1[8] = 0; param_1[9] = 0; param_1[10] = 1; param_1[0xf] = 0; if (param_2 == (undefined4 *)0x0) { param_1[1] = 0; param_1[2] = 0; param_1[3] = 0; param_1[4] = 0; } else { iVar1 = 4; puVar2 = param_1; while( true ) { puVar2 = puVar2 + 1; param_2 = param_2 + 1; if (iVar1 == 0) break; iVar1 = iVar1 + -1; *puVar2 = *param_2; } } param_1[5] = param_1[1]; param_1[6] = param_1[2]; puVar3 = param_1 + 0xb; puVar2 = param_1; for (iVar1 = 4; puVar2 = puVar2 + 1, iVar1 != 0; iVar1 = iVar1 + -1) { *puVar3 = *puVar2; puVar3 = puVar3 + 1; } param_1[0x11] = 0; return param_1; } /* @0044ae0c file=? name=FUN_0044ae0c */ void __cdecl FUN_0044ae0c(int *param_1,byte param_2) { if ((param_1 != (int *)0x0) && (*param_1 = (int)&PTR_FUN_004ef59c, (param_2 & 1) != 0)) { FUN_004022d0(param_1); } return; } /* @0044ae2c file=? name=FUN_0044ae2c */ void __cdecl FUN_0044ae2c(undefined4 *param_1,undefined4 param_2,undefined4 param_3,int param_4,int param_5) { int *piVar1; int iVar2; undefined4 *puVar3; if (param_1[0x10] != 0) { piVar1 = param_1 + 1; param_1[1] = param_2; param_1[2] = param_3; param_1[3] = param_4 + -1; param_1[4] = param_5 + -1; FUN_00407de3(piVar1,piVar1,(int *)(param_1[0x10] + 4)); FUN_00407de3(param_1 + 3,param_1 + 3,(int *)(param_1[0x10] + 4)); param_1[5] = param_1[1]; param_1[6] = param_1[2]; FUN_00407cd0(piVar1,piVar1,(int *)(param_1[0x10] + 4)); puVar3 = param_1 + 0xb; for (iVar2 = 4; param_1 = param_1 + 1, iVar2 != 0; iVar2 = iVar2 + -1) { *puVar3 = *param_1; puVar3 = puVar3 + 1; } } return; } /* @0044aeb0 file=? name=FUN_0044aeb0 */ undefined4 FUN_0044aeb0(void) { return 1; } /* @0044aebc file=? name=FUN_0044aebc */ void __cdecl FUN_0044aebc(int param_1,char *param_2) { char cVar1; int iVar2; int *piVar3; uint uVar4; uint uVar5; char *pcVar6; char *pcVar7; undefined8 uVar8; uint *puVar9; char local_54 [80]; FUN_004dbb24(&DAT_00524e20,param_2,(char *)0x0); FUN_004dbb24(&DAT_00524e20,s_GraphicsView__004ef4b6,(char *)0x0); uVar4 = 0xffffffff; do { pcVar6 = param_2; if (uVar4 == 0) break; uVar4 = uVar4 - 1; pcVar6 = param_2 + 1; cVar1 = *param_2; param_2 = pcVar6; } while (cVar1 != '\0'); uVar4 = ~uVar4; pcVar6 = pcVar6 + -uVar4; pcVar7 = local_54; for (uVar5 = uVar4 >> 2; uVar5 != 0; uVar5 = uVar5 - 1) { *(undefined4 *)pcVar7 = *(undefined4 *)pcVar6; pcVar6 = pcVar6 + 4; pcVar7 = pcVar7 + 4; } for (uVar4 = uVar4 & 3; uVar4 != 0; uVar4 = uVar4 - 1) { *pcVar7 = *pcVar6; pcVar6 = pcVar6 + 1; pcVar7 = pcVar7 + 1; } FUN_004d49b8(local_54,&DAT_004ef4c5); puVar9 = (uint *)(param_1 + 4); FUN_004dbb24(&DAT_00524e20,local_54,(char *)0x0); FUN_004dbb24(&DAT_00524e20,s_areaWithinPort___004ef4c9,(char *)0x0); piVar3 = (int *)FUN_00407d78(&DAT_00524e20,puVar9); FUN_004dbb24(piVar3,&DAT_004ef4dd,(char *)0x0); puVar9 = (uint *)(param_1 + 0x14); FUN_004dbb24(&DAT_00524e20,local_54,(char *)0x0); FUN_004dbb24(&DAT_00524e20,s_origin___004ef4df,(char *)0x0); piVar3 = (int *)FUN_00407f08(&DAT_00524e20,puVar9); FUN_004dbb24(piVar3,&DAT_004ef4f3,(char *)0x0); puVar9 = (uint *)(param_1 + 0x1c); FUN_004dbb24(&DAT_00524e20,local_54,(char *)0x0); FUN_004dbb24(&DAT_00524e20,s_currentPosition___004ef4f5,(char *)0x0); piVar3 = (int *)FUN_00407f08(&DAT_00524e20,puVar9); FUN_004dbb24(piVar3,&DAT_004ef509,(char *)0x0); uVar4 = *(uint *)(param_1 + 0x24); FUN_004dbb24(&DAT_00524e20,local_54,(char *)0x0); FUN_004dbb24(&DAT_00524e20,s_currentFontID___004ef50b,(char *)0x0); piVar3 = FUN_004db78c(&DAT_00524e20,uVar4); FUN_004dbb24(piVar3,&DAT_004ef51f,(char *)0x0); uVar4 = *(uint *)(param_1 + 0x28); FUN_004dbb24(&DAT_00524e20,local_54,(char *)0x0); FUN_004dbb24(&DAT_00524e20,s_currentColor___004ef521,(char *)0x0); piVar3 = FUN_004db78c(&DAT_00524e20,uVar4); FUN_004dbb24(piVar3,&DAT_004ef535,(char *)0x0); puVar9 = (uint *)(param_1 + 0x2c); FUN_004dbb24(&DAT_00524e20,local_54,(char *)0x0); FUN_004dbb24(&DAT_00524e20,s_clippingRectangle___004ef537,(char *)0x0); piVar3 = (int *)FUN_00407d78(&DAT_00524e20,puVar9); FUN_004dbb24(piVar3,&DAT_004ef54b,(char *)0x0); FUN_004dbb24(&DAT_00524e20,local_54,(char *)0x0); FUN_004dbb24(&DAT_00524e20,s_currentOperation___004ef54d,(char *)0x0); iVar2 = *(int *)(param_1 + 0x3c); if (iVar2 == 0) { FUN_004dbb24(&DAT_00524e20,s_REPLACE_004ef56a,(char *)0x0); } else if (iVar2 == 1) { FUN_004dbb24(&DAT_00524e20,&DAT_004ef561,(char *)0x0); } else if (iVar2 == 2) { FUN_004dbb24(&DAT_00524e20,&DAT_004ef566,(char *)0x0); } else { uVar4 = *(uint *)(param_1 + 0x3c); FUN_004dbb24(&DAT_00524e20,s_Unsupported_type__004ef573,(char *)0x0); piVar3 = FUN_004db78c(&DAT_00524e20,uVar4); FUN_004dbb24(piVar3,&DAT_004ef585,(char *)0x0); } uVar4 = *(uint *)(param_1 + 0x40); FUN_004dbb24(&DAT_00524e20,local_54,(char *)0x0); FUN_004dbb24(&DAT_00524e20,s_graphicsPort___004ef587,(char *)0x0); uVar8 = FUN_004dbd4c(&DAT_00524e20,uVar4); FUN_004dbb24((int *)uVar8,&DAT_004ef598,(char *)0x0); return; } /* @0044b1e8 file=? name=FUN_0044b1e8 */ void __cdecl FUN_0044b1e8(int param_1,undefined4 param_2) { *(undefined4 *)(param_1 + 0x3c) = param_2; return; } /* @0044b1f8 file=? name=FUN_0044b1f8 */ void __cdecl FUN_0044b1f8(int param_1,int param_2,int param_3) { int *piVar1; piVar1 = (int *)(param_1 + 0x1c); FUN_00407e04(piVar1,piVar1,(int *)(param_1 + 0x14)); *(int *)(param_1 + 0x14) = param_2 + *(int *)(param_1 + 4); *(int *)(param_1 + 0x18) = param_3 + *(int *)(param_1 + 8); FUN_00407de3(piVar1,piVar1,(int *)(param_1 + 0x14)); return; } /* @0044b240 file=? name=FUN_0044b240 */ void __cdecl FUN_0044b240(int param_1,undefined4 param_2) { *(undefined4 *)(param_1 + 0x24) = param_2; return; } /* @0044b250 file=? name=FUN_0044b250 */ void __cdecl FUN_0044b250(int param_1,undefined4 param_2) { *(undefined4 *)(param_1 + 0x28) = param_2; return; } /* @0044b260 file=? name=FUN_0044b260 */ void __cdecl FUN_0044b260(int param_1,int *param_2) { int iVar1; int *piVar2; int local_14 [4]; FUN_00407b9c(local_14); piVar2 = local_14; for (iVar1 = 4; iVar1 != 0; iVar1 = iVar1 + -1) { *piVar2 = *param_2; param_2 = param_2 + 1; piVar2 = piVar2 + 1; } FUN_00407de3(local_14,local_14,(int *)(param_1 + 0x14)); FUN_00407de3(local_14 + 2,local_14 + 2,(int *)(param_1 + 0x14)); if (*(int *)(param_1 + 0x40) == 0) { *(undefined4 *)(param_1 + 0x2c) = 1; *(undefined4 *)(param_1 + 0x34) = 0; } else { FUN_00407cd0((int *)(param_1 + 0x2c),(int *)(*(int *)(param_1 + 0x40) + 4),local_14); } return; } /* @0044b2e0 file=? name=FUN_0044b2e0 */ void __cdecl FUN_0044b2e0(undefined4 *param_1) { int iVar1; undefined4 *puVar2; puVar2 = param_1 + 0xb; for (iVar1 = 4; param_1 = param_1 + 1, iVar1 != 0; iVar1 = iVar1 + -1) { *puVar2 = *param_1; puVar2 = puVar2 + 1; } return; } /* @0044b2fc file=? name=FUN_0044b2fc */ void __cdecl FUN_0044b2fc(int param_1,int param_2,int param_3) { *(int *)(param_1 + 0x1c) = *(int *)(param_1 + 0x14) + param_2; *(int *)(param_1 + 0x20) = *(int *)(param_1 + 0x18) + param_3; return; } /* @0044b318 file=? name=FUN_0044b318 */ void __cdecl FUN_0044b318(int param_1,int param_2,int param_3) { *(int *)(param_1 + 0x1c) = *(int *)(param_1 + 0x1c) + param_2; *(int *)(param_1 + 0x20) = *(int *)(param_1 + 0x20) + param_3; return; } /* @0044b32c file=? name=FUN_0044b32c */ void __cdecl FUN_0044b32c(int *param_1) { int *piVar1; int iVar2; iVar2 = (**(code **)(*param_1 + 0x6c))(param_1,param_1[7],param_1[8]); piVar1 = (int *)param_1[0x10]; if ((piVar1 != (int *)0x0) && (iVar2 == 0)) { (**(code **)(*piVar1 + 0x10))(piVar1,param_1[10],param_1[0xf],param_1[7],param_1[8]); if ((int *)param_1[0x11] != (int *)0x0) { FUN_0044aab0((int *)param_1[0x11],1); FUN_0044ab9c((int *)param_1[0x11],param_1[10]); FUN_0044aab0((int *)param_1[0x11],param_1[0xf]); FUN_0044ab9c((int *)param_1[0x11],param_1[7]); FUN_0044ab9c((int *)param_1[0x11],param_1[8]); } } return; } /* @0044b3c8 file=? name=FUN_0044b3c8 */ void __cdecl FUN_0044b3c8(int *param_1,int param_2,int param_3) { int iVar1; int iVar2; iVar1 = param_1[5]; iVar2 = param_1[6]; FUN_0044bdfc(param_1,param_1[7],param_1[8],iVar1 + param_2,iVar2 + param_3,1); param_1[7] = iVar1 + param_2; param_1[8] = iVar2 + param_3; return; } /* @0044b428 file=? name=FUN_0044b428 */ void __cdecl FUN_0044b428(int *param_1,int param_2,int param_3) { int iVar1; int iVar2; iVar1 = param_1[7]; iVar2 = param_1[8]; FUN_0044bdfc(param_1,param_1[7],param_1[8],iVar1 + param_2,iVar2 + param_3,1); param_1[7] = iVar1 + param_2; param_1[8] = iVar2 + param_3; return; } /* @0044b488 file=? name=FUN_0044b488 */ void __cdecl FUN_0044b488(int *param_1,int param_2,int param_3) { int iVar1; int iVar2; iVar1 = param_1[5]; iVar2 = param_1[6]; FUN_0044bcf0(param_1,param_1[7],param_1[8],iVar1 + param_2,iVar2 + param_3); param_1[7] = iVar1 + param_2; param_1[8] = iVar2 + param_3; return; } /* @0044b4f8 file=? name=FUN_0044b4f8 */ void __cdecl FUN_0044b4f8(int *param_1,int param_2,int param_3) { int iVar1; int iVar2; iVar2 = param_1[7] + param_2; iVar1 = param_1[8] + param_3; FUN_0044bcf0(param_1,param_1[7],param_1[8],iVar2,iVar1); param_1[7] = iVar2; param_1[8] = iVar1; return; } /* @0044b568 file=? name=FUN_0044b568 */ void __cdecl FUN_0044b568(int *param_1,int param_2,int param_3) { int local_c; int local_8; local_c = param_1[7]; local_8 = param_1[8]; FUN_00407e04(&local_c,&local_c,param_1 + 5); (**(code **)(*param_1 + 0x30))(param_1,local_c,param_3); (**(code **)(*param_1 + 0x30))(param_1,param_2,param_3); (**(code **)(*param_1 + 0x30))(param_1,param_2,local_8); (**(code **)(*param_1 + 0x30))(param_1,local_c,local_8); param_1[7] = param_2; param_1[8] = param_3; return; } /* @0044b5e0 file=? name=FUN_0044b5e0 */ void __cdecl FUN_0044b5e0(int *param_1,int param_2,int param_3) { int local_c; int local_8; local_c = param_1[7]; local_8 = param_1[8]; FUN_00407e04(&local_c,&local_c,param_1 + 5); (**(code **)(*param_1 + 0x34))(param_1,0,param_3); (**(code **)(*param_1 + 0x34))(param_1,param_2,0); (**(code **)(*param_1 + 0x34))(param_1,0,-param_3); (**(code **)(*param_1 + 0x34))(param_1,-param_2,0); param_1[7] = param_2 + local_c; param_1[8] = param_3 + local_8; return; } /* @0044b664 file=? name=FUN_0044b664 */ void __cdecl FUN_0044b664(int param_1,int param_2,int param_3) { int local_14; int local_10; int local_c; int local_8; FUN_00407b9c(&local_14); local_14 = *(int *)(param_1 + 0x1c); local_10 = *(int *)(param_1 + 0x20); local_c = *(int *)(param_1 + 0x14) + param_2; local_8 = *(int *)(param_1 + 0x18) + param_3; FUN_0044c074(param_1,local_14,local_10,local_c,local_8); *(int *)(param_1 + 0x1c) = local_c; *(int *)(param_1 + 0x20) = local_8; return; } /* @0044b6d0 file=? name=FUN_0044b6d0 */ void __cdecl FUN_0044b6d0(int param_1,int param_2,int param_3) { int local_14; int local_10; int local_c; int local_8; FUN_00407b9c(&local_14); local_14 = *(int *)(param_1 + 0x1c); local_10 = *(int *)(param_1 + 0x20); local_c = *(int *)(param_1 + 0x1c) + param_2; local_8 = *(int *)(param_1 + 0x20) + param_3; FUN_0044c074(param_1,local_14,local_10,local_c,local_8); *(int *)(param_1 + 0x1c) = local_c; *(int *)(param_1 + 0x20) = local_8; return; } /* @0044b73c file=? name=FUN_0044b73c */ void FUN_0044b73c(void) { return; } /* @0044b744 file=? name=FUN_0044b744 */ void __cdecl FUN_0044b744(int param_1,int param_2,int param_3,undefined4 param_4,undefined4 param_5, undefined4 param_6,undefined4 param_7) { int iVar1; int local_1c; int local_18; int local_14; int local_10; int local_c; int local_8; FUN_00407bd0(&local_1c,param_4,param_5,param_6,param_7); if (param_3 != 0) { iVar1 = FUN_0044c174(param_1,&local_1c,&local_c,*(int *)(param_3 + 0xc),*(int *)(param_3 + 0x10) ); if (iVar1 != 0) { (**(code **)(**(int **)(param_1 + 0x40) + 0x20)) (*(int **)(param_1 + 0x40),*(undefined4 *)(param_1 + 0x28), *(undefined4 *)(param_1 + 0x3c),param_2,local_c,local_8,param_3,local_1c,local_18, local_14,local_10); if (*(int **)(param_1 + 0x44) != (int *)0x0) { FUN_0044aab0(*(int **)(param_1 + 0x44),4); FUN_0044ab9c(*(int **)(param_1 + 0x44),*(int *)(param_1 + 0x28)); FUN_0044aab0(*(int **)(param_1 + 0x44),*(undefined4 *)(param_1 + 0x3c)); FUN_0044ab9c(*(int **)(param_1 + 0x44),param_2); FUN_0044ab9c(*(int **)(param_1 + 0x44),local_c); FUN_0044ab9c(*(int **)(param_1 + 0x44),local_8); FUN_0044abf8(*(int **)(param_1 + 0x44),param_3); FUN_0044ab9c(*(int **)(param_1 + 0x44),local_1c); FUN_0044ab9c(*(int **)(param_1 + 0x44),local_18); FUN_0044ab9c(*(int **)(param_1 + 0x44),local_14); FUN_0044ab9c(*(int **)(param_1 + 0x44),local_10); } } } return; } /* @0044b88c file=? name=FUN_0044b88c */ void __cdecl FUN_0044b88c(int param_1,int param_2,int param_3,int param_4,undefined4 param_5,undefined4 param_6, undefined4 param_7,undefined4 param_8) { int iVar1; int local_1c; int local_18; int local_14; int local_10; int local_c; int local_8; FUN_00407bd0(&local_1c,param_5,param_6,param_7,param_8); if (param_4 != 0) { iVar1 = FUN_0044c174(param_1,&local_1c,&local_c,*(int *)(param_4 + 0xc),*(int *)(param_4 + 0x10) ); if (iVar1 != 0) { (**(code **)(**(int **)(param_1 + 0x40) + 0x24)) (*(int **)(param_1 + 0x40),*(undefined4 *)(param_1 + 0x28),param_2, *(undefined4 *)(param_1 + 0x3c),param_3,local_c,local_8,param_4,local_1c,local_18, local_14,local_10); if (*(int **)(param_1 + 0x44) != (int *)0x0) { FUN_0044aab0(*(int **)(param_1 + 0x44),5); FUN_0044ab9c(*(int **)(param_1 + 0x44),*(int *)(param_1 + 0x28)); FUN_0044ab9c(*(int **)(param_1 + 0x44),param_2); FUN_0044aab0(*(int **)(param_1 + 0x44),*(undefined4 *)(param_1 + 0x3c)); FUN_0044ab9c(*(int **)(param_1 + 0x44),param_3); FUN_0044ab9c(*(int **)(param_1 + 0x44),local_c); FUN_0044ab9c(*(int **)(param_1 + 0x44),local_8); FUN_0044abf8(*(int **)(param_1 + 0x44),param_4); FUN_0044ab9c(*(int **)(param_1 + 0x44),local_1c); FUN_0044ab9c(*(int **)(param_1 + 0x44),local_18); FUN_0044ab9c(*(int **)(param_1 + 0x44),local_14); FUN_0044ab9c(*(int **)(param_1 + 0x44),local_10); } } } return; } /* @0044b9e8 file=? name=FUN_0044b9e8 */ void __cdecl FUN_0044b9e8(int param_1,int param_2,int param_3,int *param_4,undefined4 param_5,undefined4 param_6, undefined4 param_7,undefined4 param_8) { int iVar1; int local_1c; int local_18; int local_14; int local_10; int local_c; int local_8; FUN_00407bd0(&local_1c,param_5,param_6,param_7,param_8); if (param_4 != (int *)0x0) { iVar1 = FUN_0044c174(param_1,&local_1c,&local_c,*param_4,param_4[1]); if (iVar1 != 0) { (**(code **)(**(int **)(param_1 + 0x40) + 0x28)) (*(int **)(param_1 + 0x40),*(undefined4 *)(param_1 + 0x3c),param_2,param_3,local_c, local_8,param_4,local_1c,local_18,local_14,local_10); if (*(int **)(param_1 + 0x44) != (int *)0x0) { FUN_0044aab0(*(int **)(param_1 + 0x44),6); FUN_0044aab0(*(int **)(param_1 + 0x44),*(undefined4 *)(param_1 + 0x3c)); FUN_0044ab9c(*(int **)(param_1 + 0x44),param_2); FUN_0044ab9c(*(int **)(param_1 + 0x44),param_3); FUN_0044ab9c(*(int **)(param_1 + 0x44),local_c); FUN_0044ab9c(*(int **)(param_1 + 0x44),local_8); FUN_0044abf8(*(int **)(param_1 + 0x44),(int)param_4); FUN_0044ab9c(*(int **)(param_1 + 0x44),local_1c); FUN_0044ab9c(*(int **)(param_1 + 0x44),local_18); FUN_0044ab9c(*(int **)(param_1 + 0x44),local_14); FUN_0044ab9c(*(int **)(param_1 + 0x44),local_10); } } } return; } /* @0044bb30 file=? name=FUN_0044bb30 */ void __cdecl FUN_0044bb30(int param_1,int param_2,int *param_3,undefined4 param_4,undefined4 param_5, undefined4 param_6,undefined4 param_7) { int iVar1; int local_1c; int local_18; int local_14; int local_10; int local_c; int local_8; FUN_00407bd0(&local_1c,param_4,param_5,param_6,param_7); if (param_3 != (int *)0x0) { iVar1 = FUN_0044c174(param_1,&local_1c,&local_c,*param_3,param_3[1]); if (iVar1 != 0) { (**(code **)(**(int **)(param_1 + 0x40) + 0x2c)) (*(int **)(param_1 + 0x40),*(undefined4 *)(param_1 + 0x28), *(undefined4 *)(param_1 + 0x3c),param_2,local_c,local_8,param_3,local_1c,local_18, local_14,local_10); if (*(int **)(param_1 + 0x44) != (int *)0x0) { FUN_0044aab0(*(int **)(param_1 + 0x44),7); FUN_0044ab9c(*(int **)(param_1 + 0x44),*(int *)(param_1 + 0x28)); FUN_0044aab0(*(int **)(param_1 + 0x44),*(undefined4 *)(param_1 + 0x3c)); FUN_0044ab9c(*(int **)(param_1 + 0x44),param_2); FUN_0044ab9c(*(int **)(param_1 + 0x44),local_c); FUN_0044ab9c(*(int **)(param_1 + 0x44),local_8); FUN_0044abf8(*(int **)(param_1 + 0x44),(int)param_3); FUN_0044ab9c(*(int **)(param_1 + 0x44),local_1c); FUN_0044ab9c(*(int **)(param_1 + 0x44),local_18); FUN_0044ab9c(*(int **)(param_1 + 0x44),local_14); FUN_0044ab9c(*(int **)(param_1 + 0x44),local_10); } } } return; } /* @0044bc78 file=? name=FUN_0044bc78 */ void __cdecl FUN_0044bc78(int param_1,undefined4 param_2,undefined4 param_3) { int *piVar1; piVar1 = *(int **)(param_1 + 0x40); if (piVar1 != (int *)0x0) { (**(code **)(*piVar1 + 0xc))(piVar1,param_2,param_3); } return; } /* @0044bc98 file=? name=FUN_0044bc98 */ void __cdecl FUN_0044bc98(int param_1,undefined4 param_2) { *(undefined4 *)(param_1 + 0x44) = param_2; return; } /* @0044bca8 file=? name=FUN_0044bca8 */ void __cdecl FUN_0044bca8(int param_1) { *(undefined4 *)(param_1 + 0x44) = 0; return; } /* @0044bcb8 file=? name=FUN_0044bcb8 */ uint __cdecl FUN_0044bcb8(int param_1,int param_2,int param_3) { uint uVar1; uVar1 = 0; if (param_2 < *(int *)(param_1 + 0x2c)) { uVar1 = 1; } else if (*(int *)(param_1 + 0x34) < param_2) { uVar1 = 2; } if (param_3 < *(int *)(param_1 + 0x30)) { uVar1 = uVar1 | 4; } else if (*(int *)(param_1 + 0x38) < param_3) { uVar1 = uVar1 | 8; } return uVar1; } /* @0044bcf0 file=? name=FUN_0044bcf0 */ void __cdecl FUN_0044bcf0(int *param_1,int param_2,int param_3,int param_4,int param_5) { FUN_0044bdfc(param_1,param_2,param_3,param_4,param_5,1); FUN_0044bdfc(param_1,param_2 + -1,param_3,param_4 + -1,param_5,1); FUN_0044bdfc(param_1,param_2,param_3 + 1,param_4,param_5 + 1,1); FUN_0044bdfc(param_1,param_2 + 1,param_3,param_4 + 1,param_5,1); FUN_0044bdfc(param_1,param_2,param_3 + -1,param_4,param_5 + -1,1); return; } /* @0044bdfc file=? name=FUN_0044bdfc */ void __cdecl FUN_0044bdfc(int *param_1,int param_2,int param_3,int param_4,int param_5,int param_6) { bool bVar1; bool bVar2; bool bVar3; uint uVar4; int iVar5; int iVar6; uint uVar7; uint local_8; bVar3 = false; bVar1 = false; bVar2 = false; if (param_1[0x10] != 0) { uVar4 = (**(code **)(*param_1 + 0x6c))(param_1,param_2,param_3); local_8 = (**(code **)(*param_1 + 0x6c))(param_1,param_4,param_5); while (iVar6 = param_3, iVar5 = param_2, local_8 != 0 || uVar4 != 0) { if ((local_8 & uVar4) != 0) { return; } uVar7 = uVar4; if (uVar4 == 0) { param_2 = param_4; param_3 = param_5; param_4 = iVar5; param_5 = iVar6; bVar1 = (bool)(bVar1 ^ 1); uVar7 = local_8; local_8 = uVar4; bVar2 = bVar3; } if ((uVar7 & 1) == 0) { if ((uVar7 & 2) == 0) { if ((uVar7 & 8) == 0) { if ((uVar7 & 4) != 0) { bVar3 = true; param_2 = param_2 + ((param_4 - param_2) * (param_1[0xc] - param_3)) / (param_5 - param_3); param_3 = param_1[0xc]; } } else { param_2 = param_2 + ((param_4 - param_2) * (param_1[0xe] - param_3)) / (param_5 - param_3); bVar3 = true; param_3 = param_1[0xe]; } } else { iVar5 = param_1[0xd] - param_2; iVar6 = param_4 - param_2; bVar3 = true; param_2 = param_1[0xd]; param_3 = param_3 + ((param_5 - param_3) * iVar5) / iVar6; } } else { iVar5 = param_1[0xb] - param_2; iVar6 = param_4 - param_2; bVar3 = true; param_2 = param_1[0xb]; param_3 = param_3 + ((param_5 - param_3) * iVar5) / iVar6; } uVar4 = (**(code **)(*param_1 + 0x6c))(param_1,param_2,param_3); } if (bVar1) { param_2 = param_4; param_3 = param_5; param_4 = iVar5; param_5 = iVar6; bVar2 = bVar3; } if (bVar2) { param_6 = 1; } (**(code **)(*(int *)param_1[0x10] + 0x14)) ((int *)param_1[0x10],param_1[10],param_1[0xf],param_2,param_3,param_4,param_5,param_6 ); if ((int *)param_1[0x11] != (int *)0x0) { FUN_0044aab0((int *)param_1[0x11],2); FUN_0044ab9c((int *)param_1[0x11],param_1[10]); FUN_0044aab0((int *)param_1[0x11],param_1[0xf]); FUN_0044ab9c((int *)param_1[0x11],param_2); FUN_0044ab9c((int *)param_1[0x11],param_3); FUN_0044ab9c((int *)param_1[0x11],param_4); FUN_0044ab9c((int *)param_1[0x11],param_5); FUN_0044ab58((int *)param_1[0x11],param_6); } } return; } /* @0044c074 file=? name=FUN_0044c074 */ void __cdecl FUN_0044c074(int param_1,int param_2,int param_3,int param_4,int param_5) { bool bVar1; int iVar2; int iVar3; iVar3 = param_3; iVar2 = param_2; if (*(int *)(param_1 + 0x40) != 0) { if (param_4 < param_2) { param_2 = param_4; param_4 = iVar2; } if (param_5 < param_3) { param_3 = param_5; param_5 = iVar3; } FUN_00407cd0(¶m_2,(int *)(param_1 + 0x2c),¶m_2); bVar1 = true; if ((param_2 <= param_4) && (param_3 <= param_5)) { bVar1 = false; } if (!bVar1) { (**(code **)(**(int **)(param_1 + 0x40) + 0x18)) (*(int **)(param_1 + 0x40),*(undefined4 *)(param_1 + 0x28), *(undefined4 *)(param_1 + 0x3c),param_2,param_3,param_4,param_5); if (*(int **)(param_1 + 0x44) != (int *)0x0) { FUN_0044aab0(*(int **)(param_1 + 0x44),3); FUN_0044ab9c(*(int **)(param_1 + 0x44),*(int *)(param_1 + 0x28)); FUN_0044aab0(*(int **)(param_1 + 0x44),*(undefined4 *)(param_1 + 0x3c)); FUN_0044ab9c(*(int **)(param_1 + 0x44),param_2); FUN_0044ab9c(*(int **)(param_1 + 0x44),param_3); FUN_0044ab9c(*(int **)(param_1 + 0x44),param_4); FUN_0044ab9c(*(int **)(param_1 + 0x44),param_5); } } } return; } /* @0044c174 file=? name=FUN_0044c174 */ undefined4 __cdecl FUN_0044c174(int param_1,int *param_2,int *param_3,int param_4,int param_5) { bool bVar1; int iVar2; int *piVar3; int *piVar4; int local_34 [4]; int local_24 [4]; int local_14; int local_10; int local_c; int local_8; if (*(int *)(param_1 + 0x40) != 0) { FUN_00407b9c(local_24); if (*param_2 < 0) { *param_2 = 0; } if (param_4 <= param_2[2]) { param_2[2] = param_4 + -1; } if (param_2[1] < 0) { param_2[1] = 0; } if (param_5 <= param_2[3]) { param_2[3] = param_5 + -1; } local_c = *param_2; local_8 = param_2[1]; local_14 = param_2[2]; local_10 = param_2[3]; FUN_00407e04(&local_14,&local_14,param_2); local_24[0] = *(int *)(param_1 + 0x1c); local_24[1] = *(int *)(param_1 + 0x20); local_24[2] = *(int *)(param_1 + 0x1c); local_24[3] = *(int *)(param_1 + 0x20); FUN_00407de3(local_24 + 2,local_24 + 2,&local_14); FUN_00407b9c(local_34); piVar3 = local_24; piVar4 = local_34; for (iVar2 = 4; iVar2 != 0; iVar2 = iVar2 + -1) { *piVar4 = *piVar3; piVar3 = piVar3 + 1; piVar4 = piVar4 + 1; } FUN_00407cd0(local_24,local_34,(int *)(param_1 + 0x2c)); bVar1 = true; if ((local_24[0] <= local_24[2]) && (local_24[1] <= local_24[3])) { bVar1 = false; } if (!bVar1) { *param_3 = local_24[0]; param_3[1] = local_24[1]; local_14 = local_24[2]; local_10 = local_24[3]; FUN_00407e04(&local_14,&local_14,local_24); *param_2 = local_c; param_2[1] = local_8; param_2[2] = local_c; param_2[3] = local_8; FUN_00407de3(param_2 + 2,param_2 + 2,&local_14); return 1; } } return 0; } /* @0044c2d0 file=? name=FUN_0044c2d0 */ void __cdecl FUN_0044c2d0(undefined4 *param_1,undefined4 param_2) { *param_1 = &PTR_FUN_004ef68c; param_1[1] = param_2; return; } /* @0044c2e4 file=? name=FUN_0044c2e4 */ void __cdecl FUN_0044c2e4(int *param_1,byte param_2) { if ((param_1 != (int *)0x0) && (*param_1 = (int)&PTR_FUN_004ef68c, (param_2 & 1) != 0)) { FUN_004022d0(param_1); } return; } /* @0044c304 file=? name=FUN_0044c304 */ undefined4 FUN_0044c304(void) { return 1; } /* @0044c310 file=? name=FUN_0044c310 */ undefined4 __cdecl FUN_0044c310(undefined4 param_1,char *param_2,undefined4 *param_3) { int iVar1; iVar1 = FUN_004d4b58(param_2,s_ModeAlwaysActive_004ef678); if (iVar1 == 0) { *param_3 = 0xffffffff; return 1; } *param_3 = 0; return 0; } /* @0044c344 file=? name=FUN_0044c344 */ undefined4 * __cdecl FUN_0044c344(undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4) { FUN_004178cc(param_1,param_2); *param_1 = &PTR_FUN_004ef8d4; FUN_0044ca72(param_1 + 4,param_1); param_1[3] = param_3; (**(code **)(param_1[4] + 4))(param_1 + 4,param_4); return param_1; } /* @0044c388 file=? name=FUN_0044c388 */ void __cdecl FUN_0044c388(int *param_1,byte param_2) { if (param_1 != (int *)0x0) { *param_1 = (int)&PTR_FUN_004ef8d4; FUN_0044ca91(param_1 + 4,2); FUN_0041790c(param_1,0); if ((param_2 & 1) != 0) { FUN_004022d0(param_1); } } return; } /* @0044c3c4 file=munga/controls.cpp name=FUN_0044c3c4 */ void FUN_0044c3c4(void) { FUN_0040385c(s_ControlsInstance__Update_not_ove_004ef6cc,s_d__tesla_bt_munga_CONTROLS_CPP_004ef6f5 ,0x3d); return; } /* @0044c3e0 file=? name=FUN_0044c3e0 */ void __cdecl FUN_0044c3e0(undefined4 *param_1) { if (param_1 != (undefined4 *)0x0) { (**(code **)*param_1)(param_1,3); } return; } /* @0044c3f8 file=? name=FUN_0044c3f8 */ undefined4 * __cdecl FUN_0044c3f8(undefined4 *param_1) { FUN_004178cc(param_1,0x18); *param_1 = &PTR_FUN_004ef8c0; FUN_0044cabd(param_1 + 3,param_1); return param_1; } /* @0044c424 file=? name=FUN_0044c424 */ void __cdecl FUN_0044c424(int *param_1,byte param_2) { if (param_1 != (int *)0x0) { *param_1 = (int)&PTR_FUN_004ef8c0; (**(code **)(*param_1 + 0xc))(param_1,0); FUN_0044cadc(param_1 + 3,2); FUN_0041790c(param_1,0); if ((param_2 & 1) != 0) { FUN_004022d0(param_1); } } return; } /* @0044c46c file=? name=FUN_0044c46c */ void __cdecl FUN_0044c46c(int param_1,uint param_2) { undefined4 *puVar1; int local_10 [3]; FUN_0044cb72(local_10,param_1 + 0xc); while( true ) { puVar1 = (undefined4 *)(**(code **)(local_10[0] + 0x28))(local_10); if (puVar1 == (undefined4 *)0x0) break; puVar1[3] = puVar1[3] & ~param_2; if ((puVar1[3] == 0) && (puVar1 != (undefined4 *)0x0)) { (**(code **)*puVar1)(puVar1,3); } } FUN_0044cbb0(local_10,2); return; } /* @0044c4d0 file=? name=FUN_0044c4d0 */ void __cdecl FUN_0044c4d0(int param_1,undefined4 param_2,uint param_3) { int *piVar1; int local_10 [3]; FUN_0044cb72(local_10,param_1 + 0xc); while( true ) { piVar1 = (int *)(**(code **)(local_10[0] + 0x28))(local_10); if (piVar1 == (int *)0x0) break; if ((piVar1[3] & param_3) != 0) { (**(code **)(*piVar1 + 0xc))(piVar1,param_2); } } FUN_0044cbb0(local_10,2); return; } /* @0044c52c file=? name=FUN_0044c52c */ undefined4 __cdecl FUN_0044c52c(int param_1,uint param_2) { int iVar1; undefined4 uVar2; int local_10 [3]; FUN_0044cb72(local_10,param_1 + 0xc); do { iVar1 = (**(code **)(local_10[0] + 0x28))(local_10); if (iVar1 == 0) { uVar2 = 0; FUN_0044cbb0(local_10,2); return uVar2; } } while ((*(uint *)(iVar1 + 0xc) & param_2) == 0); uVar2 = 1; FUN_0044cbb0(local_10,2); return uVar2; } /* @0044c594 file=? name=FUN_0044c594 */ undefined4 * __cdecl FUN_0044c594(undefined4 *param_1,undefined4 param_2,undefined4 param_3) { FUN_004178cc(param_1,param_2); *param_1 = &PTR_FUN_004e3320; param_1[3] = param_3; *param_1 = &PTR_FUN_004ef894; param_1[4] = 0; param_1[5] = 0; param_1[6] = 0; param_1[7] = 0; param_1[8] = DAT_004ef6c4; DAT_004ef6c4 = param_1; return param_1; } /* @0044c5e4 file=? name=FUN_0044c5e4 */ void __cdecl FUN_0044c5e4(int *param_1,byte param_2) { int *piVar1; int *piVar2; if (param_1 != (int *)0x0) { *param_1 = (int)&PTR_FUN_004ef894; piVar1 = (int *)0x0; for (piVar2 = DAT_004ef6c4; piVar2 != (int *)0x0; piVar2 = (int *)piVar2[8]) { if (param_1 == piVar2) { if (piVar1 == (int *)0x0) { DAT_004ef6c4 = (int *)param_1[8]; } else { piVar1[8] = param_1[8]; } break; } piVar1 = piVar2; } FUN_0041790c(param_1,0); if ((param_2 & 1) != 0) { FUN_004022d0(param_1); } } return; } /* @0044c640 file=munga/controls.cpp name=FUN_0044c640 */ void FUN_0044c640(void) { FUN_0040385c(s_ControlsManager__Remove_should_n_004ef724,s_d__tesla_bt_munga_CONTROLS_CPP_004ef753 ,0x120); return; } /* @0044c65c file=munga/controls.cpp name=FUN_0044c65c */ void FUN_0044c65c(void) { FUN_0040385c(s_ControlsManager__Execute_should_n_004ef772, s_d__tesla_bt_munga_CONTROLS_CPP_004ef7a2,0x126); return; } /* @0044c678 file=? name=FUN_0044c678 */ void __cdecl FUN_0044c678(int param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,undefined4 param_5 ,uint param_6,uint param_7) { int iVar1; *(undefined4 *)(param_1 + 0x14) = param_3; *(undefined4 *)(param_1 + 0x18) = param_5; *(undefined4 *)(param_1 + 0x10) = param_2; *(undefined4 *)(param_1 + 0x1c) = param_4; iVar1 = *(int *)(DAT_004efc94 + 0x50); *(undefined4 *)(iVar1 + 8) = *(undefined4 *)(iVar1 + 4); *(uint *)(iVar1 + 4) = *(uint *)(iVar1 + 4) & ~param_6; *(undefined4 *)(iVar1 + 8) = *(undefined4 *)(iVar1 + 4); *(uint *)(iVar1 + 4) = *(uint *)(iVar1 + 4) | param_7; return; } /* @0044c6fc file=? name=FUN_0044c6fc */ void FUN_0044c6fc(void) { return; } /* @0044c704 file=? name=FUN_0044c704 */ void __cdecl FUN_0044c704(int param_1) { FUN_0041a1a4(**(int **)(param_1 + 0xc),0x4ef690); return; } /* @0044c720 file=? name=FUN_0044c720 */ void FUN_0044c720(void) { int *piVar1; for (piVar1 = DAT_004ef6c4; piVar1 != (int *)0x0; piVar1 = (int *)piVar1[8]) { (**(code **)(*piVar1 + 0x1c))(piVar1); } return; } /* @0044c73c file=? name=FUN_0044c73c */ void FUN_0044c73c(void) { return; } /* @0044c744 file=? name=FUN_0044c744 */ undefined4 * __cdecl FUN_0044c744(undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4, undefined4 param_5,undefined4 param_6) { FUN_004178cc(param_1,0x52); *param_1 = &PTR_FUN_004ef888; param_1[3] = DAT_004ef6c8; DAT_004ef6c8 = DAT_004ef6c8 + 1; param_1[4] = param_2; param_1[0xb] = param_3; param_1[0xd] = param_4; param_1[0xe] = param_5; param_1[0xc] = param_6; *(undefined1 *)(param_1 + 5) = 0; param_1[10] = 0; return param_1; } /* @0044c798 file=? name=FUN_0044c798 */ void __cdecl FUN_0044c798(int *param_1,byte param_2) { if (param_1 != (int *)0x0) { *param_1 = (int)&PTR_FUN_004ef888; FUN_0041790c(param_1,0); if ((param_2 & 1) != 0) { FUN_004022d0(param_1); } } return; } /* @0044c7c4 file=? name=FUN_0044c7c4 */ undefined4 FUN_0044c7c4(void) { return 1; } /* @0044c7d0 file=? name=FUN_0044c7d0 */ void __cdecl FUN_0044c7d0(int param_1,int param_2,undefined1 param_3) { int iVar1; int iVar2; undefined4 local_14; undefined4 local_10; undefined4 local_c; undefined4 local_8; if (param_2 == *(int *)(param_1 + 0x2c)) { iVar2 = FUN_004d4a78(*(char **)(param_1 + 0x10)); if (0x10 < iVar2) { iVar2 = 0x10; } if (iVar2 < *(int *)(param_1 + 0x28)) { *(int *)(param_1 + 0x28) = iVar2; *(undefined1 *)(param_1 + 0x14 + iVar2) = 0; } if (*(int *)(param_1 + 0x28) < iVar2) { iVar1 = *(int *)(param_1 + 0x28); *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; *(undefined1 *)(param_1 + 0x14 + iVar1) = param_3; *(undefined1 *)(param_1 + 0x14 + *(int *)(param_1 + 0x28)) = 0; } else { if (1 < iVar2) { FUN_004d493c((undefined4 *)(param_1 + 0x14),(undefined4 *)(param_1 + 0x15),iVar2 - 1); } *(undefined1 *)(param_1 + 0x13 + iVar2) = param_3; } iVar2 = FUN_004d4bec((char *)(param_1 + 0x14),*(char **)(param_1 + 0x10),iVar2); if (iVar2 == 0) { local_8 = *(undefined4 *)(param_1 + 0x30); local_10 = *(undefined4 *)(param_1 + 0x38); local_14 = 0x10; local_c = 1; (**(code **)(**(int **)(param_1 + 0x34) + 0xc))(*(int **)(param_1 + 0x34),&local_14); *(undefined1 *)(param_1 + 0x14) = 0; *(undefined4 *)(param_1 + 0x28) = 0; } } return; } /* @0044c8a0 file=? name=FUN_0044c8a0 */ undefined4 * __cdecl FUN_0044c8a0(undefined4 *param_1) { FUN_004178cc(param_1,0x53); *param_1 = &PTR_FUN_004ef87c; FUN_0044cb08(param_1 + 3,param_1); return param_1; } /* @0044c8cc file=? name=FUN_0044c8cc */ void __cdecl FUN_0044c8cc(int *param_1,byte param_2) { if (param_1 != (int *)0x0) { *param_1 = (int)&PTR_FUN_004ef87c; FUN_0044c970((int)param_1,0); FUN_0044cb27(param_1 + 3,2); FUN_0041790c(param_1,0); if ((param_2 & 1) != 0) { FUN_004022d0(param_1); } } return; } /* @0044c914 file=? name=FUN_0044c914 */ undefined4 FUN_0044c914(void) { return 1; } /* @0044c920 file=? name=FUN_0044c920 */ undefined4 __cdecl FUN_0044c920(int param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,undefined4 param_5 ,undefined4 param_6) { undefined4 *puVar1; puVar1 = (undefined4 *)FUN_00402298(0x3c); if (puVar1 == (undefined4 *)0x0) { puVar1 = (undefined4 *)0x0; } else { puVar1 = FUN_0044c744(puVar1,param_2,param_3,param_4,param_5,param_6); } (**(code **)(*(int *)(param_1 + 0xc) + 4))(param_1 + 0xc,puVar1); return puVar1[3]; } /* @0044c970 file=? name=FUN_0044c970 */ void __cdecl FUN_0044c970(int param_1,int param_2) { undefined4 *puVar1; int local_10 [3]; FUN_0044cbfb(local_10,param_1 + 0xc); do { do { puVar1 = (undefined4 *)(**(code **)(local_10[0] + 0x28))(local_10); if (puVar1 == (undefined4 *)0x0) goto LAB_0044c9be; } while ((param_2 != 0) && (param_2 != puVar1[3])); if (puVar1 != (undefined4 *)0x0) { (**(code **)*puVar1)(puVar1,3); } } while (param_2 == 0); LAB_0044c9be: FUN_0044cc39(local_10,2); return; }