Function at 0x427070
Capabilities:
Get keyboard layout

Disassembly:
sub esp, 8
mov ah, byte [0x4c9207]
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 0x4270c8
mov dl, byte [ebx]
test dl, dl
je 0x4270c8
lea ecx, [esp + 0x14]
mov al, 0x20
nop dword [eax]
cmp dl, al
je 0x427143
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x4270b0
mov dl, byte [edi + 1]
inc edi
test dl, dl
jne 0x4270a3
mov ecx, ebx
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4270d0
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.0049e810
add esp, 8
test eax, eax
je 0x427c94
push 0xffffffffffffffff
push edi
mov edx, str.IncludeAgain
mov ecx, ebx
call fcn.0049e810
add esp, 8
test eax, eax
je 0x427c94
push 0xffffffffffffffff
push edi
mov edx, str.NoEnv
mov ecx, ebx
call fcn.0049e810
add esp, 8
test eax, eax
jne 0x427173
mov dword [0x4c9220], 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 0x42714f
cmp al, 9
jne 0x427152
inc esi
jmp 0x427145
test al, al
je 0x4270dc
cmp al, ah
jne 0x4270de
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x42715a
cmp al, 9
je 0x42715a
test al, al
jne 0x4270de
jmp 0x4270dc
push 0xffffffffffffffff
push edi
mov edx, str.NoTrayIcon
mov ecx, ebx
call fcn.0049e810
add esp, 8
test eax, eax
jne 0x42719f
mov byte [0x4cb091], 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.0049e810
add esp, 8
test eax, eax
jne 0x4271cb
mov byte [0x4ca765], 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.0049e810
add esp, 8
test eax, eax
jne 0x427279
mov dword [0x4ca778], 1
test esi, esi
je 0x427c94
mov edi, dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsicmp]
push str.Force
push esi
call edi
add esp, 8
test eax, eax
jne 0x427225
mov dword [0x4ca778], 2
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
push str.Ignore
push esi
call edi
add esp, 8
test eax, eax
jne 0x42724d
mov dword [0x4ca778], 3
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
push 0x4bb57c
push esi
call edi
add esp, 8
test eax, eax
jne 0x427c94
mov dword [0x4ca778], 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.0049e810
add esp, 8
test eax, eax
jne 0x4272a5
or byte [0x4cb1d6], 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.0049e810
add esp, 8
test eax, eax
jne 0x4272d1
or byte [0x4cb1d6], 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.0049e810
add esp, 8
test eax, eax
jne 0x427367
test esi, esi
je 0x427351
cmp byte [esi], al
je 0x427351
mov edi, dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsicmp]
push 0x4bb574
push esi
call edi
add esp, 8
test eax, eax
je 0x427351
mov ebx, dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbscmp]
push 0x4bb578
push esi
call ebx
add esp, 8
test eax, eax
je 0x427351
push 0x4bb57c
push esi
call edi
add esp, 8
test eax, eax
je 0x42733b
push 0x4b6c08
push esi
call ebx
add esp, 8
test eax, eax
jne 0x427351
xor al, al
mov byte [0x4ca7e7], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
mov al, 1
mov byte [0x4ca7e7], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
push 0xffffffffffffffff
push edi
mov edx, 0x4b7abc
mov ecx, ebx
call fcn.0049e810
add esp, 8
test eax, eax
jne 0x42746a
test esi, esi
je 0x427591
mov edi, dword [0x4cb07c]
test edi, edi
je 0x4273b8
mov ebx, dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbscmp]
nop dword [eax]
push dword [edi + 4]
push esi
call ebx
add esp, 8
test eax, eax
je 0x427441
mov edi, dword [edi + 0x10]
test edi, edi
jne 0x4273a0
mov dword [0x4cb088], 0
mov eax, dword [0x4c8024]
mov ecx, ebp
push 0
push 0
push 0
mov edi, dword [eax + 0x94]
push 0x4b6ba9
push 0
push 0xe5
mov dword [eax + 0x94], 0
push esi
mov byte [ebp + 0x25], 1
call fcn.00428c40
test eax, eax
je 0x42745e
mov eax, dword [0x4c8024]
mov byte [ebp + 0x25], 0
mov dword [eax + 0x94], edi
mov esi, dword [ebp + 0x354]
call fcn.0040c010
mov dword [0x4cb088], eax
test eax, eax
je 0x42745e
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], 0x4b6ba9
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
mov dword [0x4cb088], edi
test edi, edi
je 0x4273c2
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.0049e810
add esp, 8
test eax, eax
jne 0x427511
test esi, esi
je 0x427c94
mov ecx, esi
nop
mov al, byte [ecx]
cmp al, 0x20
je 0x42749a
cmp al, 9
jne 0x42749d
inc ecx
jmp 0x427490
test al, al
je 0x4274f3
cmp al, 0x2d
je 0x4274a9
cmp al, 0x2b
jne 0x4274b0
lea eax, [ecx + 1]
mov ecx, eax
mov al, byte [eax]
cmp al, 0x30
jne 0x4274f3
mov al, byte [ecx + 1]
cmp al, 0x78
je 0x4274bf
cmp al, 0x58
jne 0x4274f3
movsx eax, byte [ecx + 2]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je 0x4274f3
push 0x10
push 0
push esi
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__strtoi64]
mov dword [0x4c920c], eax
add esp, 0xc
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
push esi
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__atoi64]
mov dword [0x4c920c], eax
add esp, 4
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
mov ebp, dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsnbicmp]
push 6
push str.IfWin
push ebx
call ebp
add esp, 0xc
test eax, eax
jne 0x4276f5
push 3
lea eax, [ebx + 6]
push 0x4bb650
push eax
call ebp
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 ebp
add esp, 0xc
test eax, eax
jne 0x42756e
inc byte [esp + 0x1c]
jmp 0x42758d
push 5
push str.Exist
push edi
call ebp
add esp, 0xc
test eax, eax
jne 0x4276e6
mov al, byte [esp + 0x1c]
add al, 3
mov byte [esp + 0x1c], al
test esi, esi
jne 0x4275aa
mov dword [0x4cb088], 0
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
mov ah, byte [0x4c9207]
xor ebp, ebp
mov ch, byte [0x4c9206]
mov edx, esi
nop word [eax + eax]
mov al, byte [edx]
test al, al
je 0x427623
mov cl, al
nop dword [eax + eax]
mov al, cl
cmp cl, byte [0x4c9205]
je 0x4275f0
cmp cl, ah
je 0x4275ec
cmp cl, ch
je 0x4275ec
mov al, byte [edx + 1]
inc edx
mov cl, al
test al, al
jne 0x4275d0
test al, al
je 0x427623
cmp al, ch
je 0x42760a
cmp al, ah
jne 0x427601
test ebp, ebp
jne 0x42760a
mov ebp, edx
inc edx
jmp 0x4275c0
inc edx
cmp byte [edx], 0
je 0x427623
inc edx
jmp 0x4275c0
mov ecx, dword [esp + 0x10]
push ebx
push str.Literal_commas_and_percent_signs_must_be_escaped__e.g.____
call fcn.0043ee10
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
test ebp, ebp
je 0x4276a1
lea edi, [ebp + 1]
nop word [eax + eax]
mov al, byte [edi]
cmp al, 0x20
je 0x42763a
cmp al, 9
jne 0x42763d
inc edi
jmp 0x427630
mov byte [ebp], 0
sub ebp, esi
cmp byte [esi], 0
je 0x427693
cmp ebp, 0xffffffff
jne 0x42765c
mov ebp, esi
lea ecx, [ebp + 1]
mov al, byte [ebp]
inc ebp
test al, al
jne 0x427652
sub ebp, ecx
lea eax, [ebp - 1]
add eax, esi
mov cl, byte [eax]
cmp cl, 0x20
je 0x42766d
cmp cl, 9
jne 0x427674
cmp eax, esi
je 0x427686
dec eax
jmp 0x427661
push 1
mov ecx, edi
mov byte [eax + 1], 0
call fcn.004a0840
add esp, 4
jmp 0x4276a6
cmp cl, 0x20
je 0x427690
cmp cl, 9
jne 0x427693
mov byte [eax], 0
push 1
mov ecx, edi
call fcn.004a0840
add esp, 4
jmp 0x4276a6
mov edi, 0x4b6ba9
push 1
mov ecx, esi
call fcn.004a0840
mov cl, byte [esp + 0x20]
add esp, 4
mov edx, esi
push edi
call fcn.0040bd30
add esp, 4
test eax, eax
jne 0x427c94
mov ecx, dword [esp + 0x10]
push 0x4b6ba9
push str.Out_of_memory.
call fcn.0043ee10
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, 0x4bcdc8
mov ecx, ebx
call fcn.0049e810
add esp, 8
test eax, eax
jne 0x427816
test esi, esi
je 0x427c94
mov edx, str.EndChars
mov ecx, esi
call fcn.0049eb30
mov edi, eax
test edi, edi
je 0x42779c
mov dl, byte [edi]
test dl, dl
je 0x427c94
mov ecx, 0x4bcdd4
mov al, 9
nop word [eax + eax]
cmp dl, al
je 0x427763
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x427740
mov dl, byte [edi + 1]
inc edi
test dl, dl
jne 0x427733
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 dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
add esp, 0xc
mov byte [0x4c9204], 0
mov ecx, str._____:____.___n__t
push 0
call fcn.004a0840
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 ebp
add esp, 0xc
test eax, eax
jne 0x4277c1
mov byte [0x4c919c], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
push 0x4ca764
push 0x4ca7e9
push 0x4ca7ea
push 0x4c919d
push 0x4ca8e1
push 0x4ca7eb
push 0x4c919e
push 0x4c919f
push 0x4ca8e0
push 0x4c9208
push 0x4ca8e4
mov edx, 0x4ca8e8
mov ecx, esi
call fcn.0040f0a0
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.0049e810
add esp, 8
test eax, eax
jne 0x4278c1
test esi, esi
je 0x427c94
mov ecx, esi
nop word [eax + eax]
mov al, byte [ecx]
cmp al, 0x20
je 0x42784a
cmp al, 9
jne 0x42784d
inc ecx
jmp 0x427840
test al, al
je 0x4278a3
cmp al, 0x2d
je 0x427859
cmp al, 0x2b
jne 0x427860
lea eax, [ecx + 1]
mov ecx, eax
mov al, byte [eax]
cmp al, 0x30
jne 0x4278a3
mov al, byte [ecx + 1]
cmp al, 0x78
je 0x42786f
cmp al, 0x58
jne 0x4278a3
movsx eax, byte [ecx + 2]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je 0x4278a3
push 0x10
push 0
push esi
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtol]
mov dword [0x4c9224], eax
add esp, 0xc
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
push esi
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
mov dword [0x4c9224], 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.0049e810
add esp, 8
test eax, eax
jne 0x427967
test esi, esi
je 0x427c94
mov ecx, esi
mov al, byte [ecx]
cmp al, 0x20
je 0x4278ef
cmp al, 9
jne 0x4278f2
inc ecx
jmp 0x4278e5
test al, al
je 0x427936
cmp al, 0x2d
je 0x4278fe
cmp al, 0x2b
jne 0x427905
lea eax, [ecx + 1]
mov ecx, eax
mov al, byte [eax]
cmp al, 0x30
jne 0x427936
mov al, byte [ecx + 1]
cmp al, 0x78
je 0x427914
cmp al, 0x58
jne 0x427936
movsx eax, byte [ecx + 2]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je 0x427936
push 0x10
push 0
push esi
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtol]
add esp, 0xc
jmp 0x427940
push esi
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
mov dword [0x4c9210], eax
cmp eax, 0xa
jge 0x427c94
mov dword [0x4c9210], 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.0049e810
add esp, 8
test eax, eax
jne 0x427a12
test esi, esi
je 0x427c94
mov ecx, esi
nop dword [eax + eax]
mov al, byte [ecx]
cmp al, 0x20
je 0x42799a
cmp al, 9
jne 0x42799d
inc ecx
jmp 0x427990
test al, al
je 0x4279e1
cmp al, 0x2d
je 0x4279a9
cmp al, 0x2b
jne 0x4279b0
lea eax, [ecx + 1]
mov ecx, eax
mov al, byte [eax]
cmp al, 0x30
jne 0x4279e1
mov al, byte [ecx + 1]
cmp al, 0x78
je 0x4279bf
cmp al, 0x58
jne 0x4279e1
movsx eax, byte [ecx + 2]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je 0x4279e1
push 0x10
push 0
push esi
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtol]
add esp, 0xc
jmp 0x4279eb
push esi
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
mov dword [0x4c9214], eax
cmp eax, 1
jge 0x427c94
mov dword [0x4c9214], 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.0049e810
add esp, 8
test eax, eax
jne 0x427acd
test esi, esi
je 0x427c94
mov ecx, esi
mov al, byte [ecx]
cmp al, 0x20
je 0x427a40
cmp al, 9
jne 0x427a43
inc ecx
jmp 0x427a36
test al, al
je 0x427a87
cmp al, 0x2d
je 0x427a4f
cmp al, 0x2b
jne 0x427a56
lea eax, [ecx + 1]
mov ecx, eax
mov al, byte [eax]
cmp al, 0x30
jne 0x427a87
mov al, byte [ecx + 1]
cmp al, 0x78
je 0x427a65
cmp al, 0x58
jne 0x427a87
movsx eax, byte [ecx + 2]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je 0x427a87
push 0x10
push 0
push esi
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtol]
add esp, 0xc
jmp 0x427a91
push esi
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
cmp eax, 0xff
jle 0x427ab1
mov eax, 0xff
mov byte [0x4c9218], 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 [0x4c9218], 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.0049e810
add esp, 8
test eax, eax
jne 0x427b5f
test esi, esi
je 0x427b49
cmp byte [esi], al
je 0x427b49
mov edi, dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsicmp]
push 0x4bb574
push esi
call edi
add esp, 8
test eax, eax
je 0x427b49
mov ebx, dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbscmp]
push 0x4bb578
push esi
call ebx
add esp, 8
test eax, eax
je 0x427b49
push 0x4bb57c
push esi
call edi
add esp, 8
test eax, eax
je 0x427b33
push 0x4b6c08
push esi
call ebx
add esp, 8
test eax, eax
jne 0x427b49
xor al, al
mov byte [0x4cb08c], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
mov al, 1
mov byte [0x4cb08c], 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.0049e810
add esp, 8
test eax, eax
jne 0x427c1a
test esi, esi
je 0x427c94
mov ecx, esi
mov al, byte [ecx]
cmp al, 0x20
je 0x427b8d
cmp al, 9
jne 0x427b90
inc ecx
jmp 0x427b83
test al, al
je 0x427bd4
cmp al, 0x2d
je 0x427b9c
cmp al, 0x2b
jne 0x427ba3
lea eax, [ecx + 1]
mov ecx, eax
mov al, byte [eax]
cmp al, 0x30
jne 0x427bd4
mov al, byte [ecx + 1]
cmp al, 0x78
je 0x427bb2
cmp al, 0x58
jne 0x427bd4
movsx eax, byte [ecx + 2]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je 0x427bd4
push 0x10
push 0
push esi
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtol]
add esp, 0xc
jmp 0x427bde
push esi
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
cmp eax, 0xff
jle 0x427bfe
mov eax, 0xff
mov dword [0x4c8020], 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 [0x4c8020], 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.0049e810
add esp, 8
test eax, eax
jne 0x427cc1
test esi, esi
je 0x427c94
mov ecx, esi
nop word [eax + eax]
mov al, byte [ecx]
cmp al, 0x20
je 0x427c4a
cmp al, 9
jne 0x427c4d
inc ecx
jmp 0x427c40
test al, al
je 0x427ca3
cmp al, 0x2d
je 0x427c59
cmp al, 0x2b
jne 0x427c60
lea eax, [ecx + 1]
mov ecx, eax
mov al, byte [eax]
cmp al, 0x30
jne 0x427ca3
mov al, byte [ecx + 1]
cmp al, 0x78
je 0x427c6f
cmp al, 0x58
jne 0x427ca3
movsx eax, byte [ecx + 2]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je 0x427ca3
push 0x10
push 0
push esi
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtol]
add esp, 0xc
mov dword [0x4c8030], eax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
push esi
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
mov dword [0x4c8030], 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.0049e810
add esp, 8
test eax, eax
jne 0x427d53
test esi, esi
je 0x427d3d
cmp byte [esi], al
je 0x427d3d
mov edi, dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsicmp]
push 0x4bb574
push esi
call edi
add esp, 8
test eax, eax
je 0x427d3d
mov ebx, dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbscmp]
push 0x4bb578
push esi
call ebx
add esp, 8
test eax, eax
je 0x427d3d
push 0x4bb57c
push esi
call edi
add esp, 8
test eax, eax
je 0x427d27
push 0x4b6c08
push esi
call ebx
add esp, 8
test eax, eax
jne 0x427d3d
xor al, al
mov byte [0x4ca7e8], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
mov al, 1
mov byte [0x4ca7e8], 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.0049e810
add esp, 8
test eax, eax
jne 0x427d7f
mov byte [0x4cb0ac], 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.0049e810
add esp, 8
test eax, eax
jne 0x427dbc
mov edi, dword [esp + 0x10]
mov ecx, esi
mov byte [edi + 0x633], 1
call fcn.004222d0
mov dword [edi + 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.0049e810
add esp, 8
test eax, eax
jne 0x427e22
test esi, esi
je 0x427c94
mov ecx, esi
call fcn.00421130
movsd xmm1, qword [0x4c2320]
maxsd xmm1, xmm0
movsd xmm0, qword [0x4c2360]
minsd xmm0, xmm1
mulsd xmm0, qword [0x4c2358]
mulsd xmm0, qword [0x4c2358]
call fcn.004b4770
mov dword [0x4c921c], 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.0049e810
add esp, 8
test eax, eax
jne 0x427ee7
test esi, esi
je 0x427c94
mov ecx, esi
mov al, byte [ecx]
cmp al, 0x20
je 0x427e50
cmp al, 9
jne 0x427e53
inc ecx
jmp 0x427e46
test al, al
je 0x427e97
cmp al, 0x2d
je 0x427e5f
cmp al, 0x2b
jne 0x427e66
lea eax, [ecx + 1]
mov ecx, eax
mov al, byte [eax]
cmp al, 0x30
jne 0x427e97
mov al, byte [ecx + 1]
cmp al, 0x78
je 0x427e75
cmp al, 0x58
jne 0x427e97
movsx eax, byte [ecx + 2]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je 0x427e97
push 0x10
push 0
push esi
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtol]
add esp, 0xc
jmp 0x427ea1
push esi
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
mov dword [0x4c8028], eax
test eax, eax
jns 0x427ec3
mov dword [0x4c8028], 0
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
cmp eax, 0x1f4
jle 0x427c94
mov dword [0x4c8028], 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.0049e810
add esp, 8
test eax, eax
jne 0x427fbe
test esi, esi
je 0x427c94
cmp byte [esi + 1], al
jne 0x427f7c
mov al, byte [esi]
cmp al, 0x23
je 0x4281f5
cmp al, byte [0x4c9206]
je 0x4281f5
cmp al, byte [0x4c9205]
je 0x4281f5
cmp al, byte [0x4c9207]
je 0x4281f5
cmp al, 0x21
je 0x4281f5
cmp al, 0x5e
je 0x4281f5
cmp al, 0x2b
je 0x4281f5
cmp al, 0x24
je 0x4281f5
cmp al, 0x7e
je 0x4281f5
cmp al, 0x2a
je 0x4281f5
cmp al, 0x3c
je 0x4281f5
cmp al, 0x3e
je 0x4281f5
push 0xf
push esi
push 0x4c99a4
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov ecx, 0x4c99a4
mov byte [0x4c99b3], 0
add esp, 0xc
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x427fa0
sub ecx, edx
mov eax, 3
mov dword [0x4c99b4], 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.0049e810
add esp, 8
test eax, eax
jne 0x42802f
test esi, esi
je 0x427c94
mov al, byte [esi]
cmp al, 0x23
je 0x4281f5
cmp al, byte [0x4c9206]
je 0x4281f5
cmp al, byte [0x4c9207]
je 0x4281f5
cmp al, 0x2e
je 0x4281f5
cmp dword [0x4c99b4], 1
jne 0x42801b
cmp al, byte [0x4c99a4]
je 0x4281f5
mov byte [0x4c9205], 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.0049e810
add esp, 8
test eax, eax
jne 0x428098
test esi, esi
je 0x427c94
mov al, byte [esi]
cmp al, byte [0x4c9205]
je 0x4281f5
cmp al, byte [0x4c9207]
je 0x4281f5
cmp al, 0x2e
je 0x4281f5
cmp dword [0x4c99b4], 1
jne 0x428084
cmp al, byte [0x4c99a4]
je 0x4281f5
mov byte [0x4c9206], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
push 0xffffffffffffffff
push edi
mov edx, 0x4bcec4
mov ecx, ebx
call fcn.0049e810
add esp, 8
test eax, eax
jne 0x428109
test esi, esi
je 0x427c94
mov al, byte [esi]
cmp al, 0x23
je 0x4281f5
cmp al, byte [0x4c9205]
je 0x4281f5
cmp al, byte [0x4c9206]
je 0x4281f5
cmp al, 0x2e
je 0x4281f5
cmp dword [0x4c99b4], 1
jne 0x4280f5
cmp al, byte [0x4c99a4]
je 0x4281f5
mov byte [0x4c9207], 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.0049e810
add esp, 8
test eax, eax
jne 0x42816d
test esi, esi
je 0x428149
push eax
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
push eax
push 0
push 0x4c9228
mov edx, 0x4c921a
mov ecx, esi
call fcn.00415f20
add esp, 0xc
test al, al
jne 0x427c94
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.0043ee10
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.0049e810
add esp, 8
test eax, eax
jne 0x428224
test esi, esi
je 0x42820e
mov ecx, esi
mov al, byte [ecx]
cmp al, 0x20
je 0x42819b
cmp al, 9
jne 0x42819e
inc ecx
jmp 0x428191
test al, al
je 0x4281e2
cmp al, 0x2d
je 0x4281aa
cmp al, 0x2b
jne 0x4281b1
lea eax, [ecx + 1]
mov ecx, eax
mov al, byte [eax]
cmp al, 0x30
jne 0x4281e2
mov al, byte [ecx + 1]
cmp al, 0x78
je 0x4281c0
cmp al, 0x58
jne 0x4281e2
movsx eax, byte [ecx + 2]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je 0x4281e2
push 0x10
push 0
push esi
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtol]
add esp, 0xc
jmp 0x4281ec
push esi
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
test eax, eax
js 0x4281f5
cmp eax, 0x64
jle 0x428210
mov ecx, dword [esp + 0x10]
push ebx
push str.Parameter_1_invalid.
call fcn.0043ee10
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
xor eax, eax
mov byte [0x4ca953], 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.0049e810
add esp, 8
test eax, eax
jne 0x42827d
test esi, esi
je 0x428267
push 0x4bb57c
push esi
call dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsicmp]
add esp, 8
test eax, eax
jne 0x428267
xor al, al
mov byte [0x4c9219], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
mov al, 1
mov byte [0x4c9219], 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.0049e810
add esp, 8
test eax, eax
jne 0x4283e9
movsx eax, byte [0x4c9207]
test esi, esi
mov edi, 0x4b6ba9
cmovne edi, esi
push eax
push edi
call dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbschr]
mov ecx, eax
add esp, 8
mov ebp, 0x4b6ba9
test ecx, ecx
je 0x4282eb
lea ebp, [ecx + 1]
mov al, byte [ebp]
cmp al, 0x20
je 0x4282cc
cmp al, 9
jne 0x4282cf
inc ebp
jmp 0x4282c1
lea eax, [ecx - 1]
cmp eax, edi
jbe 0x4282e7
mov cl, byte [eax]
cmp cl, 0x20
je 0x4282e2
cmp cl, 9
jne 0x4282e7
dec eax
cmp eax, edi
ja 0x4282d6
mov byte [eax + 1], 0
cmp byte [edi], 0
mov esi, 6
mov eax, dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsicmp]
je 0x428335
xor esi, esi
nop dword [eax]
push dword [esi*4 + 0x4bea64]
push edi
call eax
add esp, 8
test eax, eax
mov eax, dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsicmp]
je 0x428335
inc esi
cmp esi, 7
jne 0x428300
mov ecx, dword [esp + 0x10]
push ebx
push str.Parameter_1_invalid.
call fcn.0043ee10
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
cmp byte [ebp], 0
mov edi, 2
je 0x428377
xor edi, edi
push dword [edi*4 + 0x4bea54]
push ebp
call eax
add esp, 8
test eax, eax
je 0x428377
mov eax, dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsicmp]
inc edi
cmp edi, 4
jne 0x428342
mov ecx, dword [esp + 0x10]
push ebp
push str.Parameter_2_invalid.
call fcn.0043ee10
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
test esi, esi
je 0x428380
cmp esi, 6
jne 0x428386
mov dword [0x4cb0a8], edi
cmp esi, 1
je 0x428390
cmp esi, 6
jne 0x428396
mov dword [0x4cb0a4], edi
cmp esi, 3
je 0x4283a0
cmp esi, 6
jne 0x4283a6
mov dword [0x4cb0a0], edi
cmp esi, 2
je 0x4283b0
cmp esi, 6
jne 0x4283b6
mov dword [0x4cb09c], edi
cmp esi, 4
je 0x4283c0
cmp esi, 6
jne 0x4283c6
mov dword [0x4cb098], edi
cmp esi, 5
je 0x4283d4
cmp esi, 6
jne 0x427c94
mov dword [0x4cb094], 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.0049e810
add esp, 8
test eax, eax
je 0x427c94
push 0xffffffffffffffff
push edi
mov edx, str.WindowClassMain
mov ecx, ebx
call fcn.0049e810
add esp, 8
test eax, eax
jne 0x4284cc
test esi, esi
je 0x427c94
mov ecx, esi
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x428430
sub ecx, edx
lea edi, [ecx*2 + 2]
lea eax, [edi - 1]
cmp eax, 0x7fff
ja 0x42849e
cmp dword [0x4cbf8c], 0
jne 0x428461
call fcn.0049ba10
mov dword [0x4cbf8c], eax
test eax, eax
je 0x42849e
mov edx, dword [0x4cbf88]
cmp edi, dword [edx + 8]
jbe 0x42847e
call fcn.0049ba10
mov edx, dword [0x4cbf88]
mov dword [edx + 0xc], eax
test eax, eax
je 0x42849e
mov ecx, dword [edx + 4]
mov eax, edi
mov dword [0x4cbf84], ecx
and eax, 3
je 0x428493
sub edi, eax
add edi, 4
sub dword [edx + 8], edi
lea eax, [edi + ecx]
mov dword [edx + 4], eax
jmp 0x4284a0
xor ecx, ecx
mov dword [str.AutoHotkey], 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 0x4284b0
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.0049e810
add esp, 8
test eax, eax
jne 0x42858c
test esi, esi
je 0x427c94
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4284f3
sub ecx, edx
lea edi, [ecx*2 + 2]
lea eax, [edi - 1]
cmp eax, 0x7fff
ja 0x428561
cmp dword [0x4cbf8c], 0
jne 0x428524
call fcn.0049ba10
mov dword [0x4cbf8c], eax
test eax, eax
je 0x428561
mov edx, dword [0x4cbf88]
cmp edi, dword [edx + 8]
jbe 0x428541
call fcn.0049ba10
mov edx, dword [0x4cbf88]
mov dword [edx + 0xc], eax
test eax, eax
je 0x428561
mov ecx, dword [edx + 4]
mov eax, edi
mov dword [0x4cbf84], ecx
and eax, 3
je 0x428556
sub edi, eax
add edi, 4
sub dword [edx + 8], edi
lea eax, [edi + ecx]
mov dword [edx + 4], eax
jmp 0x428563
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 0x428570
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
push 0xffffffffffffffff
push edi
mov edx, 0x4bcf58
mov ecx, ebx
call fcn.0049e810
add esp, 8
test eax, eax
jne 0x4276e6
mov edx, ebx
mov ecx, esi
call fcn.004a0c90
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4