Function at 0x4b0870
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
push ebx
push esi
push edi
mov esi, ecx
call dword [sym.imp.USER32.dll_GetCapture]
cmp eax, dword [esi + 0x1ec]
jne 0x4b088f
call dword [sym.imp.USER32.dll_ReleaseCapture]
mov eax, dword [esi + 0x1ec]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x4b08af
mov ecx, dword [esi + 0x1ec]
push 0
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [esi + 4]
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
mov edi, dword [sym.imp.USER32.dll_GetScrollPos]
push 1
push ecx
mov dword [esi + 0x3c], 1
mov dword [esi + 0x88], edx
mov dword [esi + 0x8c], eax
call edi
mov edx, dword [esi + 4]
push 0
push edx
mov ebx, eax
call edi
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
add eax, ecx
mov dword [esi + 0x90], eax
mov eax, dword [esi + 4]
push 0x3ec
add ebx, edx
push eax
mov dword [esi + 0x94], ebx
call dword [sym.imp.USER32.dll_KillTimer]
xor ebx, ebx
cmp dword [esi + 0x110], ebx
je 0x4b0926
mov ecx, dword [esi + 0x110]
push ecx
call dword [sym.imp.GDI32.dll_DeleteObject]
test eax, eax
je 0x4b0926
mov dword [esi + 0x110], ebx
mov edx, dword [esi + 4]
push 1
push ebx
push edx
call dword [sym.imp.USER32.dll_InvalidateRect]
mov eax, dword [esi + 4]
push eax
call dword [sym.imp.USER32.dll_SetFocus]
mov ecx, dword [esi + 4]
push ecx
call dword [sym.imp.USER32.dll_SetCapture]
mov ecx, dword [ebp + 0x10]
lea edx, [ebp - 8]
push edx
mov edx, dword [ebp + 0xc]
lea eax, [ebp - 4]
push eax
push ecx
or edi, 0xffffffff
push edx
mov ecx, esi
mov dword [ebp - 4], edi
mov dword [ebp - 8], ebx
call fcn.004a5df0
test eax, eax
je 0x4b0a2f
mov eax, dword [0x5427f0]
mov edx, dword [eax + 0xc]
mov ecx, 0x5427f0
call edx
mov edi, dword [ebp - 4]
add eax, 0x10
cmp edi, ebx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x10], ebx
jl 0x4b09fb
cmp edi, dword [esi + 0x358]
jge 0x4b09fb
mov ecx, dword [esi + 0x354]
lea eax, [edi + edi*4]
lea edx, [ecx + eax*8]
push edx
lea ecx, [ebp - 0x34]
call fcn.004a4db0
cmp dword [ebp - 0x2c], ebx
jne 0x4b09ee
test byte [ebp - 8], 1
je 0x4b09ee
mov ecx, dword [esi + 0x180]
push ecx
call dword [sym.imp.USER32.dll_SetCursor]
mov edx, dword [ebp - 0x30]
mov dword [esi + 0x44], 1
mov dword [esi + 0xe8], edi
mov dword [esi + 0xfc], edx
call dword [sym.imp.USER32.dll_GetMessagePos]
cwde
mov dword [esi + 0x100], eax
jmp 0x4b09fb
mov ecx, esi
mov dword [esi + 0xdc], edi
call fcn.004a6ee0
lea ecx, [ebp - 0x18]
call fcn.00467fe0
mov eax, dword [ebp - 0x34]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4b0bd2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [ebp + 0x10]
lea ecx, [ebp - 4]
push ecx
mov ecx, dword [ebp + 0xc]
lea edx, [ebp - 8]
push edx
push eax
push ecx
mov ecx, esi
mov dword [ebp - 8], edi
mov dword [ebp - 4], edi
call fcn.004a9b70
test eax, eax
jne 0x4b0a66
mov dword [esi + 0xb0], edi
pop edi
mov dword [esi + 0x48], 1
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov ebx, dword [ebp + 8]
mov edi, dword [ebp - 8]
mov eax, ebx
and eax, 4
jne 0x4b0a8b
test bl, 8
jne 0x4b0a8b
cmp dword [ebp - 4], 0
je 0x4b0a8b
mov dword [esi + 0x48], 1
mov dword [esi + 0xb0], edi
test eax, eax
jne 0x4b0aa9
test bl, 8
jne 0x4b0aa9
push edi
mov ecx, esi
call fcn.004a7fc0
test eax, eax
je 0x4b0aa9
cmp dword [esi + 0x37c], 1
ja 0x4b0ab6
mov edx, dword [ebp - 4]
push ebx
push edx
push edi
mov ecx, esi
call fcn.004affe0
mov eax, dword [ebp - 4]
push eax
mov ecx, esi
call fcn.004a52f0
mov ebx, eax
push ebx
push edi
mov ecx, esi
call fcn.004acc70
test al, 8
jne 0x4b0bd2
push ebx
push edi
mov ecx, esi
call fcn.004acba0
sub eax, 4
je 0x4b0b78
sub eax, 1
je 0x4b0b1e
sub eax, 1
jne 0x4b0bd2
mov ecx, dword [esi + 0x184]
push ecx
mov dword [esi + 0x48], eax
call dword [sym.imp.USER32.dll_SetCursor]
mov edx, dword [ebp - 4]
push 0xfffffa1d
push edx
push edi
mov ecx, esi
call fcn.004a9020
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push ebx
push edi
lea eax, [ebp + 8]
push eax
mov ecx, esi
mov dword [esi + 0x48], 0
call fcn.004ad140
mov eax, dword [eax]
push eax
call fcn.004eb0b4
add esp, 4
lea ecx, [ebp + 8]
mov dword [ebp - 8], eax
call fcn.00492ef0
mov eax, dword [ebp - 8]
test eax, eax
jge 0x4b0b56
push 0x51319c
jmp 0x4b0b64
jle 0x4b0b5f
push 0x513404
jmp 0x4b0b64
push 0x5131a0
push ebx
push edi
mov ecx, esi
call fcn.004a3c00
mov ecx, dword [ebp - 4]
push 0xfffffa1e
push ecx
jmp 0x4b0bc0
push ebx
push edi
lea edx, [ebp - 0xc]
push edx
mov ecx, esi
mov dword [esi + 0x48], 0
call fcn.004ad140
mov eax, dword [eax]
push eax
call fcn.004eb0b4
add esp, 4
test eax, eax
mov eax, 0x51319c
jg 0x4b0ba5
mov eax, 0x5131a0
push eax
push ebx
push edi
mov ecx, esi
call fcn.004a3c00
lea ecx, [ebp - 0xc]
call fcn.00492ef0
mov eax, dword [ebp - 4]
push 0xfffffa1e
push eax
push edi
mov ecx, esi
call fcn.004a9020
push 0xffffffffffffffff
push edi
mov ecx, esi
call fcn.004aad90
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc