Function at 0x42f580
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 [0x505bf0]
mov word [esp + 0x38], bp
push esi
push edi
mov edi, ebx
test ebx, ebx
je 0x42f5f5
movzx eax, word [ebx]
test ax, ax
je 0x42f5f5
mov esi, eax
lea ecx, [esp + 0x3c]
mov edx, 0x20
nop dword [eax]
cmp si, dx
je 0x42f68e
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
test ax, ax
jne 0x42f5d0
movzx eax, word [edi + 2]
add edi, 2
mov esi, eax
test ax, ax
jne 0x42f5c0
mov ecx, ebx
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42f600
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.0049bc70
add esp, 8
test eax, eax
je 0x430632
push 0xffffffffffffffff
push edi
mov edx, str.IncludeAgain
mov ecx, ebx
call fcn.0049bc70
add esp, 8
test eax, eax
sete byte [esp + 0x38]
test eax, eax
je 0x430632
push 0xffffffffffffffff
push edi
mov edx, str.NoEnv
mov ecx, ebx
call fcn.0049bc70
add esp, 8
test eax, eax
jne 0x42f6d8
mov dword [0x505c04], 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 0x42f69f
cmp eax, 9
jne 0x42f6a4
add esi, 2
jmp 0x42f690
mov dword [esp + 0x24], esi
test ax, ax
je 0x42f612
cmp cx, bp
jne 0x42f618
movzx eax, word [esi + 2]
add esi, 2
cmp eax, 0x20
je 0x42f6ba
cmp eax, 9
je 0x42f6ba
xor ecx, ecx
test ax, ax
cmove esi, ecx
jmp 0x42f614
push 0xffffffffffffffff
push edi
mov edx, str.NoTrayIcon
mov ecx, ebx
call fcn.0049bc70
add esp, 8
test eax, eax
jne 0x42f707
mov byte [0x507b4b], 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.0049bc70
add esp, 8
test eax, eax
jne 0x42f736
mov byte [0x507ab9], 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.0049bc70
add esp, 8
test eax, eax
jne 0x42f7f0
mov dword [0x507acc], 1
test esi, esi
je 0x42f67c
push str.Force
push esi
call fcn.004ba0a7
add esp, 8
test eax, eax
jne 0x42f790
mov dword [0x507acc], 2
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
push str.Ignore
push esi
call fcn.004ba0a7
add esp, 8
test eax, eax
jne 0x42f7be
mov dword [0x507acc], 3
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
push 0x4f07d8
push esi
call fcn.004ba0a7
add esp, 8
test eax, eax
jne 0x42f67c
mov dword [0x507acc], 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.0049bc70
add esp, 8
test eax, eax
jne 0x42f81f
or byte [0x5085a7], 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.0049bc70
add esp, 8
test eax, eax
jne 0x42f84e
or byte [0x5085a7], 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.0049bc70
add esp, 8
test eax, eax
jne 0x42f8a8
test esi, esi
je 0x42f88f
xor edx, edx
mov ecx, esi
call fcn.00413050
cmp eax, 2
jne 0x42f88f
xor al, al
mov byte [0x507b23], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
mov al, 1
mov byte [0x507b23], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
push 0xffffffffffffffff
push edi
mov edx, 0x4ef680
mov ecx, ebx
call fcn.0049bc70
add esp, 8
test eax, eax
jne 0x42f96c
test esi, esi
je 0x42fa27
mov ecx, esi
call fcn.004136f0
mov dword [0x508468], eax
test eax, eax
jne 0x42f67c
mov eax, dword [0x50499c]
mov ebx, dword [esp + 0x14]
mov ecx, ebx
push 0
push 0
mov edi, dword [eax + 0xb4]
push 0
push 0x4da3cc
push 0
push 0xe5
mov dword [eax + 0xb4], 0
push esi
mov byte [ebx + 0x25], 1
call fcn.00430f50
test eax, eax
je 0x430912
mov eax, dword [0x50499c]
mov byte [ebx + 0x25], 0
mov dword [eax + 0xb4], edi
mov esi, dword [ebx + 0x614]
call fcn.00413670
mov dword [0x508468], eax
test eax, eax
je 0x430912
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], 0x4da3cc
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.0049bc70
add esp, 8
test eax, eax
jne 0x42f9a8
test esi, esi
je 0x42f67c
mov ecx, esi
call fcn.00404d50
mov dword [0x505bf4], eax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
push 6
push str.IfWin
push ebx
call fcn.004bb7bb
add esp, 0xc
test eax, eax
jne 0x42fb73
push 3
lea eax, [ebx + 0xc]
push 0x4f0974
push eax
call fcn.004bb7bb
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 fcn.004bb7bb
add esp, 0xc
test eax, eax
jne 0x42fa05
mov al, 1
jmp 0x42fa1f
push 5
push str.Exist
push edi
call fcn.004bb7bb
add esp, 0xc
test eax, eax
jne 0x42fb61
mov al, 3
add byte [esp + 0x13], al
test esi, esi
jne 0x42fa43
mov dword [0x508468], 0
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
mov bp, word [0x505bf0]
xor ecx, ecx
mov dword [esp + 0x28], ecx
mov edi, esi
movzx eax, word [edi]
mov edx, eax
test ax, ax
je 0x42fa94
mov ecx, eax
nop
movzx edx, cx
cmp cx, word [0x505be8]
je 0x42fa90
movzx edx, cx
cmp cx, bp
je 0x42fa90
movzx edx, cx
cmp cx, word [0x505bec]
je 0x42fa90
movzx eax, word [edi + 2]
add edi, 2
mov ecx, eax
mov edx, eax
test ax, ax
jne 0x42fa60
mov ecx, dword [esp + 0x28]
test dx, dx
je 0x42fae0
cmp dx, word [0x505bec]
je 0x42fac4
cmp dx, bp
jne 0x42fab6
test ecx, ecx
jne 0x42fac4
mov ecx, edi
add edi, 2
mov dword [esp + 0x28], ecx
jmp 0x42fa52
add edi, 2
cmp word [edi], 0
je 0x42fae0
add edi, 2
jmp 0x42fa52
mov ecx, dword [esp + 0x14]
push ebx
push str.Literal_commas_and_percent_signs_must_be_escaped__e.g.____
call fcn.00447960
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
test ecx, ecx
je 0x42fb19
lea edi, [ecx + 2]
movzx eax, word [edi]
cmp eax, 0x20
je 0x42faf4
cmp eax, 9
jne 0x42faf9
add edi, 2
jmp 0x42fae7
xor eax, eax
mov word [ecx], ax
sub ecx, esi
sar ecx, 1
mov edx, ecx
mov ecx, esi
call fcn.004275a0
push 1
mov ecx, edi
call fcn.0049de70
add esp, 4
jmp 0x42fb1e
mov edi, 0x4da3cc
push 1
mov ecx, esi
call fcn.0049de70
mov cl, byte [esp + 0x17]
add esp, 4
mov edx, esi
push edi
call fcn.00413400
add esp, 4
test eax, eax
jne 0x42f67c
mov ecx, dword [esp + 0x14]
push 0x4da3cc
push 0x4ee268
call fcn.00447960
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, 0x4f3fc0
mov ecx, ebx
call fcn.0049bc70
add esp, 8
test eax, eax
jne 0x42fc77
test esi, esi
je 0x42f67c
mov edx, str.EndChars
mov ecx, esi
call fcn.0049bfa0
test eax, eax
je 0x42fbf4
mov edx, 0x4f3fd8
mov ecx, eax
call fcn.004064f0
test eax, eax
je 0x42f67c
push 0x64
add eax, 2
push eax
push str._____:____.___n__t
call fcn.004c41d6
add esp, 0xc
xor eax, eax
mov ecx, str._____:____.___n__t
mov word [0x505be0], ax
push eax
call fcn.0049de70
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 fcn.004bb7bb
add esp, 0xc
test eax, eax
jne 0x42fc1f
mov byte [0x505b14], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
push 0x507ab8
push 0x507b33
push 0x507b36
push 0x505b15
push 0x507b3b
push 0x507b37
push 0x505b16
push 0x505b17
push 0x507b3a
push 0x505be4
push 0x507c6c
mov edx, 0x507c70
mov ecx, esi
call fcn.00416390
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.0049bc70
add esp, 8
test eax, eax
jne 0x42fcb3
test esi, esi
je 0x42f67c
mov ecx, esi
call fcn.00417fc0
mov dword [0x505c08], 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.0049bc70
add esp, 8
test eax, eax
jne 0x42fd02
test esi, esi
je 0x42f67c
mov ecx, esi
call fcn.00417fc0
mov dword [0x505bf8], eax
cmp eax, 0xa
jge 0x42f67c
mov dword [0x505bf8], 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.0049bc70
add esp, 8
test eax, eax
jne 0x42fd51
test esi, esi
je 0x42f67c
mov ecx, esi
call fcn.00417fc0
mov dword [0x505bfc], eax
cmp eax, 1
jge 0x42f67c
mov dword [0x505bfc], 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.0049bc70
add esp, 8
test eax, eax
jne 0x42fdb8
test esi, esi
je 0x42f67c
mov ecx, esi
call fcn.00417fc0
cmp eax, 0xff
jle 0x42fd99
mov eax, 0xff
mov byte [0x505be2], 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 [0x505be2], 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.0049bc70
add esp, 8
test eax, eax
jne 0x42fe12
test esi, esi
je 0x42fdf9
xor edx, edx
mov ecx, esi
call fcn.00413050
cmp eax, 2
jne 0x42fdf9
xor al, al
mov byte [0x507b46], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
mov al, 1
mov byte [0x507b46], 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.0049bc70
add esp, 8
test eax, eax
jne 0x42fe79
test esi, esi
je 0x42f67c
mov ecx, esi
call fcn.00417fc0
cmp eax, 0xff
jle 0x42fe5a
mov eax, 0xff
mov dword [0x504998], 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 [0x504998], 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.0049bc70
add esp, 8
test eax, eax
jne 0x42feb5
test esi, esi
je 0x42f67c
mov ecx, esi
call fcn.00417fc0
mov dword [0x5049a8], 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.0049bc70
add esp, 8
test eax, eax
jne 0x42ff0f
test esi, esi
je 0x42fef6
xor edx, edx
mov ecx, esi
call fcn.00413050
cmp eax, 2
jne 0x42fef6
xor al, al
mov byte [0x507b32], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
mov al, 1
mov byte [0x507b32], 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.0049bc70
add esp, 8
test eax, eax
jne 0x42ff3e
mov byte [0x507b52], 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.0049bc70
add esp, 8
test eax, eax
jne 0x42ff71
mov esi, dword [esp + 0x14]
mov eax, 3
mov byte [esi + 0xafb], 1
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.0049bc70
add esp, 8
test eax, eax
jne 0x42ffda
test esi, esi
je 0x42f67c
mov ecx, esi
call fcn.00427670
movsd xmm1, qword [0x4fd530]
maxsd xmm1, xmm0
movsd xmm0, qword [0x4fd570]
minsd xmm0, xmm1
mulsd xmm0, qword [0x4fd568]
mulsd xmm0, qword [0x4fd568]
call fcn.004d2991
mov dword [0x505c00], 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.0049bc70
add esp, 8
test eax, eax
jne 0x43004b
test esi, esi
je 0x42f67c
mov ecx, esi
call fcn.00417fc0
mov dword [0x5049a0], eax
test eax, eax
jns 0x430024
mov dword [0x5049a0], 0
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
cmp eax, 0x1f4
jle 0x42f67c
mov dword [0x5049a0], 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.0049bc70
add esp, 8
test eax, eax
jne 0x430137
test esi, esi
je 0x42f67c
cmp word [esi + 2], ax
jne 0x4300ee
movzx eax, word [esi]
cmp eax, 0x23
je 0x430330
cmp ax, word [0x505bec]
je 0x430330
cmp ax, word [0x505be8]
je 0x430330
cmp ax, word [0x505bf0]
je 0x430330
cmp eax, 0x21
je 0x430330
cmp eax, 0x5e
je 0x430330
cmp eax, 0x2b
je 0x430330
cmp eax, 0x24
je 0x430330
cmp eax, 0x7e
je 0x430330
cmp eax, 0x2a
je 0x430330
cmp eax, 0x3c
je 0x430330
cmp eax, 0x3e
je 0x430330
push 0xf
push esi
push 0x506404
call fcn.004c41d6
mov ecx, 0x506404
add esp, 0xc
xor eax, eax
mov word [0x506422], ax
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x430110
sub ecx, edx
mov eax, 3
sar ecx, 1
mov dword [0x506424], 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.0049bc70
add esp, 8
test eax, eax
jne 0x4301b2
test esi, esi
je 0x42f67c
movzx eax, word [esi]
cmp eax, 0x23
je 0x430330
cmp ax, word [0x505bec]
je 0x430330
cmp ax, word [0x505bf0]
je 0x430330
cmp eax, 0x2e
je 0x430330
cmp dword [0x506424], 1
jne 0x43019a
cmp ax, word [0x506404]
je 0x430330
mov word [0x505be8], 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.0049bc70
add esp, 8
test eax, eax
jne 0x430224
test esi, esi
je 0x42f67c
movzx eax, word [esi]
cmp ax, word [0x505be8]
je 0x430330
cmp ax, word [0x505bf0]
je 0x430330
cmp eax, 0x2e
je 0x430330
cmp dword [0x506424], 1
jne 0x43020c
cmp ax, word [0x506404]
je 0x430330
mov word [0x505bec], ax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
push 0xffffffffffffffff
push edi
mov edx, 0x4f41a4
mov ecx, ebx
call fcn.0049bc70
add esp, 8
test eax, eax
jne 0x43029f
test esi, esi
je 0x42f67c
movzx eax, word [esi]
cmp eax, 0x23
je 0x430330
cmp ax, word [0x505be8]
je 0x430330
cmp ax, word [0x505bec]
je 0x430330
cmp eax, 0x2e
je 0x430330
cmp dword [0x506424], 1
jne 0x430287
cmp ax, word [0x506404]
je 0x430330
mov word [0x505bf0], 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.0049bc70
add esp, 8
test eax, eax
jne 0x430306
test esi, esi
je 0x4302df
push eax
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
push eax
push 0
push 0x505c0c
mov edx, 0x505bea
mov ecx, esi
call fcn.0041cbb0
add esp, 0xc
test al, al
jne 0x42f67c
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.00447960
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.0049bc70
add esp, 8
test eax, eax
jne 0x430365
test esi, esi
je 0x43034c
mov ecx, esi
call fcn.00417fc0
test eax, eax
js 0x430330
cmp eax, 0x64
jle 0x43034e
mov ecx, dword [esp + 0x14]
push ebx
push str.Parameter_1_invalid.
call fcn.00447960
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
xor eax, eax
mov byte [0x507b43], 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.0049bc70
add esp, 8
test eax, eax
jne 0x4303c3
test esi, esi
je 0x4303aa
push 0x4f07d8
push esi
call fcn.004ba0a7
add esp, 8
test eax, eax
jne 0x4303aa
xor al, al
mov byte [0x505be3], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
mov al, 1
mov byte [0x505be3], 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.0049bc70
add esp, 8
test eax, eax
jne 0x43052b
movzx eax, word [0x505bf0]
test esi, esi
mov edi, 0x4da3cc
cmovne edi, esi
push eax
push edi
call fcn.004b7267
mov edx, eax
add esp, 8
mov ebp, 0x4da3cc
test edx, edx
je 0x430429
lea ebp, [edx + 2]
movzx eax, word [ebp]
cmp eax, 0x20
je 0x430414
cmp eax, 9
jne 0x430419
add ebp, 2
jmp 0x430406
add edx, 0xfffffffe
mov ecx, edi
call fcn.00412fc0
xor ecx, ecx
mov word [eax + 2], cx
cmp word [edi], 0
mov esi, 5
je 0x430476
xor esi, esi
nop word [eax + eax]
push dword [esi*4 + 0x4f800c]
push edi
call fcn.004ba0a7
add esp, 8
test eax, eax
je 0x430476
inc esi
cmp esi, 6
jne 0x430440
mov ecx, dword [esp + 0x14]
push ebx
push str.Parameter_1_invalid.
call fcn.00447960
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
cmp word [ebp], 0
mov edi, 2
je 0x4304c6
xor edi, edi
nop dword [eax]
nop dword [eax + eax]
push dword [edi*4 + 0x4f7ffc]
push ebp
call fcn.004ba0a7
add esp, 8
test eax, eax
je 0x4304c6
inc edi
cmp edi, 4
jne 0x430490
mov ecx, dword [esp + 0x14]
push ebp
push str.Parameter_2_invalid.
call fcn.00447960
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
test esi, esi
je 0x4304cf
cmp esi, 5
jne 0x4304d5
mov dword [0x50847c], edi
cmp esi, 1
je 0x4304df
cmp esi, 5
jne 0x4304e5
mov dword [0x508478], edi
cmp esi, 3
je 0x4304ef
cmp esi, 5
jne 0x4304f5
mov dword [0x508474], edi
cmp esi, 2
je 0x4304ff
cmp esi, 5
jne 0x430505
mov dword [0x508470], edi
cmp esi, 4
je 0x430513
cmp esi, 5
jne 0x42f67c
mov dword [0x50846c], edi
mov eax, 3
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.0049bc70
add esp, 8
test eax, eax
jne 0x430594
test esi, esi
je 0x42f67c
mov ecx, esi
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x430550
sub ecx, edx
sar ecx, 1
lea ecx, [ecx*2 + 2]
call fcn.00499070
mov dword [str.AutoHotkey], eax
sub eax, esi
movzx ecx, word [esi]
lea esi, [esi + 2]
mov word [esi + eax - 2], cx
test cx, cx
jne 0x430572
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.0049bc70
add esp, 8
test eax, eax
jne 0x430602
test esi, esi
je 0x42f67c
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4305b7
sub ecx, edx
sar ecx, 1
lea ecx, [ecx*2 + 2]
call fcn.00499070
mov dword [str.AutoHotkeyGUI], eax
sub eax, esi
nop dword [eax]
movzx ecx, word [esi]
lea esi, [esi + 2]
mov word [esi + eax - 2], cx
test cx, cx
jne 0x4305e0
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
push 0xffffffffffffffff
push edi
mov edx, 0x4f4274
mov ecx, ebx
call fcn.0049bc70
add esp, 8
test eax, eax
jne 0x42fb61
mov edx, ebx
mov ecx, esi
call fcn.0049e370
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
test esi, esi
jne 0x430652
mov ecx, dword [esp + 0x14]
push ebx
push str.Parameter_1_required
call fcn.00447960
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
cmp word [esi], 0x2a
jne 0x43068c
mov cx, word [esi + 2]
call fcn.00412f70
cmp ax, 0x49
jne 0x43068c
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 0x430683
cmp ecx, 9
jne 0x430694
add esi, 2
mov dword [esp + 0x24], esi
jmp 0x430691
mov byte [esp + 0x28], 0
movzx eax, word [esi]
cmp ax, 0x3c
jne 0x430746
push 0x3e
push esi
call fcn.004b7267
mov edi, eax
add esp, 8
test edi, edi
je 0x430746
cmp word [edi + 2], 0
jne 0x430746
xor eax, eax
add esi, 2
mov word [edi], ax
call fcn.00459580
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.00438220
test ebp, ebp
je 0x430700
push ebp
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
push ebp
call fcn.004bb7ab
add esp, 4
mov al, byte [esp + 0x13]
test al, al
jne 0x43071c
cmp byte [esp + 0x1b], al
jne 0x42f67c
cmp byte [esp + 0x28], al
jne 0x42f67c
mov ecx, 0x3e
mov word [edi], cx
test al, al
jne 0x430912
push ebx
push str.Function_library_not_found.
mov ecx, esi
call fcn.00447960
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4
mov bp, word [0x505bec]
xor edi, edi
xor eax, eax
mov dword [esp + 0x34], edi
mov edi, dword [esp + 0x20]
mov dword [esp + 0x2c], eax
nop dword [eax]
test eax, eax
je 0x430791
lea eax, [edi*2 + 2]
push eax
call fcn.004bb7a0
mov ebx, eax
add esp, 4
mov dword [esp + 0x34], ebx
test ebx, ebx
je 0x430912
mov bp, word [0x505bec]
mov edx, ebx
mov dword [esp + 0x1c], edx
jmp 0x43079b
mov edx, 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 0x4308c5
mov esi, dword [esp + 0x20]
mov edi, eax
cmp di, bp
jne 0x430881
lea eax, [ecx + 2]
mov edi, eax
mov dword [esp + 0x44], eax
movzx eax, word [edi]
mov edx, eax
test ax, ax
je 0x4307ed
mov ecx, eax
movzx edx, cx
cmp cx, bp
je 0x4307e9
movzx eax, word [edi + 2]
add edi, 2
mov ecx, eax
mov edx, eax
test ax, ax
jne 0x4307d1
mov ecx, dword [esp + 0x30]
mov ebx, edi
sub ebx, ecx
sar ebx, 1
dec ebx
test dx, dx
je 0x430881
test ebx, ebx
je 0x430881
cmp ebx, 0xfd
ja 0x430881
push ebx
push dword [esp + 0x48]
lea eax, [esp + 0x50]
push eax
call fcn.004c41d6
add esp, 0xc
lea ecx, [esp + 0x48]
xor eax, eax
mov word [esp + ebx*2 + 0x48], ax
call fcn.0043b610
test eax, eax
je 0x430876
cmp dword [esp + 0x2c], 0
lea ecx, [esp + 0x48]
mov eax, dword [eax + 4]
push ecx
je 0x43085e
mov ebx, dword [esp + 0x20]
push ebx
call eax
mov bp, word [0x505bec]
add esp, 8
mov ecx, edi
lea ebx, [ebx + eax*2]
mov dword [esp + 0x1c], ebx
jmp 0x4308a3
push 0
call eax
mov bp, word [0x505bec]
add esp, 8
add esi, eax
mov ecx, edi
mov dword [esp + 0x20], esi
jmp 0x4308a3
mov bp, word [0x505bec]
mov ecx, dword [esp + 0x30]
cmp dword [esp + 0x2c], 0
je 0x43089b
mov edx, dword [esp + 0x1c]
mov ax, word [ecx]
mov word [edx], ax
add edx, 2
mov dword [esp + 0x1c], edx
jmp 0x4308a7
inc dword [esp + 0x20]
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
movzx eax, word [ecx + 2]
add ecx, 2
mov dword [esp + 0x30], ecx
mov edi, eax
test ax, ax
jne 0x4307b3
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 0x430760
mov edi, dword [esp + 0x34]
xor eax, eax
push edi
mov word [edx], ax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x430921
test al, 0x10
je 0x430921
mov ecx, edi
call fcn.00459460
push edi
call fcn.004bb7ab
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.0042cff0
neg eax
push edi
sbb esi, esi
and esi, 3
call fcn.004bb7ab
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x238
ret 4