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

Disassembly:
sub esp, 0x18c
push ebx
mov bl, byte [0x4b79c2]
push ebp
mov ebp, dword [esp + 0x19c]
push esi
push edi
mov word [esp + 0x14], 0x920
mov byte [esp + 0x16], bl
mov byte [esp + 0x17], 0
mov esi, ebp
test ebp, ebp
je 0x423784
mov dl, byte [ebp]
test dl, dl
je 0x423784
lea ecx, [esp + 0x14]
mov al, 0x20
lea ebx, [ebx]
cmp dl, al
je 0x42379e
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x423770
mov dl, byte [esi + 1]
inc esi
test dl, dl
jne 0x423764
mov eax, ebp
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x423790
sub eax, edx
lea edi, [eax + ebp]
jmp 0x4237d7
mov edi, esi
mov eax, esi
mov cl, byte [eax]
cmp cl, 0x20
je 0x4237ae
cmp cl, 9
jne 0x4237b1
inc eax
jmp 0x4237a2
mov cl, byte [eax]
test cl, cl
je 0x4237d7
cmp cl, bl
je 0x4237bf
mov ebx, eax
jmp 0x4237d9
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x20
je 0x4237bf
cmp cl, 9
je 0x4237bf
mov ebx, eax
mov dword [esp + 0x14], ebx
test cl, cl
jne 0x4237dd
xor ebx, ebx
mov dword [esp + 0x14], ebx
sub edi, ebp
push 0xffffffffffffffff
push edi
mov eax, str.Include
mov ecx, ebp
mov byte [esp + 0x28], 0
call fcn.0047f3d0
add esp, 8
test eax, eax
je 0x42485e
push 0xffffffffffffffff
push edi
mov eax, str.IncludeAgain
mov ecx, ebp
call fcn.0047f3d0
add esp, 8
test eax, eax
sete al
mov byte [esp + 0x20], al
test al, al
jne 0x42485e
push 0xffffffffffffffff
push edi
mov eax, str.NoEnv
mov ecx, ebp
call fcn.0047f3d0
add esp, 8
test eax, eax
jne 0x423853
mov dword [0x4bb594], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18c
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.NoTrayIcon
mov ecx, ebp
call fcn.0047f3d0
add esp, 8
test eax, eax
jne 0x423882
mov byte [0x4bb566], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18c
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.Persistent
mov ecx, ebp
call fcn.0047f3d0
add esp, 8
test eax, eax
jne 0x4238b1
mov byte [0x4bb565], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18c
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.SingleInstance
mov ecx, ebp
call fcn.0047f3d0
add esp, 8
test eax, eax
jne 0x423963
mov dword [0x4bb580], 1
test ebx, ebx
je 0x423951
push str.Force
push ebx
call fcn.004926f1
add esp, 8
test eax, eax
jne 0x423907
mov dword [0x4bb580], 2
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18c
ret 8
push str.Ignore
push ebx
call fcn.004926f1
add esp, 8
test eax, eax
jne 0x423935
mov dword [0x4bb580], 3
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18c
ret 8
push 0x4a9fd8
push ebx
call fcn.004926f1
add esp, 8
test eax, eax
jne 0x423951
mov dword [0x4bb580], 4
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18c
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.InstallKeybdHook
mov ecx, ebp
call fcn.0047f3d0
add esp, 8
test eax, eax
jne 0x423992
or byte [0x4bbc3f], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18c
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.InstallMouseHook
mov ecx, ebp
call fcn.0047f3d0
add esp, 8
test eax, eax
jne 0x4239c1
or byte [0x4bbc3f], 2
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18c
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.UseHook
mov ecx, ebp
call fcn.0047f3d0
add esp, 8
test eax, eax
jne 0x423a0b
test ebx, ebx
je 0x4239f2
push eax
mov esi, ebx
call fcn.00411060
add esp, 4
mov byte [0x4bbc2f], 0
cmp eax, 2
je 0x4239f9
mov byte [0x4bbc2f], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18c
ret 8
push 0xffffffffffffffff
push edi
mov eax, 0x4a90b0
mov ecx, ebp
call fcn.0047f3d0
add esp, 8
test eax, eax
jne 0x423ae1
xor esi, esi
cmp ebx, esi
jne 0x423a41
mov dword [0x4bb5a8], esi
lea eax, [esi + 3]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18c
ret 8
mov edi, ebx
call fcn.00411610
mov dword [0x4bb5a8], eax
cmp eax, esi
jne 0x423841
mov eax, dword [0x4b7a60]
mov edi, dword [eax + 0x94]
mov ecx, dword [esp + 0x1a0]
push esi
push esi
push esi
push 0x4a7935
push esi
push 0xe3
mov dword [eax + 0x94], esi
push ebx
mov byte [ecx + 0x49], 1
call fcn.00425120
test eax, eax
je 0x4249a4
mov eax, dword [esp + 0x1a0]
mov ecx, dword [0x4b7a60]
mov byte [eax + 0x49], 0
mov dword [ecx + 0x94], edi
mov esi, dword [eax + 4]
call fcn.00411590
mov dword [0x4bb5a8], eax
test eax, eax
je 0x4249a4
mov byte [eax], 5
mov dword [eax + 0xc], esi
mov edx, dword [esi + 8]
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov dword [eax + 8], 0x4a7935
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18c
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.IfTimeout
mov ecx, ebp
call fcn.0047f3d0
add esp, 8
test eax, eax
jne 0x423b19
test ebx, ebx
je 0x423b07
mov esi, ebx
call fcn.00404000
mov dword [0x4b79e4], eax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18c
ret 8
push 6
push str.IfWin
push ebp
call fcn.0049301e
add esp, 0xc
test eax, eax
jne 0x423dc4
push 3
lea edx, [ebp + 6]
push 0x4aa0b0
push edx
call fcn.0049301e
add esp, 0xc
test eax, eax
sete bl
movzx eax, bl
neg eax
sbb eax, eax
and eax, 3
lea edi, [eax + 6]
push 6
add edi, ebp
push str.Active
push edi
call fcn.0049301e
add esp, 0xc
test eax, eax
jne 0x423b79
test bl, bl
setne cl
inc cl
mov byte [esp + 0x1c], cl
jmp 0x423b9d
push 5
push str.Exist
push edi
call fcn.0049301e
add esp, 0xc
test eax, eax
jne 0x423db2
test bl, bl
setne dl
add dl, 3
mov byte [esp + 0x1c], dl
cmp dword [esp + 0x14], 0
jne 0x423bc0
mov dword [0x4bb5a8], 0
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18c
ret 8
mov edx, dword [esp + 0x14]
mov al, byte [0x4b79c2]
xor esi, esi
jmp 0x423bd0
mov cl, byte [edx]
test cl, cl
je 0x423bf2
cmp cl, byte [0x4b79e8]
je 0x423c0f
cmp cl, al
je 0x423c0f
cmp cl, byte [0x4b79c3]
je 0x423c0f
mov cl, byte [edx + 1]
inc edx
test cl, cl
jne 0x423bd6
test esi, esi
je 0x423ce7
lea edi, [esi + 1]
lea ecx, [ecx]
mov cl, byte [edi]
cmp cl, 0x20
je 0x423c0c
cmp cl, 9
jne 0x423c52
inc edi
jmp 0x423c00
mov cl, byte [edx]
test cl, cl
je 0x423bf2
cmp cl, byte [0x4b79c3]
je 0x423c33
cmp cl, al
jne 0x423c2a
test esi, esi
jne 0x423c33
mov esi, edx
inc edx
jmp 0x423bd0
inc edx
cmp byte [edx], 0
je 0x423bf2
inc edx
jmp 0x423bd0
mov ecx, dword [esp + 0x1a0]
push ebp
push str.Literal_commas_and_percent_signs_must_be_escaped__e.g.____
call fcn.0043b430
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18c
ret 8
mov byte [esi], 0
mov eax, esi
mov esi, dword [esp + 0x14]
sub eax, esi
mov ebp, edi
call fcn.0041beb0
mov bl, byte [0x4b79e8]
mov ecx, edi
mov al, byte [ecx]
test al, al
je 0x423cec
cmp al, bl
je 0x423c80
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x423c72
jmp 0x423cec
cmp byte [ecx], 0
je 0x423cec
movsx eax, byte [ecx + 1]
lea edi, [ecx + 1]
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x423c9b.99
movzx eax, byte [eax + 0x424a44]
jmp dword [eax*4 + 0x424a20]
mov byte [edi], 7
jmp case.0x423c9b.99
mov byte [edi], 8
jmp case.0x423c9b.99
mov byte [edi], 0xc
jmp case.0x423c9b.99
mov byte [edi], 0xa
jmp case.0x423c9b.99
mov byte [edi], 0xd
jmp case.0x423c9b.99
mov byte [edi], 9
jmp case.0x423c9b.99
mov byte [edi], 0xb
jmp case.0x423c9b.99
mov byte [edi], 0x20
mov eax, edi
lea esi, [eax + 1]
lea ecx, [ecx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x423cd0
sub eax, esi
inc eax
push eax
push edi
push ecx
call fcn.00493930
add esp, 0xc
jmp 0x423c6a
mov ebp, 0x4a7935
mov bl, byte [0x4b79e8]
mov ecx, dword [esp + 0x14]
mov al, byte [ecx]
test al, al
je 0x423d0c
lea esp, [esp]
cmp al, bl
je 0x423d49
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x423d00
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
push ebp
push eax
call fcn.004113b0
add esp, 8
test eax, eax
jne 0x423841
mov ecx, dword [esp + 0x1a0]
push 0x4a7935
push str.Out_of_memory.
call fcn.0043b430
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18c
ret 8
cmp byte [ecx], 0
je 0x423d0c
movsx eax, byte [ecx + 1]
lea edi, [ecx + 1]
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x423d64.99
movzx edx, byte [eax + 0x424a80]
jmp dword [edx*4 + 0x424a5c]
mov byte [edi], 7
jmp case.0x423d64.99
mov byte [edi], 8
jmp case.0x423d64.99
mov byte [edi], 0xc
jmp case.0x423d64.99
mov byte [edi], 0xa
jmp case.0x423d64.99
mov byte [edi], 0xd
jmp case.0x423d64.99
mov byte [edi], 9
jmp case.0x423d64.99
mov byte [edi], 0xb
jmp case.0x423d64.99
mov byte [edi], 0x20
mov eax, edi
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x423d96
sub eax, esi
inc eax
push eax
push edi
push ecx
call fcn.00493930
add esp, 0xc
mov ecx, edi
jmp 0x423cf6
mov eax, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18c
ret 8
push 0xffffffffffffffff
push edi
mov eax, 0x4abd6c
mov ecx, ebp
call fcn.0047f3d0
add esp, 8
test eax, eax
jne 0x423f4c
test ebx, ebx
je 0x423f3a
push str.EndChars
mov eax, ebx
call fcn.0047f6c0
add esp, 4
test eax, eax
je 0x423ec9
mov edi, 0x4abd78
call fcn.004054d0
test eax, eax
je 0x423841
push 0x64
inc eax
push eax
push str._____:____.___n__t
call fcn.00495b20
mov bl, byte [0x4b79e8]
mov byte [0x4b7a5c], 0
mov ecx, str._____:____.___n__t
mov al, byte [ecx]
add esp, 0xc
test al, al
je 0x423841
lea esp, [esp]
cmp al, bl
je 0x423e5e
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x423e40
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18c
ret 8
cmp byte [ecx], 0
je 0x423841
movsx eax, byte [ecx + 1]
lea esi, [ecx + 1]
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x423e7d.99
movzx edx, byte [eax + 0x424abc]
jmp dword [edx*4 + 0x424a98]
mov byte [esi], 7
jmp case.0x423e7d.99
mov byte [esi], 8
jmp case.0x423e7d.99
mov byte [esi], 0xc
jmp case.0x423e7d.99
mov byte [esi], 0xa
jmp case.0x423e7d.99
mov byte [esi], 0xd
jmp case.0x423e7d.99
mov byte [esi], 9
jmp case.0x423e7d.99
mov byte [esi], 0xb
mov eax, esi
lea edi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x423eb0
sub eax, edi
inc eax
push eax
push esi
push ecx
call fcn.00493930
mov ecx, esi
jmp 0x423e2f
push 7
push str.NoMouse
push ebx
call fcn.0049301e
add esp, 0xc
test eax, eax
jne 0x423ef4
mov byte [0x4b79f0], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18c
ret 8
push 0x4bbc2d
push 0x4bbc2c
push 0x4bbc2b
push 0x4b79eb
push 0x4bbc28
push 0x4bbc2a
push 0x4b79ea
push 0x4b79e9
push 0x4bbc29
push 0x4b79ec
push 0x4bbc24
push 0x4bbc20
mov eax, ebx
call fcn.00414ad0
add esp, 0x30
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18c
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.HotkeyModifierTimeout
mov ecx, ebp
call fcn.0047f3d0
add esp, 8
test eax, eax
jne 0x423f84
test ebx, ebx
je 0x423f72
mov esi, ebx
call fcn.00416130
mov dword [0x4b79c4], eax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18c
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.HotkeyInterval
mov ecx, ebp
call fcn.0047f3d0
add esp, 8
test eax, eax
jne 0x423fcb
test ebx, ebx
je 0x423fb9
mov esi, ebx
call fcn.00416130
mov dword [0x4b79e0], eax
cmp eax, 0xa
jge 0x423fb9
mov dword [0x4b79e0], 0xa
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18c
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.MaxHotkeysPerInterval
mov ecx, ebp
call fcn.0047f3d0
add esp, 8
test eax, eax
jne 0x424012
test ebx, ebx
je 0x424000
mov esi, ebx
call fcn.00416130
mov dword [0x4b79dc], eax
cmp eax, 1
jge 0x424000
mov dword [0x4b79dc], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18c
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.MaxThreadsPerHotkey
mov ecx, ebp
call fcn.0047f3d0
add esp, 8
test eax, eax
jne 0x424077
test ebx, ebx
je 0x424065
mov esi, ebx
call fcn.00416130
cmp eax, 0xff
jle 0x424056
mov eax, 0xff
mov byte [0x4b7493], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18c
ret 8
cmp eax, 1
jge 0x424060
mov eax, 1
mov byte [0x4b7493], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18c
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.MaxThreadsBuffer
mov ecx, ebp
call fcn.0047f3d0
add esp, 8
test eax, eax
jne 0x4240c1
test ebx, ebx
je 0x4240a8
push eax
mov esi, ebx
call fcn.00411060
add esp, 4
mov byte [0x4bb58a], 0
cmp eax, 2
je 0x4240af
mov byte [0x4bb58a], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18c
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.MaxThreads
mov ecx, ebp
call fcn.0047f3d0
add esp, 8
test eax, eax
jne 0x424126
test ebx, ebx
je 0x424114
mov esi, ebx
call fcn.00416130
cmp eax, 0xff
jle 0x424105
mov eax, 0xff
mov dword [0x4b79d8], eax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18c
ret 8
cmp eax, 1
jge 0x42410f
mov eax, 1
mov dword [0x4b79d8], eax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18c
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.ClipboardTimeout
mov ecx, ebp
call fcn.0047f3d0
add esp, 8
test eax, eax
jne 0x42415e
test ebx, ebx
je 0x42414c
mov esi, ebx
call fcn.00416130
mov dword [0x4b79c8], eax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18c
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.LTrim
mov ecx, ebp
call fcn.0047f3d0
add esp, 8
test eax, eax
jne 0x4241a8
test ebx, ebx
je 0x42418f
push eax
mov esi, ebx
call fcn.00411060
add esp, 4
mov byte [0x4bbc2e], 0
cmp eax, 2
je 0x424196
mov byte [0x4bbc2e], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18c
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.WinActivateForce
mov ecx, ebp
call fcn.0047f3d0
add esp, 8
test eax, eax
jne 0x4241d7
mov byte [0x4bb564], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18c
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.ErrorStdOut
mov ecx, ebp
call fcn.0047f3d0
add esp, 8
test eax, eax
jne 0x42421a
mov esi, dword [esp + 0x1a0]
mov eax, ebx
mov byte [esi + 0x61f], 1
call fcn.0041edc0
mov dword [esi + 0x620], eax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18c
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.MaxMem
mov ecx, ebp
call fcn.0047f3d0
add esp, 8
test eax, eax
jne 0x4242a0
test ebx, ebx
je 0x42428e
mov esi, ebx
call fcn.0041bfc0
fld qword [0x4b1658]
fcom st(1)
fnstsw ax
test ah, 5
jnp 0x424257
fstp st(0)
fld1
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x42425b
fstp st(1)
jmp 0x42425d
fstp st(0)
fld qword [0x4b1560]
fnstcw word [esp + 0x14]
movzx eax, word [esp + 0x14]
fmul st(1), st(0)
or eax, 0xc00
mov dword [esp + 0x20], eax
fmulp st(1)
fldcw word [esp + 0x20]
fistp qword [esp + 0x20]
mov eax, dword [esp + 0x20]
mov dword [0x4b79d4], eax
fldcw word [esp + 0x14]
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18c
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.KeyHistory
mov ecx, ebp
call fcn.0047f3d0
add esp, 8
test eax, eax
jne 0x424309
test ebx, ebx
je 0x4242f7
mov esi, ebx
call fcn.00416130
mov dword [0x4b79d0], eax
test eax, eax
jns 0x4242e6
mov dword [0x4b79d0], 0
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18c
ret 8
cmp eax, 0x1f4
jle 0x4242f7
mov dword [0x4b79d0], 0x1f4
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18c
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.CommentFlag
mov ecx, ebp
call fcn.0047f3d0
add esp, 8
test eax, eax
jne 0x4243e0
test ebx, ebx
je 0x4243ce
cmp byte [ebx + 1], al
jne 0x42439e
mov al, byte [ebx]
cmp al, 0x23
je 0x42468b
cmp al, byte [0x4b79c3]
je 0x42468b
cmp al, byte [0x4b79e8]
je 0x42468b
cmp al, byte [0x4b79c2]
je 0x42468b
cmp al, 0x21
je 0x42468b
cmp al, 0x5e
je 0x42468b
cmp al, 0x2b
je 0x42468b
cmp al, 0x24
je 0x42468b
cmp al, 0x7e
je 0x42468b
cmp al, 0x2a
je 0x42468b
cmp al, 0x3c
je 0x42468b
cmp al, 0x3e
je 0x42468b
push 0xf
push ebx
push 0x4b74a0
call fcn.00495b20
mov eax, 0x4b74a0
add esp, 0xc
mov byte [0x4b74af], 0
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4243c0
sub eax, edx
mov dword [0x4b7494], eax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18c
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.EscapeChar
mov ecx, ebp
call fcn.0047f3d0
add esp, 8
test eax, eax
jne 0x424454
test ebx, ebx
je 0x423841
mov al, byte [ebx]
cmp al, 0x23
je 0x42468b
cmp al, byte [0x4b79c3]
je 0x42468b
cmp al, byte [0x4b79c2]
je 0x42468b
cmp al, 0x2e
je 0x42468b
cmp dword [0x4b7494], 1
jne 0x42443d
cmp al, byte [0x4b74a0]
je 0x42468b
mov byte [0x4b79e8], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18c
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.DerefChar
mov ecx, ebp
call fcn.0047f3d0
add esp, 8
test eax, eax
jne 0x4244c0
test ebx, ebx
je 0x423841
mov al, byte [ebx]
cmp al, byte [0x4b79e8]
je 0x42468b
cmp al, byte [0x4b79c2]
je 0x42468b
cmp al, 0x2e
je 0x42468b
cmp dword [0x4b7494], 1
jne 0x4244a9
cmp al, byte [0x4b74a0]
je 0x42468b
mov byte [0x4b79c3], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18c
ret 8
push 0xffffffffffffffff
push edi
mov eax, 0x4abe68
mov ecx, ebp
call fcn.0047f3d0
add esp, 8
test eax, eax
jne 0x424534
test ebx, ebx
je 0x423841
mov al, byte [ebx]
cmp al, 0x23
je 0x42468b
cmp al, byte [0x4b79e8]
je 0x42468b
cmp al, byte [0x4b79c3]
je 0x42468b
cmp al, 0x2e
je 0x42468b
cmp dword [0x4b7494], 1
jne 0x42451d
cmp al, byte [0x4b74a0]
je 0x42468b
mov byte [0x4b79c2], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18c
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.MenuMaskKey
mov ecx, ebp
call fcn.0047f3d0
add esp, 8
test eax, eax
jne 0x4245b3
test ebx, ebx
je 0x424593
push eax
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
push 0x4b7491
xor ecx, ecx
mov edi, 0x4b79c0
mov edx, ebx
call fcn.0041b160
add esp, 4
test al, al
jne 0x423841
mov ecx, dword [esp + 0x1a0]
mov eax, str.Parameter_1_invalid.
push ebp
push eax
call fcn.0043b430
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18c
ret 8
mov ecx, dword [esp + 0x1a0]
mov eax, str.Parameter_1_required
push ebp
push eax
call fcn.0043b430
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18c
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.InputLevel
mov ecx, ebp
call fcn.0047f3d0
add esp, 8
test eax, eax
jne 0x424600
test ebx, ebx
je 0x4245fc
mov esi, ebx
call fcn.00416130
test eax, eax
js 0x42468b
cmp eax, 0x64
jg 0x42468b
mov byte [0x4bb58b], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18c
ret 8
xor eax, eax
jmp 0x4245e5
push 0xffffffffffffffff
push edi
mov eax, str.Warn
mov ecx, ebp
call fcn.0047f3d0
add esp, 8
test eax, eax
jne 0x424761
test ebx, ebx
jne 0x424626
mov dword [esp + 0x14], 0x4a7935
movsx eax, byte [0x4b79c2]
mov esi, dword [esp + 0x14]
push eax
push esi
call fcn.00494081
add esp, 8
mov ebx, 0x4a7935
test eax, eax
je 0x424664
lea edx, [eax + 1]
mov cl, byte [edx]
cmp cl, 0x20
je 0x424653
cmp cl, 9
jne 0x424656
inc edx
jmp 0x424647
mov ebx, edx
dec eax
mov edx, esi
call fcn.00410fe0
mov byte [eax + 1], 0
cmp byte [esi], 0
mov edi, 6
je 0x4246aa
xor edi, edi
mov eax, dword [edi*4 + 0x4abe98]
push eax
push esi
call fcn.004926f1
add esp, 8
test eax, eax
je 0x4246aa
inc edi
cmp edi, 7
jne 0x424670
mov ecx, dword [esp + 0x1a0]
push ebp
push str.Parameter_1_invalid.
call fcn.0043b430
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18c
ret 8
cmp byte [ebx], 0
mov esi, 2
je 0x4246f0
xor esi, esi
mov eax, dword [esi*4 + 0x4abeb4]
push eax
push ebx
call fcn.004926f1
add esp, 8
test eax, eax
je 0x4246f0
inc esi
cmp esi, 4
jne 0x4246b6
mov ecx, dword [esp + 0x1a0]
push ebx
push str.Parameter_2_invalid.
call fcn.0043b430
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18c
ret 8
test edi, edi
je 0x4246f9
cmp edi, 6
jne 0x4246ff
mov dword [0x4bb568], esi
cmp edi, 1
je 0x424709
cmp edi, 6
jne 0x42470f
mov dword [0x4bb56c], esi
cmp edi, 3
je 0x424719
cmp edi, 6
jne 0x42471f
mov dword [0x4bb570], esi
cmp edi, 2
je 0x424729
cmp edi, 6
jne 0x42472f
mov dword [0x4bb574], esi
cmp edi, 4
je 0x424739
cmp edi, 6
jne 0x42473f
mov dword [0x4bb578], esi
cmp edi, 5
je 0x424749
cmp edi, 6
jne 0x42474f
mov dword [0x4bb57c], esi
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18c
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.Requires
mov ecx, ebp
call fcn.0047f3d0
add esp, 8
test eax, eax
jne 0x423db2
test ebx, ebx
jne 0x4247a2
mov ecx, dword [esp + 0x1a0]
push 0x4a7935
push str.Parameter_1_required
call fcn.0043b430
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18c
ret 8
push 0xa
push 0x4a79c8
push ebx
call fcn.0049301e
add esp, 0xc
test eax, eax
jne 0x424820
mov al, byte [ebx + 0xa]
test al, al
je 0x423841
cmp al, 0x20
je 0x4247c9
cmp al, 9
jne 0x424820
lea eax, [ebx + 0xb]
lea esp, [esp]
mov cl, byte [eax]
cmp cl, 0x20
je 0x4247dc
cmp cl, 9
jne 0x4247df
inc eax
jmp 0x4247d0
cmp byte [eax], 0x76
mov esi, eax
jne 0x4247e9
lea esi, [eax + 1]
push 3
push 0x4a7ec4
push esi
call fcn.00495213
add esp, 0xc
test eax, eax
jne 0x424819
mov al, byte [esi + 3]
test al, al
je 0x424808
cmp al, 0x2e
jne 0x424819
push esi
call fcn.00481a50
add esp, 4
test eax, eax
jle 0x423841
mov eax, str.__but_you_have_v1.1.34.03
jmp 0x424825
mov eax, 0x4a7935
push eax
push ebx
push str.This_script_requires__s_s.
mov esi, 0x64
lea edi, [esp + 0x34]
call fcn.0047f340
add esp, 0xc
push 0x4a7935
mov ecx, edi
push ecx
mov ecx, dword [esp + 0x1a8]
call fcn.0043b430
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18c
ret 8
test ebx, ebx
jne 0x424881
mov ecx, dword [esp + 0x1a0]
push ebp
push str.Parameter_1_required
call fcn.0043b430
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18c
ret 8
cmp byte [ebx], 0x2a
jne 0x424918
movzx edi, byte [ebx + 1]
test edi, 0xffffff80
jne 0x4248a8
push 2
push edi
call fcn.004938f7
add esp, 8
test eax, eax
je 0x4248a8
and edi, 0xffffffdf
mov eax, edi
cmp al, 0x49
jne 0x424918
mov al, byte [ebx + 2]
cmp al, 0x20
je 0x4248b9
cmp al, 9
jne 0x424918
mov byte [esp + 0x1c], 1
add ebx, 3
cmp byte [ebx], 0x3c
jne 0x424995
push 0x3e
push ebx
call fcn.00494081
mov edi, eax
add esp, 8
test edi, edi
je 0x424995
cmp byte [edi + 1], 0
jne 0x424995
lea edx, [esp + 0x90]
push edx
push 0x104
inc ebx
mov byte [edi], 0
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
test eax, eax
je 0x42491f
lea eax, [esp + 0x90]
push eax
call fcn.00494cd6
add esp, 4
mov esi, eax
jmp 0x424921
mov byte [esp + 0x1c], 0
jmp 0x4248c1
xor esi, esi
push 0
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x1a8]
lea edx, [esp + 0x23]
push edx
mov eax, edi
sub eax, ebx
push eax
push ebx
call fcn.0042c4c0
test esi, esi
je 0x424953
push esi
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
push esi
call fcn.00492708
add esp, 4
mov al, byte [esp + 0x1b]
test al, al
jne 0x42496f
cmp byte [esp + 0x14], al
jne 0x423841
cmp byte [esp + 0x1c], al
jne 0x423841
mov byte [edi], 0x3e
test al, al
jne 0x4249a4
mov ecx, dword [esp + 0x1a0]
push ebp
push str.Function_library_not_found.
call fcn.0043b430
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18c
ret 8
push ebx
lea ecx, [esp + 0x18]
push ecx
call fcn.0043a380
test eax, eax
jne 0x4249b3
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18c
ret 8
mov edi, dword [esp + 0x14]
push edi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x4249e9
test al, 0x10
je 0x4249e9
mov eax, edi
call fcn.0044bb40
push edi
call fcn.00492708
mov eax, 3
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18c
ret 8
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1a0]
push edx
push eax
push edi
call fcn.00421070
neg eax
sbb esi, esi
push edi
and esi, 3
call fcn.00492708
add esp, 4
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x18c
ret 8