Function at 0x4bf060
Capabilities:
Log keystrokes

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x24
push ebx
mov ebx, eax
mov eax, dword [ebp + 8]
cmp dword [ebx + 0x1cc], eax
push esi
push edi
jne 0x4bf0f4
cmp dword [ebx + 0x1d0], 0
jne 0x4bf0c7
cmp dword [0x5f3220], 0
je 0x4bf08f
xor eax, eax
jmp 0x4bf09b
push 1
add eax, 0xfffffffb
push eax
push ebx
call fcn.004bcac0
test eax, eax
mov dword [ebx + 0x1d4], eax
je 0x4bf6bb
mov ecx, 1
mov esi, ebx
call fcn.004bec90
mov edi, dword [0x5f2620]
push 1
call fcn.00489200
jmp 0x4bf681
mov edi, dword [0x5f2620]
push 1
call fcn.00489200
mov ebx, dword [ebx + 0x1d0]
test ebx, ebx
je 0x4bf6bb
push 5
mov ecx, ebx
call fcn.00537d86
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
xor edi, edi
cmp eax, edi
jne 0x4bf22c
lea esi, [ebx + 0x668]
cmp esi, edi
mov dword [ebx + 0x1cc], edi
je 0x4bf113
cmp dword [esi + 0x20], edi
jne 0x4bf14b
mov edx, dword [esi]
mov edx, dword [edx + 0x54]
push edi
push 1
push ebx
lea eax, [esp + 0x2c]
push eax
push 0x56000000
push str.FavoriteWnd
push edi
mov ecx, esi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
call edx
lea eax, [ebx + 0x934]
call fcn.00457340
mov ecx, dword [ebx + 0x1d0]
cmp ecx, edi
je 0x4bf15b
push edi
call fcn.00537d86
mov edi, dword [0x5f2620]
push 1
call fcn.00489200
push 0x5a67fc
lea ecx, [ebx + 0x1c8]
call fcn.004021d0
mov ecx, dword [ebx + 0x20]
lea eax, [esp + 0x10]
push eax
push ecx
mov dword [ebx + 0x1d0], esi
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [0x5f2774]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
add eax, 0xd
sub ecx, 5
push 1
mov dword [esp + 0x1c], ecx
sub edx, eax
push edx
add ecx, 0xfffffffe
push ecx
mov ecx, dword [ebx + 0x1d0]
push eax
push 2
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], 2
call fcn.00537d48
mov ecx, dword [ebx + 0x1d0]
push 5
call fcn.00537d86
mov eax, dword [ebx + 0x20]
push 0
push 0
push eax
call dword [sym.imp.USER32.dll_InvalidateRect]
mov esi, dword [0x5f2620]
call fcn.0047adf0
mov ebx, dword [ebx + 0x1d4]
test ebx, ebx
je 0x4bf6bb
cmp dword [0x5f3224], 0
je 0x4bf586
mov ecx, dword [0x5f2630]
push 0x4053
push 0
push 0
push 0
push 0
push ecx
push ebx
call dword [sym.imp.USER32.dll_SetWindowPos]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp eax, 1
jne 0x4bf2de
lea esi, [ebx + 0x1f4]
cmp esi, edi
mov dword [ebx + 0x1cc], eax
je 0x4bf24a
cmp dword [esi + 0x20], edi
jne 0x4bf2a3
mov edx, dword [esi]
mov edx, dword [edx + 0x54]
push edi
push 2
push ebx
lea eax, [esp + 0x2c]
push eax
push 0x56000000
push str.HistroyWnd
push edi
mov ecx, esi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
call edx
mov eax, dword [ebx + 0x660]
cmp eax, edi
je 0x4bf2a3
mov ecx, dword [0x5f2c48]
mov edx, dword [ebx + 0x664]
mov eax, dword [eax + 0x14]
push ecx
push 2
push edx
call eax
add esp, 0xc
mov dword [ebx + 0x65c], 2
mov ecx, dword [ebx + 0x1d0]
cmp ecx, edi
je 0x4bf2b3
push edi
call fcn.00537d86
mov edi, dword [0x5f2620]
push 1
call fcn.00489200
push 0x5b7420
lea ecx, [ebx + 0x1c8]
call fcn.004021d0
mov edx, dword [ebx + 0x20]
lea ecx, [esp + 0x10]
push ecx
push edx
jmp 0x4bf181
cmp eax, 2
jne 0x4bf3fa
lea esi, [ebx + 0x1828]
cmp esi, edi
mov dword [ebx + 0x1cc], eax
je 0x4bf2fc
cmp dword [esi + 0x20], edi
jne 0x4bf329
mov edx, dword [esi]
mov edx, dword [edx + 0x54]
push edi
push 3
push ebx
lea eax, [esp + 0x2c]
push eax
push 0x56000000
push str.AddrWnd
push edi
mov ecx, esi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
call edx
mov ecx, dword [ebx + 0x1d0]
cmp ecx, edi
je 0x4bf339
push edi
call fcn.00537d86
mov edi, dword [0x5f2620]
push 1
call fcn.00489200
push 0x5ab978
lea ecx, [ebx + 0x1c8]
call fcn.004021d0
mov ecx, dword [ebx + 0x20]
lea eax, [esp + 0x10]
push eax
push ecx
mov dword [ebx + 0x1d0], esi
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [ebx + 0x1d0]
mov edx, dword [0x5f2774]
sub dword [esp + 0x18], 5
add edx, 0xd
push eax
lea eax, [esp + 0x14]
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], 2
call fcn.004054a0
mov ecx, dword [ebx + 0x1d0]
push 5
call fcn.00537d86
mov ecx, dword [ebx + 0x20]
push 0
push 0
push ecx
call dword [sym.imp.USER32.dll_InvalidateRect]
mov esi, dword [0x5f2620]
call fcn.0047adf0
mov ebx, dword [ebx + 0x1d4]
test ebx, ebx
je 0x4bf6bb
cmp dword [0x5f3224], 0
je 0x4bf586
mov edx, dword [0x5f2630]
push 0x4053
push 0
push 0
push 0
push 0
push edx
push ebx
call dword [sym.imp.USER32.dll_SetWindowPos]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp eax, 3
jne 0x4bf4f9
cmp dword [ebx + 0x17e0], edi
mov dword [ebx + 0x1cc], eax
je 0x4bf41d
push edi
push edi
push 0x5b7a44
call fcn.00539414
mov edx, ebx
call fcn.004bf720
mov ecx, dword [ebx + 0x1d0]
cmp ecx, edi
je 0x4bf434
push edi
call fcn.00537d86
mov edi, dword [0x5f2620]
push 1
call fcn.00489200
push 0x5ab96c
lea ecx, [ebx + 0x1c8]
call fcn.004021d0
mov edx, dword [ebx + 0x20]
lea ecx, [esp + 0x10]
push ecx
lea eax, [ebx + 0x1134]
push edx
mov dword [ebx + 0x1d0], eax
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [0x5f2774]
mov ecx, dword [ebx + 0x1d0]
sub dword [esp + 0x18], 5
add eax, 0xd
mov dword [esp + 0x14], eax
push ecx
lea eax, [esp + 0x14]
mov dword [esp + 0x14], 2
call fcn.004054a0
mov ecx, dword [ebx + 0x1d0]
push 5
call fcn.00537d86
mov edx, dword [ebx + 0x20]
push 0
push 0
push edx
call dword [sym.imp.USER32.dll_InvalidateRect]
mov esi, dword [0x5f2620]
call fcn.0047adf0
mov ebx, dword [ebx + 0x1d4]
test ebx, ebx
je 0x4bf6bb
cmp dword [0x5f3224], 0
je 0x4bf586
mov eax, dword [0x5f2630]
push 0x4053
push 0
push 0
push 0
push 0
push eax
push ebx
call dword [sym.imp.USER32.dll_SetWindowPos]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp eax, 4
jne 0x4bf5a5
mov edx, ebx
mov dword [ebx + 0x1cc], eax
call fcn.004bf6d0
mov ecx, dword [ebx + 0x1d0]
cmp ecx, edi
je 0x4bf51f
push edi
call fcn.00537d86
mov edi, dword [0x5f2620]
push 1
call fcn.00489200
push 0x5b742c
lea ecx, [ebx + 0x1c8]
call fcn.004021d0
mov eax, dword [ebx + 0x20]
lea edx, [esp + 0x10]
push edx
lea ecx, [ebx + 0x1f90]
push eax
mov dword [ebx + 0x1d0], ecx
call dword [sym.imp.USER32.dll_GetClientRect]
mov ecx, dword [0x5f2774]
mov edx, dword [ebx + 0x1d0]
sub dword [esp + 0x18], 5
add ecx, 0xd
push edx
lea eax, [esp + 0x14]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], 2
call fcn.004054a0
jmp 0x4bf1c7
push 0x4097
push 0
push 0
push 0
push 0
push 0
push ebx
call dword [sym.imp.USER32.dll_SetWindowPos]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp eax, 5
jl 0x4bf6bb
mov ecx, dword [ebx + 0x1d0]
cmp ecx, edi
mov dword [ebx + 0x1cc], eax
je 0x4bf5c4
push edi
call fcn.00537d86
mov eax, dword [ebx + 0x1d4]
cmp eax, edi
mov dword [ebx + 0x1d0], edi
je 0x4bf5ff
cmp dword [0x5f3224], edi
je 0x4bf5ee
mov edx, dword [0x5f2630]
push 0x4053
push edi
push edi
push edi
push edi
push edx
jmp 0x4bf5f8
push 0x4097
push edi
push edi
push edi
push edi
push edi
push eax
call dword [sym.imp.USER32.dll_SetWindowPos]
mov dword [ebx + 0x1d4], edi
mov esi, dword [0x5f2620]
call fcn.0047adf0
mov esi, dword [ebp + 8]
add esi, 0xfffffffb
lea ecx, [ebx + 0x1d8]
mov eax, esi
call fcn.00439be0
mov eax, dword [eax]
push eax
lea ecx, [ebx + 0x1c8]
call fcn.004022f0
mov ecx, dword [ebx + 0x20]
push 0
push 0
push ecx
call dword [sym.imp.USER32.dll_InvalidateRect]
mov edx, dword [ebx + 0x20]
push edx
call dword [sym.imp.USER32.dll_UpdateWindow]
cmp dword [0x5f3220], edi
je 0x4bf655
xor eax, eax
jmp 0x4bf65e
push 1
push esi
push ebx
call fcn.004bcac0
test eax, eax
mov dword [ebx + 0x1d4], eax
je 0x4bf6bb
mov edi, dword [0x5f2620]
push 1
call fcn.00489200
mov ecx, 1
mov esi, ebx
call fcn.004bec90
mov eax, dword [ebx + 0x1d4]
push 0
push eax
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push 1
mov edi, eax
push edi
push esi
call dword [sym.imp.USER32.dll_AttachThreadInput]
mov ecx, dword [ebx + 0x1d4]
push ecx
call dword [sym.imp.USER32.dll_SetForegroundWindow]
push 0
push edi
push esi
call dword [sym.imp.USER32.dll_AttachThreadInput]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4