Function at 0x4272c0
Capabilities:
Get keyboard layout

Disassembly:
sub esp, 0x10
push ebx
mov ebx, dword [esp + 0x18]
xor eax, eax
mov dword [esp + 4], ecx
mov dword [esp + 0xc], 0x90020
mov word [esp + 0x12], ax
push ebp
mov bp, word [0x4e829c]
mov word [esp + 0x14], bp
push esi
push edi
mov edi, ebx
test ebx, ebx
je 0x427335
movzx eax, word [ebx]
test ax, ax
je 0x427335
mov esi, eax
nop word [eax + eax]
lea ecx, [esp + 0x18]
mov edx, 0x20
nop dword [eax]
cmp si, dx
je 0x4273b3
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
test ax, ax
jne 0x427310
movzx eax, word [edi + 2]
add edi, 2
mov esi, eax
test ax, ax
jne 0x427300
mov ecx, ebx
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x427340
sub ecx, edx
sar ecx, 1
lea edi, [ebx + ecx*2]
xor esi, esi
sub edi, ebx
mov edx, str.Include
sar edi, 1
mov ecx, ebx
push 0xffffffffffffffff
push edi
call fcn.004a1a60
add esp, 8
test eax, eax
je 0x4273a4
push 0xffffffffffffffff
push edi
mov edx, str.IncludeAgain
mov ecx, ebx
call fcn.004a1a60
add esp, 8
test eax, eax
je 0x4273a4
push 0xffffffffffffffff
push edi
mov edx, str.NoEnv
mov ecx, ebx
call fcn.004a1a60
add esp, 8
test eax, eax
jne 0x4273f2
mov dword [0x4e82b0], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
mov esi, edi
movzx eax, word [esi]
mov ecx, eax
cmp eax, 0x20
je 0x4273c4
cmp eax, 9
jne 0x4273c9
add esi, 2
jmp 0x4273b5
test ax, ax
je 0x427352
cmp cx, bp
jne 0x427354
movzx eax, word [esi + 2]
add esi, 2
cmp eax, 0x20
je 0x4273d3
cmp eax, 9
je 0x4273d3
test ax, ax
jne 0x427354
jmp 0x427352
push 0xffffffffffffffff
push edi
mov edx, str.NoTrayIcon
mov ecx, ebx
call fcn.004a1a60
add esp, 8
test eax, eax
jne 0x42741e
mov byte [0x4e98c3], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.Persistent
mov ecx, ebx
call fcn.004a1a60
add esp, 8
test eax, eax
jne 0x42744a
mov byte [0x4e9825], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.SingleInstance
mov ecx, ebx
call fcn.004a1a60
add esp, 8
test eax, eax
jne 0x4274f8
mov dword [0x4e9838], 1
test esi, esi
je 0x4273a4
mov edi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
push str.Force
push esi
call edi
add esp, 8
test eax, eax
jne 0x4274a4
mov dword [0x4e9838], 2
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
push str.Ignore
push esi
call edi
add esp, 8
test eax, eax
jne 0x4274cc
mov dword [0x4e9838], 3
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
push 0x4d4eb0
push esi
call edi
add esp, 8
test eax, eax
jne 0x4273a4
mov dword [0x4e9838], 4
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.InstallKeybdHook
mov ecx, ebx
call fcn.004a1a60
add esp, 8
test eax, eax
jne 0x427524
or byte [0x4e98de], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.InstallMouseHook
mov ecx, ebx
call fcn.004a1a60
add esp, 8
test eax, eax
jne 0x427550
or byte [0x4e98de], 2
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.UseHook
mov ecx, ebx
call fcn.004a1a60
add esp, 8
test eax, eax
jne 0x4275a4
test esi, esi
je 0x42758e
xor edx, edx
mov ecx, esi
call fcn.0040c0d0
cmp eax, 2
jne 0x42758e
xor al, al
mov byte [0x4e98a3], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
mov al, 1
mov byte [0x4e98a3], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
push 0xffffffffffffffff
push edi
mov edx, 0x4c16c0
mov ecx, ebx
call fcn.004a1a60
add esp, 8
test eax, eax
jne 0x4276c5
test esi, esi
je 0x427778
mov edi, dword [0x4ea1f0]
test edi, edi
je 0x42760f
mov ecx, dword [edi + 4]
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4275fb
test dx, dx
je 0x4275f7
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4275fb
add eax, 4
add ecx, 4
test dx, dx
jne 0x4275d5
xor eax, eax
jmp 0x427600
sbb eax, eax
or eax, 1
test eax, eax
je 0x42769c
mov edi, dword [edi + 0x10]
test edi, edi
jne 0x4275d0
mov dword [0x4ea1fc], 0
mov eax, dword [0x4e7024]
mov ebx, dword [esp + 0x10]
mov ecx, ebx
push 0
push 0
mov edi, dword [eax + 0xb4]
push 0
push 0x4bfb90
push 0
push 0xe5
mov dword [eax + 0xb4], 0
push esi
mov byte [ebx + 0x25], 1
call fcn.00428980
test eax, eax
je 0x4276b9
mov eax, dword [0x4e7024]
mov byte [ebx + 0x25], 0
mov dword [eax + 0xb4], edi
mov esi, dword [ebx + 0x614]
call fcn.0040c650
mov dword [0x4ea1fc], eax
test eax, eax
je 0x4276b9
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], 0x4bfb90
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
mov dword [0x4ea1fc], edi
test edi, edi
je 0x427619
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.IfTimeout
mov ecx, ebx
call fcn.004a1a60
add esp, 8
test eax, eax
jne 0x4276fe
test esi, esi
je 0x4273a4
mov ecx, esi
call fcn.0041ef50
mov dword [0x4e82a0], eax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
mov ebp, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
push 6
push str.IfWin
push ebx
call ebp
add esp, 0xc
test eax, eax
jne 0x4278bb
push 3
lea eax, [ebx + 0xc]
push 0x4d504c
push eax
call ebp
add esp, 0xc
mov edx, 0x12
test eax, eax
mov edi, 0xc
sete cl
test eax, eax
push 6
cmove edi, edx
mov byte [esp + 0x28], cl
add edi, ebx
push str.Active
push edi
call ebp
add esp, 0xc
test eax, eax
jne 0x42775a
inc byte [esp + 0x24]
jmp 0x427774
push 5
push str.Exist
push edi
call ebp
add esp, 0xc
test eax, eax
jne 0x4278ac
add byte [esp + 0x24], 3
test esi, esi
jne 0x427791
mov dword [0x4ea1fc], 0
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
mov bp, word [0x4e829c]
mov edi, esi
mov dword [esp + 0x14], 0
movzx eax, word [edi]
mov edx, eax
test ax, ax
je 0x4277e0
mov ecx, eax
nop
movzx edx, cx
cmp cx, word [0x4e8294]
je 0x4277e5
movzx edx, cx
cmp cx, bp
je 0x4277e0
movzx edx, cx
cmp cx, word [0x4e8298]
je 0x4277e0
movzx eax, word [edi + 2]
add edi, 2
mov ecx, eax
mov edx, eax
test ax, ax
jne 0x4277b0
test dx, dx
je 0x42782a
cmp dx, word [0x4e8298]
je 0x427811
cmp dx, bp
jne 0x427803
cmp dword [esp + 0x14], 0
jne 0x427811
mov dword [esp + 0x14], edi
add edi, 2
jmp 0x4277a2
add edi, 2
cmp word [edi], 0
je 0x42782a
add edi, 2
jmp 0x4277a2
mov ecx, dword [esp + 0x10]
push ebx
push str.Literal_commas_and_percent_signs_must_be_escaped__e.g.____
call fcn.0043eb10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x427867
lea edi, [ecx + 2]
movzx eax, word [edi]
cmp eax, 0x20
je 0x427842
cmp eax, 9
jne 0x427847
add edi, 2
jmp 0x427835
xor eax, eax
mov word [ecx], ax
sub ecx, esi
sar ecx, 1
mov edx, ecx
mov ecx, esi
call fcn.004218c0
push 1
mov ecx, edi
call fcn.004a3bd0
add esp, 4
jmp 0x42786c
mov edi, 0x4bfb90
push 1
mov ecx, esi
call fcn.004a3bd0
mov cl, byte [esp + 0x28]
add esp, 4
mov edx, esi
push edi
call fcn.0040c490
add esp, 4
test eax, eax
jne 0x4273a4
mov ecx, dword [esp + 0x10]
push 0x4bfb90
push str.Out_of_memory.
call fcn.0043eb10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
mov eax, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
push 0xffffffffffffffff
push edi
mov edx, 0x4d7b10
mov ecx, ebx
call fcn.004a1a60
add esp, 8
test eax, eax
jne 0x4279f3
test esi, esi
je 0x4273a4
mov edx, str.EndChars
mov ecx, esi
call fcn.004a1da0
mov edi, eax
test edi, edi
je 0x427979
movzx eax, word [edi]
test ax, ax
je 0x4273a4
mov esi, eax
mov ecx, 0x4d7b28
mov edx, 9
nop dword [eax + eax]
cmp si, dx
je 0x427940
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
test ax, ax
jne 0x427910
movzx eax, word [edi + 2]
add edi, 2
mov esi, eax
test ax, ax
jne 0x427901
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
push 0x64
lea eax, [edi + 2]
push eax
push 0x4e81c0
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
add esp, 0xc
xor eax, eax
mov ecx, 0x4e81c0
mov word [0x4e8288], ax
push eax
call fcn.004a3bd0
add esp, 4
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
push 7
push str.NoMouse
push esi
call ebp
add esp, 0xc
test eax, eax
jne 0x42799e
mov byte [0x4e828a], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
push 0x4e9824
push 0x4e98a7
push 0x4e98aa
push 0x4e828b
push 0x4e98af
push 0x4e98ab
push 0x4e828c
push 0x4e828d
push 0x4e98ae
push 0x4e8290
push 0x4e9a00
mov edx, 0x4e9a04
mov ecx, esi
call fcn.0040f5e0
add esp, 0x2c
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.HotkeyModifierTimeout
mov ecx, ebx
call fcn.004a1a60
add esp, 8
test eax, eax
jne 0x427a2c
test esi, esi
je 0x4273a4
mov ecx, esi
call fcn.00411240
mov dword [0x4e82b4], eax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.HotkeyInterval
mov ecx, ebx
call fcn.004a1a60
add esp, 8
test eax, eax
jne 0x427a78
test esi, esi
je 0x4273a4
mov ecx, esi
call fcn.00411240
mov dword [0x4e82a4], eax
cmp eax, 0xa
jge 0x4273a4
mov dword [0x4e82a4], 0xa
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.MaxHotkeysPerInterval
mov ecx, ebx
call fcn.004a1a60
add esp, 8
test eax, eax
jne 0x427ac4
test esi, esi
je 0x4273a4
mov ecx, esi
call fcn.00411240
mov dword [0x4e82a8], eax
cmp eax, 1
jge 0x4273a4
mov dword [0x4e82a8], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.MaxThreadsPerHotkey
mov ecx, ebx
call fcn.004a1a60
add esp, 8
test eax, eax
jne 0x427b25
test esi, esi
je 0x4273a4
mov ecx, esi
call fcn.00411240
cmp eax, 0xff
jle 0x427b09
mov eax, 0xff
mov byte [0x4e828e], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
mov ecx, 1
cmp eax, ecx
cmovl eax, ecx
mov byte [0x4e828e], al
lea eax, [ecx + 2]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.MaxThreadsBuffer
mov ecx, ebx
call fcn.004a1a60
add esp, 8
test eax, eax
jne 0x427b79
test esi, esi
je 0x427b63
xor edx, edx
mov ecx, esi
call fcn.0040c0d0
cmp eax, 2
jne 0x427b63
xor al, al
mov byte [0x4e98ba], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
mov al, 1
mov byte [0x4e98ba], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.MaxThreads
mov ecx, ebx
call fcn.004a1a60
add esp, 8
test eax, eax
jne 0x427bda
test esi, esi
je 0x4273a4
mov ecx, esi
call fcn.00411240
cmp eax, 0xff
jle 0x427bbe
mov eax, 0xff
mov dword [0x4e7020], eax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
mov ecx, 1
cmp eax, ecx
cmovl eax, ecx
mov dword [0x4e7020], eax
lea eax, [ecx + 2]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.ClipboardTimeout
mov ecx, ebx
call fcn.004a1a60
add esp, 8
test eax, eax
jne 0x427c13
test esi, esi
je 0x4273a4
mov ecx, esi
call fcn.00411240
mov dword [0x4e7030], eax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.LTrim
mov ecx, ebx
call fcn.004a1a60
add esp, 8
test eax, eax
jne 0x427c67
test esi, esi
je 0x427c51
xor edx, edx
mov ecx, esi
call fcn.0040c0d0
cmp eax, 2
jne 0x427c51
xor al, al
mov byte [0x4e98a6], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
mov al, 1
mov byte [0x4e98a6], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.WinActivateForce
mov ecx, ebx
call fcn.004a1a60
add esp, 8
test eax, eax
jne 0x427c93
mov byte [0x4e98ca], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.ErrorStdOut
mov ecx, ebx
call fcn.004a1a60
add esp, 8
test eax, eax
jne 0x427cd0
mov edi, dword [esp + 0x10]
mov ecx, esi
mov byte [edi + 0xafb], 1
call fcn.004229e0
mov dword [edi + 0xafc], eax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.MaxMem
mov ecx, ebx
call fcn.004a1a60
add esp, 8
test eax, eax
jne 0x427d36
test esi, esi
je 0x4273a4
mov ecx, esi
call fcn.00421920
movsd xmm1, qword [0x4e1368]
maxsd xmm1, xmm0
movsd xmm0, qword [0x4e13a8]
minsd xmm0, xmm1
mulsd xmm0, qword [0x4e13a0]
mulsd xmm0, qword [0x4e13a0]
call fcn.004bdbc0
mov dword [0x4e82ac], eax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.KeyHistory
mov ecx, ebx
call fcn.004a1a60
add esp, 8
test eax, eax
jne 0x427da1
test esi, esi
je 0x4273a4
mov ecx, esi
call fcn.00411240
mov dword [0x4e7028], eax
test eax, eax
jns 0x427d7d
mov dword [0x4e7028], 0
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
cmp eax, 0x1f4
jle 0x4273a4
mov dword [0x4e7028], 0x1f4
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.CommentFlag
mov ecx, ebx
call fcn.004a1a60
add esp, 8
test eax, eax
jne 0x427e89
test esi, esi
je 0x4273a4
cmp word [esi + 2], ax
jne 0x427e44
movzx eax, word [esi]
cmp eax, 0x23
je 0x428076
cmp ax, word [0x4e8298]
je 0x428076
cmp ax, word [0x4e8294]
je 0x428076
cmp ax, word [0x4e829c]
je 0x428076
cmp eax, 0x21
je 0x428076
cmp eax, 0x5e
je 0x428076
cmp eax, 0x2b
je 0x428076
cmp eax, 0x24
je 0x428076
cmp eax, 0x7e
je 0x428076
cmp eax, 0x2a
je 0x428076
cmp eax, 0x3c
je 0x428076
cmp eax, 0x3e
je 0x428076
push 0xf
push esi
push 0x4e8a34
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
mov ecx, 0x4e8a34
add esp, 0xc
xor eax, eax
mov word [0x4e8a52], ax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x427e65
sub ecx, edx
mov eax, 3
sar ecx, 1
mov dword [0x4e8a54], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.EscapeChar
mov ecx, ebx
call fcn.004a1a60
add esp, 8
test eax, eax
jne 0x427f01
test esi, esi
je 0x4273a4
movzx eax, word [esi]
cmp eax, 0x23
je 0x428076
cmp ax, word [0x4e8298]
je 0x428076
cmp ax, word [0x4e829c]
je 0x428076
cmp eax, 0x2e
je 0x428076
cmp dword [0x4e8a54], 1
jne 0x427eec
cmp ax, word [0x4e8a34]
je 0x428076
mov word [0x4e8294], ax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.DerefChar
mov ecx, ebx
call fcn.004a1a60
add esp, 8
test eax, eax
jne 0x427f70
test esi, esi
je 0x4273a4
movzx eax, word [esi]
cmp ax, word [0x4e8294]
je 0x428076
cmp ax, word [0x4e829c]
je 0x428076
cmp eax, 0x2e
je 0x428076
cmp dword [0x4e8a54], 1
jne 0x427f5b
cmp ax, word [0x4e8a34]
je 0x428076
mov word [0x4e8298], ax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
push 0xffffffffffffffff
push edi
mov edx, 0x4d7cf4
mov ecx, ebx
call fcn.004a1a60
add esp, 8
test eax, eax
jne 0x427fe8
test esi, esi
je 0x4273a4
movzx eax, word [esi]
cmp eax, 0x23
je 0x428076
cmp ax, word [0x4e8294]
je 0x428076
cmp ax, word [0x4e8298]
je 0x428076
cmp eax, 0x2e
je 0x428076
cmp dword [0x4e8a54], 1
jne 0x427fd3
cmp ax, word [0x4e8a34]
je 0x428076
mov word [0x4e829c], ax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.MenuMaskKey
mov ecx, ebx
call fcn.004a1a60
add esp, 8
test eax, eax
jne 0x42804c
test esi, esi
je 0x428028
push eax
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
push eax
push 0
push 0x4e82b8
mov edx, 0x4e8296
mov ecx, esi
call fcn.00416400
add esp, 0xc
test al, al
jne 0x4273a4
test esi, esi
mov ecx, str.Parameter_1_required
mov eax, str.Parameter_1_invalid.
cmove eax, ecx
mov ecx, dword [esp + 0x10]
push ebx
push eax
call fcn.0043eb10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.InputLevel
mov ecx, ebx
call fcn.004a1a60
add esp, 8
test eax, eax
jne 0x4280a5
test esi, esi
je 0x42808f
mov ecx, esi
call fcn.00411240
test eax, eax
js 0x428076
cmp eax, 0x64
jle 0x428091
mov ecx, dword [esp + 0x10]
push ebx
push str.Parameter_1_invalid.
call fcn.0043eb10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
xor eax, eax
mov byte [0x4e98b7], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.WarnContinuableException
mov ecx, ebx
call fcn.004a1a60
add esp, 8
test eax, eax
jne 0x4280fe
test esi, esi
je 0x4280e8
push 0x4d4eb0
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
add esp, 8
test eax, eax
jne 0x4280e8
xor al, al
mov byte [0x4e828f], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
mov al, 1
mov byte [0x4e828f], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.Warn
mov ecx, ebx
call fcn.004a1a60
add esp, 8
test eax, eax
jne 0x42827a
movzx eax, word [0x4e829c]
test esi, esi
mov edi, 0x4bfb90
cmovne edi, esi
push eax
push edi
call dword [sym.imp.VCRUNTIME140.dll_wcschr]
mov ecx, eax
add esp, 8
mov ebp, 0x4bfb90
test ecx, ecx
je 0x42817a
lea ebp, [ecx + 2]
movzx eax, word [ebp]
cmp eax, 0x20
je 0x428150
cmp eax, 9
jne 0x428155
add ebp, 2
jmp 0x428142
lea eax, [ecx - 2]
cmp eax, edi
jbe 0x428174
nop dword [eax]
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x42816d
cmp ecx, 9
jne 0x428174
sub eax, 2
cmp eax, edi
ja 0x428160
xor ecx, ecx
mov word [eax + 2], cx
cmp word [edi], 0
mov esi, 6
mov eax, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
je 0x4281c5
xor esi, esi
nop dword [eax]
push dword [esi*4 + 0x4db174]
push edi
call eax
add esp, 8
test eax, eax
mov eax, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
je 0x4281c5
inc esi
cmp esi, 7
jne 0x428190
mov ecx, dword [esp + 0x10]
push ebx
push str.Parameter_1_invalid.
call fcn.0043eb10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
cmp word [ebp], 0
mov edi, 2
je 0x428208
xor edi, edi
push dword [edi*4 + 0x4db164]
push ebp
call eax
add esp, 8
test eax, eax
je 0x428208
mov eax, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
inc edi
cmp edi, 4
jne 0x4281d3
mov ecx, dword [esp + 0x10]
push ebp
push str.Parameter_2_invalid.
call fcn.0043eb10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
test esi, esi
je 0x428211
cmp esi, 6
jne 0x428217
mov dword [0x4ea214], edi
cmp esi, 1
je 0x428221
cmp esi, 6
jne 0x428227
mov dword [0x4ea210], edi
cmp esi, 3
je 0x428231
cmp esi, 6
jne 0x428237
mov dword [0x4ea20c], edi
cmp esi, 2
je 0x428241
cmp esi, 6
jne 0x428247
mov dword [0x4ea208], edi
cmp esi, 4
je 0x428251
cmp esi, 6
jne 0x428257
mov dword [0x4ea204], edi
cmp esi, 5
je 0x428265
cmp esi, 6
jne 0x4273a4
mov dword [0x4ea200], edi
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.Requires
mov ecx, ebx
call fcn.004a1a60
add esp, 8
test eax, eax
je 0x4273a4
push 0xffffffffffffffff
push edi
mov edx, str.WindowClassMain
mov ecx, ebx
call fcn.004a1a60
add esp, 8
test eax, eax
jne 0x42835f
test esi, esi
je 0x4273a4
mov ecx, esi
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4282c0
sub ecx, edx
sar ecx, 1
lea edi, [ecx*2 + 2]
lea eax, [edi - 1]
cmp eax, 0xffff
ja 0x428334
cmp dword [0x4eb0ec], 0
jne 0x4282f7
call fcn.0049e810
mov dword [0x4eb0ec], eax
test eax, eax
je 0x428334
mov edx, dword [0x4eb0e8]
cmp edi, dword [edx + 8]
jbe 0x428314
call fcn.0049e810
mov edx, dword [0x4eb0e8]
mov dword [edx + 0xc], eax
test eax, eax
je 0x428334
mov ecx, dword [edx + 4]
mov eax, edi
mov dword [0x4eb0e4], ecx
and eax, 3
je 0x428329
sub edi, eax
add edi, 4
sub dword [edx + 8], edi
lea eax, [edi + ecx]
mov dword [edx + 4], eax
jmp 0x428336
xor ecx, ecx
mov dword [str.AutoHotkey], ecx
sub ecx, esi
nop
movzx eax, word [esi]
lea esi, [esi + 2]
mov word [ecx + esi - 2], ax
test ax, ax
jne 0x428340
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.WindowClassGui
mov ecx, ebx
call fcn.004a1a60
add esp, 8
test eax, eax
jne 0x428423
test esi, esi
je 0x4273a4
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x428386
sub ecx, edx
sar ecx, 1
lea edi, [ecx*2 + 2]
lea eax, [edi - 1]
cmp eax, 0xffff
ja 0x4283fa
cmp dword [0x4eb0ec], 0
jne 0x4283bd
call fcn.0049e810
mov dword [0x4eb0ec], eax
test eax, eax
je 0x4283fa
mov edx, dword [0x4eb0e8]
cmp edi, dword [edx + 8]
jbe 0x4283da
call fcn.0049e810
mov edx, dword [0x4eb0e8]
mov dword [edx + 0xc], eax
test eax, eax
je 0x4283fa
mov ecx, dword [edx + 4]
mov eax, edi
mov dword [0x4eb0e4], ecx
and eax, 3
je 0x4283ef
sub edi, eax
add edi, 4
sub dword [edx + 8], edi
lea eax, [edi + ecx]
mov dword [edx + 4], eax
jmp 0x4283fc
xor ecx, ecx
mov dword [str.AutoHotkeyGUI], ecx
sub ecx, esi
movzx eax, word [esi]
lea esi, [esi + 2]
mov word [esi + ecx - 2], ax
test ax, ax
jne 0x428404
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
push 0xffffffffffffffff
push edi
mov edx, 0x4d7e04
mov ecx, ebx
call fcn.004a1a60
add esp, 8
test eax, eax
jne 0x4278ac
mov edx, ebx
mov ecx, esi
call fcn.004a40c0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4