Function at 0x100151c0
Capabilities:
Log keystrokes via polling

Disassembly:
sub esp, 0x18
push esi
mov esi, ecx
mov eax, dword [esi + 0xc]
test eax, eax
je 0x100151d6
xor eax, eax
pop esi
add esp, 0x18
ret 4
xor eax, eax
cmp word [esi + 0x198], ax
push ebx
mov ebx, dword [sym.imp.USER32.dll_GetKeyState]
setne al
push ebp
push edi
push 0x11
mov edi, eax
call ebx
xor ecx, ecx
test ax, ax
setl cl
push 0x10
mov ebp, ecx
call ebx
mov ecx, dword [esi + 0xe8]
mov ebx, dword [esp + 0x2c]
xor edx, edx
test ax, ax
mov eax, dword [esi + 0xec]
setl dl
test edi, edi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], edx
mov edx, ebp
mov dword [esp + 0x18], edx
je 0x1001526e
mov edx, dword [esi]
push ecx
push eax
mov ecx, esi
call dword [edx + 0x5c]
test eax, eax
je 0x1001526a
lea ecx, [esp + 0x10]
mov dword [esi + 0x150], 1
mov edx, dword [eax]
push ecx
mov ecx, eax
call dword [edx + 0x28]
test eax, eax
mov dword [esi + 0x150], 0
je 0x10015618
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
add eax, 0xffffffdf
cmp eax, 0x50
ja case.0x10015285.41
movzx eax, byte [eax + 0x100156b0]
jmp dword [eax*4 + 0x10015684]
test edi, edi
je 0x100152cd
test edx, edx
mov edx, dword [esi]
mov ecx, esi
je 0x100152b8
push 1
mov eax, dword [esi + 0xec]
push 1
push eax
call dword [edx + 0x108]
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
add esp, 0x18
ret 4
call dword [edx + 0x13c]
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
add esp, 0x18
ret 4
mov eax, dword [esi + 0x178]
test eax, eax
je case.0x10015285.41
test edx, edx
mov ecx, esi
jne 0x100153ad
call sym.Host71.dll_public:_void___thiscall_IGrid::PageGridUp_void_
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
add esp, 0x18
ret 4
test edi, edi
je 0x10015341
test edx, edx
mov eax, dword [esi]
je 0x1001532a
mov ecx, dword [esi + 0xe0]
mov edx, dword [esi + 0xec]
push 1
push ecx
push edx
mov ecx, esi
call dword [eax + 0x108]
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
add esp, 0x18
ret 4
mov ecx, esi
call dword [eax + 0x140]
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
add esp, 0x18
ret 4
mov eax, dword [esi + 0x178]
test eax, eax
je case.0x10015285.41
test edx, edx
mov ecx, esi
jne 0x1001544b
call sym.Host71.dll_public:_void___thiscall_IGrid::PageGridDown_void_
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
add esp, 0x18
ret 4
test edi, edi
je 0x1001539d
test edx, edx
mov edx, dword [esi]
mov ecx, esi
push 1
jne 0x1001529a
mov eax, dword [esi + 0xe8]
push eax
push 1
call dword [edx + 0x108]
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
add esp, 0x18
ret 4
mov eax, dword [esi + 0x178]
test eax, eax
je 0x100153c1
test edx, edx
je 0x100153c1
mov ecx, esi
call sym.Host71.dll_public:_void___thiscall_IGrid::GotoGridTop_void_
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
add esp, 0x18
ret 4
mov eax, dword [esi + 0x174]
test eax, eax
je case.0x10015285.41
mov ecx, esi
call sym.Host71.dll_public:_void___thiscall_IGrid::GotoGridLeft_void_
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
add esp, 0x18
ret 4
test edi, edi
je 0x1001543b
test edx, edx
mov edx, dword [esi]
push 1
je 0x10015416
mov eax, dword [esi + 0xe0]
mov ecx, dword [esi + 0xec]
push eax
push ecx
mov ecx, esi
call dword [edx + 0x108]
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
add esp, 0x18
ret 4
mov eax, dword [esi + 0xe8]
mov ecx, dword [esi + 0xe4]
push eax
push ecx
mov ecx, esi
call dword [edx + 0x108]
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
add esp, 0x18
ret 4
mov eax, dword [esi + 0x178]
test eax, eax
je 0x1001545f
test edx, edx
je 0x1001545f
mov ecx, esi
call sym.Host71.dll_public:_void___thiscall_IGrid::GotoGridBottom_void_
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
add esp, 0x18
ret 4
mov eax, dword [esi + 0x174]
test eax, eax
je case.0x10015285.41
mov ecx, esi
call sym.Host71.dll_public:_void___thiscall_IGrid::GotoGridRight_void_
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
add esp, 0x18
ret 4
test edi, edi
je 0x100154a4
test edx, edx
jne 0x100154a4
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x12c]
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
add esp, 0x18
ret 4
mov eax, dword [esi + 0x178]
test eax, eax
je case.0x10015285.41
push 1
mov ecx, esi
call sym.Host71.dll_public:_void___thiscall_IGrid::ScrollGridUp_unsigned_long_int_
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
add esp, 0x18
ret 4
test edi, edi
je 0x100154eb
test edx, edx
jne 0x100154eb
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x130]
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
add esp, 0x18
ret 4
mov eax, dword [esi + 0x178]
test eax, eax
je case.0x10015285.41
push 1
mov ecx, esi
call sym.Host71.dll_public:_void___thiscall_IGrid::ScrollGridDown_unsigned_long_int_
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
add esp, 0x18
ret 4
test edi, edi
je 0x10015549
test edx, edx
mov ecx, esi
je 0x10015532
mov edx, dword [esi]
call dword [edx + 0x144]
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
add esp, 0x18
ret 4
mov eax, dword [esi]
call dword [eax + 0x134]
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
add esp, 0x18
ret 4
mov eax, dword [esi + 0x174]
test eax, eax
je case.0x10015285.41
test edx, edx
mov ecx, esi
je 0x10015571
call sym.Host71.dll_public:_void___thiscall_IGrid::PageGridLeft_void_
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
add esp, 0x18
ret 4
call sym.Host71.dll_public:_void___thiscall_IGrid::ScrollGridLeft_void_
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
add esp, 0x18
ret 4
test edi, edi
je 0x100155bd
test edx, edx
mov ecx, esi
je 0x100155a6
mov edx, dword [esi]
call dword [edx + 0x148]
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
add esp, 0x18
ret 4
mov eax, dword [esi]
call dword [eax + 0x138]
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
add esp, 0x18
ret 4
mov eax, dword [esi + 0x174]
test eax, eax
je case.0x10015285.41
test edx, edx
mov ecx, esi
je 0x100155e5
call sym.Host71.dll_public:_void___thiscall_IGrid::PageGridRight_void_
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
add esp, 0x18
ret 4
call sym.Host71.dll_public:_void___thiscall_IGrid::ScrollGridRight_void_
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
add esp, 0x18
ret 4
mov edx, dword [esi]
push 0
mov ecx, esi
call dword [edx + 0x110]
test eax, eax
jne case.0x10015285.41
push eax
mov eax, dword [esi]
mov ecx, esi
call dword [eax + pe_nt_image_headers32]
test eax, eax
jne case.0x10015285.41
pop edi
pop ebp
pop ebx
xor eax, eax
pop esi
add esp, 0x18
ret 4
mov edx, dword [esi]
push 0
mov ecx, esi
call dword [edx + 0x110]
test eax, eax
jne 0x10015638
push 0x2e
jmp 0x1001560a
mov eax, dword [esi + 0x14]
test eax, eax
jne 0x1001564a
mov ecx, dword [esi + 0x18]
test ecx, ecx
je case.0x10015285.41
test eax, eax
je 0x1001565d
push 0
push 0xe120
push 0x111
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [esi + 0x18]
test eax, eax
je case.0x10015285.41
push 0
push 0xe120
push 0x111
push esi
call eax
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
add esp, 0x18
ret 4