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

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x4d29eb
push eax
mov dword fs:[0], esp
sub esp, 0xe0
push ebx
push esi
mov esi, ecx
call fcn.00490c75
mov ebx, eax
mov eax, dword [esp + 0xf8]
cmp eax, 1
je 0x496d6b
add eax, 0xfffffffd
cmp eax, 3
ja case.default.0x496cf3
jmp dword [eax*4 + 0x4973f9]
push 1
mov ecx, esi
call fcn.00491065
push 1
push 0
push 0
push 0
push 0
mov ecx, esi
call fcn.00493165
mov eax, dword [esi + 0x1c]
push 0
push 0
push eax
call dword [sym.imp.USER32.dll_InvalidateRect]
xor eax, eax
jmp 0x496dc2
push 1
mov ecx, esi
call fcn.00490c25
xor eax, eax
jmp 0x496dc2
mov eax, dword [esi + 0x4c]
mov ecx, dword [esi + 0x54]
cmp eax, ecx
jl 0x496d45
mov eax, ecx
mov ecx, dword [esp + 0xfc]
push eax
push ecx
mov ecx, esi
call fcn.00493015
xor eax, eax
jmp 0x496dc2
mov edx, dword [esi + 0x1c]
push 0
push 0
push edx
call dword [sym.imp.USER32.dll_InvalidateRect]
xor eax, eax
jmp 0x496dc2
mov eax, dword [esp + 0xfc]
push ebp
cmp eax, 0xc
push edi
ja case.default.0x496d79
jmp dword [eax*4 + 0x497409]
push 0
mov ecx, esi
call fcn.00491065
mov eax, dword [esi + 0x4c]
mov ecx, dword [esi + 0x54]
cmp eax, ecx
jl 0x496d95
mov eax, ecx
mov edx, dword [esi + 0x48]
mov edi, dword [esi + 0x50]
cmp edx, edi
jl 0x496da1
mov edx, edi
push 1
push 0
push 0
push eax
push edx
mov ecx, esi
call fcn.00493165
mov eax, dword [esi + 0x1c]
push 0
push 0
push eax
call dword [sym.imp.USER32.dll_InvalidateRect]
pop edi
xor eax, eax
pop ebp
mov ecx, dword [esp + 0xe8]
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0xec
ret 0xc
push 0
mov ecx, esi
call fcn.00491065
mov ecx, ebx
call fcn.0048cad5
mov ebp, eax
test ebp, ebp
je 0x497099
mov ecx, ebx
call fcn.0048cb15
test eax, eax
je 0x497099
mov eax, dword [esp + 0x108]
mov edx, dword [esp + 0x104]
mov ecx, 3
mov edi, dword [eax]
cmp edx, ecx
jne 0x496e40
cmp ebp, dword [eax + 4]
jg 0x496e40
push 1
push 0
push 0
push 0
push 0
mov ecx, esi
call fcn.00493165
mov ecx, dword [esi + 0x1c]
push 0
push 0
push ecx
jmp 0x496db8
mov edx, dword [esp + 0x104]
mov ebp, dword [esi + 0x48]
cmp edx, ecx
jne 0x496e5b
cmp edi, ebp
jg 0x496f0f
add ebp, dword [eax + 4]
jmp 0x496e68
cmp edi, ebp
jge 0x496e68
sub ebp, dword [eax + 4]
cmp edi, ebp
jle 0x496e68
mov ebp, edi
cmp ebp, 0xffffffff
je 0x496f0f
mov ecx, ebx
call fcn.0048cb95
cmp eax, ebp
jle 0x496e89
mov ecx, ebx
call fcn.0048cb95
mov dword [esp + 0x10], eax
jmp 0x496e8d
mov dword [esp + 0x10], ebp
mov ecx, ebx
call fcn.0048cad5
mov ecx, dword [esp + 0x10]
dec eax
cmp eax, ecx
mov ecx, ebx
jge 0x496ea7
call fcn.0048cad5
dec eax
jmp 0x496ebb
call fcn.0048cb95
cmp eax, ebp
jle 0x496eb9
mov ecx, ebx
call fcn.0048cb95
jmp 0x496ebb
mov eax, ebp
mov edx, dword [esi + 0x4c]
mov ecx, esi
push edx
push eax
lea eax, [esp + 0xe8]
push eax
call fcn.00494965
lea ecx, [esp + 0x2c]
push eax
push ecx
call dword [sym.imp.USER32.dll_CopyRect]
mov eax, dword [esp + 0x2c]
cmp eax, 0xffffffff
je 0x496efe
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov dword [esi + 0x4c], eax
mov eax, dword [esp + 0x38]
mov dword [esi + 0x48], edx
mov dword [esi + 0x50], eax
mov dword [esi + 0x54], ecx
jmp 0x496f0f
push 1
push 0
push 0
push 0
push 0
mov ecx, esi
call fcn.00493165
mov ecx, ebx
call fcn.0048cad5
dec eax
cmp eax, edi
jge 0x496f25
mov ecx, ebx
call fcn.0048cad5
dec eax
jmp 0x496f27
mov eax, edi
test eax, eax
jge 0x496f2f
xor edi, edi
jmp 0x496f45
mov ecx, ebx
call fcn.0048cad5
dec eax
cmp eax, edi
jge 0x496f45
mov ecx, ebx
call fcn.0048cad5
mov edi, eax
dec edi
mov ecx, ebx
call fcn.0048cb15
xor ebp, ebp
mov dword [esp + 0x10], eax
test eax, eax
jle 0x496f72
push ebp
push edi
mov ecx, ebx
call fcn.0048cc95
test eax, 0x80000
je 0x496f6b
dec edi
xor ebp, ebp
jmp 0x496f6c
inc ebp
cmp ebp, dword [esp + 0x10]
jl 0x496f56
mov ecx, ebx
mov dword [esp + 0x14], 0
call fcn.0048cb95
cmp edi, eax
jge 0x496fbe
lea edx, [esp + 0x70]
mov ecx, esi
push edx
call fcn.00490615
mov eax, dword [eax + 4]
xor ebx, ebx
test edi, edi
mov dword [esp + 0x18], eax
jle 0x49700d
push ebx
mov ecx, esi
call fcn.00490455
mov ecx, dword [esp + 0x18]
push eax
push ecx
mov ecx, esi
call fcn.00490825
inc ebx
mov dword [esp + 0x18], eax
cmp ebx, edi
jl 0x496f9e
jmp 0x49700d
push 1
push 1
push 0
lea edx, [esp + 0x8c]
push edi
push edx
mov ecx, esi
call fcn.004938d5
mov ecx, dword [eax + 4]
test ecx, ecx
jge 0x496fdf
xor edi, edi
jmp 0x496ff8
push 1
push 1
push 0
lea eax, [esp + 0xdc]
push edi
push eax
mov ecx, esi
call fcn.004938d5
mov edi, dword [eax + 4]
lea ecx, [esp + 0x60]
push ecx
mov ecx, esi
call fcn.00492895
mov edx, dword [eax + 4]
add edx, edi
mov dword [esp + 0x18], edx
push 0
lea ecx, [esp + 0x50]
call fcn.004c7c37
mov eax, dword [esi + 0x5c]
mov ecx, dword [esi + 0x58]
push eax
lea edx, [esp + 0x50]
push ecx
push edx
mov dword [esp + 0x104], 0
call fcn.00429d25
mov ecx, dword [esp + 0x60]
add esp, 0xc
lea eax, [esp + 0x14]
push 1
push eax
push ecx
call dword [sym.imp.GDI32.dll_LPtoDP]
mov eax, dword [esi + 0x1c]
lea edx, [esp + 0x3c]
push edx
push eax
call dword [sym.imp.USER32.dll_GetClientRect]
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x3c]
push edx
mov dword [esp + 0x44], ecx
call dword [sym.imp.USER32.dll_IsRectEmpty]
test eax, eax
jne 0x497080
mov ecx, dword [esi + 0x1c]
push eax
lea eax, [esp + 0x40]
push eax
push ecx
call dword [sym.imp.USER32.dll_InvalidateRect]
lea ecx, [esp + 0x4c]
mov dword [esp + 0xf8], 0xffffffff
call fcn.004c7ca9
jmp case.default.0x496d79
push 1
push 0
push 0
push 0
push 0
mov ecx, esi
call fcn.00493165
mov edx, dword [esi + 0x1c]
push 0
push 0
push edx
jmp 0x496db8
push 0
mov ecx, esi
call fcn.00491065
mov ecx, ebx
call fcn.0048cb15
mov ecx, ebx
mov ebp, eax
call fcn.0048cad5
test eax, eax
je 0x496e22
test ebp, ebp
je 0x496e22
mov eax, dword [esp + 0x108]
mov edx, dword [esp + 0x104]
mov ecx, 4
mov edi, dword [eax]
cmp edx, ecx
jne 0x49710d
cmp ebp, dword [eax + 4]
jg 0x49710d
push 1
push 0
push 0
push 0
push 0
jmp 0x496da9
mov edx, dword [esp + 0x104]
mov ebp, dword [esi + 0x4c]
cmp edx, ecx
jne 0x497128
cmp edi, ebp
jg 0x4971dc
add ebp, dword [eax + 4]
jmp 0x497135
cmp edi, ebp
jge 0x497135
sub ebp, dword [eax + 4]
cmp edi, ebp
jle 0x497135
mov ebp, edi
cmp ebp, 0xffffffff
je 0x4971dc
mov ecx, ebx
call fcn.0048cba5
cmp eax, ebp
jle 0x497156
mov ecx, ebx
call fcn.0048cba5
mov dword [esp + 0x10], eax
jmp 0x49715a
mov dword [esp + 0x10], ebp
mov ecx, ebx
call fcn.0048cb15
mov ecx, dword [esp + 0x10]
dec eax
cmp eax, ecx
mov ecx, ebx
jge 0x497174
call fcn.0048cb15
dec eax
jmp 0x497188
call fcn.0048cba5
cmp eax, ebp
jle 0x497186
mov ecx, ebx
call fcn.0048cba5
jmp 0x497188
mov eax, ebp
mov ecx, dword [esi + 0x48]
push eax
lea edx, [esp + 0xb4]
push ecx
push edx
mov ecx, esi
call fcn.00494965
push eax
lea eax, [esp + 0x30]
push eax
call dword [sym.imp.USER32.dll_CopyRect]
mov eax, dword [esp + 0x2c]
cmp eax, 0xffffffff
je 0x4971cb
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x38]
mov dword [esi + 0x4c], eax
mov eax, dword [esp + 0x34]
mov dword [esi + 0x48], ecx
mov dword [esi + 0x50], edx
mov dword [esi + 0x54], eax
jmp 0x4971dc
push 1
push 0
push 0
push 0
push 0
mov ecx, esi
call fcn.00493165
mov ecx, ebx
call fcn.0048cb15
dec eax
cmp eax, edi
jge 0x4971f2
mov ecx, ebx
call fcn.0048cb15
dec eax
jmp 0x4971f4
mov eax, edi
test eax, eax
jge 0x4971fc
xor edi, edi
jmp 0x497212
mov ecx, ebx
call fcn.0048cb15
dec eax
cmp eax, edi
jge 0x497212
mov ecx, ebx
call fcn.0048cb15
mov edi, eax
dec edi
mov ecx, ebx
call fcn.0048cad5
xor ebp, ebp
mov dword [esp + 0x10], eax
test eax, eax
jle 0x49723f
push edi
push ebp
mov ecx, ebx
call fcn.0048cc95
test eax, 0x40000
je 0x497238
dec edi
xor ebp, ebp
jmp 0x497239
inc ebp
cmp ebp, dword [esp + 0x10]
jl 0x497223
mov ecx, ebx
mov dword [esp + 0x18], 0
call fcn.0048cba5
cmp edi, eax
jge 0x49728a
lea ecx, [esp + 0x68]
push ecx
mov ecx, esi
call fcn.00490615
mov edx, dword [eax]
xor ebx, ebx
test edi, edi
mov dword [esp + 0x14], edx
jle 0x4972d5
push ebx
mov ecx, esi
call fcn.00490535
push eax
mov eax, dword [esp + 0x18]
push eax
mov ecx, esi
call fcn.004906f5
inc ebx
mov dword [esp + 0x14], eax
cmp ebx, edi
jl 0x49726a
jmp 0x4972d5
push 1
push 1
push edi
lea ecx, [esp + 0x9c]
push 0
push ecx
mov ecx, esi
call fcn.004938d5
cmp dword [eax], 0
jge 0x4972a9
xor edi, edi
jmp 0x4972c1
push 1
push 1
push edi
lea edx, [esp + 0xac]
push 0
push edx
mov ecx, esi
call fcn.004938d5
mov edi, dword [eax]
lea eax, [esp + 0x78]
mov ecx, esi
push eax
call fcn.00492895
mov ecx, dword [eax]
add ecx, edi
mov dword [esp + 0x14], ecx
push 0
lea ecx, [esp + 0x50]
call fcn.004c7c37
mov edx, dword [esi + 0x5c]
mov eax, dword [esi + 0x58]
push edx
lea ecx, [esp + 0x50]
push eax
push ecx
mov dword [esp + 0x104], 1
call fcn.00429d25
mov eax, dword [esp + 0x60]
add esp, 0xc
lea edx, [esp + 0x14]
push 1
push edx
push eax
call dword [sym.imp.GDI32.dll_LPtoDP]
mov edx, dword [esi + 0x1c]
lea ecx, [esp + 0x3c]
push ecx
push edx
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x3c]
push ecx
mov dword [esp + 0x40], eax
call dword [sym.imp.USER32.dll_IsRectEmpty]
test eax, eax
jne 0x497348
push eax
mov eax, dword [esi + 0x1c]
lea edx, [esp + 0x40]
push edx
push eax
call dword [sym.imp.USER32.dll_InvalidateRect]
lea ecx, [esp + 0x4c]
mov dword [esp + 0xf8], 0xffffffff
call fcn.004c7ca9
jmp case.default.0x496d79
mov eax, dword [esp + 0x108]
mov ecx, dword [eax + 4]
mov edi, dword [eax + 0xc]
mov edx, dword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x1c], ecx
lea ecx, [edi + ecx - 1]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], edx
lea ecx, [eax + edx - 1]
lea edx, [esp + 0x1c]
mov dword [esp + 0x28], ecx
push edx
mov ecx, ebx
call fcn.0048e595
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x28]
sub ecx, eax
inc ecx
push ecx
mov ecx, dword [esp + 0x24]
sub edx, ecx
inc edx
push edx
push eax
lea eax, [esp + 0xcc]
push ecx
push eax
mov ecx, esi
call fcn.00492c05
lea ecx, [esp + 0x1c]
push eax
push ecx
call dword [sym.imp.USER32.dll_CopyRect]
push 1
lea edx, [esp + 0x20]
push 1
push edx
call dword [sym.imp.USER32.dll_InflateRect]
mov ecx, dword [esi + 0x1c]
lea eax, [esp + 0x1c]
push 0
push eax
push ecx
call dword [sym.imp.USER32.dll_InvalidateRect]
mov ecx, esi
call fcn.00493035
jmp case.default.0x496d79