{"jsonrpc": "2.0", "result": {"content": [{"type": "text", "text": "{\"addr\":\"0xffe4fb4f\",\"code\":\"int __cdecl sub_FFE4FB4F(int a1, int a2, int *a3)\\n{\\n int v3; // eax\\n int v4; // esi\\n int result; // eax\\n int v6; // ebx\\n int i; // edi\\n int v8; // eax\\n int v9; // ebp\\n int v10; // [esp+10h] [ebp-Ch] BYREF\\n int v11; // [esp+14h] [ebp-8h] BYREF\\n _BYTE v12[4]; // [esp+18h] [ebp-4h] BYREF\\n\\n sub_FFE4F76B(64, asc_FFE50C1C); /*0xffe4fb5d*/\\n if ( !a1 || !a2 ) /*0xffe4fb74*/\\n return -2147483646; /*0xffe4fc3a*/\\n v3 = sub_FFE4F7B3(); /*0xffe4fb7a*/\\n v4 = 0; /*0xffe4fb83*/\\n result = (*(int (__cdecl **)(int, void *, _DWORD, _DWORD, int *))(*(_DWORD *)v3 + 32))(v3, &unk_FFE50E94, 0, 0, &v10); /*0xffe4fb90*/\\n if ( result >= 0 ) /*0xffe4fb98*/\\n {\\n v6 = v10; /*0xffe4fb9e*/\\n if ( *(_DWORD *)(v10 + 8) ) /*0xffe4fba2*/\\n {\\n for ( i = v10 + 16; ; i += 40 ) /*0xffe4fba7*/\\n {\\n sub_FFE4F76B(64, asc_FFE50C40, v4); /*0xffe4fbb2*/\\n v8 = sub_FFE4E4CA(a2, (int)&v11, i); /*0xffe4fbc5*/\\n if ( v8 ) /*0xffe4fbd1*/\\n {\\n if ( (unsigned __int8)sub_FFE4E147(v8, i) ) /*0xffe4fbd7*/\\n {\\n sub_FFE4F76B(64, asc_FFE50C68); /*0xffe4fbe7*/\\n v9 = sub_FFE4E092(v12, i); /*0xffe4fc04*/\\n sub_FFE4F76B(64, \\\"PeiGetVariableAddressAmi 3\\\\n\\\"); /*0xffe4fc06*/\\n if ( v9 ) /*0xffe4fc10*/\\n break; /*0xffe4fc10*/\\n }\\n }\\n if ( (unsigned int)++v4 >= *(_DWORD *)(v6 + 8) ) /*0xffe4fc19*/\\n return -2147483634; /*0xffe4fc19*/\\n }\\n sub_FFE4F76B(64, \\\"PeiGetVariableAddressAmi 4\\\\n\\\"); /*0xffe4fc29*/\\n *a3 = v9; /*0xffe4fc34*/\\n return 0; /*0xffe4fc36*/\\n }\\n else\\n {\\n return -2147483634; /*0xffe4fc1b*/\\n }\\n }\\n return result; /*0xffe4fc3f*/\\n}\"}"}], "structuredContent": {"addr": "0xffe4fb4f", "code": "int __cdecl sub_FFE4FB4F(int a1, int a2, int *a3)\n{\n int v3; // eax\n int v4; // esi\n int result; // eax\n int v6; // ebx\n int i; // edi\n int v8; // eax\n int v9; // ebp\n int v10; // [esp+10h] [ebp-Ch] BYREF\n int v11; // [esp+14h] [ebp-8h] BYREF\n _BYTE v12[4]; // [esp+18h] [ebp-4h] BYREF\n\n sub_FFE4F76B(64, asc_FFE50C1C); /*0xffe4fb5d*/\n if ( !a1 || !a2 ) /*0xffe4fb74*/\n return -2147483646; /*0xffe4fc3a*/\n v3 = sub_FFE4F7B3(); /*0xffe4fb7a*/\n v4 = 0; /*0xffe4fb83*/\n result = (*(int (__cdecl **)(int, void *, _DWORD, _DWORD, int *))(*(_DWORD *)v3 + 32))(v3, &unk_FFE50E94, 0, 0, &v10); /*0xffe4fb90*/\n if ( result >= 0 ) /*0xffe4fb98*/\n {\n v6 = v10; /*0xffe4fb9e*/\n if ( *(_DWORD *)(v10 + 8) ) /*0xffe4fba2*/\n {\n for ( i = v10 + 16; ; i += 40 ) /*0xffe4fba7*/\n {\n sub_FFE4F76B(64, asc_FFE50C40, v4); /*0xffe4fbb2*/\n v8 = sub_FFE4E4CA(a2, (int)&v11, i); /*0xffe4fbc5*/\n if ( v8 ) /*0xffe4fbd1*/\n {\n if ( (unsigned __int8)sub_FFE4E147(v8, i) ) /*0xffe4fbd7*/\n {\n sub_FFE4F76B(64, asc_FFE50C68); /*0xffe4fbe7*/\n v9 = sub_FFE4E092(v12, i); /*0xffe4fc04*/\n sub_FFE4F76B(64, \"PeiGetVariableAddressAmi 3\\n\"); /*0xffe4fc06*/\n if ( v9 ) /*0xffe4fc10*/\n break; /*0xffe4fc10*/\n }\n }\n if ( (unsigned int)++v4 >= *(_DWORD *)(v6 + 8) ) /*0xffe4fc19*/\n return -2147483634; /*0xffe4fc19*/\n }\n sub_FFE4F76B(64, \"PeiGetVariableAddressAmi 4\\n\"); /*0xffe4fc29*/\n *a3 = v9; /*0xffe4fc34*/\n return 0; /*0xffe4fc36*/\n }\n else\n {\n return -2147483634; /*0xffe4fc1b*/\n }\n }\n return result; /*0xffe4fc3f*/\n}"}, "isError": false}, "id": 1}