Function at 0x4272f0
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 [0x4e8278]
mov word [esp + 0x14], bp
push esi
push edi
mov edi, ebx
test ebx, ebx
je 0x427365
movzx eax, word [ebx]
test ax, ax
je 0x427365
mov esi, eax
nop word [eax + eax]
lea ecx, [esp + 0x18]
mov edx, 0x20
nop dword [eax]
cmp si, dx
je 0x4273e3
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
test ax, ax
jne 0x427340
movzx eax, word [edi + 2]
add edi, 2
mov esi, eax
test ax, ax
jne 0x427330
mov ecx, ebx
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x427370
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.004a1bc0
add esp, 8
test eax, eax
je 0x4273d4
push 0xffffffffffffffff
push edi
mov edx, str.IncludeAgain
mov ecx, ebx
call fcn.004a1bc0
add esp, 8
test eax, eax
je 0x4273d4
push 0xffffffffffffffff
push edi
mov edx, str.NoEnv
mov ecx, ebx
call fcn.004a1bc0
add esp, 8
test eax, eax
jne 0x427422
mov dword [0x4e828c], 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 0x4273f4
cmp eax, 9
jne 0x4273f9
add esi, 2
jmp 0x4273e5
test ax, ax
je 0x427382
cmp cx, bp
jne 0x427384
movzx eax, word [esi + 2]
add esi, 2
cmp eax, 0x20
je 0x427403
cmp eax, 9
je 0x427403
test ax, ax
jne 0x427384
jmp 0x427382
push 0xffffffffffffffff
push edi
mov edx, str.NoTrayIcon
mov ecx, ebx
call fcn.004a1bc0
add esp, 8
test eax, eax
jne 0x42744e
mov byte [0x4e98a3], 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.004a1bc0
add esp, 8
test eax, eax
jne 0x42747a
mov byte [0x4e9805], 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.004a1bc0
add esp, 8
test eax, eax
jne 0x427528
mov dword [0x4e9818], 1
test esi, esi
je 0x4273d4
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 0x4274d4
mov dword [0x4e9818], 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 0x4274fc
mov dword [0x4e9818], 3
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
push 0x4d4ec0
push esi
call edi
add esp, 8
test eax, eax
jne 0x4273d4
mov dword [0x4e9818], 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.004a1bc0
add esp, 8
test eax, eax
jne 0x427554
or byte [0x4ea2fe], 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.004a1bc0
add esp, 8
test eax, eax
jne 0x427580
or byte [0x4ea2fe], 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.004a1bc0
add esp, 8
test eax, eax
jne 0x4275d4
test esi, esi
je 0x4275be
xor edx, edx
mov ecx, esi
call fcn.0040c170
cmp eax, 2
jne 0x4275be
xor al, al
mov byte [0x4e9883], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
mov al, 1
mov byte [0x4e9883], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
push 0xffffffffffffffff
push edi
mov edx, 0x4c16d0
mov ecx, ebx
call fcn.004a1bc0
add esp, 8
test eax, eax
jne 0x4276f5
test esi, esi
je 0x4277a8
mov edi, dword [0x4ea1ac]
test edi, edi
je 0x42763f
mov ecx, dword [edi + 4]
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x42762b
test dx, dx
je 0x427627
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x42762b
add eax, 4
add ecx, 4
test dx, dx
jne 0x427605
xor eax, eax
jmp 0x427630
sbb eax, eax
or eax, 1
test eax, eax
je 0x4276cc
mov edi, dword [edi + 0x10]
test edi, edi
jne 0x427600
mov dword [0x4ea1b8], 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 0x4bfba0
push 0
push 0xe5
mov dword [eax + 0xb4], 0
push esi
mov byte [ebx + 0x25], 1
call fcn.004289b0
test eax, eax
je 0x4276e9
mov eax, dword [0x4e7024]
mov byte [ebx + 0x25], 0
mov dword [eax + 0xb4], edi
mov esi, dword [ebx + 0x614]
call fcn.0040c6f0
mov dword [0x4ea1b8], eax
test eax, eax
je 0x4276e9
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], 0x4bfba0
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
mov dword [0x4ea1b8], edi
test edi, edi
je 0x427649
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.004a1bc0
add esp, 8
test eax, eax
jne 0x42772e
test esi, esi
je 0x4273d4
mov ecx, esi
call fcn.0041eef0
mov dword [0x4e827c], 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 0x4278eb
push 3
lea eax, [ebx + 0xc]
push 0x4d505c
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 0x42778a
inc byte [esp + 0x24]
jmp 0x4277a4
push 5
push str.Exist
push edi
call ebp
add esp, 0xc
test eax, eax
jne 0x4278dc
add byte [esp + 0x24], 3
test esi, esi
jne 0x4277c1
mov dword [0x4ea1b8], 0
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
mov bp, word [0x4e8278]
mov edi, esi
mov dword [esp + 0x14], 0
movzx eax, word [edi]
mov edx, eax
test ax, ax
je 0x427810
mov ecx, eax
nop
movzx edx, cx
cmp cx, word [0x4e8270]
je 0x427815
movzx edx, cx
cmp cx, bp
je 0x427810
movzx edx, cx
cmp cx, word [0x4e8274]
je 0x427810
movzx eax, word [edi + 2]
add edi, 2
mov ecx, eax
mov edx, eax
test ax, ax
jne 0x4277e0
test dx, dx
je 0x42785a
cmp dx, word [0x4e8274]
je 0x427841
cmp dx, bp
jne 0x427833
cmp dword [esp + 0x14], 0
jne 0x427841
mov dword [esp + 0x14], edi
add edi, 2
jmp 0x4277d2
add edi, 2
cmp word [edi], 0
je 0x42785a
add edi, 2
jmp 0x4277d2
mov ecx, dword [esp + 0x10]
push ebx
push str.Literal_commas_and_percent_signs_must_be_escaped__e.g.____
call fcn.0043ec50
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x427897
lea edi, [ecx + 2]
movzx eax, word [edi]
cmp eax, 0x20
je 0x427872
cmp eax, 9
jne 0x427877
add edi, 2
jmp 0x427865
xor eax, eax
mov word [ecx], ax
sub ecx, esi
sar ecx, 1
mov edx, ecx
mov ecx, esi
call fcn.00421870
push 1
mov ecx, edi
call fcn.004a3d30
add esp, 4
jmp 0x42789c
mov edi, 0x4bfba0
push 1
mov ecx, esi
call fcn.004a3d30
mov cl, byte [esp + 0x28]
add esp, 4
mov edx, esi
push edi
call fcn.0040c530
add esp, 4
test eax, eax
jne 0x4273d4
mov ecx, dword [esp + 0x10]
push 0x4bfba0
push str.Out_of_memory.
call fcn.0043ec50
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, 0x4d7b20
mov ecx, ebx
call fcn.004a1bc0
add esp, 8
test eax, eax
jne 0x427a23
test esi, esi
je 0x4273d4
mov edx, str.EndChars
mov ecx, esi
call fcn.004a1f00
mov edi, eax
test edi, edi
je 0x4279a9
movzx eax, word [edi]
test ax, ax
je 0x4273d4
mov esi, eax
mov ecx, 0x4d7b38
mov edx, 9
nop dword [eax + eax]
cmp si, dx
je 0x427970
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
test ax, ax
jne 0x427940
movzx eax, word [edi + 2]
add edi, 2
mov esi, eax
test ax, ax
jne 0x427931
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 str._____:____.___n__t
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
add esp, 0xc
xor eax, eax
mov ecx, str._____:____.___n__t
mov word [0x4e8268], ax
push eax
call fcn.004a3d30
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 0x4279ce
mov byte [0x4e819c], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
push 0x4e9804
push 0x4e9887
push 0x4e988a
push 0x4e819d
push 0x4e988f
push 0x4e988b
push 0x4e819e
push 0x4e819f
push 0x4e988e
push 0x4e826c
push 0x4e99bc
mov edx, 0x4e99c0
mov ecx, esi
call fcn.0040f690
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.004a1bc0
add esp, 8
test eax, eax
jne 0x427a5c
test esi, esi
je 0x4273d4
mov ecx, esi
call fcn.004112f0
mov dword [0x4e8290], 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.004a1bc0
add esp, 8
test eax, eax
jne 0x427aa8
test esi, esi
je 0x4273d4
mov ecx, esi
call fcn.004112f0
mov dword [0x4e8280], eax
cmp eax, 0xa
jge 0x4273d4
mov dword [0x4e8280], 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.004a1bc0
add esp, 8
test eax, eax
jne 0x427af4
test esi, esi
je 0x4273d4
mov ecx, esi
call fcn.004112f0
mov dword [0x4e8284], eax
cmp eax, 1
jge 0x4273d4
mov dword [0x4e8284], 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.004a1bc0
add esp, 8
test eax, eax
jne 0x427b55
test esi, esi
je 0x4273d4
mov ecx, esi
call fcn.004112f0
cmp eax, 0xff
jle 0x427b39
mov eax, 0xff
mov byte [0x4e826a], 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 [0x4e826a], 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.004a1bc0
add esp, 8
test eax, eax
jne 0x427ba9
test esi, esi
je 0x427b93
xor edx, edx
mov ecx, esi
call fcn.0040c170
cmp eax, 2
jne 0x427b93
xor al, al
mov byte [0x4e989a], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
mov al, 1
mov byte [0x4e989a], 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.004a1bc0
add esp, 8
test eax, eax
jne 0x427c0a
test esi, esi
je 0x4273d4
mov ecx, esi
call fcn.004112f0
cmp eax, 0xff
jle 0x427bee
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.004a1bc0
add esp, 8
test eax, eax
jne 0x427c43
test esi, esi
je 0x4273d4
mov ecx, esi
call fcn.004112f0
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.004a1bc0
add esp, 8
test eax, eax
jne 0x427c97
test esi, esi
je 0x427c81
xor edx, edx
mov ecx, esi
call fcn.0040c170
cmp eax, 2
jne 0x427c81
xor al, al
mov byte [0x4e9886], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
mov al, 1
mov byte [0x4e9886], 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.004a1bc0
add esp, 8
test eax, eax
jne 0x427cc3
mov byte [0x4ea1d4], 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.004a1bc0
add esp, 8
test eax, eax
jne 0x427d00
mov edi, dword [esp + 0x10]
mov ecx, esi
mov byte [edi + 0xafb], 1
call fcn.00422990
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.004a1bc0
add esp, 8
test eax, eax
jne 0x427d66
test esi, esi
je 0x4273d4
mov ecx, esi
call fcn.004218d0
movsd xmm1, qword [0x4e1128]
maxsd xmm1, xmm0
movsd xmm0, qword [0x4e1168]
minsd xmm0, xmm1
mulsd xmm0, qword [0x4e1160]
mulsd xmm0, qword [0x4e1160]
call fcn.004bdd00
mov dword [0x4e8288], 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.004a1bc0
add esp, 8
test eax, eax
jne 0x427dd1
test esi, esi
je 0x4273d4
mov ecx, esi
call fcn.004112f0
mov dword [0x4e7028], eax
test eax, eax
jns 0x427dad
mov dword [0x4e7028], 0
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
cmp eax, 0x1f4
jle 0x4273d4
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.004a1bc0
add esp, 8
test eax, eax
jne 0x427eb9
test esi, esi
je 0x4273d4
cmp word [esi + 2], ax
jne 0x427e74
movzx eax, word [esi]
cmp eax, 0x23
je 0x4280a6
cmp ax, word [0x4e8274]
je 0x4280a6
cmp ax, word [0x4e8270]
je 0x4280a6
cmp ax, word [0x4e8278]
je 0x4280a6
cmp eax, 0x21
je 0x4280a6
cmp eax, 0x5e
je 0x4280a6
cmp eax, 0x2b
je 0x4280a6
cmp eax, 0x24
je 0x4280a6
cmp eax, 0x7e
je 0x4280a6
cmp eax, 0x2a
je 0x4280a6
cmp eax, 0x3c
je 0x4280a6
cmp eax, 0x3e
je 0x4280a6
push 0xf
push esi
push 0x4e8a14
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
mov ecx, 0x4e8a14
add esp, 0xc
xor eax, eax
mov word [0x4e8a32], ax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x427e95
sub ecx, edx
mov eax, 3
sar ecx, 1
mov dword [0x4e8a34], 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.004a1bc0
add esp, 8
test eax, eax
jne 0x427f31
test esi, esi
je 0x4273d4
movzx eax, word [esi]
cmp eax, 0x23
je 0x4280a6
cmp ax, word [0x4e8274]
je 0x4280a6
cmp ax, word [0x4e8278]
je 0x4280a6
cmp eax, 0x2e
je 0x4280a6
cmp dword [0x4e8a34], 1
jne 0x427f1c
cmp ax, word [0x4e8a14]
je 0x4280a6
mov word [0x4e8270], 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.004a1bc0
add esp, 8
test eax, eax
jne 0x427fa0
test esi, esi
je 0x4273d4
movzx eax, word [esi]
cmp ax, word [0x4e8270]
je 0x4280a6
cmp ax, word [0x4e8278]
je 0x4280a6
cmp eax, 0x2e
je 0x4280a6
cmp dword [0x4e8a34], 1
jne 0x427f8b
cmp ax, word [0x4e8a14]
je 0x4280a6
mov word [0x4e8274], ax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
push 0xffffffffffffffff
push edi
mov edx, 0x4d7d04
mov ecx, ebx
call fcn.004a1bc0
add esp, 8
test eax, eax
jne 0x428018
test esi, esi
je 0x4273d4
movzx eax, word [esi]
cmp eax, 0x23
je 0x4280a6
cmp ax, word [0x4e8270]
je 0x4280a6
cmp ax, word [0x4e8274]
je 0x4280a6
cmp eax, 0x2e
je 0x4280a6
cmp dword [0x4e8a34], 1
jne 0x428003
cmp ax, word [0x4e8a14]
je 0x4280a6
mov word [0x4e8278], 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.004a1bc0
add esp, 8
test eax, eax
jne 0x42807c
test esi, esi
je 0x428058
push eax
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
push eax
push 0
push 0x4e8294
mov edx, 0x4e8272
mov ecx, esi
call fcn.004164a0
add esp, 0xc
test al, al
jne 0x4273d4
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.0043ec50
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.004a1bc0
add esp, 8
test eax, eax
jne 0x4280d5
test esi, esi
je 0x4280bf
mov ecx, esi
call fcn.004112f0
test eax, eax
js 0x4280a6
cmp eax, 0x64
jle 0x4280c1
mov ecx, dword [esp + 0x10]
push ebx
push str.Parameter_1_invalid.
call fcn.0043ec50
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
xor eax, eax
mov byte [0x4e9897], 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.004a1bc0
add esp, 8
test eax, eax
jne 0x42812e
test esi, esi
je 0x428118
push 0x4d4ec0
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
add esp, 8
test eax, eax
jne 0x428118
xor al, al
mov byte [0x4e826b], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
mov al, 1
mov byte [0x4e826b], 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.004a1bc0
add esp, 8
test eax, eax
jne 0x4282aa
movzx eax, word [0x4e8278]
test esi, esi
mov edi, 0x4bfba0
cmovne edi, esi
push eax
push edi
call dword [sym.imp.VCRUNTIME140.dll_wcschr]
mov ecx, eax
add esp, 8
mov ebp, 0x4bfba0
test ecx, ecx
je 0x4281aa
lea ebp, [ecx + 2]
movzx eax, word [ebp]
cmp eax, 0x20
je 0x428180
cmp eax, 9
jne 0x428185
add ebp, 2
jmp 0x428172
lea eax, [ecx - 2]
cmp eax, edi
jbe 0x4281a4
nop dword [eax]
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x42819d
cmp ecx, 9
jne 0x4281a4
sub eax, 2
cmp eax, edi
ja 0x428190
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 0x4281f5
xor esi, esi
nop dword [eax]
push dword [esi*4 + 0x4db184]
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 0x4281f5
inc esi
cmp esi, 7
jne 0x4281c0
mov ecx, dword [esp + 0x10]
push ebx
push str.Parameter_1_invalid.
call fcn.0043ec50
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
cmp word [ebp], 0
mov edi, 2
je 0x428238
xor edi, edi
push dword [edi*4 + 0x4db174]
push ebp
call eax
add esp, 8
test eax, eax
je 0x428238
mov eax, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
inc edi
cmp edi, 4
jne 0x428203
mov ecx, dword [esp + 0x10]
push ebp
push str.Parameter_2_invalid.
call fcn.0043ec50
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
test esi, esi
je 0x428241
cmp esi, 6
jne 0x428247
mov dword [0x4ea1d0], edi
cmp esi, 1
je 0x428251
cmp esi, 6
jne 0x428257
mov dword [0x4ea1cc], edi
cmp esi, 3
je 0x428261
cmp esi, 6
jne 0x428267
mov dword [0x4ea1c8], edi
cmp esi, 2
je 0x428271
cmp esi, 6
jne 0x428277
mov dword [0x4ea1c4], edi
cmp esi, 4
je 0x428281
cmp esi, 6
jne 0x428287
mov dword [0x4ea1c0], edi
cmp esi, 5
je 0x428295
cmp esi, 6
jne 0x4273d4
mov dword [0x4ea1bc], 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.004a1bc0
add esp, 8
test eax, eax
je 0x4273d4
push 0xffffffffffffffff
push edi
mov edx, str.WindowClassMain
mov ecx, ebx
call fcn.004a1bc0
add esp, 8
test eax, eax
jne 0x42838f
test esi, esi
je 0x4273d4
mov ecx, esi
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4282f0
sub ecx, edx
sar ecx, 1
lea edi, [ecx*2 + 2]
lea eax, [edi - 1]
cmp eax, 0xffff
ja 0x428364
cmp dword [0x4eb0b4], 0
jne 0x428327
call fcn.0049e960
mov dword [0x4eb0b4], eax
test eax, eax
je 0x428364
mov edx, dword [0x4eb0b0]
cmp edi, dword [edx + 8]
jbe 0x428344
call fcn.0049e960
mov edx, dword [0x4eb0b0]
mov dword [edx + 0xc], eax
test eax, eax
je 0x428364
mov ecx, dword [edx + 4]
mov eax, edi
mov dword [0x4eb0ac], ecx
and eax, 3
je 0x428359
sub edi, eax
add edi, 4
sub dword [edx + 8], edi
lea eax, [edi + ecx]
mov dword [edx + 4], eax
jmp 0x428366
xor ecx, ecx
mov dword [str.AutoHotkey], ecx
sub ecx, esi
nop
movzx eax, word [esi]
lea esi, [esi + 2]
mov word [esi + ecx - 2], ax
test ax, ax
jne 0x428370
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.004a1bc0
add esp, 8
test eax, eax
jne 0x428453
test esi, esi
je 0x4273d4
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4283b6
sub ecx, edx
sar ecx, 1
lea edi, [ecx*2 + 2]
lea eax, [edi - 1]
cmp eax, 0xffff
ja 0x42842a
cmp dword [0x4eb0b4], 0
jne 0x4283ed
call fcn.0049e960
mov dword [0x4eb0b4], eax
test eax, eax
je 0x42842a
mov edx, dword [0x4eb0b0]
cmp edi, dword [edx + 8]
jbe 0x42840a
call fcn.0049e960
mov edx, dword [0x4eb0b0]
mov dword [edx + 0xc], eax
test eax, eax
je 0x42842a
mov ecx, dword [edx + 4]
mov eax, edi
mov dword [0x4eb0ac], ecx
and eax, 3
je 0x42841f
sub edi, eax
add edi, 4
sub dword [edx + 8], edi
lea eax, [edi + ecx]
mov dword [edx + 4], eax
jmp 0x42842c
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 0x428434
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
push 0xffffffffffffffff
push edi
mov edx, 0x4d7e14
mov ecx, ebx
call fcn.004a1bc0
add esp, 8
test eax, eax
jne 0x4278dc
mov edx, ebx
mov ecx, esi
call fcn.004a4220
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4