Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- char * getMangledSymbolStr(undefined4 param_1,int *param_2,char *param_3)
- {
- char cVar1;
- bool bVar2;
- int iVar3;
- char *unaff_EBP;
- char *pcVar4;
- char *pcVar5;
- char *pcVar6;
- uint uVar7;
- bVar2 = false;
- pcVar4 = param_3 + 1;
- switch(*param_3) {
- case 'a':
- pcVar5 = param_3 + 2;
- switch(*pcVar4) {
- case 'a':
- pcVar6 = param_3 + 3;
- switch(*pcVar5) {
- case '_':
- pcVar6 = param_3 + 2;
- unaff_EBP = s_operator_&&_005bfb8c;
- break;
- default:
- return NULL;
- case 'd':
- unaff_EBP = s_operator_&=_005bfb98;
- }
- break;
- default:
- return NULL;
- case 'd':
- pcVar6 = param_3 + 3;
- if (*pcVar5 == '_') {
- pcVar6 = param_3 + 2;
- unaff_EBP = s_operator_&_005bfba4;
- }
- else {
- if (*pcVar5 != 'v') {
- return NULL;
- }
- unaff_EBP = s_operator_/=_005bfbb0;
- }
- break;
- case 'e':
- if (*pcVar5 != 'r') {
- return NULL;
- }
- /* WARNING: Could not recover jumptable at 0x00527b77. Too many branches */
- /* WARNING: Treating indirect jump as call */
- pcVar4 = (char *)(*(code *)PTR_LAB_005c01dc)();
- return pcVar4;
- case 'l':
- if (*pcVar5 != 's') {
- return NULL;
- }
- /* WARNING: Could not recover jumptable at 0x00527b9f. Too many branches */
- /* WARNING: Treating indirect jump as call */
- pcVar4 = (char *)(*(code *)PTR_LAB_005c01d8)();
- return pcVar4;
- case 'm':
- pcVar6 = param_3 + 3;
- switch(*pcVar5) {
- case 'd':
- unaff_EBP = s_operator_%=_005bfbd8;
- break;
- default:
- return NULL;
- case 'i':
- unaff_EBP = s_operator_-=_005bfbe4;
- break;
- case 'u':
- unaff_EBP = s_operator_*=_005bfbf0;
- }
- break;
- case 'o':
- if (*pcVar5 != 'r') {
- return NULL;
- }
- /* WARNING: Could not recover jumptable at 0x00527c07. Too many branches */
- /* WARNING: Treating indirect jump as call */
- pcVar4 = (char *)(*(code *)PTR_LAB_005c018c)();
- return pcVar4;
- case 'p':
- if (*pcVar5 != 'l') {
- return NULL;
- }
- /* WARNING: Could not recover jumptable at 0x00527c2f. Too many branches */
- /* WARNING: Treating indirect jump as call */
- pcVar4 = (char *)(*(code *)PTR_LAB_005c0188)();
- return pcVar4;
- case 'r':
- if (*pcVar5 != 's') {
- return NULL;
- }
- /* WARNING: Could not recover jumptable at 0x00527c57. Too many branches */
- /* WARNING: Treating indirect jump as call */
- pcVar4 = (char *)(*(code *)PTR_LAB_005c0184)();
- return pcVar4;
- case 's':
- unaff_EBP = s_operator_=_005bfc24;
- pcVar6 = pcVar5;
- }
- break;
- default:
- return NULL;
- case 'c':
- pcVar6 = param_3 + 2;
- switch(*pcVar4) {
- case 'l':
- unaff_EBP = s_operator_()_005bfc30;
- break;
- case 'm':
- unaff_EBP = s_operator_,_005bfc3c;
- break;
- default:
- return NULL;
- case 'o':
- unaff_EBP = s_operator_~_005bfc48;
- break;
- case 't':
- unaff_EBP = &DAT_005bfc54;
- }
- break;
- case 'd':
- pcVar6 = param_3 + 2;
- switch(*pcVar4) {
- case 'l':
- if (*pcVar6 == 'a') {
- pcVar6 = param_3 + 3;
- unaff_EBP = s_operator_delete[]_005bfc58;
- }
- else {
- unaff_EBP = s_operator_delete_005bfc6c;
- }
- break;
- default:
- return NULL;
- case 't':
- unaff_EBP = &DAT_005bfc7c;
- break;
- case 'v':
- unaff_EBP = s_operator_/_005bfc80;
- }
- break;
- case 'e':
- pcVar6 = param_3 + 2;
- switch(*pcVar4) {
- case 'q':
- unaff_EBP = s_operator_==_005bfc8c;
- break;
- case 'r':
- unaff_EBP = s_operator_^_005bfc98;
- break;
- default:
- return NULL;
- }
- break;
- case 'g':
- if (*pcVar4 == 'e') {
- unaff_EBP = s_operator_>=_005bfca4;
- pcVar6 = param_3 + 2;
- }
- else {
- if (*pcVar4 != 't') {
- return NULL;
- }
- unaff_EBP = s_operator_>_005bfcb0;
- pcVar6 = param_3 + 2;
- }
- break;
- case 'l':
- pcVar6 = param_3 + 2;
- switch(*pcVar4) {
- case 'e':
- unaff_EBP = s_operator_<=_005bfcbc;
- break;
- default:
- return NULL;
- case 's':
- unaff_EBP = s_operator_<<_005bfcc8;
- break;
- case 't':
- unaff_EBP = s_operator_<_005bfcd4;
- }
- break;
- case 'm':
- pcVar6 = param_3 + 2;
- switch(*pcVar4) {
- case 'd':
- unaff_EBP = s_operator_%_005bfce0;
- break;
- default:
- return NULL;
- case 'i':
- unaff_EBP = s_operator_-_005bfcec;
- break;
- case 'l':
- unaff_EBP = s_operator_*_005bfcf8;
- break;
- case 'm':
- unaff_EBP = s_operator_--_005bfd04;
- }
- break;
- case 'n':
- pcVar6 = param_3 + 2;
- cVar1 = *pcVar4;
- if (cVar1 == 'e') {
- unaff_EBP = s_operator_!=_005bfd10;
- }
- else {
- if (cVar1 == 't') {
- unaff_EBP = s_operator_!_005bfd1c;
- }
- else {
- if (cVar1 != 'w') {
- return NULL;
- }
- if (*pcVar6 == 'a') {
- unaff_EBP = s_operator_new[]_005bfd28;
- pcVar6 = param_3 + 3;
- }
- else {
- unaff_EBP = s_operator_new_005bfd38;
- }
- }
- }
- break;
- case 'o':
- pcVar6 = param_3 + 2;
- switch(*pcVar4) {
- case 'o':
- unaff_EBP = s_operator_||_005bfd54;
- break;
- case 'p':
- if (param_2 != NULL) {
- uVar7 = 9;
- if ((uint)param_2[1] < 9) {
- uVar7 = param_2[1];
- }
- FUN_00404d00(*param_2,s_operator_005bfd60,uVar7);
- *param_2 = *param_2 + uVar7;
- param_2[1] = param_2[1] - uVar7;
- }
- pcVar6 = (char *)FUN_00526ee0(param_1,param_2,pcVar6);
- bVar2 = true;
- break;
- default:
- return NULL;
- case 'r':
- unaff_EBP = s_operator_|_005bfd48;
- }
- break;
- case 'p':
- pcVar6 = param_3 + 2;
- switch(*pcVar4) {
- case 'l':
- unaff_EBP = s_operator_+_005bfd6c;
- break;
- default:
- return NULL;
- case 'p':
- unaff_EBP = s_operator_++_005bfd78;
- }
- break;
- case 'r':
- pcVar6 = param_3 + 2;
- switch(*pcVar4) {
- case 'f':
- unaff_EBP = s_operator_->_005bfd84;
- break;
- default:
- return NULL;
- case 'm':
- unaff_EBP = s_operator_->*_005bfd9c;
- break;
- case 's':
- unaff_EBP = s_operator_>>_005bfd90;
- }
- break;
- case 'v':
- if (*pcVar4 != 'c') {
- return NULL;
- }
- /* WARNING: Could not recover jumptable at 0x00527f57. Too many branches */
- /* WARNING: Treating indirect jump as call */
- pcVar4 = (char *)(*(code *)PTR_LAB_005c0064)();
- return pcVar4;
- }
- if (bVar2) {
- pcVar4 = pcVar6 + 1;
- if ((*pcVar6 != '_') || (pcVar6 = pcVar6 + 2, *pcVar4 != '_')) {
- return NULL;
- }
- }
- else {
- if (*pcVar6 != 0) {
- if (param_2 != NULL) {
- iVar3 = -1;
- pcVar4 = unaff_EBP;
- do {
- if (iVar3 == 0) break;
- iVar3 += -1;
- cVar1 = *pcVar4;
- pcVar4 = pcVar4 + 1;
- } while (cVar1 != 0);
- uVar7 = -iVar3 - 2U;
- if ((uint)param_2[1] < -iVar3 - 2U) {
- uVar7 = param_2[1];
- }
- FUN_00404d00(*param_2,unaff_EBP,uVar7);
- *param_2 = *param_2 + uVar7;
- param_2[1] = param_2[1] - uVar7;
- }
- if (*pcVar6 == '<') {
- pcVar6 = (char *)FUN_00528030(param_1,param_2,pcVar6 + 1);
- }
- pcVar4 = pcVar6 + 1;
- if ((*pcVar6 != '_') || (pcVar6 = pcVar6 + 2, *pcVar4 != '_')) {
- return NULL;
- }
- }
- }
- *(undefined *)*param_2 = 0;
- param_2[1] = 0;
- return pcVar6;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement