Function at 0x10005df5
Capabilities:
Log keystrokes via polling

Disassembly:
push 0x40
mov eax, 0x1013395a
call fcn.101018b2
mov esi, ecx
mov edi, dword [ebp + 0xc]
xor ebx, ebx
cmp edi, ebx
je 0x10006291
mov eax, dword [ebp + 8]
sub eax, 0x200
je 0x100061e0
dec eax
mov dword [esi + 0x30], ebx
je 0x100061d4
dec eax
jne 0x10006291
lea ecx, [esi + 0x44]
push 0x10152f84
call fcn.10001cbf
mov dword [ebp + 0xc], ebx
lea eax, [ebp + 0xc]
push eax
mov ecx, 0x1019e6e0
mov dword [ebp - 4], 3
call fcn.100adbed
cmp dword [ebp + 0xc], ebx
je 0x10006291
push dword [ebp + 0xc]
lea eax, [ebp - 0x10]
push eax
call fcn.100d9992
pop ecx
pop ecx
mov edi, 0x1019e718
mov ecx, edi
mov byte [ebp - 4], 4
call fcn.100396d3
mov dword [ebp + 8], eax
lea eax, [ebp - 0x10]
push eax
mov ecx, 0x1019e67c
call fcn.1002a4cc
test eax, eax
jne 0x10005f3b
cmp dword [ebp + 8], ebx
je 0x10005f3b
mov ecx, edi
call fcn.10037fab
test eax, eax
je 0x10005f3b
mov ecx, edi
call fcn.100399d2
cmp eax, ebx
je 0x10005ef4
mov ecx, edi
call fcn.10037fab
test eax, eax
je 0x10005ef4
mov eax, dword [esi + 0x64]
cmp eax, ebx
mov dword [esi + 0x58], 1
je 0x10005edd
push eax
push dword [esi + 0xc]
call dword [sym.imp.USER32.dll_KillTimer]
mov dword [esi + 0x64], ebx
push ebx
push 0x5dc
push 0x2710
push dword [esi + 0xc]
call dword [sym.imp.USER32.dll_SetTimer]
mov dword [esi + 0x64], eax
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x14], ebx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
lea edx, [ebp - 0x14]
push edx
push eax
mov byte [ebp - 4], 5
call dword [ecx + 0x48]
cmp eax, ebx
mov eax, dword [ebp - 0x14]
jne 0x10005f2d
cmp eax, ebx
je 0x10005f2d
push eax
lea ecx, [ebp - 0x1c]
call fcn.10004285
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
mov byte [ebp - 4], 6
jne 0x10005f4b
mov eax, dword [ebp - 0x14]
cmp eax, ebx
mov byte [ebp - 4], 4
je 0x10005f3b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x10]
call fcn.100015d9
mov eax, dword [ebp + 0xc]
jmp 0x10006283
mov ecx, dword [eax]
lea edx, [ebp - 0x3c]
push edx
push eax
call dword [ecx + 0xc]
cmp eax, ebx
jne 0x10005f78
push dword [ebp - 0x3c]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x10005f78
push dword [ebp - 0x14]
lea ecx, [ebp - 0x28]
call fcn.100042a4
mov eax, dword [ebp - 0x28]
cmp eax, ebx
jne 0x10005f8b
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
mov byte [ebp - 4], 5
je 0x10005f2a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x10005f2a
mov dword [ebp - 0x18], ebx
mov ecx, dword [eax]
lea edx, [ebp - 0x18]
push edx
push eax
mov byte [ebp - 4], 8
call dword [ecx + 0x28]
cmp eax, ebx
jne 0x100061b9
mov eax, dword [ebp - 0x18]
cmp eax, ebx
je 0x100061b9
mov dword [ebp - 0x24], ebx
mov ecx, dword [eax]
lea edx, [ebp - 0x24]
push edx
push eax
mov byte [ebp - 4], 9
call dword [ecx + 0x38]
push dword [ebp - 0x24]
lea ecx, [ebp + 8]
call fcn.1000587e
push dword [ebp + 0xc]
lea eax, [ebp - 0x34]
push eax
mov byte [ebp - 4], 0xa
call fcn.100d9992
pop ecx
pop ecx
lea eax, [ebp - 0x34]
push eax
mov ecx, 0x1019e6ac
mov byte [ebp - 4], 0xb
call fcn.1002a516
test eax, eax
mov edi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
je 0x10006172
push 0x10152f7c
push dword [ebp + 8]
call fcn.10101e50
test eax, eax
pop ecx
pop ecx
je 0x100060b7
push 0x10152f78
push dword [ebp + 8]
call fcn.10101e50
test eax, eax
pop ecx
pop ecx
je 0x100060b7
push str.INPUT
push dword [ebp + 8]
call fcn.10101e50
test eax, eax
pop ecx
pop ecx
je 0x100060b7
push str.EMBED
push dword [ebp + 8]
call fcn.10101e50
test eax, eax
pop ecx
pop ecx
je 0x100060b7
push str.OBJECT
push dword [ebp + 8]
call fcn.10101e50
test eax, eax
pop ecx
pop ecx
je 0x100060b7
push str.AREA
push dword [ebp + 8]
call fcn.10101e50
test eax, eax
pop ecx
pop ecx
je 0x100060b7
push 0x10152f3c
push dword [ebp + 8]
call fcn.10101e50
test eax, eax
pop ecx
pop ecx
je 0x100060b7
push str.IFRAME
push dword [ebp + 8]
call fcn.10101e50
test eax, eax
pop ecx
pop ecx
je 0x100060b7
lea ecx, [ebp - 0x34]
call fcn.100015d9
lea ecx, [ebp + 8]
call fcn.100015d9
push dword [ebp - 0x24]
call edi
jmp 0x1000618e
push dword [ebp - 0x18]
lea ecx, [ebp - 0x30]
call fcn.10004247
mov eax, dword [ebp - 0x30]
cmp eax, ebx
je 0x100060ff
mov dword [ebp - 0x20], ebx
mov ecx, dword [eax]
lea edx, [ebp - 0x20]
push edx
push eax
mov byte [ebp - 4], 0xd
call dword [ecx + 0x20]
push dword [ebp - 0x20]
lea ecx, [ebp - 0x48]
call fcn.1000587e
push eax
lea ecx, [esi + 0x44]
mov byte [ebp - 4], 0xe
call fcn.10005459
lea ecx, [ebp - 0x48]
call fcn.100015d9
push dword [ebp - 0x20]
call edi
push dword [ebp - 0x18]
lea ecx, [ebp - 0x40]
call fcn.100042c3
cmp dword [ebp - 0x40], ebx
je 0x10006150
mov eax, dword [esi + 0x44]
cmp dword [eax - 8], ebx
jne 0x10006150
mov dword [ebp - 0x2c], ebx
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
lea edx, [ebp - 0x2c]
push edx
push eax
mov byte [ebp - 4], 0x10
call dword [ecx + 0x20]
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x4c]
call fcn.1000587e
push eax
lea ecx, [esi + 0x44]
mov byte [ebp - 4], 0x11
call fcn.10005459
lea ecx, [ebp - 0x4c]
call fcn.100015d9
push dword [ebp - 0x2c]
call edi
mov eax, dword [ebp - 0x40]
cmp eax, ebx
mov byte [ebp - 4], 0xc
je 0x10006161
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x30]
cmp eax, ebx
mov byte [ebp - 4], 0xb
je 0x10006172
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x34]
mov dword [esi + 0x30], 1
call fcn.100015d9
lea ecx, [ebp + 8]
call fcn.100015d9
push dword [ebp - 0x24]
call edi
mov eax, dword [ebp - 0x18]
cmp eax, ebx
mov byte [ebp - 4], 7
je 0x1000619f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x28]
cmp eax, ebx
mov byte [ebp - 4], 6
je 0x10005f78
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x10005f78
lea eax, [ebp - 0x10]
push eax
mov ecx, 0x1019e6ac
call fcn.1002a516
test eax, eax
jne 0x1000618e
mov dword [esi + 0x30], 1
jmp 0x1000618e
mov dword [esi + 0x60], 1
jmp 0x10006291
xor eax, eax
inc eax
push eax
mov dword [esi + 0x60], eax
call dword [sym.imp.USER32.dll_GetKeyState]
shr eax, 8
test al, al
je 0x10006291
mov dword [ebp + 8], ebx
lea eax, [ebp + 8]
push eax
mov ecx, 0x1019e6e0
mov dword [ebp - 4], ebx
call fcn.100adbed
mov eax, dword [ebp + 8]
cmp eax, ebx
je 0x10006291
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x20], ebx
mov ecx, dword [eax]
lea edx, [ebp - 0x20]
push edx
push eax
mov byte [ebp - 4], 1
call dword [ecx + 0x48]
cmp eax, ebx
mov eax, dword [ebp - 0x20]
jne 0x10006273
cmp eax, ebx
je 0x10006275
push eax
lea ecx, [ebp - 0x38]
call fcn.10004285
mov eax, dword [ebp - 0x38]
cmp eax, ebx
mov byte [ebp - 4], 2
je 0x10006270
mov ecx, dword [eax]
lea edx, [ebp - 0x44]
push edx
push eax
call dword [ecx + 0xc]
cmp eax, ebx
jne 0x1000625c
mov eax, dword [ebp - 0x44]
cmp eax, dword [edi + 8]
je 0x1000625f
mov dword [esi + 0x60], ebx
mov eax, dword [ebp - 0x38]
cmp eax, ebx
mov byte [ebp - 4], 1
je 0x10006270
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x20]
cmp eax, ebx
mov byte [ebp - 4], bl
je 0x10006280
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 8]
or dword [ebp - 4], 0xffffffff
cmp eax, ebx
je 0x10006291
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
call fcn.1010198a
ret 8