Function at 0x424ea0
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x170
mov eax, dword [0x47c554]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x14]
mov dword [ebp - 0x160], ecx
push ebx
push esi
mov esi, dword [ebp + 0x18]
push edi
mov edi, dword [ebp + 8]
cmp eax, 0x111
ja 0x42534e
je 0x42530c
cmp eax, 0x4e
je 0x424fb2
cmp eax, 0x110
jne case.0x424feb.10
push esi
push edi
call dword [sym.imp.USER32.dll_GetDlgItem]
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
mov edi, eax
push 0x400000
push 0
push 0x435
push edi
call esi
push 0
push 0
push 0x43b
push edi
call esi
or eax, 0x30001
push eax
push 0
push 0x445
push edi
call esi
push str.Courier_New
lea eax, [ebp - 0x126]
mov dword [ebp - 0x140], 0x3c
push 0x20
push eax
mov dword [ebp - 0x13c], 0x20000000
mov dword [ebp - 0x138], 0
call fcn.0043f2f3
add esp, 0xc
mov dword [ebp - 0x134], 0x32
push 0
push 1
push 0xc8
push edi
call esi
lea eax, [ebp - 0x140]
push eax
push 4
push 0x444
push edi
call esi
lea eax, [ebp - 0x140]
push eax
push 0
push 0x444
push edi
call esi
lea eax, [ebp - 0x140]
push eax
push 0
push 0x444
push edi
call esi
push dword [ebp + 0x1c]
push 1
push 0
push edi
jmp 0x42537a
cmp dword [ecx + 4], esi
jne case.0x424feb.10
cmp dword [ecx + 8], 0x700
jne case.0x424feb.10
cmp dword [ecx + 0xc], 0x100
jne case.0x424feb.10
mov eax, dword [ecx + 0x10]
add eax, 0xfffffff7
cmp eax, 0x4d
ja case.0x424feb.10
movzx eax, byte [eax + 0x4253b0]
jmp dword [eax*4 + 0x425398]
push esi
push edi
call dword [sym.imp.USER32.dll_GetDlgItem]
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
mov edi, eax
push 0
push 0xffffffffffffffff
push 0xbb
lea eax, [ebp - 0x104]
push edi
mov dword [ebp - 0x150], eax
call esi
mov dword [ebp - 0x158], eax
lea eax, [ebp - 0x148]
push eax
push 0
push 0x434
push edi
call esi
mov eax, dword [ebp - 0x148]
mov dword [ebp - 0x154], eax
lea eax, [ebp - 0x158]
push eax
push 0
push 0x44b
push edi
call esi
cmp byte [ebp - 0x104], 0x20
jne case.0x424feb.10
mov ebx, dword [sym.imp.USER32.dll_PostMessageA]
lea esi, [ebp - 0x104]
push 0
push 0x20
push 0x102
push edi
call ebx
cmp byte [esi + 1], 0x20
lea esi, [esi + 1]
je 0x425067
jmp case.0x424feb.10
push esi
push edi
call dword [sym.imp.USER32.dll_GetDlgItem]
mov esi, eax
lea eax, [ebp - 0x148]
push eax
push 0
push 0x434
push esi
call dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 1
lea eax, [ebp - 0x148]
push eax
push esi
call fcn.004263f0
add esp, 0x10
cmp eax, 0xff0000
je 0x4250c3
test eax, eax
jne case.0x424feb.10
push 0
push dword [ebp - 0x148]
push 0x402
push edi
call dword [sym.imp.USER32.dll_PostMessageA]
jmp case.0x424feb.10
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns case.0x424feb.10
push esi
push edi
call dword [sym.imp.USER32.dll_GetDlgItem]
lea ecx, [ebp - 0x148]
push ecx
push 0
push 0x434
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
push 0
push dword [ebp - 0x148]
push 0x401
push edi
call dword [sym.imp.USER32.dll_PostMessageA]
jmp case.0x424feb.10
push 0x10
jmp 0x4250de
push esi
push edi
call dword [sym.imp.USER32.dll_GetDlgItem]
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
mov esi, eax
lea eax, [ebp - 0x148]
push eax
push 0
push 0x434
push esi
call edi
push 0
push dword [ebp - 0x148]
push 0xc9
push esi
call edi
push 0
push dword [ebp - 0x144]
mov ebx, eax
push 0xc9
push esi
call edi
mov dword [ebp - 0x14c], eax
cmp ebx, eax
je 0x4252e9
push 0
push 0
push 0x43b
push esi
call edi
push 0
push 0
push 0x445
push esi
mov dword [ebp - 0x15c], eax
call edi
push esi
call dword [sym.imp.USER32.dll_GetParent]
push eax
call dword [sym.imp.USER32.dll_LockWindowUpdate]
lea eax, [ebp - 0x170]
push eax
push 0
push 0x4dd
push esi
call edi
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
js 0x42521c
cmp ebx, dword [ebp - 0x14c]
jge 0x42529d
nop
push 0
push ebx
push 0xbb
push esi
call edi
mov dword [ebp - 0x168], eax
mov dword [ebp - 0x164], eax
lea eax, [ebp - 0x168]
push eax
push 0
push 0x437
push esi
call edi
push 0x46032c
push 1
push 0xc2
push esi
call edi
add dword [ebp - 0x144], 2
inc ebx
cmp ebx, dword [ebp - 0x14c]
jl 0x4251d0
jmp 0x42529d
cmp ebx, dword [ebp - 0x14c]
jge 0x42529d
push 0
push ebx
push 0xbb
lea eax, [ebp - 0x104]
push esi
mov dword [ebp - 0x150], eax
call edi
mov dword [ebp - 0x158], eax
add eax, 2
mov dword [ebp - 0x154], eax
lea eax, [ebp - 0x158]
push eax
push 0
push 0x44b
push esi
call edi
cmp byte [ebp - 0x104], 0x20
jne 0x425294
cmp byte [ebp - 0x103], 0x20
jne 0x425294
lea eax, [ebp - 0x158]
push eax
push 0
push 0x437
push esi
call edi
push 0x46a930
push 1
push 0xc2
push esi
call edi
sub dword [ebp - 0x144], 2
inc ebx
cmp ebx, dword [ebp - 0x14c]
jl 0x425224
lea eax, [ebp - 0x148]
push eax
push 0
push 0x437
push esi
call edi
lea eax, [ebp - 0x170]
push eax
push 0
push 0x4de
push esi
call edi
push 0
call dword [sym.imp.USER32.dll_LockWindowUpdate]
push dword [ebp - 0x15c]
push 0
push 0x445
push esi
call edi
mov eax, dword [ebp - 0x160]
mov dword [eax + 0xc], 0
jmp case.0x424feb.10
mov ebx, 2
nop
push 0
push 0x20
push 0x102
push esi
call edi
sub ebx, 1
jne 0x4252f0
mov eax, dword [ebp - 0x160]
mov dword [eax + 0xc], ebx
jmp case.0x424feb.10
mov ecx, dword [ebp + 0x10]
movzx eax, cx
cmp eax, esi
jne case.0x424feb.10
shr ecx, 0x10
cmp ecx, 0x300
jne case.0x424feb.10
push esi
push edi
call dword [sym.imp.USER32.dll_GetDlgItem]
mov esi, eax
lea eax, [ebp - 0x148]
push eax
push 0
push 0x434
push esi
call dword [sym.imp.USER32.dll_SendMessageA]
push dword [ebp + 0x1c]
push 0
push dword [ebp - 0x148]
push esi
jmp 0x42537a
sub eax, 0x401
je 0x425369
sub eax, 1
jne case.0x424feb.10
push esi
push edi
call dword [sym.imp.USER32.dll_GetDlgItem]
push dword [ebp + 0x1c]
push 0
jmp 0x425376
push esi
push edi
call dword [sym.imp.USER32.dll_GetDlgItem]
push dword [ebp + 0x1c]
push 1
push dword [ebp + 0x10]
push eax
call fcn.004255e0
add esp, 0x10
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0043b572
mov esp, ebp
pop ebp
ret 0x18