Function at 0x51b618
Capabilities:
Log keystrokes

Disassembly:
push ebp
mov ebp, esp
mov ecx, 7
push 0
push 0
dec ecx
jne 0x51b620
push ebx
push esi
push edi
mov ebx, edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00404c48
xor eax, eax
push ebp
push 0x51b9eb
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 5], 0
mov edi, 1
cmp byte [ebp - 5], 0
jne 0x51b9bb
cmp edi, 2
jne 0x51b6a1
mov eax, 0x51ba04
call fcn.0051b014
push 0
push 0
push 0
push 0x11
call sub.user32.dll_MapVirtualKeyA
push eax
push 0xa0
call sub.user32.dll_keybd_event
push 0
push 2
push 0
push 0x11
call sub.user32.dll_MapVirtualKeyA
push eax
push 0xa0
call sub.user32.dll_keybd_event
mov eax, 1
call fcn.005151d0
mov esi, 2
call sub.user32.dll_GetForegroundWindow
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x1c]
call fcn.004654e0
mov ecx, dword [ebp - 0x1c]
lea eax, [ebp - 0x18]
mov edx, 0x51ba1c
call fcn.00404aa4
mov eax, dword [ebp - 0x18]
call fcn.0051b014
mov eax, ebx
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x24]
call fcn.004654e0
mov ecx, dword [ebp - 0x24]
lea eax, [ebp - 0x20]
mov edx, 0x51ba3c
call fcn.00404aa4
mov eax, dword [ebp - 0x20]
call fcn.0051b014
cmp ebx, 0x2c
je 0x51b762
call sub.user32.dll_GetForegroundWindow
cmp ebx, eax
je 0x51b758
mov eax, 0x51ba50
call fcn.0051b014
push ebx
call sub.user32.dll_SetForegroundWindow
mov dword [ebp - 0x14], eax
push 0x51ba60
cmp dword [ebp - 0x14], 1
sbb eax, eax
inc eax
lea ecx, [ebp - 0x2c]
xor edx, edx
call fcn.0046572c
push dword [ebp - 0x2c]
push 0x51ba80
lea eax, [ebp - 0x28]
mov edx, 3
call fcn.00404b18
mov eax, dword [ebp - 0x28]
call fcn.0051b014
mov eax, 0x32
call fcn.005151d0
jmp 0x51b9aa
mov eax, 0x51baac
call fcn.0051b014
lea eax, [ebp - 0xc]
mov edx, dword [ebp - 4]
call fcn.00404820
lea eax, [ebp - 0x30]
mov ecx, dword [ebp - 0xc]
mov edx, 0x51babc
call fcn.00404aa4
mov eax, dword [ebp - 0x30]
call fcn.0051b014
mov edx, 0x32
mov eax, dword [ebp - 0xc]
call fcn.0051b3c4
lea edx, [ebp - 0x10]
mov eax, 0x32
call fcn.0051b4a8
lea eax, [ebp - 0x34]
mov ecx, dword [ebp - 0x10]
mov edx, 0x51bacc
call fcn.00404aa4
mov eax, dword [ebp - 0x34]
call fcn.0051b014
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
call fcn.00404ba4
jne 0x51b9aa
mov eax, 0x32
call fcn.0051b55c
test al, al
jne 0x51b9aa
push 0
push 0
push 0
push 0x11
call sub.user32.dll_MapVirtualKeyA
push eax
push 0x11
call sub.user32.dll_keybd_event
push 0
push 0
push 0
push 0x41
call sub.user32.dll_MapVirtualKeyA
push eax
push 0x41
call sub.user32.dll_keybd_event
push 0
push 2
push 0
push 0x41
call sub.user32.dll_MapVirtualKeyA
push eax
push 0x41
call sub.user32.dll_keybd_event
push 0
push 2
push 0
push 0x11
call sub.user32.dll_MapVirtualKeyA
push eax
push 0x11
call sub.user32.dll_keybd_event
mov eax, 1
call fcn.005151d0
push 0
push 0
push 0
push 0x11
call sub.user32.dll_MapVirtualKeyA
push eax
push 0x11
call sub.user32.dll_keybd_event
push 0
push 0
push 0
push 0x56
call sub.user32.dll_MapVirtualKeyA
push eax
push 0x56
call sub.user32.dll_keybd_event
push 0
push 2
push 0
push 0x56
call sub.user32.dll_MapVirtualKeyA
push eax
push 0x56
call sub.user32.dll_keybd_event
push 0
push 2
push 0
push 0x11
call sub.user32.dll_MapVirtualKeyA
push eax
push 0x11
call sub.user32.dll_keybd_event
mov eax, 1
call fcn.005151d0
mov edx, 0x32
xor eax, eax
call fcn.0051b3c4
push 0
push 0
push 0
push 0x11
call sub.user32.dll_MapVirtualKeyA
push eax
push 0x11
call sub.user32.dll_keybd_event
push 0
push 0
push 0
push 0x41
call sub.user32.dll_MapVirtualKeyA
push eax
push 0x41
call sub.user32.dll_keybd_event
push 0
push 2
push 0
push 0x41
call sub.user32.dll_MapVirtualKeyA
push eax
push 0x41
call sub.user32.dll_keybd_event
push 0
push 2
push 0
push 0x11
call sub.user32.dll_MapVirtualKeyA
push eax
push 0x11
call sub.user32.dll_keybd_event
mov eax, 1
call fcn.005151d0
push 0
push 0
push 0
push 0x11
call sub.user32.dll_MapVirtualKeyA
push eax
push 0x11
call sub.user32.dll_keybd_event
push 0
push 0
push 0
push 0x43
call sub.user32.dll_MapVirtualKeyA
push eax
push 0x43
call sub.user32.dll_keybd_event
push 0
push 2
push 0
push 0x43
call sub.user32.dll_MapVirtualKeyA
push eax
push 0x43
call sub.user32.dll_keybd_event
push 0
push 2
push 0
push 0x11
call sub.user32.dll_MapVirtualKeyA
push eax
push 0x11
call sub.user32.dll_keybd_event
mov eax, 1
call fcn.005151d0
lea edx, [ebp - 0x10]
mov eax, 0x32
call fcn.0051b4a8
lea eax, [ebp - 0x38]
mov ecx, dword [ebp - 0x10]
mov edx, 0x51badc
call fcn.00404aa4
mov eax, dword [ebp - 0x38]
call fcn.0051b014
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
call fcn.00404ba4
jne 0x51b9a0
mov byte [ebp - 5], 1
mov eax, 0x51baec
call fcn.0051b014
jmp 0x51b9b1
mov eax, 0xa
call fcn.005151d0
dec esi
jne 0x51b6a6
inc edi
cmp edi, 3
jne 0x51b64e
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x51b9f2
lea eax, [ebp - 0x38]
mov edx, 9
call fcn.004047ac
lea eax, [ebp - 0x10]
mov edx, 2
call fcn.004047ac
lea eax, [ebp - 4]
call fcn.00404788
ret