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

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov eax, 0x861110
push ebx
push esi
push 0xc
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x10042dd6
movzx eax, byte [0x101d6085]
xor ecx, ecx
cmp byte [0x101d91c5], 1
cmove eax, ecx
mov byte [0x101d6085], al
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
sub eax, dword [0x101d9140]
xor edx, edx
movzx ecx, byte [0x101d91c5]
cmp eax, 0x64
cmovb ecx, edx
mov byte [0x101d91c5], cl
call esi
sub eax, dword [0x101d9180]
cmp eax, 0x64
jb 0x10043141
cmp byte [0x101d91c5], 0
je 0x10043148
cmp dword [0x102fbd5c], 0
je 0x10043148
movss xmm3, dword [0x1017ecc0]
movss xmm2, dword [0x1017eb20]
movss xmm1, dword [0x1017ea04]
push ecx
mov dword [esp], 0x43020000
call fcn.1000e3e0
push str.Muun_System
push 3
push 0xd2
push 0x64
push 0x23
push 0xff2d5fe1
push 0x101d5490
call fcn.1006c800
add esp, 0x1c
mov ecx, str.Do_you_want_to_drop_this_item_
cmp dword [0x102fbd5c], 1
mov eax, str.Do_you_want_to_sell_this_item_
cmovne eax, ecx
push eax
push 3
push 0xd2
push 0x82
push 0x23
push 0xff19bdff
push 0x101d5490
call fcn.1006c800
movss xmm3, dword [0x1017ec28]
add esp, 0x14
movss xmm2, dword [0x1017eab8]
mov ecx, 0x101d5490
mov dword [esp + 4], 0
mov dword [esp], 0
push 0xef
call fcn.1006d4d0
movd xmm1, dword [0x10304760]
mov ebx, 0x3c
movss xmm0, dword [0x101d9130]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x10043038
comiss xmm1, dword [0x101d9138]
ja 0x10043038
movd xmm1, dword [0x10304768]
movss xmm0, dword [0x101d9134]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x10043038
comiss xmm1, dword [0x101d913c]
ja 0x10043038
cmp byte [0x101d9144], 0
mov eax, 0x1e
movss xmm3, dword [0x1017ec28]
mov ecx, 0x101d5490
movss xmm2, dword [0x1017eab8]
cmovne eax, ebx
sub esp, 8
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 4], xmm0
mov dword [esp], 0
push 0xef
call fcn.1006d4d0
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
mov ecx, 0x8000
test cx, ax
je 0x10043038
mov eax, dword [0x102fbd5c]
cmp eax, 1
jne 0x10042fa9
mov al, byte [0x1018bba8]
lea edx, [ebx - 0x37]
lea ecx, [ebp - 8]
mov dword [ebp - 8], 0x94e05c1
mov byte [ebp - 4], al
call fcn.100acac0
mov eax, dword [0x102fbd5c]
cmp eax, 2
jne 0x10043002
mov al, byte [0x1018bba8]
lea ecx, [ebp - 8]
mov byte [ebp - 2], al
mov edx, 7
cvttss2si eax, dword [0x1018bba4]
mov dword [ebp - 8], 0x14e07c1
mov byte [ebp - 4], al
cvttss2si eax, dword [0x1018bba0]
mov byte [ebp - 3], al
call fcn.100acac0
mov eax, 0x7dd1b0
call eax
mov dword [0x81c03b4], 0
mov eax, 0x83c080
mov dword [0xe616d0], 6
call eax
mov dword [0x102fbd5c], 0
call esi
mov dword [0x101d9140], eax
mov byte [0x101d91c5], 0
mov dword [0x1018bba8], 0xffffffff
mov dword [0x1018bba4], 0xbf800000
mov dword [0x1018bba0], 0xbf800000
movss xmm3, dword [0x1017ec28]
sub esp, 8
movss xmm2, dword [0x1017ec34]
mov ecx, 0x101d5490
mov dword [esp + 4], 0
mov dword [esp], 0
push 0xf0
call fcn.1006d4d0
movd xmm1, dword [0x10304760]
movss xmm0, dword [0x101d9170]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x10043148
comiss xmm1, dword [0x101d9178]
ja 0x10043148
movd xmm1, dword [0x10304768]
movss xmm0, dword [0x101d9174]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x10043148
comiss xmm1, dword [0x101d917c]
ja 0x10043148
cmp byte [0x101d9184], 0
mov eax, 0x1e
movss xmm3, dword [0x1017ec28]
mov ecx, 0x101d5490
movss xmm2, dword [0x1017ec34]
cmovne eax, ebx
sub esp, 8
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 4], xmm0
mov dword [esp], 0
push 0xf0
call fcn.1006d4d0
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
mov ecx, 0x8000
test cx, ax
je 0x10043148
mov dword [0x102fbd5c], 0
call esi
mov dword [0x101d9180], eax
mov dword [0x1018bba8], 0xffffffff
mov dword [0x1018bba4], 0xbf800000
mov dword [0x1018bba0], 0xbf800000
mov byte [0x101d91c5], 0
pop esi
pop ebx
mov esp, ebp
pop ebp
ret