Function at 0x4d7a18
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffb0
push ebx
push esi
push edi
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x54]
test ebx, ebx
je 0x4d7a3e
mov eax, ebx
xor edx, edx
call fcn.004f7d40
test al, al
jne 0x4d7a4e
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.004dbf88
jmp 0x4d83d4
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov edx, dword [0x52d1a8]
cmp eax, dword [edx]
jne 0x4d7b75
mov eax, dword [ebp - 8]
movzx eax, word [eax + 6]
cmp eax, 0x17
jg 0x4d7a89
je 0x4d7b05
sub eax, 3
je 0x4d7b46
sub eax, 3
je 0x4d7abd
dec eax
je 0x4d7a9c
jmp 0x4d80ae
sub eax, 0x1a
je 0x4d7b31
sub eax, 0x22
je 0x4d7aab
jmp 0x4d80ae
mov eax, dword [ebp - 8]
mov dword [eax + 0xc], 1
jmp 0x4d83d4
mov eax, dword [0x52d600]
mov eax, dword [eax]
mov edx, dword [ebp - 8]
mov dword [edx + 0xc], eax
jmp 0x4d83d4
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x54]
cmp byte [esi + 0x10], 0
je 0x4d80ae
mov byte [esi + 0x10], 0
mov eax, esi
call fcn.004f75f0
mov ebx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
mov byte [eax + 0x10], bl
test bl, bl
jne 0x4d80ae
push 0x585
push 0
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c]
push eax
call sub.user32.dll_RedrawWindow
jmp 0x4d80ae
mov eax, dword [ebp - 4]
mov cl, byte [eax + 4]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x4c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
call fcn.004d2f3c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
mov ecx, dword [ebp - 4]
xor edx, edx
call fcn.004d2964
jmp 0x4d83d4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
mov eax, dword [eax + 0x1c]
inc eax
mov edx, dword [ebp - 8]
mov dword [edx + 0xc], eax
jmp 0x4d83d4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
call fcn.004f75d0
mov edx, dword [ebp - 8]
cmp eax, dword [edx + 8]
jne 0x4d80ae
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.004dbf88
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0xc]
jmp 0x4d83d4
mov edx, dword [ebp - 8]
cmp eax, 0x85
jg 0x4d7b9c
je 0x4d7ef5
sub eax, 0xf
je 0x4d7e40
sub eax, 5
je 0x4d7db3
jmp 0x4d80ae
sub eax, 0x317
je 0x4d7bb3
sub eax, 0xacf7
je 0x4d7d99
jmp 0x4d80ae
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
xor edx, edx
call fcn.004f7d3c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
mov al, 1
mov byte [edx + 0x2d], al
mov edx, dword [ebp - 8]
mov edx, dword [edx + 4]
mov dword [ebp - 0xc], edx
test al, al
je 0x4d7c00
mov eax, dword [ebp - 4]
cmp byte [eax + 0x59], 0
jne 0x4d7be9
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0xc]
mov eax, dword [ebp - 4]
mov cl, byte [eax + 4]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x4c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
call fcn.004d2f3c
mov eax, dword [ebp - 4]
cmp byte [eax + 4], 0
jne 0x4d7c19
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
mov ecx, dword [ebp - 4]
xor edx, edx
call fcn.004d2964
xor edx, edx
push ebp
push 0x4d7d92
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
mov eax, dword [eax + 0x38]
mov edx, dword [eax]
call dword [edx + 0x2c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
mov eax, dword [eax + 0x38]
mov edx, dword [eax]
call dword [edx + 0x20]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
mov eax, dword [eax + 0x38]
call fcn.00428fb4
call fcn.00424b24
push eax
push 0
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x80]
push eax
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 0xc]
call fcn.00511ce8
mov eax, dword [ebp - 8]
mov eax, dword [eax + 8]
push eax
push 0xffffffffffffffff
mov eax, dword [ebp - 0xc]
push eax
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx + 4]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x4c]
mov eax, dword [ebp - 4]
call fcn.004d3a7c
mov edx, dword [ebp - 8]
mov dword [edx + 0xc], eax
mov eax, dword [ebp - 0xc]
push eax
call sub.gdi32.dll_SaveDC
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x80]
mov ecx, eax
mov edx, eax
mov eax, dword [ebp - 0xc]
call fcn.00447218
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x74]
mov eax, esi
xor ecx, ecx
mov edx, 1
call fcn.004d3714
xor edx, edx
mov dl, byte [esi + 6]
imul edx
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
mov eax, dword [eax + 0x38]
mov edx, dword [eax]
call dword [edx + 0x20]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x80]
add edx, edx
sub eax, edx
pop edx
sub eax, edx
push eax
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x78]
mov eax, ebx
xor ecx, ecx
mov edx, 1
call fcn.004d3714
xor edx, edx
mov dl, byte [ebx + 6]
imul edx
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
mov eax, dword [eax + 0x38]
mov edx, dword [eax]
call dword [edx + 0x2c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x80]
add edx, edx
sub eax, edx
pop edx
sub eax, edx
push eax
push 0
push 0
mov eax, dword [ebp - 0xc]
push eax
call sub.gdi32.dll_IntersectClipRect
push 0
mov ebx, dword [ebp - 0xc]
push ebx
push 0x14
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c]
push eax
call sub.user32.dll_SendMessageA
push 0
push ebx
push 0xf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c]
push eax
call sub.user32.dll_SendMessageA
push 0x24
push ebx
push 0x318
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c]
push eax
call sub.user32.dll_SendMessageA
mov eax, dword [ebp - 0x10]
push eax
mov eax, dword [ebp - 0xc]
push eax
call sub.gdi32.dll_RestoreDC
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4d80ae
ret
push 0x405
push 0
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c]
push eax
call sub.user32.dll_RedrawWindow
jmp 0x4d80ae
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c]
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x4d80ae
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x54]
mov eax, ebx
call fcn.004f75f0
mov edx, eax
mov eax, ebx
call fcn.004f7d3c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
call fcn.004f75f0
test al, al
jne 0x4d83d4
mov eax, dword [ebp - 4]
cmp byte [eax + 0x59], 0
jne 0x4d7e01
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0xc]
mov eax, dword [0x52d31c]
cmp dword [eax], 6
jl 0x4d80ae
mov eax, dword [0x52d1b8]
cmp byte [eax], 0
je 0x4d80ae
mov eax, dword [ebp - 8]
mov eax, dword [eax + 4]
mov edx, dword [0x52d358]
cmp eax, dword [edx]
je 0x4d80ae
mov eax, dword [ebp - 8]
mov dword [eax + 0xc], 1
jmp 0x4d83d4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c]
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x4d80ae
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x54]
mov eax, ebx
call fcn.004f75f0
mov edx, eax
mov eax, ebx
call fcn.004f7d3c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
call fcn.004f75f0
test al, al
jne 0x4d7e8d
mov eax, dword [0x52d1b8]
cmp byte [eax], 0
je 0x4d7eb2
mov eax, dword [0x52d358]
cmp dword [eax], 0
jne 0x4d7eb2
lea eax, [ebp - 0x50]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c]
push eax
call sub.user32.dll_BeginPaint
lea eax, [ebp - 0x50]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c]
push eax
call sub.user32.dll_EndPaint
jmp 0x4d83d4
mov eax, dword [ebp - 8]
mov eax, dword [eax + 8]
push eax
push 0xffffffffffffffff
mov ebx, dword [ebp - 8]
mov ebx, dword [ebx + 4]
push ebx
mov eax, dword [ebp - 8]
mov ecx, ebx
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x4c]
mov eax, dword [ebp - 4]
call fcn.004d3a7c
mov edx, dword [ebp - 8]
mov dword [edx + 0xc], eax
mov eax, dword [ebp - 4]
cmp byte [eax + 0x59], 0
jne 0x4d80ae
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0xc]
jmp 0x4d80ae
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c]
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x4d80ae
mov eax, dword [0x52d1b8]
cmp byte [eax], 0
jne 0x4d83d4
xor eax, eax
push ebp
push 0x4d809f
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
add eax, 0x2c
push eax
mov eax, dword [ebp - 4]
add eax, 0x1c
push eax
mov eax, dword [ebp - 4]
add eax, 0x24
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 8]
push eax
mov eax, dword [ebp - 4]
lea ecx, [eax + 0xc]
mov eax, dword [ebp - 4]
lea edx, [eax + 0x3c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c]
call fcn.004d2180
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x54]
mov eax, ebx
call fcn.004f75f0
mov edx, eax
mov eax, ebx
call fcn.004f7d3c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
call fcn.004f75f0
test al, al
je 0x4d7f8a
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4d83d4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
cmp byte [eax + 0x2d], 0
je 0x4d7fbe
mov eax, dword [ebp - 4]
cmp byte [eax + 0x59], 0
jne 0x4d7fa7
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0xc]
mov eax, dword [ebp - 4]
mov cl, byte [eax + 4]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x4c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
call fcn.004d2f3c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c]
push eax
call sub.user32.dll_GetWindowDC
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
push eax
call sub.gdi32.dll_SaveDC
mov dword [ebp - 0x10], eax
xor eax, eax
push ebp
push 0x4d808b
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [ebp - 0xc], 0
je 0x4d8039
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
mov eax, dword [eax + 0x38]
mov edx, dword [eax]
call dword [edx + 0x2c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
mov eax, dword [eax + 0x38]
mov edx, dword [eax]
call dword [edx + 0x20]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
mov eax, dword [eax + 0x38]
call fcn.00428fb4
call fcn.00424b24
push eax
push 0
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x80]
push eax
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 0xc]
call fcn.00511ce8
mov eax, dword [ebp - 8]
mov eax, dword [eax + 8]
push eax
push 0xffffffffffffffff
mov eax, dword [ebp - 0xc]
push eax
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx + 4]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x4c]
mov eax, dword [ebp - 4]
call fcn.004d3a7c
mov edx, dword [ebp - 8]
mov dword [edx + 0xc], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4d8092
mov eax, dword [ebp - 0x10]
push eax
mov eax, dword [ebp - 0xc]
push eax
call sub.gdi32.dll_RestoreDC
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c]
push eax
call sub.user32.dll_ReleaseDC
ret
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.004dbf88
mov eax, dword [ebp - 8]
mov eax, dword [eax]
cmp eax, 0x186
jg 0x4d810d
je 0x4d814c
cmp eax, 0xc2
jg 0x4d80f6
je 0x4d815b
sub eax, 5
je 0x4d8186
sub eax, 2
je 0x4d82bb
dec eax
je 0x4d8354
jmp 0x4d83d4
add eax, 0xffffff00
sub eax, 2
jb 0x4d816a
add eax, 0xffffff82
sub eax, 2
jb 0x4d815b
jmp 0x4d83d4
cmp eax, 0xb013
jg 0x4d8132
je 0x4d8214
sub eax, 0x197
je 0x4d815b
sub eax, 0x69
je 0x4d81b4
dec eax
je 0x4d816a
jmp 0x4d83d4
sub eax, 0xb014
je 0x4d8273
add eax, 0xfffff314
sub eax, 2
jb 0x4d816a
jmp 0x4d83d4
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.004d2e8c
jmp 0x4d83d4
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.004d2e8c
jmp 0x4d83d4
mov eax, dword [ebp - 4]
cmp byte [eax + 0x58], 0
jne 0x4d83d4
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.004d2e8c
jmp 0x4d83d4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c]
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x4d83d4
push 0
push 0
push 0x85
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c]
push eax
call sub.user32.dll_SendMessageA
jmp 0x4d83d4
mov eax, dword [0x52d4f4]
cmp dword [eax], 0
je 0x4d83d4
mov eax, dword [0x52d4f4]
mov eax, dword [eax]
test byte [eax + 0x1c], 0x10
jne 0x4d83d4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c]
push eax
call sub.user32.dll_IsWindowEnabled
test eax, eax
je 0x4d83d4
mov eax, dword [0x52d4f4]
mov eax, dword [eax]
mov eax, dword [eax + 0x78]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x4c]
je 0x4d83d4
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x4c]
mov eax, dword [0x52d4f4]
mov eax, dword [eax]
call fcn.004f4e80
jmp 0x4d83d4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
call fcn.004d205c
test al, al
je 0x4d83d4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
mov byte [eax + 0x45], 1
cmp dword [eax + 0x40], 0xe3
jne 0x4d8243
xor ecx, ecx
xor edx, edx
call fcn.004f6840
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x54]
cmp dword [ebx + 0x30], 0
je 0x4d83d4
mov byte [ebx + 0x2d], 1
push 0x401
push 0
push 0
mov eax, dword [ebx + 0x30]
call fcn.0044f16c
push eax
call sub.user32.dll_RedrawWindow
jmp 0x4d83d4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
call fcn.004d205c
test al, al
je 0x4d83d4
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x54]
mov byte [ebx + 0x45], 0
cmp dword [ebx + 0x30], 0
je 0x4d82b1
mov byte [ebx + 0x2d], 1
push 0x401
push 0
push 0
mov eax, dword [ebx + 0x30]
call fcn.0044f16c
push eax
call sub.user32.dll_RedrawWindow
call fcn.004c9ca8
jmp 0x4d83d4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
call fcn.004d205c
test al, al
je 0x4d83d4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
cmp dword [eax + 0x30], 0
je 0x4d83d4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
mov eax, dword [eax + 0x30]
mov edx, dword [0x4446bc]
call fcn.00403d04
test al, al
je 0x4d83d4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
mov eax, dword [eax + 0x30]
mov si, 0xffb8
call fcn.00403d74
test al, al
je 0x4d83d4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
mov eax, dword [eax + 0x30]
cmp byte [eax + 0x1a4], 0
je 0x4d83d4
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x54]
mov byte [ebx + 0x2d], 1
mov byte [ebx + 0x44], 1
push 0x401
push 0
push 0
mov eax, dword [ebx + 0x30]
call fcn.0044f16c
push eax
call sub.user32.dll_RedrawWindow
jmp 0x4d83d4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
call fcn.004d205c
test al, al
je 0x4d83d4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
cmp dword [eax + 0x30], 0
je 0x4d83d4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
mov eax, dword [eax + 0x30]
mov edx, dword [0x4446bc]
call fcn.00403d04
test al, al
je 0x4d83d4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
mov eax, dword [eax + 0x30]
mov si, 0xffb8
call fcn.00403d74
test al, al
je 0x4d83d4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
mov eax, dword [eax + 0x30]
cmp byte [eax + 0x1a4], 0
je 0x4d83d4
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x54]
mov byte [ebx + 0x2d], 1
mov byte [ebx + 0x44], 0
push 0x401
push 0
push 0
mov eax, dword [ebx + 0x30]
call fcn.0044f16c
push eax
call sub.user32.dll_RedrawWindow
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret