Function at 0x52127c
Capabilities:
Log keystrokes

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
push 0
push ebx
push esi
push edi
xor edx, edx
push ebp
push 0x52154d
push dword fs:[edx]
mov dword fs:[edx], esp
mov dword [ebp - 4], 0xffffffff
mov edx, dword [0x536474]
dec edx
je 0x5212ae
dec edx
je 0x5212c2
dec edx
je 0x5212d6
jmp 0x5212e8
lea eax, [ebp - 8]
mov edx, 0x521568
call fcn.00404820
mov eax, 0x3c
jmp 0x5212e8
lea eax, [ebp - 8]
mov edx, 0x521584
call fcn.00404820
mov eax, 0x32
jmp 0x5212e8
lea eax, [ebp - 8]
mov edx, 0x52159c
call fcn.00404820
mov eax, 0x32
mov esi, eax
xor ebx, ebx
mov edi, 0x14
mov edx, 0x32
mov eax, dword [ebp - 8]
call fcn.0051b3c4
lea edx, [ebp - 0xc]
mov eax, 0x32
call fcn.0051b4a8
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
call fcn.00404ba4
je 0x521325
mov eax, 0x3e8
call fcn.005151d0
dec edi
jne 0x5212f1
mov eax, 0x32
call fcn.0051b55c
test al, al
jne 0x521532
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, 0x64
call fcn.005151d0
push 0
push 0
push 0
push 0
xor ecx, ecx
mov edx, 0x190
mov eax, dword [0x536520]
call fcn.0051cbf0
cmp dword [0x5364ec], 0
je 0x5213c3
mov eax, 0x5215b8
call fcn.0051b014
mov bl, 1
test bl, bl
jne 0x52151d
mov eax, 0x5215d0
call fcn.0051b014
mov edi, 3
call fcn.00521234
test al, al
jne 0x521532
push esi
push 0x258
call sub.user32.dll_SetCursorPos
push 0
push 0
push 0
push 0
push 2
call sub.user32.dll_mouse_event
push 0
push 0
push 0
push 0
push 4
call sub.user32.dll_mouse_event
mov eax, 0xa
call fcn.005151d0
push esi
push 0x258
call sub.user32.dll_SetCursorPos
push 0
push 0
push 0
push 0
push 2
call sub.user32.dll_mouse_event
mov eax, 1
call fcn.005151d0
push esi
push 0xc8
call sub.user32.dll_SetCursorPos
mov eax, 1
call fcn.005151d0
push esi
push 1
call sub.user32.dll_SetCursorPos
mov eax, 1
call fcn.005151d0
push 0
push 0
push 0
push 0
push 4
call sub.user32.dll_mouse_event
mov eax, 0xa
call fcn.005151d0
mov eax, 0x32
call fcn.0051b55c
test al, al
jne 0x521532
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, 0x64
call fcn.005151d0
push 0
push 0
push 0
push 0
xor ecx, ecx
mov edx, 0x190
mov eax, dword [0x536520]
call fcn.0051cbf0
cmp dword [0x5364ec], 0
je 0x521512
mov bl, 1
test bl, bl
jne 0x52151d
dec edi
jne 0x5213da
test bl, bl
je 0x521532
mov eax, 0x5215ec
call fcn.0051b014
mov dword [ebp - 4], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x521554
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.004047ac
ret