Function at 0x10afcde
Capabilities:
Log keystrokes via polling

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xd8
push ebx
mov ebx, dword [ebp + 0xc]
push esi
mov esi, ecx
mov ecx, dword [ebp + 8]
mov eax, 0x101
cmp ecx, eax
push edi
mov edi, dword [ebp + 0x10]
ja 0x10affc4
je 0x10aff8f
mov eax, ecx
sub eax, 5
je 0x10aff58
sub eax, 0x1f
je 0x10afefa
sub eax, 0x57
je 0x10afed8
sub eax, 7
je 0x10afe93
dec eax
dec eax
je 0x10afe62
sub eax, 0x7c
jne 0x10aff44
mov edi, dword [sym.imp.USER32.dll_GetKeyState]
push 0x11
call edi
push 0
pop ebx
and eax, 0x8000
jne 0x10afd5b
mov dword [esi + 0x2f60], ebx
cmp dword [ebp + 0xc], 0xd
jne 0x10aff44
cmp eax, ebx
jne 0x10aff44
push 0x10
call edi
test ah, ah
jns 0x10afd94
cmp dword [esi + 0x2dcc], ebx
mov eax, 0x1018fe4
jne 0x10afd87
mov eax, 0x1018fe0
push eax
push 1
push 0xc2
jmp 0x10b0148
mov dword [esi + 0x2dac], ebx
mov dword [esi + 0x2db0], ebx
mov dword [esi + 0x2db4], 1
mov dword [ebp + 0xc], ebx
mov dword [ebp + 0x10], ebx
call fcn.01098048
mov ecx, eax
cmp ecx, ebx
mov dword [ebp + 8], ecx
je 0x10afe19
mov di, word [esi + 0x2e92]
lea eax, [esi + 0x2e88]
push eax
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp + 0x10]
push eax
push dword [esi + 0x2dcc]
push dword [esi + 0x2618]
call fcn.01096d92
test eax, eax
jl 0x10afe10
cmp di, word [esi + 0x2e92]
je 0x10afdf9
mov ecx, esi
call fcn.010a01f8
push dword [ebp + 0x10]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
jle 0x10afe10
push dword [ebp + 0x10]
mov ecx, esi
call fcn.010afaba
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
push 0xffffffffffffffff
push ebx
push 0xb1
push dword [esi + 0x2618]
call edi
push ebx
push ebx
push 0x303
push dword [esi + 0x2618]
call edi
push ebx
push ebx
push 0xcd
push dword [esi + 0x2618]
call edi
mov ecx, esi
call fcn.010a75b7
push dword [ebp + 0x10]
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
pop ecx
jmp 0x10b0277
movsx eax, di
mov dword [ebp - 8], eax
shr edi, 0x10
movsx eax, di
mov dword [ebp - 4], eax
lea eax, [ebp - 8]
push eax
push dword [esi + 0x2618]
call dword [sym.imp.USER32.dll_ScreenToClient]
cmp dword [ebp - 4], 3
jge 0x10aff44
push 0xc
pop eax
jmp 0x10b0387
xor ebx, ebx
push ebx
push 0xffffffffffffffeb
push dword [esi + 0x2618]
call dword [sym.imp.USER32.dll_SetWindowLongW]
lea edi, [esi + 0x2b20]
push dword [edi]
push 0xfffffffffffffffc
push dword [esi + 0x2618]
call dword [sym.imp.USER32.dll_SetWindowLongW]
push dword [ebp + 0x10]
mov dword [edi], ebx
push dword [ebp + 0xc]
push 0x82
push dword [esi + 0x2618]
call dword [sym.imp.USER32.dll_DefWindowProcW]
jmp 0x10b0387
mov eax, dword [ebp + 0x10]
movsx ecx, ax
shr eax, 0x10
movsx eax, ax
mov dword [ebp - 4], eax
lea eax, [ebp - 8]
mov dword [ebp - 8], ecx
push eax
mov ecx, esi
call fcn.010a9932
jmp 0x10b0277
lea eax, [ebp - 0x10]
push eax
push dword [esi + 0x2614]
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [esi + 0x2b28]
shl eax, 1
cdq
push 8
pop ecx
idiv ecx
mov ecx, dword [0x11142a8]
add ecx, eax
mov eax, dword [ebp - 4]
sub eax, dword [ebp - 0xc]
mov dword [edi + 0x1c], ecx
sub eax, dword [0x11142a0]
sub eax, dword [0x11142a4]
sub eax, dword [0x11142ac]
cmp ecx, eax
jle 0x10aff41
mov eax, ecx
mov dword [edi + 0x24], eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
push dword [esi + 0x2618]
jmp 0x10b037b
lea eax, [ebp - 0x10]
push eax
push dword [esi + 0x2618]
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [ebp - 4]
sub eax, dword [ebp - 0xc]
lea ecx, [esi + 0x2f98]
cmp eax, dword [ecx]
je 0x10aff44
add eax, 0xfffffffb
mov dword [ecx], eax
add eax, 0xfffffffb
mov ecx, esi
mov dword [esi + 0x2c90], eax
call fcn.010a6e34
jmp 0x10aff44
cmp dword [esi + 0x2f60], 0
jne 0x10affb8
mov eax, dword [esi + 0x2618]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
mov dword [ebp - 0x18], 0x100
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x10], edi
call dword [sym.imp.USER32.dll_TranslateMessage]
mov dword [esi + 0x2f60], 1
jmp 0x10aff44
mov eax, ecx
mov edi, 0x102
sub eax, edi
je 0x10b02ab
sub eax, 4
je 0x10b0267
sub eax, 0xb
je 0x10b011d
sub eax, 0xf4
je 0x10b00cd
sub eax, 0xfd
jne 0x10aff44
push dword [ebp + 0x10]
xor ebx, ebx
cmp byte [esi + 0x3008], bl
push dword [ebp + 0xc]
push 0x302
je 0x10b0021
push dword [esi + 0x2fe4]
push dword [esi + 0x2fec]
jmp 0x10b0381
push dword [esi + 0x2618]
push dword [esi + 0x2b20]
call dword [sym.imp.USER32.dll_CallWindowProcW]
cmp eax, ebx
mov dword [ebp + 0x10], eax
je 0x10b00c5
cmp dword [esi + 0x2dcc], ebx
je 0x10b00c5
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
lea eax, [ebp - 8]
push eax
push ebx
push 0x434
push dword [esi + 0x2618]
call edi
push 0xffffffffffffffff
push ebx
push 0xb1
push dword [esi + 0x2618]
call edi
lea eax, [ebp - 0xb8]
push eax
push ebx
push 0x447
push dword [esi + 0x2618]
mov dword [ebp - 0xb4], 1
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xb8], 0x9c
call edi
lea eax, [ebp - 8]
push eax
push ebx
push 0x437
push dword [esi + 0x2618]
call edi
lea eax, [esi + 0x2dd0]
push eax
push 4
push 0x444
push dword [esi + 0x2618]
call edi
mov eax, dword [ebp + 0x10]
jmp 0x10b0387
xor ebx, ebx
cmp dword [esi + 0x2dcc], ebx
jne 0x10b00df
cmp dword [esi + 0x2ff8], ebx
je 0x10b010d
movsx eax, word [ebp + 0x10]
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0x10]
shr eax, 0x10
movsx eax, ax
mov dword [ebp - 4], eax
lea eax, [ebp - 8]
push eax
push dword [esi + 0x2618]
call dword [sym.imp.USER32.dll_ClientToScreen]
lea eax, [ebp - 8]
push eax
mov ecx, esi
call fcn.010a9932
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push 0x205
jmp 0x10aff4d
movzx ecx, word [ebp + 0xc]
mov eax, 0xa016
cmp ecx, eax
jg 0x10b0185
je 0x10b017a
sub ecx, 0xa00e
je 0x10b016f
dec ecx
je 0x10b0164
dec ecx
je 0x10b0159
sub ecx, 5
jne 0x10b019b
xor ebx, ebx
push ebx
push ebx
push 0x304
push dword [esi + 0x2618]
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x10b0277
xor ebx, ebx
push ebx
push ebx
push 0x302
jmp 0x10b0148
xor ebx, ebx
push ebx
push ebx
push 0x301
jmp 0x10b0148
xor ebx, ebx
push ebx
push ebx
push 0x300
jmp 0x10b0148
push 0xffffffffffffffff
push 0
push 0xb1
jmp 0x10b0148
sub ecx, 0xa019
je 0x10b0259
sub ecx, 3
je 0x10b01bf
sub ecx, 0x37
je 0x10b01ab
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push 0x111
jmp 0x10aff4d
push 0
push 0xa053
push 0x111
push dword [esi + 0x2614]
jmp 0x10b014e
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
lea eax, [ebp - 0xd8]
push eax
xor ebx, ebx
push ebx
push 0x43d
push dword [esi + 0x2618]
mov dword [ebp - 0xd8], 0xbc
mov dword [ebp - 0xd4], 0x10000
call edi
xor eax, eax
mov al, byte [ebp - 0xce]
not al
mov dword [ebp - 0xd4], 0x10000
and eax, 1
mov word [ebp - 0xce], ax
lea eax, [ebp - 8]
push eax
push ebx
push 0x434
push dword [esi + 0x2618]
call edi
push 0xffffffffffffffff
push ebx
push 0xb1
push dword [esi + 0x2618]
call edi
lea eax, [ebp - 0xd8]
push eax
push ebx
push 0x447
push dword [esi + 0x2618]
call edi
lea eax, [ebp - 8]
push eax
push ebx
push 0x437
push dword [esi + 0x2618]
call edi
jmp 0x10b0277
xor ebx, ebx
push ebx
push ebx
push 0x303
jmp 0x10b0148
push ebx
lea ecx, [esi + 0x292c]
call fcn.010b2c54
test eax, eax
je 0x10b027e
xor eax, eax
jmp 0x10b0387
push dword [esi + 0x2618]
call dword [sym.imp.USER32.dll_GetParent]
cmp dword [esi + 0x2614], eax
je 0x10aff44
push dword [ebp + 0x10]
push ebx
push 0x106
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x10b0387
cmp dword [ebp + 0xc], 9
mov dword [esi + 0x2f60], 1
jne 0x10b02db
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
test ah, ah
js 0x10b02db
push dword [ebp + 0x10]
push 9
push edi
push dword [esi + 0x2618]
call dword [sym.imp.USER32.dll_GetParent]
jmp 0x10b029f
xor ebx, ebx
cmp byte [esi + 0x3008], bl
je 0x10b02fd
cmp dword [ebp + 0xc], 0xd
jne 0x10b02fd
mov ecx, esi
call fcn.010a74d6
test al, al
je 0x10b02fd
mov ecx, esi
call fcn.010aedbe
push dword [esi + 0x2618]
mov edi, dword [sym.imp.USER32.dll_IsWindowEnabled]
call edi
test eax, eax
jne 0x10b031f
push dword [esi + 0x2fe4]
call edi
test eax, eax
je 0x10b0277
mov edi, dword [ebp + 0xc]
cmp edi, 1
jne 0x10b034d
cmp byte [esi + 0x3008], bl
push 0xffffffffffffffff
push ebx
push 0xb1
je 0x10b0342
push dword [esi + 0x2fe4]
jmp 0x10b014e
push dword [esi + 0x2618]
jmp 0x10b014e
cmp edi, 0xd
jne 0x10b0363
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
test ah, ah
js 0x10b036c
jmp 0x10b0277
cmp edi, 0x1b
je 0x10b0277
push dword [ebp + 0x10]
push edi
push 0x102
push dword [esi + 0x2618]
push dword [esi + 0x2b20]
call dword [sym.imp.USER32.dll_CallWindowProcW]
pop edi
pop esi
pop ebx
leave
ret 0xc