Function at 0x421e30
Capabilities:
Check if file exists
Enumerate pe sections
Get file attributes
Get keyboard layout
Set current directory

Disassembly:
sub esp, 0xe4
push ebx
push ebp
mov ebp, dword [esp + 0xf4]
push esi
push edi
mov di, word [0x4d4a38]
xor edx, edx
mov dword [esp + 0x18], 0x90020
mov word [esp + 0x1c], di
mov word [esp + 0x1e], dx
mov esi, ebp
test ebp, ebp
je 0x421e9d
movzx eax, word [ebp]
test ax, ax
je 0x421e9d
jmp 0x421e70
movzx edx, ax
lea ecx, [esp + 0x18]
mov eax, 0x20
lea esp, [esp]
cmp dx, ax
je 0x421eb7
movzx eax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x421e80
movzx eax, word [esi + 2]
add esi, 2
test ax, ax
jne 0x421e70
mov eax, ebp
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x421ea2
sub eax, edx
sar eax, 1
lea esi, [ebp + eax*2]
jmp 0x421f00
mov eax, esi
lea esp, [esp]
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x421ecd
cmp ecx, 9
jne 0x421ed2
add eax, 2
jmp 0x421ec0
movzx ecx, word [eax]
test cx, cx
je 0x421f00
cmp cx, di
je 0x421ee3
mov ebx, eax
jmp 0x421f02
movzx ecx, word [eax + 2]
add eax, 2
cmp ecx, 0x20
je 0x421ee3
cmp ecx, 9
je 0x421ee3
cmp word [eax], 0
mov ebx, eax
mov dword [esp + 0x14], ebx
jne 0x421f06
xor ebx, ebx
mov dword [esp + 0x14], ebx
sub esi, ebp
sar esi, 1
mov edi, esi
push 0xffffffffffffffff
push edi
mov eax, str.Include
mov ecx, ebp
mov byte [esp + 0x20], 0
call fcn.0047f710
add esp, 8
test eax, eax
je 0x42307e
push 0xffffffffffffffff
push edi
mov eax, str.IncludeAgain
mov ecx, ebp
call fcn.0047f710
add esp, 8
test eax, eax
sete al
mov byte [esp + 0x18], al
test al, al
jne 0x42307e
push 0xffffffffffffffff
push edi
mov eax, str.NoEnv
mov ecx, ebp
call fcn.0047f710
add esp, 8
test eax, eax
jne 0x421f80
mov dword [0x4d880c], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe4
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.NoTrayIcon
mov ecx, ebp
call fcn.0047f710
add esp, 8
test eax, eax
jne 0x421faf
mov byte [0x4d87de], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe4
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.Persistent
mov ecx, ebp
call fcn.0047f710
add esp, 8
test eax, eax
jne 0x421fde
mov byte [0x4d87dd], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe4
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.SingleInstance
mov ecx, ebp
call fcn.0047f710
add esp, 8
test eax, eax
jne 0x422090
mov dword [0x4d87f8], 1
test ebx, ebx
je 0x42207e
push str.Force
push ebx
call fcn.00499229
add esp, 8
test eax, eax
jne 0x422034
mov dword [0x4d87f8], 2
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe4
ret 8
push str.Ignore
push ebx
call fcn.00499229
add esp, 8
test eax, eax
jne 0x422062
mov dword [0x4d87f8], 3
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe4
ret 8
push 0x4b3560
push ebx
call fcn.00499229
add esp, 8
test eax, eax
jne 0x42207e
mov dword [0x4d87f8], 4
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe4
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.InstallKeybdHook
mov ecx, ebp
call fcn.0047f710
add esp, 8
test eax, eax
jne 0x4220bf
or byte [0x4d8eb7], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe4
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.InstallMouseHook
mov ecx, ebp
call fcn.0047f710
add esp, 8
test eax, eax
jne 0x4220ee
or byte [0x4d8eb7], 2
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe4
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.UseHook
mov ecx, ebp
call fcn.0047f710
add esp, 8
test eax, eax
jne 0x422138
test ebx, ebx
je 0x42211f
push eax
mov esi, ebx
call fcn.0040eda0
add esp, 4
mov byte [0x4d8ea7], 0
cmp eax, 2
je 0x422126
mov byte [0x4d8ea7], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe4
ret 8
push 0xffffffffffffffff
push edi
mov eax, 0x4b18dc
mov ecx, ebp
call fcn.0047f710
add esp, 8
test eax, eax
jne 0x42220e
test ebx, ebx
jne 0x42216c
mov dword [0x4d8820], ebx
lea eax, [ebx + 3]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe4
ret 8
mov edi, ebx
call fcn.0040f450
mov dword [0x4d8820], eax
test eax, eax
jne 0x421f6e
mov eax, dword [0x4d4b14]
mov esi, dword [eax + 0xb4]
mov edi, dword [esp + 0xf8]
push 0
push 0
push 0
push 0x4af9ac
push 0
push 0xe3
mov dword [eax + 0xb4], 0
push ebx
mov ecx, edi
mov byte [edi + 0x49], 1
call fcn.00423910
test eax, eax
je 0x4231ba
mov eax, dword [0x4d4b14]
mov byte [edi + 0x49], 0
mov dword [eax + 0xb4], esi
mov esi, dword [edi + 4]
call fcn.0040f3d0
mov dword [0x4d8820], eax
test eax, eax
je 0x4231ba
mov byte [eax], 5
mov dword [eax + 0xc], esi
mov ecx, dword [esi + 8]
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov dword [eax + 8], 0x4af9ac
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe4
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.IfTimeout
mov ecx, ebp
call fcn.0047f710
add esp, 8
test eax, eax
jne 0x422246
test ebx, ebx
je 0x422234
mov esi, ebx
call fcn.00404040
mov dword [0x4d4a34], eax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe4
ret 8
push 6
push str.IfWin
push ebp
call fcn.004999aa
add esp, 0xc
test eax, eax
jne 0x42257b
push 3
lea eax, [ebp + 0xc]
push 0x4b36fc
push eax
call fcn.004999aa
add esp, 0xc
test eax, eax
sete bl
movzx ecx, bl
neg ecx
sbb ecx, ecx
and ecx, 3
push 6
lea esi, [ebp + ecx*2 + 0xc]
push str.Active
push esi
call fcn.004999aa
add esp, 0xc
test eax, eax
jne 0x4222a5
test bl, bl
setne dl
inc dl
mov byte [esp + 0x18], dl
jmp 0x4222c8
push 5
push str.Exist
push esi
call fcn.004999aa
add esp, 0xc
test eax, eax
jne 0x422569
test bl, bl
setne al
add al, 3
mov byte [esp + 0x18], al
mov ebx, dword [esp + 0x14]
xor edi, edi
cmp ebx, edi
jne 0x4222e8
mov dword [0x4d8820], edi
lea eax, [edi + 3]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe4
ret 8
mov dx, word [0x4d4a38]
mov si, word [0x4d4a3c]
mov ecx, ebx
movzx eax, word [ecx]
test ax, ax
je 0x42231f
cmp ax, word [0x4d4a40]
je 0x422376
cmp ax, dx
je 0x422376
cmp ax, si
je 0x422376
movzx eax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x422300
test edi, edi
je 0x422460
lea eax, [edi + 2]
call fcn.0040ed00
mov dword [esp + 0x20], eax
mov eax, edi
sub eax, ebx
xor ecx, ecx
sar eax, 1
mov esi, ebx
mov word [edi], cx
call fcn.0041a140
movzx ebp, word [0x4d4a40]
mov ecx, dword [esp + 0x20]
movzx eax, word [ecx]
test ax, ax
je 0x422468
lea esp, [esp]
cmp ax, bp
je 0x4223c6
movzx eax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x422360
jmp 0x422468
movzx eax, word [ecx]
test ax, ax
je 0x42231f
cmp ax, si
je 0x4223a7
cmp ax, dx
jne 0x422396
test edi, edi
jne 0x4223a7
mov edi, ecx
add ecx, 2
jmp 0x4222f8
add ecx, 2
cmp word [ecx], 0
je 0x42231f
add ecx, 2
jmp 0x4222f8
mov ecx, dword [esp + 0xf8]
push ebp
push str.Literal_commas_and_percent_signs_must_be_escaped__e.g.____
call fcn.0043a280
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe4
ret 8
cmp word [ecx], 0
je 0x422468
movzx eax, word [ecx + 2]
lea edi, [ecx + 2]
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x4223e6.99
movzx edx, byte [eax + 0x42325c]
jmp dword [edx*4 + 0x423238]
mov eax, 7
mov word [edi], ax
jmp case.0x4223e6.99
mov edx, 8
jmp 0x42242f
mov eax, 0xc
mov word [edi], ax
jmp case.0x4223e6.99
mov edx, 0xa
jmp 0x42242f
mov eax, 0xd
mov word [edi], ax
jmp case.0x4223e6.99
mov edx, 9
jmp 0x42242f
mov eax, 0xb
mov word [edi], ax
jmp case.0x4223e6.99
mov edx, 0x20
mov word [edi], dx
mov eax, edi
lea esi, [eax + 2]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x422437
sub eax, esi
sar eax, 1
lea eax, [eax + eax + 2]
push eax
push edi
push ecx
call fcn.0049a5c0
mov ebx, dword [esp + 0x20]
add esp, 0xc
mov ecx, edi
jmp 0x422350
mov dword [esp + 0x20], 0x4af9ac
movzx ebp, word [0x4d4a40]
mov ecx, ebx
movzx eax, word [ecx]
test ax, ax
je 0x422491
lea esp, [esp]
cmp ax, bp
je 0x4224cf
movzx eax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x422480
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
push ecx
push ebx
push edx
call fcn.0040f170
add esp, 0xc
test eax, eax
jne 0x421f6e
mov ecx, dword [esp + 0xf8]
push 0x4af9ac
push str.Out_of_memory.
call fcn.0043a280
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe4
ret 8
cmp word [ecx], 0
je 0x422491
movzx eax, word [ecx + 2]
lea edi, [ecx + 2]
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x4224eb.99
movzx edx, byte [eax + 0x423298]
jmp dword [edx*4 + 0x423274]
mov eax, 7
mov word [edi], ax
jmp case.0x4224eb.99
mov edx, 8
jmp 0x422534
mov eax, 0xc
mov word [edi], ax
jmp case.0x4224eb.99
mov edx, 0xa
jmp 0x422534
mov eax, 0xd
mov word [edi], ax
jmp case.0x4224eb.99
mov edx, 9
jmp 0x422534
mov eax, 0xb
mov word [edi], ax
jmp case.0x4224eb.99
mov edx, 0x20
mov word [edi], dx
mov eax, edi
lea esi, [eax + 2]
lea esp, [esp]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x422540
sub eax, esi
sar eax, 1
lea eax, [eax + eax + 2]
push eax
push edi
push ecx
call fcn.0049a5c0
mov ebx, dword [esp + 0x20]
add esp, 0xc
mov ecx, edi
jmp 0x422471
mov eax, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe4
ret 8
push 0xffffffffffffffff
push edi
mov eax, 0x4b6c30
mov ecx, ebp
call fcn.0047f710
add esp, 8
test eax, eax
jne 0x422738
test ebx, ebx
je 0x422726
mov eax, str.EndChars
mov ecx, ebx
call fcn.0047fa20
test eax, eax
je 0x4226b5
mov ebx, 0x4b6c48
call fcn.004054da
test eax, eax
je 0x421f6e
push 0x64
add eax, 2
push eax
push str._____:____.___n__t
call fcn.0049c904
movzx ebx, word [0x4d4a40]
add esp, 0xc
xor eax, eax
mov word [0x4d4b10], ax
mov ecx, str._____:____.___n__t
lea ebx, [ebx]
movzx eax, word [ecx]
test ax, ax
je 0x421f6e
lea esp, [esp]
cmp ax, bx
je 0x422623
movzx eax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x422600
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe4
ret 8
cmp word [ecx], 0
je 0x421f6e
movzx eax, word [ecx + 2]
lea esi, [ecx + 2]
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x422643.99
movzx edx, byte [eax + 0x4232d4]
jmp dword [edx*4 + 0x4232b0]
mov eax, 7
jmp 0x422682
mov edx, 8
mov word [esi], dx
jmp case.0x422643.99
mov eax, 0xc
jmp 0x422682
mov edx, 0xa
mov word [esi], dx
jmp case.0x422643.99
mov eax, 0xd
jmp 0x422682
mov edx, 9
mov word [esi], dx
jmp case.0x422643.99
mov eax, 0xb
mov word [esi], ax
mov eax, esi
lea edi, [eax + 2]
lea ebx, [ebx]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x422690
sub eax, edi
sar eax, 1
lea edx, [eax + eax + 2]
push edx
push esi
push ecx
call fcn.0049a5c0
add esp, 0xc
mov ecx, esi
jmp 0x4225f0
push 7
push str.NoMouse
push ebx
call fcn.004999aa
add esp, 0xc
test eax, eax
jne 0x4226e0
mov byte [0x4d4a3b], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe4
ret 8
push 0x4d8ea5
push 0x4d8ea4
push 0x4d8ea3
push 0x4d4a3a
push 0x4d8ea0
push 0x4d8ea2
push 0x4d4a13
push 0x4d4a12
push 0x4d8ea1
push 0x4d4a44
push 0x4d8e9c
push 0x4d8e98
mov eax, ebx
call fcn.00412a50
add esp, 0x30
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe4
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.HotkeyModifierTimeout
mov ecx, ebp
call fcn.0047f710
add esp, 8
test eax, eax
jne 0x422770
test ebx, ebx
je 0x42275e
mov esi, ebx
call fcn.004141a0
mov dword [0x4d4a14], eax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe4
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.HotkeyInterval
mov ecx, ebp
call fcn.0047f710
add esp, 8
test eax, eax
jne 0x4227b7
test ebx, ebx
je 0x4227a5
mov esi, ebx
call fcn.004141a0
mov dword [0x4d4a30], eax
cmp eax, 0xa
jge 0x4227a5
mov dword [0x4d4a30], 0xa
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe4
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.MaxHotkeysPerInterval
mov ecx, ebp
call fcn.0047f710
add esp, 8
test eax, eax
jne 0x4227fe
test ebx, ebx
je 0x4227ec
mov esi, ebx
call fcn.004141a0
mov dword [0x4d4a2c], eax
cmp eax, 1
jge 0x4227ec
mov dword [0x4d4a2c], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe4
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.MaxThreadsPerHotkey
mov ecx, ebp
call fcn.0047f710
add esp, 8
test eax, eax
jne 0x422863
test ebx, ebx
je 0x422851
mov esi, ebx
call fcn.004141a0
cmp eax, 0xff
jle 0x422842
mov eax, 0xff
mov byte [0x4d44c3], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe4
ret 8
cmp eax, 1
jge 0x42284c
mov eax, 1
mov byte [0x4d44c3], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe4
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.MaxThreadsBuffer
mov ecx, ebp
call fcn.0047f710
add esp, 8
test eax, eax
jne 0x4228ad
test ebx, ebx
je 0x422894
push eax
mov esi, ebx
call fcn.0040eda0
add esp, 4
mov byte [0x4d8802], 0
cmp eax, 2
je 0x42289b
mov byte [0x4d8802], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe4
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.MaxThreads
mov ecx, ebp
call fcn.0047f710
add esp, 8
test eax, eax
jne 0x422912
test ebx, ebx
je 0x422900
mov esi, ebx
call fcn.004141a0
cmp eax, 0xff
jle 0x4228f1
mov eax, 0xff
mov dword [0x4d4a28], eax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe4
ret 8
cmp eax, 1
jge 0x4228fb
mov eax, 1
mov dword [0x4d4a28], eax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe4
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.ClipboardTimeout
mov ecx, ebp
call fcn.0047f710
add esp, 8
test eax, eax
jne 0x42294a
test ebx, ebx
je 0x422938
mov esi, ebx
call fcn.004141a0
mov dword [0x4d4a18], eax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe4
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.LTrim
mov ecx, ebp
call fcn.0047f710
add esp, 8
test eax, eax
jne 0x422994
test ebx, ebx
je 0x42297b
push eax
mov esi, ebx
call fcn.0040eda0
add esp, 4
mov byte [0x4d8ea6], 0
cmp eax, 2
je 0x422982
mov byte [0x4d8ea6], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe4
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.WinActivateForce
mov ecx, ebp
call fcn.0047f710
add esp, 8
test eax, eax
jne 0x4229c3
mov byte [0x4d87dc], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe4
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.ErrorStdOut
mov ecx, ebp
call fcn.0047f710
add esp, 8
test eax, eax
jne 0x422a06
mov esi, dword [esp + 0xf8]
mov eax, ebx
mov byte [esi + 0xae7], 1
call fcn.0041d180
mov dword [esi + 0xae8], eax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe4
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.MaxMem
mov ecx, ebp
call fcn.0047f710
add esp, 8
test eax, eax
jne 0x422a8c
test ebx, ebx
je 0x422a7a
mov esi, ebx
call fcn.0041a210
fld qword [0x4ced88]
fcom st(1)
fnstsw ax
test ah, 5
jnp 0x422a43
fstp st(0)
fld1
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x422a47
fstp st(1)
jmp 0x422a49
fstp st(0)
fld qword [0x4cec98]
fnstcw word [esp + 0x14]
movzx eax, word [esp + 0x14]
fmul st(1), st(0)
or eax, 0xc00
mov dword [esp + 0x18], eax
fmulp st(1)
fldcw word [esp + 0x18]
fistp qword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov dword [0x4d4a24], eax
fldcw word [esp + 0x14]
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe4
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.KeyHistory
mov ecx, ebp
call fcn.0047f710
add esp, 8
test eax, eax
jne 0x422af5
test ebx, ebx
je 0x422ae3
mov esi, ebx
call fcn.004141a0
mov dword [0x4d4a20], eax
test eax, eax
jns 0x422ad2
mov dword [0x4d4a20], 0
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe4
ret 8
cmp eax, 0x1f4
jle 0x422ae3
mov dword [0x4d4a20], 0x1f4
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe4
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.CommentFlag
mov ecx, ebp
call fcn.0047f710
add esp, 8
test eax, eax
jne 0x422be6
test ebx, ebx
je 0x422bd4
cmp word [ebx + 2], ax
jne 0x422b98
movzx eax, word [ebx]
cmp eax, 0x23
je 0x422eab
cmp ax, word [0x4d4a3c]
je 0x422eab
cmp ax, word [0x4d4a40]
je 0x422eab
cmp ax, word [0x4d4a38]
je 0x422eab
cmp eax, 0x21
je 0x422eab
cmp eax, 0x5e
je 0x422eab
cmp eax, 0x2b
je 0x422eab
cmp eax, 0x24
je 0x422eab
cmp eax, 0x7e
je 0x422eab
cmp eax, 0x2a
je 0x422eab
cmp eax, 0x3c
je 0x422eab
cmp eax, 0x3e
je 0x422eab
push 0xf
push ebx
push 0x4d44d0
call fcn.0049c904
add esp, 0xc
xor ecx, ecx
mov eax, 0x4d44d0
mov word [0x4d44ee], cx
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x422bc0
sub eax, edx
sar eax, 1
mov dword [0x4d44c4], eax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe4
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.EscapeChar
mov ecx, ebp
call fcn.0047f710
add esp, 8
test eax, eax
jne 0x422c61
test ebx, ebx
je 0x421f6e
movzx eax, word [ebx]
cmp eax, 0x23
je 0x422eab
cmp ax, word [0x4d4a3c]
je 0x422eab
cmp ax, word [0x4d4a38]
je 0x422eab
cmp eax, 0x2e
je 0x422eab
cmp dword [0x4d44c4], 1
jne 0x422c49
cmp ax, word [0x4d44d0]
je 0x422eab
mov word [0x4d4a40], ax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe4
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.DerefChar
mov ecx, ebp
call fcn.0047f710
add esp, 8
test eax, eax
jne 0x422cd3
test ebx, ebx
je 0x421f6e
movzx eax, word [ebx]
cmp ax, word [0x4d4a40]
je 0x422eab
cmp ax, word [0x4d4a38]
je 0x422eab
cmp eax, 0x2e
je 0x422eab
cmp dword [0x4d44c4], 1
jne 0x422cbb
cmp ax, word [0x4d44d0]
je 0x422eab
mov word [0x4d4a3c], ax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe4
ret 8
push 0xffffffffffffffff
push edi
mov eax, 0x4b6e14
mov ecx, ebp
call fcn.0047f710
add esp, 8
test eax, eax
jne 0x422d4e
test ebx, ebx
je 0x421f6e
movzx eax, word [ebx]
cmp eax, 0x23
je 0x422eab
cmp ax, word [0x4d4a40]
je 0x422eab
cmp ax, word [0x4d4a3c]
je 0x422eab
cmp eax, 0x2e
je 0x422eab
cmp dword [0x4d44c4], 1
jne 0x422d36
cmp ax, word [0x4d44d0]
je 0x422eab
mov word [0x4d4a38], ax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe4
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.MenuMaskKey
mov ecx, ebp
call fcn.0047f710
add esp, 8
test eax, eax
jne 0x422dcd
test ebx, ebx
je 0x422dad
push eax
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
push 0x4d44c1
xor ecx, ecx
mov edi, 0x4d4a10
mov edx, ebx
call fcn.004193d0
add esp, 4
test al, al
jne 0x421f6e
mov ecx, dword [esp + 0xf8]
mov eax, str.Parameter_1_invalid.
push ebp
push eax
call fcn.0043a280
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe4
ret 8
mov ecx, dword [esp + 0xf8]
mov eax, str.Parameter_1_required
push ebp
push eax
call fcn.0043a280
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe4
ret 8
push 0xffffffffffffffff
push edi
mov eax, str.InputLevel
mov ecx, ebp
call fcn.0047f710
add esp, 8
test eax, eax
jne 0x422e1a
test ebx, ebx
je 0x422e16
mov esi, ebx
call fcn.004141a0
test eax, eax
js 0x422eab
cmp eax, 0x64
jg 0x422eab
mov byte [0x4d8803], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe4
ret 8
xor eax, eax
jmp 0x422dff
push 0xffffffffffffffff
push edi
mov eax, str.Warn
mov ecx, ebp
call fcn.0047f710
add esp, 8
test eax, eax
jne 0x422f87
test ebx, ebx
jne 0x422e3d
mov ebx, 0x4af9ac
movzx edx, word [0x4d4a38]
push edx
push ebx
call fcn.0049a1b9
mov edi, eax
add esp, 8
mov esi, 0x4af9ac
mov dword [esp + 0x18], esi
test edi, edi
je 0x422e7b
lea eax, [edi + 2]
call fcn.0040ed00
mov esi, eax
lea eax, [edi - 2]
mov edx, ebx
mov dword [esp + 0x18], esi
call fcn.0040ed20
xor ecx, ecx
mov word [eax + 2], cx
cmp word [ebx], 0
mov edi, 6
je 0x422eca
xor edi, edi
jmp 0x422e90
mov edx, dword [edi*4 + 0x4b6e6c]
push edx
push ebx
call fcn.00499229
add esp, 8
test eax, eax
je 0x422eca
inc edi
cmp edi, 7
jne 0x422e90
mov ecx, dword [esp + 0xf8]
push ebp
push str.Parameter_1_invalid.
call fcn.0043a280
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe4
ret 8
cmp word [esi], 0
mov eax, 2
je 0x422f1c
mov ebx, dword [esp + 0x18]
xor esi, esi
jmp 0x422ee0
mov eax, dword [esi*4 + 0x4b6e88]
push eax
push ebx
call fcn.00499229
add esp, 8
test eax, eax
je 0x422f1a
inc esi
cmp esi, 4
jne 0x422ee0
mov ecx, dword [esp + 0xf8]
push ebx
push str.Parameter_2_invalid.
call fcn.0043a280
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe4
ret 8
mov eax, esi
test edi, edi
je 0x422f25
cmp edi, 6
jne 0x422f2a
mov dword [0x4d87e0], eax
cmp edi, 1
je 0x422f34
cmp edi, 6
jne 0x422f39
mov dword [0x4d87e4], eax
cmp edi, 3
je 0x422f43
cmp edi, 6
jne 0x422f48
mov dword [0x4d87e8], eax
cmp edi, 2
je 0x422f52
cmp edi, 6
jne 0x422f57
mov dword [0x4d87ec], eax
cmp edi, 4
je 0x422f61
cmp edi, 6
jne 0x422f66
mov dword [0x4d87f0], eax
cmp edi, 5
je 0x422f70
cmp edi, 6
jne 0x422f75
mov dword [0x4d87f4], eax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe4
ret 8
push 0xffffffffffffffff
push edi
mov eax, 0x4b6e98
mov ecx, ebp
call fcn.0047f710
add esp, 8
test eax, eax
jne 0x422569
test ebx, ebx
jne 0x422fc8
mov ecx, dword [esp + 0xf8]
push 0x4af9ac
push str.Parameter_1_required
call fcn.0043a280
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe4
ret 8
push 0xa
push 0x4afa84
push ebx
call fcn.004999aa
add esp, 0xc
test eax, eax
jne 0x423040
movzx eax, word [ebx + 0x14]
test ax, ax
je 0x421f6e
cmp eax, 0x20
je 0x422ff3
cmp eax, 9
jne 0x423040
lea eax, [ebx + 0x16]
call fcn.0040ed00
mov esi, eax
cmp word [esi], 0x76
jne 0x423006
add esi, 2
push 3
push 0x4b6eac
push esi
call fcn.0049bbb5
add esp, 0xc
test eax, eax
jne 0x423039
movzx eax, word [esi + 6]
test ax, ax
je 0x423028
cmp eax, 0x2e
jne 0x423039
push esi
call fcn.00481f00
add esp, 4
test eax, eax
jle 0x421f6e
mov eax, str.__but_you_have_v1.1.35.00
jmp 0x423045
mov eax, 0x4af9ac
push eax
push ebx
push str.This_script_requires__s_s.
mov esi, 0x64
lea edi, [esp + 0x34]
call fcn.0047f670
add esp, 0xc
push 0x4af9ac
mov ecx, edi
push ecx
mov ecx, dword [esp + 0x100]
call fcn.0043a280
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe4
ret 8
test ebx, ebx
jne 0x4230a1
mov ecx, dword [esp + 0xf8]
push ebp
push str.Parameter_1_required
call fcn.0043a280
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe4
ret 8
cmp word [ebx], 0x2a
jne 0x4231a1
movzx edi, word [ebx + 2]
test edi, 0xffffff80
jne 0x4230c9
push 2
push edi
call fcn.0049b1bc
add esp, 8
test eax, eax
je 0x4230c9
and edi, 0xffffffdf
cmp di, 0x49
jne 0x4231a1
movzx eax, word [ebx + 4]
cmp eax, 0x20
je 0x4230e5
cmp eax, 9
jne 0x4231a1
mov byte [esp + 0x20], 1
add ebx, 6
cmp word [ebx], 0x3c
jne 0x4231ab
push 0x3e
push ebx
call fcn.0049a1b9
mov edi, eax
add esp, 8
test edi, edi
je 0x4231ab
cmp word [edi + 2], 0
jne 0x4231ab
xor edx, edx
add ebx, 2
mov word [edi], dx
call fcn.0044b7e0
push 0
mov esi, eax
lea eax, [esp + 0x18]
push eax
mov edx, edi
lea ecx, [esp + 0x2f]
push ecx
mov ecx, dword [esp + 0x104]
sub edx, ebx
sar edx, 1
push edx
push ebx
call fcn.0042b0e0
test esi, esi
je 0x42315a
push esi
call dword [sym.imp.KERNEL32.DLL_SetCurrentDirectoryW]
push esi
call fcn.0049978d
add esp, 4
mov al, byte [esp + 0x27]
test al, al
jne 0x423176
cmp byte [esp + 0x14], al
jne 0x421f6e
cmp byte [esp + 0x20], al
jne 0x421f6e
mov ecx, 0x3e
mov word [edi], cx
test al, al
jne 0x4231ba
mov ecx, dword [esp + 0xf8]
push ebp
push str.Function_library_not_found.
call fcn.0043a280
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe4
ret 8
mov byte [esp + 0x20], 0
jmp 0x4230ed
push ebx
lea edx, [esp + 0x18]
push edx
call fcn.00439160
test eax, eax
jne 0x4231c9
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe4
ret 8
mov edi, dword [esp + 0x14]
push edi
call dword [sym.imp.KERNEL32.DLL_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x4231ff
test al, 0x10
je 0x4231ff
mov eax, edi
call fcn.0044b6c0
push edi
call fcn.0049978d
mov eax, 3
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe4
ret 8
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
push eax
push ecx
mov ecx, dword [esp + 0x100]
push edi
call fcn.0041f520
neg eax
sbb esi, esi
push edi
and esi, 3
call fcn.0049978d
add esp, 4
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0xe4
ret 8