Function at 0x10084120
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10173781
mov eax, dword fs:[0]
push eax
sub esp, 8
push esi
mov eax, dword [0x101bd92c]
xor eax, esp
push eax
lea eax, [esp + 0x10]
mov dword fs:[0], eax
cmp dword [ebp + 8], 0
jne 0x10084344
cmp dword [0x101ed6b8], 0
jne 0x1008418c
push 0x14
call fcn.10092352
add esp, 4
test eax, eax
je 0x10084185
mov byte [eax], 1
mov dword [eax + 4], 0
mov dword [eax + 8], 1
mov dword [eax + 0x10], 0
jmp 0x10084187
xor eax, eax
mov dword [0x101ed6b8], eax
cmp dword [0x101ed740], 0
jne 0x100841c7
push 0x44
call fcn.10092352
add esp, 4
mov dword [esp + 8], eax
mov dword [esp + 0x18], 0
test eax, eax
je 0x100841b8
mov ecx, eax
call fcn.10064b50
jmp 0x100841ba
xor eax, eax
mov dword [esp + 0x18], 0xffffffff
mov dword [0x101ed740], eax
call fcn.10008aa0
mov ecx, eax
call fcn.1005f9e0
call fcn.10065fc0
mov eax, dword [0x101ed758]
test eax, eax
jne 0x10084202
push 0x128
call fcn.10092352
add esp, 4
test eax, eax
je 0x100841fb
mov ecx, eax
call fcn.10084880
jmp 0x100841fd
xor eax, eax
mov dword [0x101ed758], eax
mov ecx, eax
call fcn.10084e00
cmp dword [0x101ed6b8], 0
jne 0x10084241
push 0x14
call fcn.10092352
add esp, 4
test eax, eax
je 0x1008423a
mov byte [eax], 1
mov dword [eax + 4], 0
mov dword [eax + 8], 1
mov dword [eax + 0x10], 0
jmp 0x1008423c
xor eax, eax
mov dword [0x101ed6b8], eax
cmp dword [0x101ed740], 0
jne 0x1008427c
push 0x44
call fcn.10092352
add esp, 4
mov dword [esp + 8], eax
mov dword [esp + 0x18], 1
test eax, eax
je 0x1008426d
mov ecx, eax
call fcn.10064b50
jmp 0x1008426f
xor eax, eax
mov dword [esp + 0x18], 0xffffffff
mov dword [0x101ed740], eax
call fcn.10008aa0
mov ecx, eax
call fcn.10060470
call fcn.10065fc0
mov eax, dword [0x101ed758]
test eax, eax
jne 0x100842b7
push 0x128
call fcn.10092352
add esp, 4
test eax, eax
je 0x100842b0
mov ecx, eax
call fcn.10084880
jmp 0x100842b2
xor eax, eax
mov dword [0x101ed758], eax
mov ecx, eax
call fcn.10084e00
call fcn.10008b70
mov ecx, eax
call fcn.10086c60
call fcn.10008b70
mov dword [eax + 0x4c], 1
call fcn.10008b70
mov ecx, eax
call fcn.10086d80
cmp dword [0x101ed6a8], 0
jne 0x100842fa
push 1
call fcn.10092352
add esp, 4
mov dword [0x101ed6a8], eax
mov eax, dword [0x101ed724]
test eax, eax
jne 0x10084338
push 0x1d4
call fcn.10092352
add esp, 4
mov dword [esp + 8], eax
mov dword [esp + 0x18], 2
test eax, eax
je 0x10084329
mov ecx, eax
call fcn.1002c6b0
jmp 0x1008432b
xor eax, eax
mov dword [esp + 0x18], 0xffffffff
mov dword [0x101ed724], eax
mov ecx, eax
call fcn.10038eb0
jmp 0x10084516
push 0x14
call dword [sym.imp.USER32.dll_GetKeyState]
cmp al, 1
jne 0x10084366
call fcn.10008aa0
mov ecx, eax
call fcn.1005fd10
call fcn.10065fc0
jmp 0x100844e1
mov ecx, dword [0x101ed6cc]
test ecx, ecx
jne 0x10084390
push 4
call fcn.10092352
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x10084388
mov dword [ecx], vtable.CShareConfigManager.0
jmp 0x1008438a
xor ecx, ecx
mov dword [0x101ed6cc], ecx
mov eax, dword [ecx]
push 0x7a
call dword [eax]
cmp eax, 1
jne 0x100843a9
call fcn.10008aa0
mov ecx, eax
call fcn.1005f9e0
jmp 0x100843b5
call fcn.10008aa0
mov ecx, eax
call fcn.1005f6a0
mov ecx, dword [0x101ed6cc]
test ecx, ecx
jne 0x100843df
push 4
call fcn.10092352
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x100843d7
mov dword [ecx], vtable.CShareConfigManager.0
jmp 0x100843d9
xor ecx, ecx
mov dword [0x101ed6cc], ecx
mov eax, dword [ecx]
push 0x5a
call dword [eax]
test eax, eax
je 0x100843f7
call fcn.10008aa0
mov ecx, eax
call fcn.10060470
jmp 0x10084423
call fcn.10006740
mov edx, dword [eax]
push 0x7a
mov ecx, eax
call dword [edx]
cmp eax, 1
jne 0x10084417
call fcn.10008aa0
mov ecx, eax
call fcn.10060470
jmp 0x10084423
call fcn.10008aa0
mov ecx, eax
call fcn.100600d0
mov ecx, dword [0x101ed6cc]
test ecx, ecx
jne 0x1008444d
push 4
call fcn.10092352
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x10084445
mov dword [ecx], vtable.CShareConfigManager.0
jmp 0x10084447
xor ecx, ecx
mov dword [0x101ed6cc], ecx
mov eax, dword [ecx]
push 0x7c
call dword [eax]
cmp eax, 1
jne 0x10084466
call fcn.10008aa0
mov ecx, eax
call fcn.10060bb0
jmp 0x10084472
call fcn.10008aa0
mov ecx, eax
call fcn.10060810
mov ecx, dword [0x101ed6cc]
test ecx, ecx
jne 0x1008449c
push 4
call fcn.10092352
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x10084494
mov dword [ecx], vtable.CShareConfigManager.0
jmp 0x10084496
xor ecx, ecx
mov dword [0x101ed6cc], ecx
mov eax, dword [ecx]
push 0x7b
call dword [eax]
cmp eax, 1
jne 0x100844b5
call fcn.10008aa0
mov ecx, eax
call fcn.100612e0
jmp 0x100844e1
call fcn.10006740
mov edx, dword [eax]
push 0x7b
mov ecx, eax
call dword [edx]
cmp eax, 2
jne 0x100844d5
call fcn.10008aa0
mov ecx, eax
call fcn.10061670
jmp 0x100844e1
call fcn.10008aa0
mov ecx, eax
call fcn.10060f50
call fcn.10008b70
mov dword [eax + 0x4c], 0
call fcn.10008b70
mov ecx, eax
call fcn.10086cc0
cmp dword [0x101ed6a8], 0
jne 0x10084511
push 1
call fcn.10092352
add esp, 4
mov dword [0x101ed6a8], eax
call fcn.1003bdd0
mov eax, dword [0x101ed758]
test eax, eax
jne 0x10084540
push 0x128
call fcn.10092352
add esp, 4
test eax, eax
je 0x10084539
mov ecx, eax
call fcn.10084880
jmp 0x1008453b
xor eax, eax
mov dword [0x101ed758], eax
mov ecx, eax
call fcn.10084e00
mov esi, dword [0x101ed778]
test esi, esi
jne 0x10084572
push 0x38
call fcn.10092352
add esp, 4
test eax, eax
je 0x1008456a
mov ecx, eax
call fcn.10089fe0
mov esi, eax
jmp 0x1008456c
xor esi, esi
mov dword [0x101ed778], esi
mov ecx, dword [0x101ed6cc]
test ecx, ecx
jne 0x1008459c
push 4
call fcn.10092352
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x10084594
mov dword [ecx], vtable.CShareConfigManager.0
jmp 0x10084596
xor ecx, ecx
mov dword [0x101ed6cc], ecx
mov eax, dword [ecx]
push 0x7a
call dword [eax + 0x44]
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x100845b0
mov edx, dword [ecx]
push eax
call dword [edx + 0x40]
mov ecx, dword [esp + 0x10]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret 4