Function at 0x462a50
Capabilities:
Check os version
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x204
push ecx
push edi
lea edi, [esp + 8]
mov eax, 0xcccccccc
mov ecx, 0x81
rep stosd dword es:[edi], eax
pop edi
pop ecx
mov dword [ebp - 0x1c0], 0
call fcn.004691a0
mov dword [ebp - 0x1c8], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov dword [ebp - 0x1c4], ecx
push 0xff
lea eax, [ebp - 0x108]
push eax
push dword [ebp - 0x1c4]
call dword [sym.imp.USER32.dll_GetClassNameA]
mov dword [ebp - 0x1d0], eax
mov eax, dword [ebp - 0x1d0]
mov byte [ebp + eax - 0x108], 0
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov dword [0x518a64], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 4]
mov dword [0x518a68], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 8]
mov dword [0x518a6c], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0xc]
mov dword [0x518a70], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x10]
mov dword [0x518a74], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x14]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x18]
mov dword [0x518a78], edx
mov dword [0x518a7c], ecx
mov eax, dword [ebp + 8]
cmp dword [eax + 4], 0x100
je 0x462b2a
mov eax, dword [ebp + 8]
cmp dword [eax + 4], 0x104
jne 0x464503
mov dword [ebp - 0x1d4], 0
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0x138], 0
push 0x518b5a
call fcn.0040dc70
pop ecx
push eax
push 0x518b5a
lea ecx, [ebp - 0x138]
call fcn.0040c560
cmp dword [ebp - 0x138], 0
je 0x462b7c
mov ebx, dword [ebp - 0x138]
mov edx, dword [0x5022fc]
mov dword [ebx + 0x10], edx
lea eax, [ebp - 0x138]
push eax
lea ecx, [ebp - 0x10c]
call fcn.0040cc10
cmp dword [ebp - 0x138], 0
je 0x462ba2
mov ecx, dword [ebp - 0x138]
call fcn.0040c380
mov word [0x518f38], 0
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
movsx eax, ax
test eax, 0x8000
je 0x462c60
mov dword [ebp - 0x13c], 0
push 0x518b79
call fcn.0040dc70
pop ecx
push eax
push 0x518b79
lea ecx, [ebp - 0x13c]
call fcn.0040c560
cmp dword [ebp - 0x13c], 0
je 0x462bff
mov ebx, dword [ebp - 0x13c]
mov edx, dword [0x5022fc]
mov dword [ebx + 0x10], edx
lea eax, [ebp - 0x13c]
push eax
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x140]
push eax
call fcn.0040d4b0
add esp, 0xc
lea eax, [ebp - 0x140]
push eax
lea ecx, [ebp - 0x10c]
call fcn.0040cc10
cmp dword [ebp - 0x140], 0
je 0x462c42
mov ecx, dword [ebp - 0x140]
call fcn.0040c380
cmp dword [ebp - 0x13c], 0
je 0x462c56
mov ecx, dword [ebp - 0x13c]
call fcn.0040c380
or dword [ebp - 0x1d4], 0x1000
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
movsx eax, ax
test eax, 0x8000
je 0x462d15
mov dword [ebp - 0x144], 0
push 0x518b7f
call fcn.0040dc70
pop ecx
push eax
push 0x518b7f
lea ecx, [ebp - 0x144]
call fcn.0040c560
cmp dword [ebp - 0x144], 0
je 0x462cb4
mov ebx, dword [ebp - 0x144]
mov edx, dword [0x5022fc]
mov dword [ebx + 0x10], edx
lea eax, [ebp - 0x144]
push eax
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x148]
push eax
call fcn.0040d4b0
add esp, 0xc
lea eax, [ebp - 0x148]
push eax
lea ecx, [ebp - 0x10c]
call fcn.0040cc10
cmp dword [ebp - 0x148], 0
je 0x462cf7
mov ecx, dword [ebp - 0x148]
call fcn.0040c380
cmp dword [ebp - 0x144], 0
je 0x462d0b
mov ecx, dword [ebp - 0x144]
call fcn.0040c380
or dword [ebp - 0x1d4], 0x200
push 0x12
call dword [sym.imp.USER32.dll_GetKeyState]
movsx eax, ax
test eax, 0x8000
je 0x462dec
mov dword [ebp - 0x14c], 0
push 0x518b72
call fcn.0040dc70
pop ecx
push eax
push 0x518b72
lea ecx, [ebp - 0x14c]
call fcn.0040c560
cmp dword [ebp - 0x14c], 0
je 0x462d69
mov ebx, dword [ebp - 0x14c]
mov edx, dword [0x5022fc]
mov dword [ebx + 0x10], edx
lea eax, [ebp - 0x14c]
push eax
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x150]
push eax
call fcn.0040d4b0
add esp, 0xc
lea eax, [ebp - 0x150]
push eax
lea ecx, [ebp - 0x10c]
call fcn.0040cc10
cmp dword [ebp - 0x150], 0
je 0x462dac
mov ecx, dword [ebp - 0x150]
call fcn.0040c380
cmp dword [ebp - 0x14c], 0
je 0x462dc0
mov ecx, dword [ebp - 0x14c]
call fcn.0040c380
or dword [ebp - 0x1d4], 0x800
call dword [sym.imp.KERNEL32.dll_GetVersion]
cmp eax, 5
jb 0x462dec
push 0
push 0x20002
push 0x127
mov eax, dword [ebp + 8]
push dword [eax]
call dword [sym.imp.USER32.dll_SendMessageA]
mov ax, word [ebp - 0x1d4]
mov word [0x518f38], ax
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 0x70
jb 0x462efd
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 0x87
ja 0x462efd
mov dword [ebp - 0x154], 0
push 0x518b86
call fcn.0040dc70
pop ecx
push eax
push 0x518b86
lea ecx, [ebp - 0x154]
call fcn.0040c560
cmp dword [ebp - 0x154], 0
je 0x462e54
mov ebx, dword [ebp - 0x154]
mov edx, dword [0x5022fc]
mov dword [ebx + 0x10], edx
lea eax, [ebp - 0x154]
push eax
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x158]
push eax
call fcn.0040d4b0
add esp, 0xc
lea eax, [ebp - 0x158]
push eax
lea ecx, [ebp - 0x10c]
call fcn.0040cc10
cmp dword [ebp - 0x158], 0
je 0x462e97
mov ecx, dword [ebp - 0x158]
call fcn.0040c380
cmp dword [ebp - 0x154], 0
je 0x462eab
mov ecx, dword [ebp - 0x154]
call fcn.0040c380
mov eax, dword [ebp + 8]
mov edx, dword [eax + 8]
add edx, 0xffffffc1
movsx eax, dl
push eax
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x15c]
push eax
call fcn.0040d700
add esp, 0xc
lea eax, [ebp - 0x15c]
push eax
lea ecx, [ebp - 0x10c]
call fcn.0040cc10
cmp dword [ebp - 0x15c], 0
je 0x463379
mov ecx, dword [ebp - 0x15c]
call fcn.0040c380
jmp 0x463379
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 0x1b
jne 0x462fa8
mov dword [ebp - 0x160], 0
push 0x518b88
call fcn.0040dc70
pop ecx
push eax
push 0x518b88
lea ecx, [ebp - 0x160]
call fcn.0040c560
cmp dword [ebp - 0x160], 0
je 0x462f48
mov ebx, dword [ebp - 0x160]
mov edx, dword [0x5022fc]
mov dword [ebx + 0x10], edx
lea eax, [ebp - 0x160]
push eax
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x164]
push eax
call fcn.0040d4b0
add esp, 0xc
lea eax, [ebp - 0x164]
push eax
lea ecx, [ebp - 0x10c]
call fcn.0040cc10
cmp dword [ebp - 0x164], 0
je 0x462f8b
mov ecx, dword [ebp - 0x164]
call fcn.0040c380
cmp dword [ebp - 0x160], 0
je 0x463379
mov ecx, dword [ebp - 0x160]
call fcn.0040c380
jmp 0x463379
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 8
jne 0x463053
mov dword [ebp - 0x168], 0
push 0x518b8c
call fcn.0040dc70
pop ecx
push eax
push 0x518b8c
lea ecx, [ebp - 0x168]
call fcn.0040c560
cmp dword [ebp - 0x168], 0
je 0x462ff3
mov ebx, dword [ebp - 0x168]
mov edx, dword [0x5022fc]
mov dword [ebx + 0x10], edx
lea eax, [ebp - 0x168]
push eax
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x16c]
push eax
call fcn.0040d4b0
add esp, 0xc
lea eax, [ebp - 0x16c]
push eax
lea ecx, [ebp - 0x10c]
call fcn.0040cc10
cmp dword [ebp - 0x16c], 0
je 0x463036
mov ecx, dword [ebp - 0x16c]
call fcn.0040c380
cmp dword [ebp - 0x168], 0
je 0x463379
mov ecx, dword [ebp - 0x168]
call fcn.0040c380
jmp 0x463379
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 9
jne 0x4630fe
mov dword [ebp - 0x170], 0
push 0x518b90
call fcn.0040dc70
pop ecx
push eax
push 0x518b90
lea ecx, [ebp - 0x170]
call fcn.0040c560
cmp dword [ebp - 0x170], 0
je 0x46309e
mov ebx, dword [ebp - 0x170]
mov edx, dword [0x5022fc]
mov dword [ebx + 0x10], edx
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x174]
push eax
call fcn.0040d4b0
add esp, 0xc
lea eax, [ebp - 0x174]
push eax
lea ecx, [ebp - 0x10c]
call fcn.0040cc10
cmp dword [ebp - 0x174], 0
je 0x4630e1
mov ecx, dword [ebp - 0x174]
call fcn.0040c380
cmp dword [ebp - 0x170], 0
je 0x463379
mov ecx, dword [ebp - 0x170]
call fcn.0040c380
jmp 0x463379
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 0xc
jne 0x4631a9
mov dword [ebp - 0x178], 0
push 0x518b94
call fcn.0040dc70
pop ecx
push eax
push 0x518b94
lea ecx, [ebp - 0x178]
call fcn.0040c560
cmp dword [ebp - 0x178], 0
je 0x463149
mov ebx, dword [ebp - 0x178]
mov edx, dword [0x5022fc]
mov dword [ebx + 0x10], edx
lea eax, [ebp - 0x178]
push eax
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x17c]
push eax
call fcn.0040d4b0
add esp, 0xc
lea eax, [ebp - 0x17c]
push eax
lea ecx, [ebp - 0x10c]
call fcn.0040cc10
cmp dword [ebp - 0x17c], 0
je 0x46318c
mov ecx, dword [ebp - 0x17c]
call fcn.0040c380
cmp dword [ebp - 0x178], 0
je 0x463379
mov ecx, dword [ebp - 0x178]
call fcn.0040c380
jmp 0x463379
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 0xd
jne 0x463254
mov dword [ebp - 0x180], 0
push str.Enter
call fcn.0040dc70
pop ecx
push eax
push str.Enter
lea ecx, [ebp - 0x180]
call fcn.0040c560
cmp dword [ebp - 0x180], 0
je 0x4631f4
mov ebx, dword [ebp - 0x180]
mov edx, dword [0x5022fc]
mov dword [ebx + 0x10], edx
lea eax, [ebp - 0x180]
push eax
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x184]
push eax
call fcn.0040d4b0
add esp, 0xc
lea eax, [ebp - 0x184]
push eax
lea ecx, [ebp - 0x10c]
call fcn.0040cc10
cmp dword [ebp - 0x184], 0
je 0x463237
mov ecx, dword [ebp - 0x184]
call fcn.0040c380
cmp dword [ebp - 0x180], 0
je 0x463379
mov ecx, dword [ebp - 0x180]
call fcn.0040c380
jmp 0x463379
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 0x20
jb 0x463312
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 0x2f
ja 0x463312
mov eax, dword [ebp + 8]
mov edx, dword [eax + 8]
add edx, 0xffffffe0
mov ebx, dword [edx*4 + 0x518a80]
mov dword [ebp - 0x188], 0
cmp ebx, 0
je 0x4632b9
push ebx
call fcn.0040dc70
pop ecx
push eax
push ebx
lea ecx, [ebp - 0x188]
call fcn.0040c560
cmp dword [ebp - 0x188], 0
je 0x4632b9
mov ebx, dword [ebp - 0x188]
mov edx, dword [0x5022fc]
mov dword [ebx + 0x10], edx
lea eax, [ebp - 0x188]
push eax
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x18c]
push eax
call fcn.0040d4b0
add esp, 0xc
lea eax, [ebp - 0x18c]
push eax
lea ecx, [ebp - 0x10c]
call fcn.0040cc10
cmp dword [ebp - 0x18c], 0
je 0x4632fc
mov ecx, dword [ebp - 0x18c]
call fcn.0040c380
cmp dword [ebp - 0x188], 0
je 0x463379
mov ecx, dword [ebp - 0x188]
call fcn.0040c380
jmp 0x463379
mov edx, dword [ebp - 0x1d4]
and edx, 0x200
movzx edx, dl
push edx
mov eax, dword [ebp + 8]
push dword [eax + 8]
call fcn.00492aa0
pop ecx
pop ecx
mov byte [ebp - 0x1d6], al
movsx eax, byte [ebp - 0x1d6]
push eax
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x190]
push eax
call fcn.0040d700
add esp, 0xc
lea eax, [ebp - 0x190]
push eax
lea ecx, [ebp - 0x10c]
call fcn.0040cc10
cmp dword [ebp - 0x190], 0
je 0x463379
mov ecx, dword [ebp - 0x190]
call fcn.0040c380
mov eax, dword [0x518ac0]
mov dword [ebp - 0x1cc], eax
jmp 0x4637ba
cmp dword [ebp - 0x10c], 0
je 0x46339d
mov edx, dword [ebp - 0x10c]
mov esi, dword [edx + 0xc]
jmp 0x4633a2
mov esi, 0
mov eax, dword [ebp - 0x1cc]
cmp dword [eax + 0xc], 0
je 0x4633bc
mov eax, dword [ebp - 0x1cc]
mov edx, dword [eax + 0xc]
mov ebx, dword [edx + 0xc]
jmp 0x4633c1
mov ebx, 0
push esi
lea ecx, [ebp - 0x10c]
call fcn.0040cb50
push eax
push ebx
mov ecx, dword [ebp - 0x1cc]
add ecx, 0xc
call fcn.0040cb50
push eax
call fcn.0040ddf0
add esp, 0x10
cmp eax, 0
jne 0x4633ef
mov al, 1
jmp 0x4633f1
mov al, 0
cmp al, 0
je 0x4637ac
mov eax, dword [ebp - 0x1cc]
cmp dword [eax + 8], 0
jne 0x463492
push 0
call fcn.00467950
pop ecx
push 0
mov eax, dword [ebp - 0x1cc]
mov edx, dword [eax + 4]
and edx, 0xffff
movzx edx, dx
push edx
mov eax, dword [ebp - 0x1cc]
mov edx, dword [eax + 4]
shr edx, 0x10
movzx edx, dx
push edx
call dword [sym.imp.USER32.dll_GetMenuState]
mov dword [ebp - 0x1dc], eax
test dword [ebp - 0x1dc], 1
jne 0x46348d
mov eax, dword [ebp - 0x1cc]
mov edx, dword [eax + 4]
and edx, 0xffff
movzx edx, dx
push edx
push 0
call fcn.00467250
pop ecx
pop ecx
cmp al, 0
je 0x46348d
mov bl, 1
cmp dword [ebp - 0x10c], 0
je 0x463484
mov ecx, dword [ebp - 0x10c]
call fcn.0040c380
mov al, bl
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
jmp 0x4637ac
mov eax, dword [ebp - 0x1cc]
cmp dword [eax + 8], 1
jne 0x463550
mov eax, dword [ebp - 0x1cc]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x1e4], ecx
cmp dword [ebp - 0x1e4], 0
je 0x46354b
push 0x518af8
push dword [ebp - 0x1e4]
call dword [sym.imp.USER32.dll_GetPropA]
mov dword [ebp - 0x1e0], eax
cmp dword [ebp - 0x1e0], 0
je 0x46354b
push dword [ebp - 0x1e0]
call fcn.004849a0
pop ecx
push eax
call fcn.00460be0
pop ecx
cmp al, 0
je 0x46354b
mov eax, dword [ebp - 0x1e0]
cmp byte [eax + 0x3e], 0
je 0x46354b
mov eax, dword [ebp - 0x1e0]
cmp byte [eax + 0x3c], 0
je 0x46354b
mov ecx, dword [ebp - 0x1e0]
call fcn.00486b30
push 0
mov edx, dword [ebp - 0x1e0]
mov ecx, edx
mov esi, dword [ecx]
mov ecx, edx
call dword [esi + 0x188]
mov bl, 1
cmp dword [ebp - 0x10c], 0
je 0x463542
mov ecx, dword [ebp - 0x10c]
call fcn.0040c380
mov al, bl
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
jmp 0x4637ac
mov eax, dword [ebp - 0x1cc]
cmp dword [eax + 8], 3
jne 0x463605
mov eax, dword [ebp - 0x1cc]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x1e8], ecx
cmp dword [ebp - 0x1e8], 0
je 0x463600
mov eax, dword [ebp - 0x1e8]
push dword [eax + 0x20]
call fcn.004849a0
pop ecx
push eax
call fcn.00460be0
pop ecx
cmp al, 0
je 0x463600
mov eax, dword [ebp - 0x1e8]
cmp byte [eax + 0x31], 0
je 0x463600
mov eax, dword [ebp - 0x1e8]
cmp byte [eax + 0x30], 0
je 0x463600
push 0
push 0
push 0
mov eax, dword [ebp - 0x1e8]
mov edx, dword [eax + 0x20]
mov ecx, edx
mov esi, dword [ecx]
mov ecx, edx
call dword [esi + 0x20]
push 0
push 0
mov eax, dword [ebp - 0x1e8]
mov edx, dword [eax + 0x20]
mov ecx, edx
mov esi, dword [ecx]
mov ecx, edx
call dword [esi + 0x34]
call fcn.00469220
mov bl, 1
cmp dword [ebp - 0x10c], 0
je 0x4635f7
mov ecx, dword [ebp - 0x10c]
call fcn.0040c380
mov al, bl
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
jmp 0x4637ac
mov eax, dword [ebp - 0x1cc]
mov edx, dword [eax + 8]
and edx, 0xffff
movzx edx, dx
cmp edx, 2
jne 0x46373b
mov eax, dword [ebp - 0x1cc]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x1f0], ecx
cmp dword [ebp - 0x1f0], 0
je 0x463739
push 0x518af8
push dword [ebp - 0x1f0]
call dword [sym.imp.USER32.dll_GetPropA]
mov dword [ebp - 0x1ec], eax
cmp dword [ebp - 0x1ec], 0
je 0x463739
push dword [ebp - 0x1ec]
call fcn.004849a0
pop ecx
push eax
call fcn.00460be0
pop ecx
cmp al, 0
je 0x463739
mov eax, dword [ebp - 0x1ec]
cmp byte [eax + 0x3e], 0
je 0x463739
mov eax, dword [ebp - 0x1ec]
cmp byte [eax + 0x3c], 0
je 0x463739
push 0
push 0
push 0x130b
push dword [ebp - 0x1f0]
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [ebp - 0x1cc]
mov edx, dword [ecx + 8]
shr edx, 0x10
movzx edx, dx
cmp edx, eax
je 0x463739
mov ecx, dword [ebp - 0x1ec]
call fcn.00486b30
push 0
mov eax, dword [ebp - 0x1cc]
mov edx, dword [eax + 8]
shr edx, 0x10
movzx edx, dx
push edx
push 0x130c
push dword [ebp - 0x1f0]
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [ebp - 0x1ec]
cmp dword [eax + 0x1e4], 0
je 0x46371a
push dword [ebp - 0x1ec]
mov eax, dword [ebp - 0x1ec]
mov edx, dword [eax + 0x1e4]
mov ecx, edx
mov esi, dword [ecx]
mov ecx, edx
call dword [esi]
mov bl, 1
cmp dword [ebp - 0x10c], 0
je 0x463730
mov ecx, dword [ebp - 0x10c]
call fcn.0040c380
mov al, bl
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
jmp 0x4637ac
mov eax, dword [ebp - 0x1cc]
cmp dword [eax + 8], 4
jne 0x4637ac
mov eax, dword [ebp - 0x1cc]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x1f4], ecx
cmp dword [ebp - 0x1f4], 0
je 0x4637ac
push dword [ebp - 0x1f4]
call fcn.004849a0
pop ecx
push eax
call fcn.00460be0
pop ecx
cmp al, 0
je 0x4637ac
mov eax, dword [ebp - 0x1f4]
cmp byte [eax + 0x3c], 0
je 0x4637ac
mov ecx, dword [ebp - 0x1f4]
call fcn.004a56a0
mov bl, 1
cmp dword [ebp - 0x10c], 0
je 0x4637a3
mov ecx, dword [ebp - 0x10c]
call fcn.0040c380
mov al, bl
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x1cc]
mov ecx, dword [eax]
mov dword [ebp - 0x1cc], ecx
cmp dword [ebp - 0x1cc], 0
jne 0x463389
jmp 0x4637db
push dword [ebp - 0x1c4]
call dword [sym.imp.USER32.dll_GetParent]
mov dword [ebp - 0x1c4], eax
cmp dword [ebp - 0x1c4], 0
je 0x4637ff
push dword [ebp - 0x1c4]
call fcn.0040f3e0
pop ecx
mov dword [ebp - 0x1c0], eax
cmp dword [ebp - 0x1c0], 0
je 0x4637c9
cmp dword [ebp - 0x1c4], 0
jne 0x463827
mov bl, 0
cmp dword [ebp - 0x10c], 0
je 0x46381e
mov ecx, dword [ebp - 0x10c]
call fcn.0040c380
mov al, bl
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
cmp dword [ebp - 0x1c0], 0
jne 0x46384f
mov bl, 0
cmp dword [ebp - 0x10c], 0
je 0x463846
mov ecx, dword [ebp - 0x10c]
call fcn.0040c380
mov al, bl
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
push dword [ebp - 0x1c0]
lea ecx, [ebp - 0x114]
call fcn.0047f230
push dword [ebp - 0x1c8]
lea ecx, [ebp - 0x11c]
call fcn.0047f230
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
sub eax, 0x10
cmp eax, 4
jbe 0x463891
sub eax, 0x4b
cmp eax, 2
jbe 0x463891
sub eax, 0x35
cmp eax, 1
jbe 0x463891
jmp 0x4638f5
mov dword [ebp - 0x194], 0
push 0x518b5a
call fcn.0040dc70
pop ecx
push eax
push 0x518b5a
lea ecx, [ebp - 0x194]
call fcn.0040c560
cmp dword [ebp - 0x194], 0
je 0x4638cf
mov ebx, dword [ebp - 0x194]
mov edx, dword [0x5022fc]
mov dword [ebx + 0x10], edx
lea eax, [ebp - 0x194]
push eax
lea ecx, [ebp - 0x10c]
call fcn.0040cc10
cmp dword [ebp - 0x194], 0
je 0x4638f5
mov ecx, dword [ebp - 0x194]
call fcn.0040c380
mov byte [ebp - 0x1d5], 1
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 0xd
jne 0x46391b
mov eax, dword [ebp + 8]
test dword [eax + 0xc], 0x1000000
je 0x46391b
mov eax, dword [ebp + 8]
mov dword [eax + 8], 0x97
cmp dword [ebp - 0x118], 0
je 0x4639c3
mov ecx, dword [ebp - 0x118]
mov edx, dword [ebp - 0x110]
cmp ecx, edx
jne 0x46393f
mov byte [ebp - 0x1d5], 0
push 0x518b5a
lea ecx, [ebp - 0x10c]
call fcn.0040caf0
push eax
call fcn.0040dd10
pop ecx
pop ecx
cmp eax, 0
jne 0x463960
mov al, 0
jmp 0x463962
mov al, 1
cmp al, 0
je 0x4639c3
movsx eax, word [ebp - 0x1d4]
push eax
push 0
mov eax, dword [ebp + 8]
movzx eax, byte [eax + 8]
push eax
mov edx, dword [ebp - 0x118]
mov ecx, edx
mov esi, dword [ecx]
mov ecx, edx
call dword [esi + 0xa8]
cmp al, 0
je 0x4639c3
mov bl, 1
lea ecx, [ebp - 0x11c]
call fcn.0047f270
lea ecx, [ebp - 0x114]
call fcn.0047f270
cmp dword [ebp - 0x10c], 0
je 0x4639ba
mov ecx, dword [ebp - 0x10c]
call fcn.0040c380
mov al, bl
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
cmp dword [ebp - 0x110], 0
jne 0x463a01
mov bl, 1
lea ecx, [ebp - 0x11c]
call fcn.0047f270
lea ecx, [ebp - 0x114]
call fcn.0047f270
cmp dword [ebp - 0x10c], 0
je 0x4639f8
mov ecx, dword [ebp - 0x10c]
call fcn.0040c380
mov al, bl
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
cmp byte [ebp - 0x1d5], 0
je 0x463a92
push 0x518b5a
lea ecx, [ebp - 0x10c]
call fcn.0040caf0
push eax
call fcn.0040dd10
pop ecx
pop ecx
cmp eax, 0
jne 0x463a2f
mov al, 0
jmp 0x463a31
mov al, 1
cmp al, 0
je 0x463a92
movsx eax, word [ebp - 0x1d4]
push eax
push 0
mov eax, dword [ebp + 8]
movzx eax, byte [eax + 8]
push eax
mov edx, dword [ebp - 0x110]
mov ecx, edx
mov esi, dword [ecx]
mov ecx, edx
call dword [esi + 0xa8]
cmp al, 0
je 0x463a92
mov bl, 1
lea ecx, [ebp - 0x11c]
call fcn.0047f270
lea ecx, [ebp - 0x114]
call fcn.0047f270
cmp dword [ebp - 0x10c], 0
je 0x463a89
mov ecx, dword [ebp - 0x10c]
call fcn.0040c380
mov al, bl
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
cmp dword [ebp - 0x110], 0
jne 0x463ad0
mov bl, 1
lea ecx, [ebp - 0x11c]
call fcn.0047f270
lea ecx, [ebp - 0x114]
call fcn.0047f270
cmp dword [ebp - 0x10c], 0
je 0x463ac7
mov ecx, dword [ebp - 0x10c]
call fcn.0040c380
mov al, bl
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 0x28
je 0x463af8
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 0x26
je 0x463af8
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 0x25
je 0x463af8
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 0x27
jne 0x463f4c
mov dword [ebp - 0x198], 0
lea edx, [ebp - 0x108]
lea eax, [ebp - 0x108]
push eax
call fcn.0040dc70
pop ecx
push eax
lea eax, [ebp - 0x108]
push eax
lea ecx, [ebp - 0x198]
call fcn.0040c560
cmp dword [ebp - 0x198], 0
je 0x463b40
mov ebx, dword [ebp - 0x198]
mov edx, dword [0x5022fc]
mov dword [ebx + 0x10], edx
push str.RICHEDIT
lea ecx, [ebp - 0x198]
call fcn.0040caf0
push eax
call fcn.0040dd10
pop ecx
pop ecx
cmp eax, 0
jne 0x463b61
mov bl, 0
jmp 0x463b63
mov bl, 1
cmp dword [ebp - 0x198], 0
je 0x463b77
mov ecx, dword [ebp - 0x198]
call fcn.0040c380
cmp bl, 0
je 0x4644d9
mov dword [ebp - 0x19c], 0
lea edx, [ebp - 0x108]
lea eax, [ebp - 0x108]
push eax
call fcn.0040dc70
pop ecx
push eax
lea eax, [ebp - 0x108]
push eax
lea ecx, [ebp - 0x19c]
call fcn.0040c560
cmp dword [ebp - 0x19c], 0
je 0x463bc8
mov ebx, dword [ebp - 0x19c]
mov edx, dword [0x5022fc]
mov dword [ebx + 0x10], edx
push str.RICHEDIT20W
lea ecx, [ebp - 0x19c]
call fcn.0040caf0
push eax
call fcn.0040dd10
pop ecx
pop ecx
cmp eax, 0
jne 0x463be9
mov bl, 0
jmp 0x463beb
mov bl, 1
cmp dword [ebp - 0x19c], 0
je 0x463bff
mov ecx, dword [ebp - 0x19c]
call fcn.0040c380
cmp bl, 0
je 0x4644d9
mov dword [ebp - 0x1a0], 0
lea edx, [ebp - 0x108]
lea eax, [ebp - 0x108]
push eax
call fcn.0040dc70
pop ecx
push eax
lea eax, [ebp - 0x108]
push eax
lea ecx, [ebp - 0x1a0]
call fcn.0040c560
cmp dword [ebp - 0x1a0], 0
je 0x463c50
mov ebx, dword [ebp - 0x1a0]
mov edx, dword [0x5022fc]
mov dword [ebx + 0x10], edx
push str.SCROLLBAR
lea ecx, [ebp - 0x1a0]
call fcn.0040caf0
push eax
call fcn.0040dd10
pop ecx
pop ecx
cmp eax, 0
jne 0x463c71
mov bl, 0
jmp 0x463c73
mov bl, 1
cmp dword [ebp - 0x1a0], 0
je 0x463c87
mov ecx, dword [ebp - 0x1a0]
call fcn.0040c380
cmp bl, 0
je 0x4644d9
mov dword [ebp - 0x1a4], 0
lea edx, [ebp - 0x108]
lea eax, [ebp - 0x108]
push eax
call fcn.0040dc70
pop ecx
push eax
lea eax, [ebp - 0x108]
push eax
lea ecx, [ebp - 0x1a4]
call fcn.0040c560
cmp dword [ebp - 0x1a4], 0
je 0x463cd8
mov ebx, dword [ebp - 0x1a4]
mov edx, dword [0x5022fc]
mov dword [ebx + 0x10], edx
push 0x518bbd
lea ecx, [ebp - 0x1a4]
call fcn.0040caf0
push eax
call fcn.0040dd10
pop ecx
pop ecx
cmp eax, 0
jne 0x463cf9
mov bl, 0
jmp 0x463cfb
mov bl, 1
cmp dword [ebp - 0x1a4], 0
je 0x463d0f
mov ecx, dword [ebp - 0x1a4]
call fcn.0040c380
cmp bl, 0
je 0x4644d9
mov dword [ebp - 0x1a8], 0
lea edx, [ebp - 0x108]
lea eax, [ebp - 0x108]
push eax
call fcn.0040dc70
pop ecx
push eax
lea eax, [ebp - 0x108]
push eax
lea ecx, [ebp - 0x1a8]
call fcn.0040c560
cmp dword [ebp - 0x1a8], 0
je 0x463d60
mov ebx, dword [ebp - 0x1a8]
mov edx, dword [0x5022fc]
mov dword [ebx + 0x10], edx
push 0x518bcd
lea ecx, [ebp - 0x1a8]
call fcn.0040caf0
push eax
call fcn.0040dd10
pop ecx
pop ecx
cmp eax, 0
jne 0x463d81
mov bl, 0
jmp 0x463d83
mov bl, 1
cmp dword [ebp - 0x1a8], 0
je 0x463d97
mov ecx, dword [ebp - 0x1a8]
call fcn.0040c380
cmp bl, 0
je 0x4644d9
mov dword [ebp - 0x1ac], 0
lea edx, [ebp - 0x108]
lea eax, [ebp - 0x108]
push eax
call fcn.0040dc70
pop ecx
push eax
lea eax, [ebp - 0x108]
push eax
lea ecx, [ebp - 0x1ac]
call fcn.0040c560
cmp dword [ebp - 0x1ac], 0
je 0x463de8
mov ebx, dword [ebp - 0x1ac]
mov edx, dword [0x5022fc]
mov dword [ebx + 0x10], edx
push 0x518bdf
lea ecx, [ebp - 0x1ac]
call fcn.0040caf0
push eax
call fcn.0040dd10
pop ecx
pop ecx
cmp eax, 0
jne 0x463e09
mov bl, 0
jmp 0x463e0b
mov bl, 1
cmp dword [ebp - 0x1ac], 0
je 0x463e1f
mov ecx, dword [ebp - 0x1ac]
call fcn.0040c380
cmp bl, 0
je 0x4644d9
mov dword [ebp - 0x124], 0
mov eax, dword [ebp - 0x1c8]
mov dword [ebp - 0x128], eax
mov byte [ebp - 0x120], 0
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 0x25
je 0x463e57
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 0x26
jne 0x463e9e
lea eax, [ebp - 0x128]
push eax
push 0x462330
mov edx, dword [ebp - 0x1c0]
mov ecx, edx
mov esi, dword [ecx]
mov ecx, edx
call dword [esi + 0x108]
cmp dword [ebp - 0x124], 0
jne 0x463ee3
lea eax, [ebp - 0x128]
push eax
push 0x462380
mov edx, dword [ebp - 0x1c0]
mov ecx, edx
mov esi, dword [ecx]
mov ecx, edx
call dword [esi + 0x108]
jmp 0x463ee3
lea eax, [ebp - 0x128]
push eax
push 0x4623c0
mov edx, dword [ebp - 0x1c0]
mov ecx, edx
mov esi, dword [ecx]
mov ecx, edx
call dword [esi + 0x108]
cmp dword [ebp - 0x124], 0
jne 0x463ee3
lea eax, [ebp - 0x128]
push eax
push 0x462420
mov edx, dword [ebp - 0x1c0]
mov ecx, edx
mov esi, dword [ecx]
mov ecx, edx
call dword [esi + 0x108]
cmp dword [ebp - 0x124], 0
je 0x463f17
mov eax, dword [ebp - 0x1c8]
cmp dword [ebp - 0x124], eax
je 0x463f17
mov edx, dword [ebp - 0x124]
mov ecx, edx
mov esi, dword [ecx]
mov ecx, edx
call dword [esi + 0xb4]
mov ecx, dword [ebp - 0x124]
call fcn.00486b30
mov bl, 1
lea ecx, [ebp - 0x11c]
call fcn.0047f270
lea ecx, [ebp - 0x114]
call fcn.0047f270
cmp dword [ebp - 0x10c], 0
je 0x463f43
mov ecx, dword [ebp - 0x10c]
call fcn.0040c380
mov al, bl
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 9
jne 0x464254
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
movsx eax, ax
test eax, 0x8000
je 0x463fa0
mov bl, 0
lea ecx, [ebp - 0x11c]
call fcn.0047f270
lea ecx, [ebp - 0x114]
call fcn.0047f270
cmp dword [ebp - 0x10c], 0
je 0x463f97
mov ecx, dword [ebp - 0x10c]
call fcn.0040c380
mov al, bl
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov dword [ebp - 0x130], 0
mov eax, dword [ebp - 0x1c8]
mov dword [ebp - 0x134], eax
mov byte [ebp - 0x12c], 0
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
movsx eax, ax
test eax, 0x8000
je 0x46401d
lea eax, [ebp - 0x134]
push eax
push 0x462330
mov edx, dword [ebp - 0x1c0]
mov ecx, edx
mov esi, dword [ecx]
mov ecx, edx
call dword [esi + 0x108]
cmp dword [ebp - 0x130], 0
jne 0x4641eb
lea eax, [ebp - 0x134]
push eax
push 0x462380
mov edx, dword [ebp - 0x1c0]
mov ecx, edx
mov esi, dword [ecx]
mov ecx, edx
call dword [esi + 0x108]
jmp 0x4641eb
mov dword [ebp - 0x1b0], 0
lea edx, [ebp - 0x108]
lea eax, [ebp - 0x108]
push eax
call fcn.0040dc70
pop ecx
push eax
lea eax, [ebp - 0x108]
push eax
lea ecx, [ebp - 0x1b0]
call fcn.0040c560
cmp dword [ebp - 0x1b0], 0
je 0x464065
mov ebx, dword [ebp - 0x1b0]
mov edx, dword [0x5022fc]
mov dword [ebx + 0x10], edx
push str.RICHEDIT
lea ecx, [ebp - 0x1b0]
call fcn.0040cb50
push eax
call fcn.0040dd10
pop ecx
pop ecx
cmp eax, 0
jne 0x464086
mov bl, 1
jmp 0x464088
mov bl, 0
cmp dword [ebp - 0x1b0], 0
je 0x46409c
mov ecx, dword [ebp - 0x1b0]
call fcn.0040c380
cmp bl, 0
jne 0x464129
mov dword [ebp - 0x1b4], 0
lea edx, [ebp - 0x108]
lea eax, [ebp - 0x108]
push eax
call fcn.0040dc70
pop ecx
push eax
lea eax, [ebp - 0x108]
push eax
lea ecx, [ebp - 0x1b4]
call fcn.0040c560
cmp dword [ebp - 0x1b4], 0
je 0x4640ed
mov ebx, dword [ebp - 0x1b4]
mov edx, dword [0x5022fc]
mov dword [ebx + 0x10], edx
push str.RICHEDIT20W
lea ecx, [ebp - 0x1b4]
call fcn.0040cb50
push eax
call fcn.0040dd10
pop ecx
pop ecx
cmp eax, 0
jne 0x46410e
mov bl, 1
jmp 0x464110
mov bl, 0
cmp dword [ebp - 0x1b4], 0
je 0x464124
mov ecx, dword [ebp - 0x1b4]
call fcn.0040c380
cmp bl, 0
je 0x4641a6
call fcn.004691a0
mov dword [ebp - 0x1f8], eax
cmp dword [ebp - 0x1f8], 0
je 0x4641a6
mov eax, dword [ebp + 8]
mov ebx, dword [eax]
mov eax, dword [ebp - 0x1f8]
mov edx, dword [eax + 0x58]
cmp ebx, edx
jne 0x4641a6
mov eax, dword [ebp - 0x1f8]
mov dword [ebp - 0x1fc], eax
mov edx, dword [ebp - 0x1fc]
mov ecx, edx
mov esi, dword [ecx]
mov ecx, edx
call dword [esi + 0x2e8]
cmp al, 0
je 0x4641a6
mov bl, 0
lea ecx, [ebp - 0x11c]
call fcn.0047f270
lea ecx, [ebp - 0x114]
call fcn.0047f270
cmp dword [ebp - 0x10c], 0
je 0x46419d
mov ecx, dword [ebp - 0x10c]
call fcn.0040c380
mov al, bl
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
lea eax, [ebp - 0x134]
push eax
push 0x4623c0
mov edx, dword [ebp - 0x1c0]
mov ecx, edx
mov esi, dword [ecx]
mov ecx, edx
call dword [esi + 0x108]
cmp dword [ebp - 0x130], 0
jne 0x4641eb
lea eax, [ebp - 0x134]
push eax
push 0x462420
mov edx, dword [ebp - 0x1c0]
mov ecx, edx
mov esi, dword [ecx]
mov ecx, edx
call dword [esi + 0x108]
cmp dword [ebp - 0x130], 0
je 0x46421f
mov eax, dword [ebp - 0x1c8]
cmp dword [ebp - 0x130], eax
je 0x46421f
mov edx, dword [ebp - 0x130]
mov ecx, edx
mov esi, dword [ecx]
mov ecx, edx
call dword [esi + 0xb4]
mov ecx, dword [ebp - 0x130]
call fcn.00486b30
mov bl, 1
lea ecx, [ebp - 0x11c]
call fcn.0047f270
lea ecx, [ebp - 0x114]
call fcn.0047f270
cmp dword [ebp - 0x10c], 0
je 0x46424b
mov ecx, dword [ebp - 0x10c]
call fcn.0040c380
mov al, bl
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 0xd
je 0x46426d
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 0x97
jne 0x464468
call fcn.004691a0
mov dword [ebp - 0x200], eax
mov dword [ebp - 0x1b8], 0
lea edx, [ebp - 0x108]
lea eax, [ebp - 0x108]
push eax
call fcn.0040dc70
pop ecx
push eax
lea eax, [ebp - 0x108]
push eax
lea ecx, [ebp - 0x1b8]
call fcn.0040c560
cmp dword [ebp - 0x1b8], 0
je 0x4642c0
mov ebx, dword [ebp - 0x1b8]
mov edx, dword [0x5022fc]
mov dword [ebx + 0x10], edx
push str.RICHEDIT
lea ecx, [ebp - 0x1b8]
call fcn.0040cb50
push eax
call fcn.0040dd10
pop ecx
pop ecx
cmp eax, 0
jne 0x4642e1
mov bl, 1
jmp 0x4642e3
mov bl, 0
cmp dword [ebp - 0x1b8], 0
je 0x4642f7
mov ecx, dword [ebp - 0x1b8]
call fcn.0040c380
cmp bl, 0
jne 0x464384
mov dword [ebp - 0x1bc], 0
lea edx, [ebp - 0x108]
lea eax, [ebp - 0x108]
push eax
call fcn.0040dc70
pop ecx
push eax
lea eax, [ebp - 0x108]
push eax
lea ecx, [ebp - 0x1bc]
call fcn.0040c560
cmp dword [ebp - 0x1bc], 0
je 0x464348
mov ebx, dword [ebp - 0x1bc]
mov edx, dword [0x5022fc]
mov dword [ebx + 0x10], edx
push str.RICHEDIT20W
lea ecx, [ebp - 0x1bc]
call fcn.0040cb50
push eax
call fcn.0040dd10
pop ecx
pop ecx
cmp eax, 0
jne 0x464369
mov bl, 1
jmp 0x46436b
mov bl, 0
cmp dword [ebp - 0x1bc], 0
je 0x46437f
mov ecx, dword [ebp - 0x1bc]
call fcn.0040c380
cmp bl, 0
je 0x4643ff
cmp dword [ebp - 0x200], 0
je 0x4643ff
mov eax, dword [ebp + 8]
mov ebx, dword [eax]
mov eax, dword [ebp - 0x200]
mov edx, dword [eax + 0x58]
cmp ebx, edx
jne 0x4643ff
mov eax, dword [ebp - 0x200]
mov dword [ebp - 0x204], eax
mov edx, dword [ebp - 0x204]
mov ecx, edx
mov esi, dword [ecx]
mov ecx, edx
call dword [esi + 0x1e8]
cmp al, 0
je 0x4643ff
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 0xd
jne 0x4643ff
mov bl, 0
lea ecx, [ebp - 0x11c]
call fcn.0047f270
lea ecx, [ebp - 0x114]
call fcn.0047f270
cmp dword [ebp - 0x10c], 0
je 0x4643f6
mov ecx, dword [ebp - 0x10c]
call fcn.0040c380
mov al, bl
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov edx, dword [ebp - 0x1c0]
mov ecx, edx
mov esi, dword [ecx]
mov ecx, edx
call dword [esi + 0xfc]
mov dword [ebp - 0x208], eax
cmp dword [ebp - 0x208], 0
je 0x46444b
cmp dword [ebp - 0x200], 0
je 0x46444b
mov edx, dword [ebp - 0x200]
mov ecx, edx
mov esi, dword [ecx]
mov ecx, edx
call dword [esi + 0x94]
cmp al, 0
je 0x46444b
mov eax, dword [ebp - 0x200]
mov dword [ebp - 0x208], eax
cmp dword [ebp - 0x208], 0
je 0x464466
mov edx, dword [ebp - 0x208]
mov ecx, edx
mov esi, dword [ecx]
mov ecx, edx
call dword [esi + 0x104]
jmp 0x4644d9
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 0x1b
jne 0x4644d9
mov edx, dword [ebp - 0x1c0]
mov ecx, edx
mov esi, dword [ecx]
mov ecx, edx
call dword [esi + 0x100]
mov dword [ebp - 0x20c], eax
cmp dword [ebp - 0x20c], 0
je 0x4644d9
mov edx, dword [ebp - 0x20c]
mov ecx, edx
mov esi, dword [ecx]
mov ecx, edx
call dword [esi + 0x104]
mov bl, 1
lea ecx, [ebp - 0x11c]
call fcn.0047f270
lea ecx, [ebp - 0x114]
call fcn.0047f270
cmp dword [ebp - 0x10c], 0
je 0x4644d0
mov ecx, dword [ebp - 0x10c]
call fcn.0040c380
mov al, bl
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
lea ecx, [ebp - 0x11c]
call fcn.0047f270
lea ecx, [ebp - 0x114]
call fcn.0047f270
cmp dword [ebp - 0x10c], 0
je 0x464503
mov ecx, dword [ebp - 0x10c]
call fcn.0040c380
mov al, 0
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret