Function at 0x10048380
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [0x10184080]
xor eax, ebp
mov dword [ebp - 4], eax
cmp byte [0x10188263], 0
je 0x10048653
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, 4
cmp dword [ebp - 0x14], 0
je 0x10048653
push esi
lea eax, [ebp - 0x24]
mov dword [ebp - 0x20], 0
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x18]
push eax
lea edx, [ebp - 0x1c]
call fcn.10040d00
lea ecx, [ebp - 0x20]
call fcn.10029e60
lea eax, [ebp - 8]
push eax
push dword [ebp - 0x20]
lea edx, [ebp - 0xc]
lea ecx, [ebp - 0x10]
call fcn.1003b7a0
mov esi, dword [sym.imp.USER32.dll_GetKeyState]
add esp, 0x14
push 0xa0
call esi
test ax, ax
jns 0x1004842d
mov byte [0x10187fc9], 0
jmp 0x10048442
mov edx, 6
mov byte [0x10187fc9], 1
call fcn.100311f0
test al, al
je 0x10048452
push dword [ebp - 0x14]
movss xmm1, dword [ebp - 8]
call fcn.10040930
add esp, 4
push 0x57
call esi
test ax, ax
jns 0x10048464
mov byte [0x10187f37], 0
jmp 0x10048479
mov edx, 7
mov byte [0x10187f37], 1
call fcn.100311f0
test al, al
je 0x1004848c
push dword [ebp - 0x14]
movss xmm1, dword [0x1017c21c]
call fcn.1004a170
add esp, 4
push 0x41
call esi
test ax, ax
jns 0x1004849e
mov byte [0x10187f0b], 0
jmp 0x100484ca
push 0x25
mov byte [0x10187f0b], 1
call esi
test ax, ax
jns 0x100484b7
mov byte [0x10187ed3], 0
jmp 0x100484ca
cmp dword [ebp - 0x1c], 0xffffff81
mov byte [0x10187ed3], 1
jne 0x1004850b
cmp dword [ebp - 0x18], 0
jne 0x1004850b
movss xmm2, dword [0x1017c298]
sub esp, 8
xor edx, edx
xorps xmm3, xmm3
xor ecx, ecx
push 1
sub esp, 0x10
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
push dword [ebp - 0x14]
call fcn.100406e0
add esp, 0x20
push 0x44
call esi
test ax, ax
jns 0x1004851d
mov byte [0x10187f11], 0
jmp 0x10048549
push 0x27
mov byte [0x10187f11], 1
call esi
test ax, ax
jns 0x10048536
mov byte [0x10187ed7], 0
jmp 0x10048549
cmp dword [ebp - 0x1c], 0x7f
mov byte [0x10187ed7], 1
jne 0x1004858a
cmp dword [ebp - 0x18], 0
jne 0x1004858a
movss xmm2, dword [0x1017c1e4]
sub esp, 8
xor edx, edx
xorps xmm3, xmm3
xor ecx, ecx
push 1
sub esp, 0x10
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
push dword [ebp - 0x14]
call fcn.100406e0
add esp, 0x20
push 0x28
call esi
test ax, ax
jns 0x1004859c
mov byte [0x10187ed9], 0
jmp 0x100485af
cmp dword [ebp - 0x1c], 0
mov byte [0x10187ed9], 1
jne 0x100485ee
cmp dword [ebp - 0x18], 0x7f
jne 0x100485ee
sub esp, 8
mov edx, 1
xorps xmm3, xmm3
xorps xmm2, xmm2
xor ecx, ecx
push 1
sub esp, 0x10
mov dword [esp + 0xc], 0x42c80000
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0
mov dword [esp], 0x41200000
push dword [ebp - 0x14]
call fcn.100406e0
add esp, 0x20
push 0x26
call esi
pop esi
test ax, ax
jns 0x10048601
mov byte [0x10187ed5], 0
jmp 0x10048614
cmp dword [ebp - 0x1c], 0
mov byte [0x10187ed5], 1
jne 0x10048653
cmp dword [ebp - 0x18], 0xffffff81
jne 0x10048653
sub esp, 8
mov edx, 1
xorps xmm3, xmm3
xorps xmm2, xmm2
xor ecx, ecx
push 1
sub esp, 0x10
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0
mov dword [esp], 0xc1200000
push dword [ebp - 0x14]
call fcn.100406e0
add esp, 0x20
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1004ca58
mov esp, ebp
pop ebp
ret