Function at 0x431470
Capabilities:
Log keystrokes via polling

Disassembly:
mov al, byte [0x7283bb]
sub esp, 8
test al, al
je 0x431794
push ebx
push esi
mov esi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
push edi
push 0x11
call esi
test ax, ax
push 0x10
setne bl
call esi
mov ecx, dword [0x85c268]
test ax, ax
setne al
add ecx, ecx
test bl, bl
je 0x431521
mov eax, 0x55555556
imul ecx
mov ecx, dword [0x85c26c]
mov eax, edx
shr eax, 0x1f
lea esi, [edx + eax + 4]
shl ecx, 2
mov eax, 0x66666667
imul ecx
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
mov eax, 0x80
lea edi, [edx + ecx - 0x17]
lea edx, [esp + 0xc]
push edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push eax
push 0
push 0
push str.button_highlight.dds
call fcn.004ceb00
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
push 0
push 0xffffffffffffffff
push 0x20
push 0x64
push esi
push edi
push ecx
push edx
push 0
push 0
push eax
call fcn.004af500
mov esi, 0x40
jmp 0x431668
test al, al
mov eax, 0x55555556
je 0x4315ff
imul ecx
mov ecx, dword [0x85c26c]
mov eax, edx
shr eax, 0x1f
lea esi, [edx + eax + 4]
shl ecx, 2
mov eax, 0x66666667
imul ecx
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
mov eax, 0x80
lea edi, [edx + ecx + 0x1a]
lea edx, [esp + 0x10]
push edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], eax
lea eax, [esp + 0x10]
push eax
push 0
push 0
push str.button_highlight.dds
call fcn.004ceb00
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
push 0
push 0xffffffffffffffff
push 0x20
push 0x68
push esi
push edi
push ecx
push edx
push 0
push 0
push eax
call fcn.004af500
mov ecx, dword [0x85c268]
add ecx, ecx
mov eax, 0x55555556
imul ecx
mov ecx, dword [0x85c26c]
mov eax, edx
shr eax, 0x1f
lea edi, [edx + eax + 0xc]
shl ecx, 2
mov eax, 0x66666667
imul ecx
sar edx, 1
mov ecx, edx
add esp, 0x40
shr ecx, 0x1f
lea ebx, [edx + ecx + 2]
lea edx, [esp + 0x10]
push edx
lea eax, [esp + 0x10]
push eax
push 0
mov esi, 0x40
push 0
push str.button_up.dds
mov dword [esp + 0x24], esi
mov dword [esp + 0x20], esi
call fcn.004ceb00
push 0
push 0xffffffffffffffff
push 0x10
push 0x32
jmp 0x4316c6
imul ecx
mov ecx, dword [0x85c26c]
mov eax, edx
shr eax, 0x1f
lea edi, [edx + eax + 0xc]
shl ecx, 2
mov eax, 0x66666667
imul ecx
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
lea ebx, [edx + ecx + 2]
lea edx, [esp + 0x10]
push edx
lea eax, [esp + 0x10]
push eax
push 0
mov esi, 0x40
push 0
push str.button_up.dds
mov dword [esp + 0x24], esi
mov dword [esp + 0x20], esi
call fcn.004ceb00
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
push 0
push 0xffffffffffffffff
push 0x10
push 0x32
push edi
push ebx
push ecx
push edx
push 0
push 0
push eax
call fcn.004af500
mov ecx, dword [0x85c268]
add ecx, ecx
mov eax, 0x55555556
imul ecx
mov ecx, dword [0x85c26c]
mov eax, edx
shr eax, 0x1f
lea edi, [edx + eax + 0xc]
shl ecx, 2
mov eax, 0x66666667
imul ecx
sar edx, 1
mov ecx, edx
add esp, 0x40
shr ecx, 0x1f
lea ebx, [edx + ecx + 0x34]
lea edx, [esp + 0x10]
push edx
lea eax, [esp + 0x10]
push eax
push 0
push 0
push str.button_up.dds
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], esi
call fcn.004ceb00
push 0
push 0xffffffffffffffff
push 0x10
push 0x34
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
push edi
push ebx
push ecx
push edx
push 0
push 0
push eax
call fcn.004af500
add esp, 0x40
push str.Ctrl
mov esi, 0x8ebf58
call fcn.004f7660
mov ecx, dword [0x85c268]
add ecx, ecx
mov eax, 0x55555556
imul ecx
push 0
push 0xffffffffffffffff
push 1
mov eax, edx
shr eax, 0x1f
lea ecx, [edx + eax + 0xe]
push 0xffffffffffffffff
push 0x3c
push ecx
mov ecx, dword [0x85c26c]
shl ecx, 2
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
lea ecx, [edx + eax + 0xa]
push ecx
push 0x86bb48
xor eax, eax
call fcn.004b0b40
push str.Shift
call fcn.004f7660
mov ecx, dword [0x85c268]
add ecx, ecx
mov eax, 0x55555556
imul ecx
push 0
push 0xffffffffffffffff
push 1
mov eax, edx
shr eax, 0x1f
lea ecx, [edx + eax + 0xe]
push 0xffffffffffffffff
push 0x3c
push ecx
mov ecx, dword [0x85c26c]
shl ecx, 2
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
lea ecx, [edx + eax + 0x3c]
push ecx
push 0x86bb48
xor eax, eax
call fcn.004b0b40
add esp, 0x48
pop edi
pop esi
pop ebx
add esp, 8
ret