Function at 0x417f60
Capabilities:
Get keyboard layout

Disassembly:
sub esp, 0xc
push ebx
mov bl, byte [0x4a4367]
push ebp
mov ebp, dword [esp + 0x1c]
push esi
push edi
mov word [esp + 0x24], 0x920
mov byte [esp + 0x26], bl
mov byte [esp + 0x27], 0
mov esi, ebp
test ebp, ebp
je 0x417faa
mov dl, byte [ebp]
test dl, dl
je 0x417faa
mov edi, edi
lea ecx, [esp + 0x24]
mov al, 0x20
cmp dl, al
je 0x417fbe
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x417f96
mov dl, byte [esi + 1]
inc esi
test dl, dl
jne 0x417f90
mov eax, ebp
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x417fb0
sub eax, edx
lea edi, [eax + ebp]
jmp 0x417ff7
mov edi, esi
mov eax, esi
mov cl, byte [eax]
cmp cl, 0x20
je 0x417fce
cmp cl, 9
jne 0x417fd1
inc eax
jmp 0x417fc2
mov cl, byte [eax]
test cl, cl
je 0x417ff7
cmp cl, bl
je 0x417fdf
mov esi, eax
jmp 0x417ff9
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x20
je 0x417fdf
cmp cl, 9
je 0x417fdf
mov esi, eax
mov dword [esp + 0x24], esi
test cl, cl
jne 0x417ffd
xor esi, esi
mov dword [esp + 0x24], esi
sub edi, ebp
push 0xffffffffffffffff
push edi
mov eax, str.Include
mov ecx, ebp
call fcn.00470320
add esp, 8
test eax, eax
je 0x41804b
push 0xffffffffffffffff
push edi
mov eax, str.IncludeAgain
mov ecx, ebp
call fcn.00470320
add esp, 8
test eax, eax
je 0x41804b
push 0xffffffffffffffff
push edi
mov eax, str.NoEnv
mov ecx, ebp
call fcn.00470320
add esp, 8
test eax, eax
jne 0x41805a
mov dword [0x4a7e44], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.NoTrayIcon
mov ecx, ebp
call fcn.00470320
add esp, 8
test eax, eax
jne 0x418086
mov byte [0x4a7e31], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.Persistent
mov ecx, ebp
call fcn.00470320
add esp, 8
test eax, eax
jne 0x4180b2
mov byte [0x4a7e30], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.SingleInstance
mov ecx, ebp
call fcn.00470320
add esp, 8
test eax, eax
jne 0x418163
mov dword [0x4a7e2c], 1
test esi, esi
je 0x41804b
push str.Force
push esi
call fcn.00482f41
add esp, 8
test eax, eax
jne 0x418109
mov dword [0x4a7e2c], 2
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
push str.Ignore
push esi
call fcn.00482f41
add esp, 8
test eax, eax
jne 0x418134
mov dword [0x4a7e2c], 3
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
push 0x497e00
push esi
call fcn.00482f41
add esp, 8
test eax, eax
jne 0x41804b
mov dword [0x4a7e2c], 4
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.InstallKeybdHook
mov ecx, ebp
call fcn.00470320
add esp, 8
test eax, eax
jne 0x41818f
or byte [0x4a85f3], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.InstallMouseHook
mov ecx, ebp
call fcn.00470320
add esp, 8
test eax, eax
jne 0x4181bb
or byte [0x4a85f3], 2
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.UseHook
mov ecx, ebp
call fcn.00470320
add esp, 8
test eax, eax
jne 0x418204
test esi, esi
je 0x4181ee
push eax
call fcn.004136d0
add esp, 4
mov byte [0x4a84e3], 0
cmp eax, 2
je 0x41804b
mov byte [0x4a84e3], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
push 0xffffffffffffffff
push edi
mov eax, 0x498b18
mov ecx, ebp
call fcn.00470320
add esp, 8
test eax, eax
jne 0x4183b4
xor ebp, ebp
cmp esi, ebp
jne 0x418251
mov eax, 0x496816
mov dword [0x4a43bc], eax
mov dword [0x4a43c0], eax
mov byte [0x4a7e54], 0
mov dword [0x4a43c4], 0xffffffff
lea eax, [ebp + 3]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
mov eax, dword [0x4a4440]
mov ecx, dword [eax + 0x94]
mov bl, byte [0x4a43cd]
mov dword [esp + 0x10], ecx
mov dword [eax + 0x94], ebp
mov ecx, esi
mov al, byte [ecx]
test al, al
je 0x418280
cmp al, bl
je 0x4182a5
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x418274
mov edi, dword [esp + 0x20]
push ebp
push 0x100
lea eax, [esp + 0x2c]
push eax
push 3
push edi
call fcn.0041b820
test eax, eax
jne 0x41830a
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
cmp byte [ecx], 0
je 0x418280
movsx eax, byte [ecx + 1]
lea esi, [ecx + 1]
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x4182c0.99
movzx edx, byte [eax + 0x419074]
jmp dword [edx*4 + 0x419050]
mov byte [esi], 7
jmp case.0x4182c0.99
mov byte [esi], 8
jmp case.0x4182c0.99
mov byte [esi], 0xc
jmp case.0x4182c0.99
mov byte [esi], 0xa
jmp case.0x4182c0.99
mov byte [esi], 0xd
jmp case.0x4182c0.99
mov byte [esi], 9
jmp case.0x4182c0.99
mov byte [esi], 0xb
mov eax, esi
lea edi, [eax + 1]
lea ecx, [ecx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4182f0
sub eax, edi
inc eax
push eax
push esi
push ecx
call fcn.00483b20
add esp, 0xc
jmp 0x41826c
mov esi, dword [edi + 4]
cmp dword [edi], esi
jne 0x418313
mov dword [edi], ebp
mov eax, dword [esi + 0x10]
mov dword [edi + 4], eax
cmp eax, ebp
je 0x418320
mov dword [eax + 0x14], ebp
mov ecx, dword [esp + 0x10]
mov ebx, dword [0x4a7e64]
mov eax, edi
mov edx, dword [eax + 4]
mov dword [eax + 0x370], edx
mov eax, dword [0x4a4440]
mov dword [eax + 0x94], ecx
mov edx, dword [esi + 8]
mov eax, dword [edx + 4]
mov dword [0x4a43bc], eax
mov eax, dword [0x4a7e68]
lea edi, [ebx + 1]
mov byte [0x4a7e54], 5
mov dword [0x4a43c0], 0x496816
cmp edi, eax
jle 0x41838c
mov edx, dword [0x4a7e60]
add eax, 0x64
lea ecx, [eax*4]
push ecx
push edx
mov dword [0x4a7e68], eax
call fcn.004844e7
add esp, 8
mov dword [0x4a7e60], eax
mov ecx, dword [0x4a7e60]
mov eax, ebx
mov dword [0x4a43c4], eax
mov dword [ecx + eax*4], esi
mov dword [0x4a7e64], edi
mov dword [esi + 0x10], ebp
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.IfTimeout
mov ecx, ebp
call fcn.00470320
add esp, 8
test eax, eax
jne 0x4183eb
test esi, esi
je 0x41804b
call fcn.004124d0
mov dword [0x4a43c8], eax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
push 6
push str.IfWin
push ebp
call fcn.004839c0
add esp, 0xc
test eax, eax
jne 0x41869e
push 3
lea edx, [ebp + 6]
push 0x497ed0
push edx
call fcn.004839c0
add esp, 0xc
test eax, eax
sete bl
movzx eax, bl
neg eax
sbb eax, eax
and eax, 3
lea edi, [eax + 6]
push 6
add edi, ebp
push str.Active
push edi
call fcn.004839c0
add esp, 0xc
test eax, eax
jne 0x41844d
test bl, bl
setne cl
inc cl
mov byte [0x4a7e54], cl
jmp 0x418473
push 5
push str.Exist
push edi
call fcn.004839c0
add esp, 0xc
test eax, eax
jne 0x41868f
test bl, bl
setne dl
add dl, 3
mov byte [0x4a7e54], dl
mov edx, dword [esp + 0x24]
mov dword [0x4a43c4], 0xffffffff
test edx, edx
jne 0x4184a7
mov eax, 0x496816
mov dword [0x4a43bc], eax
mov dword [0x4a43c0], eax
mov byte [0x4a7e54], dl
lea eax, [edx + 3]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
mov al, byte [0x4a4367]
xor esi, esi
mov edi, edi
mov cl, byte [edx]
test cl, cl
je 0x4184d2
cmp cl, byte [0x4a43cd]
je 0x4184ef
cmp cl, al
je 0x4184ef
cmp cl, byte [0x4a43cc]
je 0x4184ef
mov cl, byte [edx + 1]
inc edx
test cl, cl
jne 0x4184b6
test esi, esi
je 0x4185c7
lea edi, [esi + 1]
lea ecx, [ecx]
mov cl, byte [edi]
cmp cl, 0x20
je 0x4184ec
cmp cl, 9
jne 0x41852c
inc edi
jmp 0x4184e0
mov cl, byte [edx]
test cl, cl
je 0x4184d2
cmp cl, byte [0x4a43cc]
je 0x418513
cmp cl, al
jne 0x41850a
test esi, esi
jne 0x418513
mov esi, edx
inc edx
jmp 0x4184b0
inc edx
cmp byte [edx], 0
je 0x4184d2
inc edx
jmp 0x4184b0
mov ecx, dword [esp + 0x20]
push ebp
push str.Literal_commas_and_percent_signs_must_be_escaped__e.g.____
call fcn.0042db20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
mov ebp, dword [esp + 0x24]
mov eax, esi
mov byte [esi], 0
sub eax, ebp
mov esi, ebp
mov dword [esp + 0x10], edi
call fcn.004123c0
mov bl, byte [0x4a43cd]
mov ecx, edi
mov al, byte [ecx]
test al, al
je 0x4185d3
cmp al, bl
je 0x418562
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x418554
jmp 0x4185d3
cmp byte [ecx], 0
je 0x4185d3
movsx eax, byte [ecx + 1]
lea edi, [ecx + 1]
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x41857d.99
movzx eax, byte [eax + 0x4190b0]
jmp dword [eax*4 + 0x41908c]
mov byte [edi], 7
jmp case.0x41857d.99
mov byte [edi], 8
jmp case.0x41857d.99
mov byte [edi], 0xc
jmp case.0x41857d.99
mov byte [edi], 0xa
jmp case.0x41857d.99
mov byte [edi], 0xd
jmp case.0x41857d.99
mov byte [edi], 9
jmp case.0x41857d.99
mov byte [edi], 0xb
jmp case.0x41857d.99
mov byte [edi], 0x20
mov eax, edi
lea esi, [eax + 1]
nop
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4185b0
sub eax, esi
inc eax
push eax
push edi
push ecx
call fcn.00483b20
add esp, 0xc
jmp 0x418548
mov ebp, dword [esp + 0x24]
mov dword [esp + 0x10], 0x496816
mov bl, byte [0x4a43cd]
mov ecx, ebp
jmp 0x4185e0
mov al, byte [ecx]
test al, al
je 0x4185f2
cmp al, bl
je 0x418626
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x4185e6
mov eax, dword [esp + 0x10]
push eax
mov ebx, ebp
call fcn.00409240
add esp, 4
test eax, eax
jne 0x41804b
mov ecx, dword [esp + 0x20]
push 0x496816
push str.Out_of_memory.
call fcn.0042db20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
cmp byte [ecx], 0
je 0x4185f2
movsx eax, byte [ecx + 1]
lea edi, [ecx + 1]
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x418641.99
movzx edx, byte [eax + 0x4190ec]
jmp dword [edx*4 + 0x4190c8]
mov byte [edi], 7
jmp case.0x418641.99
mov byte [edi], 8
jmp case.0x418641.99
mov byte [edi], 0xc
jmp case.0x418641.99
mov byte [edi], 0xa
jmp case.0x418641.99
mov byte [edi], 0xd
jmp case.0x418641.99
mov byte [edi], 9
jmp case.0x418641.99
mov byte [edi], 0xb
jmp case.0x418641.99
mov byte [edi], 0x20
mov eax, edi
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x418673
sub eax, esi
inc eax
push eax
push edi
push ecx
call fcn.00483b20
add esp, 0xc
mov ecx, edi
jmp 0x4185e0
mov eax, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.Hotstring
mov ecx, ebp
call fcn.00470320
add esp, 8
test eax, eax
jne 0x418811
test esi, esi
je 0x41804b
push str.EndChars
mov eax, esi
call fcn.00470610
add esp, 4
test eax, eax
je 0x418799
mov edi, 0x498b84
call fcn.00408ef0
test eax, eax
je 0x41804b
inc eax
push 0x64
push eax
push str._____:____.___n__t
call fcn.00485ee0
mov bl, byte [0x4a43cd]
mov byte [0x4a443c], 0
mov ecx, str._____:____.___n__t
mov al, byte [ecx]
add esp, 0xc
test al, al
je 0x41804b
cmp al, bl
je 0x418731
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x418716
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
cmp byte [ecx], 0
je 0x41804b
movsx eax, byte [ecx + 1]
lea esi, [ecx + 1]
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x418750.99
movzx edx, byte [eax + 0x419128]
jmp dword [edx*4 + 0x419104]
mov byte [esi], 7
jmp case.0x418750.99
mov byte [esi], 8
jmp case.0x418750.99
mov byte [esi], 0xc
jmp case.0x418750.99
mov byte [esi], 0xa
jmp case.0x418750.99
mov byte [esi], 0xd
jmp case.0x418750.99
mov byte [esi], 9
jmp case.0x418750.99
mov byte [esi], 0xb
mov eax, esi
lea edi, [eax + 1]
lea ecx, [ecx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x418780
sub eax, edi
inc eax
push eax
push esi
push ecx
call fcn.00483b20
mov ecx, esi
jmp 0x418709
push 7
push str.NoMouse
push esi
call fcn.004839c0
add esp, 0xc
test eax, eax
jne 0x4187c1
mov byte [0x4a43d5], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
push 0x4a84e1
push 0x4a84e0
push 0x4a43d4
push 0x4a7e57
push 0x4a7e56
push 0x4a43cf
push 0x4a43ce
push 0x4a7e55
push 0x4a43d0
push 0x4a84dc
push 0x4a84d8
mov eax, esi
call fcn.0040c690
add esp, 0x2c
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.HotkeyModifierTimeout
mov ecx, ebp
call fcn.00470320
add esp, 8
test eax, eax
jne 0x418848
test esi, esi
je 0x41804b
call fcn.0040c8d0
mov dword [0x4a439c], eax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.HotkeyInterval
mov ecx, ebp
call fcn.00470320
add esp, 8
test eax, eax
jne 0x418892
test esi, esi
je 0x41804b
call fcn.0040c8d0
mov dword [0x4a43b8], eax
cmp eax, 0xa
jge 0x41804b
mov dword [0x4a43b8], 0xa
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.MaxHotkeysPerInterval
mov ecx, ebp
call fcn.00470320
add esp, 8
test eax, eax
jne 0x4188dc
test esi, esi
je 0x41804b
call fcn.0040c8d0
mov dword [0x4a43b4], eax
cmp eax, 1
jge 0x41804b
mov dword [0x4a43b4], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.MaxThreadsPerHotkey
mov ecx, ebp
call fcn.00470320
add esp, 8
test eax, eax
jne 0x41893d
test esi, esi
je 0x41804b
call fcn.0040c8d0
cmp eax, 0xff
jle 0x41891f
mov eax, 0xff
mov byte [0x4a4366], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
cmp eax, 1
jge 0x418929
mov eax, 1
mov byte [0x4a4366], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.MaxThreadsBuffer
mov ecx, ebp
call fcn.00470320
add esp, 8
test eax, eax
jne 0x418986
test esi, esi
je 0x418970
push eax
call fcn.004136d0
add esp, 4
mov byte [0x4a7e3a], 0
cmp eax, 2
je 0x41804b
mov byte [0x4a7e3a], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.MaxThreads
mov ecx, ebp
call fcn.00470320
add esp, 8
test eax, eax
jne 0x4189e7
test esi, esi
je 0x41804b
call fcn.0040c8d0
cmp eax, 0xff
jle 0x4189c9
mov eax, 0xff
mov dword [0x4a43b0], eax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
cmp eax, 1
jge 0x4189d3
mov eax, 1
mov dword [0x4a43b0], eax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.ClipboardTimeout
mov ecx, ebp
call fcn.00470320
add esp, 8
test eax, eax
jne 0x418a1e
test esi, esi
je 0x41804b
call fcn.0040c8d0
mov dword [0x4a43a0], eax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.LTrim
mov ecx, ebp
call fcn.00470320
add esp, 8
test eax, eax
jne 0x418a67
test esi, esi
je 0x418a51
push eax
call fcn.004136d0
add esp, 4
mov byte [0x4a84e2], 0
cmp eax, 2
je 0x41804b
mov byte [0x4a84e2], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.WinActivateForce
mov ecx, ebp
call fcn.00470320
add esp, 8
test eax, eax
jne 0x418a93
mov byte [0x4a7e02], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.ErrorStdOut
mov ecx, ebp
call fcn.00470320
add esp, 8
test eax, eax
jne 0x418ac3
mov eax, dword [esp + 0x20]
mov byte [eax + 0x5e3], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.MaxMem
mov ecx, ebp
call fcn.00470320
add esp, 8
test eax, eax
jne 0x418b49
test esi, esi
je 0x41804b
call fcn.00412500
fld qword [0x49e8d0]
fcom st(1)
fnstsw ax
test ah, 5
jnp 0x418b02
fstp st(0)
fld1
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x418b06
fstp st(1)
jmp 0x418b08
fstp st(0)
fld qword [0x49e7d8]
fnstcw word [esp + 0x20]
movzx eax, word [esp + 0x20]
fmul st(1), st(0)
or eax, 0xc00
mov dword [esp + 0x24], eax
mov eax, 3
fmulp st(1)
fldcw word [esp + 0x24]
fistp qword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov dword [0x4a43ac], ecx
fldcw word [esp + 0x20]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.KeyHistory
mov ecx, ebp
call fcn.00470320
add esp, 8
test eax, eax
jne 0x418bb2
test esi, esi
je 0x41804b
call fcn.0040c8d0
mov dword [0x4a43a8], eax
test eax, eax
jns 0x418b8e
mov dword [0x4a43a8], 0
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
cmp eax, 0x1f4
jle 0x41804b
mov dword [0x4a43a8], 0x1f4
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.CommentFlag
mov ecx, ebp
call fcn.00470320
add esp, 8
test eax, eax
jne 0x418c6d
test esi, esi
je 0x41804b
cmp byte [esi + 1], al
jne 0x418c30
mov al, byte [esi]
cmp al, 0x23
je 0x418c17
cmp al, byte [0x4a43cc]
je 0x418c17
cmp al, byte [0x4a43cd]
je 0x418c17
cmp al, byte [0x4a4367]
je 0x418c17
cmp al, 0x21
je 0x418c17
cmp al, 0x5e
je 0x418c17
cmp al, 0x2b
je 0x418c17
cmp al, 0x24
je 0x418c17
cmp al, 0x7e
je 0x418c17
cmp al, 0x2a
je 0x418c17
cmp al, 0x3c
je 0x418c17
cmp al, 0x3e
jne 0x418c30
mov ecx, dword [esp + 0x20]
push ebp
push str.Parameter_1_invalid.
call fcn.0042db20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
push 0xf
push esi
push 0x4a4380
call fcn.00485ee0
mov eax, 0x4a4380
add esp, 0xc
mov byte [0x4a438f], 0
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x418c50
sub eax, edx
mov dword [0x4a4390], eax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.EscapeChar
mov ecx, ebp
call fcn.00470320
add esp, 8
test eax, eax
jne 0x418cda
test esi, esi
je 0x41804b
mov al, byte [esi]
cmp al, 0x23
je 0x418c17
cmp al, byte [0x4a43cc]
je 0x418c17
cmp al, byte [0x4a4367]
je 0x418c17
cmp al, 0x2e
je 0x418c17
cmp dword [0x4a4390], 1
jne 0x418cc6
cmp al, byte [0x4a4380]
je 0x418c17
mov byte [0x4a43cd], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.DerefChar
mov ecx, ebp
call fcn.00470320
add esp, 8
test eax, eax
jne 0x418d43
test esi, esi
je 0x41804b
mov al, byte [esi]
cmp al, byte [0x4a43cd]
je 0x418c17
cmp al, byte [0x4a4367]
je 0x418c17
cmp al, 0x2e
je 0x418c17
cmp dword [0x4a4390], 1
jne 0x418d2f
cmp al, byte [0x4a4380]
je 0x418c17
mov byte [0x4a43cc], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
push 0xffffffffffffffff
push edi
mov eax, 0x498c8c
mov ecx, ebp
call fcn.00470320
add esp, 8
test eax, eax
jne 0x418db4
test esi, esi
je 0x41804b
mov al, byte [esi]
cmp al, 0x23
je 0x418c17
cmp al, byte [0x4a43cd]
je 0x418c17
cmp al, byte [0x4a43cc]
je 0x418c17
cmp al, 0x2e
je 0x418c17
cmp dword [0x4a4390], 1
jne 0x418da0
cmp al, byte [0x4a4380]
je 0x418c17
mov byte [0x4a4367], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.MenuMaskKey
mov ecx, ebp
call fcn.00470320
add esp, 8
test eax, eax
jne 0x418e28
test esi, esi
je 0x418e0e
push eax
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
push 1
mov ecx, eax
push 1
xor edx, edx
mov eax, esi
call fcn.00411730
add esp, 8
mov byte [0x4a4365], al
test al, al
jne 0x41804b
mov ecx, dword [esp + 0x20]
mov eax, str.Parameter_1_invalid.
push ebp
push eax
call fcn.0042db20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
mov ecx, dword [esp + 0x20]
mov eax, str.Parameter_1_required
push ebp
push eax
call fcn.0042db20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.InputLevel
mov ecx, ebp
call fcn.00470320
add esp, 8
test eax, eax
jne 0x418e82
test esi, esi
je 0x418e6c
call fcn.0040c8d0
test eax, eax
js 0x418c17
cmp eax, 0x64
jg 0x418c17
mov byte [0x4a7e3b], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
xor eax, eax
mov byte [0x4a7e3b], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.Warn
mov ecx, ebp
call fcn.00470320
add esp, 8
test eax, eax
jne 0x41868f
test esi, esi
jne 0x418ea8
mov dword [esp + 0x24], 0x498cd4
movsx eax, byte [0x4a4367]
mov esi, dword [esp + 0x24]
push eax
push esi
call fcn.00483f31
add esp, 8
or edi, 0xffffffff
mov ebx, 0x496816
test eax, eax
je 0x418ef2
lea ecx, [eax + 1]
lea esp, [esp]
mov dl, byte [ecx]
cmp dl, 0x20
je 0x418edc
cmp dl, 9
jne 0x418edf
inc ecx
jmp 0x418ed0
dec eax
mov edx, esi
mov ebx, ecx
call fcn.00408f50
mov edi, 1
sub edi, esi
add edi, eax
push 0xffffffffffffffff
push edi
mov eax, 0x498cd4
mov ecx, esi
call fcn.00470320
add esp, 8
test eax, eax
je 0x418f7b
test edi, edi
je 0x418f7b
push 0xffffffffffffffff
push edi
mov eax, str.UseUnsetLocal
mov ecx, esi
call fcn.00470320
add esp, 8
test eax, eax
jne 0x418f26
xor esi, esi
jmp 0x418f80
push 0xffffffffffffffff
push edi
mov eax, str.UseUnsetGlobal
mov ecx, esi
call fcn.00470320
add esp, 8
test eax, eax
jne 0x418f41
lea esi, [eax + 1]
jmp 0x418f80
push 0xffffffffffffffff
push edi
mov eax, str.UseEnv
mov ecx, esi
call fcn.00470320
add esp, 8
test eax, eax
jne 0x418f5c
lea esi, [eax + 3]
jmp 0x418f80
push 0xffffffffffffffff
push edi
mov eax, str.LocalSameAsGlobal
mov ecx, esi
call fcn.00470320
add esp, 8
test eax, eax
jne 0x418c17
lea esi, [eax + 2]
jmp 0x418f80
mov esi, 4
cmp byte [ebx], 0
jne 0x418f8c
mov eax, 2
jmp 0x418fe9
push str.MsgBox
push ebx
call fcn.00482f41
add esp, 8
test eax, eax
jne 0x418fa5
mov eax, 2
jmp 0x418fe9
push str.OutputDebug
push ebx
call fcn.00482f41
add esp, 8
test eax, eax
jne 0x418fbe
mov eax, 1
jmp 0x418fe9
push str.StdOut
push ebx
call fcn.00482f41
add esp, 8
test eax, eax
jne 0x418fd7
mov eax, 3
jmp 0x418fe9
push 0x497e00
push ebx
call fcn.00482f41
add esp, 8
test eax, eax
jne 0x419037
test esi, esi
je 0x418ff2
cmp esi, 4
jne 0x418ff7
mov dword [0x4a7e1c], eax
cmp esi, 1
je 0x419001
cmp esi, 4
jne 0x419006
mov dword [0x4a7e20], eax
cmp esi, 3
je 0x419010
cmp esi, 4
jne 0x419015
mov dword [0x4a7e24], eax
cmp esi, 2
je 0x419023
cmp esi, 4
jne 0x41804b
mov dword [0x4a7e28], eax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
mov ecx, dword [esp + 0x20]
push ebp
push str.Parameter_2_invalid.
call fcn.0042db20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8