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

Disassembly:
sub esp, 0x198
mov ah, byte [0x4e5b6f]
push ebx
mov ebx, dword [esp + 0x1a0]
mov word [esp + 0x18], 0x920
mov byte [esp + 0x1a], ah
mov byte [esp + 0x1b], 0
push ebp
mov ebp, ecx
mov dword [esp + 0x14], ebp
push esi
push edi
mov edi, ebx
test ebx, ebx
je 0x42f67e
mov dl, byte [ebx]
test dl, dl
je 0x42f67e
nop dword [eax]
lea ecx, [esp + 0x24]
mov al, 0x20
cmp dl, al
je 0x42f709
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x42f666
mov dl, byte [edi + 1]
inc edi
test dl, dl
jne 0x42f660
mov ecx, ebx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42f683
sub ecx, edx
lea edi, [ecx + ebx]
xor esi, esi
mov dword [esp + 0x20], esi
sub edi, ebx
mov byte [esp + 0x34], 0
push 0xffffffffffffffff
push edi
mov edx, str.Include
mov ecx, ebx
call fcn.0049a5f0
add esp, 8
test eax, eax
je 0x43072f
push 0xffffffffffffffff
push edi
mov edx, str.IncludeAgain
mov ecx, ebx
call fcn.0049a5f0
add esp, 8
test eax, eax
sete byte [esp + 0x34]
test eax, eax
je 0x43072f
push 0xffffffffffffffff
push edi
mov edx, str.NoEnv
mov ecx, ebx
call fcn.0049a5f0
add esp, 8
test eax, eax
jne 0x42f749
mov dword [0x4e5b88], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x198
ret 4
mov esi, edi
nop dword [eax + eax]
mov al, byte [esi]
cmp al, 0x20
je 0x42f71a
cmp al, 9
jne 0x42f71d
inc esi
jmp 0x42f710
mov dword [esp + 0x20], esi
test al, al
je 0x42f68f
cmp al, ah
jne 0x42f695
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x42f731
cmp al, 9
je 0x42f731
xor ecx, ecx
test al, al
cmove esi, ecx
jmp 0x42f691
push 0xffffffffffffffff
push edi
mov edx, str.NoTrayIcon
mov ecx, ebx
call fcn.0049a5f0
add esp, 8
test eax, eax
jne 0x42f778
mov byte [0x4e8291], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x198
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.Persistent
mov ecx, ebx
call fcn.0049a5f0
add esp, 8
test eax, eax
jne 0x42f7a7
mov byte [0x4e7961], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x198
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.SingleInstance
mov ecx, ebx
call fcn.0049a5f0
add esp, 8
test eax, eax
jne 0x42f861
mov dword [0x4e7974], 1
test esi, esi
je 0x42f6f7
push str.Force
push esi
call fcn.004b218a
add esp, 8
test eax, eax
jne 0x42f801
mov dword [0x4e7974], 2
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x198
ret 4
push str.Ignore
push esi
call fcn.004b218a
add esp, 8
test eax, eax
jne 0x42f82f
mov dword [0x4e7974], 3
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x198
ret 4
push 0x4d5d78
push esi
call fcn.004b218a
add esp, 8
test eax, eax
jne 0x42f6f7
mov dword [0x4e7974], 4
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x198
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.InstallKeybdHook
mov ecx, ebx
call fcn.0049a5f0
add esp, 8
test eax, eax
jne 0x42f890
or byte [0x4e83d7], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x198
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.InstallMouseHook
mov ecx, ebx
call fcn.0049a5f0
add esp, 8
test eax, eax
jne 0x42f8bf
or byte [0x4e83d7], 2
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x198
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.UseHook
mov ecx, ebx
call fcn.0049a5f0
add esp, 8
test eax, eax
jne 0x42f919
test esi, esi
je 0x42f900
xor edx, edx
mov ecx, esi
call fcn.00412950
cmp eax, 2
jne 0x42f900
xor al, al
mov byte [0x4e79e9], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x198
ret 4
mov al, 1
mov byte [0x4e79e9], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x198
ret 4
push 0xffffffffffffffff
push edi
mov edx, 0x4d5460
mov ecx, ebx
call fcn.0049a5f0
add esp, 8
test eax, eax
jne 0x42f9d9
test esi, esi
je 0x42fa95
mov ecx, esi
call fcn.00412ef0
mov dword [0x4e828c], eax
test eax, eax
jne 0x42f6f7
mov eax, dword [0x4e498c]
mov ecx, ebp
push 0
push 0
push 0
mov edi, dword [eax + 0x94]
push 0x4d0335
push 0
push 0xe5
mov dword [eax + 0x94], 0
push esi
mov byte [ebp + 0x25], 1
call fcn.00431070
test eax, eax
je 0x4309d1
mov eax, dword [0x4e498c]
mov byte [ebp + 0x25], 0
mov dword [eax + 0x94], edi
mov esi, dword [ebp + 0x354]
call fcn.00412e70
mov dword [0x4e828c], eax
test eax, eax
je 0x4309d1
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], 0x4d0335
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x198
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.IfTimeout
mov ecx, ebx
call fcn.0049a5f0
add esp, 8
test eax, eax
jne 0x42fa15
test esi, esi
je 0x42f6f7
mov ecx, esi
call fcn.00404660
mov dword [0x4e5b74], eax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x198
ret 4
push 6
push str.IfWin
push ebx
call fcn.004b2c54
add esp, 0xc
test eax, eax
jne 0x42fbb4
push 3
lea eax, [ebx + 6]
push 0x4d5e50
push eax
call fcn.004b2c54
add esp, 0xc
mov edx, 9
test eax, eax
sete cl
test eax, eax
mov byte [esp + 0x12], cl
mov ecx, 6
cmove ecx, edx
push 6
push str.Active
lea edi, [ecx + ebx]
push edi
call fcn.004b2c54
add esp, 0xc
test eax, eax
jne 0x42fa73
mov al, 1
jmp 0x42fa8d
push 5
push str.Exist
push edi
call fcn.004b2c54
add esp, 0xc
test eax, eax
jne 0x42fba2
mov al, 3
add byte [esp + 0x12], al
test esi, esi
jne 0x42fab1
mov dword [0x4e828c], 0
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x198
ret 4
mov ah, byte [0x4e5b6f]
xor ebp, ebp
mov ch, byte [0x4e5b6e]
mov edx, esi
mov al, byte [edx]
test al, al
je 0x42fb26
mov cl, al
nop dword [eax]
mov al, cl
cmp cl, byte [0x4e5b6d]
je 0x42faec
cmp cl, ah
je 0x42faec
cmp cl, ch
je 0x42faec
mov al, byte [edx + 1]
inc edx
mov cl, al
test al, al
jne 0x42fad0
test al, al
je 0x42fb26
cmp al, ch
je 0x42fb0a
cmp al, ah
jne 0x42fb01
test ebp, ebp
jne 0x42fb0a
mov ebp, edx
inc edx
jmp 0x42fac1
inc edx
cmp byte [edx], 0
je 0x42fb26
inc edx
jmp 0x42fac1
mov ecx, dword [esp + 0x1c]
push ebx
push str.Literal_commas_and_percent_signs_must_be_escaped__e.g.____
call fcn.004470d0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x198
ret 4
test ebp, ebp
je 0x42fb5a
lea edi, [ebp + 1]
nop dword [eax]
mov al, byte [edi]
cmp al, 0x20
je 0x42fb3a
cmp al, 9
jne 0x42fb3d
inc edi
jmp 0x42fb30
mov byte [ebp], 0
mov ecx, esi
sub ebp, esi
mov edx, ebp
call fcn.004273d0
push 1
mov ecx, edi
call fcn.0049c750
add esp, 4
jmp 0x42fb5f
mov edi, 0x4d0335
push 1
mov ecx, esi
call fcn.0049c750
mov cl, byte [esp + 0x16]
add esp, 4
mov edx, esi
push edi
call fcn.00412c70
add esp, 4
test eax, eax
jne 0x42f6f7
mov ecx, dword [esp + 0x1c]
push 0x4d0335
push str.Out_of_memory.
call fcn.004470d0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x198
ret 4
mov eax, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x198
ret 4
push 0xffffffffffffffff
push edi
mov edx, 0x4d7c30
mov ecx, ebx
call fcn.0049a5f0
add esp, 8
test eax, eax
jne 0x42fcb6
test esi, esi
je 0x42f6f7
mov edx, str.EndChars
mov ecx, esi
call fcn.0049a8f0
test eax, eax
je 0x42fc33
mov edx, 0x4d7c3c
mov ecx, eax
call fcn.00405fc0
test eax, eax
je 0x42f6f7
push 0x64
inc eax
push eax
push str._____:____.___n__t
call fcn.004b9880
add esp, 0xc
mov byte [0x4e5b6c], 0
mov ecx, str._____:____.___n__t
push 0
call fcn.0049c750
mov eax, 3
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x198
ret 4
push 7
push str.NoMouse
push esi
call fcn.004b2c54
add esp, 0xc
test eax, eax
jne 0x42fc5e
mov byte [0x4e5b04], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x198
ret 4
push 0x4e7960
push 0x4e79eb
push 0x4e7ae0
push 0x4e5b05
push 0x4e7ae3
push 0x4e7ae1
push 0x4e5b06
push 0x4e5b07
push 0x4e7ae2
push 0x4e5b70
push 0x4e7ae4
mov edx, 0x4e7ae8
mov ecx, esi
call fcn.00415c90
add esp, 0x2c
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x198
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.HotkeyModifierTimeout
mov ecx, ebx
call fcn.0049a5f0
add esp, 8
test eax, eax
jne 0x42fcf2
test esi, esi
je 0x42f6f7
mov ecx, esi
call fcn.00417810
mov dword [0x4e5b8c], eax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x198
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.HotkeyInterval
mov ecx, ebx
call fcn.0049a5f0
add esp, 8
test eax, eax
jne 0x42fd41
test esi, esi
je 0x42f6f7
mov ecx, esi
call fcn.00417810
mov dword [0x4e5b78], eax
cmp eax, 0xa
jge 0x42f6f7
mov dword [0x4e5b78], 0xa
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x198
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.MaxHotkeysPerInterval
mov ecx, ebx
call fcn.0049a5f0
add esp, 8
test eax, eax
jne 0x42fd90
test esi, esi
je 0x42f6f7
mov ecx, esi
call fcn.00417810
mov dword [0x4e5b7c], eax
cmp eax, 1
jge 0x42f6f7
mov dword [0x4e5b7c], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x198
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.MaxThreadsPerHotkey
mov ecx, ebx
call fcn.0049a5f0
add esp, 8
test eax, eax
jne 0x42fdf7
test esi, esi
je 0x42f6f7
mov ecx, esi
call fcn.00417810
cmp eax, 0xff
jle 0x42fdd8
mov eax, 0xff
mov byte [0x4e5b80], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x198
ret 4
mov ecx, 1
cmp eax, ecx
cmovl eax, ecx
mov byte [0x4e5b80], al
lea eax, [ecx + 2]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x198
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.MaxThreadsBuffer
mov ecx, ebx
call fcn.0049a5f0
add esp, 8
test eax, eax
jne 0x42fe51
test esi, esi
je 0x42fe38
xor edx, edx
mov ecx, esi
call fcn.00412950
cmp eax, 2
jne 0x42fe38
xor al, al
mov byte [0x4e7b5a], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x198
ret 4
mov al, 1
mov byte [0x4e7b5a], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x198
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.MaxThreads
mov ecx, ebx
call fcn.0049a5f0
add esp, 8
test eax, eax
jne 0x42feb8
test esi, esi
je 0x42f6f7
mov ecx, esi
call fcn.00417810
cmp eax, 0xff
jle 0x42fe99
mov eax, 0xff
mov dword [0x4e4988], eax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x198
ret 4
mov ecx, 1
cmp eax, ecx
cmovl eax, ecx
mov dword [0x4e4988], eax
lea eax, [ecx + 2]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x198
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.ClipboardTimeout
mov ecx, ebx
call fcn.0049a5f0
add esp, 8
test eax, eax
jne 0x42fef4
test esi, esi
je 0x42f6f7
mov ecx, esi
call fcn.00417810
mov dword [0x4e4998], eax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x198
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.LTrim
mov ecx, ebx
call fcn.0049a5f0
add esp, 8
test eax, eax
jne 0x42ff4e
test esi, esi
je 0x42ff35
xor edx, edx
mov ecx, esi
call fcn.00412950
cmp eax, 2
jne 0x42ff35
xor al, al
mov byte [0x4e79ea], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x198
ret 4
mov al, 1
mov byte [0x4e79ea], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x198
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.WinActivateForce
mov ecx, ebx
call fcn.0049a5f0
add esp, 8
test eax, eax
jne 0x42ff7d
mov byte [0x4e82ac], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x198
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.ErrorStdOut
mov ecx, ebx
call fcn.0049a5f0
add esp, 8
test eax, eax
jne 0x42ffb9
mov ecx, esi
mov byte [ebp + 0x633], 1
call fcn.0042a260
mov dword [ebp + 0x634], eax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x198
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.MaxMem
mov ecx, ebx
call fcn.0049a5f0
add esp, 8
test eax, eax
jne 0x430022
test esi, esi
je 0x42f6f7
mov ecx, esi
call fcn.00427480
movsd xmm1, qword [0x4dd178]
maxsd xmm1, xmm0
movsd xmm0, qword [0x4dd1b8]
minsd xmm0, xmm1
mulsd xmm0, qword [0x4dd1b0]
mulsd xmm0, qword [0x4dd1b0]
call fcn.004c7f21
mov dword [0x4e5b84], eax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x198
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.KeyHistory
mov ecx, ebx
call fcn.0049a5f0
add esp, 8
test eax, eax
jne 0x430093
test esi, esi
je 0x42f6f7
mov ecx, esi
call fcn.00417810
mov dword [0x4e4990], eax
test eax, eax
jns 0x43006c
mov dword [0x4e4990], 0
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x198
ret 4
cmp eax, 0x1f4
jle 0x42f6f7
mov dword [0x4e4990], 0x1f4
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x198
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.CommentFlag
mov ecx, ebx
call fcn.0049a5f0
add esp, 8
test eax, eax
jne 0x430168
test esi, esi
je 0x42f6f7
cmp byte [esi + 1], al
jne 0x430128
mov al, byte [esi]
cmp al, 0x23
je 0x43034b
cmp al, byte [0x4e5b6e]
je 0x43034b
cmp al, byte [0x4e5b6d]
je 0x43034b
cmp al, byte [0x4e5b6f]
je 0x43034b
cmp al, 0x21
je 0x43034b
cmp al, 0x5e
je 0x43034b
cmp al, 0x2b
je 0x43034b
cmp al, 0x24
je 0x43034b
cmp al, 0x7e
je 0x43034b
cmp al, 0x2a
je 0x43034b
cmp al, 0x3c
je 0x43034b
cmp al, 0x3e
je 0x43034b
push 0xf
push esi
push 0x4e6388
call fcn.004b9880
mov ecx, 0x4e6388
mov byte [0x4e6397], 0
add esp, 0xc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x430147
sub ecx, edx
mov eax, 3
mov dword [0x4e6398], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x198
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.EscapeChar
mov ecx, ebx
call fcn.0049a5f0
add esp, 8
test eax, eax
jne 0x4301dc
test esi, esi
je 0x42f6f7
mov al, byte [esi]
cmp al, 0x23
je 0x43034b
cmp al, byte [0x4e5b6e]
je 0x43034b
cmp al, byte [0x4e5b6f]
je 0x43034b
cmp al, 0x2e
je 0x43034b
cmp dword [0x4e6398], 1
jne 0x4301c5
cmp al, byte [0x4e6388]
je 0x43034b
mov byte [0x4e5b6d], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x198
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.DerefChar
mov ecx, ebx
call fcn.0049a5f0
add esp, 8
test eax, eax
jne 0x430248
test esi, esi
je 0x42f6f7
mov al, byte [esi]
cmp al, byte [0x4e5b6d]
je 0x43034b
cmp al, byte [0x4e5b6f]
je 0x43034b
cmp al, 0x2e
je 0x43034b
cmp dword [0x4e6398], 1
jne 0x430231
cmp al, byte [0x4e6388]
je 0x43034b
mov byte [0x4e5b6e], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x198
ret 4
push 0xffffffffffffffff
push edi
mov edx, 0x4d7d2c
mov ecx, ebx
call fcn.0049a5f0
add esp, 8
test eax, eax
jne 0x4302bc
test esi, esi
je 0x42f6f7
mov al, byte [esi]
cmp al, 0x23
je 0x43034b
cmp al, byte [0x4e5b6d]
je 0x43034b
cmp al, byte [0x4e5b6e]
je 0x43034b
cmp al, 0x2e
je 0x43034b
cmp dword [0x4e6398], 1
jne 0x4302a5
cmp al, byte [0x4e6388]
je 0x43034b
mov byte [0x4e5b6f], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x198
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.MenuMaskKey
mov ecx, ebx
call fcn.0049a5f0
add esp, 8
test eax, eax
jne 0x430321
test esi, esi
je 0x4302fc
push eax
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
push eax
push 0
push 0x4e5b90
mov edx, 0x4e5b82
mov ecx, esi
call fcn.0041c190
add esp, 0xc
test al, al
jne 0x42f6f7
test esi, esi
mov ecx, str.Parameter_1_required
mov eax, str.Parameter_1_invalid.
cmove eax, ecx
mov ecx, ebp
push ebx
push eax
call fcn.004470d0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x198
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.InputLevel
mov ecx, ebx
call fcn.0049a5f0
add esp, 8
test eax, eax
jne 0x43037e
test esi, esi
je 0x430365
mov ecx, esi
call fcn.00417810
test eax, eax
js 0x43034b
cmp eax, 0x64
jle 0x430367
push ebx
push str.Parameter_1_invalid.
mov ecx, ebp
call fcn.004470d0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x198
ret 4
xor eax, eax
mov byte [0x4e7b59], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x198
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.WarnContinuableException
mov ecx, ebx
call fcn.0049a5f0
add esp, 8
test eax, eax
jne 0x4303dc
test esi, esi
je 0x4303c3
push 0x4d5d78
push esi
call fcn.004b218a
add esp, 8
test eax, eax
jne 0x4303c3
xor al, al
mov byte [0x4e5b81], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x198
ret 4
mov al, 1
mov byte [0x4e5b81], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x198
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.Warn
mov ecx, ebx
call fcn.0049a5f0
add esp, 8
test eax, eax
jne 0x43053e
movsx eax, byte [0x4e5b6f]
test esi, esi
mov edi, 0x4d0335
cmovne edi, esi
push eax
push edi
call fcn.004b7be9
mov edx, eax
add esp, 8
mov ebp, 0x4d0335
test edx, edx
je 0x43043a
lea ebp, [edx + 1]
nop
mov al, byte [ebp]
cmp al, 0x20
je 0x43042b
cmp al, 9
jne 0x43042e
inc ebp
jmp 0x430420
dec edx
mov ecx, edi
call fcn.004128d0
mov byte [eax + 1], 0
cmp byte [edi], 0
mov esi, 6
je 0x430486
xor esi, esi
nop word [eax + eax]
push dword [esi*4 + 0x4d9e64]
push edi
call fcn.004b218a
add esp, 8
test eax, eax
je 0x430486
inc esi
cmp esi, 7
jne 0x430450
mov ecx, dword [esp + 0x1c]
push ebx
push str.Parameter_1_invalid.
call fcn.004470d0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x198
ret 4
cmp byte [ebp], 0
mov edi, 2
je 0x4304c9
xor edi, edi
push dword [edi*4 + 0x4d9e54]
push ebp
call fcn.004b218a
add esp, 8
test eax, eax
je 0x4304c9
inc edi
cmp edi, 4
jne 0x430493
mov ecx, dword [esp + 0x1c]
push ebp
push str.Parameter_2_invalid.
call fcn.004470d0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x198
ret 4
test esi, esi
je 0x4304d2
cmp esi, 6
jne 0x4304d8
mov dword [0x4e82a8], edi
cmp esi, 1
je 0x4304e2
cmp esi, 6
jne 0x4304e8
mov dword [0x4e82a4], edi
cmp esi, 3
je 0x4304f2
cmp esi, 6
jne 0x4304f8
mov dword [0x4e82a0], edi
cmp esi, 2
je 0x430502
cmp esi, 6
jne 0x430508
mov dword [0x4e829c], edi
cmp esi, 4
je 0x430512
cmp esi, 6
jne 0x430518
mov dword [0x4e8298], edi
cmp esi, 5
je 0x430526
cmp esi, 6
jne 0x42f6f7
mov dword [0x4e8294], edi
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x198
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.Requires
mov ecx, ebx
call fcn.0049a5f0
add esp, 8
test eax, eax
jne 0x430637
test esi, esi
jne 0x43057a
push 0x4d0335
push str.Parameter_1_required
mov ecx, ebp
call fcn.004470d0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x198
ret 4
push 0xa
push str.AutoHotkey
push esi
xor bl, bl
call fcn.004b2c54
add esp, 0xc
test eax, eax
jne 0x4305ee
mov al, byte [esi + 0xa]
test al, al
je 0x42f6f7
cmp al, 0x20
je 0x4305a3
cmp al, 9
jne 0x4305ee
lea eax, [esi + 0xb]
mov cl, byte [eax]
cmp cl, 0x20
je 0x4305b2
cmp cl, 9
jne 0x4305b5
inc eax
jmp 0x4305a6
cmp cl, 0x76
lea edi, [eax + 1]
push 3
cmovne edi, eax
push str.1.1.33.10
push edi
call fcn.004b9b6d
add esp, 0xc
test eax, eax
jne 0x4305ec
mov al, byte [edi + 3]
test al, al
je 0x4305dd
cmp al, 0x2e
jne 0x4305ec
mov ecx, edi
call fcn.0049cbb0
test eax, eax
jle 0x42f6f7
mov bl, 1
mov ecx, 0x4d0335
test bl, bl
mov eax, str.__but_you_have_v1.1.33.10
cmove eax, ecx
push eax
push esi
push str.This_script_requires__s_s.
lea eax, [esp + 0x14c]
push 0x64
push eax
call fcn.0049a540
add esp, 0x14
lea eax, [esp + 0x140]
mov ecx, ebp
push 0x4d0335
push eax
call fcn.004470d0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x198
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.WindowClassMain
mov ecx, ebx
call fcn.0049a5f0
add esp, 8
test eax, eax
jne 0x43069f
test esi, esi
je 0x42f6f7
mov ecx, esi
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x430660
sub ecx, edx
lea ecx, [ecx*2 + 2]
call fcn.00497860
mov dword [str.AutoHotkey], eax
sub eax, esi
nop dword [eax]
mov cl, byte [esi]
lea esi, [esi + 1]
mov byte [eax + esi - 1], cl
test cl, cl
jne 0x430680
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x198
ret 4
push 0xffffffffffffffff
push edi
mov edx, str.WindowClassGui
mov ecx, ebx
call fcn.0049a5f0
add esp, 8
test eax, eax
jne 0x4306ff
test esi, esi
je 0x42f6f7
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4306c2
sub ecx, edx
lea ecx, [ecx*2 + 2]
call fcn.00497860
mov dword [str.AutoHotkeyGUI], eax
sub eax, esi
nop
mov cl, byte [esi]
lea esi, [esi + 1]
mov byte [eax + esi - 1], cl
test cl, cl
jne 0x4306e0
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x198
ret 4
push 0xffffffffffffffff
push edi
mov edx, 0x4d7de0
mov ecx, ebx
call fcn.0049a5f0
add esp, 8
test eax, eax
jne 0x42fba2
mov edx, ebx
mov ecx, esi
call fcn.0049ccf0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x198
ret 4
test esi, esi
jne 0x43074d
push ebx
push str.Parameter_1_required
mov ecx, ebp
call fcn.004470d0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x198
ret 4
cmp byte [esi], 0x2a
jne 0x43077c
mov cl, byte [esi + 1]
call fcn.00412890
cmp al, 0x49
jne 0x43077c
mov al, byte [esi + 2]
add esi, 2
mov byte [esp + 0x2c], 1
mov dword [esp + 0x20], esi
cmp al, 0x20
je 0x430775
cmp al, 9
jne 0x430783
inc esi
mov dword [esp + 0x20], esi
jmp 0x430781
mov byte [esp + 0x2c], 0
mov al, byte [esi]
cmp al, 0x3c
jne 0x430847
push 0x3e
push esi
call fcn.004b7be9
mov edi, eax
add esp, 8
test edi, edi
je 0x430847
cmp byte [edi + 1], 0
jne 0x430847
lea eax, [esp + 0x38]
mov byte [edi], 0
push eax
push 0x104
inc esi
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
test eax, eax
je 0x4307d3
lea eax, [esp + 0x38]
push eax
call fcn.004b89da
add esp, 4
mov ebp, eax
jmp 0x4307d5
xor ebp, ebp
push 0
lea eax, [esp + 0x17]
push eax
lea eax, [esp + 0x1a]
push eax
mov eax, edi
sub eax, esi
push eax
push esi
mov esi, dword [esp + 0x30]
mov ecx, esi
call fcn.00437ba0
test ebp, ebp
je 0x430806
push ebp
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
push ebp
call fcn.004b2343
add esp, 4
mov al, byte [esp + 0x12]
test al, al
jne 0x430822
cmp byte [esp + 0x13], al
jne 0x42f6f7
cmp byte [esp + 0x2c], al
jne 0x42f6f7
mov byte [edi], 0x3e
test al, al
jne 0x4309d1
push ebx
push str.Function_library_not_found.
mov ecx, esi
call fcn.004470d0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x198
ret 4
mov dl, byte [0x4e5b6e]
xor edi, edi
xor eax, eax
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x18]
mov dword [esp + 0x28], eax
nop dword [eax]
test eax, eax
je 0x43088c
lea eax, [edi + 1]
push eax
call fcn.004b2c3e
mov ebx, eax
add esp, 4
mov dword [esp + 0x30], ebx
test ebx, ebx
je 0x4309d1
mov dl, byte [0x4e5b6e]
mov ecx, ebx
mov dword [esp + 0x14], ecx
jmp 0x430896
mov ecx, dword [esp + 0x14]
xor edi, edi
mov dword [esp + 0x18], edi
mov al, byte [esi]
mov ebp, esi
test al, al
je 0x430986
mov esi, dword [esp + 0x18]
cmp al, dl
jne 0x43094f
lea ecx, [ebp + 1]
mov edi, ecx
mov al, byte [edi]
test al, al
je 0x4308d3
mov cl, al
nop dword [eax + eax]
mov al, cl
cmp cl, dl
je 0x4308d0
mov al, byte [edi + 1]
inc edi
mov cl, al
test al, al
jne 0x4308c0
lea ecx, [ebp + 1]
mov ebx, edi
sub ebx, ebp
dec ebx
test al, al
je 0x43094f
test ebx, ebx
je 0x43094f
cmp ebx, 0xfd
ja 0x43094f
push ebx
push ecx
lea eax, [esp + 0x40]
push eax
call fcn.004b9880
add esp, 0xc
mov byte [esp + ebx + 0x38], 0
lea ecx, [esp + 0x38]
call fcn.0043aed0
test eax, eax
je 0x430949
cmp dword [esp + 0x28], 0
lea ecx, [esp + 0x38]
mov eax, dword [eax + 4]
push ecx
je 0x430932
mov ebx, dword [esp + 0x18]
push ebx
call eax
mov dl, byte [0x4e5b6e]
add esp, 8
add ebx, eax
mov ebp, edi
mov dword [esp + 0x14], ebx
jmp 0x43096e
push 0
call eax
mov dl, byte [0x4e5b6e]
add esp, 8
add esi, eax
mov ebp, edi
mov dword [esp + 0x18], esi
jmp 0x43096e
mov dl, byte [0x4e5b6e]
cmp dword [esp + 0x28], 0
je 0x430966
mov ecx, dword [esp + 0x14]
mov al, byte [ebp]
mov byte [ecx], al
inc ecx
mov dword [esp + 0x14], ecx
jmp 0x430972
inc dword [esp + 0x18]
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov al, byte [ebp + 1]
inc ebp
test al, al
jne 0x4308a6
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x28], eax
cmp eax, 2
jl 0x430860
mov edi, dword [esp + 0x30]
push edi
mov byte [ecx], 0
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x4309e0
test al, 0x10
je 0x4309e0
mov ecx, edi
call fcn.00457cf0
push edi
call fcn.004b2343
mov eax, 3
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x198
ret 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x198
ret 4
push dword [esp + 0x2c]
mov ecx, dword [esp + 0x20]
push dword [esp + 0x38]
push edi
call fcn.0042ccd0
neg eax
push edi
sbb esi, esi
and esi, 3
call fcn.004b2343
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x198
ret 4