Function at 0x45fcf0
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push ecx
push ebx
push esi
mov esi, ecx
push edi
mov eax, dword [esi]
mov eax, dword [eax + 0x110]
cmp eax, method.ui::Control.virtual_272
jne 0x4600ad
mov al, byte [esi + 0x300]
mov ebx, dword [ebp + 8]
test al, al
jne 0x45fd47
mov eax, dword [ebx]
cmp eax, 8
jle 0x45fd47
cmp eax, 0x14
jge 0x45fd47
mov ecx, dword [esi + 0xe90]
push ebx
test ecx, ecx
jne 0x45fe96
mov ecx, esi
call fcn.0047e2f0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [ebx]
cmp eax, 0x11
jne 0x45fd8a
mov eax, dword [esi]
mov eax, dword [eax + 0x128]
cmp eax, method.ui::Control.virtual_296
jne 0x4600b4
mov al, byte [esi + 0x2f8]
not al
and al, 1
test al, al
je 0x4600a4
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x18]
mov ecx, esi
call fcn.0045f910
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp eax, 3
jne 0x45fdb7
mov eax, dword [esi]
mov eax, dword [eax + 0x128]
cmp eax, method.ui::Control.virtual_296
jne 0x4600bd
mov al, byte [esi + 0x2f8]
not al
and al, 1
test al, al
je 0x45fdb7
cmp word [ebx + 0x18], 0xd
je 0x45fd73
mov eax, dword [ebx]
cmp eax, 0xd
je 0x45fea4
cmp eax, 0xf
je 0x45fea4
cmp eax, 0x13
jne 0x45fe06
mov eax, dword [esi]
mov eax, dword [eax + 0x128]
cmp eax, method.ui::Control.virtual_296
jne 0x4600c6
mov al, byte [esi + 0x2f8]
not al
and al, 1
test al, al
je 0x45fe06
mov ecx, dword [esi + 0xe90]
push ebx
mov eax, dword [ecx]
call dword [eax + 0x10]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [ebx]
cmp eax, 0xe
je 0x45fe4a
cmp eax, 9
je 0x4600a4
cmp eax, 0xb
jne 0x45fe5b
mov eax, dword [esi]
mov eax, dword [eax + 0x128]
cmp eax, method.ui::Control.virtual_296
jne 0x4600cf
mov al, byte [esi + 0x2f8]
not al
and al, 1
test al, al
je 0x45fe4a
or dword [esi + 0xe8c], 8
mov ecx, esi
call fcn.0045f910
push ebx
mov ecx, esi
call fcn.00449b40
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp eax, 0xa
jne 0x45fe8b
mov eax, dword [esi + 0xe8c]
test al, 8
je 0x45fe7a
and eax, 0xfffffff7
mov ecx, esi
mov dword [esi + 0xe8c], eax
call fcn.0045f910
push ebx
mov ecx, esi
call fcn.00449b40
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [esi + 0xe90]
push ebx
test ecx, ecx
je 0x45fe4b
mov eax, dword [ecx]
call dword [eax + 0x10]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi]
mov eax, dword [eax + 0x128]
cmp eax, method.ui::Control.virtual_296
jne 0x4600d8
mov al, byte [esi + 0x2f8]
not al
and al, 1
test al, al
je 0x460082
mov eax, dword [esi]
mov eax, dword [eax + 0x110]
cmp eax, method.ui::Control.virtual_272
jne 0x4600e1
mov al, byte [esi + 0x300]
test al, al
je 0x460082
mov ecx, dword [esi + 0xe90]
test ecx, ecx
je 0x46007b
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
cmp eax, method.ui::List.virtual_52
jne 0x4600ea
mov al, byte [ecx + 5]
test al, al
je 0x45ff35
mov eax, dword [esi]
mov eax, dword [eax + 0x130]
cmp eax, method.ui::ListContainerElement.1.virtual_304
jne 0x4600f1
mov al, byte [esi + 0xe89]
test al, al
jne 0x46007b
jmp 0x460068
mov edi, dword [sym.imp.USER32.dll_GetKeyState]
push 0x11
call edi
mov ecx, 0x8000
test cx, ax
je 0x45ff8c
mov eax, dword [esi]
mov eax, dword [eax + 0x130]
cmp eax, method.ui::ListContainerElement.1.virtual_304
jne 0x4600fa
mov al, byte [esi + 0xe89]
mov ecx, dword [esi + 0xe90]
test al, al
mov eax, dword [ecx]
je 0x45ff7c
push dword [esi + 0xe74]
call dword [eax + 0xc]
jmp 0x46007b
push 0
push dword [esi + 0xe74]
call dword [eax + 0x2c]
jmp 0x46007b
push 0x10
call edi
mov ecx, 0x8000
test cx, ax
je 0x460009
mov ecx, dword [esi + 0xe90]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
cmp eax, fcn.00459080
jne 0x460103
mov edi, dword [ecx + 0x18]
cmp edi, 0xffffffff
je 0x46007b
mov ecx, dword [esi + 0xe90]
mov edx, dword [ecx]
call dword [edx + 0x44]
mov eax, dword [esi + 0xe74]
cmp edi, eax
jle 0x45fff0
mov ebx, eax
mov ecx, dword [esi + 0xe90]
push 0
push ebx
mov eax, dword [ecx]
call dword [eax + 0x2c]
inc ebx
cmp ebx, edi
jle 0x45ffd3
mov ebx, dword [ebp + 8]
jmp 0x46007b
mov ecx, dword [esi + 0xe90]
push 0
push edi
mov eax, dword [ecx]
call dword [eax + 0x2c]
inc edi
cmp edi, dword [esi + 0xe74]
jle 0x45fff0
jmp 0x46007b
mov eax, dword [esi]
mov eax, dword [eax + 0x130]
cmp eax, method.ui::ListContainerElement.1.virtual_304
jne 0x46010c
mov al, byte [esi + 0xe89]
test al, al
je 0x460049
cmp dword [ebx], 0xd
jne 0x46007b
mov ecx, dword [esi + 0xe90]
mov eax, dword [ecx]
mov eax, dword [eax + 0x48]
cmp eax, method.Concurrency::details::InternalContextBase.virtual_0
jne 0x460115
mov eax, dword [ecx + 0xc]
cmp eax, 1
je 0x46007b
mov ecx, dword [esi + 0xe90]
mov edx, dword [esi + 0xe74]
mov eax, dword [ecx]
mov eax, dword [eax + 0x3c]
cmp eax, method.ui::List.virtual_60
jne 0x46011c
mov dword [ecx + 0x18], edx
mov ecx, dword [esi + 0xe90]
push 0
push dword [esi + 0xe74]
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, esi
call fcn.0045f910
mov ecx, dword [esi + 0xe90]
push ebx
mov eax, dword [ecx]
call dword [eax + 0x10]
push ecx
mov ecx, dword [esi + 0x188]
push 0
push 0
push str.itemclick
push esi
call fcn.0043b0b0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
call eax
jmp 0x45fd15
mov ecx, esi
call eax
jmp 0x45fd6b
mov ecx, esi
call eax
jmp 0x45fdac
mov ecx, esi
call eax
jmp 0x45fded
mov ecx, esi
call eax
jmp 0x45fe38
mov ecx, esi
call eax
jmp 0x45fec1
mov ecx, esi
call eax
jmp 0x45fee2
call eax
jmp 0x45ff0b
mov ecx, esi
call eax
jmp 0x45ff28
mov ecx, esi
call eax
jmp 0x45ff62
call eax
mov edi, eax
jmp 0x45ffb3
mov ecx, esi
call eax
jmp 0x460022
call eax
jmp 0x460044
push edx
call eax
jmp 0x460068