I'm quite new to x86 assembly and reverse engineering and have a question about this piece of code I obtained through IDA:
; LRESULT __stdcall WndProc(HWND, UINT, WPARAM, LPARAM, UINT_PTR, DWORD_PTR)
WndProc proc near
Rect= tagRECT ptr -34h
var_24= dword ptr -24h
var_20= dword ptr -20h
var_1C= dword ptr -1Ch
var_18= dword ptr -18h
prc= RECT ptr -14h
var_4= dword ptr -4
hWnd= dword ptr 8
uMsg= dword ptr 0Ch
wParam= dword ptr 10h
lParam= dword ptr 14h
Am I correct that var_18, var_1C and var_20 are actually pointing to prc.top, prc.right and prc.bottom?
No; if prc
is a RECT
instance then it occupies the following 16 bytes of memory (so offset -14 through -5 inclusive, four 32-bit words).