Function at 0x49c134
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 0x49c15a
mov eax, ebx
xor edx, edx
call fcn.004deafc
test al, al
jne 0x49c16a
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.004a06a4
jmp 0x49caf0
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov edx, dword [0x4fddb4]
cmp eax, dword [edx]
jne 0x49c291
mov eax, dword [ebp - 8]
movzx eax, word [eax + 6]
cmp eax, 0x17
jg 0x49c1a5
je 0x49c221
sub eax, 3
je 0x49c262
sub eax, 3
je 0x49c1d9
dec eax
je 0x49c1b8
jmp 0x49c7ca
sub eax, 0x1a
je 0x49c24d
sub eax, 0x22
je 0x49c1c7
jmp 0x49c7ca
mov eax, dword [ebp - 8]
mov dword [eax + 0xc], 1
jmp 0x49caf0
mov eax, dword [0x4fe070]
mov eax, dword [eax]
mov edx, dword [ebp - 8]
mov dword [edx + 0xc], eax
jmp 0x49caf0
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x54]
cmp byte [esi + 0x10], 0
je 0x49c7ca
mov byte [esi + 0x10], 0
mov eax, esi
call fcn.004de3ac
mov ebx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
mov byte [eax + 0x10], bl
test bl, bl
jne 0x49c7ca
push 0x585
push 0
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c]
push eax
call sub.user32.dll_RedrawWindow
jmp 0x49c7ca
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.00497658
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
mov ecx, dword [ebp - 4]
xor edx, edx
call fcn.00497080
jmp 0x49caf0
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 0x49caf0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
call fcn.004de38c
mov edx, dword [ebp - 8]
cmp eax, dword [edx + 8]
jne 0x49c7ca
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.004a06a4
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0xc]
jmp 0x49caf0
mov edx, dword [ebp - 8]
cmp eax, 0x85
jg 0x49c2b8
je 0x49c611
sub eax, 0xf
je 0x49c55c
sub eax, 5
je 0x49c4cf
jmp 0x49c7ca
sub eax, 0x317
je 0x49c2cf
sub eax, 0xacf7
je 0x49c4b5
jmp 0x49c7ca
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
xor edx, edx
call fcn.004deaf8
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 0x49c31c
mov eax, dword [ebp - 4]
cmp byte [eax + 0x59], 0
jne 0x49c305
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.00497658
mov eax, dword [ebp - 4]
cmp byte [eax + 4], 0
jne 0x49c335
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
mov ecx, dword [ebp - 4]
xor edx, edx
call fcn.00497080
xor edx, edx
push ebp
push 0x49c4ae
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.00427be0
call fcn.004235d0
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.004b34f4
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.00498198
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.00442144
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x74]
mov eax, esi
xor ecx, ecx
mov edx, 1
call fcn.00497e30
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.00497e30
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 0x49c7ca
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 0x49c7ca
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c]
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x49c7ca
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x54]
mov eax, ebx
call fcn.004de3ac
mov edx, eax
mov eax, ebx
call fcn.004deaf8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
call fcn.004de3ac
test al, al
jne 0x49caf0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x59], 0
jne 0x49c51d
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0xc]
mov eax, dword [0x4fde90]
cmp dword [eax], 6
jl 0x49c7ca
mov eax, dword [0x4fddb8]
cmp byte [eax], 0
je 0x49c7ca
mov eax, dword [ebp - 8]
mov eax, dword [eax + 4]
mov edx, dword [0x4fdeac]
cmp eax, dword [edx]
je 0x49c7ca
mov eax, dword [ebp - 8]
mov dword [eax + 0xc], 1
jmp 0x49caf0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c]
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x49c7ca
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x54]
mov eax, ebx
call fcn.004de3ac
mov edx, eax
mov eax, ebx
call fcn.004deaf8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
call fcn.004de3ac
test al, al
jne 0x49c5a9
mov eax, dword [0x4fddb8]
cmp byte [eax], 0
je 0x49c5ce
mov eax, dword [0x4fdeac]
cmp dword [eax], 0
jne 0x49c5ce
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 0x49caf0
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.00498198
mov edx, dword [ebp - 8]
mov dword [edx + 0xc], eax
mov eax, dword [ebp - 4]
cmp byte [eax + 0x59], 0
jne 0x49c7ca
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0xc]
jmp 0x49c7ca
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c]
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x49c7ca
mov eax, dword [0x4fddb8]
cmp byte [eax], 0
jne 0x49caf0
xor eax, eax
push ebp
push 0x49c7bb
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.004968a0
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x54]
mov eax, ebx
call fcn.004de3ac
mov edx, eax
mov eax, ebx
call fcn.004deaf8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
call fcn.004de3ac
test al, al
je 0x49c6a6
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x49caf0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
cmp byte [eax + 0x2d], 0
je 0x49c6da
mov eax, dword [ebp - 4]
cmp byte [eax + 0x59], 0
jne 0x49c6c3
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.00497658
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 0x49c7a7
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [ebp - 0xc], 0
je 0x49c755
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.00427be0
call fcn.004235d0
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.004b34f4
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.00498198
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 0x49c7ae
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.004a06a4
mov eax, dword [ebp - 8]
mov eax, dword [eax]
cmp eax, 0x186
jg 0x49c829
je 0x49c868
cmp eax, 0xc2
jg 0x49c812
je 0x49c877
sub eax, 5
je 0x49c8a2
sub eax, 2
je 0x49c9d7
dec eax
je 0x49ca70
jmp 0x49caf0
add eax, 0xffffff00
sub eax, 2
jb 0x49c886
add eax, 0xffffff82
sub eax, 2
jb 0x49c877
jmp 0x49caf0
cmp eax, 0xb013
jg 0x49c84e
je 0x49c930
sub eax, 0x197
je 0x49c877
sub eax, 0x69
je 0x49c8d0
dec eax
je 0x49c886
jmp 0x49caf0
sub eax, 0xb014
je 0x49c98f
add eax, 0xfffff314
sub eax, 2
jb 0x49c886
jmp 0x49caf0
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.004975a8
jmp 0x49caf0
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.004975a8
jmp 0x49caf0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x58], 0
jne 0x49caf0
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.004975a8
jmp 0x49caf0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c]
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x49caf0
push 0
push 0
push 0x85
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c]
push eax
call sub.user32.dll_SendMessageA
jmp 0x49caf0
mov eax, dword [0x4fdfb8]
cmp dword [eax], 0
je 0x49caf0
mov eax, dword [0x4fdfb8]
mov eax, dword [eax]
test byte [eax + 0x1c], 0x10
jne 0x49caf0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c]
push eax
call sub.user32.dll_IsWindowEnabled
test eax, eax
je 0x49caf0
mov eax, dword [0x4fdfb8]
mov eax, dword [eax]
mov eax, dword [eax + 0x78]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x4c]
je 0x49caf0
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x4c]
mov eax, dword [0x4fdfb8]
mov eax, dword [eax]
call fcn.004dbaac
jmp 0x49caf0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
call fcn.0049677c
test al, al
je 0x49caf0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
mov byte [eax + 0x45], 1
cmp dword [eax + 0x40], 0xe3
jne 0x49c95f
xor ecx, ecx
xor edx, edx
call fcn.004dd5fc
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x54]
cmp dword [ebx + 0x30], 0
je 0x49caf0
mov byte [ebx + 0x2d], 1
push 0x401
push 0
push 0
mov eax, dword [ebx + 0x30]
call fcn.00449ff0
push eax
call sub.user32.dll_RedrawWindow
jmp 0x49caf0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
call fcn.0049677c
test al, al
je 0x49caf0
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x54]
mov byte [ebx + 0x45], 0
cmp dword [ebx + 0x30], 0
je 0x49c9cd
mov byte [ebx + 0x2d], 1
push 0x401
push 0
push 0
mov eax, dword [ebx + 0x30]
call fcn.00449ff0
push eax
call sub.user32.dll_RedrawWindow
call fcn.0048e358
jmp 0x49caf0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
call fcn.0049677c
test al, al
je 0x49caf0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
cmp dword [eax + 0x30], 0
je 0x49caf0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
mov eax, dword [eax + 0x30]
mov edx, dword [0x43f784]
call fcn.00403a24
test al, al
je 0x49caf0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
mov eax, dword [eax + 0x30]
mov si, 0xffb8
call fcn.00403a94
test al, al
je 0x49caf0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
mov eax, dword [eax + 0x30]
cmp byte [eax + 0x1a4], 0
je 0x49caf0
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.00449ff0
push eax
call sub.user32.dll_RedrawWindow
jmp 0x49caf0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
call fcn.0049677c
test al, al
je 0x49caf0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
cmp dword [eax + 0x30], 0
je 0x49caf0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
mov eax, dword [eax + 0x30]
mov edx, dword [0x43f784]
call fcn.00403a24
test al, al
je 0x49caf0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
mov eax, dword [eax + 0x30]
mov si, 0xffb8
call fcn.00403a94
test al, al
je 0x49caf0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
mov eax, dword [eax + 0x30]
cmp byte [eax + 0x1a4], 0
je 0x49caf0
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.00449ff0
push eax
call sub.user32.dll_RedrawWindow
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret