Function at 0x49f7b0
Capabilities:
Hide graphical window
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffc4
push ebx
push esi
push edi
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov edx, eax
add edx, 0xffffff6a
cmp edx, 0x1e
ja case.0x49f7d0.152
jmp dword [edx*4 + 0x49f7d7]
cmp esi, dword [0x4fd9fc]
jne 0x49f896
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x18]
push ecx
lea eax, [ebp - 0x14]
push eax
lea edx, [ebp - 0x10]
push edx
lea ecx, [ebp - 0xc]
push ecx
lea eax, [ebp - 8]
push eax
lea edx, [ebp - 4]
push edx
push 0x4fa4fd
call fcn.004e8fc4
test eax, eax
jne 0x49f8eb
push 0
call sub.USER32.dll_MessageBeep
mov eax, 1
jmp 0x49feda
push esi
call fcn.004eae80
test eax, eax
jne 0x49f8b1
push 0
call sub.USER32.dll_MessageBeep
mov eax, 1
jmp 0x49feda
lea edx, [ebp - 0x1c]
push edx
lea ecx, [ebp - 0x18]
push ecx
lea edx, [ebp - 0x14]
push edx
lea ecx, [ebp - 0x10]
push ecx
lea edx, [ebp - 0xc]
push edx
lea ecx, [ebp - 8]
push ecx
lea edx, [ebp - 4]
push edx
add eax, 4
push eax
call fcn.004e8fc4
test eax, eax
jne 0x49f8eb
push 0
call sub.USER32.dll_MessageBeep
mov eax, 1
jmp 0x49feda
push esi
call fcn.004e8a90
test eax, eax
je 0x49f907
lea edx, [ebp - 0x2c]
push edx
mov ecx, dword [0x4fd9f0]
push ecx
call sub.USER32.dll_GetClientRect
jmp 0x49f910
lea eax, [ebp - 0x2c]
push eax
call fcn.004eb300
push esi
call sub.USER32.dll_IsIconic
test eax, eax
jne 0x49f92e
push esi
call sub.USER32.dll_IsWindowVisible
test eax, eax
je 0x49f92e
push esi
call sub.USER32.dll_IsZoomed
test eax, eax
je 0x49f936
push 9
push esi
call sub.USER32.dll_ShowWindow
cmp dword [ebp - 4], 0
jge 0x49f941
xor edx, edx
mov dword [ebp - 4], edx
cmp dword [ebp - 0xc], 0
jge 0x49f94c
xor ecx, ecx
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 4]
add edx, dword [ebp - 8]
mov eax, dword [ebp - 0x24]
cmp edx, eax
jl 0x49f95e
sub edx, eax
sub dword [ebp - 4], edx
mov ecx, dword [ebp - 0xc]
add ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x20]
cmp ecx, edx
jl 0x49f970
sub ecx, edx
sub dword [ebp - 0xc], ecx
cmp dword [ebp - 4], 0
jge 0x49f97b
xor ecx, ecx
mov dword [ebp - 4], ecx
cmp dword [ebp - 0xc], 0
jge 0x49f986
xor ecx, ecx
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 4]
add ecx, dword [ebp - 8]
cmp eax, ecx
jg 0x49f995
sub ecx, eax
sub dword [ebp - 8], ecx
mov eax, dword [ebp - 0xc]
add eax, dword [ebp - 0x10]
cmp edx, eax
jg 0x49f9a4
sub eax, edx
sub dword [ebp - 0x10], eax
cmp dword [ebp - 8], 0x32
jge 0x49f9b1
mov dword [ebp - 8], 0x32
cmp dword [ebp - 0x10], 0x64
jge 0x49f9be
mov dword [ebp - 0x10], 0x64
push 1
mov edx, dword [ebp - 0x10]
push edx
mov eax, dword [ebp - 8]
push eax
mov edx, dword [ebp - 0xc]
push edx
mov ecx, dword [ebp - 4]
push ecx
push esi
call sub.USER32.dll_MoveWindow
mov eax, 1
jmp 0x49feda
push esi
call fcn.004eae80
test eax, eax
jne 0x49f9f4
mov eax, 1
jmp 0x49feda
cmp byte [eax + 0x4cc], 0
jne 0x49fa0c
push 0xffffffffffffffff
push 0x4fa505
push esi
call fcn.004e8d38
jmp 0x49fa3a
cmp byte [eax + 0x4cc], 1
jne 0x49fa24
push 0xffffffffffffffff
push 0x4fa509
push esi
call fcn.004e8d38
jmp 0x49fa3a
cmp byte [eax + 0x4cc], 2
jne 0x49fa3a
push 0xffffffffffffffff
push 0x4fa50d
push esi
call fcn.004e8d38
mov eax, 1
jmp 0x49feda
push esi
call fcn.004e9234
mov eax, 1
jmp 0x49feda
push 1
push 0
push esi
call fcn.0049baa4
mov eax, 1
jmp 0x49feda
push esi
call fcn.0049b6e8
mov eax, 1
jmp 0x49feda
push 0
push 1
push 1
push esi
call fcn.0049b20c
mov eax, 1
jmp 0x49feda
push 0
push esi
call fcn.004ea424
mov eax, 1
jmp 0x49feda
push 1
push esi
call fcn.004ea424
mov eax, 1
jmp 0x49feda
push 2
push esi
call fcn.004ea424
mov eax, 1
jmp 0x49feda
push 3
push esi
call fcn.004ea424
mov eax, 1
jmp 0x49feda
push esi
call fcn.004694e0
mov eax, 1
jmp 0x49feda
push esi
call fcn.004ea11c
mov eax, 1
jmp 0x49feda
push esi
call fcn.004ea2a0
mov eax, 1
jmp 0x49feda
push 0xffffffffffffffff
push esi
call fcn.004e8ab4
mov eax, 1
jmp 0x49feda
push 2
push esi
call fcn.004eac24
mov eax, 1
jmp 0x49feda
push 1
push esi
call fcn.004eac24
mov eax, 1
jmp 0x49feda
push 0
push esi
call fcn.004eac24
mov eax, 1
jmp 0x49feda
push 0xffffffffffffffff
push esi
call fcn.004e98fc
mov eax, 1
jmp 0x49feda
push esi
call fcn.004ea77c
mov eax, 1
jmp 0x49feda
push esi
call fcn.0041c1cc
mov eax, 1
jmp 0x49feda
push esi
call fcn.0041c354
mov eax, 1
jmp 0x49feda
push 0
push esi
call fcn.0041ce90
mov eax, 1
jmp 0x49feda
push 1
push esi
call fcn.0041ce90
mov eax, 1
jmp 0x49feda
push 2
push esi
call fcn.0041ce90
mov eax, 1
jmp 0x49feda
push 3
push esi
call fcn.0041ce90
mov eax, 1
jmp 0x49feda
push 4
push esi
call fcn.0041ce90
mov eax, 1
jmp 0x49feda
push 5
push esi
call fcn.0041ce90
mov eax, 1
jmp 0x49feda
push 2
push esi
call fcn.004eae80
push eax
call fcn.0041bf2c
mov eax, 1
jmp 0x49feda
push esi
call fcn.004e92e0
mov eax, 1
jmp 0x49feda
push esi
call fcn.004eae80
mov ebx, eax
test ebx, ebx
je 0x49fd00
cmp dword [ebx + 0x5dc], 0
je 0x49fd00
mov eax, dword [ebx + 0x5e0]
push eax
push 0
push 0
mov edx, dword [ebx + 0x5dc]
push edx
call fcn.004543bc
mov edi, eax
test edi, edi
je 0x49fcf7
add ebx, 4
push ebx
push 0x4f7cec
push 0x4fa511
push 0x51f91f
call sub.USER32.dll_wsprintfA
add esp, 0x10
push 4
push 0
push 0xf0b
call fcn.0041f178
push eax
push 3
push esi
call fcn.004d20cc
test eax, eax
je 0x49fce9
push edi
mov esi, 0x515718
mov edi, 0x51f91f
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
push 0x51fa9f
push 0x515718
call fcn.0040123c
add esp, 8
push edi
push 0x515718
call fcn.00454318
test eax, eax
jne 0x49fce9
push 0
call sub.USER32.dll_MessageBeep
push edi
call sub.KERNEL32.dll_GlobalUnlock
push edi
call sub.KERNEL32.dll_GlobalFree
jmp 0x49fd07
push 0
call sub.USER32.dll_MessageBeep
jmp 0x49fd07
push 0
call sub.USER32.dll_MessageBeep
mov eax, 1
jmp 0x49feda
and eax, 0xfff0
sub eax, 0xf020
je 0x49fd2d
sub eax, 0x100
je 0x49fe1f
jmp 0x49fed8
cmp dword [0x4fda44], 0
je 0x49fd8b
push esi
call fcn.004e8a90
test eax, eax
jne 0x49fd8b
push 0x10
call sub.USER32.dll_GetKeyState
test ax, ax
jl 0x49fd8b
push 6
push esi
call sub.USER32.dll_ShowWindow
push 0
push esi
call sub.USER32.dll_ShowWindow
cmp esi, dword [0x4fd9f8]
jne 0x49fd6c
xor edx, edx
mov dword [0x4fd9f8], edx
cmp dword [0x4fccb4], 0
je 0x49fd81
push esi
call fcn.004eae80
push eax
call fcn.004d9d04
mov eax, 1
jmp 0x49feda
cmp dword [0x4fccb4], 0
je 0x49fe18
push esi
call fcn.004e8a90
test eax, eax
je 0x49fdfc
push esi
call fcn.004d99bc
test eax, eax
je 0x49fdbe
push 1
push esi
call fcn.004da87c
mov eax, 1
jmp 0x49feda
mov eax, dword [0x4fda04]
cmp esi, eax
jne 0x49fddd
push 0
push 0
push 0x10
push eax
call sub.USER32.dll_PostMessageA
mov eax, 1
jmp 0x49feda
mov eax, dword [0x4fda08]
cmp esi, eax
jne 0x49fe0c
push 0
push 0
push 0x10
push eax
call sub.USER32.dll_PostMessageA
mov eax, 1
jmp 0x49feda
cmp esi, dword [0x4fd9f8]
jne 0x49fe0c
xor edx, edx
mov dword [0x4fd9f8], edx
push esi
call fcn.004eae80
push eax
call fcn.004d9d04
xor eax, eax
jmp 0x49feda
cmp dword [0x4fccb4], 0
je 0x49fed4
mov ebx, dword [0x4fd9e4]
test ebx, ebx
je 0x49fed4
mov edi, dword [ebx]
cmp esi, edi
je 0x49fec6
push edi
call fcn.004e8a90
test eax, eax
je 0x49fec6
mov eax, dword [ebx]
push eax
call fcn.004d99bc
test eax, eax
je 0x49fec6
mov edx, dword [ebx]
push edx
call sub.USER32.dll_IsIconic
test eax, eax
jne 0x49fe72
mov ecx, dword [ebx]
push ecx
call sub.USER32.dll_IsWindowVisible
test eax, eax
jne 0x49fe7e
push 0
mov eax, dword [ebx]
push eax
call fcn.004da87c
jmp 0x49fec6
cmp dword [ebx + 0x5dc], 0
je 0x49fec6
push 0
lea edx, [ebp - 0x3c]
push edx
mov ecx, dword [ebx]
push ecx
call fcn.004eb0a8
mov eax, dword [ebx + 0x5e4]
cmp eax, dword [ebp - 0x34]
jne 0x49feab
mov edx, dword [ebx + 0x5e8]
cmp edx, dword [ebp - 0x30]
je 0x49fec6
cmp byte [ebx + 0x4e9], 0
je 0x49febc
push ebx
call fcn.00456584
jmp 0x49fec6
push 0
mov ecx, dword [ebx]
push ecx
call fcn.0041c430
mov ebx, dword [ebx + 0x828]
test ebx, ebx
jne 0x49fe3a
xor eax, eax
jmp 0x49feda
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8