Function at 0x42fd90
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 [0x4e4330]
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 0x42fe05
movzx eax, word [edi]
test ax, ax
je 0x42fe05
mov ebx, eax
lea ecx, [esp + 0x3c]
mov edx, 0x20
nop dword [eax]
cmp bx, dx
je 0x42fe9a
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
test ax, ax
jne 0x42fde0
movzx eax, word [esi + 2]
add esi, 2
mov ebx, eax
test ax, ax
jne 0x42fdd0
mov ecx, edi
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42fe10
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.0049c6f0
add esp, 8
test eax, eax
je 0x430cc6
push 0xffffffffffffffff
push esi
mov edx, str.IncludeAgain
mov ecx, edi
call fcn.0049c6f0
add esp, 8
test eax, eax
sete byte [esp + 0x30]
test eax, eax
je 0x430cc6
push 0xffffffffffffffff
push esi
mov edx, str.NoEnv
mov ecx, edi
call fcn.0049c6f0
add esp, 8
test eax, eax
jne 0x42feec
mov dword [0x4e4344], 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 0x42feaf
cmp eax, 9
jne 0x42feb4
add ebx, 2
jmp 0x42fea0
mov dword [esp + 0x24], ebx
test ax, ax
je 0x42fe22
cmp cx, word [0x4e4330]
jne 0x42fe28
movzx eax, word [ebx + 2]
add ebx, 2
cmp eax, 0x20
je 0x42fece
cmp eax, 9
je 0x42fece
xor ecx, ecx
test ax, ax
cmove ebx, ecx
jmp 0x42fe24
push 0xffffffffffffffff
push esi
mov edx, str.NoTrayIcon
mov ecx, edi
call fcn.0049c6f0
add esp, 8
test eax, eax
jne 0x42ff17
mov byte [0x4e5c4b], 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.0049c6f0
add esp, 8
test eax, eax
jne 0x42ff42
mov byte [0x4e5bb9], 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.0049c6f0
add esp, 8
test eax, eax
jne 0x42ffed
mov dword [0x4e5bcc], 1
test ebx, ebx
je 0x42fe8c
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 0x42ff9b
mov dword [0x4e5bcc], 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 0x42ffc2
mov dword [0x4e5bcc], 3
mov eax, 3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0x4cffc8
push ebx
call esi
add esp, 8
test eax, eax
jne 0x42fe8c
mov dword [0x4e5bcc], 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.0049c6f0
add esp, 8
test eax, eax
jne 0x430018
or byte [0x4e657f], 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.0049c6f0
add esp, 8
test eax, eax
jne 0x430043
or byte [0x4e657f], 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.0049c6f0
add esp, 8
test eax, eax
jne 0x430095
test ebx, ebx
je 0x430080
xor edx, edx
mov ecx, ebx
call fcn.00413160
cmp eax, 2
jne 0x430080
xor al, al
mov byte [0x4e5c23], al
mov eax, 3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov al, 1
mov byte [0x4e5c23], al
mov eax, 3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0xffffffffffffffff
push esi
mov edx, 0x4cee70
mov ecx, edi
call fcn.0049c6f0
add esp, 8
test eax, eax
jne 0x430155
test ebx, ebx
je 0x430212
mov ecx, ebx
call fcn.004137f0
mov dword [0x4e6558], eax
test eax, eax
jne 0x42fe8c
mov eax, dword [0x4e30fc]
mov edi, dword [esp + 0x14]
mov ecx, edi
push 0
push 0
mov esi, dword [eax + 0xb4]
push 0
push 0x4b9c10
push 0
push 0xe3
mov dword [eax + 0xb4], 0
push ebx
mov byte [edi + 0x21], 1
call fcn.004315e0
test eax, eax
je 0x430f95
mov eax, dword [0x4e30fc]
mov byte [edi + 0x21], 0
mov dword [eax + 0xb4], esi
mov esi, dword [edi + 0x610]
call fcn.00413770
mov dword [0x4e6558], eax
test eax, eax
je 0x430f95
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], 0x4b9c10
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.0049c6f0
add esp, 8
test eax, eax
jne 0x43018d
test ebx, ebx
je 0x42fe8c
mov ecx, ebx
call fcn.00404b50
mov dword [0x4e4334], 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 0x430354
mov esi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
lea eax, [edi + 0xc]
push 3
push 0x4d0164
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 0x4301f0
mov al, 1
jmp 0x43020a
push 5
push str.Exist
push dword [esp + 0x38]
call esi
add esp, 0xc
test eax, eax
jne 0x430346
mov al, 3
add byte [esp + 0x13], al
test ebx, ebx
jne 0x43022a
mov dword [0x4e6558], 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 0x430278
mov ecx, eax
nop
movzx edx, cx
cmp cx, word [0x4e4328]
je 0x430274
movzx edx, cx
cmp cx, word [0x4e4330]
je 0x430274
movzx edx, cx
cmp cx, word [0x4e432c]
je 0x430274
movzx eax, word [esi + 2]
add esi, 2
mov ecx, eax
mov edx, eax
test ax, ax
jne 0x430240
mov ecx, dword [esp + 0x18]
test dx, dx
je 0x4302c4
cmp dx, word [0x4e432c]
je 0x4302ac
cmp dx, word [0x4e4330]
jne 0x43029e
test ecx, ecx
jne 0x4302ac
mov ecx, esi
add esi, 2
mov dword [esp + 0x18], ecx
jmp 0x430232
add esi, 2
cmp word [esi], 0
je 0x4302c4
add esi, 2
jmp 0x430232
mov ecx, dword [esp + 0x14]
push edi
push str.Literal_commas_and_percent_signs_must_be_escaped__e.g.____
call fcn.00447cc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
test ecx, ecx
je 0x430302
lea esi, [ecx + 2]
nop dword [eax + eax]
movzx eax, word [esi]
cmp eax, 0x20
je 0x4302dd
cmp eax, 9
jne 0x4302e2
add esi, 2
jmp 0x4302d0
xor eax, eax
mov word [ecx], ax
sub ecx, ebx
sar ecx, 1
mov edx, ecx
mov ecx, ebx
call fcn.00426470
push 1
mov ecx, esi
call fcn.0049e810
add esp, 4
jmp 0x430307
mov esi, 0x4b9c10
push 1
mov ecx, ebx
call fcn.0049e810
mov cl, byte [esp + 0x17]
add esp, 4
mov edx, ebx
push esi
call fcn.00413500
add esp, 4
test eax, eax
jne 0x42fe8c
mov ecx, dword [esp + 0x14]
push 0x4b9c10
push 0x4cdaa4
call fcn.00447cc0
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, 0x4d3560
mov ecx, edi
call fcn.0049c6f0
add esp, 8
test eax, eax
jne 0x430450
test ebx, ebx
je 0x42fe8c
mov edx, str.EndChars
mov ecx, ebx
call fcn.0049ca30
test eax, eax
je 0x4303d2
mov edx, 0x4d3578
mov ecx, eax
call fcn.00406300
test eax, eax
je 0x42fe8c
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 [0x4e4320], ax
push eax
call fcn.0049e810
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 0x4303fc
mov byte [0x4e4254], al
mov eax, 3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0x4e5bb8
push 0x4e5c33
push 0x4e5c36
push 0x4e4255
push 0x4e5c3b
push 0x4e5c37
push 0x4e4256
push 0x4e4257
push 0x4e5c3a
push 0x4e4324
push 0x4e5d6c
mov edx, 0x4e5d70
mov ecx, ebx
call fcn.004164c0
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.0049c6f0
add esp, 8
test eax, eax
jne 0x430488
test ebx, ebx
je 0x42fe8c
mov ecx, ebx
call fcn.00416fe0
mov dword [0x4e4348], 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.0049c6f0
add esp, 8
test eax, eax
jne 0x4304d3
test ebx, ebx
je 0x42fe8c
mov ecx, ebx
call fcn.00416fe0
mov dword [0x4e4338], eax
cmp eax, 0xa
jge 0x42fe8c
mov dword [0x4e4338], 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.0049c6f0
add esp, 8
test eax, eax
jne 0x43051e
test ebx, ebx
je 0x42fe8c
mov ecx, ebx
call fcn.00416fe0
mov dword [0x4e433c], eax
cmp eax, 1
jge 0x42fe8c
mov dword [0x4e433c], 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.0049c6f0
add esp, 8
test eax, eax
jne 0x43057d
test ebx, ebx
je 0x42fe8c
mov ecx, ebx
call fcn.00416fe0
cmp eax, 0xff
jle 0x430562
mov eax, 0xff
mov byte [0x4e4322], 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 [0x4e4322], 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.0049c6f0
add esp, 8
test eax, eax
jne 0x4305cf
test ebx, ebx
je 0x4305ba
xor edx, edx
mov ecx, ebx
call fcn.00413160
cmp eax, 2
jne 0x4305ba
xor al, al
mov byte [0x4e5c46], al
mov eax, 3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov al, 1
mov byte [0x4e5c46], 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.0049c6f0
add esp, 8
test eax, eax
jne 0x43062e
test ebx, ebx
je 0x42fe8c
mov ecx, ebx
call fcn.00416fe0
cmp eax, 0xff
jle 0x430613
mov eax, 0xff
mov dword [0x4e30f8], 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 [0x4e30f8], 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.0049c6f0
add esp, 8
test eax, eax
jne 0x430666
test ebx, ebx
je 0x42fe8c
mov ecx, ebx
call fcn.00416fe0
mov dword [0x4e3104], 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.0049c6f0
add esp, 8
test eax, eax
jne 0x4306b8
test ebx, ebx
je 0x4306a3
xor edx, edx
mov ecx, ebx
call fcn.00413160
cmp eax, 2
jne 0x4306a3
xor al, al
mov byte [0x4e5c32], al
mov eax, 3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov al, 1
mov byte [0x4e5c32], 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.0049c6f0
add esp, 8
test eax, eax
jne 0x4306e3
mov byte [0x4e5c52], 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.0049c6f0
add esp, 8
test eax, eax
jne 0x430712
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.0049c6f0
add esp, 8
test eax, eax
jne 0x430777
test ebx, ebx
je 0x42fe8c
mov ecx, ebx
call fcn.00426540
movsd xmm1, qword [0x4dcaa8]
maxsd xmm1, xmm0
movsd xmm0, qword [0x4dcae8]
minsd xmm0, xmm1
mulsd xmm0, qword [0x4dcae0]
mulsd xmm0, qword [0x4dcae0]
call fcn.004b77e1
mov dword [0x4e4340], 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.0049c6f0
add esp, 8
test eax, eax
jne 0x4307e0
test ebx, ebx
je 0x42fe8c
mov ecx, ebx
call fcn.00416fe0
mov dword [0x4e3100], eax
test eax, eax
jns 0x4307bd
mov dword [0x4e3100], 0
mov eax, 3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp eax, 0x1f4
jle 0x42fe8c
mov dword [0x4e3100], 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.0049c6f0
add esp, 8
test eax, eax
jne 0x4308c7
test ebx, ebx
je 0x42fe8c
cmp word [ebx + 2], ax
jne 0x430883
movzx eax, word [ebx]
cmp eax, 0x23
je 0x430ab0
cmp ax, word [0x4e432c]
je 0x430ab0
cmp ax, word [0x4e4328]
je 0x430ab0
cmp ax, word [0x4e4330]
je 0x430ab0
cmp eax, 0x21
je 0x430ab0
cmp eax, 0x5e
je 0x430ab0
cmp eax, 0x2b
je 0x430ab0
cmp eax, 0x24
je 0x430ab0
cmp eax, 0x7e
je 0x430ab0
cmp eax, 0x2a
je 0x430ab0
cmp eax, 0x3c
je 0x430ab0
cmp eax, 0x3e
je 0x430ab0
push 0xf
push ebx
push 0x4e4b30
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
mov ecx, 0x4e4b30
add esp, 0xc
xor eax, eax
mov word [0x4e4b4e], ax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4308a4
sub ecx, edx
mov eax, 3
sar ecx, 1
mov dword [0x4e4b50], 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.0049c6f0
add esp, 8
test eax, eax
jne 0x43093e
test ebx, ebx
je 0x42fe8c
movzx eax, word [ebx]
cmp eax, 0x23
je 0x430ab0
cmp ax, word [0x4e432c]
je 0x430ab0
cmp ax, word [0x4e4330]
je 0x430ab0
cmp eax, 0x2e
je 0x430ab0
cmp dword [0x4e4b50], 1
jne 0x43092a
cmp ax, word [0x4e4b30]
je 0x430ab0
mov word [0x4e4328], 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.0049c6f0
add esp, 8
test eax, eax
jne 0x4309ac
test ebx, ebx
je 0x42fe8c
movzx eax, word [ebx]
cmp ax, word [0x4e4328]
je 0x430ab0
cmp ax, word [0x4e4330]
je 0x430ab0
cmp eax, 0x2e
je 0x430ab0
cmp dword [0x4e4b50], 1
jne 0x430998
cmp ax, word [0x4e4b30]
je 0x430ab0
mov word [0x4e432c], ax
mov eax, 3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0xffffffffffffffff
push esi
mov edx, 0x4d3744
mov ecx, edi
call fcn.0049c6f0
add esp, 8
test eax, eax
jne 0x430a23
test ebx, ebx
je 0x42fe8c
movzx eax, word [ebx]
cmp eax, 0x23
je 0x430ab0
cmp ax, word [0x4e4328]
je 0x430ab0
cmp ax, word [0x4e432c]
je 0x430ab0
cmp eax, 0x2e
je 0x430ab0
cmp dword [0x4e4b50], 1
jne 0x430a0f
cmp ax, word [0x4e4b30]
je 0x430ab0
mov word [0x4e4330], 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.0049c6f0
add esp, 8
test eax, eax
jne 0x430a86
test ebx, ebx
je 0x430a63
push eax
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
push eax
push 0
push 0x4e434c
mov edx, 0x4e432a
mov ecx, ebx
call fcn.0041bbc0
add esp, 0xc
test al, al
jne 0x42fe8c
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.00447cc0
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.0049c6f0
add esp, 8
test eax, eax
jne 0x430add
test ebx, ebx
je 0x430ac8
mov ecx, ebx
call fcn.00416fe0
test eax, eax
js 0x430ab0
cmp eax, 0x64
jle 0x430aca
mov ecx, dword [esp + 0x14]
push edi
push str.Parameter_1_invalid.
call fcn.00447cc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
xor eax, eax
mov byte [0x4e5c43], 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.0049c6f0
add esp, 8
test eax, eax
jne 0x430b34
test ebx, ebx
je 0x430b1f
push 0x4cffc8
push ebx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
add esp, 8
test eax, eax
jne 0x430b1f
xor al, al
mov byte [0x4e4323], al
mov eax, 3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov al, 1
mov byte [0x4e4323], 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.0049c6f0
add esp, 8
test eax, eax
jne 0x430c9a
movzx eax, word [0x4e4330]
test ebx, ebx
mov esi, 0x4b9c10
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, 0x4b9c10
test edx, edx
je 0x430ba2
lea ebx, [edx + 2]
nop dword [eax]
movzx eax, word [ebx]
cmp eax, 0x20
je 0x430b8d
cmp eax, 9
jne 0x430b92
add ebx, 2
jmp 0x430b80
add edx, 0xfffffffe
mov ecx, esi
call fcn.004130d0
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 0x430bf8
xor esi, esi
nop dword [eax + eax]
push dword [esi*4 + 0x4d7494]
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 0x430bf8
mov ecx, dword [esp + 0x18]
inc esi
cmp esi, 6
jne 0x430bc0
mov ecx, dword [esp + 0x14]
push edi
push str.Parameter_1_invalid.
call fcn.00447cc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp word [ebx], 0
mov edi, 2
je 0x430c39
xor edi, edi
push dword [edi*4 + 0x4d7484]
push ebx
call eax
add esp, 8
test eax, eax
je 0x430c39
mov eax, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
inc edi
cmp edi, 4
jne 0x430c05
mov ecx, dword [esp + 0x14]
push ebx
push str.Parameter_2_invalid.
call fcn.00447cc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
test esi, esi
je 0x430c42
cmp esi, 5
jne 0x430c48
mov dword [0x4e656c], edi
cmp esi, 1
je 0x430c52
cmp esi, 5
jne 0x430c58
mov dword [0x4e6568], edi
cmp esi, 3
je 0x430c62
cmp esi, 5
jne 0x430c68
mov dword [0x4e6564], edi
cmp esi, 2
je 0x430c72
cmp esi, 5
jne 0x430c78
mov dword [0x4e6560], edi
cmp esi, 4
je 0x430c86
cmp esi, 5
jne 0x42fe8c
mov dword [0x4e655c], edi
mov eax, 3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0xffffffffffffffff
push esi
mov edx, 0x4d37d0
mov ecx, edi
call fcn.0049c6f0
add esp, 8
test eax, eax
jne 0x430346
mov edx, edi
mov ecx, ebx
call fcn.0049ebb0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
test ebx, ebx
jne 0x430ce2
mov ecx, dword [esp + 0x14]
push edi
push str.Parameter_1_required
call fcn.00447cc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp word [ebx], 0x2a
jne 0x430d1c
mov cx, word [ebx + 2]
call fcn.00413080
cmp ax, 0x49
jne 0x430d1c
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 0x430d13
cmp ecx, 9
jne 0x430d24
add ebx, 2
mov dword [esp + 0x24], ebx
jmp 0x430d21
mov byte [esp + 0x18], 0
movzx eax, word [ebx]
cmp ax, 0x3c
jne 0x430ddc
push 0x3e
push ebx
call dword [sym.imp.VCRUNTIME140.dll_wcschr]
mov esi, eax
add esp, 8
test esi, esi
je 0x430ddc
cmp word [esi + 2], 0
jne 0x430ddc
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 0x430d70
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.00438700
lea eax, [esp + 0x48]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov al, byte [esp + 0x13]
test al, al
jne 0x430db6
cmp byte [esp + 0x1f], al
jne 0x42fe8c
cmp byte [esp + 0x18], al
jne 0x42fe8c
mov ecx, 0x3e
mov word [esi], cx
test al, al
jne 0x430f95
push edi
push str.Function_library_not_found.
mov ecx, ebx
call fcn.00447cc0
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 0x430e1b
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 0x430f95
mov esi, edx
mov dword [esp + 0x20], esi
jmp 0x430e25
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 0x430f4b
mov bx, word [0x4e432c]
mov edx, eax
cmp dx, bx
jne 0x430f0b
lea eax, [ecx + 2]
mov esi, eax
mov dword [esp + 0x44], eax
movzx eax, word [esi]
mov edx, eax
test ax, ax
je 0x430e7c
mov ecx, eax
nop
movzx edx, cx
cmp cx, bx
je 0x430e78
movzx eax, word [esi + 2]
add esi, 2
mov ecx, eax
mov edx, eax
test ax, ax
jne 0x430e60
mov ecx, dword [esp + 0x34]
mov edi, esi
sub edi, ecx
sar edi, 1
dec edi
test dx, dx
je 0x430f0b
test edi, edi
je 0x430f0b
cmp edi, 0xfd
ja 0x430f0b
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.0043bd00
test eax, eax
je 0x430f00
cmp dword [esp + 0x2c], 0
lea ecx, [esp + 0x48]
mov eax, dword [eax + 4]
push ecx
je 0x430eea
mov edi, dword [esp + 0x24]
push edi
call eax
mov bx, word [0x4e432c]
add esp, 8
mov ecx, esi
lea edi, [edi + eax*2]
mov dword [esp + 0x20], edi
jmp 0x430f29
push 0
call eax
mov bx, word [0x4e432c]
add esp, 8
add dword [esp + 0x28], eax
mov ecx, esi
jmp 0x430f29
mov bx, word [0x4e432c]
mov ecx, dword [esp + 0x34]
cmp dword [esp + 0x2c], 0
je 0x430f25
mov esi, dword [esp + 0x20]
mov ax, word [ecx]
mov word [esi], ax
add esi, 2
mov dword [esp + 0x20], esi
jmp 0x430f2d
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 0x430e40
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 0x430df0
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 0x430fa0
test al, 0x10
je 0x430fa0
mov ecx, edi
call fcn.00459f10
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.0042d880
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