Function at 0x100f3500
Capabilities:
Check for time delay via gettickcount
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
push esi
push edi
mov esi, eax
push 7
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x100f4177
push 8
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x100f4177
push 0xc
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x100f4177
push 0xe
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x100f4177
push 0xf
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x100f4177
push 0x41
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x100f4177
push 0x4e
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x100f4177
mov edi, dword [sym.imp.USER32.dll_GetKeyState]
push 2
call edi
mov ecx, 0x8000
test cx, ax
je 0x100f36b6
push 0x10
call edi
mov edx, 0x8000
test dx, ax
je 0x100f36b6
cmp dword [0x10234f4c], 0
jne 0x100f3604
cmp dword [0x10234a28], 3
jae 0x100f3604
mov esi, 0x280
jmp 0x100f3617
fild dword [0xe61e58]
fdiv dword [0xe7c3d8]
call fcn.1012e5b0
mov esi, eax
push 9
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
je 0x100f3657
push 0xd
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
je 0x100f3657
add esi, 0xffffff42
cmp dword [0x879340c], esi
jg 0x100f4177
jmp 0x100f369d
fldz
push 0x10
mov eax, 0x861110
fstp dword [ebp - 0xc]
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
je 0x100f367b
fld dword [0xd24e88]
fstp dword [ebp - 0xc]
fild dword [0x879340c]
add esi, 0xffffff42
mov dword [ebp - 4], esi
fild dword [ebp - 4]
fsub dword [ebp - 0xc]
fcompp
fnstsw ax
test ah, 5
jnp 0x100f4177
push 0x4d
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 2
call edi
mov ecx, 0x8000
xor ebx, ebx
test cx, ax
je 0x100f3844
cmp byte [0x118cf0b5], bl
je 0x100f3844
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, dword [0x119208b0]
add edx, 0x12c
cmp eax, edx
jb 0x100f3844
mov dword [ebp - 4], ebx
cmp dword [0x10234f4c], ebx
jne 0x100f370b
cmp dword [0x10234a28], 3
jae 0x100f370b
mov edi, 0x280
jmp 0x100f371e
fild dword [0xe61e58]
fdiv dword [0xe7c3d8]
call fcn.1012e5b0
mov edi, eax
fldz
push 0x10
mov eax, 0x861110
fstp dword [ebp - 0xc]
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
je 0x100f3742
fld dword [0xd24e88]
fstp dword [ebp - 0xc]
fild dword [0x879340c]
lea eax, [edi - 0xbe]
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fsub dword [ebp - 0xc]
fcompp
fnstsw ax
test ah, 5
jp 0x100f3771
movsx ecx, byte [esi + 0x44]
movsx edx, byte [esi + 0x43]
lea eax, [edx + ecx*8 + 0xc]
mov dword [ebp - 4], eax
jmp 0x100f37c4
push 0x4d
mov ecx, 0x861110
call ecx
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
je 0x100f37c4
fild dword [0x879340c]
add edi, 0xfffffe84
mov dword [ebp - 0x14], edi
fild dword [ebp - 0x14]
fsub dword [ebp - 0xc]
fcompp
fnstsw ax
test ah, 5
jp 0x100f37c4
cmp dword [0x8793410], 0x82
movsx eax, byte [esi + 0x44]
movsx ecx, byte [esi + 0x43]
lea edx, [ecx + eax*8 + 0x4c]
mov dword [ebp - 4], edx
jle 0x100f37c4
add dword [ebp - 4], 0x20
mov eax, 0x1800
cmp word [esi], ax
jg 0x100f4177
cmp byte [esi + 0x17], bl
je 0x100f4177
cmp dword [0x118d9bac], ebx
je 0x100f37ef
cmp byte [0x118d9bb4], bl
jne 0x100f4177
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
sub eax, dword [0x118d9bb0]
cmp eax, 0x12c
jb 0x100f4177
push esi
mov ecx, 0x7e1e50
call ecx
mov dword [0x118d9bac], eax
call edi
mov dl, byte [ebp - 4]
mov dword [0x118d9bb0], eax
lea eax, [ebp - 0x14]
mov dword [ebp - 0x13], ebx
mov ecx, 5
push eax
mov dword [ebp - 0x14], 0x25fa05c1
mov byte [ebp - 0x10], dl
call fcn.10100800
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 2
call edi
mov ecx, 0x8000
test cx, ax
je 0x100f399b
mov edx, dword [0x10a88918]
cmp byte [edx + 0x29], bl
je 0x100f399b
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [0x119208b0]
add ecx, 0x12c
cmp eax, ecx
jb 0x100f399b
cmp word [esi], bx
jl 0x100f4177
mov dword [ebp - 7], ebx
mov word [ebp - 3], bx
mov byte [ebp - 1], bl
mov dword [ebp - 8], 0x15fa08c1
cmp dword [0x10234f4c], ebx
jne 0x100f38b1
cmp dword [0x10234a28], 3
jae 0x100f38b1
mov edi, 0x280
jmp 0x100f38c4
fild dword [0xe61e58]
fdiv dword [0xe7c3d8]
call fcn.1012e5b0
mov edi, eax
push 9
mov edx, 0x861110
call edx
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
je 0x100f3924
push 0xd
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
je 0x100f3924
lea eax, [edi - 0xbe]
cmp dword [0x879340c], eax
jle 0x100f40a5
mov word [ebp - 4], 0x300
jmp 0x100f408e
mov al, byte [esi + 0x44]
add al, al
add al, al
add al, al
add al, byte [esi + 0x43]
mov word [ebp - 4], 3
jmp 0x100f4155
fldz
push 0x10
mov ecx, 0x861110
fstp dword [ebp - 0xc]
call ecx
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
je 0x100f3948
fld dword [0xd24e88]
fstp dword [ebp - 0xc]
fild dword [0x879340c]
lea eax, [edi - 0xbe]
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fsub dword [ebp - 0xc]
fcompp
fnstsw ax
test ah, 5
jnp 0x100f408a
push 0x4d
mov edx, 0x861110
call edx
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
je 0x100f4158
fild dword [0x879340c]
add edi, 0xfffffe84
mov dword [ebp - 0x14], edi
fild dword [ebp - 0x14]
jmp 0x100f4126
push 2
call edi
mov ecx, 0x8000
test cx, ax
je 0x100f3ac2
mov edx, dword [0x1190acb4]
cmp byte [edx + 0x29], bl
je 0x100f3ac2
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [0x119208b0]
add ecx, 0x12c
cmp eax, ecx
jb 0x100f3ac2
cmp word [esi], bx
jl 0x100f4177
mov dword [ebp - 7], ebx
mov word [ebp - 3], bx
mov byte [ebp - 1], bl
mov dword [ebp - 8], 0xb1d308c1
cmp dword [0x10234f4c], ebx
jne 0x100f3a08
cmp dword [0x10234a28], 3
jae 0x100f3a08
mov edi, 0x280
jmp 0x100f3a1b
fild dword [0xe61e58]
fdiv dword [0xe7c3d8]
call fcn.1012e5b0
mov edi, eax
push 9
mov edx, 0x861110
call edx
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
je 0x100f3a4b
push 0xd
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x100f38f0
fldz
push 0x10
mov ecx, 0x861110
fstp dword [ebp - 0xc]
call ecx
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
je 0x100f3a6f
fld dword [0xd24e88]
fstp dword [ebp - 0xc]
fild dword [0x879340c]
lea eax, [edi - 0xbe]
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fsub dword [ebp - 0xc]
fcompp
fnstsw ax
test ah, 5
jnp 0x100f408a
push 0x4d
mov edx, 0x861110
call edx
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
je 0x100f4158
fild dword [0x879340c]
add edi, 0xfffffe84
mov dword [ebp - 0x14], edi
fild dword [ebp - 0x14]
jmp 0x100f4126
push 2
call edi
mov ecx, 0x8000
test cx, ax
je 0x100f3be6
cmp byte [0x118cee69], bl
je 0x100f3be6
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, dword [0x119208b0]
add edx, 0x12c
cmp eax, edx
jb 0x100f3be6
cmp word [esi], bx
jl 0x100f4177
mov dword [ebp - 7], ebx
mov word [ebp - 3], bx
mov byte [ebp - 1], bl
mov dword [ebp - 8], 0x2bd308c1
cmp dword [0x10234f4c], ebx
jne 0x100f3b2c
cmp dword [0x10234a28], 3
jae 0x100f3b2c
mov edi, 0x280
jmp 0x100f3b3f
fild dword [0xe61e58]
fdiv dword [0xe7c3d8]
call fcn.1012e5b0
mov edi, eax
push 9
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
je 0x100f3b6f
push 0xd
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x100f38f0
fldz
push 0x10
mov ecx, 0x861110
fstp dword [ebp - 0xc]
call ecx
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
je 0x100f3b93
fld dword [0xd24e88]
fstp dword [ebp - 0xc]
fild dword [0x879340c]
lea eax, [edi - 0xbe]
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fsub dword [ebp - 0xc]
fcompp
fnstsw ax
test ah, 5
jnp 0x100f408a
push 0x4d
mov edx, 0x861110
call edx
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
je 0x100f4158
fild dword [0x879340c]
add edi, 0xfffffe84
mov dword [ebp - 0x14], edi
fild dword [ebp - 0x14]
jmp 0x100f4126
push 2
call edi
mov ecx, 0x8000
test cx, ax
je 0x100f3d59
cmp byte [0x118c8125], bl
je 0x100f3d59
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, dword [0x119208b0]
add edx, 0x12c
cmp eax, edx
jb 0x100f3d59
cmp word [esi], bx
jl 0x100f4177
cmp dword [0x118d9bac], ebx
je 0x100f3c3b
cmp byte [0x118d9bb4], bl
jne 0x100f4177
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
sub eax, dword [0x118d9bb0]
cmp eax, 0x12c
jb 0x100f4177
cmp byte [0x118d9bb4], bl
jne 0x100f3c62
mov dword [0x118d9bac], ebx
push esi
mov eax, 0x7e1e50
call eax
mov dword [0x118d9bac], eax
call edi
mov dword [ebp - 7], ebx
mov dword [0x118d9bb0], eax
mov word [ebp - 3], bx
mov byte [ebp - 1], bl
mov dword [ebp - 8], 0x13d308c1
cmp dword [0x10234f4c], ebx
jne 0x100f3c9f
cmp dword [0x10234a28], 3
jae 0x100f3c9f
mov edi, 0x280
jmp 0x100f3cb2
fild dword [0xe61e58]
fdiv dword [0xe7c3d8]
call fcn.1012e5b0
mov edi, eax
push 9
mov ecx, 0x861110
call ecx
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
je 0x100f3ce2
push 0xd
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x100f38f0
fldz
push 0x10
mov ecx, 0x861110
fstp dword [ebp - 0xc]
call ecx
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
je 0x100f3d06
fld dword [0xd24e88]
fstp dword [ebp - 0xc]
fild dword [0x879340c]
lea eax, [edi - 0xbe]
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fsub dword [ebp - 0xc]
fcompp
fnstsw ax
test ah, 5
jnp 0x100f408a
push 0x4d
mov edx, 0x861110
call edx
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
je 0x100f4158
fild dword [0x879340c]
add edi, 0xfffffe84
mov dword [ebp - 0x14], edi
fild dword [ebp - 0x14]
jmp 0x100f4126
push 2
call edi
mov ecx, 0x8000
test cx, ax
je 0x100f3e7d
cmp byte [0x118c7f81], bl
je 0x100f3e7d
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, dword [0x119208b0]
add edx, 0x12c
cmp eax, edx
jb 0x100f3e7d
cmp word [esi], bx
jl 0x100f4177
mov dword [ebp - 7], ebx
mov word [ebp - 3], bx
mov byte [ebp - 1], bl
mov dword [ebp - 8], 0x3cd308c1
cmp dword [0x10234f4c], ebx
jne 0x100f3dc3
cmp dword [0x10234a28], 3
jae 0x100f3dc3
mov edi, 0x280
jmp 0x100f3dd6
fild dword [0xe61e58]
fdiv dword [0xe7c3d8]
call fcn.1012e5b0
mov edi, eax
push 9
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
je 0x100f3e06
push 0xd
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x100f38f0
fldz
push 0x10
mov ecx, 0x861110
fstp dword [ebp - 0xc]
call ecx
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
je 0x100f3e2a
fld dword [0xd24e88]
fstp dword [ebp - 0xc]
fild dword [0x879340c]
lea eax, [edi - 0xbe]
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fsub dword [ebp - 0xc]
fcompp
fnstsw ax
test ah, 5
jnp 0x100f408a
push 0x4d
mov edx, 0x861110
call edx
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
je 0x100f4158
fild dword [0x879340c]
add edi, 0xfffffe84
mov dword [ebp - 0x14], edi
fild dword [ebp - 0x14]
jmp 0x100f4126
push 2
call edi
mov ecx, 0x8000
test cx, ax
je 0x100f3fa7
mov edx, dword [0x10a885a4]
cmp byte [edx + 0x29], bl
je 0x100f3fa7
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [0x10a885a4]
mov edx, dword [ecx + 0x30]
add edx, 0x12c
cmp eax, edx
jb 0x100f3fa7
cmp word [esi], bx
jl 0x100f4177
mov dword [ebp - 7], ebx
mov word [ebp - 3], bx
mov byte [ebp - 1], bl
mov dword [ebp - 8], 0x22d308c1
cmp dword [0x10234f4c], ebx
jne 0x100f3eed
cmp dword [0x10234a28], 3
jae 0x100f3eed
mov edi, 0x280
jmp 0x100f3f00
fild dword [0xe61e58]
fdiv dword [0xe7c3d8]
call fcn.1012e5b0
mov edi, eax
push 9
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
je 0x100f3f30
push 0xd
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x100f38f0
fldz
push 0x10
mov ecx, 0x861110
fstp dword [ebp - 0xc]
call ecx
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
je 0x100f3f54
fld dword [0xd24e88]
fstp dword [ebp - 0xc]
fild dword [0x879340c]
lea eax, [edi - 0xbe]
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fsub dword [ebp - 0xc]
fcompp
fnstsw ax
test ah, 5
jnp 0x100f408a
push 0x4d
mov edx, 0x861110
call edx
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
je 0x100f4158
fild dword [0x879340c]
add edi, 0xfffffe84
mov dword [ebp - 0x14], edi
fild dword [ebp - 0x14]
jmp 0x100f4126
push 2
call edi
mov ecx, 0x8000
test cx, ax
je 0x100f4177
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, dword [0x119208b0]
add edx, 0x12c
cmp eax, edx
jb 0x100f4177
cmp word [esi], bx
jl 0x100f4177
mov dword [ebp - 7], ebx
mov word [ebp - 3], bx
mov byte [ebp - 1], bl
mov dword [ebp - 8], 0x17908c1
cmp dword [0x10234f4c], ebx
jne 0x100f4005
cmp dword [0x10234a28], 3
jae 0x100f4005
mov edi, 0x280
jmp 0x100f4018
fild dword [0xe61e58]
fdiv dword [0xe7c3d8]
call fcn.1012e5b0
mov edi, eax
push 9
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
je 0x100f4048
push 0xd
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x100f38f0
fldz
push 0x10
mov ecx, 0x861110
fstp dword [ebp - 0xc]
call ecx
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
je 0x100f406c
fld dword [0xd24e88]
fstp dword [ebp - 0xc]
fild dword [0x879340c]
lea eax, [edi - 0xbe]
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fsub dword [ebp - 0xc]
fcompp
fnstsw ax
test ah, 5
jp 0x100f40fe
mov word [ebp - 4], bx
mov cl, byte [esi + 0x44]
add cl, cl
add cl, cl
add cl, cl
add cl, byte [esi + 0x43]
add cl, 0xc
mov byte [ebp - 2], cl
jmp 0x100f4158
push 0x4d
mov edx, 0x861110
call edx
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
je 0x100f390d
add edi, 0xfffffe84
cmp dword [0x879340c], edi
jle 0x100f390d
mov al, byte [esi + 0x44]
add al, al
add al, al
add al, al
add al, byte [esi + 0x43]
mov word [ebp - 4], 0x300
add al, 0x4c
cmp dword [0x8793410], 0x82
mov byte [ebp - 1], bl
mov byte [ebp - 2], al
jle 0x100f415b
add al, 0x20
mov byte [ebp - 2], al
jmp 0x100f415b
push 0x4d
mov edx, 0x861110
call edx
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
je 0x100f4158
fild dword [0x879340c]
add edi, 0xfffffe84
mov dword [ebp - 0x14], edi
fild dword [ebp - 0x14]
fsub dword [ebp - 0xc]
fcompp
fnstsw ax
test ah, 5
jp 0x100f4158
mov al, byte [esi + 0x44]
add al, al
add al, al
add al, al
add al, byte [esi + 0x43]
mov word [ebp - 4], bx
add al, 0x4c
cmp dword [0x8793410], 0x82
mov byte [ebp - 2], al
jle 0x100f4158
add al, 0x20
mov byte [ebp - 2], al
mov byte [ebp - 1], bl
lea eax, [ebp - 8]
push eax
mov ecx, 8
call fcn.10100800
add esp, 4
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x119208b0], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret