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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
cmp byte [0x1018b252], 0
push esi
je 0x1004b24f
mov dword [ebp - 0x10], 0
call fcn.10027530
mov ecx, eax
call fcn.10041420
lea edx, [ebp - 0x10]
mov ecx, eax
call fcn.100414c0
push dword [ebp - 0x10]
call fcn.1003cac0
add esp, 4
test al, al
je 0x1004b24f
mov dword [ebp - 4], 0
mov dword [ebp - 0x14], 0
call fcn.10027530
mov ecx, eax
call fcn.10041420
lea edx, [ebp - 0x14]
mov ecx, eax
call fcn.100414c0
push dword [ebp - 0x14]
lea ecx, [ebp - 4]
call fcn.10029d10
mov eax, dword [ebp - 4]
push eax
mov dword [0x1018b384], eax
call fcn.10042010
add esp, 8
test al, al
je 0x1004b24a
push edi
push dword [0x1018b388]
call fcn.1004b610
add esp, 4
test al, al
je 0x1004af55
push dword [0x1018b38c]
call fcn.1004b610
add esp, 4
test al, al
jne 0x1004b12c
push dword [0x1018b37c]
call fcn.1004c600
add esp, 4
test al, al
jne 0x1004afd5
push ecx
mov edx, 0x1018b37c
xorps xmm3, xmm3
xorps xmm2, xmm2
xorps xmm1, xmm1
mov ecx, 0xb00abe6d
call fcn.10045ad0
push dword [0x1018b37c]
call fcn.1004c6a0
push dword [0x1018b37c]
xor cl, cl
call fcn.1002ad10
mov dword [esp + 8], 0
xorps xmm3, xmm3
mov dword [esp + 4], 0
mov dword [esp], 0
sub esp, 8
mov dword [esp + 4], 0
mov dword [esp], 0
push dword [ebp - 4]
push dword [0x1018b37c]
call fcn.100458f0
add esp, 0x1c
xor edi, edi
lea eax, [ebp - 8]
xorps xmm3, xmm3
lea edx, [ebp - 0xc]
xorps xmm2, xmm2
lea ecx, [ebp - 0x10]
push eax
push dword [ebp - 4]
test edi, edi
jne 0x1004aff8
movss xmm1, dword [0x1017e49c]
jmp 0x1004b000
movss xmm1, dword [0x1017e550]
call fcn.1002a1d0
movss xmm2, dword [ebp - 8]
lea esi, [edi*4 + 0x1018b388]
movss xmm1, dword [ebp - 0xc]
add esp, 8
movss xmm0, dword [ebp - 0x10]
mov ecx, esi
call fcn.1004b560
push dword [esi]
call fcn.1004b8a0
push dword [esi]
xor cl, cl
call fcn.1002cd40
push dword [esi]
xor cl, cl
call fcn.10029410
push dword [esi]
call fcn.1004bf00
push dword [esi]
movss xmm1, dword [0x1017e4f8]
call fcn.1004be60
push dword [esi]
call fcn.1004c880
push dword [esi]
call fcn.1004bb40
push dword [esi]
call fcn.1004bbe0
push dword [esi]
xor cl, cl
call fcn.100294c0
push dword [esi]
mov cl, 1
call fcn.10029140
push 1
push 1
push 1
push dword [esi]
mov dl, 1
mov cl, dl
call fcn.100291f0
push dword [esi]
call fcn.1004ba90
push dword [esi]
call fcn.1004c930
add esp, 0x40
push dword [esi]
call fcn.1004c9e0
push dword [esi]
call fcn.1004bc80
push dword [esi]
call fcn.1004bd20
push dword [esi]
call fcn.1004bdc0
mov edx, 1
push 0
push dword [esi]
lea ecx, [edx + 0x11]
call fcn.10041a80
mov eax, dword [esi]
add esp, 0x18
sub esp, 0x14
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
push dword [0x1018b37c]
push eax
test edi, edi
jne 0x1004b112
movss xmm3, dword [0x1017e498]
call fcn.1004ca90
add esp, 0x1c
inc edi
jmp 0x1004afd7
movss xmm3, dword [0x1017e54c]
call fcn.1004ca90
inc edi
add esp, 0x1c
cmp edi, 1
jle 0x1004afd7
mov esi, 0x1018b388
push dword [esi]
call fcn.1004b610
add esp, 4
test al, al
je 0x1004b17d
mov edx, 1
push 0
push dword [esi]
lea ecx, [edx + 0x11]
call fcn.10041a80
push dword [esi]
mov ecx, 0x12
call fcn.10041d10
push dword [esi]
mov edx, 1
lea ecx, [edx + 0x11]
call fcn.1004b940
push dword [esi]
mov edx, 1
lea ecx, [edx + 0x11]
call fcn.1004b800
add esp, 0x14
add esi, 4
cmp esi, 0x1018b38c
jle 0x1004b131
movss xmm2, dword [0x1017e4e4]
lea eax, [ebp - 8]
push eax
push dword [ebp - 4]
lea edx, [ebp - 0xc]
xorps xmm3, xmm3
lea ecx, [ebp - 0x10]
xorps xmm1, xmm1
call fcn.1002a1d0
mov esi, dword [sym.imp.USER32.dll_GetKeyState]
add esp, 8
push 2
call esi
test ax, ax
mov al, byte [0x1018ae6c]
jns 0x1004b1ce
test al, al
jne 0x1004b1ce
mov word [0x1018ae6c], 1
jmp 0x1004b1f2
cmp al, 1
jne 0x1004b1e4
push 2
call esi
test ax, ax
js 0x1004b1e4
mov word [0x1018ae6c], 0x100
mov edx, 5
call fcn.1002b9d0
test al, al
je 0x1004b249
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
mov ecx, dword [0x101899cc]
add ecx, 0x96
cmp ecx, eax
jae 0x1004b249
mov esi, 0x1018b388
nop
push dword [esi]
call fcn.1004b610
add esp, 4
test al, al
je 0x1004b237
push dword [esi]
movss xmm3, dword [ebp - 8]
movss xmm2, dword [ebp - 0xc]
movss xmm1, dword [ebp - 0x10]
call fcn.1004b6b0
add esp, 4
add esi, 4
cmp esi, 0x1018b38c
jle 0x1004b210
call edi
mov dword [0x101899cc], eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov esi, 0x1018b388
push dword [esi]
call fcn.1004b610
add esp, 4
test al, al
je 0x1004b269
mov ecx, esi
call fcn.10044fc0
add esi, 4
cmp esi, 0x1018b38c
jle 0x1004b254
push dword [0x1018b37c]
call fcn.1004c600
add esp, 4
test al, al
je 0x1004b24a
mov ecx, 0x1018b37c
call fcn.10045b90
pop esi
mov esp, ebp
pop ebp
ret