Function at 0x444340
Capabilities:
Log keystrokes via polling

Disassembly:
sub esp, 0x1c
mov dword [esp], 0x41
call sub.USER32.dll_GetAsyncKeyState
sub esp, 4
test eax, eax
jne 0x444378
mov eax, dword [0x693af0]
test eax, eax
je 0x44438b
mov eax, dword [0x694148]
or dword [eax + 4], 1
mov dword [0x693af0], 0
jmp 0x44438b
mov eax, dword [0x694148]
and dword [eax + 4], 0xfffffffe
mov dword [0x693af0], 1
mov dword [esp], 0x42
call sub.USER32.dll_GetAsyncKeyState
sub esp, 4
test eax, eax
jne 0x4443c0
mov eax, dword [0x693aec]
test eax, eax
je 0x4443d3
mov eax, dword [0x694148]
or dword [eax + 0x1c], 0x10
mov dword [0x693aec], 0
jmp 0x4443d3
mov eax, dword [0x694148]
and dword [eax + 0x1c], 0xffffffef
mov dword [0x693aec], 1
mov dword [esp], 0x43
call sub.USER32.dll_GetAsyncKeyState
sub esp, 4
test eax, eax
jne 0x444408
mov ecx, dword [0x693ae8]
test ecx, ecx
je 0x44441a
mov eax, dword [0x694148]
or dword [eax], 8
mov dword [0x693ae8], 0
jmp 0x44441a
mov eax, dword [0x694148]
and dword [eax], 0xfffffff7
mov dword [0x693ae8], 1
mov dword [esp], 0x44
call sub.USER32.dll_GetAsyncKeyState
sub esp, 4
test eax, eax
jne 0x444450
mov edx, dword [0x693ae4]
test edx, edx
je 0x444463
mov eax, dword [0x694148]
or dword [eax + 4], 4
mov dword [0x693ae4], 0
jmp 0x444463
mov eax, dword [0x694148]
and dword [eax + 4], 0xfffffffb
mov dword [0x693ae4], 1
mov dword [esp], 0x45
call sub.USER32.dll_GetAsyncKeyState
sub esp, 4
test eax, eax
jne 0x444498
mov eax, dword [0x693ae0]
test eax, eax
je 0x4444ab
mov eax, dword [0x694148]
or dword [eax + 8], 4
mov dword [0x693ae0], 0
jmp 0x4444ab
mov eax, dword [0x694148]
and dword [eax + 8], 0xfffffffb
mov dword [0x693ae0], 1
mov dword [esp], 0x46
call sub.USER32.dll_GetAsyncKeyState
sub esp, 4
test eax, eax
jne 0x4444e0
mov eax, dword [0x693adc]
test eax, eax
je 0x4444f3
mov eax, dword [0x694148]
or dword [eax + 4], 8
mov dword [0x693adc], 0
jmp 0x4444f3
mov eax, dword [0x694148]
and dword [eax + 4], 0xfffffff7
mov dword [0x693adc], 1
mov dword [esp], 0x47
call sub.USER32.dll_GetAsyncKeyState
sub esp, 4
test eax, eax
jne 0x444528
mov eax, dword [0x693ad8]
test eax, eax
je 0x44453b
mov eax, dword [0x694148]
or dword [eax + 4], 0x10
mov dword [0x693ad8], 0
jmp 0x44453b
mov eax, dword [0x694148]
and dword [eax + 4], 0xffffffef
mov dword [0x693ad8], 1
mov dword [esp], 0x48
call sub.USER32.dll_GetAsyncKeyState
sub esp, 4
test eax, eax
jne 0x444570
mov eax, dword [0x693ad4]
test eax, eax
je 0x444583
mov eax, dword [0x694148]
or dword [eax + 0x18], 0x10
mov dword [0x693ad4], 0
jmp 0x444583
mov eax, dword [0x694148]
and dword [eax + 0x18], 0xffffffef
mov dword [0x693ad4], 1
mov dword [esp], 0x49
call sub.USER32.dll_GetAsyncKeyState
sub esp, 4
test eax, eax
jne 0x4445b8
mov eax, dword [0x693ad0]
test eax, eax
je 0x4445cb
mov eax, dword [0x694148]
or dword [eax + 0x14], 4
mov dword [0x693ad0], 0
jmp 0x4445cb
mov eax, dword [0x694148]
and dword [eax + 0x14], 0xfffffffb
mov dword [0x693ad0], 1
mov dword [esp], 0x4a
call sub.USER32.dll_GetAsyncKeyState
sub esp, 4
test eax, eax
jne 0x444600
mov ecx, dword [0x693acc]
test ecx, ecx
je 0x444613
mov eax, dword [0x694148]
or dword [eax + 0x18], 8
mov dword [0x693acc], 0
jmp 0x444613
mov eax, dword [0x694148]
and dword [eax + 0x18], 0xfffffff7
mov dword [0x693acc], 1
mov dword [esp], 0x4b
call sub.USER32.dll_GetAsyncKeyState
sub esp, 4
test eax, eax
jne 0x444648
mov edx, dword [0x693ac8]
test edx, edx
je 0x44465b
mov eax, dword [0x694148]
or dword [eax + 0x18], 4
mov dword [0x693ac8], 0
jmp 0x44465b
mov eax, dword [0x694148]
and dword [eax + 0x18], 0xfffffffb
mov dword [0x693ac8], 1
mov dword [esp], 0x4c
call sub.USER32.dll_GetAsyncKeyState
sub esp, 4
test eax, eax
jne 0x444690
mov eax, dword [0x693ac4]
test eax, eax
je 0x4446a3
mov eax, dword [0x694148]
or dword [eax + 0x18], 2
mov dword [0x693ac4], 0
jmp 0x4446a3
mov eax, dword [0x694148]
and dword [eax + 0x18], 0xfffffffd
mov dword [0x693ac4], 1
mov dword [esp], 0x4d
call sub.USER32.dll_GetAsyncKeyState
sub esp, 4
test eax, eax
jne 0x4446d8
mov eax, dword [0x693ac0]
test eax, eax
je 0x4446eb
mov eax, dword [0x694148]
or dword [eax + 0x1c], 4
mov dword [0x693ac0], 0
jmp 0x4446eb
mov eax, dword [0x694148]
and dword [eax + 0x1c], 0xfffffffb
mov dword [0x693ac0], 1
mov dword [esp], 0x4e
call sub.USER32.dll_GetAsyncKeyState
sub esp, 4
test eax, eax
jne 0x444720
mov eax, dword [0x693abc]
test eax, eax
je 0x444733
mov eax, dword [0x694148]
or dword [eax + 0x1c], 8
mov dword [0x693abc], 0
jmp 0x444733
mov eax, dword [0x694148]
and dword [eax + 0x1c], 0xfffffff7
mov dword [0x693abc], 1
mov dword [esp], 0x4f
call sub.USER32.dll_GetAsyncKeyState
sub esp, 4
test eax, eax
jne 0x444768
mov eax, dword [0x693ab8]
test eax, eax
je 0x44477b
mov eax, dword [0x694148]
or dword [eax + 0x14], 2
mov dword [0x693ab8], 0
jmp 0x44477b
mov eax, dword [0x694148]
and dword [eax + 0x14], 0xfffffffd
mov dword [0x693ab8], 1
mov dword [esp], 0x50
call sub.USER32.dll_GetAsyncKeyState
sub esp, 4
test eax, eax
jne 0x4447b0
mov eax, dword [0x693ab4]
test eax, eax
je 0x4447c3
mov eax, dword [0x694148]
or dword [eax + 0x14], 1
mov dword [0x693ab4], 0
jmp 0x4447c3
mov eax, dword [0x694148]
and dword [eax + 0x14], 0xfffffffe
mov dword [0x693ab4], 1
mov dword [esp], 0x51
call sub.USER32.dll_GetAsyncKeyState
sub esp, 4
test eax, eax
jne 0x4447f8
mov ecx, dword [0x693ab0]
test ecx, ecx
je 0x44480b
mov eax, dword [0x694148]
or dword [eax + 8], 1
mov dword [0x693ab0], 0
jmp 0x44480b
mov eax, dword [0x694148]
and dword [eax + 8], 0xfffffffe
mov dword [0x693ab0], 1
mov dword [esp], 0x52
call sub.USER32.dll_GetAsyncKeyState
sub esp, 4
test eax, eax
jne 0x444840
mov edx, dword [0x693aac]
test edx, edx
je 0x444853
mov eax, dword [0x694148]
or dword [eax + 8], 8
mov dword [0x693aac], 0
jmp 0x444853
mov eax, dword [0x694148]
and dword [eax + 8], 0xfffffff7
mov dword [0x693aac], 1
mov dword [esp], 0x53
call sub.USER32.dll_GetAsyncKeyState
sub esp, 4
test eax, eax
jne 0x444888
mov eax, dword [0x693aa8]
test eax, eax
je 0x44489b
mov eax, dword [0x694148]
or dword [eax + 4], 2
mov dword [0x693aa8], 0
jmp 0x44489b
mov eax, dword [0x694148]
and dword [eax + 4], 0xfffffffd
mov dword [0x693aa8], 1
mov dword [esp], 0x54
call sub.USER32.dll_GetAsyncKeyState
sub esp, 4
test eax, eax
jne 0x4448d0
mov eax, dword [0x693aa4]
test eax, eax
je 0x4448e3
mov eax, dword [0x694148]
or dword [eax + 8], 0x10
mov dword [0x693aa4], 0
jmp 0x4448e3
mov eax, dword [0x694148]
and dword [eax + 8], 0xffffffef
mov dword [0x693aa4], 1
mov dword [esp], 0x55
call sub.USER32.dll_GetAsyncKeyState
sub esp, 4
test eax, eax
jne 0x444918
mov eax, dword [0x693aa0]
test eax, eax
je 0x44492b
mov eax, dword [0x694148]
or dword [eax + 0x14], 8
mov dword [0x693aa0], 0
jmp 0x44492b
mov eax, dword [0x694148]
and dword [eax + 0x14], 0xfffffff7
mov dword [0x693aa0], 1
mov dword [esp], 0x56
call sub.USER32.dll_GetAsyncKeyState
sub esp, 4
test eax, eax
jne 0x444960
mov eax, dword [0x693a9c]
test eax, eax
je 0x444972
mov eax, dword [0x694148]
or dword [eax], 0x10
mov dword [0x693a9c], 0
jmp 0x444972
mov eax, dword [0x694148]
and dword [eax], 0xffffffef
mov dword [0x693a9c], 1
mov dword [esp], 0x57
call sub.USER32.dll_GetAsyncKeyState
sub esp, 4
test eax, eax
jne 0x4449a8
mov eax, dword [0x693a98]
test eax, eax
je 0x4449bb
mov eax, dword [0x694148]
or dword [eax + 8], 2
mov dword [0x693a98], 0
jmp 0x4449bb
mov eax, dword [0x694148]
and dword [eax + 8], 0xfffffffd
mov dword [0x693a98], 1
mov dword [esp], 0x58
call sub.USER32.dll_GetAsyncKeyState
sub esp, 4
test eax, eax
jne 0x4449f0
mov ecx, dword [0x693a94]
test ecx, ecx
je 0x444a02
mov eax, dword [0x694148]
or dword [eax], 4
mov dword [0x693a94], 0
jmp 0x444a02
mov eax, dword [0x694148]
and dword [eax], 0xfffffffb
mov dword [0x693a94], 1
mov dword [esp], 0x59
call sub.USER32.dll_GetAsyncKeyState
sub esp, 4
test eax, eax
jne 0x444a38
mov edx, dword [0x693a90]
test edx, edx
je 0x444a4b
mov eax, dword [0x694148]
or dword [eax + 0x14], 0x10
mov dword [0x693a90], 0
jmp 0x444a4b
mov eax, dword [0x694148]
and dword [eax + 0x14], 0xffffffef
mov dword [0x693a90], 1
mov dword [esp], 0x5a
call sub.USER32.dll_GetAsyncKeyState
sub esp, 4
test eax, eax
jne 0x444a80
mov eax, dword [0x693a8c]
test eax, eax
je 0x444a92
mov eax, dword [0x694148]
or dword [eax], 2
mov dword [0x693a8c], 0
jmp 0x444a92
mov eax, dword [0x694148]
and dword [eax], 0xfffffffd
mov dword [0x693a8c], 1
mov dword [esp], 0xbc
call sub.USER32.dll_GetAsyncKeyState
sub esp, 4
test eax, eax
jne 0x444ac8
mov eax, dword [0x693a64]
test eax, eax
je 0x444adb
mov eax, dword [0x694148]
or dword [eax + 0x1c], 0xa
mov dword [0x693a64], 0
jmp 0x444adb
mov eax, dword [0x694148]
and dword [eax + 0x1c], 0xfffffff5
mov dword [0x693a64], 1
mov dword [esp], 0xbe
call sub.USER32.dll_GetAsyncKeyState
sub esp, 4
test eax, eax
jne 0x444b10
mov eax, dword [0x693a60]
test eax, eax
je 0x444b23
mov eax, dword [0x694148]
or dword [eax + 0x1c], 6
mov dword [0x693a60], 0
jmp 0x444b23
mov eax, dword [0x694148]
and dword [eax + 0x1c], 0xfffffff9
mov dword [0x693a60], 1
mov dword [esp], 0xba
call sub.USER32.dll_GetAsyncKeyState
sub esp, 4
test eax, eax
jne 0x444b60
mov eax, dword [0x693a68]
test eax, eax
je 0x444b77
mov eax, dword [0x694148]
or dword [eax + 0x1c], 2
mov dword [0x693a68], 0
or dword [eax + 0x14], 2
jmp 0x444b77
mov eax, dword [0x694148]
and dword [eax + 0x1c], 0xfffffffd
mov dword [0x693a68], 1
and dword [eax + 0x14], 0xfffffffd
mov dword [esp], 0x20
call sub.USER32.dll_GetAsyncKeyState
sub esp, 4
test eax, eax
jne 0x444bb0
mov eax, dword [0x693a7c]
test eax, eax
je 0x444bc3
mov eax, dword [0x694148]
or dword [eax + 0x1c], 1
mov dword [0x693a7c], 0
jmp 0x444bc3
mov eax, dword [0x694148]
and dword [eax + 0x1c], 0xfffffffe
mov dword [0x693a7c], 1
mov dword [esp], 0x31
call sub.USER32.dll_GetAsyncKeyState
sub esp, 4
test eax, eax
jne 0x444ca0
mov ecx, dword [0x693a50]
test ecx, ecx
je 0x444bf7
mov eax, dword [0x694148]
or dword [eax + 0xc], 1
mov dword [0x693a50], 0
mov dword [esp], 0x32
call sub.USER32.dll_GetAsyncKeyState
sub esp, 4
test eax, eax
jne 0x444cd0
mov edx, dword [0x693a4c]
test edx, edx
je 0x444c2b
mov eax, dword [0x694148]
or dword [eax + 0xc], 2
mov dword [0x693a4c], 0
mov dword [esp], 0x33
call sub.USER32.dll_GetAsyncKeyState
sub esp, 4
test eax, eax
jne 0x444d00
mov eax, dword [0x693a48]
test eax, eax
je 0x444c5e
mov eax, dword [0x694148]
or dword [eax + 0xc], 4
mov dword [0x693a48], 0
mov dword [esp], 0x34
call sub.USER32.dll_GetAsyncKeyState
sub esp, 4
test eax, eax
jne 0x444d30
mov eax, dword [0x693a44]
test eax, eax
je 0x444d43
mov eax, dword [0x694148]
or dword [eax + 0xc], 8
mov dword [0x693a44], 0
jmp 0x444d43
mov dword [esp], 0x12
call sub.USER32.dll_GetAsyncKeyState
sub esp, 4
test eax, eax
jne 0x444bda
mov eax, dword [0x694148]
and dword [eax + 0xc], 0xfffffffe
mov dword [0x693a50], 1
jmp 0x444bf7
mov dword [esp], 0x12
call sub.USER32.dll_GetAsyncKeyState
sub esp, 4
test eax, eax
jne 0x444c0e
mov eax, dword [0x694148]
and dword [eax + 0xc], 0xfffffffd
mov dword [0x693a4c], 1
jmp 0x444c2b
mov dword [esp], 0x12
call sub.USER32.dll_GetAsyncKeyState
sub esp, 4
test eax, eax
jne 0x444c42
mov eax, dword [0x694148]
and dword [eax + 0xc], 0xfffffffb
mov dword [0x693a48], 1
jmp 0x444c5e
mov eax, dword [0x694148]
and dword [eax + 0xc], 0xfffffff7
mov dword [0x693a44], 1
mov dword [esp], 0x35
call sub.USER32.dll_GetAsyncKeyState
sub esp, 4
test eax, eax
jne 0x444d78
mov eax, dword [0x693a40]
test eax, eax
je 0x444d8b
mov eax, dword [0x694148]
or dword [eax + 0xc], 0x10
mov dword [0x693a40], 0
jmp 0x444d8b
mov eax, dword [0x694148]
and dword [eax + 0xc], 0xffffffef
mov dword [0x693a40], 1
mov dword [esp], 0x36
call sub.USER32.dll_GetAsyncKeyState
sub esp, 4
test eax, eax
jne 0x444dc0
mov eax, dword [0x693a3c]
test eax, eax
je 0x444dd3
mov eax, dword [0x694148]
or dword [eax + 0x10], 0x10
mov dword [0x693a3c], 0
jmp 0x444dd3
mov eax, dword [0x694148]
and dword [eax + 0x10], 0xffffffef
mov dword [0x693a3c], 1
mov dword [esp], 0x37
call sub.USER32.dll_GetAsyncKeyState
sub esp, 4
test eax, eax
jne 0x444e08
mov eax, dword [0x693a38]
test eax, eax
je 0x444e1b
mov eax, dword [0x694148]
or dword [eax + 0x10], 8
mov dword [0x693a38], 0
jmp 0x444e1b
mov eax, dword [0x694148]
and dword [eax + 0x10], 0xfffffff7
mov dword [0x693a38], 1
mov dword [esp], 0x38
call sub.USER32.dll_GetAsyncKeyState
sub esp, 4
test eax, eax
jne 0x444e50
mov ecx, dword [0x693a34]
test ecx, ecx
je 0x444e63
mov eax, dword [0x694148]
or dword [eax + 0x10], 4
mov dword [0x693a34], 0
jmp 0x444e63
mov eax, dword [0x694148]
and dword [eax + 0x10], 0xfffffffb
mov dword [0x693a34], 1
mov dword [esp], 0x39
call sub.USER32.dll_GetAsyncKeyState
sub esp, 4
test eax, eax
jne 0x444e98
mov edx, dword [0x693a30]
test edx, edx
je 0x444eab
mov eax, dword [0x694148]
or dword [eax + 0x10], 2
mov dword [0x693a30], 0
jmp 0x444eab
mov eax, dword [0x694148]
and dword [eax + 0x10], 0xfffffffd
mov dword [0x693a30], 1
mov dword [esp], 0x30
call sub.USER32.dll_GetAsyncKeyState
sub esp, 4
test eax, eax
jne 0x444ee0
mov eax, dword [0x693a54]
test eax, eax
je 0x444ef3
mov eax, dword [0x694148]
or dword [eax + 0x10], 1
mov dword [0x693a54], 0
jmp 0x444ef3
mov eax, dword [0x694148]
and dword [eax + 0x10], 0xfffffffe
mov dword [0x693a54], 1
mov dword [esp], 0x11
call sub.USER32.dll_GetAsyncKeyState
sub esp, 4
test eax, eax
jne 0x444f28
mov eax, dword [0x693a84]
test eax, eax
je 0x444f3b
mov eax, dword [0x694148]
or dword [eax + 0x1c], 2
mov dword [0x693a84], 0
jmp 0x444f3b
mov eax, dword [0x694148]
and dword [eax + 0x1c], 0xfffffffd
mov dword [0x693a84], 1
mov dword [esp], 0xd
call sub.USER32.dll_GetAsyncKeyState
sub esp, 4
test eax, eax
jne 0x444f70
mov eax, dword [0x693a80]
test eax, eax
je 0x444f83
mov eax, dword [0x694148]
or dword [eax + 0x18], 1
mov dword [0x693a80], 0
jmp 0x444f83
mov eax, dword [0x694148]
and dword [eax + 0x18], 0xfffffffe
mov dword [0x693a80], 1
mov dword [esp], 0x10
call sub.USER32.dll_GetAsyncKeyState
sub esp, 4
test eax, eax
jne 0x444fb8
mov eax, dword [0x693a88]
test eax, eax
je 0x444fca
mov eax, dword [0x694148]
or dword [eax], 1
mov dword [0x693a88], 0
jmp 0x444fca
mov eax, dword [0x694148]
and dword [eax], 0xfffffffe
mov dword [0x693a88], 1
mov dword [esp], 0x26
call sub.USER32.dll_GetAsyncKeyState
sub esp, 4
test eax, eax
jne 0x445020
mov eax, dword [0x693a78]
test eax, eax
je 0x4450c0
mov dword [0x693a78], 0
mov eax, dword [0x694148]
mov ecx, dword [0x69403c]
test ecx, ecx
jne 0x445110
mov edx, dword [0x693ed4]
test edx, edx
je 0x445120
or dword [eax + 0x20], 0x48
jmp 0x445054
mov dword [0x693a78], 1
mov eax, dword [0x694148]
mov ecx, dword [0x69403c]
test ecx, ecx
jne 0x445050
mov edx, dword [0x693ed4]
test edx, edx
je 0x4450b0
and dword [eax + 0x20], 0xffffffb7
jmp 0x445054
and dword [eax + 8], 0xfffffffe
mov dword [esp], 0x25
call sub.USER32.dll_GetAsyncKeyState
sub esp, 4
test eax, eax
jne 0x4451c8
mov eax, dword [0x693a70]
test eax, eax
je 0x445250
mov dword [0x693a70], 0
mov eax, dword [0x694148]
mov ecx, dword [0x69403c]
test ecx, ecx
jne 0x4452a0
mov edx, dword [0x693ed4]
test edx, edx
je 0x4452b0
or dword [eax + 0x20], 0x42
jmp 0x4451fc
and dword [eax], 0xfffffffe
mov eax, dword [0x694148]
and dword [eax + 0x10], 0xfffffff7
jmp 0x445054
mov dword [esp], 0x28
call sub.USER32.dll_GetAsyncKeyState
sub esp, 4
test eax, eax
je 0x445138
mov dword [0x693a74], 1
mov eax, dword [0x694148]
mov ecx, dword [0x69403c]
test ecx, ecx
jne 0x445178
mov edx, dword [0x693ed4]
test edx, edx
je 0x445188
and dword [eax + 0x20], 0xffffffbb
jmp 0x445054
or dword [eax + 8], 1
jmp 0x445054
or dword [eax], 1
mov eax, dword [0x694148]
or dword [eax + 0x10], 8
jmp 0x445054
mov eax, dword [0x693a74]
test eax, eax
je 0x445054
mov dword [0x693a74], 0
mov eax, dword [0x694148]
mov ecx, dword [0x69403c]
test ecx, ecx
jne 0x4451a0
mov edx, dword [0x693ed4]
test edx, edx
je 0x4451b0
or dword [eax + 0x20], 0x44
jmp 0x445054
and dword [eax + 4], 0xfffffffe
jmp 0x445054
and dword [eax], 0xfffffffe
mov eax, dword [0x694148]
and dword [eax + 0x10], 0xffffffef
jmp 0x445054
or dword [eax + 4], 1
jmp 0x445054
or dword [eax], 1
mov eax, dword [0x694148]
or dword [eax + 0x10], 0x10
jmp 0x445054
mov dword [0x693a70], 1
mov eax, dword [0x694148]
mov ecx, dword [0x69403c]
test ecx, ecx
jne 0x4451f8
mov edx, dword [0x693ed4]
test edx, edx
je 0x445240
and dword [eax + 0x20], 0xffffffbd
jmp 0x4451fc
and dword [eax + 0x14], 0xfffffffd
mov dword [esp], 9
call sub.USER32.dll_GetAsyncKeyState
sub esp, 4
test eax, eax
je 0x445358
mov ecx, dword [0x693ed4]
test ecx, ecx
je 0x445358
mov dword [0x693a58], 1
mov eax, dword [0x694148]
and dword [eax + 0x20], 0xffffffaf
jmp 0x445375
and dword [eax], 0xfffffffe
mov eax, dword [0x694148]
and dword [eax + 0xc], 0xffffffef
jmp 0x4451fc
mov dword [esp], 0x27
call sub.USER32.dll_GetAsyncKeyState
sub esp, 4
test eax, eax
je 0x4452c8
mov dword [0x693a6c], 1
mov eax, dword [0x694148]
mov ecx, dword [0x69403c]
test ecx, ecx
jne 0x445308
mov edx, dword [0x693ed4]
test edx, edx
je 0x445318
and dword [eax + 0x20], 0xffffffbe
jmp 0x4451fc
or dword [eax + 0x14], 2
jmp 0x4451fc
or dword [eax], 1
mov eax, dword [0x694148]
or dword [eax + 0xc], 0x10
jmp 0x4451fc
mov eax, dword [0x693a6c]
test eax, eax
je 0x4451fc
mov dword [0x693a6c], 0
mov eax, dword [0x694148]
mov ecx, dword [0x69403c]
test ecx, ecx
jne 0x445330
mov edx, dword [0x693ed4]
test edx, edx
je 0x445340
or dword [eax + 0x20], 0x41
jmp 0x4451fc
and dword [eax + 0x14], 0xfffffffe
jmp 0x4451fc
and dword [eax], 0xfffffffe
mov eax, dword [0x694148]
and dword [eax + 0x10], 0xfffffffb
jmp 0x4451fc
or dword [eax + 0x14], 1
jmp 0x4451fc
or dword [eax], 1
mov eax, dword [0x694148]
or dword [eax + 0x10], 4
jmp 0x4451fc
mov edx, dword [0x693a58]
test edx, edx
je 0x445375
mov dword [0x693a58], 0
mov eax, dword [0x694148]
or dword [eax + 0x20], 0x50
mov dword [esp], 8
call sub.USER32.dll_GetAsyncKeyState
sub esp, 4
test eax, eax
jne 0x4453b0
mov eax, dword [0x693a5c]
test eax, eax
je 0x4453cb
mov eax, dword [0x694148]
or dword [eax], 1
mov dword [0x693a5c], 0
mov eax, dword [0x694148]
or dword [eax + 0x10], 1
jmp 0x4453cb
mov eax, dword [0x694148]
and dword [eax], 0xfffffffe
mov dword [0x693a5c], 1
mov eax, dword [0x694148]
and dword [eax + 0x10], 0xfffffffe
add esp, 0x1c
ret