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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x244
mov ax, word [0x4e3350]
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov esi, edi
mov word [esp + 0x40], ax
xor eax, eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x3c], 0x90020
mov word [esp + 0x42], ax
test edi, edi
je 0x42fc05
movzx eax, word [edi]
test ax, ax
je 0x42fc05
mov ebx, eax
lea ecx, [esp + 0x3c]
mov edx, 0x20
nop dword [eax]
cmp bx, dx
je 0x42fc9a
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
test ax, ax
jne 0x42fbe0
movzx eax, word [esi + 2]
add esi, 2
mov ebx, eax
test ax, ax
jne 0x42fbd0
mov ecx, edi
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42fc10
sub ecx, edx
sar ecx, 1
lea esi, [edi + ecx*2]
xor ebx, ebx
mov dword [esp + 0x24], ebx
sub esi, edi
mov byte [esp + 0x30], 0
sar esi, 1
mov edx, str.Include
push 0xffffffffffffffff
push esi
mov ecx, edi
call fcn.0049c2c0
add esp, 8
test eax, eax
je 0x430ac6
push 0xffffffffffffffff
push esi
mov edx, str.IncludeAgain
mov ecx, edi
call fcn.0049c2c0
add esp, 8
test eax, eax
sete byte [esp + 0x30]
test eax, eax
je 0x430ac6
push 0xffffffffffffffff
push esi
mov edx, str.NoEnv
mov ecx, edi
call fcn.0049c2c0
add esp, 8
test eax, eax
jne 0x42fcec
mov dword [0x4e3364], 1
mov eax, 3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ebx, esi
nop dword [eax]
movzx eax, word [ebx]
mov ecx, eax
cmp eax, 0x20
je 0x42fcaf
cmp eax, 9
jne 0x42fcb4
add ebx, 2
jmp 0x42fca0
mov dword [esp + 0x24], ebx
test ax, ax
je 0x42fc22
cmp cx, word [0x4e3350]
jne 0x42fc28
movzx eax, word [ebx + 2]
add ebx, 2
cmp eax, 0x20
je 0x42fcce
cmp eax, 9
je 0x42fcce
xor ecx, ecx
test ax, ax
cmove ebx, ecx
jmp 0x42fc24
push 0xffffffffffffffff
push esi
mov edx, str.NoTrayIcon
mov ecx, edi
call fcn.0049c2c0
add esp, 8
test eax, eax
jne 0x42fd17
mov byte [0x4e4c37], 1
mov eax, 3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0xffffffffffffffff
push esi
mov edx, str.Persistent
mov ecx, edi
call fcn.0049c2c0
add esp, 8
test eax, eax
jne 0x42fd42
mov byte [0x4e4ba9], 1
mov eax, 3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0xffffffffffffffff
push esi
mov edx, str.SingleInstance
mov ecx, edi
call fcn.0049c2c0
add esp, 8
test eax, eax
jne 0x42fded
mov dword [0x4e4bb8], 1
test ebx, ebx
je 0x42fc8c
mov esi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
push str.Force
push ebx
call esi
add esp, 8
test eax, eax
jne 0x42fd9b
mov dword [0x4e4bb8], 2
mov eax, 3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push str.Ignore
push ebx
call esi
add esp, 8
test eax, eax
jne 0x42fdc2
mov dword [0x4e4bb8], 3
mov eax, 3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0x4cefc8
push ebx
call esi
add esp, 8
test eax, eax
jne 0x42fc8c
mov dword [0x4e4bb8], 4
mov eax, 3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0xffffffffffffffff
push esi
mov edx, str.InstallKeybdHook
mov ecx, edi
call fcn.0049c2c0
add esp, 8
test eax, eax
jne 0x42fe18
or byte [0x4e567e], 1
mov eax, 3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0xffffffffffffffff
push esi
mov edx, str.InstallMouseHook
mov ecx, edi
call fcn.0049c2c0
add esp, 8
test eax, eax
jne 0x42fe43
or byte [0x4e567e], 2
mov eax, 3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0xffffffffffffffff
push esi
mov edx, str.UseHook
mov ecx, edi
call fcn.0049c2c0
add esp, 8
test eax, eax
jne 0x42fe95
test ebx, ebx
je 0x42fe80
xor edx, edx
mov ecx, ebx
call fcn.00413150
cmp eax, 2
jne 0x42fe80
xor al, al
mov byte [0x4e4c0f], al
mov eax, 3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov al, 1
mov byte [0x4e4c0f], al
mov eax, 3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0xffffffffffffffff
push esi
mov edx, 0x4cde70
mov ecx, edi
call fcn.0049c2c0
add esp, 8
test eax, eax
jne 0x42ff55
test ebx, ebx
je 0x430012
mov ecx, ebx
call fcn.004137e0
mov dword [0x4e5544], eax
test eax, eax
jne 0x42fc8c
mov eax, dword [0x4e211c]
mov edi, dword [esp + 0x14]
mov ecx, edi
push 0
push 0
mov esi, dword [eax + 0xb4]
push 0
push 0x4b8c14
push 0
push 0xe3
mov dword [eax + 0xb4], 0
push ebx
mov byte [edi + 0x21], 1
call fcn.004313a0
test eax, eax
je 0x430d95
mov eax, dword [0x4e211c]
mov byte [edi + 0x21], 0
mov dword [eax + 0xb4], esi
mov esi, dword [edi + 0x610]
call fcn.00413760
mov dword [0x4e5544], eax
test eax, eax
je 0x430d95
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], 0x4b8c14
mov eax, 3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0xffffffffffffffff
push esi
mov edx, str.IfTimeout
mov ecx, edi
call fcn.0049c2c0
add esp, 8
test eax, eax
jne 0x42ff8d
test ebx, ebx
je 0x42fc8c
mov ecx, ebx
call fcn.00404ab0
mov dword [0x4e3354], eax
mov eax, 3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 6
push str.IfWin
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x430154
mov esi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
lea eax, [edi + 0xc]
push 3
push 0x4cf164
push eax
call esi
add esp, 0xc
mov edx, 0x12
test eax, eax
sete cl
test eax, eax
mov byte [esp + 0x13], cl
mov ecx, 0xc
cmove ecx, edx
push 6
push str.Active
lea eax, [ecx + edi]
push eax
mov dword [esp + 0x3c], eax
call esi
add esp, 0xc
test eax, eax
jne 0x42fff0
mov al, 1
jmp 0x43000a
push 5
push str.Exist
push dword [esp + 0x38]
call esi
add esp, 0xc
test eax, eax
jne 0x430146
mov al, 3
add byte [esp + 0x13], al
test ebx, ebx
jne 0x43002a
mov dword [0x4e5544], 0
mov eax, 3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
xor ecx, ecx
mov esi, ebx
mov dword [esp + 0x18], ecx
movzx eax, word [esi]
mov edx, eax
test ax, ax
je 0x430078
mov ecx, eax
nop
movzx edx, cx
cmp cx, word [0x4e3348]
je 0x430074
movzx edx, cx
cmp cx, word [0x4e3350]
je 0x430074
movzx edx, cx
cmp cx, word [0x4e334c]
je 0x430074
movzx eax, word [esi + 2]
add esi, 2
mov ecx, eax
mov edx, eax
test ax, ax
jne 0x430040
mov ecx, dword [esp + 0x18]
test dx, dx
je 0x4300c4
cmp dx, word [0x4e334c]
je 0x4300ac
cmp dx, word [0x4e3350]
jne 0x43009e
test ecx, ecx
jne 0x4300ac
mov ecx, esi
add esi, 2
mov dword [esp + 0x18], ecx
jmp 0x430032
add esi, 2
cmp word [esi], 0
je 0x4300c4
add esi, 2
jmp 0x430032
mov ecx, dword [esp + 0x14]
push edi
push str.Literal_commas_and_percent_signs_must_be_escaped__e.g.____
call fcn.00447a20
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
test ecx, ecx
je 0x430102
lea esi, [ecx + 2]
nop dword [eax + eax]
movzx eax, word [esi]
cmp eax, 0x20
je 0x4300dd
cmp eax, 9
jne 0x4300e2
add esi, 2
jmp 0x4300d0
xor eax, eax
mov word [ecx], ax
sub ecx, ebx
sar ecx, 1
mov edx, ecx
mov ecx, ebx
call fcn.004262a0
push 1
mov ecx, esi
call fcn.0049e3e0
add esp, 4
jmp 0x430107
mov esi, 0x4b8c14
push 1
mov ecx, ebx
call fcn.0049e3e0
mov cl, byte [esp + 0x17]
add esp, 4
mov edx, ebx
push esi
call fcn.004134f0
add esp, 4
test eax, eax
jne 0x42fc8c
mov ecx, dword [esp + 0x14]
push 0x4b8c14
push 0x4ccaa4
call fcn.00447a20
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0xffffffffffffffff
push esi
mov edx, 0x4d2560
mov ecx, edi
call fcn.0049c2c0
add esp, 8
test eax, eax
jne 0x430250
test ebx, ebx
je 0x42fc8c
mov edx, str.EndChars
mov ecx, ebx
call fcn.0049c600
test eax, eax
je 0x4301d2
mov edx, 0x4d2578
mov ecx, eax
call fcn.00406460
test eax, eax
je 0x42fc8c
push 0x64
add eax, 2
push eax
push str._____:____.___n__t
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
add esp, 0xc
xor eax, eax
mov ecx, str._____:____.___n__t
mov word [0x4e3340], ax
push eax
call fcn.0049e3e0
mov eax, 3
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov esi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
push 7
push str.NoMouse
push ebx
call esi
add esp, 0xc
test eax, eax
jne 0x4301fc
mov byte [0x4e3274], al
mov eax, 3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0x4e4ba8
push 0x4e4c1f
push 0x4e4c22
push 0x4e3275
push 0x4e4c27
push 0x4e4c23
push 0x4e3276
push 0x4e3277
push 0x4e4c26
push 0x4e3344
push 0x4e4d58
mov edx, 0x4e4d5c
mov ecx, ebx
call fcn.00416530
add esp, 0x2c
mov eax, 3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0xffffffffffffffff
push esi
mov edx, str.HotkeyModifierTimeout
mov ecx, edi
call fcn.0049c2c0
add esp, 8
test eax, eax
jne 0x430288
test ebx, ebx
je 0x42fc8c
mov ecx, ebx
call fcn.00417020
mov dword [0x4e3368], eax
mov eax, 3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0xffffffffffffffff
push esi
mov edx, str.HotkeyInterval
mov ecx, edi
call fcn.0049c2c0
add esp, 8
test eax, eax
jne 0x4302d3
test ebx, ebx
je 0x42fc8c
mov ecx, ebx
call fcn.00417020
mov dword [0x4e3358], eax
cmp eax, 0xa
jge 0x42fc8c
mov dword [0x4e3358], 0xa
mov eax, 3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0xffffffffffffffff
push esi
mov edx, str.MaxHotkeysPerInterval
mov ecx, edi
call fcn.0049c2c0
add esp, 8
test eax, eax
jne 0x43031e
test ebx, ebx
je 0x42fc8c
mov ecx, ebx
call fcn.00417020
mov dword [0x4e335c], eax
cmp eax, 1
jge 0x42fc8c
mov dword [0x4e335c], 1
mov eax, 3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0xffffffffffffffff
push esi
mov edx, str.MaxThreadsPerHotkey
mov ecx, edi
call fcn.0049c2c0
add esp, 8
test eax, eax
jne 0x43037d
test ebx, ebx
je 0x42fc8c
mov ecx, ebx
call fcn.00417020
cmp eax, 0xff
jle 0x430362
mov eax, 0xff
mov byte [0x4e3342], al
mov eax, 3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, 1
cmp eax, ecx
cmovl eax, ecx
mov byte [0x4e3342], al
lea eax, [ecx + 2]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0xffffffffffffffff
push esi
mov edx, str.MaxThreadsBuffer
mov ecx, edi
call fcn.0049c2c0
add esp, 8
test eax, eax
jne 0x4303cf
test ebx, ebx
je 0x4303ba
xor edx, edx
mov ecx, ebx
call fcn.00413150
cmp eax, 2
jne 0x4303ba
xor al, al
mov byte [0x4e4c32], al
mov eax, 3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov al, 1
mov byte [0x4e4c32], al
mov eax, 3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0xffffffffffffffff
push esi
mov edx, str.MaxThreads
mov ecx, edi
call fcn.0049c2c0
add esp, 8
test eax, eax
jne 0x43042e
test ebx, ebx
je 0x42fc8c
mov ecx, ebx
call fcn.00417020
cmp eax, 0xff
jle 0x430413
mov eax, 0xff
mov dword [0x4e2118], eax
mov eax, 3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, 1
cmp eax, ecx
cmovl eax, ecx
mov dword [0x4e2118], eax
lea eax, [ecx + 2]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0xffffffffffffffff
push esi
mov edx, str.ClipboardTimeout
mov ecx, edi
call fcn.0049c2c0
add esp, 8
test eax, eax
jne 0x430466
test ebx, ebx
je 0x42fc8c
mov ecx, ebx
call fcn.00417020
mov dword [0x4e2124], eax
mov eax, 3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0xffffffffffffffff
push esi
mov edx, str.LTrim
mov ecx, edi
call fcn.0049c2c0
add esp, 8
test eax, eax
jne 0x4304b8
test ebx, ebx
je 0x4304a3
xor edx, edx
mov ecx, ebx
call fcn.00413150
cmp eax, 2
jne 0x4304a3
xor al, al
mov byte [0x4e4c1e], al
mov eax, 3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov al, 1
mov byte [0x4e4c1e], al
mov eax, 3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0xffffffffffffffff
push esi
mov edx, str.WinActivateForce
mov ecx, edi
call fcn.0049c2c0
add esp, 8
test eax, eax
jne 0x4304e3
mov byte [0x4e4c3b], 1
mov eax, 3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0xffffffffffffffff
push esi
mov edx, str.ErrorStdOut
mov ecx, edi
call fcn.0049c2c0
add esp, 8
test eax, eax
jne 0x430512
mov ebx, dword [esp + 0x14]
mov eax, 3
mov byte [ebx + 0xaf7], 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0xffffffffffffffff
push esi
mov edx, str.MaxMem
mov ecx, edi
call fcn.0049c2c0
add esp, 8
test eax, eax
jne 0x430577
test ebx, ebx
je 0x42fc8c
mov ecx, ebx
call fcn.00426370
movsd xmm1, qword [0x4db8c8]
maxsd xmm1, xmm0
movsd xmm0, qword [0x4db908]
minsd xmm0, xmm1
mulsd xmm0, qword [0x4db900]
mulsd xmm0, qword [0x4db900]
call fcn.004b7551
mov dword [0x4e3360], eax
mov eax, 3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0xffffffffffffffff
push esi
mov edx, str.KeyHistory
mov ecx, edi
call fcn.0049c2c0
add esp, 8
test eax, eax
jne 0x4305e0
test ebx, ebx
je 0x42fc8c
mov ecx, ebx
call fcn.00417020
mov dword [0x4e2120], eax
test eax, eax
jns 0x4305bd
mov dword [0x4e2120], 0
mov eax, 3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp eax, 0x1f4
jle 0x42fc8c
mov dword [0x4e2120], 0x1f4
mov eax, 3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0xffffffffffffffff
push esi
mov edx, str.CommentFlag
mov ecx, edi
call fcn.0049c2c0
add esp, 8
test eax, eax
jne 0x4306c7
test ebx, ebx
je 0x42fc8c
cmp word [ebx + 2], ax
jne 0x430683
movzx eax, word [ebx]
cmp eax, 0x23
je 0x4308b0
cmp ax, word [0x4e334c]
je 0x4308b0
cmp ax, word [0x4e3348]
je 0x4308b0
cmp ax, word [0x4e3350]
je 0x4308b0
cmp eax, 0x21
je 0x4308b0
cmp eax, 0x5e
je 0x4308b0
cmp eax, 0x2b
je 0x4308b0
cmp eax, 0x24
je 0x4308b0
cmp eax, 0x7e
je 0x4308b0
cmp eax, 0x2a
je 0x4308b0
cmp eax, 0x3c
je 0x4308b0
cmp eax, 0x3e
je 0x4308b0
push 0xf
push ebx
push 0x4e3b50
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
mov ecx, 0x4e3b50
add esp, 0xc
xor eax, eax
mov word [0x4e3b6e], ax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4306a4
sub ecx, edx
mov eax, 3
sar ecx, 1
mov dword [0x4e3b70], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0xffffffffffffffff
push esi
mov edx, str.EscapeChar
mov ecx, edi
call fcn.0049c2c0
add esp, 8
test eax, eax
jne 0x43073e
test ebx, ebx
je 0x42fc8c
movzx eax, word [ebx]
cmp eax, 0x23
je 0x4308b0
cmp ax, word [0x4e334c]
je 0x4308b0
cmp ax, word [0x4e3350]
je 0x4308b0
cmp eax, 0x2e
je 0x4308b0
cmp dword [0x4e3b70], 1
jne 0x43072a
cmp ax, word [0x4e3b50]
je 0x4308b0
mov word [0x4e3348], ax
mov eax, 3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0xffffffffffffffff
push esi
mov edx, str.DerefChar
mov ecx, edi
call fcn.0049c2c0
add esp, 8
test eax, eax
jne 0x4307ac
test ebx, ebx
je 0x42fc8c
movzx eax, word [ebx]
cmp ax, word [0x4e3348]
je 0x4308b0
cmp ax, word [0x4e3350]
je 0x4308b0
cmp eax, 0x2e
je 0x4308b0
cmp dword [0x4e3b70], 1
jne 0x430798
cmp ax, word [0x4e3b50]
je 0x4308b0
mov word [0x4e334c], ax
mov eax, 3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0xffffffffffffffff
push esi
mov edx, 0x4d2744
mov ecx, edi
call fcn.0049c2c0
add esp, 8
test eax, eax
jne 0x430823
test ebx, ebx
je 0x42fc8c
movzx eax, word [ebx]
cmp eax, 0x23
je 0x4308b0
cmp ax, word [0x4e3348]
je 0x4308b0
cmp ax, word [0x4e334c]
je 0x4308b0
cmp eax, 0x2e
je 0x4308b0
cmp dword [0x4e3b70], 1
jne 0x43080f
cmp ax, word [0x4e3b50]
je 0x4308b0
mov word [0x4e3350], ax
mov eax, 3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0xffffffffffffffff
push esi
mov edx, str.MenuMaskKey
mov ecx, edi
call fcn.0049c2c0
add esp, 8
test eax, eax
jne 0x430886
test ebx, ebx
je 0x430863
push eax
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
push eax
push 0
push 0x4e336c
mov edx, 0x4e334a
mov ecx, ebx
call fcn.0041bb90
add esp, 0xc
test al, al
jne 0x42fc8c
test ebx, ebx
mov ecx, str.Parameter_1_required
mov eax, str.Parameter_1_invalid.
cmove eax, ecx
mov ecx, dword [esp + 0x14]
push edi
push eax
call fcn.00447a20
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0xffffffffffffffff
push esi
mov edx, str.InputLevel
mov ecx, edi
call fcn.0049c2c0
add esp, 8
test eax, eax
jne 0x4308dd
test ebx, ebx
je 0x4308c8
mov ecx, ebx
call fcn.00417020
test eax, eax
js 0x4308b0
cmp eax, 0x64
jle 0x4308ca
mov ecx, dword [esp + 0x14]
push edi
push str.Parameter_1_invalid.
call fcn.00447a20
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
xor eax, eax
mov byte [0x4e4c2f], al
mov eax, 3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0xffffffffffffffff
push esi
mov edx, str.WarnContinuableException
mov ecx, edi
call fcn.0049c2c0
add esp, 8
test eax, eax
jne 0x430934
test ebx, ebx
je 0x43091f
push 0x4cefc8
push ebx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
add esp, 8
test eax, eax
jne 0x43091f
xor al, al
mov byte [0x4e3343], al
mov eax, 3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov al, 1
mov byte [0x4e3343], al
mov eax, 3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0xffffffffffffffff
push esi
mov edx, str.Warn
mov ecx, edi
call fcn.0049c2c0
add esp, 8
test eax, eax
jne 0x430a9a
movzx eax, word [0x4e3350]
test ebx, ebx
mov esi, 0x4b8c14
cmovne esi, ebx
push eax
push esi
mov dword [esp + 0x20], esi
call dword [sym.imp.VCRUNTIME140.dll_wcschr]
mov edx, eax
add esp, 8
mov ebx, 0x4b8c14
test edx, edx
je 0x4309a2
lea ebx, [edx + 2]
nop dword [eax]
movzx eax, word [ebx]
cmp eax, 0x20
je 0x43098d
cmp eax, 9
jne 0x430992
add ebx, 2
jmp 0x430980
add edx, 0xfffffffe
mov ecx, esi
call fcn.004130c0
xor ecx, ecx
mov word [eax + 2], cx
mov ecx, dword [esp + 0x18]
mov esi, 5
mov eax, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
cmp word [ecx], 0
je 0x4309f8
xor esi, esi
nop dword [eax + eax]
push dword [esi*4 + 0x4d649c]
push ecx
call eax
add esp, 8
test eax, eax
mov eax, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
je 0x4309f8
mov ecx, dword [esp + 0x18]
inc esi
cmp esi, 6
jne 0x4309c0
mov ecx, dword [esp + 0x14]
push edi
push str.Parameter_1_invalid.
call fcn.00447a20
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp word [ebx], 0
mov edi, 2
je 0x430a39
xor edi, edi
push dword [edi*4 + 0x4d648c]
push ebx
call eax
add esp, 8
test eax, eax
je 0x430a39
mov eax, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
inc edi
cmp edi, 4
jne 0x430a05
mov ecx, dword [esp + 0x14]
push ebx
push str.Parameter_2_invalid.
call fcn.00447a20
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
test esi, esi
je 0x430a42
cmp esi, 5
jne 0x430a48
mov dword [0x4e5558], edi
cmp esi, 1
je 0x430a52
cmp esi, 5
jne 0x430a58
mov dword [0x4e5554], edi
cmp esi, 3
je 0x430a62
cmp esi, 5
jne 0x430a68
mov dword [0x4e5550], edi
cmp esi, 2
je 0x430a72
cmp esi, 5
jne 0x430a78
mov dword [0x4e554c], edi
cmp esi, 4
je 0x430a86
cmp esi, 5
jne 0x42fc8c
mov dword [0x4e5548], edi
mov eax, 3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0xffffffffffffffff
push esi
mov edx, 0x4d27d0
mov ecx, edi
call fcn.0049c2c0
add esp, 8
test eax, eax
jne 0x430146
mov edx, edi
mov ecx, ebx
call fcn.0049e780
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
test ebx, ebx
jne 0x430ae2
mov ecx, dword [esp + 0x14]
push edi
push str.Parameter_1_required
call fcn.00447a20
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp word [ebx], 0x2a
jne 0x430b1c
mov cx, word [ebx + 2]
call fcn.00413070
cmp ax, 0x49
jne 0x430b1c
movzx ecx, word [ebx + 4]
add ebx, 4
mov byte [esp + 0x18], 1
mov eax, ecx
mov dword [esp + 0x24], ebx
cmp ecx, 0x20
je 0x430b13
cmp ecx, 9
jne 0x430b24
add ebx, 2
mov dword [esp + 0x24], ebx
jmp 0x430b21
mov byte [esp + 0x18], 0
movzx eax, word [ebx]
cmp ax, 0x3c
jne 0x430bdc
push 0x3e
push ebx
call dword [sym.imp.VCRUNTIME140.dll_wcschr]
mov esi, eax
add esp, 8
test esi, esi
je 0x430bdc
cmp word [esi + 2], 0
jne 0x430bdc
xor eax, eax
add ebx, 2
mov word [esi], ax
lea eax, [esp + 0x48]
push eax
push 0x103
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
test eax, eax
jne 0x430b70
mov word [esp + 0x48], ax
push 0
lea eax, [esp + 0x23]
push eax
lea eax, [esp + 0x1b]
push eax
mov eax, esi
sub eax, ebx
sar eax, 1
push eax
push ebx
mov ebx, dword [esp + 0x28]
mov ecx, ebx
call fcn.00438480
lea eax, [esp + 0x48]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov al, byte [esp + 0x13]
test al, al
jne 0x430bb6
cmp byte [esp + 0x1f], al
jne 0x42fc8c
cmp byte [esp + 0x18], al
jne 0x42fc8c
mov ecx, 0x3e
mov word [esi], cx
test al, al
jne 0x430d95
push edi
push str.Function_library_not_found.
mov ecx, ebx
call fcn.00447a20
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
xor edi, edi
xor eax, eax
mov dword [esp + 0x38], edi
mov edi, dword [esp + 0x28]
mov dword [esp + 0x2c], eax
nop dword [eax]
test eax, eax
je 0x430c1b
lea eax, [edi*2 + 2]
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov edx, eax
add esp, 4
mov dword [esp + 0x38], edx
test edx, edx
je 0x430d95
mov esi, edx
mov dword [esp + 0x20], esi
jmp 0x430c25
mov esi, dword [esp + 0x20]
xor edi, edi
mov dword [esp + 0x28], edi
movzx eax, word [ebx]
mov ecx, ebx
mov dword [esp + 0x34], ebx
test ax, ax
je 0x430d4b
mov bx, word [0x4e334c]
mov edx, eax
cmp dx, bx
jne 0x430d0b
lea eax, [ecx + 2]
mov esi, eax
mov dword [esp + 0x44], eax
movzx eax, word [esi]
mov edx, eax
test ax, ax
je 0x430c7c
mov ecx, eax
nop
movzx edx, cx
cmp cx, bx
je 0x430c78
movzx eax, word [esi + 2]
add esi, 2
mov ecx, eax
mov edx, eax
test ax, ax
jne 0x430c60
mov ecx, dword [esp + 0x34]
mov edi, esi
sub edi, ecx
sar edi, 1
dec edi
test dx, dx
je 0x430d0b
test edi, edi
je 0x430d0b
cmp edi, 0xfd
ja 0x430d0b
push edi
push dword [esp + 0x48]
lea eax, [esp + 0x50]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
add esp, 0xc
lea ecx, [esp + 0x48]
xor eax, eax
mov word [esp + edi*2 + 0x48], ax
call fcn.0043baa0
test eax, eax
je 0x430d00
cmp dword [esp + 0x2c], 0
lea ecx, [esp + 0x48]
mov eax, dword [eax + 4]
push ecx
je 0x430cea
mov edi, dword [esp + 0x24]
push edi
call eax
mov bx, word [0x4e334c]
add esp, 8
mov ecx, esi
lea edi, [edi + eax*2]
mov dword [esp + 0x20], edi
jmp 0x430d29
push 0
call eax
mov bx, word [0x4e334c]
add esp, 8
add dword [esp + 0x28], eax
mov ecx, esi
jmp 0x430d29
mov bx, word [0x4e334c]
mov ecx, dword [esp + 0x34]
cmp dword [esp + 0x2c], 0
je 0x430d25
mov esi, dword [esp + 0x20]
mov ax, word [ecx]
mov word [esi], ax
add esi, 2
mov dword [esp + 0x20], esi
jmp 0x430d2d
inc dword [esp + 0x28]
mov esi, dword [esp + 0x20]
movzx eax, word [ecx + 2]
add ecx, 2
mov dword [esp + 0x34], ecx
mov edx, eax
test ax, ax
jne 0x430c40
mov ebx, dword [esp + 0x24]
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
inc eax
mov dword [esp + 0x2c], eax
cmp eax, 2
jl 0x430bf0
mov edi, dword [esp + 0x38]
xor eax, eax
push edi
mov word [esi], ax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x430da0
test al, 0x10
je 0x430da0
mov ecx, edi
call fcn.00459560
push edi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, 3
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
push dword [esp + 0x34]
push edi
call fcn.0042d6b0
neg eax
push edi
sbb esi, esi
and esi, 3
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4