I have following function:
void __thiscall ParsePackage_v5(package_t *package, stream_t *stream)
{
(*(*package->stream + 8))(package->stream, package, 4);
}
.text:0069F5A0 ; void __thiscall ParsePackage_v5(package_t *package, _DWORD stream)
.text:0069F5A0 ParsePackage_5 proc near ; CODE XREF: ParsePackageHeader+FB↓p
.text:0069F5A0
.text:0069F5A0 push ebp
.text:0069F5A1 mov ebp, esp
.text:0069F5A3 sub esp, 134h
.text:0069F5A9 push ebx
.text:0069F5AA push esi
.text:0069F5AB push edi
.text:0069F5AC mov esi, ecx
.text:0069F5AE mov ecx, [esi+4]
.text:0069F5B1 mov eax, [ecx]
.text:0069F5B3 push 4
.text:0069F5B5 push esi
.text:0069F5B6 call dword ptr [eax+8]
stream_t
defines as:
00000000 stream_t struc ; (sizeof=0x14, align=0x4, mappedto_136)
00000000 unknown db ?
00000001 db ? ; undefined
00000002 db ? ; undefined
00000003 db ? ; undefined
00000004 hFile dd ? ; offset
00000008 ReadBytes db ?
00000009 db ? ; undefined
0000000A db ? ; undefined
0000000B db ? ; undefined
0000000C field_C db ?
0000000D db ? ; undefined
0000000E db ? ; undefined
0000000F db ? ; undefined
00000010 field_10 db ?
00000011 db ? ; undefined
00000012 db ? ; undefined
00000013 db ? ; undefined
00000014 stream_t ends
(*(*package->stream + 8))
supposed to be converted into package->stream->ReadByte
but it wont. How can i do this properly and declare function pointer as field type of ReadByte
?