Function at 0x42f6d5
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x260
push edi
mov dword [ebp - 0x260], ecx
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
and eax, 0xff
test eax, eax
jne 0x42f713
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
movsx ecx, ax
and ecx, 0x8000
test ecx, ecx
je 0x42f9b7
mov ecx, dword [ebp - 0x260]
call fcn.004318e3
cmp eax, dword [ebp - 4]
jne 0x42f9b7
push 0
push 0
push 0x1157
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.SQLUNIRL.dll__SendMessage_16]
mov word [ebp - 0x224], 0
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x222]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov dword [ebp - 0x1c], 0
xor eax, eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], eax
mov dword [ebp - 0x228], 0
mov dword [ebp - 0x18], 1
push 0
mov ecx, dword [ebp - 0x18]
push ecx
push 0xe
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jg 0x42f7c6
lea eax, [ebp - 0x224]
push eax
push 0x104
push 0x1179
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.SQLUNIRL.dll__SendMessage_16]
mov dword [ebp - 0x228], eax
cmp dword [ebp - 0x228], 0
jle 0x42f9b7
lea edx, [ebp - 0x224]
mov dword [ebp - 0x22c], edx
cmp dword [ebp - 0xc], 0
jle 0x42f80b
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x1c], 1
lea eax, [ebp - 0x224]
mov dword [ebp - 0x10], eax
mov dword [ebp - 8], 0x104
lea ecx, [ebp - 0x1c]
push ecx
push 0
push 0x1148
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.SQLUNIRL.dll__SendMessage_16]
mov eax, dword [ebp - 0x22c]
xor ecx, ecx
mov cx, word [eax]
test ecx, ecx
je 0x42f83b
mov edx, dword [ebp - 0x22c]
xor eax, eax
mov ax, word [edx]
cmp eax, 0x20
jne 0x42f83b
mov ecx, dword [ebp - 0x22c]
add ecx, 2
mov dword [ebp - 0x22c], ecx
jmp 0x42f80b
mov edx, dword [ebp - 0x22c]
push edx
call dword [sym.imp.MSVCRT.dll__wcsrev]
add esp, 4
mov eax, dword [ebp - 0x22c]
xor ecx, ecx
mov cx, word [eax]
test ecx, ecx
je 0x42f87b
mov edx, dword [ebp - 0x22c]
xor eax, eax
mov ax, word [edx]
cmp eax, 0x20
jne 0x42f87b
mov ecx, dword [ebp - 0x22c]
add ecx, 2
mov dword [ebp - 0x22c], ecx
jmp 0x42f84b
mov edx, dword [ebp - 0x22c]
push edx
call dword [sym.imp.MSVCRT.dll__wcsrev]
add esp, 4
mov eax, dword [ebp - 0x22c]
push eax
call dword [sym.imp.MSVCRT.dll_wcslen]
add esp, 4
shl eax, 1
mov dword [ebp - 0x230], eax
cmp dword [ebp - 0x230], 0
jle 0x42f9b7
mov ecx, dword [ebp - 0x230]
add ecx, 1
push ecx
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [ebp - 0x258], eax
mov edx, dword [ebp - 0x258]
mov dword [ebp - 0x254], edx
cmp dword [ebp - 0x254], 0
jne 0x42f8e4
xor eax, eax
jmp 0x42f9d5
push 0
push 0
mov eax, dword [ebp - 0x230]
push eax
mov ecx, dword [ebp - 0x254]
push ecx
push 0xffffffffffffffff
mov edx, dword [ebp - 0x22c]
push edx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov dword [ebp - 0x250], 0
mov ecx, 7
xor eax, eax
lea edi, [ebp - 0x24c]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x250], 0x20
mov dword [ebp - 0x24c], 0
mov eax, dword [ebp - 0x254]
mov dword [ebp - 0x248], eax
mov dword [ebp - 0x244], 0
mov dword [ebp - 0x240], 0
mov dword [ebp - 0x23c], 0
mov dword [ebp - 0x238], 0
mov dword [ebp - 0x234], 1
push 0
push 0
push 0
call fcn.0040d336
add esp, 0xc
lea ecx, [ebp - 0x250]
push ecx
push 0xd
push 0
call fcn.0040d336
add esp, 0xc
mov edx, dword [ebp - 0x254]
mov dword [ebp - 0x25c], edx
mov eax, dword [ebp - 0x25c]
push eax
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
add esp, 4
mov eax, 1
jmp 0x42f9d5
push 0
push 0x13d4
push 0x111
call dword [sym.imp.SQLSVC.dll_TaskApplicationWindow]
push eax
call dword [sym.imp.SQLUNIRL.dll__SendMessage_16]
mov eax, 1
pop edi
mov esp, ebp
pop ebp
ret 4