Function at 0x1045d4d8
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x190
mov eax, dword [0x105e0c00]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x90], ecx
push 2
push 0x14
push 0x10
push 8
push 0x42c
push 0x3780
push str.1.89.5_WIP
call fcn.103e3ba0
add esp, 0x1c
push 0
call fcn.103e3830
add esp, 4
call fcn.103e7460
mov dword [0x105f3490], eax
lea ecx, [ebp - 0x7c]
call fcn.103fdb00
mov eax, dword [0x105f3490]
mov ecx, dword [eax + 0x40]
mov dword [ebp - 0x9c], ecx
mov edx, dword [0x105f3490]
mov ecx, dword [edx + 0x40]
call fcn.10402470
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x98]
push eax
lea ecx, [ebp - 0x7c]
push ecx
push ecx
movss xmm0, dword [0x10529d90]
movss dword [esp], xmm0
push 0x193f8
push 0x105c6450
mov ecx, dword [ebp - 0x9c]
call fcn.103fea30
mov dword [0x105f347c], eax
mov edx, dword [0x105f3490]
mov eax, dword [edx + 0x40]
mov dword [ebp - 0xa4], eax
mov ecx, dword [0x105f3490]
mov ecx, dword [ecx + 0x40]
call fcn.10402470
mov dword [ebp - 0xa0], eax
mov edx, dword [ebp - 0xa0]
push edx
lea eax, [ebp - 0x7c]
push eax
push ecx
movss xmm0, dword [0x10517198]
movss dword [esp], xmm0
push 0x193f8
push 0x105c6450
mov ecx, dword [ebp - 0xa4]
call fcn.103fea30
mov dword [0x105f3480], eax
mov ecx, dword [0x105f3490]
mov edx, dword [ecx]
or edx, 1
mov eax, dword [0x105f3490]
mov dword [eax], edx
mov ecx, dword [0x105f3490]
mov edx, dword [ecx]
or edx, 2
mov eax, dword [0x105f3490]
mov dword [eax], edx
push 0
call fcn.104074e0
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0x88], ecx
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x80], ecx
mov edx, dword [0x105f3298]
mov eax, dword [edx]
mov ecx, dword [eax + 0x24]
mov dword [ebp - 0xa8], ecx
lea edx, [ebp - 0x8c]
push edx
mov eax, dword [0x105f3298]
push eax
call dword [ebp - 0xa8]
test eax, eax
jge 0x1045d561
jmp 0x1045d9bc
mov ecx, dword [ebp - 0x84]
mov dword [ebp - 0x94], ecx
cmp dword [ebp - 0x94], 0
jne 0x1045d57b
jmp 0x1045d9bc
mov edx, dword [ebp - 0x94]
push edx
call fcn.103d6a30
add esp, 4
mov eax, dword [0x105f3298]
push eax
call fcn.103d5450
add esp, 4
push 0x80
push 0x80
lea ecx, [ebp - 0xd4]
call fcn.103bf230
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xac]
push ecx
push 0x14db
push 0x105c4f70
lea edx, [ebp - 0x184]
push edx
mov ecx, dword [0x105f3644]
call fcn.10464190
mov ecx, dword [eax]
mov dword [0x105e9a70], ecx
mov edx, dword [eax + 4]
mov dword [0x105e9a74], edx
mov eax, dword [eax + 8]
mov dword [0x105e9a78], eax
push ecx
movss xmm0, dword [0x105171a0]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x105171a0]
movss dword [esp], xmm0
lea ecx, [ebp - 0xdc]
call fcn.102fd1c0
mov dword [ebp - 0xb0], eax
mov ecx, dword [ebp - 0xb0]
push ecx
push 0x201
push 0x105df848
lea edx, [ebp - 0x190]
push edx
mov ecx, dword [0x105f3644]
call fcn.10464190
mov ecx, dword [eax]
mov dword [0x105e9a7c], ecx
mov edx, dword [eax + 4]
mov dword [0x105e9a80], edx
mov eax, dword [eax + 8]
mov dword [0x105e9a84], eax
push ecx
movss xmm0, dword [0x105171a0]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x105171a0]
movss dword [esp], xmm0
lea ecx, [ebp - 0x11c]
call fcn.102fd1c0
mov dword [ebp - 0xb4], eax
mov ecx, dword [ebp - 0xb4]
push ecx
push 0x1d2
push 0x105dfa50
lea edx, [ebp - 0x130]
push edx
mov ecx, dword [0x105f3644]
call fcn.10464190
mov ecx, dword [eax]
mov dword [0x105e9a88], ecx
mov edx, dword [eax + 4]
mov dword [0x105e9a8c], edx
mov eax, dword [eax + 8]
mov dword [0x105e9a90], eax
push ecx
movss xmm0, dword [0x105171a0]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x105171a0]
movss dword [esp], xmm0
lea ecx, [ebp - 0x124]
call fcn.102fd1c0
mov dword [ebp - 0xb8], eax
mov ecx, dword [ebp - 0xb8]
push ecx
push 0x1ec
push 0x105dfc28
lea edx, [ebp - 0x13c]
push edx
mov ecx, dword [0x105f3644]
call fcn.10464190
mov ecx, dword [eax]
mov dword [0x105e9a94], ecx
mov edx, dword [eax + 4]
mov dword [0x105e9a98], edx
mov eax, dword [eax + 8]
mov dword [0x105e9a9c], eax
push ecx
movss xmm0, dword [0x105171a0]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x105171a0]
movss dword [esp], xmm0
lea ecx, [ebp - 0xe4]
call fcn.102fd1c0
mov dword [ebp - 0xbc], eax
mov ecx, dword [ebp - 0xbc]
push ecx
push 0x158
push 0x105dfe18
lea edx, [ebp - 0x148]
push edx
mov ecx, dword [0x105f3644]
call fcn.10464190
mov ecx, dword [eax]
mov dword [0x105e9aa0], ecx
mov edx, dword [eax + 4]
mov dword [0x105e9aa4], edx
mov eax, dword [eax + 8]
mov dword [0x105e9aa8], eax
push ecx
movss xmm0, dword [0x105171a0]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x105171a0]
movss dword [esp], xmm0
lea ecx, [ebp - 0xec]
call fcn.102fd1c0
mov dword [ebp - 0xc0], eax
mov ecx, dword [ebp - 0xc0]
push ecx
push 0x150
push 0x105dff70
lea edx, [ebp - 0x154]
push edx
mov ecx, dword [0x105f3644]
call fcn.10464190
mov ecx, dword [eax]
mov dword [0x105e9aac], ecx
mov edx, dword [eax + 4]
mov dword [0x105e9ab0], edx
mov eax, dword [eax + 8]
mov dword [0x105e9ab4], eax
push ecx
movss xmm0, dword [0x105171a0]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x105171a0]
movss dword [esp], xmm0
lea ecx, [ebp - 0xf4]
call fcn.102fd1c0
mov dword [ebp - 0xc4], eax
mov ecx, dword [ebp - 0xc4]
push ecx
push 0x12a
push 0x105e00c0
lea edx, [ebp - 0x160]
push edx
mov ecx, dword [0x105f3644]
call fcn.10464190
mov ecx, dword [eax]
mov dword [0x105e9ab8], ecx
mov edx, dword [eax + 4]
mov dword [0x105e9abc], edx
mov eax, dword [eax + 8]
mov dword [0x105e9ac0], eax
push ecx
movss xmm0, dword [0x105171a0]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x105171a0]
movss dword [esp], xmm0
lea ecx, [ebp - 0xfc]
call fcn.102fd1c0
mov dword [ebp - 0xc8], eax
mov ecx, dword [ebp - 0xc8]
push ecx
push 0xbd
push 0x105e01f0
lea edx, [ebp - 0x16c]
push edx
mov ecx, dword [0x105f3644]
call fcn.10464190
mov ecx, dword [eax]
mov dword [0x105e9ac4], ecx
mov edx, dword [eax + 4]
mov dword [0x105e9ac8], edx
mov eax, dword [eax + 8]
mov dword [0x105e9acc], eax
push ecx
movss xmm0, dword [0x105171a0]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x105171a0]
movss dword [esp], xmm0
lea ecx, [ebp - 0x104]
call fcn.102fd1c0
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp - 0xcc]
push ecx
push 0xf7
push 0x105e02b0
lea edx, [ebp - 0x178]
push edx
mov ecx, dword [0x105f3644]
call fcn.10464190
mov ecx, dword [eax]
mov dword [0x105e9ad0], ecx
mov edx, dword [eax + 4]
mov dword [0x105e9ad4], edx
mov eax, dword [eax + 8]
mov dword [0x105e9ad8], eax
push ecx
movss xmm0, dword [0x105171b0]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x1053a8d4]
movss dword [esp], xmm0
lea ecx, [ebp - 0x10c]
call fcn.103d5180
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x90]
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
push ecx
movss xmm0, dword [0x1051afc4]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x1051afc4]
movss dword [esp], xmm0
lea ecx, [ebp - 0x114]
call fcn.103d5180
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x90]
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], edx
mov ecx, dword [ebp - 0x90]
call fcn.104526d0
mov ecx, dword [ebp - 0x90]
mov byte [ecx + 1], 1
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.104b547f
mov esp, ebp
pop ebp
ret