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

Disassembly:
mov eax, 0x460444
call fcn.0045d320
sub esp, 0x48
mov eax, dword [ebp + 8]
push ebx
push esi
cmp eax, 0x20
push edi
mov esi, ecx
mov ebx, 0xa0
jb 0x432385
cmp eax, 0x7e
jbe 0x432398
cmp eax, ebx
jb 0x4324e6
cmp eax, 0xff
ja 0x4324e6
push dword [esi + 4]
push eax
call dword [sym.imp.USER32.dll_VkKeyScanExA]
cmp ax, 0xffff
mov dword [ebp - 0x10], eax
jne 0x4323b8
push dword [ebp + 8]
push str.ignoring_unrecognised_Latin_1_keysym__d
jmp 0x432508
and byte [ebp - 0x4c], 0
and byte [ebp - 0x4b], 0
xor edi, edi
mov dword [ebp - 0x54], 0x11
mov dword [ebp - 0x50], edi
and byte [ebp - 0x40], 0
and byte [ebp - 0x3f], 0
mov dword [ebp - 4], edi
mov dword [ebp - 0x48], 0x12
mov dword [ebp - 0x44], edi
and byte [ebp - 0x34], 0
and byte [ebp - 0x33], 0
mov dword [ebp - 0x3c], 0x10
mov dword [ebp - 0x38], edi
and byte [ebp - 0x28], 0
and byte [ebp - 0x27], 0
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x2c], edi
and byte [ebp - 0x1c], 0
and byte [ebp - 0x1b], 0
mov dword [ebp - 0x24], 0xa1
mov dword [ebp - 0x20], edi
mov bl, byte [ebp + 0xc]
mov byte [ebp - 4], 4
test bl, bl
je 0x432460
shr eax, 8
test al, 2
mov byte [ebp + 0xf], al
je 0x432433
lea ecx, [ebp - 0x54]
call fcn.004325e3
mov al, byte [ebp + 0xf]
test al, 4
je 0x432442
lea ecx, [ebp - 0x48]
call fcn.004325e3
mov al, byte [ebp + 0xf]
test al, 1
je 0x432450
lea ecx, [ebp - 0x3c]
call fcn.004325e3
jmp 0x432460
lea ecx, [ebp - 0x30]
call fcn.0043263c
lea ecx, [ebp - 0x24]
call fcn.0043263c
movzx esi, byte [ebp - 0x10]
movzx eax, bl
push eax
push esi
push dword [ebp + 8]
push dword [ebp + 8]
push str.latin_1_key:_keysym__d_0x_x__vkCode_0x_x_down__d
push str.C:projectsAmmyy_sources_target_trKeymap.cpp
push 2
push 0x47a230
call fcn.0040e807
add esp, 0x20
push edi
push esi
call dword [sym.imp.USER32.dll_MapVirtualKeyA]
neg bl
sbb ebx, ebx
push edi
and ebx, 0xfffffffe
inc ebx
inc ebx
push ebx
push eax
push dword [ebp - 0x10]
call dword [sym.imp.USER32.dll_keybd_event]
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 3
call fcn.00432698
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 2
call fcn.00432698
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 1
call fcn.00432698
and byte [ebp - 4], 0
lea ecx, [ebp - 0x48]
call fcn.00432698
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x54]
call fcn.00432698
jmp 0x4325d2
mov edi, dword [esi + 0xc]
lea eax, [ebp + 8]
push eax
lea ebx, [esi + 8]
lea eax, [ebp - 0x14]
mov ecx, ebx
push eax
call fcn.004329bd
cmp dword [ebp - 0x14], edi
jne 0x432521
push dword [ebp + 8]
push str.ignoring_unknown_keysym__d
push str.C:projectsAmmyy_sources_target_trKeymap.cpp
push 1
push 0x47a230
call fcn.0040e807
add esp, 0x14
jmp 0x4325d2
lea eax, [ebp + 8]
mov ecx, ebx
push eax
call fcn.00432812
mov bl, byte [eax]
and dword [ebp - 0x10], 0
lea edi, [esi + 0x18]
lea eax, [ebp + 8]
push eax
mov ecx, edi
mov byte [ebp - 0x18], bl
call fcn.0043289c
cmp byte [eax], 0
je 0x43254f
mov dword [ebp - 0x10], 1
cmp byte [ebp + 0xc], 0
jne 0x432559
or dword [ebp - 0x10], 2
movzx eax, byte [ebp + 0xc]
push eax
lea eax, [ebp + 8]
push eax
mov ecx, edi
movzx esi, bl
call fcn.0043289c
movzx eax, byte [eax]
push eax
push esi
push dword [ebp + 8]
push dword [ebp + 8]
push str.keyboard_key:_keysym__d_0x_x__vkCode_0x_x_ext__d_down__d
push str.C:projectsAmmyy_sources_target_trKeymap.cpp
push 2
push 0x47a230
call fcn.0040e807
add esp, 0x24
cmp byte [ebp + 0xc], 0
je 0x4325ba
cmp bl, 0x2e
jne 0x4325ba
mov edi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
push 0x11
call edi
test ah, 0x80
je 0x4325ba
push 0x12
call edi
test ah, 0x80
je 0x4325ba
call fcn.00434670
jmp 0x4325d2
push 0
push esi
call dword [sym.imp.USER32.dll_MapVirtualKeyA]
push 0
push dword [ebp - 0x10]
push eax
push dword [ebp - 0x18]
call dword [sym.imp.USER32.dll_keybd_event]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 8