Function at 0x100395a0
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov eax, dword [0x10184080]
xor eax, ebp
mov dword [ebp - 4], eax
cmp byte [0x101880c8], 0
push dword [0x10188328]
je 0x100398ee
call fcn.1003b650
add esp, 4
test al, al
jne 0x10039618
mov edx, 0x10188328
mov byte [0x101880cb], al
mov byte [0x10187e7b], al
call fcn.1003b510
push dword [0x10188328]
mov cl, 1
call fcn.10029db0
push dword [0x10188328]
call fcn.1003b990
add esp, 8
mov edx, 1
mov ecx, edx
call fcn.1003c4f0
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1004ca58
mov esp, ebp
pop ebp
ret
push dword [0x10188328]
movss xmm1, dword [0x10185e98]
call fcn.1003b8f0
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0
call fcn.10029e60
lea eax, [ebp - 8]
push eax
push dword [ebp - 0x1c]
lea edx, [ebp - 0xc]
lea ecx, [ebp - 0x10]
call fcn.1003b7a0
xor dl, dl
xor ecx, ecx
call fcn.1003c590
xor dl, dl
mov ecx, 7
call fcn.1003c590
xor dl, dl
mov ecx, 9
call fcn.1003c590
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
call fcn.100261e0
mov ecx, eax
call fcn.1003fbf0
lea edx, [ebp - 0x18]
mov ecx, eax
call fcn.1003fc90
push dword [ebp - 0x18]
lea ecx, [ebp - 0x14]
call fcn.100289b0
add esp, 0x10
cmp dword [ebp - 0x14], 0
mov dword [ebp - 0x14], 0
je 0x1003973e
call fcn.100261e0
mov ecx, eax
call fcn.1003fbf0
lea edx, [ebp - 0x14]
mov ecx, eax
call fcn.1003fc90
movss xmm3, dword [0x1017c090]
mov edx, 0x101880a0
movss xmm2, dword [0x1017c004]
push ecx
mov dword [esp], 0
mov ecx, 0x4b5
push dword [ebp - 0x14]
call fcn.1003b1d0
push dword [0x10188328]
movss xmm3, dword [0x101880a8]
movss xmm2, dword [0x101880a4]
movss xmm1, dword [0x101880a0]
call fcn.10029f00
push dword [0x10188328]
movss xmm3, dword [ebp - 8]
movss xmm2, dword [ebp - 0xc]
movss xmm1, dword [ebp - 0x10]
call fcn.10029fb0
add esp, 0x10
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1004ca58
mov esp, ebp
pop ebp
ret
call fcn.100261e0
mov ecx, eax
call fcn.1003fbf0
lea edx, [ebp - 0x14]
mov ecx, eax
call fcn.1003fc90
movss xmm3, dword [0x1017c024]
mov edx, 0x101880a0
movss xmm2, dword [0x1017c004]
push ecx
mov dword [esp], 0
mov ecx, 0x4b5
push dword [ebp - 0x14]
call fcn.1003b1d0
add esp, 8
push 2
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
js 0x100397e0
mov edx, 5
call fcn.100311f0
test al, al
jne 0x100397e0
cmp byte [0x10184b33], al
je 0x100397e0
movss xmm0, dword [ebp - 8]
movss dword [ebp - 0x18], xmm0
mov dword [ebp - 0x14], 0
call fcn.100261e0
mov ecx, eax
call fcn.1003fbf0
lea edx, [ebp - 0x14]
mov ecx, eax
call fcn.1003fc90
push dword [ebp - 0x14]
movss xmm1, dword [ebp - 0x18]
call fcn.10027ca0
add esp, 4
jmp 0x100398a0
mov dword [ebp - 0x14], 0
call fcn.100261e0
mov ecx, eax
call fcn.1003fbf0
lea edx, [ebp - 0x14]
mov ecx, eax
call fcn.1003fc90
push dword [ebp - 0x14]
lea ecx, [ebp - 0x18]
call fcn.100271a0
mov eax, dword [ebp - 0x18]
add esp, 4
cmp eax, 0x10
je 0x1003989b
cmp eax, 0x11
je 0x1003989b
cmp byte [0x1018823e], 0
je 0x1003982e
cmp byte [0x1018822f], 0
je 0x100398a0
xor ecx, ecx
call fcn.10033150
sub esp, 0xc
call fcn.10032fd0
call fcn.10033090
push 0xff
push 0xff
or dl, 0xff
or cl, 0xff
call fcn.10032f00
movss xmm1, dword [0x1017c0a0]
add esp, 0x14
movss xmm0, dword [0x1017c040]
call fcn.10032dc0
xor cl, cl
call fcn.10032e60
mov cl, 1
call fcn.100331f0
movss xmm0, dword [0x1017c100]
mov edx, 0x10170a34
movaps xmm1, xmm0
call fcn.10032d10
xor cl, cl
call fcn.100331f0
jmp 0x100398a0
call fcn.1003bc20
push dword [0x10188328]
movss xmm3, dword [0x101880a8]
movss xmm2, dword [0x101880a4]
movss xmm1, dword [0x101880a0]
call fcn.10029f00
push dword [0x10188328]
movss xmm3, dword [ebp - 8]
movss xmm2, dword [ebp - 0xc]
movss xmm1, dword [ebp - 0x10]
call fcn.10029fb0
add esp, 8
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1004ca58
mov esp, ebp
pop ebp
ret
call fcn.1003b650
add esp, 4
test al, al
je 0x10039932
push dword [0x10188328]
call fcn.1003b5b0
add esp, 4
xor edx, edx
xor ecx, ecx
call fcn.1003c4f0
mov dl, 1
xor ecx, ecx
call fcn.1003c590
mov dl, 1
mov ecx, 7
call fcn.1003c590
mov dl, 1
mov ecx, 9
call fcn.1003c590
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1004ca58
mov esp, ebp
pop ebp
ret