Function at 0x1000254e
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push 0
mov ebx, 0x350
call fcn.10006670
add esp, 4
cmp dword [0x1001362b], 0x780
jg 0x100025e7
cmp dword [0x10013667], 0
je 0x100025e2
push 1
push 2
push 1
push 0x3f666666
push 0x10013673
push 1
push 0x433
push 1
push 0x427
push 1
push 0x64
push 1
push 0x3e8
mov dword [ebp - 4], 0
push 0
push dword [ebp - 4]
call fcn.10002ed0
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
push eax
mov ebx, dword [0x10013677]
push ebx
call fcn.10005be5
add esp, 4
pop eax
mov dword [0x10013677], eax
jmp 0x10002650
cmp dword [0x10013667], 0
je 0x10002650
push 1
push 2
push 1
push 0x3f666666
push 0x10013673
push 1
push 0x59a
push 1
push 0x5e3
push 1
push 0x3d1
push 1
push 0x46d
mov dword [ebp - 4], 0
push 0
push dword [ebp - 4]
call fcn.10002ed0
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
push eax
mov ebx, dword [0x10013677]
push ebx
call fcn.10005be5
add esp, 4
pop eax
mov dword [0x10013677], eax
mov ebx, dword [0x10013677]
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 4]
cmp dword [ebx], 0
jg 0x10002684
mov ebx, dword [0x10013677]
add ebx, 4
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 0xc]
cmp dword [ebx], 0
jg 0x10002684
mov eax, 1
jmp 0x10002689
mov eax, 0
test eax, eax
je 0x100026f7
mov dword [ebp - 4], 0
push 0
push dword [ebp - 4]
push 1
push dword [0x1001363f]
push 0x1001366b
push 1
push dword [0x10013663]
push 1
push dword [0x1001365f]
push 1
push dword [0x1001365b]
push 1
push dword [0x10013657]
mov dword [ebp - 8], 0
push 0
push dword [ebp - 8]
call fcn.10002ed0
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
push eax
mov ebx, dword [0x1001367b]
push ebx
call fcn.10005be5
add esp, 4
pop eax
mov dword [0x1001367b], eax
mov ebx, dword [0x10013677]
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 4]
cmp dword [ebx], 0
jle 0x1000272b
mov ebx, dword [0x10013677]
add ebx, 4
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 0xc]
cmp dword [ebx], 0
jle 0x1000272b
mov eax, 1
jmp 0x10002730
mov eax, 0
test eax, eax
je 0x1000279d
mov dword [ebp - 4], 0
push 0
push dword [ebp - 4]
push 1
push 0x3f4ccccd
push 0x1001366f
push 1
push dword [0x10013663]
push 1
push dword [0x1001365f]
push 1
push dword [0x1001365b]
push 1
push dword [0x10013657]
mov dword [ebp - 8], 0
push 0
push dword [ebp - 8]
call fcn.10002ed0
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
push eax
mov ebx, dword [0x1001367f]
push ebx
call fcn.10005be5
add esp, 4
pop eax
mov dword [0x1001367f], eax
cmp dword [0x10013647], 0
je 0x10002a33
mov ebx, dword [0x10013677]
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 4]
cmp dword [ebx], 0
jg 0x100027de
mov ebx, dword [0x10013677]
add ebx, 4
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 0xc]
cmp dword [ebx], 0
jg 0x100027de
mov eax, 1
jmp 0x100027e3
mov eax, 0
test eax, eax
je 0x100028ec
mov ebx, dword [0x1001367b]
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 4]
cmp dword [ebx], 0
jle 0x1000281f
mov ebx, dword [0x1001367b]
add ebx, 4
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 0xc]
cmp dword [ebx], 0
jle 0x1000281f
mov eax, 1
jmp 0x10002824
mov eax, 0
test eax, eax
je 0x100028ec
mov ebx, dword [0x1001367b]
mov dword [ebp - 4], ebx
fild dword [0x10013653]
fstp dword [ebp - 8]
push dword [ebp - 8]
mov ebx, dword [ebp - 4]
fild dword [ebx]
fstp dword [ebp - 0xc]
push dword [ebp - 0xc]
call fcn.10004379
mov dword [ebp - 0x14], eax
fld dword [ebp - 0x14]
call fcn.1000116f
mov dword [0x10013683], eax
mov ebx, dword [0x1001367b]
add ebx, 4
mov dword [ebp - 4], ebx
fild dword [0x1001364f]
fstp dword [ebp - 8]
push dword [ebp - 8]
mov ebx, dword [ebp - 4]
fild dword [ebx]
fstp dword [ebp - 0xc]
push dword [ebp - 0xc]
call fcn.10004379
mov dword [ebp - 0x14], eax
fld dword [ebp - 0x14]
call fcn.1000116f
mov dword [0x10013687], eax
push dword [0x1001363b]
push dword [0x10013687]
push dword [0x10013683]
call fcn.100043a4
cmp dword [0x10013643], 0
je 0x100028ec
mov dword [ebp - 4], esp
push dword [0x10013643]
xor eax, eax
call dword [sym.imp.KERNEL32.dll_Sleep]
nop
nop
cmp dword [ebp - 4], esp
je 0x100028ec
push 0x5ac
push 0x404b531
push 6
call fcn.10005bf1
add esp, 0xc
mov ebx, dword [0x10013677]
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 4]
cmp dword [ebx], 0
jle 0x10002920
mov ebx, dword [0x10013677]
add ebx, 4
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 0xc]
cmp dword [ebx], 0
jle 0x10002920
mov eax, 1
jmp 0x10002925
mov eax, 0
test eax, eax
je 0x10002a2e
mov ebx, dword [0x1001367f]
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 4]
cmp dword [ebx], 0
jle 0x10002961
mov ebx, dword [0x1001367f]
add ebx, 4
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 0xc]
cmp dword [ebx], 0
jle 0x10002961
mov eax, 1
jmp 0x10002966
mov eax, 0
test eax, eax
je 0x10002a2e
mov ebx, dword [0x1001367f]
mov dword [ebp - 4], ebx
fild dword [0x10013653]
fstp dword [ebp - 8]
push dword [ebp - 8]
mov ebx, dword [ebp - 4]
fild dword [ebx]
fstp dword [ebp - 0xc]
push dword [ebp - 0xc]
call fcn.10004379
mov dword [ebp - 0x14], eax
fld dword [ebp - 0x14]
call fcn.1000116f
mov dword [0x10013683], eax
mov ebx, dword [0x1001367f]
add ebx, 4
mov dword [ebp - 4], ebx
fild dword [0x1001364f]
fstp dword [ebp - 8]
push dword [ebp - 8]
mov ebx, dword [ebp - 4]
fild dword [ebx]
fstp dword [ebp - 0xc]
push dword [ebp - 0xc]
call fcn.10004379
mov dword [ebp - 0x14], eax
fld dword [ebp - 0x14]
call fcn.1000116f
mov dword [0x10013687], eax
push dword [0x1001363b]
push dword [0x10013687]
push dword [0x10013683]
call fcn.100043a4
cmp dword [0x10013643], 0
je 0x10002a2e
mov dword [ebp - 4], esp
push dword [0x10013643]
xor eax, eax
call dword [sym.imp.KERNEL32.dll_Sleep]
nop
nop
cmp dword [ebp - 4], esp
je 0x10002a2e
push 0x7f0
push 0x404b531
push 6
call fcn.10005bf1
add esp, 0xc
jmp 0x10002cf3
mov dword [ebp - 4], esp
push dword [0x10013637]
xor eax, eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
cmp dword [ebp - 4], esp
je 0x10002a62
push 0x881
push 0x404b531
push 6
call fcn.10005bf1
add esp, 0xc
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x10002cf3
mov ebx, dword [0x10013677]
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 4]
cmp dword [ebx], 0
jg 0x10002aa3
mov ebx, dword [0x10013677]
add ebx, 4
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 0xc]
cmp dword [ebx], 0
jg 0x10002aa3
mov eax, 1
jmp 0x10002aa8
mov eax, 0
test eax, eax
je 0x10002bb1
mov ebx, dword [0x1001367b]
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 4]
cmp dword [ebx], 0
jle 0x10002ae4
mov ebx, dword [0x1001367b]
add ebx, 4
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 0xc]
cmp dword [ebx], 0
jle 0x10002ae4
mov eax, 1
jmp 0x10002ae9
mov eax, 0
test eax, eax
je 0x10002bb1
mov ebx, dword [0x1001367b]
mov dword [ebp - 4], ebx
fild dword [0x10013653]
fstp dword [ebp - 8]
push dword [ebp - 8]
mov ebx, dword [ebp - 4]
fild dword [ebx]
fstp dword [ebp - 0xc]
push dword [ebp - 0xc]
call fcn.10004379
mov dword [ebp - 0x14], eax
fld dword [ebp - 0x14]
call fcn.1000116f
mov dword [0x10013683], eax
mov ebx, dword [0x1001367b]
add ebx, 4
mov dword [ebp - 4], ebx
fild dword [0x1001364f]
fstp dword [ebp - 8]
push dword [ebp - 8]
mov ebx, dword [ebp - 4]
fild dword [ebx]
fstp dword [ebp - 0xc]
push dword [ebp - 0xc]
call fcn.10004379
mov dword [ebp - 0x14], eax
fld dword [ebp - 0x14]
call fcn.1000116f
mov dword [0x10013687], eax
push dword [0x1001363b]
push dword [0x10013687]
push dword [0x10013683]
call fcn.100043a4
cmp dword [0x10013643], 0
je 0x10002bb1
mov dword [ebp - 4], esp
push dword [0x10013643]
xor eax, eax
call dword [sym.imp.KERNEL32.dll_Sleep]
nop
nop
cmp dword [ebp - 4], esp
je 0x10002bb1
push 0xaa4
push 0x404b531
push 6
call fcn.10005bf1
add esp, 0xc
mov ebx, dword [0x10013677]
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 4]
cmp dword [ebx], 0
jle 0x10002be5
mov ebx, dword [0x10013677]
add ebx, 4
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 0xc]
cmp dword [ebx], 0
jle 0x10002be5
mov eax, 1
jmp 0x10002bea
mov eax, 0
test eax, eax
je 0x10002cf3
mov ebx, dword [0x1001367f]
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 4]
cmp dword [ebx], 0
jle 0x10002c26
mov ebx, dword [0x1001367f]
add ebx, 4
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 0xc]
cmp dword [ebx], 0
jle 0x10002c26
mov eax, 1
jmp 0x10002c2b
mov eax, 0
test eax, eax
je 0x10002cf3
mov ebx, dword [0x1001367f]
mov dword [ebp - 4], ebx
fild dword [0x10013653]
fstp dword [ebp - 8]
push dword [ebp - 8]
mov ebx, dword [ebp - 4]
fild dword [ebx]
fstp dword [ebp - 0xc]
push dword [ebp - 0xc]
call fcn.10004379
mov dword [ebp - 0x14], eax
fld dword [ebp - 0x14]
call fcn.1000116f
mov dword [0x10013683], eax
mov ebx, dword [0x1001367f]
add ebx, 4
mov dword [ebp - 4], ebx
fild dword [0x1001364f]
fstp dword [ebp - 8]
push dword [ebp - 8]
mov ebx, dword [ebp - 4]
fild dword [ebx]
fstp dword [ebp - 0xc]
push dword [ebp - 0xc]
call fcn.10004379
mov dword [ebp - 0x14], eax
fld dword [ebp - 0x14]
call fcn.1000116f
mov dword [0x10013687], eax
push dword [0x1001363b]
push dword [0x10013687]
push dword [0x10013683]
call fcn.100043a4
cmp dword [0x10013643], 0
je 0x10002cf3
mov dword [ebp - 4], esp
push dword [0x10013643]
xor eax, eax
call dword [sym.imp.KERNEL32.dll_Sleep]
nop
nop
cmp dword [ebp - 4], esp
je 0x10002cf3
push 0xce8
push 0x404b531
push 6
call fcn.10005bf1
add esp, 0xc
mov dword [ebp - 4], esp
push 0x26
xor eax, eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
cmp dword [ebp - 4], esp
je 0x10002d21
push 0xda1
push 0x404b531
push 6
call fcn.10005bf1
add esp, 0xc
mov dword [ebp - 8], eax
push 0x80000301
push 0
push 1
push 0x80000301
push 0
push dword [ebp - 8]
push 2
mov ebx, 0xc4
call fcn.100066e0
add esp, 0x1c
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 1
jne 0x10002dad
mov dword [ebp - 4], 0
push 0
push dword [ebp - 4]
push 1
push 1
push 1
push 0
push 1
push 0x64
call fcn.100049d2
mov dword [ebp - 4], esp
push 0x64
xor eax, eax
call dword [sym.imp.KERNEL32.dll_Sleep]
nop
nop
cmp dword [ebp - 4], esp
je 0x10002dad
push 0xe22
push 0x404b531
push 6
call fcn.10005bf1
add esp, 0xc
mov dword [ebp - 4], esp
push 0x23
xor eax, eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
cmp dword [ebp - 4], esp
je 0x10002ddb
push 0xe89
push 0x404b531
push 6
call fcn.10005bf1
add esp, 0xc
mov dword [ebp - 8], eax
push 0x80000301
push 0
push 1
push 0x80000301
push 0
push dword [ebp - 8]
push 2
mov ebx, 0xc4
call fcn.100066e0
add esp, 0x1c
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 1
jne 0x10002e2e
mov dword [ebp - 4], 0
push 0
push dword [ebp - 4]
call fcn.10005958
push 0
call fcn.10005c03
add esp, 4
mov dword [ebp - 4], esp
push 0x14
xor eax, eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
cmp dword [ebp - 4], esp
je 0x10002e5c
push 0xf3a
push 0x404b531
push 6
call fcn.10005bf1
add esp, 0xc
mov dword [ebp - 8], eax
push 0x80000301
push 0
push 1
push 0x80000301
push 0
push dword [ebp - 8]
push 2
mov ebx, 0xc4
call fcn.100066e0
add esp, 0x1c
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 1
jne 0x10002ec7
call fcn.1000163b
mov dword [ebp - 4], esp
push 0x64
xor eax, eax
call dword [sym.imp.KERNEL32.dll_Sleep]
nop
nop
cmp dword [ebp - 4], esp
je 0x10002ec7
push 0xf7a
push 0x404b531
push 6
call fcn.10005bf1
add esp, 0xc
jmp 0x10002557