Function at 0x42f690
Capabilities:
Check if file exists
Get file attributes
Get keyboard layout
Set current directory

Disassembly:
sub esp, 0x238
push ebx
mov ebx, dword [esp + 0x240]
xor eax, eax
mov dword [esp + 8], ecx
mov dword [esp + 0x30], 0x90020
mov word [esp + 0x36], ax
push ebp
mov bp, word [0x4e4348]
mov word [esp + 0x38], bp
push esi
push edi
mov edi, ebx
test ebx, ebx
je 0x42f705
movzx eax, word [ebx]
test ax, ax
je 0x42f705
mov esi, eax
lea ecx, [esp + 0x3c]
mov edx, 0x20
nop dword [eax]
cmp si, dx
je 0x42f79e
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
test ax, ax
jne 0x42f6e0
movzx eax, word [edi + 2]
add edi, 2
mov esi, eax
test ax, ax
jne 0x42f6d0
mov ecx, ebx
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42f710
sub ecx, edx
sar ecx, 1
lea edi, [ebx + ecx*2]
xor esi, esi
mov dword [esp + 0x24], esi
sub edi, ebx
mov byte [esp + 0x38], 0
sar edi, 1
mov edx, str.Include
push 0xffffffffffffffff
push edi
mov ecx, ebx
call fcn.0049c700
add esp, 8
test eax, eax
je 0x430862
push 0xffffffffffffffff
push edi
mov edx, str.IncludeAgain
mov ecx, ebx
call fcn.0049c700
add esp, 8
test eax, eax
sete byte [esp + 0x38]
test eax, eax
je 0x430862
push 0xffffffffffffffff
push edi
mov edx, str.NoEnv
mov ecx, ebx
call fcn.0049c700
add esp, 8
test eax, eax
jne 0x42f7e8
mov dword [0x4e435c], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
mov esi, edi
movzx eax, word [esi]
mov ecx, eax
cmp eax, 0x20
je 0x42f7af
cmp eax, 9
jne 0x42f7b4
add esi, 2
jmp 0x42f7a0
mov dword [esp + 0x24], esi
test ax, ax
je 0x42f722
cmp cx, bp
jne 0x42f728
movzx eax, word [esi + 2]
add esi, 2
cmp eax, 0x20
je 0x42f7ca
cmp eax, 9
je 0x42f7ca
xor ecx, ecx
test ax, ax
cmove esi, ecx
jmp 0x42f724
push 0xffffffffffffffff
push edi
mov edx, str.NoTrayIcon
mov ecx, ebx
call fcn.0049c700
add esp, 8
test eax, eax
jne 0x42f817
mov byte [0x4e5a8b], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.Persistent
mov ecx, ebx
call fcn.0049c700
add esp, 8
test eax, eax
jne 0x42f846
mov byte [0x4e59f9], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.SingleInstance
mov ecx, ebx
call fcn.0049c700
add esp, 8
test eax, eax
jne 0x42f8fd
mov dword [0x4e5a0c], 1
test esi, esi
je 0x42f78c
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 0x42f8a3
mov dword [0x4e5a0c], 2
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
push str.Ignore
push esi
call edi
add esp, 8
test eax, eax
jne 0x42f8ce
mov dword [0x4e5a0c], 3
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
push 0x4d0100
push esi
call edi
add esp, 8
test eax, eax
jne 0x42f78c
mov dword [0x4e5a0c], 4
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.InstallKeybdHook
mov ecx, ebx
call fcn.0049c700
add esp, 8
test eax, eax
jne 0x42f92c
or byte [0x4e64eb], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.InstallMouseHook
mov ecx, ebx
call fcn.0049c700
add esp, 8
test eax, eax
jne 0x42f95b
or byte [0x4e64eb], 2
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.UseHook
mov ecx, ebx
call fcn.0049c700
add esp, 8
test eax, eax
jne 0x42f9b5
test esi, esi
je 0x42f99c
xor edx, edx
mov ecx, esi
call fcn.00413180
cmp eax, 2
jne 0x42f99c
xor al, al
mov byte [0x4e5a63], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
mov al, 1
mov byte [0x4e5a63], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
push 0xffffffffffffffff
push edi
mov edx, 0x4cefa8
mov ecx, ebx
call fcn.0049c700
add esp, 8
test eax, eax
jne 0x42fa79
test esi, esi
je 0x42fb2e
mov ecx, esi
call fcn.00413810
mov dword [0x4e63a8], eax
test eax, eax
jne 0x42f78c
mov eax, dword [0x4e30f4]
mov ebx, dword [esp + 0x14]
mov ecx, ebx
push 0
push 0
mov edi, dword [eax + 0xb4]
push 0
push 0x4b9c40
push 0
push 0xe5
mov dword [eax + 0xb4], 0
push esi
mov byte [ebx + 0x25], 1
call fcn.00431180
test eax, eax
je 0x430b45
mov eax, dword [0x4e30f4]
mov byte [ebx + 0x25], 0
mov dword [eax + 0xb4], edi
mov esi, dword [ebx + 0x614]
call fcn.00413790
mov dword [0x4e63a8], eax
test eax, eax
je 0x430b45
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], 0x4b9c40
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.IfTimeout
mov ecx, ebx
call fcn.0049c700
add esp, 8
test eax, eax
jne 0x42fab5
test esi, esi
je 0x42f78c
mov ecx, esi
call fcn.00404ce0
mov dword [0x4e434c], eax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
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 0x42fc83
push 3
lea eax, [ebx + 0xc]
push 0x4d029c
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 + 0x17], cl
add edi, ebx
push str.Active
push edi
call ebp
add esp, 0xc
test eax, eax
jne 0x42fb0f
mov al, 1
jmp 0x42fb26
push 5
push str.Exist
push edi
call ebp
add esp, 0xc
test eax, eax
jne 0x42fc71
mov al, 3
add byte [esp + 0x13], al
test esi, esi
jne 0x42fb4a
mov dword [0x4e63a8], 0
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
mov bp, word [0x4e4348]
xor ecx, ecx
mov dword [esp + 0x28], ecx
mov edi, esi
nop dword [eax]
movzx eax, word [edi]
mov edx, eax
test ax, ax
je 0x42fba4
mov ecx, eax
nop dword [eax]
movzx edx, cx
cmp cx, word [0x4e4340]
je 0x42fba0
movzx edx, cx
cmp cx, bp
je 0x42fba0
movzx edx, cx
cmp cx, word [0x4e4344]
je 0x42fba0
movzx eax, word [edi + 2]
add edi, 2
mov ecx, eax
mov edx, eax
test ax, ax
jne 0x42fb70
mov ecx, dword [esp + 0x28]
test dx, dx
je 0x42fbf0
cmp dx, word [0x4e4344]
je 0x42fbd4
cmp dx, bp
jne 0x42fbc6
test ecx, ecx
jne 0x42fbd4
mov ecx, edi
add edi, 2
mov dword [esp + 0x28], ecx
jmp 0x42fb60
add edi, 2
cmp word [edi], 0
je 0x42fbf0
add edi, 2
jmp 0x42fb60
mov ecx, dword [esp + 0x14]
push ebx
push str.Literal_commas_and_percent_signs_must_be_escaped__e.g.____
call fcn.00447e20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
test ecx, ecx
je 0x42fc29
lea edi, [ecx + 2]
movzx eax, word [edi]
cmp eax, 0x20
je 0x42fc04
cmp eax, 9
jne 0x42fc09
add edi, 2
jmp 0x42fbf7
xor eax, eax
mov word [ecx], ax
sub ecx, esi
sar ecx, 1
mov edx, ecx
mov ecx, esi
call fcn.00427740
push 1
mov ecx, edi
call fcn.0049e940
add esp, 4
jmp 0x42fc2e
mov edi, 0x4b9c40
push 1
mov ecx, esi
call fcn.0049e940
mov cl, byte [esp + 0x17]
add esp, 4
mov edx, esi
push edi
call fcn.00413520
add esp, 4
test eax, eax
jne 0x42f78c
mov ecx, dword [esp + 0x14]
push 0x4b9c40
push 0x4cdb90
call fcn.00447e20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
mov eax, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
push 0xffffffffffffffff
push edi
mov edx, 0x4d3900
mov ecx, ebx
call fcn.0049c700
add esp, 8
test eax, eax
jne 0x42fd85
test esi, esi
je 0x42f78c
mov edx, str.EndChars
mov ecx, esi
call fcn.0049ca40
test eax, eax
je 0x42fd05
mov edx, 0x4d3918
mov ecx, eax
call fcn.00406570
test eax, eax
je 0x42f78c
push 0x64
add eax, 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 [0x4e4338], ax
push eax
call fcn.0049e940
mov eax, 3
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
push 7
push str.NoMouse
push esi
call ebp
add esp, 0xc
test eax, eax
jne 0x42fd2d
mov byte [0x4e426c], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
push 0x4e59f8
push 0x4e5a73
push 0x4e5a76
push 0x4e426d
push 0x4e5a7b
push 0x4e5a77
push 0x4e426e
push 0x4e426f
push 0x4e5a7a
push 0x4e433c
push 0x4e5bac
mov edx, 0x4e5bb0
mov ecx, esi
call fcn.004164d0
add esp, 0x2c
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.HotkeyModifierTimeout
mov ecx, ebx
call fcn.0049c700
add esp, 8
test eax, eax
jne 0x42fdc1
test esi, esi
je 0x42f78c
mov ecx, esi
call fcn.004180f0
mov dword [0x4e4360], eax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.HotkeyInterval
mov ecx, ebx
call fcn.0049c700
add esp, 8
test eax, eax
jne 0x42fe10
test esi, esi
je 0x42f78c
mov ecx, esi
call fcn.004180f0
mov dword [0x4e4350], eax
cmp eax, 0xa
jge 0x42f78c
mov dword [0x4e4350], 0xa
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.MaxHotkeysPerInterval
mov ecx, ebx
call fcn.0049c700
add esp, 8
test eax, eax
jne 0x42fe5f
test esi, esi
je 0x42f78c
mov ecx, esi
call fcn.004180f0
mov dword [0x4e4354], eax
cmp eax, 1
jge 0x42f78c
mov dword [0x4e4354], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.MaxThreadsPerHotkey
mov ecx, ebx
call fcn.0049c700
add esp, 8
test eax, eax
jne 0x42fec6
test esi, esi
je 0x42f78c
mov ecx, esi
call fcn.004180f0
cmp eax, 0xff
jle 0x42fea7
mov eax, 0xff
mov byte [0x4e433a], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
mov ecx, 1
cmp eax, ecx
cmovl eax, ecx
mov byte [0x4e433a], al
lea eax, [ecx + 2]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.MaxThreadsBuffer
mov ecx, ebx
call fcn.0049c700
add esp, 8
test eax, eax
jne 0x42ff20
test esi, esi
je 0x42ff07
xor edx, edx
mov ecx, esi
call fcn.00413180
cmp eax, 2
jne 0x42ff07
xor al, al
mov byte [0x4e5a86], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
mov al, 1
mov byte [0x4e5a86], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.MaxThreads
mov ecx, ebx
call fcn.0049c700
add esp, 8
test eax, eax
jne 0x42ff87
test esi, esi
je 0x42f78c
mov ecx, esi
call fcn.004180f0
cmp eax, 0xff
jle 0x42ff68
mov eax, 0xff
mov dword [0x4e30f0], eax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
mov ecx, 1
cmp eax, ecx
cmovl eax, ecx
mov dword [0x4e30f0], eax
lea eax, [ecx + 2]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.ClipboardTimeout
mov ecx, ebx
call fcn.0049c700
add esp, 8
test eax, eax
jne 0x42ffc3
test esi, esi
je 0x42f78c
mov ecx, esi
call fcn.004180f0
mov dword [0x4e3100], eax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.LTrim
mov ecx, ebx
call fcn.0049c700
add esp, 8
test eax, eax
jne 0x43001d
test esi, esi
je 0x430004
xor edx, edx
mov ecx, esi
call fcn.00413180
cmp eax, 2
jne 0x430004
xor al, al
mov byte [0x4e5a72], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
mov al, 1
mov byte [0x4e5a72], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.WinActivateForce
mov ecx, ebx
call fcn.0049c700
add esp, 8
test eax, eax
jne 0x43004c
mov byte [0x4e5a92], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.ErrorStdOut
mov ecx, ebx
call fcn.0049c700
add esp, 8
test eax, eax
jne 0x43008c
mov ebx, dword [esp + 0x14]
mov ecx, esi
mov byte [ebx + 0xafb], 1
call fcn.0042a680
mov dword [ebx + 0xafc], eax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.MaxMem
mov ecx, ebx
call fcn.0049c700
add esp, 8
test eax, eax
jne 0x4300f5
test esi, esi
je 0x42f78c
mov ecx, esi
call fcn.00427810
movsd xmm1, qword [0x4dcfc0]
maxsd xmm1, xmm0
movsd xmm0, qword [0x4dd000]
minsd xmm0, xmm1
mulsd xmm0, qword [0x4dcff8]
mulsd xmm0, qword [0x4dcff8]
call fcn.004b7d81
mov dword [0x4e4358], eax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.KeyHistory
mov ecx, ebx
call fcn.0049c700
add esp, 8
test eax, eax
jne 0x430166
test esi, esi
je 0x42f78c
mov ecx, esi
call fcn.004180f0
mov dword [0x4e30f8], eax
test eax, eax
jns 0x43013f
mov dword [0x4e30f8], 0
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
cmp eax, 0x1f4
jle 0x42f78c
mov dword [0x4e30f8], 0x1f4
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.CommentFlag
mov ecx, ebx
call fcn.0049c700
add esp, 8
test eax, eax
jne 0x430257
test esi, esi
je 0x42f78c
cmp word [esi + 2], ax
jne 0x430209
movzx eax, word [esi]
cmp eax, 0x23
je 0x430450
cmp ax, word [0x4e4344]
je 0x430450
cmp ax, word [0x4e4340]
je 0x430450
cmp ax, word [0x4e4348]
je 0x430450
cmp eax, 0x21
je 0x430450
cmp eax, 0x5e
je 0x430450
cmp eax, 0x2b
je 0x430450
cmp eax, 0x24
je 0x430450
cmp eax, 0x7e
je 0x430450
cmp eax, 0x2a
je 0x430450
cmp eax, 0x3c
je 0x430450
cmp eax, 0x3e
je 0x430450
push 0xf
push esi
push 0x4e4b5c
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
mov ecx, 0x4e4b5c
add esp, 0xc
xor eax, eax
mov word [0x4e4b7a], ax
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x430230
sub ecx, edx
mov eax, 3
sar ecx, 1
mov dword [0x4e4b7c], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.EscapeChar
mov ecx, ebx
call fcn.0049c700
add esp, 8
test eax, eax
jne 0x4302d2
test esi, esi
je 0x42f78c
movzx eax, word [esi]
cmp eax, 0x23
je 0x430450
cmp ax, word [0x4e4344]
je 0x430450
cmp ax, word [0x4e4348]
je 0x430450
cmp eax, 0x2e
je 0x430450
cmp dword [0x4e4b7c], 1
jne 0x4302ba
cmp ax, word [0x4e4b5c]
je 0x430450
mov word [0x4e4340], ax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.DerefChar
mov ecx, ebx
call fcn.0049c700
add esp, 8
test eax, eax
jne 0x430344
test esi, esi
je 0x42f78c
movzx eax, word [esi]
cmp ax, word [0x4e4340]
je 0x430450
cmp ax, word [0x4e4348]
je 0x430450
cmp eax, 0x2e
je 0x430450
cmp dword [0x4e4b7c], 1
jne 0x43032c
cmp ax, word [0x4e4b5c]
je 0x430450
mov word [0x4e4344], ax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
push 0xffffffffffffffff
push edi
mov edx, 0x4d3ae4
mov ecx, ebx
call fcn.0049c700
add esp, 8
test eax, eax
jne 0x4303bf
test esi, esi
je 0x42f78c
movzx eax, word [esi]
cmp eax, 0x23
je 0x430450
cmp ax, word [0x4e4340]
je 0x430450
cmp ax, word [0x4e4344]
je 0x430450
cmp eax, 0x2e
je 0x430450
cmp dword [0x4e4b7c], 1
jne 0x4303a7
cmp ax, word [0x4e4b5c]
je 0x430450
mov word [0x4e4348], ax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.MenuMaskKey
mov ecx, ebx
call fcn.0049c700
add esp, 8
test eax, eax
jne 0x430426
test esi, esi
je 0x4303ff
push eax
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
push eax
push 0
push 0x4e4364
mov edx, 0x4e4342
mov ecx, esi
call fcn.0041cd20
add esp, 0xc
test al, al
jne 0x42f78c
test esi, esi
mov ecx, str.Parameter_1_required
mov eax, str.Parameter_1_invalid.
cmove eax, ecx
mov ecx, dword [esp + 0x14]
push ebx
push eax
call fcn.00447e20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.InputLevel
mov ecx, ebx
call fcn.0049c700
add esp, 8
test eax, eax
jne 0x430485
test esi, esi
je 0x43046c
mov ecx, esi
call fcn.004180f0
test eax, eax
js 0x430450
cmp eax, 0x64
jle 0x43046e
mov ecx, dword [esp + 0x14]
push ebx
push str.Parameter_1_invalid.
call fcn.00447e20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
xor eax, eax
mov byte [0x4e5a83], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.WarnContinuableException
mov ecx, ebx
call fcn.0049c700
add esp, 8
test eax, eax
jne 0x4304e4
test esi, esi
je 0x4304cb
push 0x4d0100
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
add esp, 8
test eax, eax
jne 0x4304cb
xor al, al
mov byte [0x4e433b], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
mov al, 1
mov byte [0x4e433b], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.Warn
mov ecx, ebx
call fcn.0049c700
add esp, 8
test eax, eax
jne 0x43065d
movzx eax, word [0x4e4348]
test esi, esi
mov edi, 0x4b9c40
cmovne edi, esi
push eax
push edi
call dword [sym.imp.VCRUNTIME140.dll_wcschr]
mov edx, eax
add esp, 8
mov ebp, 0x4b9c40
test edx, edx
je 0x430553
lea ebp, [edx + 2]
nop dword [eax + eax]
movzx eax, word [ebp]
cmp eax, 0x20
je 0x43053e
cmp eax, 9
jne 0x430543
add ebp, 2
jmp 0x430530
add edx, 0xfffffffe
mov ecx, edi
call fcn.004130f0
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 0x43059d
xor esi, esi
push dword [esi*4 + 0x4d7a54]
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 0x43059d
inc esi
cmp esi, 7
jne 0x430565
mov ecx, dword [esp + 0x14]
push ebx
push str.Parameter_1_invalid.
call fcn.00447e20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
cmp word [ebp], 0
mov edi, 2
je 0x4305e8
xor edi, edi
nop dword [eax + eax]
push dword [edi*4 + 0x4d7a44]
push ebp
call eax
add esp, 8
test eax, eax
je 0x4305e8
mov eax, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
inc edi
cmp edi, 4
jne 0x4305b0
mov ecx, dword [esp + 0x14]
push ebp
push str.Parameter_2_invalid.
call fcn.00447e20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
test esi, esi
je 0x4305f1
cmp esi, 6
jne 0x4305f7
mov dword [0x4e63c0], edi
cmp esi, 1
je 0x430601
cmp esi, 6
jne 0x430607
mov dword [0x4e63bc], edi
cmp esi, 3
je 0x430611
cmp esi, 6
jne 0x430617
mov dword [0x4e63b8], edi
cmp esi, 2
je 0x430621
cmp esi, 6
jne 0x430627
mov dword [0x4e63b4], edi
cmp esi, 4
je 0x430631
cmp esi, 6
jne 0x430637
mov dword [0x4e63b0], edi
cmp esi, 5
je 0x430645
cmp esi, 6
jne 0x42f78c
mov dword [0x4e63ac], edi
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.Requires
mov ecx, ebx
call fcn.0049c700
add esp, 8
test eax, eax
jne 0x43075c
test esi, esi
jne 0x43069b
mov ecx, dword [esp + 0x14]
push 0x4b9c40
push str.Parameter_1_required
call fcn.00447e20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
push 0xa
push str.AutoHotkey
push esi
xor bl, bl
call ebp
add esp, 0xc
test eax, eax
jne 0x430717
movzx eax, word [esi + 0x14]
test ax, ax
je 0x42f78c
cmp eax, 0x20
je 0x4306c5
cmp eax, 9
jne 0x430717
lea eax, [esi + 0x16]
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x4306d5
cmp ecx, 9
jne 0x4306da
add eax, 2
jmp 0x4306c8
cmp ecx, 0x76
lea edi, [eax + 2]
push 3
cmovne edi, eax
push str.1.1.33.02
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncmp]
add esp, 0xc
test eax, eax
jne 0x430715
movzx eax, word [edi + 6]
test ax, ax
je 0x430706
cmp eax, 0x2e
jne 0x430715
mov ecx, edi
call fcn.0049ee40
test eax, eax
jle 0x42f78c
mov bl, 1
mov ecx, 0x4b9c40
test bl, bl
mov eax, str.__but_you_have_v1.1.33.02
cmove eax, ecx
push eax
push esi
push str.This_script_requires__s_s.
lea eax, [esp + 0x54]
push 0x64
push eax
call fcn.0049c650
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0x5c]
add esp, 0x14
push 0x4b9c40
push eax
call fcn.00447e20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.WindowClassMain
mov ecx, ebx
call fcn.0049c700
add esp, 8
test eax, eax
jne 0x4307c4
test esi, esi
je 0x42f78c
mov ecx, esi
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x430780
sub ecx, edx
sar ecx, 1
lea ecx, [ecx*2 + 2]
call fcn.00499b10
mov dword [str.AutoHotkey], eax
sub eax, esi
movzx ecx, word [esi]
lea esi, [esi + 2]
mov word [eax + esi - 2], cx
test cx, cx
jne 0x4307a2
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.WindowClassGui
mov ecx, ebx
call fcn.0049c700
add esp, 8
test eax, eax
jne 0x430832
test esi, esi
je 0x42f78c
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4307e7
sub ecx, edx
sar ecx, 1
lea ecx, [ecx*2 + 2]
call fcn.00499b10
mov dword [str.AutoHotkeyGUI], eax
sub eax, esi
nop dword [eax]
movzx ecx, word [esi]
lea esi, [esi + 2]
mov word [eax + esi - 2], cx
test cx, cx
jne 0x430810
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
push 0xffffffffffffffff
push edi
mov edx, 0x4d3c48
mov ecx, ebx
call fcn.0049c700
add esp, 8
test eax, eax
jne 0x42fc71
mov edx, ebx
mov ecx, esi
call fcn.0049efa0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
test esi, esi
jne 0x430882
mov ecx, dword [esp + 0x14]
push ebx
push str.Parameter_1_required
call fcn.00447e20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
cmp word [esi], 0x2a
jne 0x4308bc
mov cx, word [esi + 2]
call fcn.004130a0
cmp ax, 0x49
jne 0x4308bc
movzx ecx, word [esi + 4]
add esi, 4
mov byte [esp + 0x28], 1
mov eax, ecx
mov dword [esp + 0x24], esi
cmp ecx, 0x20
je 0x4308b3
cmp ecx, 9
jne 0x4308c4
add esi, 2
mov dword [esp + 0x24], esi
jmp 0x4308c1
mov byte [esp + 0x28], 0
movzx eax, word [esi]
cmp ax, 0x3c
jne 0x430978
push 0x3e
push esi
call dword [sym.imp.VCRUNTIME140.dll_wcschr]
mov edi, eax
add esp, 8
test edi, edi
je 0x430978
cmp word [edi + 2], 0
jne 0x430978
xor eax, eax
add esi, 2
mov word [edi], ax
call fcn.00459af0
push 0
mov ebp, eax
mov ecx, edi
lea eax, [esp + 0x1f]
sub ecx, esi
push eax
lea eax, [esp + 0x1b]
sar ecx, 1
push eax
push ecx
push esi
mov esi, dword [esp + 0x28]
mov ecx, esi
call fcn.00438490
test ebp, ebp
je 0x430932
push ebp
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
push ebp
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov al, byte [esp + 0x13]
test al, al
jne 0x43094e
cmp byte [esp + 0x1b], al
jne 0x42f78c
cmp byte [esp + 0x28], al
jne 0x42f78c
mov ecx, 0x3e
mov word [edi], cx
test al, al
jne 0x430b45
push ebx
push str.Function_library_not_found.
mov ecx, esi
call fcn.00447e20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
mov bp, word [0x4e4344]
xor edi, edi
xor eax, eax
mov dword [esp + 0x34], edi
mov edi, dword [esp + 0x20]
mov dword [esp + 0x2c], eax
nop
test eax, eax
je 0x4309c2
lea eax, [edi*2 + 2]
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov edx, eax
add esp, 4
mov dword [esp + 0x34], edx
test edx, edx
je 0x430b45
mov bp, word [0x4e4344]
mov ebx, edx
mov dword [esp + 0x1c], ebx
jmp 0x4309cc
mov ebx, dword [esp + 0x1c]
xor edi, edi
mov dword [esp + 0x20], edi
movzx eax, word [esi]
mov ecx, esi
mov dword [esp + 0x30], esi
test ax, ax
je 0x430af7
mov esi, dword [esp + 0x20]
mov edx, eax
cmp dx, bp
jne 0x430ab3
lea eax, [ecx + 2]
mov edi, eax
mov dword [esp + 0x44], eax
movzx eax, word [edi]
mov edx, eax
test ax, ax
je 0x430a1e
mov ecx, eax
movzx edx, cx
cmp cx, bp
je 0x430a1a
movzx eax, word [edi + 2]
add edi, 2
mov ecx, eax
mov edx, eax
test ax, ax
jne 0x430a02
mov ecx, dword [esp + 0x30]
mov ebx, edi
sub ebx, ecx
sar ebx, 1
dec ebx
test dx, dx
je 0x430ab3
test ebx, ebx
je 0x430ab3
cmp ebx, 0xfd
ja 0x430ab3
push ebx
push dword [esp + 0x48]
lea eax, [esp + 0x50]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
add esp, 0xc
lea ecx, [esp + 0x48]
xor eax, eax
mov word [esp + ebx*2 + 0x48], ax
call fcn.0043b6c0
test eax, eax
je 0x430aa8
cmp dword [esp + 0x2c], 0
lea ecx, [esp + 0x48]
mov eax, dword [eax + 4]
push ecx
je 0x430a90
mov ebx, dword [esp + 0x20]
push ebx
call eax
mov bp, word [0x4e4344]
add esp, 8
mov ecx, edi
lea ebx, [ebx + eax*2]
mov dword [esp + 0x1c], ebx
jmp 0x430ad5
push 0
call eax
mov bp, word [0x4e4344]
add esp, 8
add esi, eax
mov ecx, edi
mov dword [esp + 0x20], esi
jmp 0x430ad5
mov bp, word [0x4e4344]
mov ecx, dword [esp + 0x30]
cmp dword [esp + 0x2c], 0
je 0x430acd
mov ebx, dword [esp + 0x1c]
mov ax, word [ecx]
mov word [ebx], ax
add ebx, 2
mov dword [esp + 0x1c], ebx
jmp 0x430ad9
inc dword [esp + 0x20]
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
movzx eax, word [ecx + 2]
add ecx, 2
mov dword [esp + 0x30], ecx
mov edx, eax
test ax, ax
jne 0x4309e4
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x2c]
inc eax
mov dword [esp + 0x2c], eax
cmp eax, 2
jl 0x430990
mov edi, dword [esp + 0x34]
xor eax, eax
push edi
mov word [ebx], ax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x430b54
test al, 0x10
je 0x430b54
mov ecx, edi
call fcn.004599d0
push edi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, 3
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
push dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
push dword [esp + 0x3c]
push edi
call fcn.0042d0a0
neg eax
push edi
sbb esi, esi
and esi, 3
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4