Function at 0x4f5b90
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov edx, dword [ebp + 0x10]
sub esp, 0x14
push ebx
mov ebx, ecx
push esi
push edi
mov edi, dword [ebp + 0xc]
mov eax, dword [ebx]
mov esi, dword [eax]
cmp esi, eax
je 0x4f5bd8
nop dword [eax]
push dword [ebp + 0x18]
mov ecx, dword [esi + 0x10]
lea edi, [esp + 0x18]
push edi
push dword [ebp + 0x14]
mov edi, dword [ebp + 0xc]
mov eax, dword [ecx]
push edx
push edi
push dword [ebp + 8]
call dword [eax + 0x38]
test eax, eax
jne 0x4f5c16
mov esi, dword [esi]
mov edx, dword [ebp + 0x10]
cmp esi, dword [ebx]
jne 0x4f5bb0
cmp edi, 0x100
jne 0x4f5c30
cmp edx, 0x1b
jne 0x4f5c8f
cmp dword [0x5e45d4], 0
je 0x4f5c23
mov esi, dword [sym.imp.USER32.dll_ShowWindow]
push 0
push dword [0x5e466c]
call esi
test eax, eax
jne 0x4f5c8f
push 8
push dword [0x5e466c]
call esi
jmp 0x4f5c8f
mov eax, dword [esp + 0x14]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
push 6
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x4f5c8f
cmp edi, 0x201
jne 0x4f5c79
mov dword [ebx + 0x14], 1
mov dword [ebx + 0x34], 0
mov dword [ebx + 0x24], 0
mov dword [ebx + 0x28], 0x14a
mov dword [ebx + 0x30], 0
mov dword [ebx + 0x1c], 0
mov dword [ebx + 0x2c], 1
mov dword [ebx + 0x20], 1
mov dword [ebx + 0x38], 0
jmp 0x4f5c8f
cmp edi, 0x202
jne 0x4f5c8f
mov dword [ebx + 0x14], 0
mov dword [ebx + 0x20], 0
mov eax, dword [ebx]
mov esi, dword [eax]
cmp esi, eax
je 0x4f608b
nop dword [eax + eax]
push dword [ebp + 0x14]
mov ecx, dword [esi + 0x10]
push dword [ebp + 0x10]
push edi
mov eax, dword [ecx]
push dword [ebp + 8]
call dword [eax + 0x98]
cmp edi, 0x200
ja 0x4f5dd9
je 0x4f5d9e
cmp edi, 0xa1
ja 0x4f5d38
je 0x4f5d25
cmp edi, 0x10
je 0x4f5d07
cmp edi, 0x1c
je 0x4f5cf4
cmp edi, 0xa0
jne case.0x4f5def.515
mov ecx, dword [esi + 0x10]
mov eax, dword [ecx]
call dword [eax + 0x60]
jmp 0x4f6081
mov ecx, dword [esi + 0x10]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
mov eax, dword [ecx]
call dword [eax + 0x40]
jmp 0x4f6081
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
jne 0x4f6081
mov ecx, dword [esi + 0x10]
mov eax, dword [ecx]
call dword [eax + 0x4c]
jmp 0x4f6081
mov ecx, dword [esi + 0x10]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
mov eax, dword [ecx]
call dword [eax + 0x64]
jmp 0x4f6081
mov eax, edi
sub eax, 0x100
je 0x4f5d8b
sub eax, 1
je 0x4f5d78
sub eax, 0x10
jne case.0x4f5def.515
mov eax, 0x9c4c
cmp word [ebp + 0x10], ax
jne 0x4f6081
cmp dword [0x5e45d4], 0
je 0x4f6081
mov ecx, dword [esi + 0x10]
mov eax, dword [ecx]
call dword [eax + 0x3c]
jmp 0x4f6081
mov ecx, dword [esi + 0x10]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
mov eax, dword [ecx]
call dword [eax + 0x58]
jmp 0x4f6081
mov ecx, dword [esi + 0x10]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
mov eax, dword [ecx]
call dword [eax + 0x54]
jmp 0x4f6081
mov ecx, dword [ebp + 0x14]
movsx eax, cx
mov dword [esp + 0x14], eax
mov eax, ecx
mov ecx, dword [ebp + 0x18]
shr eax, 0x10
cwde
mov dword [esp + 0x10], eax
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.0040cbd0
mov ecx, dword [esi + 0x10]
push dword [esp + 0x10]
push dword [esp + 0x18]
mov eax, dword [ecx]
call dword [eax + 0x50]
jmp 0x4f6081
lea eax, [edi - 0x201]
cmp eax, 0x31
ja case.0x4f5def.515
movzx eax, byte [eax + 0x4f60b8]
jmp dword [eax*4 + 0x4f6098]
mov ecx, dword [ebp + 0x14]
movsx eax, cx
mov dword [esp + 0x14], eax
mov eax, ecx
mov ecx, dword [ebp + 0x18]
shr eax, 0x10
cwde
mov dword [esp + 0x10], eax
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.0040cbd0
mov ecx, dword [esi + 0x10]
mov eax, dword [ecx]
cmp edi, 0x201
jne 0x4f5e30
push 0
jmp 0x4f6076
push dword [esp + 0x10]
push dword [esp + 0x18]
cmp edi, 0x204
jne 0x4f5e48
call dword [eax + 0x6c]
jmp 0x4f6081
call dword [eax + 0x70]
jmp 0x4f6081
mov ecx, dword [ebp + 0x14]
movsx eax, cx
mov dword [esp + 0x14], eax
mov eax, ecx
mov ecx, dword [ebp + 0x18]
shr eax, 0x10
cwde
mov dword [esp + 0x10], eax
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.0040cbd0
cmp edi, 0x202
jne 0x4f5e93
mov ecx, dword [esi + 0x10]
push dword [esp + 0x10]
push dword [esp + 0x18]
mov eax, dword [ecx]
call dword [eax + 0x7c]
jmp 0x4f6081
cmp edi, 0x205
jne 0x4f5eb3
mov ecx, dword [esi + 0x10]
push dword [esp + 0x10]
push dword [esp + 0x18]
mov eax, dword [ecx]
call dword [eax + 0x80]
jmp 0x4f6081
cmp edi, 0x208
jne 0x4f6081
mov ecx, dword [esi + 0x10]
push dword [esp + 0x10]
push dword [esp + 0x18]
mov eax, dword [ecx]
call dword [eax + 0x84]
jmp 0x4f6081
mov ecx, dword [ebp + 0x14]
movsx eax, cx
mov dword [esp + 0x14], eax
mov eax, ecx
mov ecx, dword [ebp + 0x18]
shr eax, 0x10
cwde
mov dword [esp + 0x10], eax
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.0040cbd0
mov eax, dword [ebp + 0x10]
shr eax, 0x10
sub eax, 1
je 0x4f5f26
sub eax, 1
jne 0x4f6081
mov ecx, dword [esi + 0x10]
push dword [esp + 0x10]
push dword [esp + 0x18]
mov eax, dword [ecx]
call dword [eax + 0x78]
jmp 0x4f6081
mov ecx, dword [esi + 0x10]
push dword [esp + 0x10]
push dword [esp + 0x18]
mov eax, dword [ecx]
call dword [eax + 0x74]
jmp 0x4f6081
mov ecx, dword [ebp + 0x14]
movsx eax, cx
mov dword [esp + 0x14], eax
mov eax, ecx
mov ecx, dword [ebp + 0x18]
shr eax, 0x10
cwde
mov dword [esp + 0x10], eax
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.0040cbd0
mov eax, dword [ebp + 0x10]
shr eax, 0x10
sub eax, 1
je 0x4f5f8d
sub eax, 1
jne 0x4f6081
mov ecx, dword [esi + 0x10]
push dword [esp + 0x10]
push dword [esp + 0x18]
mov eax, dword [ecx]
call dword [eax + 0x8c]
jmp 0x4f6081
mov ecx, dword [esi + 0x10]
push dword [esp + 0x10]
push dword [esp + 0x18]
mov eax, dword [ecx]
call dword [eax + 0x88]
jmp 0x4f6081
mov eax, dword [ebp + 0x10]
xorps xmm1, xmm1
shr eax, 0x10
cwde
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x5c7250]
addss xmm0, xmm0
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x4f6004
comiss xmm0, xmm1
mov eax, dword [0x5e48d0]
jbe 0x4f5fda
cmp eax, 1
je 0x4f5fe4
comiss xmm1, xmm0
jbe 0x4f5ff3
cmp eax, 0xffffffff
jne 0x4f5ff3
mov dword [0x5e48d0], 0
jmp 0x4f6081
xor eax, eax
comiss xmm0, xmm1
setbe al
lea eax, [eax*2 - 1]
jmp 0x4f6006
xor eax, eax
mov ecx, dword [esi + 0x10]
mov dword [0x5e48d0], eax
push ecx
movss dword [esp], xmm0
mov eax, dword [ecx]
call dword [eax + 0x5c]
jmp 0x4f6081
mov ecx, dword [esi + 0x10]
mov eax, dword [ecx]
call dword [eax + 0x44]
jmp 0x4f6081
mov ecx, dword [esi + 0x10]
mov eax, dword [ecx]
call dword [eax + 0x48]
jmp 0x4f6081
cmp edi, dword [ebx + 0x18]
jne 0x4f6081
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
lea eax, [esp + 0x18]
push eax
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_ScreenToClient]
mov eax, dword [esp + 0x18]
mov ecx, dword [ebp + 0x18]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.0040cbd0
mov ecx, dword [esi + 0x10]
push 1
mov eax, dword [ecx]
push dword [esp + 0x14]
push dword [esp + 0x1c]
call dword [eax + 0x68]
mov esi, dword [esi]
cmp esi, dword [ebx]
jne 0x4f5ca0
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x14