Function at 0x44c124
Capabilities:
Log keystrokes via polling

Disassembly:
mov eax, 0x4827e8
call fcn.0047bfa0
sub esp, 0x40
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
cmp eax, 0x20
mov esi, ecx
mov edi, 0xa0
jb 0x44c148
cmp eax, 0x7e
jbe 0x44c15b
cmp eax, edi
jb 0x44c282
cmp eax, 0xff
ja 0x44c282
call fcn.004010ce
push eax
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_VkKeyScanExA]
cmp ax, 0xffff
mov dword [ebp - 0x14], eax
jne 0x44c180
push dword [ebp + 8]
push str.ignoring_unrecognised_Latin_1_keysym__d
jmp 0x44c2a4
xor ebx, ebx
mov dword [ebp - 0x3c], 0x11
mov byte [ebp - 0x38], bl
mov byte [ebp - 0x37], bl
mov dword [ebp - 4], ebx
mov dword [ebp - 0x34], 0x12
mov byte [ebp - 0x30], bl
mov byte [ebp - 0x2f], bl
mov dword [ebp - 0x2c], 0x10
mov byte [ebp - 0x28], bl
mov byte [ebp - 0x27], bl
mov dword [ebp - 0x24], edi
mov byte [ebp - 0x20], bl
mov byte [ebp - 0x1f], bl
mov dword [ebp - 0x1c], 0xa1
mov byte [ebp - 0x18], bl
mov byte [ebp - 0x17], bl
cmp byte [ebp + 0xc], bl
mov byte [ebp - 4], 4
je 0x44c20d
shr eax, 8
test al, 2
mov byte [ebp - 0xd], al
je 0x44c1e0
lea ecx, [ebp - 0x3c]
call fcn.0044c367
mov al, byte [ebp - 0xd]
test al, 4
je 0x44c1ef
lea ecx, [ebp - 0x34]
call fcn.0044c367
mov al, byte [ebp - 0xd]
test al, 1
je 0x44c1fd
lea ecx, [ebp - 0x2c]
call fcn.0044c367
jmp 0x44c20d
lea ecx, [ebp - 0x24]
call fcn.0044c3a6
lea ecx, [ebp - 0x1c]
call fcn.0044c3a6
movzx eax, byte [ebp + 0xc]
push eax
movzx eax, byte [ebp - 0x14]
push eax
push dword [ebp + 8]
push dword [ebp + 8]
push str.latin_1_key:_keysym__d_0x_x__vkCode_0x_x_down__d
push str.S:Ammyy_sources_targetTrKeymap.cpp
push 2
push 0x4ae590
call fcn.0041c880
push ebx
push dword [ebp + 0xc]
push dword [ebp - 0x14]
call fcn.0044110e
add esp, 0x2c
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 3
call fcn.0044c3e5
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 2
call fcn.0044c3e5
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 1
call fcn.0044c3e5
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], bl
call fcn.0044c3e5
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3c]
call fcn.0044c3e5
jmp 0x44c356
mov ebx, dword [esi + 8]
lea eax, [ebp + 8]
push eax
lea edi, [esi + 4]
lea eax, [ebp - 0x14]
mov ecx, edi
push eax
call fcn.0044c66f
cmp dword [ebp - 0x14], ebx
jne 0x44c2bd
push dword [ebp + 8]
push str.ignoring_unknown_keysym__d
push str.S:Ammyy_sources_targetTrKeymap.cpp
push 1
push 0x4ae590
call fcn.0041c880
add esp, 0x14
jmp 0x44c356
mov eax, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x34]
push eax
mov ecx, edi
mov byte [ebp - 0x38], bl
call fcn.0044c5bc
mov eax, dword [eax]
add esi, 0x14
mov ecx, esi
mov al, byte [eax + 0x10]
mov byte [ebp - 0x38], bl
mov byte [ebp - 0x14], al
mov eax, dword [ebp + 8]
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.0044c6a9
mov eax, dword [eax]
movzx ecx, byte [ebp + 0xc]
movzx eax, byte [eax + 0x10]
push ecx
push eax
movzx eax, byte [ebp - 0x14]
push eax
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.S:Ammyy_sources_targetTrKeymap.cpp
push 2
push 0x4ae590
call fcn.0041c880
mov eax, dword [ebp + 8]
add esp, 0x24
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x4c]
push eax
mov ecx, esi
mov byte [ebp - 0x40], bl
call fcn.0044c6a9
mov eax, dword [eax]
mov al, byte [eax + 0x10]
push eax
push dword [ebp + 0xc]
push dword [ebp - 0x14]
call fcn.004410c7
add esp, 0xc
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 8