Function at 0x42cee8
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
push ebx
mov ebx, ecx
push esi
lea esi, [ebx - 0x310]
mov eax, dword [esi]
push edi
mov ecx, esi
call dword [eax + 0xc8]
test al, al
je 0x42cf3f
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xd4]
test al, al
je 0x42cf3f
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xdc]
mov edi, dword [ebp + 8]
test al, al
jne 0x42cf31
lea eax, [edi - 0x200]
cmp eax, 0xd
jbe 0x42cf3f
cmp edi, 0x20a
jne 0x42cf48
test byte [ebp + 0xc], 8
jne 0x42cfa8
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret 0x10
cmp edi, 0x10f
jne 0x42cfa8
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1c]
mov ecx, eax
call sym.TXKmplayer.exe_public:_char_const____thiscall_DuiLib::CDuiString::operator_char_const__void_const
push eax
call sub.IMM32.dll_ImmGetContext
mov edi, eax
test edi, edi
je 0x42cf3f
lea eax, [ebp - 0xc]
push eax
call dword [sym.imp.USER32.dll_GetCaretPos]
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x28]
push eax
push edi
mov dword [ebp - 0x28], 2
call sub.IMM32.dll_ImmSetCompositionWindow
mov eax, dword [esi]
push edi
mov ecx, esi
call dword [eax + 0x1c]
mov ecx, eax
call sym.TXKmplayer.exe_public:_char_const____thiscall_DuiLib::CDuiString::operator_char_const__void_const
push eax
call sub.IMM32.dll_ImmReleaseContext
jmp 0x42cf3f
mov byte [ebp + 0xb], 1
cmp edi, 0x200
jb 0x42cfbc
cmp edi, 0x20d
jbe 0x42cfc5
cmp edi, 0x20
jne 0x42d0c6
mov ecx, dword [ebx + 4]
call fcn.0042ad3e
test eax, eax
jne 0x42d00c
cmp edi, 0x201
jb 0x42d00c
cmp edi, 0x205
ja 0x42d00c
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.TXKmplayer.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_struct_tagPOINT_const
lea ecx, [ebx - 0x310]
cmp eax, ecx
jne 0x42cf3f
mov ecx, dword [ebx + 4]
call fcn.0042ad3e
neg eax
sbb eax, eax
and eax, 3
jne 0x42d089
lea eax, [ebp - 0x1c]
push eax
call fcn.0042ae89
movsx eax, word [ebp + 0x10]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 0x10]
shr eax, 0x10
cwde
mov dword [ebp - 8], eax
cmp edi, 0x20a
jne 0x42d058
lea eax, [ebp - 0xc]
push eax
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1c]
mov ecx, eax
call sym.TXKmplayer.exe_public:_char_const____thiscall_DuiLib::CDuiString::operator_char_const__void_const
push eax
call dword [sym.imp.USER32.dll_ScreenToClient]
push dword [ebp - 8]
lea eax, [ebp - 0x1c]
push dword [ebp - 0xc]
push eax
call dword [sym.imp.USER32.dll_PtInRect]
test eax, eax
je 0x42cf3f
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1c]
mov ecx, eax
call sym.TXKmplayer.exe_public:_bool___thiscall_DuiLib::CPaintManagerUI::IsCaptured_void_
test al, al
jne 0x42cf3f
push 3
pop eax
cmp eax, 3
jne 0x42cf3f
cmp edi, 0x20
je 0x42d141
cmp edi, 0x201
je 0x42d0b7
cmp edi, 0x203
je 0x42d0b7
cmp edi, 0x204
jne 0x42d159
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xf0]
jmp 0x42d159
cmp edi, 0x100
jb 0x42d0d6
cmp edi, 0x108
jbe 0x42d147
cmp edi, 0x102
je 0x42d147
cmp edi, 0x286
je 0x42d147
cmp edi, 0x7b
jne 0x42d138
movsx eax, word [ebp + 0x10]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 0x10]
shr eax, 0x10
cwde
mov dword [ebp - 8], eax
lea eax, [ebp - 0xc]
push eax
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1c]
mov ecx, eax
call sym.TXKmplayer.exe_public:_char_const____thiscall_DuiLib::CDuiString::operator_char_const__void_const
push eax
call dword [sym.imp.USER32.dll_ScreenToClient]
push dword [ebp - 8]
mov eax, dword [esi]
push dword [ebp - 0xc]
mov ecx, esi
call dword [eax + 0x1c]
mov ecx, eax
call sym.TXKmplayer.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_struct_tagPOINT_const
lea ecx, [ebx - 0x310]
cmp eax, ecx
je 0x42d1b2
jmp 0x42cf3f
cmp edi, 0x53
jne 0x42cf3f
mov byte [ebp + 0xb], 0
jmp 0x42d1b2
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xec]
test al, al
je 0x42cf3f
cmp edi, 0x102
jne 0x42d1b2
mov ecx, esi
call sym.TXKmplayer.exe_public:_bool___thiscall_DuiLib::CRichEditUI::IsAccumulateDBCMode_void_
test al, al
je 0x42d1b2
push 0x15
call dword [sym.imp.USER32.dll_GetKeyState]
test al, 1
je 0x42d183
push 0
mov ecx, esi
call sym.TXKmplayer.exe_public:_void___thiscall_DuiLib::CRichEditUI::SetAccumulateDBCMode_bool_
jmp 0x42d1ae
mov eax, dword [ebx + 0x24]
test eax, eax
jne 0x42d1a6
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_IsDBCSLeadByte]
test eax, eax
je 0x42d1b2
movzx eax, word [ebp + 0xc]
shl eax, 8
mov dword [ebx + 0x24], eax
jmp 0x42cf3f
or dword [ebp + 0xc], eax
mov edi, 0x286
and dword [ebx + 0x24], 0
mov eax, dword [esi]
and dword [ebp - 4], 0
lea ecx, [ebp - 4]
push ecx
push dword [ebp + 0x10]
mov ecx, esi
push dword [ebp + 0xc]
push edi
call dword [eax + 0x1b0]
test eax, eax
je 0x42d206
cmp edi, 0x100
jb 0x42d1df
cmp edi, 0x108
jbe 0x42d206
cmp edi, 0x102
je 0x42d206
cmp edi, 0x286
je 0x42d206
add edi, 0xfffffe00
cmp edi, 0xd
ja 0x42d20e
mov ecx, dword [ebx + 4]
call fcn.0042ad3e
test eax, eax
je 0x42d20e
mov eax, dword [ebp + 0x14]
mov cl, byte [ebp + 0xb]
mov byte [eax], cl
mov eax, dword [ebp - 4]
jmp 0x42cf41