Function at 0x47bfc0
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48
push ebx
push esi
push edi
mov esi, ecx
mov eax, dword [esi + 4]
push 0x3ec
push eax
call dword [sym.imp.USER32.dll_KillTimer]
cmp dword [esi + 0x134], 0
je 0x47bffe
mov ecx, dword [esi + 0x134]
push ecx
call dword [sym.imp.GDI32.dll_DeleteObject]
test eax, eax
je 0x47bffe
mov dword [esi + 0x134], 0
mov edx, dword [esi + 4]
push 1
push 0
push edx
call dword [sym.imp.USER32.dll_InvalidateRect]
cmp dword [esi + 0x9c], 0
je 0x47c01f
mov eax, dword [esi + 4]
push eax
call dword [sym.imp.USER32.dll_SetFocus]
or eax, 0xffffffff
mov dword [esi + 0xe8], eax
mov dword [esi + 0xec], eax
call dword [sym.imp.USER32.dll_GetCapture]
cmp eax, dword [esi + 0x214]
jne 0x47c042
call dword [sym.imp.USER32.dll_ReleaseCapture]
mov ecx, dword [esi + 0x214]
push ecx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x47c062
mov edx, dword [esi + 0x214]
push 0
push edx
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [esi + 4]
mov ebx, dword [sym.imp.USER32.dll_GetClientRect]
lea eax, [ebp - 0x10]
push eax
push ecx
call ebx
mov edx, dword [esi + 4]
push 0
push edx
call dword [sym.imp.USER32.dll_GetScrollPos]
mov edi, eax
mov eax, dword [ebp + 8]
cmp eax, 7
ja case.default.0x47c08c
jmp dword [eax*4 + 0x47c1c8]
xor edi, edi
jmp 0x47c13b
lea eax, [edi - 5]
xor ecx, ecx
test eax, eax
setle cl
lea edi, [ecx - 1]
and edi, eax
jmp 0x47c13b
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 8]
xor ecx, ecx
add eax, edi
test eax, eax
setle cl
lea edi, [ecx - 1]
and edi, eax
jmp 0x47c13b
mov edi, dword [ebp - 8]
sub edi, dword [ebp - 0x10]
jmp 0x47c13b
mov eax, dword [esi + 0xf4]
dec eax
add edi, 5
cmp edi, eax
jl 0x47c13b
jmp 0x47c139
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 0x10]
add eax, edi
mov edi, dword [esi + 0xf4]
dec edi
cmp eax, edi
jl 0x47c139
jmp 0x47c13b
mov ecx, dword [esi + 4]
xor eax, eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x2c]
push eax
push 0
push ecx
mov dword [ebp - 0x2c], 0x1c
mov dword [ebp - 0x28], 0x10
call dword [sym.imp.USER32.dll_GetScrollInfo]
test eax, eax
je case.default.0x47c08c
mov eax, dword [ebp - 0x14]
cmp eax, edi
je case.default.0x47c08c
mov edi, eax
mov eax, dword [esi + 4]
lea edx, [ebp - 0x20]
push edx
push eax
call ebx
xor ecx, ecx
xor ebx, ebx
cmp edi, ebx
setge cl
mov dword [ebp - 0x48], 0x1c
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x40], ebx
lea ecx, [ecx*4 + 3]
mov dword [ebp - 0x44], ecx
cmp dword [esi + 0x80], ebx
je 0x47c1b1
mov ecx, dword [ebp - 0x18]
mov eax, dword [esi + 0xf4]
sub ecx, dword [ebp - 0x20]
dec eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], ecx
cmp ecx, eax
jb 0x47c187
mov dword [ebp - 0x3c], ebx
mov eax, dword [esi + 4]
push 1
lea edx, [ebp - 0x48]
push edx
push ebx
push eax
call dword [sym.imp.USER32.dll_SetScrollInfo]
test eax, eax
je 0x47c1a9
mov ecx, dword [ebp - 0x3c]
xor eax, eax
cmp ecx, dword [ebp - 0x38]
setg al
jmp 0x47c1ab
xor eax, eax
mov dword [esi + 0x88], eax
mov edx, dword [esi + 4]
push 1
push ebx
push edx
call dword [sym.imp.USER32.dll_InvalidateRect]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc