Function at 0x1002946f
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
mov dword [ebp - 4], 0
mov ebx, dword [0x113efbe8]
add ebx, 0x80
mov dword [ebp - 8], ebx
mov ebx, dword [ebp - 8]
cmp dword [ebx], 0
jne 0x100294d4
mov ebx, dword [0x113efbe8]
add ebx, 0x9c
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 0xc]
cmp dword [ebx], 0
jne 0x100294d4
mov ebx, dword [0x113efbe8]
add ebx, 0xc8
mov dword [ebp - 0x10], ebx
mov ebx, dword [ebp - 0x10]
cmp dword [ebx], 0
jne 0x100294d4
xor eax, eax
jmp 0x100294d9
mov eax, 1
test eax, eax
je 0x100296b7
fild qword [0x113efd0c]
fstp qword [ebp - 0xc]
fld qword [ebp - 0xc]
fadd qword [0x100b1080]
fstp qword [ebp - 0x14]
fld qword [ebp - 0x14]
call fcn.10001bbe
push edx
push eax
call fcn.10029d98
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0x100
je 0x1002959b
cmp dword [ebp - 4], 0x100100
je 0x1002959b
cmp dword [ebp - 4], 0x200100
je 0x1002959b
cmp dword [ebp - 4], 0x400100
je 0x1002959b
cmp dword [ebp - 4], 0x8100
je 0x1002959b
cmp dword [ebp - 4], 0x408100
je 0x1002959b
cmp dword [ebp - 4], 0x208100
je 0x1002959b
cmp dword [ebp - 4], 0x108100
je 0x1002959b
cmp dword [ebp - 4], 0x28100
je 0x1002959b
cmp dword [ebp - 4], 0x110
je 0x1002959b
cmp dword [ebp - 4], 0x4008100
je 0x1002959b
xor eax, eax
jmp 0x100295a0
mov eax, 1
test eax, eax
je 0x100295e7
fild qword [0x113efd0c]
fstp qword [ebp - 0xc]
fld qword [ebp - 0xc]
fadd qword [0x100b1080]
fstp qword [ebp - 0x14]
fild dword [ebp - 4]
fstp qword [ebp - 0x1c]
fld qword [ebp - 0x1c]
fadd qword [0x1008428e]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
call fcn.10001bbe
push eax
fld qword [ebp - 0x14]
call fcn.10001bbe
push edx
push eax
call fcn.1002a06e
mov ebx, dword [0x113efbe8]
add ebx, 0x80
mov dword [ebp - 8], ebx
mov ebx, dword [ebp - 8]
cmp dword [ebx], 0
je 0x100296b7
fild qword [0x113efbdc]
fstp qword [ebp - 0xc]
fld qword [ebp - 0xc]
fadd qword [0x100b1088]
fstp qword [ebp - 0x14]
fld qword [ebp - 0x14]
call fcn.10001bbe
push edx
push eax
call fcn.1002a1fd
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], edx
fild qword [ebp - 0x24]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
fadd qword [0x100b1090]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
call fcn.10001bbe
push edx
push eax
call fcn.1002a1fd
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
fild qword [ebp - 0x3c]
fstp qword [ebp - 0x3c]
fld qword [ebp - 0x3c]
fadd qword [0x100b1098]
fstp qword [ebp - 0x44]
fld qword [ebp - 0x44]
call fcn.10001bbe
mov dword [0x113efd40], eax
mov dword [0x113efd44], edx
push 0x40000000
push dword [0x113efd44]
push dword [0x113efd40]
call fcn.1002a2ea
fild qword [0x113efd40]
fstp qword [ebp - 0xc]
fld qword [ebp - 0xc]
fadd qword [0x100b10a0]
fstp qword [ebp - 0x14]
push 0x3f800000
fld qword [ebp - 0x14]
call fcn.10001bbe
push edx
push eax
call fcn.1002a2ea
mov ebx, dword [0x113efbe8]
add ebx, 0x98
mov dword [ebp - 8], ebx
mov ebx, dword [ebp - 8]
cmp dword [ebx], 0
je 0x100296e8
push 0
push dword [0x113efd4c]
push dword [0x113efd48]
call fcn.1002a2ea
mov ebx, dword [0x113efbe8]
add ebx, 0xb0
mov dword [ebp - 8], ebx
mov ebx, dword [ebp - 8]
cmp dword [ebx], 0
je 0x10029719
push 0x42c80000
push dword [0x113efd54]
push dword [0x113efd50]
call fcn.1002a2ea
mov ebx, dword [0x113efbe8]
add ebx, 0xd0
mov dword [ebp - 8], ebx
mov ebx, dword [ebp - 8]
cmp dword [ebx], 0
je 0x1002974a
push 0x551184e7
push dword [0x113efd5c]
push dword [0x113efd58]
call fcn.1002a2ea
mov ebx, dword [0x113efbe8]
add ebx, 0xa8
mov dword [ebp - 8], ebx
mov ebx, dword [ebp - 8]
cmp dword [ebx], 0
je 0x1002981d
mov ebx, dword [0x113efbe8]
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 0x100297a2
push 0x60f
push 0x40128d9
push 6
call fcn.10068410
add esp, 0xc
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x1002981d
push 1
push dword [0x113efd64]
push dword [0x113efd60]
call fcn.1002a06e
push 0
push dword [0x113efd6c]
push dword [0x113efd68]
call fcn.1002a2ea
push 0xc1a00000
push dword [0x113efd74]
push dword [0x113efd70]
call fcn.1002a2ea
push 0x41000000
push dword [0x113efd7c]
push dword [0x113efd78]
call fcn.1002a2ea
push 0
push dword [0x113efd5c]
push dword [0x113efd58]
call fcn.1002a06e
mov ebx, dword [0x113efbe8]
add ebx, 0xb8
mov dword [ebp - 8], ebx
mov ebx, dword [ebp - 8]
cmp dword [ebx], 0
je 0x10029d94
mov ebx, dword [0x113efbe8]
add ebx, 0xbc
mov dword [ebp - 8], ebx
mov ebx, dword [ebp - 8]
push dword [ebx]
call fcn.1002a337
test eax, eax
je 0x10029867
and dword [0x113efd80], 1
xor dword [0x113efd80], 1
cmp dword [0x113efd80], 0
je 0x10029d13
push 0x42c80000
push dword [0x113efd88]
push dword [0x113efd84]
call fcn.1002a2ea
push 0x42c80000
push dword [0x113efd90]
push dword [0x113efd8c]
call fcn.1002a2ea
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 0x100298ce
push 0x9a8
push 0x40128d9
push 6
call fcn.10068410
add esp, 0xc
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x10029916
push dword [0x113efd98]
push dword [0x113efd94]
call fcn.1002a442
mov dword [ebp - 0x1c], eax
fld dword [ebp - 0x1c]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
fsub qword [0x100b10a8]
fcomp qword [0x100844d7]
fnstsw ax
test ah, 1
je 0x10029916
mov eax, 1
jmp 0x1002991b
mov eax, 0
test eax, eax
je 0x1002995d
push dword [0x113efd98]
push dword [0x113efd94]
call fcn.1002a442
mov dword [ebp - 8], eax
fld dword [ebp - 8]
fadd qword [0x100b10b0]
fstp qword [ebp - 0x10]
fld qword [ebp - 0x10]
fstp dword [ebp - 0x14]
push dword [ebp - 0x14]
push dword [0x113efd98]
push dword [0x113efd94]
call fcn.1002a2ea
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 0x1002998b
push 0xa9d
push 0x40128d9
push 6
call fcn.10068410
add esp, 0xc
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x100299d3
push dword [0x113efd98]
push dword [0x113efd94]
call fcn.1002a442
mov dword [ebp - 0x1c], eax
fld dword [ebp - 0x1c]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
fsub qword [0x100b10b8]
fcomp qword [0x10083b4e]
fnstsw ax
test ah, 0x41
jne 0x100299d3
mov eax, 1
jmp 0x100299d8
mov eax, 0
test eax, eax
je 0x10029a1a
push dword [0x113efd98]
push dword [0x113efd94]
call fcn.1002a442
mov dword [ebp - 8], eax
fld dword [ebp - 8]
fsub qword [0x100b10b0]
fstp qword [ebp - 0x10]
fld qword [ebp - 0x10]
fstp dword [ebp - 0x14]
push dword [ebp - 0x14]
push dword [0x113efd98]
push dword [0x113efd94]
call fcn.1002a2ea
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 0x10029a48
push 0xb92
push 0x40128d9
push 6
call fcn.10068410
add esp, 0xc
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x10029a90
push dword [0x113efda0]
push dword [0x113efd9c]
call fcn.1002a442
mov dword [ebp - 0x1c], eax
fld dword [ebp - 0x1c]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
fsub qword [0x100b10b8]
fcomp qword [0x10083b4e]
fnstsw ax
test ah, 0x41
jne 0x10029a90
mov eax, 1
jmp 0x10029a95
mov eax, 0
test eax, eax
je 0x10029ad7
push dword [0x113efda0]
push dword [0x113efd9c]
call fcn.1002a442
mov dword [ebp - 8], eax
fld dword [ebp - 8]
fsub qword [0x100b10b0]
fstp qword [ebp - 0x10]
fld qword [ebp - 0x10]
fstp dword [ebp - 0x14]
push dword [ebp - 0x14]
push dword [0x113efda0]
push dword [0x113efd9c]
call fcn.1002a2ea
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 0x10029b05
push 0xc87
push 0x40128d9
push 6
call fcn.10068410
add esp, 0xc
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x10029b4d
push dword [0x113efda0]
push dword [0x113efd9c]
call fcn.1002a442
mov dword [ebp - 0x1c], eax
fld dword [ebp - 0x1c]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
fsub qword [0x100b10a8]
fcomp qword [0x100844d7]
fnstsw ax
test ah, 1
je 0x10029b4d
mov eax, 1
jmp 0x10029b52
mov eax, 0
test eax, eax
je 0x10029b94
push dword [0x113efda0]
push dword [0x113efd9c]
call fcn.1002a442
mov dword [ebp - 8], eax
fld dword [ebp - 8]
fadd qword [0x100b10b0]
fstp qword [ebp - 0x10]
fld qword [ebp - 0x10]
fstp dword [ebp - 0x14]
push dword [ebp - 0x14]
push dword [0x113efda0]
push dword [0x113efd9c]
call fcn.1002a2ea
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 0x10029bc2
push 0xd7c
push 0x40128d9
push 6
call fcn.10068410
add esp, 0xc
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x10029c0a
push dword [0x113efda8]
push dword [0x113efda4]
call fcn.1002a442
mov dword [ebp - 0x1c], eax
fld dword [ebp - 0x1c]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
fsub qword [0x10083b72]
fcomp qword [0x100844d7]
fnstsw ax
test ah, 1
je 0x10029c0a
mov eax, 1
jmp 0x10029c0f
mov eax, 0
test eax, eax
je 0x10029c51
push dword [0x113efda8]
push dword [0x113efda4]
call fcn.1002a442
mov dword [ebp - 8], eax
fld dword [ebp - 8]
fadd qword [0x100b10b0]
fstp qword [ebp - 0x10]
fld qword [ebp - 0x10]
fstp dword [ebp - 0x14]
push dword [ebp - 0x14]
push dword [0x113efda8]
push dword [0x113efda4]
call fcn.1002a2ea
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 0x10029c7f
push 0xe71
push 0x40128d9
push 6
call fcn.10068410
add esp, 0xc
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x10029cc7
push dword [0x113efda8]
push dword [0x113efda4]
call fcn.1002a442
mov dword [ebp - 0x1c], eax
fld dword [ebp - 0x1c]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
fsub qword [0x100b10b8]
fcomp qword [0x10083b4e]
fnstsw ax
test ah, 0x41
jne 0x10029cc7
mov eax, 1
jmp 0x10029ccc
mov eax, 0
test eax, eax
je 0x10029d0e
push dword [0x113efda8]
push dword [0x113efda4]
call fcn.1002a442
mov dword [ebp - 8], eax
fld dword [ebp - 8]
fsub qword [0x100b10b0]
fstp qword [ebp - 0x10]
fld qword [ebp - 0x10]
fstp dword [ebp - 0x14]
push dword [ebp - 0x14]
push dword [0x113efda8]
push dword [0x113efda4]
call fcn.1002a2ea
jmp 0x10029d94
push 0
push dword [0x113efd98]
push dword [0x113efd94]
call fcn.1002a2ea
push 0
push dword [0x113efda0]
push dword [0x113efd9c]
call fcn.1002a2ea
push 0x3fc00000
push dword [0x113efda8]
push dword [0x113efda4]
call fcn.1002a2ea
fild qword [0x113efd0c]
fstp qword [ebp - 0xc]
fld qword [ebp - 0xc]
fadd qword [0x100b10c0]
fstp qword [ebp - 0x14]
push 0
fld qword [ebp - 0x14]
call fcn.10001bbe
push edx
push eax
call fcn.1002a2ea
push 0x40200000
push dword [0x113efd90]
push dword [0x113efd8c]
call fcn.1002a2ea
mov esp, ebp
pop ebp
ret