Function at 0x1002928a
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
mov dword [ebp - 4], 0
mov ebx, dword [0x100b9e24]
add ebx, 0x80
mov dword [ebp - 8], ebx
mov ebx, dword [ebp - 8]
cmp dword [ebx], 0
jne 0x100292ef
mov ebx, dword [0x100b9e24]
add ebx, 0x9c
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 0xc]
cmp dword [ebx], 0
jne 0x100292ef
mov ebx, dword [0x100b9e24]
add ebx, 0xc8
mov dword [ebp - 0x10], ebx
mov ebx, dword [ebp - 0x10]
cmp dword [ebx], 0
jne 0x100292ef
xor eax, eax
jmp 0x100292f4
mov eax, 1
test eax, eax
je 0x100294d2
fild qword [0x100b9f40]
fstp qword [ebp - 0xc]
fld qword [ebp - 0xc]
fadd qword [0x100b20b4]
fstp qword [ebp - 0x14]
fld qword [ebp - 0x14]
call fcn.10001b62
push edx
push eax
call fcn.10029bb3
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0x100
je 0x100293b6
cmp dword [ebp - 4], 0x100100
je 0x100293b6
cmp dword [ebp - 4], 0x200100
je 0x100293b6
cmp dword [ebp - 4], 0x400100
je 0x100293b6
cmp dword [ebp - 4], 0x8100
je 0x100293b6
cmp dword [ebp - 4], 0x408100
je 0x100293b6
cmp dword [ebp - 4], 0x208100
je 0x100293b6
cmp dword [ebp - 4], 0x108100
je 0x100293b6
cmp dword [ebp - 4], 0x28100
je 0x100293b6
cmp dword [ebp - 4], 0x110
je 0x100293b6
cmp dword [ebp - 4], 0x4008100
je 0x100293b6
xor eax, eax
jmp 0x100293bb
mov eax, 1
test eax, eax
je 0x10029402
fild qword [0x100b9f40]
fstp qword [ebp - 0xc]
fld qword [ebp - 0xc]
fadd qword [0x100b20b4]
fstp qword [ebp - 0x14]
fild dword [ebp - 4]
fstp qword [ebp - 0x1c]
fld qword [ebp - 0x1c]
fadd qword [0x1008528e]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
call fcn.10001b62
push eax
fld qword [ebp - 0x14]
call fcn.10001b62
push edx
push eax
call fcn.10029d04
mov ebx, dword [0x100b9e24]
add ebx, 0x80
mov dword [ebp - 8], ebx
mov ebx, dword [ebp - 8]
cmp dword [ebx], 0
je 0x100294d2
fild qword [0x100b9e18]
fstp qword [ebp - 0xc]
fld qword [ebp - 0xc]
fadd qword [0x100b20bc]
fstp qword [ebp - 0x14]
fld qword [ebp - 0x14]
call fcn.10001b62
push edx
push eax
call fcn.10029d7c
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], edx
fild qword [ebp - 0x24]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
fadd qword [0x100b20c4]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
call fcn.10001b62
push edx
push eax
call fcn.10029d7c
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
fild qword [ebp - 0x3c]
fstp qword [ebp - 0x3c]
fld qword [ebp - 0x3c]
fadd qword [0x100b20cc]
fstp qword [ebp - 0x44]
fld qword [ebp - 0x44]
call fcn.10001b62
mov dword [0x100b9f74], eax
mov dword [0x100b9f78], edx
push 0x40000000
push dword [0x100b9f78]
push dword [0x100b9f74]
call fcn.10029e69
fild qword [0x100b9f74]
fstp qword [ebp - 0xc]
fld qword [ebp - 0xc]
fadd qword [0x100b20d4]
fstp qword [ebp - 0x14]
push 0x3f800000
fld qword [ebp - 0x14]
call fcn.10001b62
push edx
push eax
call fcn.10029e69
mov ebx, dword [0x100b9e24]
add ebx, 0x98
mov dword [ebp - 8], ebx
mov ebx, dword [ebp - 8]
cmp dword [ebx], 0
je 0x10029503
push 0
push dword [0x100b9f80]
push dword [0x100b9f7c]
call fcn.10029e69
mov ebx, dword [0x100b9e24]
add ebx, 0xb0
mov dword [ebp - 8], ebx
mov ebx, dword [ebp - 8]
cmp dword [ebx], 0
je 0x10029534
push 0x42c80000
push dword [0x100b9f88]
push dword [0x100b9f84]
call fcn.10029e69
mov ebx, dword [0x100b9e24]
add ebx, 0xd0
mov dword [ebp - 8], ebx
mov ebx, dword [ebp - 8]
cmp dword [ebx], 0
je 0x10029565
push 0x551184e7
push dword [0x100b9f90]
push dword [0x100b9f8c]
call fcn.10029e69
mov ebx, dword [0x100b9e24]
add ebx, 0xa8
mov dword [ebp - 8], ebx
mov ebx, dword [ebp - 8]
cmp dword [ebx], 0
je 0x10029638
mov ebx, dword [0x100b9e24]
add ebx, 0xac
mov dword [ebp - 8], ebx
mov dword [ebp - 0xc], esp
mov ebx, dword [ebp - 8]
push dword [ebx]
xor eax, eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
cmp dword [ebp - 0xc], esp
je 0x100295bd
push 0x5e9
push 0x40128d9
push 6
call fcn.10069544
add esp, 0xc
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x10029638
push 1
push dword [0x100b9f98]
push dword [0x100b9f94]
call fcn.10029d04
push 0
push dword [0x100b9fa0]
push dword [0x100b9f9c]
call fcn.10029e69
push 0xc1a00000
push dword [0x100b9fa8]
push dword [0x100b9fa4]
call fcn.10029e69
push 0x41000000
push dword [0x100b9fb0]
push dword [0x100b9fac]
call fcn.10029e69
push 0
push dword [0x100b9f90]
push dword [0x100b9f8c]
call fcn.10029d04
mov ebx, dword [0x100b9e24]
add ebx, 0xb8
mov dword [ebp - 8], ebx
mov ebx, dword [ebp - 8]
cmp dword [ebx], 0
je 0x10029baf
mov ebx, dword [0x100b9e24]
add ebx, 0xbc
mov dword [ebp - 8], ebx
mov ebx, dword [ebp - 8]
push dword [ebx]
call fcn.10029eb6
test eax, eax
je 0x10029682
and dword [0x100b9fb4], 1
xor dword [0x100b9fb4], 1
cmp dword [0x100b9fb4], 0
je 0x10029b2e
push 0x42c80000
push dword [0x100b9fbc]
push dword [0x100b9fb8]
call fcn.10029e69
push 0x42c80000
push dword [0x100b9fc4]
push dword [0x100b9fc0]
call fcn.10029e69
mov dword [ebp - 8], esp
push 0x57
xor eax, eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
cmp dword [ebp - 8], esp
je 0x100296e9
push 0x982
push 0x40128d9
push 6
call fcn.10069544
add esp, 0xc
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x10029731
push dword [0x100b9fcc]
push dword [0x100b9fc8]
call fcn.10029fc1
mov dword [ebp - 0x1c], eax
fld dword [ebp - 0x1c]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
fsub qword [0x100b20dc]
fcomp qword [0x100854d7]
fnstsw ax
test ah, 1
je 0x10029731
mov eax, 1
jmp 0x10029736
mov eax, 0
test eax, eax
je 0x10029778
push dword [0x100b9fcc]
push dword [0x100b9fc8]
call fcn.10029fc1
mov dword [ebp - 8], eax
fld dword [ebp - 8]
fadd qword [0x100b20e4]
fstp qword [ebp - 0x10]
fld qword [ebp - 0x10]
fstp dword [ebp - 0x14]
push dword [ebp - 0x14]
push dword [0x100b9fcc]
push dword [0x100b9fc8]
call fcn.10029e69
mov dword [ebp - 8], esp
push 0x53
xor eax, eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
cmp dword [ebp - 8], esp
je 0x100297a6
push 0xa77
push 0x40128d9
push 6
call fcn.10069544
add esp, 0xc
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x100297ee
push dword [0x100b9fcc]
push dword [0x100b9fc8]
call fcn.10029fc1
mov dword [ebp - 0x1c], eax
fld dword [ebp - 0x1c]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
fsub qword [0x100b20ec]
fcomp qword [0x10084b4e]
fnstsw ax
test ah, 0x41
jne 0x100297ee
mov eax, 1
jmp 0x100297f3
mov eax, 0
test eax, eax
je 0x10029835
push dword [0x100b9fcc]
push dword [0x100b9fc8]
call fcn.10029fc1
mov dword [ebp - 8], eax
fld dword [ebp - 8]
fsub qword [0x100b20e4]
fstp qword [ebp - 0x10]
fld qword [ebp - 0x10]
fstp dword [ebp - 0x14]
push dword [ebp - 0x14]
push dword [0x100b9fcc]
push dword [0x100b9fc8]
call fcn.10029e69
mov dword [ebp - 8], esp
push 0x41
xor eax, eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
cmp dword [ebp - 8], esp
je 0x10029863
push 0xb6c
push 0x40128d9
push 6
call fcn.10069544
add esp, 0xc
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x100298ab
push dword [0x100b9fd4]
push dword [0x100b9fd0]
call fcn.10029fc1
mov dword [ebp - 0x1c], eax
fld dword [ebp - 0x1c]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
fsub qword [0x100b20ec]
fcomp qword [0x10084b4e]
fnstsw ax
test ah, 0x41
jne 0x100298ab
mov eax, 1
jmp 0x100298b0
mov eax, 0
test eax, eax
je 0x100298f2
push dword [0x100b9fd4]
push dword [0x100b9fd0]
call fcn.10029fc1
mov dword [ebp - 8], eax
fld dword [ebp - 8]
fsub qword [0x100b20e4]
fstp qword [ebp - 0x10]
fld qword [ebp - 0x10]
fstp dword [ebp - 0x14]
push dword [ebp - 0x14]
push dword [0x100b9fd4]
push dword [0x100b9fd0]
call fcn.10029e69
mov dword [ebp - 8], esp
push 0x44
xor eax, eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
cmp dword [ebp - 8], esp
je 0x10029920
push 0xc61
push 0x40128d9
push 6
call fcn.10069544
add esp, 0xc
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x10029968
push dword [0x100b9fd4]
push dword [0x100b9fd0]
call fcn.10029fc1
mov dword [ebp - 0x1c], eax
fld dword [ebp - 0x1c]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
fsub qword [0x100b20dc]
fcomp qword [0x100854d7]
fnstsw ax
test ah, 1
je 0x10029968
mov eax, 1
jmp 0x1002996d
mov eax, 0
test eax, eax
je 0x100299af
push dword [0x100b9fd4]
push dword [0x100b9fd0]
call fcn.10029fc1
mov dword [ebp - 8], eax
fld dword [ebp - 8]
fadd qword [0x100b20e4]
fstp qword [ebp - 0x10]
fld qword [ebp - 0x10]
fstp dword [ebp - 0x14]
push dword [ebp - 0x14]
push dword [0x100b9fd4]
push dword [0x100b9fd0]
call fcn.10029e69
mov dword [ebp - 8], esp
push 0x20
xor eax, eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
cmp dword [ebp - 8], esp
je 0x100299dd
push 0xd56
push 0x40128d9
push 6
call fcn.10069544
add esp, 0xc
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x10029a25
push dword [0x100b9fdc]
push dword [0x100b9fd8]
call fcn.10029fc1
mov dword [ebp - 0x1c], eax
fld dword [ebp - 0x1c]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
fsub qword [0x10084b72]
fcomp qword [0x100854d7]
fnstsw ax
test ah, 1
je 0x10029a25
mov eax, 1
jmp 0x10029a2a
mov eax, 0
test eax, eax
je 0x10029a6c
push dword [0x100b9fdc]
push dword [0x100b9fd8]
call fcn.10029fc1
mov dword [ebp - 8], eax
fld dword [ebp - 8]
fadd qword [0x100b20e4]
fstp qword [ebp - 0x10]
fld qword [ebp - 0x10]
fstp dword [ebp - 0x14]
push dword [ebp - 0x14]
push dword [0x100b9fdc]
push dword [0x100b9fd8]
call fcn.10029e69
mov dword [ebp - 8], esp
push 0x11
xor eax, eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
cmp dword [ebp - 8], esp
je 0x10029a9a
push 0xe4b
push 0x40128d9
push 6
call fcn.10069544
add esp, 0xc
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x10029ae2
push dword [0x100b9fdc]
push dword [0x100b9fd8]
call fcn.10029fc1
mov dword [ebp - 0x1c], eax
fld dword [ebp - 0x1c]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
fsub qword [0x100b20ec]
fcomp qword [0x10084b4e]
fnstsw ax
test ah, 0x41
jne 0x10029ae2
mov eax, 1
jmp 0x10029ae7
mov eax, 0
test eax, eax
je 0x10029b29
push dword [0x100b9fdc]
push dword [0x100b9fd8]
call fcn.10029fc1
mov dword [ebp - 8], eax
fld dword [ebp - 8]
fsub qword [0x100b20e4]
fstp qword [ebp - 0x10]
fld qword [ebp - 0x10]
fstp dword [ebp - 0x14]
push dword [ebp - 0x14]
push dword [0x100b9fdc]
push dword [0x100b9fd8]
call fcn.10029e69
jmp 0x10029baf
push 0
push dword [0x100b9fcc]
push dword [0x100b9fc8]
call fcn.10029e69
push 0
push dword [0x100b9fd4]
push dword [0x100b9fd0]
call fcn.10029e69
push 0x3fc00000
push dword [0x100b9fdc]
push dword [0x100b9fd8]
call fcn.10029e69
fild qword [0x100b9f40]
fstp qword [ebp - 0xc]
fld qword [ebp - 0xc]
fadd qword [0x100b20f4]
fstp qword [ebp - 0x14]
push 0
fld qword [ebp - 0x14]
call fcn.10001b62
push edx
push eax
call fcn.10029e69
push 0x40200000
push dword [0x100b9fc4]
push dword [0x100b9fc0]
call fcn.10029e69
mov esp, ebp
pop ebp
ret