Function at 0x419400
Capabilities:
Log keystrokes
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x474f14
mov eax, dword fs:[0]
push eax
sub esp, 0x15c
mov eax, dword [0x4b34c4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, dword [ebp + 0x14]
mov edi, dword [ebp + 8]
mov esi, ecx
cmp dword [esi + 0x570], 0
mov dword [ebp - 0x168], ebx
je 0x41960a
lea ecx, [esi + 8]
call sym.PB20Configurator.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::GetFocus_void_const
cmp eax, dword [esi + 0x570]
jne 0x41960a
cmp edi, 0x101
je 0x419471
cmp edi, 0x105
jne 0x41960a
push 0xffffffffffffffff
push 0x485602
lea ecx, [ebp - 0x54]
call sym.PB20Configurator.exe_public:_void___thiscall_DuiLib::CDuiString::constructor_char_const___int_
mov dword [ebp - 4], 0
mov edi, dword [sym.imp.USER32.dll_GetKeyState]
push 0x10
call edi
mov ecx, 0x8000
test cx, ax
je 0x4194a2
push str.Shift
jmp 0x4194ed
push 0x11
call edi
mov edx, 0x8000
test dx, ax
je 0x4194b7
push str.Ctrl
jmp 0x4194ed
push 0x12
call edi
mov ecx, 0x8000
test cx, ax
je 0x4194cc
push 0x491ae8
jmp 0x4194ed
push 0x5b
call edi
mov edx, 0x8000
test dx, ax
jne 0x4194e8
push 0x5c
call edi
mov ecx, 0x8000
test cx, ax
je 0x4194f5
push 0x491aec
lea ecx, [ebp - 0x54]
call fcn.004384b2
mov edx, dword [ebp + 0xc]
push 2
push edx
call dword [sym.imp.USER32.dll_MapVirtualKeyA]
lea ecx, [ebp - 0xdc]
mov edi, eax
call sym.PB20Configurator.exe_public:_void___thiscall_DuiLib::CDuiString::constructor_void_
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 1
call sym.PB20Configurator.exe_public:_void___thiscall_DuiLib::CDuiString::constructor_void_
push edi
lea eax, [ebp - 0x98]
push 0x491af0
push eax
mov byte [ebp - 4], 2
call sym.PB20Configurator.exe_public:_int___cdecl_DuiLib::CDuiString::Format_char_const__
add esp, 0xc
lea ecx, [ebp - 0x54]
call sym.PB20Configurator.exe_public:_bool___thiscall_DuiLib::CDuiString::IsEmpty_void_const
test al, al
jne 0x4195a5
push 0x491af4
lea ecx, [ebp - 0x164]
push ecx
lea ecx, [ebp - 0x54]
call sym.PB20Configurator.exe_public:_class_DuiLib::CDuiString___thiscall_DuiLib::CDuiString::operator_char_const__
lea edx, [ebp - 0x98]
push edx
lea ecx, [ebp - 0x120]
push ecx
mov bl, 3
mov ecx, eax
mov byte [ebp - 4], bl
call sym.PB20Configurator.exe_public:_class_DuiLib::CDuiString___thiscall_DuiLib::CDuiString::operator_class_DuiLib::CDuiString_const__
push eax
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 4
call fcn.00438493
lea ecx, [ebp - 0x120]
mov byte [ebp - 4], bl
call sym.PB20Configurator.exe_public:_void___thiscall_DuiLib::CDuiString::destructor_void_
lea ecx, [ebp - 0x164]
mov byte [ebp - 4], 2
call sym.PB20Configurator.exe_public:_void___thiscall_DuiLib::CDuiString::destructor_void_
mov ebx, dword [ebp - 0x168]
jmp 0x4195b7
lea edx, [ebp - 0x98]
push edx
lea ecx, [ebp - 0xdc]
call fcn.00438493
mov eax, dword [esi + 0x570]
mov edi, dword [eax]
lea ecx, [ebp - 0xdc]
call sym.PB20Configurator.exe_public:_char_const____thiscall_DuiLib::CDuiString::operator_char_const__void_const
mov ecx, dword [esi + 0x570]
mov edx, dword [edi + 0x2c]
push eax
call edx
lea ecx, [ebp - 0x98]
mov byte [ebx], 1
mov byte [ebp - 4], 1
call sym.PB20Configurator.exe_public:_void___thiscall_DuiLib::CDuiString::destructor_void_
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0
call sym.PB20Configurator.exe_public:_void___thiscall_DuiLib::CDuiString::destructor_void_
lea ecx, [ebp - 0x54]
mov dword [ebp - 4], 0xffffffff
call sym.PB20Configurator.exe_public:_void___thiscall_DuiLib::CDuiString::destructor_void_
xor eax, eax
jmp 0x41961b
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
push ebx
push eax
push ecx
push edi
mov ecx, esi
call sym.PB20Configurator.exe_public_virtual:_long_int___thiscall_DuiLib::WindowImplBase::MessageHandler_unsigned_int__unsigned_int__long_int__bool__
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0042097b
mov esp, ebp
pop ebp
ret 0x10