Function at 0x100a0170
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc4
mov eax, dword [0x100d9018]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [0x103e490c]
push 7
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x100a081b
push 8
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x100a081b
push 0xc
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x100a081b
push 0xe
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x100a081b
push 0xf
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x100a081b
push 0x41
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x100a081b
push 0x4e
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x100a081b
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
mov ecx, dword [0x1036768c]
add ecx, dword [0x103c22e8]
cmp eax, ecx
jbe 0x100a081a
push ebx
mov ebx, dword [sym.imp.USER32.dll_GetKeyState]
push 2
call ebx
mov ecx, 0x8000
test cx, ax
je 0x100a0313
push 0x11
call ebx
mov edx, 0x8000
test dx, ax
je 0x100a0313
push 0xb3
lea eax, [ebp - 0xb7]
push 0
push eax
call sub.MSVCR100.dll_memset
mov word [ebp - 0xb8], 0xb4c1
mov byte [ebp - 0xb6], 0x78
mov ecx, dword [0x7e452a]
push ecx
lea edx, [ebp - 0xab]
push 0x3c
push edx
call dword [sym.imp.MSVCR100.dll_strcpy_s]
mov eax, dword [0x8128ac4]
mov ebx, dword [sym.imp.MSVCR100.dll_memcpy_s]
push 0xa
push eax
lea ecx, [ebp - 0xb5]
push 0xa
push ecx
call ebx
push 0x6b
push esi
lea edx, [ebp - 0x6f]
push 0x6b
push edx
call ebx
movzx ecx, byte [ebp - 0xb7]
lea eax, [ebp - 0xb8]
push eax
call fcn.100a8170
add esp, 0x3c
call edi
pop ebx
pop edi
mov dword [0x103c22e8], eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100c06a6
mov esp, ebp
pop ebp
ret
push 2
call ebx
mov ecx, 0x8000
test cx, ax
je 0x100a0819
call edi
mov edx, dword [0x103c22fc]
add edx, 0x12c
cmp eax, edx
jb 0x100a0819
xor ebx, ebx
cmp word [esi], bx
jl 0x100a0819
xor eax, eax
mov dword [ebp - 0xbf], eax
mov byte [ebp - 0xb9], al
mov word [ebp - 0xbb], ax
mov eax, 1
mov dword [ebp - 0xc0], 0x17908c1
mov byte [ebp - 0xb9], 0xff
mov edi, 0x82
cmp dword [0x103a0310], eax
jne 0x100a065c
cmp dword [0xe61e58], 0x550
push 9
mov eax, 0x861110
jl 0x100a04f6
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
je 0x100a0466
push 0xd
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
je 0x100a0466
cmp dword [0x879340c], 0x2a2
jle 0x100a03ee
mov al, byte [esi + 0x44]
add al, al
add al, al
add al, al
add al, byte [esi + 0x43]
mov word [ebp - 0xbc], 0x300
add al, 0xc
jmp 0x100a0650
push 0x4d
mov ecx, 0x861110
call ecx
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
je 0x100a044c
cmp dword [0x879340c], 0x1da
jle 0x100a044c
mov al, byte [esi + 0x44]
add al, al
add al, al
add al, al
add al, byte [esi + 0x43]
mov word [ebp - 0xbc], 0x300
add al, 0x4c
mov byte [ebp - 0xb9], bl
mov byte [ebp - 0xba], al
cmp dword [0x8793410], edi
jle 0x100a065c
add al, 0x20
mov byte [ebp - 0xba], al
jmp 0x100a065c
mov al, byte [esi + 0x44]
add al, al
add al, al
add al, al
add al, byte [esi + 0x43]
mov word [ebp - 0xbc], 3
jmp 0x100a0650
fldz
push 0x10
mov ecx, 0x861110
fstp dword [ebp - 0xc4]
call ecx
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
je 0x100a0490
fld dword [0xd24e88]
fstp dword [ebp - 0xc4]
fild dword [0x879340c]
fld dword [ebp - 0xc4]
fsubr qword [0x100d27b8]
fcompp
fnstsw ax
test ah, 5
jp 0x100a04c5
mov al, byte [esi + 0x44]
add al, al
add al, al
add al, al
add al, byte [esi + 0x43]
mov word [ebp - 0xbc], bx
add al, 0xc
jmp 0x100a0650
push 0x4d
mov ecx, 0x861110
call ecx
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
je 0x100a0656
fild dword [0x879340c]
fld dword [ebp - 0xc4]
fsubr qword [0x100d26c8]
jmp 0x100a0622
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
je 0x100a05b1
push 0xd
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
je 0x100a05b1
cmp dword [0x879340c], 0x1cc
jle 0x100a054b
mov al, byte [esi + 0x44]
add al, al
add al, al
add al, al
add al, byte [esi + 0x43]
mov word [ebp - 0xbc], 0x300
add al, 0xc
jmp 0x100a0650
push 0x4d
mov ecx, 0x861110
call ecx
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
je 0x100a044c
cmp dword [0x879340c], 0x104
jle 0x100a044c
mov al, byte [esi + 0x44]
add al, al
add al, al
add al, al
add al, byte [esi + 0x43]
mov word [ebp - 0xbc], 0x300
add al, 0x4c
mov byte [ebp - 0xb9], bl
mov byte [ebp - 0xba], al
cmp dword [0x8793410], edi
jle 0x100a065c
add al, 0x20
mov byte [ebp - 0xba], al
jmp 0x100a065c
fldz
push 0x10
mov ecx, 0x861110
fstp dword [ebp - 0xc4]
call ecx
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
je 0x100a05db
fld dword [0xd24e88]
fstp dword [ebp - 0xc4]
fild dword [0x879340c]
fld dword [ebp - 0xc4]
fsubr qword [0x100d27b0]
fcompp
fnstsw ax
test ah, 5
jnp 0x100a04ab
push 0x4d
mov ecx, 0x861110
call ecx
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
je 0x100a0656
fild dword [0x879340c]
fld dword [ebp - 0xc4]
fsubr qword [0x100d27a8]
fcompp
fnstsw ax
test ah, 5
jp 0x100a0656
mov al, byte [esi + 0x44]
add al, al
add al, al
add al, al
add al, byte [esi + 0x43]
mov word [ebp - 0xbc], bx
add al, 0x4c
mov byte [ebp - 0xba], al
cmp dword [0x8793410], edi
jle 0x100a0656
add al, 0x20
mov byte [ebp - 0xba], al
mov byte [ebp - 0xb9], bl
cmp dword [0x103a0310], ebx
jne 0x100a07fa
push 9
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
je 0x100a073c
push 0xd
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
je 0x100a073c
cmp dword [0x879340c], 0x1cc
jle 0x100a06c4
mov al, byte [esi + 0x44]
add al, al
add al, al
add al, al
add al, byte [esi + 0x43]
mov word [ebp - 0xbc], 0x300
add al, 0xc
jmp 0x100a07ee
push 0x4d
mov ecx, 0x861110
call ecx
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
je 0x100a0722
cmp dword [0x879340c], 0x104
jle 0x100a0722
mov al, byte [esi + 0x44]
add al, al
add al, al
add al, al
add al, byte [esi + 0x43]
mov word [ebp - 0xbc], 0x300
add al, 0x4c
mov byte [ebp - 0xb9], bl
mov byte [ebp - 0xba], al
cmp dword [0x8793410], edi
jle 0x100a07fa
add al, 0x20
mov byte [ebp - 0xba], al
jmp 0x100a07fa
mov al, byte [esi + 0x44]
add al, al
add al, al
add al, al
add al, byte [esi + 0x43]
mov word [ebp - 0xbc], 3
jmp 0x100a07ee
fldz
push 0x10
mov ecx, 0x861110
fstp dword [ebp - 0xc4]
call ecx
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
je 0x100a0766
fld dword [0xd24e88]
fstp dword [ebp - 0xc4]
fild dword [0x879340c]
fld dword [ebp - 0xc4]
fsubr qword [0x100d27b0]
fcompp
fnstsw ax
test ah, 5
jp 0x100a0798
mov al, byte [esi + 0x44]
add al, al
add al, al
add al, al
add al, byte [esi + 0x43]
mov word [ebp - 0xbc], bx
add al, 0xc
jmp 0x100a07ee
push 0x4d
mov ecx, 0x861110
call ecx
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
je 0x100a07f4
fild dword [0x879340c]
fld dword [ebp - 0xc4]
fsubr qword [0x100d27a8]
fcompp
fnstsw ax
test ah, 5
jp 0x100a07f4
mov al, byte [esi + 0x44]
add al, al
add al, al
add al, al
add al, byte [esi + 0x43]
mov word [ebp - 0xbc], bx
add al, 0x4c
mov byte [ebp - 0xba], al
cmp dword [0x8793410], edi
jle 0x100a07f4
add al, 0x20
mov byte [ebp - 0xba], al
mov byte [ebp - 0xb9], bl
lea eax, [ebp - 0xc0]
push eax
mov ecx, 8
call fcn.100a8170
add esp, 4
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x103c22fc], eax
pop ebx
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.100c06a6
mov esp, ebp
pop ebp
ret