Function at 0x1004dac0
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
cmp dword [0x102e0760], 1
push ebx
push esi
push edi
jne 0x1004e3ce
cmp byte [0x102bef1d], 1
je 0x1004e3ce
push 0x15
mov esi, 0x861110
call esi
mov edi, 0x85ec20
mov ecx, eax
call edi
test al, al
jne 0x1004e3ce
push 0x21
call esi
mov ecx, eax
call edi
test al, al
jne 0x1004e3ce
push 1
call esi
mov ecx, eax
call edi
test al, al
jne 0x1004e3ce
push 0x49
call esi
mov ecx, eax
call edi
test al, al
jne 0x1004e3ce
push 0x4f
call esi
mov ecx, eax
call edi
test al, al
jne 0x1004e3ce
push 0xe
call esi
mov ecx, eax
call edi
test al, al
jne 0x1004e3ce
push 8
call esi
mov ecx, eax
call edi
test al, al
jne 0x1004e3ce
push 7
call esi
mov ecx, eax
call edi
test al, al
jne 0x1004e3ce
push 0x41
call esi
mov ecx, eax
call edi
test al, al
jne 0x1004e3ce
mov eax, dword [0xe61e18]
cmp eax, 0x22
je 0x1004e3ce
cmp eax, 0x1e
je 0x1004e3ce
cmp eax, 0x12
jl 0x1004dbb9
cmp eax, 0x17
jle 0x1004e3ce
cmp eax, 0x35
je 0x1004e3ce
cmp eax, 0x2d
jl 0x1004dbb9
cmp eax, 0x32
jle 0x1004e3ce
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1004e3b4
mov eax, dword [0x1010bba8]
sub esp, 0x10
cdq
mov edi, 0x790b50
sub eax, edx
mov byte [0x102bcbdd], 1
sar eax, 1
mov dword [0xe8cb3c], 1
movss xmm2, dword [0x102bcc20]
movss xmm1, dword [0x102bcc24]
movd xmm3, eax
cvtdq2ps xmm3, xmm3
mov dword [0x102bcc2c], 0x42000000
movss dword [esp + 0xc], xmm1
subss xmm3, dword [0x10103048]
movss dword [esp + 8], xmm2
mov dword [esp + 4], 0x42000000
movaps xmm0, xmm3
movss dword [esp], xmm3
push dword [0x102bcc1c]
addss xmm0, xmm2
movss dword [ebp - 4], xmm3
movss dword [0x102bcc28], xmm3
movss dword [0x102bcc30], xmm0
movaps xmm0, xmm1
addss xmm0, dword [0x10102f24]
movss dword [0x102bcc34], xmm0
call edi
movss xmm3, dword [ebp - 4]
add esp, 4
movss xmm2, dword [0x102bcc80]
movaps xmm0, xmm3
movss xmm1, dword [0x102bcc84]
addss xmm0, xmm2
movss dword [0x102bcc88], xmm3
movss dword [esp + 0xc], xmm1
movss dword [esp + 8], xmm2
mov dword [esp + 4], 0x41f00000
movss dword [0x102bcc90], xmm0
movaps xmm0, xmm1
addss xmm0, dword [0x10102f1c]
movss dword [esp], xmm3
push dword [0x102bcc7c]
mov dword [0x102bcc8c], 0x41f00000
movss dword [0x102bcc94], xmm0
call edi
movss xmm4, dword [0x10102f3c]
add esp, 0x14
movss xmm0, dword [0x102bcce4]
mov esi, 0xe
movss dword [ebp - 0xc], xmm4
sub esp, 0x10
movss dword [esp + 0xc], xmm0
movss xmm0, dword [0x102bcce0]
movss dword [esp + 8], xmm0
movss xmm0, dword [ebp - 4]
movss dword [esp + 4], xmm4
movss dword [esp], xmm0
push dword [0x102bccdc]
call edi
movss xmm4, dword [ebp - 0xc]
add esp, 0x14
movss xmm0, dword [0x102bcce4]
addss xmm4, xmm0
movss dword [ebp - 0xc], xmm4
sub esi, 1
jne 0x1004dcf0
movss xmm3, dword [ebp - 4]
sub esp, 0x10
movss xmm2, dword [0x102bcd40]
movaps xmm0, xmm3
movss xmm1, dword [0x102bcd44]
addss xmm0, xmm2
movss dword [0x102bcd48], xmm3
movss dword [esp + 0xc], xmm1
movss dword [esp + 8], xmm2
movss dword [esp + 4], xmm4
movss dword [0x102bcd50], xmm0
movaps xmm0, xmm4
addss xmm0, xmm1
movss dword [esp], xmm3
push dword [0x102bcd3c]
movss dword [0x102bcd4c], xmm4
movss dword [0x102bcd54], xmm0
call edi
add esp, 0x14
mov ecx, 0x101c4a28
push 0x48
call fcn.10043140
push eax
cvttss2si eax, dword [ebp - 4]
push 3
push 0xd2
push 0x28
add eax, 0xa
push eax
push 0xff19bdff
push 0x102bb6b0
call fcn.100798d0
movss xmm0, dword [ebp - 4]
add esp, 0x1c
addss xmm0, dword [0x10102ef0]
mov ecx, 0x101c4a28
push 0xb1
cvttss2si ebx, xmm0
mov dword [ebp - 0x10], ebx
call fcn.10043140
push eax
push 1
push 0x34
push 0x43
push ebx
push 0xff19bdff
push 0x102bb6b0
call fcn.100798d0
movss xmm0, dword [ebp - 4]
add esp, 0x1c
addss xmm0, dword [0x10102fb8]
mov ecx, 0x101c4a28
push 0x49
cvttss2si ebx, xmm0
mov dword [ebp - 0x14], ebx
call fcn.10043140
push eax
push 1
push 0x34
push 0x43
push ebx
push 0xff19bdff
push 0x102bb6b0
call fcn.100798d0
xor edx, edx
add esp, 0x1c
xor edi, edi
mov dword [ebp - 8], edx
mov dword [ebp - 0xc], edi
mov esi, 0x1025d3f1
nop dword [eax]
mov ecx, esi
lea ebx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1004de65
sub ecx, ebx
test ecx, ecx
jle 0x1004deeb
movd xmm0, edi
lea ebx, [esi + 0xb]
cvtdq2ps xmm0, xmm0
push esi
push 1
push 0x34
addss xmm0, dword [0x10102fe0]
cvttss2si edi, xmm0
push edi
push dword [ebp - 0x10]
test dl, 1
jne 0x1004debb
push 0xb4ffffff
push 0x102bb6b0
call fcn.100798d0
add esp, 0x1c
push ebx
push 1
push 0x96
push edi
push dword [ebp - 0x14]
push 0xb4ffffff
jmp 0x1004dede
push 0xff8be100
push 0x102bb6b0
call fcn.100798d0
add esp, 0x1c
push ebx
push 1
push 0x96
push edi
push dword [ebp - 0x14]
push 0xff8be100
push 0x102bb6b0
call fcn.100798d0
add esp, 0x1c
inc dword [ebp - 8]
add esi, 0xcf
add dword [ebp - 0xc], 0xd
mov edx, dword [ebp - 8]
mov edi, dword [ebp - 0xc]
cmp esi, 0x1025e012
jl 0x1004de60
mov ecx, 0x1025d3f1
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1004df12
movss xmm1, dword [0x10102f8c]
mov esi, 0x790b10
sub ecx, edx
je 0x1004df63
movss xmm0, dword [ebp - 4]
addss xmm0, xmm1
push 0xd
push 0xc8
push 0x55
cvttss2si eax, xmm0
push eax
call esi
add esp, 0x10
cmp al, 1
jne 0x1004df5b
mov dword [0x1025c7c4], 0x1025d455
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movss xmm1, dword [0x10102f8c]
mov ecx, 0x1025d4c0
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1004df70
sub ecx, edx
je 0x1004dfac
movss xmm0, dword [ebp - 4]
addss xmm0, xmm1
push 0xd
push 0xc8
push 0x5f
cvttss2si eax, xmm0
push eax
call esi
add esp, 0x10
cmp al, 1
jne 0x1004dfac
mov dword [0x1025c7c4], 0x1025d524
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, 0x1025d58f
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1004dfb4
sub ecx, edx
je 0x1004dff4
movss xmm0, dword [ebp - 4]
addss xmm0, dword [0x10102f8c]
push 0xd
push 0xc8
push 0x6c
cvttss2si eax, xmm0
push eax
call esi
add esp, 0x10
cmp al, 1
jne 0x1004dff4
mov dword [0x1025c7c4], 0x1025d5f3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, 0x1025d65e
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1004e000
sub ecx, edx
je 0x1004e040
movss xmm0, dword [ebp - 4]
addss xmm0, dword [0x10102f8c]
push 0xd
push 0xc8
push 0x79
cvttss2si eax, xmm0
push eax
call esi
add esp, 0x10
cmp al, 1
jne 0x1004e040
mov dword [0x1025c7c4], 0x1025d6c2
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, 0x1025d72d
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1004e048
sub ecx, edx
je 0x1004e08b
movss xmm0, dword [ebp - 4]
addss xmm0, dword [0x10102f8c]
push 0xd
push 0xc8
push 0x86
cvttss2si eax, xmm0
push eax
call esi
add esp, 0x10
cmp al, 1
jne 0x1004e08b
mov dword [0x1025c7c4], 0x1025d791
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, 0x1025d7fc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1004e093
sub ecx, edx
je 0x1004e0d6
movss xmm0, dword [ebp - 4]
addss xmm0, dword [0x10102f8c]
push 0xd
push 0xc8
push 0x93
cvttss2si eax, xmm0
push eax
call esi
add esp, 0x10
cmp al, 1
jne 0x1004e0d6
mov dword [0x1025c7c4], 0x1025d860
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, 0x1025d8cb
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1004e0e0
sub ecx, edx
je 0x1004e123
movss xmm0, dword [ebp - 4]
addss xmm0, dword [0x10102f8c]
push 0xd
push 0xc8
push 0xa0
cvttss2si eax, xmm0
push eax
call esi
add esp, 0x10
cmp al, 1
jne 0x1004e123
mov dword [0x1025c7c4], 0x1025d92f
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, 0x1025d99a
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1004e130
sub ecx, edx
je 0x1004e173
movss xmm0, dword [ebp - 4]
addss xmm0, dword [0x10102f8c]
push 0xd
push 0xc8
push 0xad
cvttss2si eax, xmm0
push eax
call esi
add esp, 0x10
cmp al, 1
jne 0x1004e173
mov dword [0x1025c7c4], 0x1025d9fe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, 0x1025da69
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1004e180
sub ecx, edx
je 0x1004e1c3
movss xmm0, dword [ebp - 4]
addss xmm0, dword [0x10102f8c]
push 0xd
push 0xc8
push 0xba
cvttss2si eax, xmm0
push eax
call esi
add esp, 0x10
cmp al, 1
jne 0x1004e1c3
mov dword [0x1025c7c4], 0x1025dacd
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, 0x1025db38
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1004e1d0
sub ecx, edx
je 0x1004e213
movss xmm0, dword [ebp - 4]
addss xmm0, dword [0x10102f8c]
push 0xd
push 0xc8
push 0xc7
cvttss2si eax, xmm0
push eax
call esi
add esp, 0x10
cmp al, 1
jne 0x1004e213
mov dword [0x1025c7c4], 0x1025db9c
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, 0x1025dc07
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1004e220
sub ecx, edx
je 0x1004e263
movss xmm0, dword [ebp - 4]
addss xmm0, dword [0x10102f8c]
push 0xd
push 0xc8
push 0xd4
cvttss2si eax, xmm0
push eax
call esi
add esp, 0x10
cmp al, 1
jne 0x1004e263
mov dword [0x1025c7c4], 0x1025dc6b
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, 0x1025dcd6
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1004e270
sub ecx, edx
je 0x1004e2b3
movss xmm0, dword [ebp - 4]
addss xmm0, dword [0x10102f8c]
push 0xd
push 0xc8
push 0xe1
cvttss2si eax, xmm0
push eax
call esi
add esp, 0x10
cmp al, 1
jne 0x1004e2b3
mov dword [0x1025c7c4], 0x1025dd3a
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, 0x1025dda5
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1004e2c0
sub ecx, edx
je 0x1004e303
movss xmm0, dword [ebp - 4]
addss xmm0, dword [0x10102f8c]
push 0xd
push 0xc8
push 0xee
cvttss2si eax, xmm0
push eax
call esi
add esp, 0x10
cmp al, 1
jne 0x1004e303
mov dword [0x1025c7c4], 0x1025de09
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, 0x1025de74
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1004e310
sub ecx, edx
je 0x1004e353
movss xmm0, dword [ebp - 4]
addss xmm0, dword [0x10102f8c]
push 0xd
push 0xc8
push 0xfb
cvttss2si eax, xmm0
push eax
call esi
add esp, 0x10
cmp al, 1
jne 0x1004e353
mov dword [0x1025c7c4], 0x1025ded8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, 0x1025df43
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1004e360
sub ecx, edx
je 0x1004e3a3
movss xmm0, dword [ebp - 4]
addss xmm0, dword [0x10102f8c]
push 0xd
push 0xc8
push 0x109
cvttss2si eax, xmm0
push eax
call esi
add esp, 0x10
cmp al, 1
jne 0x1004e3a3
mov dword [0x1025c7c4], 0x1025dfa7
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [0x1025c7c4], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [0x102bcbdd], 0
je 0x1004e3c7
mov dword [0xe8cb3c], 0
mov byte [0x102bcbdd], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret