Function at 0x1103cea9
Capabilities:
Log keystrokes via polling

Disassembly:
push 0x40
mov eax, 0x1104672d
call fcn.11043260
mov eax, dword [ebp + 0x14]
mov edi, ecx
lea esi, [edi - 0x5f0]
mov dword [ebp - 0x3c], eax
mov eax, dword [esi]
mov ecx, esi
mov dword [ebp - 0x34], edi
call dword [eax + 0xd0]
test al, al
je 0x1103cf8c
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xdc]
test al, al
je 0x1103cf8c
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xe4]
mov ebx, dword [ebp + 8]
test al, al
jne 0x1103cf0a
lea eax, [ebx - 0x200]
cmp eax, 0xd
jbe 0x1103cf8c
cmp ebx, 0x100
jne 0x1103d11d
mov eax, dword [ebp + 0xc]
lea ecx, [eax - 0x70]
cmp ecx, 0x17
ja 0x1103cf26
xor eax, eax
inc eax
jmp 0x1103cf8e
cmp eax, 0x43
je 0x1103d0d4
cmp eax, 0x56
je 0x1103cf46
cmp eax, 0x63
je 0x1103d0d4
cmp eax, 0x76
jne 0x1103cfd5
lea ebx, [edi + 0xbc]
mov ecx, ebx
call sym.DuiLib_ext.dll_public:_bool___thiscall_DuiLib::CDuiString::IsEmpty_void_const
test al, al
jne 0x1103cfd2
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1c]
mov ecx, eax
call sym.DuiLib_ext.dll_public:_struct_HWND______thiscall_DuiLib::CPaintManagerUI::GetPaintWindow_void_const
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.1103ce10
pop ecx
pop ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x34]
xor edi, edi
mov dword [ebp - 4], edi
cmp eax, dword [ecx + 0x18]
jbe 0x1103cf96
push edi
push 1
lea ecx, [ebp - 0x2c]
call fcn.11031005
xor eax, eax
call fcn.110432e3
ret 0x10
test eax, eax
je 0x1103cfbf
push edi
lea ecx, [ebp - 0x2c]
call fcn.11030fe0
movzx eax, word [eax]
push 0
push eax
mov ecx, ebx
call sym.DuiLib_ext.dll_public:_int___thiscall_DuiLib::CDuiString::Find_wchar_t__int_const
cmp eax, 0xffffffff
je 0x1103d0cd
inc edi
cmp edi, dword [ebp - 0x1c]
jb 0x1103cf9a
or dword [ebp - 4], 0xffffffff
push 0
push 1
lea ecx, [ebp - 0x2c]
call fcn.11031005
mov edi, dword [ebp - 0x34]
mov ebx, dword [ebp + 8]
mov byte [ebp - 0x2d], 1
cmp ebx, 0x200
jb 0x1103cfe9
cmp ebx, 0x20d
jbe 0x1103cff2
cmp ebx, 0x20
jne 0x1103d168
mov ecx, dword [edi + 4]
call fcn.11039da3
test eax, eax
jne 0x1103d039
cmp ebx, 0x201
jb 0x1103d039
cmp ebx, 0x205
ja 0x1103d039
mov ecx, dword [ebp + 0x10]
movsx eax, word [ebp + 0x10]
shr ecx, 0x10
movsx ecx, cx
push ecx
push eax
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1c]
mov ecx, eax
call sym.DuiLib_ext.dll_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_struct_tagPOINT_const
lea ecx, [edi - 0x5f0]
cmp eax, ecx
jne 0x1103cf8c
mov ecx, dword [edi + 4]
call fcn.11039da3
neg eax
sbb eax, eax
and eax, 3
jne 0x1103d0b6
lea eax, [ebp - 0x20]
push eax
call fcn.11039ff3
movsx eax, word [ebp + 0x10]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp + 0x10]
shr eax, 0x10
cwde
mov dword [ebp - 0x48], eax
cmp ebx, 0x20a
jne 0x1103d085
lea eax, [ebp - 0x4c]
push eax
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1c]
mov ecx, eax
call sym.DuiLib_ext.dll_public:_struct_HWND______thiscall_DuiLib::CPaintManagerUI::GetPaintWindow_void_const
push eax
call dword [sym.imp.USER32.dll_ScreenToClient]
push dword [ebp - 0x48]
lea eax, [ebp - 0x20]
push dword [ebp - 0x4c]
push eax
call dword [sym.imp.USER32.dll_PtInRect]
test eax, eax
je 0x1103cf8c
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1c]
mov ecx, eax
call sym.DuiLib_ext.dll_public:_bool___thiscall_DuiLib::CPaintManagerUI::IsCaptured_void_
test al, al
jne 0x1103cf8c
push 3
pop eax
cmp eax, 3
jne 0x1103cf8c
cmp ebx, 0x20
jne 0x1103d1e5
jmp 0x1103d1e1
push 0
jmp 0x1103cf82
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xf4]
test al, al
je 0x1103cfd5
cmp byte [edi + 0xb8], 0
jne 0x1103cfd5
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
mov ecx, 0x8000
test cx, ax
je 0x1103cfd5
mov eax, dword [edi + 0x20]
not eax
test al, 0x20
je 0x1103cfd5
mov ecx, esi
call sym.DuiLib_ext.dll_public:_bool___thiscall_DuiLib::CRichEditUI::CopyEx_void_
cmp ebx, 0x20a
jne 0x1103d134
test byte [ebp + 0xc], 8
jne 0x1103cfd5
jmp 0x1103cf8c
cmp ebx, 0x102
jne 0x1103cfd5
lea ecx, [edi + 0xbc]
call sym.DuiLib_ext.dll_public:_int___thiscall_DuiLib::CDuiString::GetLength_void_const
test eax, eax
jle 0x1103cfd5
push 0
push dword [ebp + 0xc]
lea ecx, [edi + 0xbc]
call sym.DuiLib_ext.dll_public:_int___thiscall_DuiLib::CDuiString::Find_wchar_t__int_const
cmp eax, 0xffffffff
jmp 0x1103d129
lea eax, [ebx - 0x100]
cmp eax, 8
ja 0x1103d186
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xf4]
test al, al
jne 0x1103d1e5
jmp 0x1103cf8c
cmp ebx, 0x7b
jne 0x1103d1d8
movsx eax, word [ebp + 0x10]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp + 0x10]
shr eax, 0x10
cwde
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x44]
push eax
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1c]
mov ecx, eax
call sym.DuiLib_ext.dll_public:_struct_HWND______thiscall_DuiLib::CPaintManagerUI::GetPaintWindow_void_const
push eax
call dword [sym.imp.USER32.dll_ScreenToClient]
push dword [ebp - 0x40]
mov eax, dword [esi]
push dword [ebp - 0x44]
mov ecx, esi
call dword [eax + 0x1c]
mov ecx, eax
call sym.DuiLib_ext.dll_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_struct_tagPOINT_const
add edi, 0xfffffa10
cmp eax, edi
je 0x1103d1e5
jmp 0x1103cf8c
cmp ebx, 0x53
jne 0x1103cf8c
mov byte [ebp - 0x2d], 0
mov eax, dword [ebp - 0x34]
xor edi, edi
cmp byte [eax + 0xb0], 0
mov dword [ebp - 0x38], edi
je 0x1103d20e
cmp ebx, 0x201
jne 0x1103d214
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xf4]
test al, al
je 0x1103d243
jmp 0x1103d214
cmp dword [ebp + 0xc], 9
je 0x1103d22b
mov eax, dword [esi]
lea ecx, [ebp - 0x38]
push ecx
push dword [ebp + 0x10]
mov ecx, esi
push dword [ebp + 0xc]
push ebx
call dword [eax + 0x1c0]
mov edi, eax
cmp ebx, 0x201
je 0x1103d243
cmp ebx, 0x203
je 0x1103d243
cmp ebx, 0x204
jne 0x1103d24d
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xf8]
test edi, edi
je 0x1103d28b
cmp ebx, 0x100
jb 0x1103d261
cmp ebx, 0x108
jbe 0x1103d28b
cmp ebx, 0x102
je 0x1103d28b
cmp ebx, 0x286
je 0x1103d28b
add ebx, 0xfffffe00
cmp ebx, 0xd
ja 0x1103d293
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax + 4]
call fcn.11039da3
test eax, eax
je 0x1103d293
mov eax, dword [ebp - 0x3c]
mov cl, byte [ebp - 0x2d]
mov byte [eax], cl
mov eax, dword [ebp - 0x38]
jmp 0x1103cf8e