Function at 0x426f60
Capabilities:
Get keyboard layout

Disassembly:
sub esp, 8
mov ah, byte [0x4e9aaf]
push ebx
mov ebx, dword [esp + 0x10]
mov word [esp + 8], 0x920
mov byte [esp + 0xa], ah
mov byte [esp + 0xb], 0
push ebp
mov ebp, ecx
mov dword [esp + 8], ebp
push esi
push edi
mov edi, ebx
test ebx, ebx
je 0x426fb8
mov dl, byte [ebx]
test dl, dl
je 0x426fb8
lea ecx, [esp + 0x14]
mov al, 0x20
nop dword [eax]
cmp dl, al
je 0x427033
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x426fa0
mov dl, byte [edi + 1]
inc edi
test dl, dl
jne 0x426f93
mov ecx, ebx
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x426fc0
sub ecx, edx
lea edi, [ecx + ebx]
xor esi, esi
sub edi, ebx
mov edx, str.Include
push 0xffffffffffffffff
push edi
mov ecx, ebx
call fcn.0049e1b0
add esp, 8
test eax, eax
je 0x427b58
push 0xffffffffffffffff
push edi
mov edx, str.IncludeAgain
mov ecx, ebx
call fcn.0049e1b0
add esp, 8
test eax, eax
je 0x427b58
push 0xffffffffffffffff
push edi
mov edx, str.NoEnv
mov ecx, ebx
call fcn.0049e1b0
add esp, 8
test eax, eax
jne 0x427063
mov dword [0x4e9ac8], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
mov esi, edi
mov al, byte [esi]
cmp al, 0x20
je 0x42703f
cmp al, 9
jne 0x427042
inc esi
jmp 0x427035
test al, al
je 0x426fcc
cmp al, ah
jne 0x426fce
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x42704a
cmp al, 9
je 0x42704a
test al, al
jne 0x426fce
jmp 0x426fcc
push 0xffffffffffffffff
push edi
mov edx, str.NoTrayIcon
mov ecx, ebx
call fcn.0049e1b0
add esp, 8
test eax, eax
jne 0x42708f
mov byte [0x4ec079], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.Persistent
mov ecx, ebx
call fcn.0049e1b0
add esp, 8
test eax, eax
jne 0x4270bb
mov byte [0x4eb74d], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.SingleInstance
mov ecx, ebx
call fcn.0049e1b0
add esp, 8
test eax, eax
jne 0x42716c
mov dword [0x4eb760], 1
test esi, esi
je 0x427b58
push str.Force
push esi
call fcn.004b626e
add esp, 8
test eax, eax
jne 0x427112
mov dword [0x4eb760], 2
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
push str.Ignore
push esi
call fcn.004b626e
add esp, 8
test eax, eax
jne 0x42713d
mov dword [0x4eb760], 3
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
push 0x4d9c04
push esi
call fcn.004b626e
add esp, 8
test eax, eax
jne 0x427b58
mov dword [0x4eb760], 4
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.InstallKeybdHook
mov ecx, ebx
call fcn.0049e1b0
add esp, 8
test eax, eax
jne 0x427198
or byte [0x4ec1be], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.InstallMouseHook
mov ecx, ebx
call fcn.0049e1b0
add esp, 8
test eax, eax
jne 0x4271c4
or byte [0x4ec1be], 2
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.UseHook
mov ecx, ebx
call fcn.0049e1b0
add esp, 8
test eax, eax
jne 0x42725a
test esi, esi
je 0x427244
cmp byte [esi], al
je 0x427244
push 0x4d9bfc
push esi
call fcn.004b626e
add esp, 8
test eax, eax
je 0x427244
push 0x4d9c00
push esi
call fcn.004b6442
add esp, 8
test eax, eax
je 0x427244
push 0x4d9c04
push esi
call fcn.004b626e
add esp, 8
test eax, eax
je 0x42722e
push 0x4d5290
push esi
call fcn.004b6442
add esp, 8
test eax, eax
jne 0x427244
xor al, al
mov byte [0x4eb7cf], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
mov al, 1
mov byte [0x4eb7cf], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
push 0xffffffffffffffff
push edi
mov edx, 0x4d6144
mov ecx, ebx
call fcn.0049e1b0
add esp, 8
test eax, eax
jne 0x427353
test esi, esi
je 0x42747b
mov edi, dword [0x4ec064]
test edi, edi
je 0x4272a1
push dword [edi + 4]
push esi
call fcn.004b6442
add esp, 8
test eax, eax
je 0x42732a
mov edi, dword [edi + 0x10]
test edi, edi
jne 0x427286
mov dword [0x4ec070], 0
mov eax, dword [0x4e88cc]
mov ecx, ebp
push 0
push 0
push 0
mov edi, dword [eax + 0x94]
push 0x4d5231
push 0
push 0xe5
mov dword [eax + 0x94], 0
push esi
mov byte [ebp + 0x25], 1
call fcn.00428ae0
test eax, eax
je 0x427347
mov eax, dword [0x4e88cc]
mov byte [ebp + 0x25], 0
mov dword [eax + 0x94], edi
mov esi, dword [ebp + 0x354]
call fcn.0040bfa0
mov dword [0x4ec070], eax
test eax, eax
je 0x427347
mov byte [eax], 5
mov dword [eax + 0xc], esi
mov ecx, dword [esi + 8]
mov ecx, dword [ecx + 4]
mov dword [eax + 4], ecx
mov dword [eax + 8], 0x4d5231
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
mov dword [0x4ec070], edi
test edi, edi
je 0x4272ab
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.IfTimeout
mov ecx, ebx
call fcn.0049e1b0
add esp, 8
test eax, eax
jne 0x4273f5
test esi, esi
je 0x427b58
mov ecx, esi
mov al, byte [ecx]
cmp al, 0x20
je 0x427381
cmp al, 9
jne 0x427384
inc ecx
jmp 0x427377
test al, al
je 0x4273d8
cmp al, 0x2d
je 0x427390
cmp al, 0x2b
jne 0x427397
lea eax, [ecx + 1]
mov ecx, eax
mov al, byte [eax]
cmp al, 0x30
jne 0x4273d8
mov al, byte [ecx + 1]
cmp al, 0x78
je 0x4273a6
cmp al, 0x58
jne 0x4273d8
movsx eax, byte [ecx + 2]
push eax
call fcn.004b99b0
add esp, 4
test eax, eax
je 0x4273d8
push 0x10
push 0
push esi
call fcn.004b9a3b
mov dword [0x4e9ab4], eax
add esp, 0xc
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
push esi
call fcn.004b94ac
mov dword [0x4e9ab4], eax
add esp, 4
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
push 6
push str.IfWin
push ebx
call fcn.004b653e
add esp, 0xc
test eax, eax
jne 0x4275d5
push 3
lea eax, [ebx + 6]
push 0x4d9cd8
push eax
call fcn.004b653e
add esp, 0xc
mov edx, 9
test eax, eax
sete cl
test eax, eax
mov byte [esp + 0x1c], cl
mov ecx, 6
cmove ecx, edx
push 6
push str.Active
lea edi, [ecx + ebx]
push edi
call fcn.004b653e
add esp, 0xc
test eax, eax
jne 0x427455
inc byte [esp + 0x1c]
jmp 0x427477
push 5
push str.Exist
push edi
call fcn.004b653e
add esp, 0xc
test eax, eax
jne 0x4275c6
mov al, byte [esp + 0x1c]
add al, 3
mov byte [esp + 0x1c], al
test esi, esi
jne 0x427494
mov dword [0x4ec070], 0
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
mov ah, byte [0x4e9aaf]
xor ebp, ebp
mov ch, byte [0x4e9aae]
mov edx, esi
mov al, byte [edx]
test al, al
je 0x427503
mov cl, al
nop dword [eax]
mov al, cl
cmp cl, byte [0x4e9aad]
je 0x4274d0
cmp cl, ah
je 0x4274cc
cmp cl, ch
je 0x4274cc
mov al, byte [edx + 1]
inc edx
mov cl, al
test al, al
jne 0x4274b0
test al, al
je 0x427503
cmp al, ch
je 0x4274ea
cmp al, ah
jne 0x4274e1
test ebp, ebp
jne 0x4274ea
mov ebp, edx
inc edx
jmp 0x4274a4
inc edx
cmp byte [edx], 0
je 0x427503
inc edx
jmp 0x4274a4
mov ecx, dword [esp + 0x10]
push ebx
push str.Literal_commas_and_percent_signs_must_be_escaped__e.g.____
call fcn.0043ed90
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
test ebp, ebp
je 0x427581
lea edi, [ebp + 1]
nop word [eax + eax]
mov al, byte [edi]
cmp al, 0x20
je 0x42751a
cmp al, 9
jne 0x42751d
inc edi
jmp 0x427510
mov byte [ebp], 0
sub ebp, esi
cmp byte [esi], 0
je 0x427573
cmp ebp, 0xffffffff
jne 0x42753c
mov ebp, esi
lea ecx, [ebp + 1]
mov al, byte [ebp]
inc ebp
test al, al
jne 0x427532
sub ebp, ecx
lea eax, [ebp - 1]
add eax, esi
mov cl, byte [eax]
cmp cl, 0x20
je 0x42754d
cmp cl, 9
jne 0x427554
cmp eax, esi
je 0x427566
dec eax
jmp 0x427541
push 1
mov ecx, edi
mov byte [eax + 1], 0
call fcn.004a01b0
add esp, 4
jmp 0x427586
cmp cl, 0x20
je 0x427570
cmp cl, 9
jne 0x427573
mov byte [eax], 0
push 1
mov ecx, edi
call fcn.004a01b0
add esp, 4
jmp 0x427586
mov edi, 0x4d5231
push 1
mov ecx, esi
call fcn.004a01b0
mov cl, byte [esp + 0x20]
add esp, 4
mov edx, esi
push edi
call fcn.0040bcc0
add esp, 4
test eax, eax
jne 0x427b58
mov ecx, dword [esp + 0x10]
push 0x4d5231
push str.Out_of_memory.
call fcn.0043ed90
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
mov eax, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
push 0xffffffffffffffff
push edi
mov edx, 0x4dc6c0
mov ecx, ebx
call fcn.0049e1b0
add esp, 8
test eax, eax
jne 0x4276f8
test esi, esi
je 0x427b58
mov edx, str.EndChars
mov ecx, esi
call fcn.0049e4d0
mov edi, eax
test edi, edi
je 0x42767b
mov dl, byte [edi]
test dl, dl
je 0x427b58
mov ecx, 0x4dc6cc
mov al, 9
nop word [eax + eax]
cmp dl, al
je 0x427643
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x427620
mov dl, byte [edi + 1]
inc edi
test dl, dl
jne 0x427613
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
push 0x64
lea eax, [edi + 1]
push eax
push str._____:____.___n__t
call fcn.004ba990
add esp, 0xc
mov byte [0x4e9aac], 0
mov ecx, str._____:____.___n__t
push 0
call fcn.004a01b0
add esp, 4
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
push 7
push str.NoMouse
push esi
call fcn.004b653e
add esp, 0xc
test eax, eax
jne 0x4276a3
mov byte [0x4e9a44], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
push 0x4eb74c
push 0x4eb7d1
push 0x4eb7d2
push 0x4e9a45
push 0x4eb8c9
push 0x4eb7d3
push 0x4e9a46
push 0x4e9a47
push 0x4eb8c8
push 0x4e9ab0
push 0x4eb8cc
mov edx, 0x4eb8d0
mov ecx, esi
call fcn.0040efd0
add esp, 0x2c
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.HotkeyModifierTimeout
mov ecx, ebx
call fcn.0049e1b0
add esp, 8
test eax, eax
jne 0x42779e
test esi, esi
je 0x427b58
mov ecx, esi
nop dword [eax]
mov al, byte [ecx]
cmp al, 0x20
je 0x42772a
cmp al, 9
jne 0x42772d
inc ecx
jmp 0x427720
test al, al
je 0x427781
cmp al, 0x2d
je 0x427739
cmp al, 0x2b
jne 0x427740
lea eax, [ecx + 1]
mov ecx, eax
mov al, byte [eax]
cmp al, 0x30
jne 0x427781
mov al, byte [ecx + 1]
cmp al, 0x78
je 0x42774f
cmp al, 0x58
jne 0x427781
movsx eax, byte [ecx + 2]
push eax
call fcn.004b99b0
add esp, 4
test eax, eax
je 0x427781
push 0x10
push 0
push esi
call fcn.004b9ad3
mov dword [0x4e9acc], eax
add esp, 0xc
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
push esi
call fcn.004b9548
mov dword [0x4e9acc], eax
add esp, 4
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.HotkeyInterval
mov ecx, ebx
call fcn.0049e1b0
add esp, 8
test eax, eax
jne 0x427841
test esi, esi
je 0x427b58
mov ecx, esi
mov al, byte [ecx]
cmp al, 0x20
je 0x4277cc
cmp al, 9
jne 0x4277cf
inc ecx
jmp 0x4277c2
test al, al
je 0x427811
cmp al, 0x2d
je 0x4277db
cmp al, 0x2b
jne 0x4277e2
lea eax, [ecx + 1]
mov ecx, eax
mov al, byte [eax]
cmp al, 0x30
jne 0x427811
mov al, byte [ecx + 1]
cmp al, 0x78
je 0x4277f1
cmp al, 0x58
jne 0x427811
movsx eax, byte [ecx + 2]
push eax
call fcn.004b99b0
add esp, 4
test eax, eax
je 0x427811
push 0x10
push 0
push esi
call fcn.004b9ad3
add esp, 0xc
jmp 0x42781a
push esi
call fcn.004b9548
add esp, 4
mov dword [0x4e9ab8], eax
cmp eax, 0xa
jge 0x427b58
mov dword [0x4e9ab8], 0xa
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.MaxHotkeysPerInterval
mov ecx, ebx
call fcn.0049e1b0
add esp, 8
test eax, eax
jne 0x4278e4
test esi, esi
je 0x427b58
mov ecx, esi
mov al, byte [ecx]
cmp al, 0x20
je 0x42786f
cmp al, 9
jne 0x427872
inc ecx
jmp 0x427865
test al, al
je 0x4278b4
cmp al, 0x2d
je 0x42787e
cmp al, 0x2b
jne 0x427885
lea eax, [ecx + 1]
mov ecx, eax
mov al, byte [eax]
cmp al, 0x30
jne 0x4278b4
mov al, byte [ecx + 1]
cmp al, 0x78
je 0x427894
cmp al, 0x58
jne 0x4278b4
movsx eax, byte [ecx + 2]
push eax
call fcn.004b99b0
add esp, 4
test eax, eax
je 0x4278b4
push 0x10
push 0
push esi
call fcn.004b9ad3
add esp, 0xc
jmp 0x4278bd
push esi
call fcn.004b9548
add esp, 4
mov dword [0x4e9abc], eax
cmp eax, 1
jge 0x427b58
mov dword [0x4e9abc], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.MaxThreadsPerHotkey
mov ecx, ebx
call fcn.0049e1b0
add esp, 8
test eax, eax
jne 0x42799c
test esi, esi
je 0x427b58
mov ecx, esi
mov al, byte [ecx]
cmp al, 0x20
je 0x427912
cmp al, 9
jne 0x427915
inc ecx
jmp 0x427908
test al, al
je 0x427957
cmp al, 0x2d
je 0x427921
cmp al, 0x2b
jne 0x427928
lea eax, [ecx + 1]
mov ecx, eax
mov al, byte [eax]
cmp al, 0x30
jne 0x427957
mov al, byte [ecx + 1]
cmp al, 0x78
je 0x427937
cmp al, 0x58
jne 0x427957
movsx eax, byte [ecx + 2]
push eax
call fcn.004b99b0
add esp, 4
test eax, eax
je 0x427957
push 0x10
push 0
push esi
call fcn.004b9ad3
add esp, 0xc
jmp 0x427960
push esi
call fcn.004b9548
add esp, 4
cmp eax, 0xff
jle 0x427980
mov eax, 0xff
mov byte [0x4e9ac0], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
mov ecx, 1
cmp eax, ecx
cmovl eax, ecx
mov byte [0x4e9ac0], al
lea eax, [ecx + 2]
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.MaxThreadsBuffer
mov ecx, ebx
call fcn.0049e1b0
add esp, 8
test eax, eax
jne 0x427a2e
test esi, esi
je 0x427a18
cmp byte [esi], al
je 0x427a18
push 0x4d9bfc
push esi
call fcn.004b626e
add esp, 8
test eax, eax
je 0x427a18
push 0x4d9c00
push esi
call fcn.004b6442
add esp, 8
test eax, eax
je 0x427a18
push 0x4d9c04
push esi
call fcn.004b626e
add esp, 8
test eax, eax
je 0x427a02
push 0x4d5290
push esi
call fcn.004b6442
add esp, 8
test eax, eax
jne 0x427a18
xor al, al
mov byte [0x4ec074], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
mov al, 1
mov byte [0x4ec074], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.MaxThreads
mov ecx, ebx
call fcn.0049e1b0
add esp, 8
test eax, eax
jne 0x427ae6
test esi, esi
je 0x427b58
mov ecx, esi
mov al, byte [ecx]
cmp al, 0x20
je 0x427a5c
cmp al, 9
jne 0x427a5f
inc ecx
jmp 0x427a52
test al, al
je 0x427aa1
cmp al, 0x2d
je 0x427a6b
cmp al, 0x2b
jne 0x427a72
lea eax, [ecx + 1]
mov ecx, eax
mov al, byte [eax]
cmp al, 0x30
jne 0x427aa1
mov al, byte [ecx + 1]
cmp al, 0x78
je 0x427a81
cmp al, 0x58
jne 0x427aa1
movsx eax, byte [ecx + 2]
push eax
call fcn.004b99b0
add esp, 4
test eax, eax
je 0x427aa1
push 0x10
push 0
push esi
call fcn.004b9ad3
add esp, 0xc
jmp 0x427aaa
push esi
call fcn.004b9548
add esp, 4
cmp eax, 0xff
jle 0x427aca
mov eax, 0xff
mov dword [0x4e88c8], eax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
mov ecx, 1
cmp eax, ecx
cmovl eax, ecx
mov dword [0x4e88c8], eax
lea eax, [ecx + 2]
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.ClipboardTimeout
mov ecx, ebx
call fcn.0049e1b0
add esp, 8
test eax, eax
jne 0x427b84
test esi, esi
je 0x427b58
mov ecx, esi
mov al, byte [ecx]
cmp al, 0x20
je 0x427b10
cmp al, 9
jne 0x427b13
inc ecx
jmp 0x427b06
test al, al
je 0x427b67
cmp al, 0x2d
je 0x427b1f
cmp al, 0x2b
jne 0x427b26
lea eax, [ecx + 1]
mov ecx, eax
mov al, byte [eax]
cmp al, 0x30
jne 0x427b67
mov al, byte [ecx + 1]
cmp al, 0x78
je 0x427b35
cmp al, 0x58
jne 0x427b67
movsx eax, byte [ecx + 2]
push eax
call fcn.004b99b0
add esp, 4
test eax, eax
je 0x427b67
push 0x10
push 0
push esi
call fcn.004b9ad3
add esp, 0xc
mov dword [0x4e88d8], eax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
push esi
call fcn.004b9548
mov dword [0x4e88d8], eax
add esp, 4
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.LTrim
mov ecx, ebx
call fcn.0049e1b0
add esp, 8
test eax, eax
jne 0x427c16
test esi, esi
je 0x427c00
cmp byte [esi], al
je 0x427c00
push 0x4d9bfc
push esi
call fcn.004b626e
add esp, 8
test eax, eax
je 0x427c00
push 0x4d9c00
push esi
call fcn.004b6442
add esp, 8
test eax, eax
je 0x427c00
push 0x4d9c04
push esi
call fcn.004b626e
add esp, 8
test eax, eax
je 0x427bea
push 0x4d5290
push esi
call fcn.004b6442
add esp, 8
test eax, eax
jne 0x427c00
xor al, al
mov byte [0x4eb7d0], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
mov al, 1
mov byte [0x4eb7d0], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.WinActivateForce
mov ecx, ebx
call fcn.0049e1b0
add esp, 8
test eax, eax
jne 0x427c42
mov byte [0x4ec094], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.ErrorStdOut
mov ecx, ebx
call fcn.0049e1b0
add esp, 8
test eax, eax
jne 0x427c7b
mov ecx, esi
mov byte [ebp + 0x633], 1
call fcn.00422210
mov dword [ebp + 0x634], eax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.MaxMem
mov ecx, ebx
call fcn.0049e1b0
add esp, 8
test eax, eax
jne 0x427ce1
test esi, esi
je 0x427b58
mov ecx, esi
call fcn.00421050
movsd xmm1, qword [0x4e1c18]
maxsd xmm1, xmm0
movsd xmm0, qword [0x4e1c58]
minsd xmm0, xmm1
mulsd xmm0, qword [0x4e1c50]
mulsd xmm0, qword [0x4e1c50]
call fcn.004cdc00
mov dword [0x4e9ac4], eax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.KeyHistory
mov ecx, ebx
call fcn.0049e1b0
add esp, 8
test eax, eax
jne 0x427da3
test esi, esi
je 0x427b58
mov ecx, esi
mov al, byte [ecx]
cmp al, 0x20
je 0x427d0f
cmp al, 9
jne 0x427d12
inc ecx
jmp 0x427d05
test al, al
je 0x427d54
cmp al, 0x2d
je 0x427d1e
cmp al, 0x2b
jne 0x427d25
lea eax, [ecx + 1]
mov ecx, eax
mov al, byte [eax]
cmp al, 0x30
jne 0x427d54
mov al, byte [ecx + 1]
cmp al, 0x78
je 0x427d34
cmp al, 0x58
jne 0x427d54
movsx eax, byte [ecx + 2]
push eax
call fcn.004b99b0
add esp, 4
test eax, eax
je 0x427d54
push 0x10
push 0
push esi
call fcn.004b9ad3
add esp, 0xc
jmp 0x427d5d
push esi
call fcn.004b9548
add esp, 4
mov dword [0x4e88d0], eax
test eax, eax
jns 0x427d7f
mov dword [0x4e88d0], 0
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
cmp eax, 0x1f4
jle 0x427b58
mov dword [0x4e88d0], 0x1f4
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.CommentFlag
mov ecx, ebx
call fcn.0049e1b0
add esp, 8
test eax, eax
jne 0x427e75
test esi, esi
je 0x427b58
cmp byte [esi + 1], al
jne 0x427e38
mov al, byte [esi]
cmp al, 0x23
je 0x4280a7
cmp al, byte [0x4e9aae]
je 0x4280a7
cmp al, byte [0x4e9aad]
je 0x4280a7
cmp al, byte [0x4e9aaf]
je 0x4280a7
cmp al, 0x21
je 0x4280a7
cmp al, 0x5e
je 0x4280a7
cmp al, 0x2b
je 0x4280a7
cmp al, 0x24
je 0x4280a7
cmp al, 0x7e
je 0x4280a7
cmp al, 0x2a
je 0x4280a7
cmp al, 0x3c
je 0x4280a7
cmp al, 0x3e
je 0x4280a7
push 0xf
push esi
push 0x4ea24c
call fcn.004ba990
mov ecx, 0x4ea24c
mov byte [0x4ea25b], 0
add esp, 0xc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x427e57
sub ecx, edx
mov eax, 3
mov dword [0x4ea25c], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.EscapeChar
mov ecx, ebx
call fcn.0049e1b0
add esp, 8
test eax, eax
jne 0x427ee6
test esi, esi
je 0x427b58
mov al, byte [esi]
cmp al, 0x23
je 0x4280a7
cmp al, byte [0x4e9aae]
je 0x4280a7
cmp al, byte [0x4e9aaf]
je 0x4280a7
cmp al, 0x2e
je 0x4280a7
cmp dword [0x4ea25c], 1
jne 0x427ed2
cmp al, byte [0x4ea24c]
je 0x4280a7
mov byte [0x4e9aad], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.DerefChar
mov ecx, ebx
call fcn.0049e1b0
add esp, 8
test eax, eax
jne 0x427f4f
test esi, esi
je 0x427b58
mov al, byte [esi]
cmp al, byte [0x4e9aad]
je 0x4280a7
cmp al, byte [0x4e9aaf]
je 0x4280a7
cmp al, 0x2e
je 0x4280a7
cmp dword [0x4ea25c], 1
jne 0x427f3b
cmp al, byte [0x4ea24c]
je 0x4280a7
mov byte [0x4e9aae], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
push 0xffffffffffffffff
push edi
mov edx, 0x4dc7bc
mov ecx, ebx
call fcn.0049e1b0
add esp, 8
test eax, eax
jne 0x427fc0
test esi, esi
je 0x427b58
mov al, byte [esi]
cmp al, 0x23
je 0x4280a7
cmp al, byte [0x4e9aad]
je 0x4280a7
cmp al, byte [0x4e9aae]
je 0x4280a7
cmp al, 0x2e
je 0x4280a7
cmp dword [0x4ea25c], 1
jne 0x427fac
cmp al, byte [0x4ea24c]
je 0x4280a7
mov byte [0x4e9aaf], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.MenuMaskKey
mov ecx, ebx
call fcn.0049e1b0
add esp, 8
test eax, eax
jne 0x428022
test esi, esi
je 0x428000
push eax
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
push eax
push 0
push 0x4e9ad0
mov edx, 0x4e9ac2
mov ecx, esi
call fcn.00415e60
add esp, 0xc
test al, al
jne 0x427b58
test esi, esi
mov ecx, str.Parameter_1_required
mov eax, str.Parameter_1_invalid.
cmove eax, ecx
mov ecx, ebp
push ebx
push eax
call fcn.0043ed90
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.InputLevel
mov ecx, ebx
call fcn.0049e1b0
add esp, 8
test eax, eax
jne 0x4280d4
test esi, esi
je 0x4280be
mov ecx, esi
mov al, byte [ecx]
cmp al, 0x20
je 0x428050
cmp al, 9
jne 0x428053
inc ecx
jmp 0x428046
test al, al
je 0x428095
cmp al, 0x2d
je 0x42805f
cmp al, 0x2b
jne 0x428066
lea eax, [ecx + 1]
mov ecx, eax
mov al, byte [eax]
cmp al, 0x30
jne 0x428095
mov al, byte [ecx + 1]
cmp al, 0x78
je 0x428075
cmp al, 0x58
jne 0x428095
movsx eax, byte [ecx + 2]
push eax
call fcn.004b99b0
add esp, 4
test eax, eax
je 0x428095
push 0x10
push 0
push esi
call fcn.004b9ad3
add esp, 0xc
jmp 0x42809e
push esi
call fcn.004b9548
add esp, 4
test eax, eax
js 0x4280a7
cmp eax, 0x64
jle 0x4280c0
push ebx
push str.Parameter_1_invalid.
mov ecx, ebp
call fcn.0043ed90
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
xor eax, eax
mov byte [0x4eb93b], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.WarnContinuableException
mov ecx, ebx
call fcn.0049e1b0
add esp, 8
test eax, eax
jne 0x42812c
test esi, esi
je 0x428116
push 0x4d9c04
push esi
call fcn.004b626e
add esp, 8
test eax, eax
jne 0x428116
xor al, al
mov byte [0x4e9ac1], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
mov al, 1
mov byte [0x4e9ac1], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.Warn
mov ecx, ebx
call fcn.0049e1b0
add esp, 8
test eax, eax
jne 0x428295
movsx eax, byte [0x4e9aaf]
test esi, esi
mov edi, 0x4d5231
cmovne edi, esi
push eax
push edi
call fcn.004b87b6
mov ecx, eax
add esp, 8
mov ebp, 0x4d5231
test ecx, ecx
je 0x42819a
lea ebp, [ecx + 1]
nop
mov al, byte [ebp]
cmp al, 0x20
je 0x42817b
cmp al, 9
jne 0x42817e
inc ebp
jmp 0x428170
lea eax, [ecx - 1]
cmp eax, edi
jbe 0x428196
mov cl, byte [eax]
cmp cl, 0x20
je 0x428191
cmp cl, 9
jne 0x428196
dec eax
cmp eax, edi
ja 0x428185
mov byte [eax + 1], 0
cmp byte [edi], 0
mov esi, 6
je 0x4281e3
xor esi, esi
nop word [eax + eax]
push dword [esi*4 + 0x4de35c]
push edi
call fcn.004b626e
add esp, 8
test eax, eax
je 0x4281e3
inc esi
cmp esi, 7
jne 0x4281b0
mov ecx, dword [esp + 0x10]
push ebx
push str.Parameter_1_invalid.
call fcn.0043ed90
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
cmp byte [ebp], 0
mov edi, 2
je 0x428223
xor edi, edi
push dword [edi*4 + 0x4de34c]
push ebp
call fcn.004b626e
add esp, 8
test eax, eax
je 0x428223
inc edi
cmp edi, 4
jne 0x4281f0
mov ecx, dword [esp + 0x10]
push ebp
push str.Parameter_2_invalid.
call fcn.0043ed90
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
test esi, esi
je 0x42822c
cmp esi, 6
jne 0x428232
mov dword [0x4ec090], edi
cmp esi, 1
je 0x42823c
cmp esi, 6
jne 0x428242
mov dword [0x4ec08c], edi
cmp esi, 3
je 0x42824c
cmp esi, 6
jne 0x428252
mov dword [0x4ec088], edi
cmp esi, 2
je 0x42825c
cmp esi, 6
jne 0x428262
mov dword [0x4ec084], edi
cmp esi, 4
je 0x42826c
cmp esi, 6
jne 0x428272
mov dword [0x4ec080], edi
cmp esi, 5
je 0x428280
cmp esi, 6
jne 0x427b58
mov dword [0x4ec07c], edi
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.Requires
mov ecx, ebx
call fcn.0049e1b0
add esp, 8
test eax, eax
je 0x427b58
push 0xffffffffffffffff
push edi
mov edx, str.WindowClassMain
mov ecx, ebx
call fcn.0049e1b0
add esp, 8
test eax, eax
jne 0x42836c
test esi, esi
je 0x427b58
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4282d6
sub ecx, edx
lea edi, [ecx*2 + 2]
lea eax, [edi - 1]
cmp eax, 0x7fff
ja 0x428344
cmp dword [0x4ecf74], 0
jne 0x428307
call fcn.0049b400
mov dword [0x4ecf74], eax
test eax, eax
je 0x428344
mov edx, dword [0x4ecf70]
cmp edi, dword [edx + 8]
jbe 0x428324
call fcn.0049b400
mov edx, dword [0x4ecf70]
mov dword [edx + 0xc], eax
test eax, eax
je 0x428344
mov ecx, dword [edx + 4]
mov eax, edi
mov dword [0x4ecf6c], ecx
and eax, 3
je 0x428339
sub edi, eax
add edi, 4
sub dword [edx + 8], edi
lea eax, [edi + ecx]
mov dword [edx + 4], eax
jmp 0x428346
xor ecx, ecx
mov dword [str.AutoHotkey], ecx
sub ecx, esi
nop
mov al, byte [esi]
lea esi, [esi + 1]
mov byte [esi + ecx - 1], al
test al, al
jne 0x428350
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.WindowClassGui
mov ecx, ebx
call fcn.0049e1b0
add esp, 8
test eax, eax
jne 0x42842c
test esi, esi
je 0x427b58
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x428393
sub ecx, edx
lea edi, [ecx*2 + 2]
lea eax, [edi - 1]
cmp eax, 0x7fff
ja 0x428401
cmp dword [0x4ecf74], 0
jne 0x4283c4
call fcn.0049b400
mov dword [0x4ecf74], eax
test eax, eax
je 0x428401
mov edx, dword [0x4ecf70]
cmp edi, dword [edx + 8]
jbe 0x4283e1
call fcn.0049b400
mov edx, dword [0x4ecf70]
mov dword [edx + 0xc], eax
test eax, eax
je 0x428401
mov ecx, dword [edx + 4]
mov eax, edi
mov dword [0x4ecf6c], ecx
and eax, 3
je 0x4283f6
sub edi, eax
add edi, 4
sub dword [edx + 8], edi
lea eax, [edi + ecx]
mov dword [edx + 4], eax
jmp 0x428403
xor ecx, ecx
mov dword [str.AutoHotkeyGUI], ecx
sub ecx, esi
nop dword [eax + eax]
mov al, byte [esi]
lea esi, [esi + 1]
mov byte [esi + ecx - 1], al
test al, al
jne 0x428410
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
push 0xffffffffffffffff
push edi
mov edx, 0x4dc850
mov ecx, ebx
call fcn.0049e1b0
add esp, 8
test eax, eax
jne 0x4275c6
mov edx, ebx
mov ecx, esi
call fcn.004a0600
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4