Function at 0x421200
Capabilities:
Accept command line arguments
Check if file exists
Check os version
Get common file path
Get comspec environment variable
Get file attributes
Get process heap flags
Query environment variable
Query or enumerate registry value
Set console window title
Set environment variable

Disassembly:
lea ecx, [esp + 4]
and esp, 0xfffffff0
mov eax, 0x4ce8
push dword [ecx - 4]
push ebp
mov ebp, esp
push edi
push esi
push ebx
push ecx
call fcn.004240d8
sub esp, eax
mov eax, dword [sym.imp.kernel32.dll_GetEnvironmentVariableW]
lea esi, [ebp - 0x4a20]
mov dword [ebp - 0x4cb8], 0
mov dword [esp + 8], 0x104
mov dword [esp + 4], esi
mov dword [esp], str.COMSPEC
mov dword [ebp - 0x4cd4], eax
call eax
mov ebx, eax
mov eax, dword [sym.imp.kernel32.dll_SetEnvironmentVariableW]
sub esp, 0xc
mov dword [ebp - 0x4ccc], eax
test ebx, ebx
je 0x421c60
mov dword [esp], 0
call dword [sym.imp.ucrtbase.dll__time32]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_srand]
lea eax, [ebp - 0x4c68]
mov dword [ebp - 0x4c68], 0x11c
mov dword [esp], eax
call dword [sym.imp.ntdll.dll_RtlGetVersion]
sub esp, 4
mov dword [esp], 0x407
call sym._WCMD_LoadMessage
xor edx, edx
movzx ecx, word [eax + edx]
add edx, 2
mov word [edx + 0x4372be], cx
test cx, cx
jne 0x4212a5
mov eax, dword [ebp - 0x4c5c]
lea ebx, [ebp - 0x4c9a]
mov dword [esp + 4], str._ld._ld._ld
mov dword [esp], ebx
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x4c60]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x4c64]
mov dword [esp + 8], eax
call sym._sprintf.constprop.10
mov dword [esp], 0x409
call sym._WCMD_LoadMessage
mov dword [esp + 4], ebx
mov dword [esp], eax
call dbg.WCMD_format_string
xor edx, edx
lea esi, [esi]
lea esi, [esi]
movzx ecx, word [eax + edx]
add edx, 2
mov word [edx + 0x4371de], cx
test cx, cx
jne 0x421310
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_LocalFree]
sub esp, 4
call dword [sym.imp.kernel32.dll_GetCommandLineW]
mov ebx, eax
test byte [0x425038], 8
jne 0x421ba0
movzx eax, word [ebx]
cmp ax, 0x2f
je 0x421363
test ax, ax
je 0x421363
add ebx, 2
movzx eax, word [ebx]
test ax, ax
je 0x421363
cmp ax, 0x2f
jne 0x421352
mov dword [0x42f100], 0
mov dword [0x42f104], 0
mov dword [0x42f108], 0
test ax, ax
je 0x4229e8
mov dword [ebp - 0x4cd0], 0
mov edi, dword [sym.imp.ucrtbase.dll_towlower]
xor esi, esi
lea esi, [esi]
movzx edx, word [ebx + 2]
cmp ax, 0x2f
jne 0x421814
mov dword [esp], edx
call edi
sub eax, 0x61
cmp ax, 0x15
ja case.0x4213bf.1
movzx eax, ax
jmp dword [eax*4 + 0x4294ac]
cmp word [ebx + 4], 0x3a
je 0x4221c3
lea esi, [esi]
nop
mov eax, dword [0x42f108]
or eax, dword [0x42f104]
jne 0x4215eb
movzx eax, word [ebx + 2]
add ebx, 2
test ax, ax
jne 0x4213a0
mov edi, ebx
test esi, esi
jne 0x42162b
mov dword [esp + 4], str._P_G
mov eax, dword [ebp - 0x4ccc]
mov dword [0x4372a8], 0
mov dword [esp], 0x428976
call eax
mov eax, dword [0x42f108]
sub esp, 8
or eax, dword [0x42f104]
jne 0x421670
mov dword [ebp - 0x4cc4], 0
lea edi, [ebp - 0x4818]
mov dword [esp + 4], edi
mov dword [esp], 0x400
call dword [sym.imp.kernel32.dll_GetCurrentDirectoryW]
movzx eax, word [ebp - 0x4818]
sub esp, 8
mov dword [esp], eax
call sym._IsCharAlphaW_4
sub esp, 4
test eax, eax
je 0x421484
cmp word [ebp - 0x4816], 0x3a
je 0x4222e3
mov esi, dword [0x42f108]
test esi, esi
jne 0x421a72
lea eax, [ebp - 0x4018]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_GetStartupInfoW]
mov eax, dword [ebp - 0x400c]
sub esp, 4
test eax, eax
je 0x422090
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_SetConsoleTitleW]
mov edi, dword [ebp - 0x4cd0]
sub esp, 4
test edi, edi
je 0x421cc3
mov eax, edi
sar eax, 4
xor eax, edi
test al, 0xf
jne 0x4221e9
mov eax, dword [0x42f104]
test eax, eax
jne 0x421b00
mov dword [0x4372a8], 1
lea ebx, [ebp - 0x4cb8]
call dbg.WCMD_version
mov eax, 1
mov edi, dword [sym.imp.kernel32.dll_GetStdHandle]
jmp 0x42157b
mov dword [esp], 0xfffffff6
call edi
sub esp, 4
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov dword [esp], 0
call dbg.WCMD_ReadAndParseLine
test eax, eax
je 0x421af2
mov eax, dword [ebp - 0x4cb8]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call dbg.WCMD_process_commands
mov eax, dword [ebp - 0x4cb8]
mov dword [esp], eax
call dbg.WCMD_free_commands
mov edx, dword [ebp - 0x4cb8]
xor eax, eax
mov dword [ebp - 0x4cb8], 0
test edx, edx
setne al
mov ecx, dword [0x425030]
test ecx, ecx
je 0x421510
call dbg.WCMD_show_prompt
jmp 0x421510
mov dword [0x42f0fc], 1
jmp case.0x4213bf.1
cmp word [ebx + 4], 0x3a
jne case.0x4213bf.1
lea eax, [ebx + 6]
mov dword [esp + 8], 0x10
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_wcstoul]
mov dword [ebp - 0x4cd0], eax
jmp case.0x4213bf.1
mov dword [0x42f100], 1
jmp case.0x4213bf.1
mov dword [0x42f108], 1
movzx eax, word [ebx + 4]
lea edi, [ebx + 4]
test ax, ax
je 0x4213ff
mov ebx, dword [sym.imp.ucrtbase.dll_wcschr]
jmp 0x421612
add edi, 2
movzx eax, word [edi]
test ax, ax
je 0x4213ff
mov dword [esp + 4], eax
mov dword [esp], str.__t__
call ebx
test eax, eax
jne 0x421603
test esi, esi
je 0x421407
mov dword [esp], 0x429396
call dbg.WCMD_echo
jmp 0x421407
mov dword [0x42f0fc], 0
jmp case.0x4213bf.1
mov esi, 1
jmp case.0x4213bf.1
mov dword [0x42f104], 1
jmp 0x4215eb
cmp word [edi], 0
je 0x42240e
mov eax, edi
lea esi, [esi]
add eax, 2
cmp word [eax], 0
jne 0x421680
sub eax, edi
sar eax, 1
lea ebx, [eax + eax + 2]
mov dword [esp], ebx
call dbg.heap_xalloc
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], eax
mov dword [ebp - 0x4cc4], eax
call sym._memcpy
mov ebx, dword [0x42f100]
test ebx, ebx
je 0x421820
test byte [0x425038], 8
jne 0x4218a4
lea esi, [esi]
mov edx, dword [0x42f100]
test edx, edx
jne 0x421a49
mov eax, dword [ebp - 0x4cc4]
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call sym._WCMD_parameter
mov dword [esp + 8], 0x2000
mov esi, eax
lea eax, [ebp - 0x4018]
mov dword [esp], 0x429040
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x4cd4]
call eax
sub eax, 1
sub esp, 0xc
cmp eax, 0x1ffe
jbe 0x42175c
xor eax, eax
mov edx, 0x2e
jmp 0x42174c
movzx edx, word [eax + str..bat_.com_.cmd_.exe]
mov word [ebp + eax - 0x4018], dx
add eax, 2
test dx, dx
jne 0x421745
lea edi, [ebp - 0x4818]
test byte [0x425038], 8
jne 0x421d9f
mov dword [esp + 4], 0x5c
mov ebx, dword [sym.imp.ucrtbase.dll_wcschr]
mov dword [esp], esi
call ebx
test eax, eax
je 0x421f61
mov dword [esp], esi
mov dword [esp + 0xc], 0
mov dword [esp + 8], edi
mov dword [esp + 4], 0x400
call sym._WCMD_get_fullpath
mov esi, eax
test eax, eax
je 0x421af2
test byte [0x425038], 8
jne 0x422cb7
cmp word [ebp - 0x4818], 0
mov esi, edi
je 0x4217d9
lea esi, [esi]
add esi, 2
cmp word [esi], 0
jne 0x4217d0
mov eax, dword [sym.imp.kernel32.dll_GetFileAttributesW]
mov dword [esp], edi
mov dword [ebp - 0x4cc8], eax
call eax
sub esp, 4
cmp eax, 0xffffffff
je 0x4229f9
test byte [0x425038], 8
jne 0x422545
mov eax, dword [0x42f100]
test eax, eax
je 0x42144c
jmp 0x421a4f
mov eax, edx
jmp 0x4213f5
mov dword [esp + 4], 0x22
mov esi, dword [sym.imp.ucrtbase.dll_wcschr]
mov dword [esp], edi
call esi
mov ebx, eax
test eax, eax
je 0x42188d
mov ecx, dword [0x42f100]
test ecx, ecx
jne 0x4216bd
lea edi, [eax + 2]
mov dword [esp + 4], 0x22
mov dword [esp], edi
call esi
mov dword [ebp - 0x4cc8], eax
test eax, eax
je 0x42188d
mov edx, dword [0x42f100]
test edx, edx
jne 0x4216bd
mov eax, dword [ebp - 0x4cc8]
mov dword [esp + 4], 0x22
add eax, 2
mov dword [esp], eax
call esi
test eax, eax
je 0x42196a
mov dword [0x42f100], 1
test byte [0x425038], 8
je 0x4216d0
mov eax, dword [ebp - 0x4cc4]
shr eax, 0x10
je 0x422418
mov edi, dword [ebp - 0x4cc4]
mov dword [esp + 4], 0xffffffff
mov dword [esp], edi
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov esi, eax
sub esp, 8
mov eax, str._invalid_
test esi, esi
jne 0x4220f3
cmp word [edi], 0
je 0x4218ee
mov eax, edi
add esi, 1
cmp word [eax + esi*2], 0
jne 0x4218e4
mov ecx, dword [ebp - 0x4cc4]
mov eax, 0x224c
lea edx, [ebp - 0x4016]
lea edi, [ebp - 0x3ef6]
mov word [ebp - 0x4018], ax
mov dword [ebp - 0x4cbc], ecx
lea ebx, [esi - 1]
cmp edx, edi
ja 0x4220c8
test esi, esi
jle 0x4220c8
add dword [ebp - 0x4cbc], 2
mov eax, dword [ebp - 0x4cbc]
movzx eax, word [eax - 2]
cmp ax, 0xd
je 0x4222b3
ja 0x4220a1
cmp ax, 9
je 0x4222a0
cmp ax, 0xa
jne 0x422240
mov eax, 0x6e5c
add edx, 2
mov esi, ebx
mov word [edx - 2], ax
jmp 0x421912
mov eax, dword [0x42f100]
test eax, eax
jne 0x4216bd
mov dword [0x42f100], 1
cmp ebx, dword [ebp - 0x4cc8]
je 0x4216bd
movzx eax, word [ebx]
xor edx, edx
lea ecx, [eax - 0x26]
cmp cx, 0x1a
jbe 0x421d50
cmp ax, 0x7c
sete cl
cmp ax, 0x5e
sete bl
or ecx, ebx
or cl, dl
jne 0x421a32
xor ebx, ebx
mov esi, 1
mov byte [ebp - 0x4cbc], bl
jmp 0x4219c9
test dl, dl
jne 0x421a32
add edi, 2
cmp ax, 0x20
movzx ecx, byte [ebp - 0x4cbc]
sete dl
cmp ax, 9
sete al
or al, dl
cmovne ecx, eax
mov eax, 0
cmovne esi, eax
mov byte [ebp - 0x4cbc], cl
cmp dword [ebp - 0x4cc8], edi
je 0x422935
movzx eax, word [edi]
xor edx, edx
lea ecx, [eax - 0x26]
cmp cx, 0x1a
ja 0x421a15
mov edx, 0x540000d
shr edx, cl
and edx, 1
cmp ax, 0x7c
sete byte [ebp - 0x4cc0]
cmp ax, 0x5e
movzx ebx, byte [ebp - 0x4cc0]
sete cl
or bl, cl
je 0x4219c2
mov dword [0x42f100], 1
test byte [0x425038], 8
jne 0x4218a4
lea edi, [ebp - 0x4818]
mov eax, dword [ebp - 0x4cc4]
cmp word [eax], 0x22
jne 0x42144c
mov eax, dword [ebp - 0x4cc4]
mov dword [esp], eax
call dbg.WCMD_strip_quotes
jmp 0x42144c
mov esi, dword [ebp - 0x4cc4]
lea eax, [ebp - 0x4cb8]
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], eax
mov dword [esp], esi
call dbg.WCMD_ReadAndParseLine
mov eax, dword [ebp - 0x4cb8]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call dbg.WCMD_process_commands
mov eax, dword [ebp - 0x4cb8]
mov dword [esp], eax
call dbg.WCMD_free_commands
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov eax, dword fs:[0x18]
mov dword [ebp - 0x4cb8], 0
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapFree]
mov esi, dword [0x437470]
sub esp, 0xc
lea esp, [ebp - 0x10]
mov eax, esi
pop ecx
pop ebx
pop esi
pop edi
pop ebp
lea esp, [ecx - 4]
ret
mov edi, dword [ebp - 0x4cc4]
lea ebx, [ebp - 0x4cb8]
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], ebx
mov dword [esp], edi
call dbg.WCMD_ReadAndParseLine
mov eax, dword [ebp - 0x4cb8]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call dbg.WCMD_process_commands
mov eax, dword [ebp - 0x4cb8]
mov dword [esp], eax
call dbg.WCMD_free_commands
mov dword [esp + 8], edi
mov dword [esp + 4], 0
mov eax, dword fs:[0x18]
mov dword [ebp - 0x4cb8], 0
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapFree]
mov edi, dword [0x42f104]
mov dword [0x4372a8], 1
sub esp, 0xc
test edi, edi
jne 0x4214fd
jmp 0x4214f8
test eax, eax
je 0x422434
shr eax, 0x10
je 0x421d5f
mov dword [esp + 4], 0xffffffff
mov dword [esp], ebx
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov edi, eax
sub esp, 8
mov eax, str._invalid_
test edi, edi
jne 0x421d72
cmp word [ebx], 0
je 0x421bea
lea esi, [esi]
add edi, 1
cmp word [ebx + edi*2], 0
jne 0x421be0
mov eax, 0x224c
mov dword [ebp - 0x4cbc], ebx
mov ecx, ebx
lea edx, [ebp - 0x4016]
mov word [ebp - 0x4018], ax
lea esi, [edi - 1]
test edi, edi
jle 0x422207
lea eax, [ebp - 0x3ef6]
cmp edx, eax
ja 0x422207
add ecx, 2
movzx eax, word [ecx - 2]
cmp ax, 0xd
je 0x422133
ja 0x422060
cmp ax, 9
je 0x422120
cmp ax, 0xa
jne 0x422150
mov eax, 0x6e5c
add edx, 2
mov edi, esi
mov word [edx - 2], ax
jmp 0x421c04
mov dword [esp + 4], 0xfb
mov dword [esp], esi
call dword [sym.imp.kernel32.dll_GetSystemDirectoryW]
mov eax, esi
sub esp, 8
cmp word [ebp - 0x4a20], 0
je 0x421c89
add eax, 2
cmp word [eax], 0
jne 0x421c80
mov edx, 0x5c
jmp 0x421c97
movzx edx, word [ebx + str.cmd.exe]
mov word [eax + ebx], dx
add ebx, 2
test dx, dx
jne 0x421c90
mov eax, dword [sym.imp.kernel32.dll_SetEnvironmentVariableW]
mov dword [esp + 4], esi
mov dword [esp], str.COMSPEC
mov dword [ebp - 0x4ccc], eax
call eax
sub esp, 8
jmp 0x421265
lea ebx, [ebp - 0x4cb4]
mov dword [esp + 0xc], 0x20019
mov dword [esp + 0x10], ebx
mov dword [esp + 8], 0
mov dword [esp + 4], global_regKeyW
mov dword [esp], 0x80000001
mov dword [ebp - 0x4cac], 0
mov dword [ebp - 0x4ca8], 4
call sym._RegOpenKeyExW_20
sub esp, 0x14
test eax, eax
je 0x421e92
mov eax, dword [ebp - 0x4cac]
test eax, eax
je 0x421e54
mov edx, eax
shr edx, 4
xor edx, eax
and edx, 0xf
je 0x4214db
and eax, 0xff
mov dword [0x425034], eax
xor eax, eax
mov word [0x4331e0], ax
call dbg.WCMD_color
jmp 0x4214db
mov edx, 0x540000d
shr edx, cl
and edx, 1
jmp 0x42199f
movzx eax, bx
mov dword [esp], str._04x
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf.constprop.8
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.Full_commandline__s_n
mov dword [esp + 8], global___func__.9
mov dword [esp + 4], 0x425038
mov dword [esp], 3
call sym._wine_dbg_log.constprop.11
jmp 0x421344
test esi, esi
je 0x4233d0
mov eax, esi
shr eax, 0x10
je 0x4225ef
mov dword [esp + 4], 0xffffffff
mov dword [esp], esi
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov ecx, eax
sub esp, 8
mov eax, str._invalid_
test ecx, ecx
jne 0x422602
cmp word [esi], 0
je 0x421dea
lea esi, [esi]
nop
add ecx, 1
cmp word [esi + ecx*2], 0
jne 0x421de0
mov eax, 0x224c
mov ebx, esi
lea edx, [ebp - 0x4816]
mov word [ebp - 0x4818], ax
nop
lea edi, [ecx - 1]
test ecx, ecx
jle 0x422fe1
lea eax, [ebp - 0x46f6]
cmp edx, eax
ja 0x422fe1
add ebx, 2
movzx eax, word [ebx - 2]
cmp ax, 0xd
je 0x42294f
ja 0x42262f
cmp ax, 9
je 0x4229c2
cmp ax, 0xa
jne 0x422962
mov eax, 0x6e5c
add edx, 2
mov ecx, edi
mov word [edx - 2], ax
jmp 0x421e00
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], 0x20019
mov dword [esp + 8], 0
mov dword [esp + 4], global_regKeyW
mov dword [esp], 0x80000002
call sym._RegOpenKeyExW_20
sub esp, 0x14
test eax, eax
je 0x4224d4
mov eax, dword [ebp - 0x4cac]
jmp 0x421d1e
lea eax, [ebp - 0x4cb0]
mov dword [esp + 0x14], 0
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x4cb4]
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
mov dword [esp + 4], str.DefaultColor
mov dword [esp], eax
call sym._RegQueryValueExW_24
sub esp, 0x18
test eax, eax
jne 0x421f4b
mov edx, dword [ebp - 0x4cb0]
mov eax, dword [ebp - 0x4cb4]
cmp edx, 4
je 0x423526
cmp edx, 1
jne 0x421f51
lea edx, [ebp - 0x4ca8]
lea edi, [ebp - 0x4b4c]
mov dword [esp + 0xc], 0
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], edi
mov dword [esp + 8], 0
mov dword [esp + 4], str.DefaultColor
mov dword [esp], eax
mov dword [ebp - 0x4ca8], 8
call sym._RegQueryValueExW_24
sub esp, 0x18
mov dword [esp + 8], 0xa
mov dword [esp + 4], 0
mov dword [esp], edi
call dword [sym.imp.ucrtbase.dll_wcstoul]
mov dword [ebp - 0x4cac], eax
mov eax, dword [ebp - 0x4cb4]
mov dword [esp], eax
call sym._RegCloseKey_4
sub esp, 4
jmp 0x421d10
mov eax, dword [sym.imp.kernel32.dll_SearchPathW]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], 0x400
mov dword [esp + 8], 0
mov dword [esp + 4], esi
mov dword [esp], 0
mov dword [ebp - 0x4cc0], eax
call eax
sub esp, 0x18
test eax, eax
je 0x42244a
test byte [0x425038], 8
je 0x421802
mov eax, edi
shr eax, 0x10
je 0x42363f
mov dword [esp + 4], 0xffffffff
mov dword [esp], edi
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov ecx, eax
sub esp, 8
mov eax, str._invalid_
test ecx, ecx
jne 0x423470
cmp word [ebp - 0x4818], 0
je 0x421fef
add ecx, 1
cmp word [edi + ecx*2], 0
jne 0x421fe5
mov eax, 0x224c
lea edx, [ebp - 0x4b4a]
mov ebx, edi
mov word [ebp - 0x4b4c], ax
lea esi, [ecx - 1]
test ecx, ecx
jle 0x423445
lea eax, [ebp - 0x4a2a]
cmp edx, eax
ja 0x423445
add ebx, 2
movzx eax, word [ebx - 2]
cmp ax, 0xd
je 0x42361c
ja 0x42290e
cmp ax, 9
je 0x423609
cmp ax, 0xa
jne 0x4235a9
mov eax, 0x6e5c
add edx, 2
mov ecx, esi
mov word [edx - 2], ax
jmp 0x422003
cmp ax, 0x22
je 0x4221b0
cmp ax, 0x5c
jne 0x422150
mov edi, 0x5c5c
add edx, 2
mov word [edx - 2], di
mov edi, esi
jmp 0x421c04
mov dword [esp], 0x408
call sym._WCMD_LoadMessage
jmp 0x4214b2
cmp ax, 0x22
je 0x4222d0
cmp ax, 0x5c
jne 0x422240
mov esi, 0x5c5c
add edx, 2
mov word [edx - 2], si
mov esi, ebx
jmp 0x421912
mov byte [edx], 0x22
lea eax, [edx + 1]
test ebx, ebx
jle 0x4220e2
mov ecx, 0x2e2e
mov byte [edx + 3], 0x2e
lea eax, [edx + 4]
mov word [edx + 1], cx
mov byte [eax], 0
lea eax, [ebp - 0x4018]
mov dword [esp], eax
call dbg.__wine_dbg_strdup
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str._c_command_line:__s_n
mov dword [esp + 8], global___func__.9
mov dword [esp + 4], 0x425038
mov dword [esp], 3
call sym._wine_dbg_log.constprop.11
jmp 0x4216d0
mov eax, 0x745c
add edx, 2
mov edi, esi
mov word [edx - 2], ax
jmp 0x421c04
mov eax, 0x725c
add edx, 2
mov edi, esi
mov word [edx - 2], ax
jmp 0x421c04
lea edi, [eax - 0x20]
cmp di, 0x5e
jbe 0x422402
mov edi, eax
mov byte [edx], 0x5c
add edx, 5
shr di, 0xc
movzx edi, di
movzx ebx, byte [edi + str.0123456789abcdefWCMD_output]
mov edi, eax
shr di, 8
and edi, 0xf
mov byte [edx - 4], bl
movzx ebx, byte [edi + str.0123456789abcdefWCMD_output]
mov edi, eax
and eax, 0xf
shr di, 4
movzx eax, byte [eax + str.0123456789abcdefWCMD_output]
and edi, 0xf
mov byte [edx - 3], bl
movzx ebx, byte [edi + str.0123456789abcdefWCMD_output]
mov byte [edx - 1], al
mov edi, esi
mov byte [edx - 2], bl
jmp 0x421c04
mov eax, 0x225c
add edx, 2
mov edi, esi
mov word [edx - 2], ax
jmp 0x421c04
lea eax, [ebx + 6]
mov dword [esp + 8], 3
mov dword [esp + 4], 0x429396
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll__wcsnicmp]
mov dword [0x42e0c0], eax
jmp case.0x4213bf.1
movzx eax, byte [ebp - 0x4cd0]
mov dword [0x425034], eax
xor eax, eax
mov word [0x4331e0], ax
call dbg.WCMD_color
jmp 0x4214db
mov ebx, dword [ebp - 0x4cbc]
mov byte [edx], 0x22
lea eax, [edx + 1]
test esi, esi
jle 0x422227
mov esi, 0x2e2e
mov byte [edx + 3], 0x2e
lea eax, [edx + 4]
mov word [edx + 1], si
mov byte [eax], 0
lea eax, [ebp - 0x4018]
mov dword [esp], eax
call dbg.__wine_dbg_strdup
jmp 0x421d72
lea esi, [eax - 0x20]
cmp si, 0x5e
jbe 0x42243e
mov esi, eax
mov byte [edx], 0x5c
add edx, 5
shr si, 0xc
movzx esi, si
movzx ecx, byte [esi + str.0123456789abcdefWCMD_output]
mov esi, eax
shr si, 8
and esi, 0xf
mov byte [edx - 4], cl
movzx ecx, byte [esi + str.0123456789abcdefWCMD_output]
mov esi, eax
and eax, 0xf
shr si, 4
movzx eax, byte [eax + str.0123456789abcdefWCMD_output]
and esi, 0xf
mov byte [edx - 3], cl
movzx ecx, byte [esi + str.0123456789abcdefWCMD_output]
mov byte [edx - 1], al
mov esi, ebx
mov byte [edx - 2], cl
jmp 0x421912
mov eax, 0x745c
add edx, 2
mov esi, ebx
mov word [edx - 2], ax
jmp 0x421912
mov eax, 0x725c
add edx, 2
mov esi, ebx
mov word [edx - 2], ax
jmp 0x421912
mov eax, 0x225c
add edx, 2
mov esi, ebx
mov word [edx - 2], ax
jmp 0x421912
movzx eax, word [ebp - 0x4818]
lea ebx, [ebp - 0x4ca2]
mov dword [esp + 4], str._c:
mov dword [esp], ebx
mov dword [esp + 8], eax
call sym._wsprintfW
mov dword [esp + 4], edi
mov eax, dword [ebp - 0x4ccc]
mov dword [esp], ebx
call eax
sub esp, 8
test byte [0x425038], 8
je 0x421484
mov eax, edi
shr eax, 0x10
je 0x4234e6
mov dword [esp + 4], 0xffffffff
mov dword [esp], edi
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov dword [ebp - 0x4cbc], str._invalid_
sub esp, 8
test eax, eax
jne 0x422e26
cmp word [ebp - 0x4818], 0
je 0x422368
add eax, 1
cmp word [edi + eax*2], 0
jne 0x42235e
mov edx, 0x224c
mov esi, edi
lea edi, [ebp - 0x3ef6]
mov word [ebp - 0x4018], dx
lea edx, [ebp - 0x4016]
mov dword [ebp - 0x4cc0], edi
jmp 0x4223b0
cmp ax, 9
je 0x4232a6
cmp ax, 0xa
jne 0x423248
mov eax, 0x6e5c
add edx, 2
mov word [edx - 2], ax
mov eax, dword [ebp - 0x4cbc]
lea edi, [eax - 1]
mov dword [ebp - 0x4cbc], edi
cmp edx, dword [ebp - 0x4cc0]
ja 0x422dee
test eax, eax
jle 0x422dee
add esi, 2
movzx eax, word [esi - 2]
cmp ax, 0xd
je 0x423237
jbe 0x42238a
cmp ax, 0x22
je 0x4231b3
cmp ax, 0x5c
jne 0x423248
mov edi, 0x5c5c
add edx, 2
mov word [edx - 2], di
jmp 0x4223aa
mov byte [edx], al
mov edi, esi
add edx, 1
jmp 0x421c04
mov ebx, 2
jmp 0x421691
movzx eax, word [ebp - 0x4cc4]
mov dword [esp], str._04x
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf.constprop.8
jmp 0x4220f3
mov eax, str._null_
jmp 0x421d72
mov byte [edx], al
mov esi, ebx
add edx, 1
jmp 0x421912
mov eax, edi
lea edx, [ebp - 0x4018]
mov dword [ebp - 0x4cc8], esi
mov esi, ebx
shr eax, 0x10
mov ebx, edx
mov dword [ebp - 0x4cd4], eax
mov dword [esp + 4], 0x3b
mov dword [esp], ebx
call esi
test eax, eax
je 0x422656
xor edx, edx
add eax, 2
mov word [eax - 2], dx
mov dword [ebp - 0x4cbc], eax
mov eax, dword [ebp - 0x4cc8]
mov dword [esp + 0x14], 0
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x4cc0]
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], 0x400
mov dword [esp + 8], ebx
mov dword [esp], 0
call eax
sub esp, 0x18
test eax, eax
jne 0x4227ab
mov ebx, dword [ebp - 0x4cbc]
test ebx, ebx
jne 0x422465
jmp 0x422b66
lea eax, [ebp - 0x4cb0]
mov dword [esp + 0x14], 0
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x4cb4]
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
mov dword [esp + 4], str.DefaultColor
mov dword [esp], eax
call sym._RegQueryValueExW_24
sub esp, 0x18
test eax, eax
jne 0x42343a
mov edx, dword [ebp - 0x4cb0]
mov eax, dword [ebp - 0x4cb4]
cmp edx, 4
je 0x423663
cmp edx, 1
je 0x4233da
mov dword [esp], eax
call sym._RegCloseKey_4
sub esp, 4
jmp 0x421e87
mov eax, edi
shr eax, 0x10
je 0x423572
mov dword [esp + 4], 0xffffffff
mov dword [esp], edi
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov ecx, eax
sub esp, 8
mov eax, str._invalid_
test ecx, ecx
jne 0x4230c2
cmp word [ebp - 0x4818], 0
je 0x422587
add ecx, 1
cmp word [edi + ecx*2], 0
jne 0x42257d
mov eax, 0x224c
lea edx, [ebp - 0x4b4a]
mov ebx, edi
mov word [ebp - 0x4b4c], ax
lea esi, [ecx - 1]
test ecx, ecx
jle 0x423097
lea eax, [ebp - 0x4a2a]
cmp edx, eax
ja 0x423097
add ebx, 2
movzx eax, word [ebx - 2]
cmp ax, 0xd
je 0x42330d
ja 0x422784
cmp ax, 9
je 0x42339f
cmp ax, 0xa
jne 0x42333f
mov eax, 0x6e5c
add edx, 2
mov ecx, esi
mov word [edx - 2], ax
jmp 0x42259b
movzx eax, si
mov dword [esp], str._04x
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf.constprop.8
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.First_parameter_is__s_n
mov dword [esp + 8], global___func__.9
mov dword [esp + 4], 0x425038
mov dword [esp], 3
call sym._wine_dbg_log.constprop.11
jmp 0x42176f
cmp ax, 0x22
je 0x4229d5
cmp ax, 0x5c
jne 0x422962
mov eax, 0x5c5c
add edx, 2
mov ecx, edi
mov word [edx - 2], ax
jmp 0x421e00
mov esi, dword [ebp - 0x4cc8]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], edi
mov eax, dword [ebp - 0x4cc0]
mov dword [esp + 0xc], 0x400
mov dword [esp + 8], ebx
mov dword [ebp - 0x4cbc], ebx
mov dword [esp + 4], esi
mov dword [esp], 0
call eax
mov edx, dword [ebp - 0x4cbc]
sub esp, 0x18
test eax, eax
je 0x422b66
test byte [0x425038], 8
je 0x421802
mov eax, edx
shr eax, 0x10
je 0x4233b2
mov dword [esp + 4], 0xffffffff
mov dword [esp], edx
mov dword [ebp - 0x4cc0], edx
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov dword [ebp - 0x4cbc], str._invalid_
sub esp, 8
test eax, eax
jne 0x4227e3
mov edx, dword [ebp - 0x4cc0]
cmp word [edx], 0
je 0x4226f8
add eax, 1
cmp word [edx + eax*2], 0
jne 0x4226ee
mov ecx, 0x224c
mov word [ebp - 0x4b4c], cx
lea ecx, [ebp - 0x4b4a]
lea esi, [esi]
lea esi, [eax - 1]
test eax, eax
jle 0x4227b2
lea eax, [ebp - 0x4a2a]
cmp ecx, eax
ja 0x4227b2
add edx, 2
movzx eax, word [edx - 2]
cmp ax, 0xd
je 0x4230ef
ja 0x422760
cmp ax, 9
je 0x423071
cmp ax, 0xa
jne 0x423011
mov eax, 0x6e5c
add ecx, 2
mov word [ecx - 2], ax
mov eax, esi
jmp 0x422710
cmp ax, 0x22
je 0x423084
cmp ax, 0x5c
jne 0x423011
mov ebx, 0x5c5c
add ecx, 2
mov eax, esi
mov word [ecx - 2], bx
jmp 0x422710
cmp ax, 0x22
je 0x42332c
cmp ax, 0x5c
jne 0x42333f
mov eax, 0x5c5c
add edx, 2
mov ecx, esi
mov word [edx - 2], ax
jmp 0x42259b
mov edx, ebx
jmp 0x42269e
mov byte [ecx], 0x22
lea eax, [ecx + 1]
test esi, esi
jle 0x4227cc
mov edx, 0x2e2e
mov byte [ecx + 3], 0x2e
lea eax, [ecx + 4]
mov word [ecx + 1], dx
mov byte [eax], 0
lea eax, [ebp - 0x4b4c]
mov dword [esp], eax
call dbg.__wine_dbg_strdup
mov dword [ebp - 0x4cbc], eax
mov eax, dword [ebp - 0x4cd4]
test eax, eax
je 0x4232f5
mov dword [esp + 4], 0xffffffff
mov dword [esp], edi
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov ebx, eax
sub esp, 8
mov eax, str._invalid_
test ebx, ebx
jne 0x4228d7
cmp word [ebp - 0x4818], 0
je 0x42282a
nop
add ebx, 1
cmp word [edi + ebx*2], 0
jne 0x422820
mov eax, 0x224c
lea edx, [ebp - 0x4b4a]
mov ecx, edi
mov word [ebp - 0x4b4c], ax
nop
lea esi, [ebx - 1]
test ebx, ebx
jle 0x4228ac
lea eax, [ebp - 0x4a2a]
cmp edx, eax
ja 0x4228ac
add ecx, 2
movzx eax, word [ecx - 2]
cmp ax, 0xd
je 0x422fce
ja 0x422888
cmp ax, 9
je 0x422fa8
cmp ax, 0xa
jne 0x422f48
mov eax, 0x6e5c
add edx, 2
mov ebx, esi
mov word [edx - 2], ax
jmp 0x422840
cmp ax, 0x22
je 0x422fbb
cmp ax, 0x5c
jne 0x422f48
mov ebx, 0x5c5c
add edx, 2
mov word [edx - 2], bx
mov ebx, esi
jmp 0x422840
mov byte [edx], 0x22
lea eax, [edx + 1]
test esi, esi
jle 0x4228c6
mov ecx, 0x2e2e
mov byte [edx + 3], 0x2e
lea eax, [edx + 4]
mov word [edx + 1], cx
mov byte [eax], 0
lea eax, [ebp - 0x4b4c]
mov dword [esp], eax
call dbg.__wine_dbg_strdup
mov esi, dword [ebp - 0x4cbc]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.Found_on_path_as__s_with_extension__s_n
mov dword [esp + 0x14], esi
mov dword [esp + 8], global___func__.9
mov dword [esp + 4], 0x425038
mov dword [esp], 3
call sym._wine_dbg_log.constprop.11
jmp 0x421802
cmp ax, 0x22
je 0x423596
cmp ax, 0x5c
jne 0x4235a9
mov eax, 0x5c5c
add edx, 2
mov ecx, esi
mov word [edx - 2], ax
jmp 0x422003
movzx ebx, byte [ebp - 0x4cbc]
test bl, bl
je 0x4216bd
mov dword [0x42f100], esi
jmp 0x4216bd
mov eax, 0x725c
add edx, 2
mov ecx, edi
mov word [edx - 2], ax
jmp 0x421e00
lea ecx, [eax - 0x20]
cmp cx, 0x5e
jbe 0x4232e9
mov ecx, eax
mov byte [edx], 0x5c
add edx, 5
shr cx, 0xc
movzx ecx, cx
movzx ecx, byte [ecx + str.0123456789abcdefWCMD_output]
mov byte [edx - 4], cl
mov ecx, eax
shr cx, 8
and ecx, 0xf
movzx ecx, byte [ecx + str.0123456789abcdefWCMD_output]
mov byte [edx - 3], cl
mov ecx, eax
and eax, 0xf
shr cx, 4
movzx eax, byte [eax + str.0123456789abcdefWCMD_output]
and ecx, 0xf
movzx ecx, byte [ecx + str.0123456789abcdefWCMD_output]
mov byte [edx - 1], al
mov byte [edx - 2], cl
mov ecx, edi
jmp 0x421e00
mov eax, 0x745c
add edx, 2
mov ecx, edi
mov word [edx - 2], ax
jmp 0x421e00
mov eax, 0x225c
add edx, 2
mov ecx, edi
mov word [edx - 2], ax
jmp 0x421e00
mov dword [ebp - 0x4cd0], 0
mov edi, ebx
jmp 0x421407
mov eax, edi
lea ecx, [ebp - 0x4018]
mov dword [ebp - 0x4cd4], ebx
shr eax, 0x10
mov ebx, ecx
mov dword [ebp - 0x4cd8], eax
mov dword [esp + 4], 0x3b
mov eax, dword [ebp - 0x4cd4]
mov dword [esp], ebx
call eax
test eax, eax
je 0x422b82
mov ecx, eax
mov dword [esp + 4], ebx
sub ecx, ebx
mov dword [esp], esi
mov dword [esp + 8], ecx
mov dword [ebp - 0x4cbc], ecx
mov dword [ebp - 0x4cc0], eax
call sym._memcpy
mov ecx, dword [ebp - 0x4cbc]
xor edx, edx
mov eax, dword [ebp - 0x4cc8]
mov word [esi + ecx], dx
mov edx, dword [ebp - 0x4cc0]
mov dword [esp], edi
lea ebx, [edx + 2]
call eax
sub esp, 4
cmp eax, 0xffffffff
je 0x422b5e
test byte [0x425038], 8
je 0x421802
mov eax, dword [ebp - 0x4cd8]
test eax, eax
je 0x423102
mov dword [esp + 4], 0xffffffff
mov dword [esp], edi
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov ebx, eax
sub esp, 8
mov eax, str._invalid_
test ebx, ebx
jne 0x422bf1
cmp word [ebp - 0x4818], 0
je 0x422acb
add ebx, 1
cmp word [edi + ebx*2], 0
jne 0x422ac1
mov eax, 0x224c
mov ecx, edi
mov dword [ebp - 0x4cbc], edi
lea edx, [ebp - 0x4b4a]
mov word [ebp - 0x4b4c], ax
lea eax, [ebp - 0x4a2a]
mov edi, eax
lea esi, [esi]
lea esi, [ebx - 1]
cmp edx, edi
ja 0x422bc0
test ebx, ebx
jle 0x422bc0
add ecx, 2
movzx eax, word [ecx - 2]
cmp ax, 0xd
je 0x422c1e
ja 0x422b3a
cmp ax, 9
je 0x422ca4
cmp ax, 0xa
jne 0x422c44
mov eax, 0x6e5c
add edx, 2
mov ebx, esi
mov word [edx - 2], ax
jmp 0x422af0
cmp ax, 0x22
je 0x422c31
cmp ax, 0x5c
jne 0x422c44
mov ebx, 0x5c5c
add edx, 2
mov word [edx - 2], bx
mov ebx, esi
jmp 0x422af0
test ebx, ebx
jne 0x422a12
test byte [0x425038], 8
jne 0x4234a5
mov dword [0x42f100], 1
jmp 0x421a4f
mov ecx, ebx
xor eax, eax
lea esi, [esi]
lea esi, [esi]
movzx edx, word [ecx + eax]
mov word [esi + eax], dx
add eax, 2
test dx, dx
jne 0x422b90
mov dword [esp], edi
mov eax, dword [ebp - 0x4cc8]
call eax
sub esp, 4
cmp eax, 0xffffffff
jne 0x422a79
jmp 0x422b66
mov edi, dword [ebp - 0x4cbc]
mov byte [edx], 0x22
lea eax, [edx + 1]
test esi, esi
jle 0x422be0
mov ecx, 0x2e2e
mov byte [edx + 3], 0x2e
lea eax, [edx + 4]
mov word [edx + 1], cx
mov byte [eax], 0
lea eax, [ebp - 0x4b4c]
mov dword [esp], eax
call dbg.__wine_dbg_strdup
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.Found_file_as__s_n
mov dword [esp + 8], global___func__.9
mov dword [esp + 4], 0x425038
mov dword [esp], 3
call sym._wine_dbg_log.constprop.11
jmp 0x421802
mov eax, 0x725c
add edx, 2
mov ebx, esi
mov word [edx - 2], ax
jmp 0x422af0
mov eax, 0x225c
add edx, 2
mov ebx, esi
mov word [edx - 2], ax
jmp 0x422af0
lea ebx, [eax - 0x20]
cmp bx, 0x5e
jbe 0x4232dd
mov ebx, eax
mov byte [edx], 0x5c
add edx, 5
shr bx, 0xc
movzx ebx, bx
movzx ebx, byte [ebx + str.0123456789abcdefWCMD_output]
mov byte [edx - 4], bl
mov ebx, eax
shr bx, 8
and ebx, 0xf
movzx ebx, byte [ebx + str.0123456789abcdefWCMD_output]
mov byte [edx - 3], bl
mov ebx, eax
and eax, 0xf
shr bx, 4
movzx eax, byte [eax + str.0123456789abcdefWCMD_output]
and ebx, 0xf
movzx ebx, byte [ebx + str.0123456789abcdefWCMD_output]
mov byte [edx - 1], al
mov byte [edx - 2], bl
mov ebx, esi
jmp 0x422af0
mov eax, 0x745c
add edx, 2
mov ebx, esi
mov word [edx - 2], ax
jmp 0x422af0
mov eax, edi
shr eax, 0x10
je 0x423481
mov dword [esp + 4], 0xffffffff
mov dword [esp], edi
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov ecx, eax
sub esp, 8
mov eax, str._invalid_
test ecx, ecx
jne 0x422dc1
cmp word [ebp - 0x4818], 0
je 0x422cf9
add ecx, 1
cmp word [edi + ecx*2], 0
jne 0x422cef
mov eax, 0x224c
mov dword [ebp - 0x4cbc], edi
lea edx, [ebp - 0x4b4a]
mov esi, edi
mov word [ebp - 0x4b4c], ax
lea eax, [ebp - 0x4a2a]
mov dword [ebp - 0x4cc0], ebx
mov ebx, eax
lea edi, [ecx - 1]
cmp edx, ebx
ja 0x422d87
test ecx, ecx
jle 0x422d87
add esi, 2
movzx eax, word [esi - 2]
cmp ax, 0xd
je 0x42311a
ja 0x422d63
cmp ax, 9
je 0x4231a0
cmp ax, 0xa
jne 0x423140
mov eax, 0x6e5c
add edx, 2
mov ecx, edi
mov word [edx - 2], ax
jmp 0x422d21
cmp ax, 0x22
je 0x42312d
cmp ax, 0x5c
jne 0x423140
mov eax, 0x5c5c
add edx, 2
mov ecx, edi
mov word [edx - 2], ax
jmp 0x422d21
mov eax, edi
mov ebx, dword [ebp - 0x4cc0]
mov edi, dword [ebp - 0x4cbc]
mov byte [edx], 0x22
test eax, eax
jle 0x42362f
mov ecx, 0x2e2e
mov byte [edx + 3], 0x2e
lea eax, [edx + 4]
mov word [edx + 1], cx
mov byte [eax], 0
lea eax, [ebp - 0x4b4c]
mov dword [esp], eax
call dbg.__wine_dbg_strdup
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.Full_path_name__s_n
mov dword [esp + 8], global___func__.9
mov dword [esp + 4], 0x425038
mov dword [esp], 3
call sym._wine_dbg_log.constprop.11
jmp 0x4217bd
mov eax, dword [ebp - 0x4cbc]
mov byte [edx], 0x22
test eax, eax
jle 0x423637
mov ecx, 0x2e2e
mov byte [edx + 3], 0x2e
lea eax, [edx + 4]
mov word [edx + 1], cx
mov byte [eax], 0
lea eax, [ebp - 0x4018]
mov dword [esp], eax
call dbg.__wine_dbg_strdup
mov dword [ebp - 0x4cbc], eax
mov eax, ebx
shr eax, 0x10
je 0x4234ce
mov dword [esp + 4], 0xffffffff
mov dword [esp], ebx
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov ecx, eax
sub esp, 8
mov eax, str._invalid_
test ecx, ecx
jne 0x422f11
cmp word [ebp - 0x4ca2], 0
je 0x422e68
add ecx, 1
cmp word [ebx + ecx*2], 0
jne 0x422e5e
mov eax, 0x224c
lea edx, [ebp - 0x4016]
lea edi, [ebp - 0x3ef6]
mov word [ebp - 0x4018], ax
lea esi, [ecx - 1]
cmp edx, edi
ja 0x422ee6
test ecx, ecx
jle 0x422ee6
add ebx, 2
movzx eax, word [ebx - 2]
cmp ax, 0xd
je 0x4232b7
ja 0x422ec2
cmp ax, 9
je 0x423224
cmp ax, 0xa
jne 0x4231c4
mov eax, 0x6e5c
add edx, 2
mov ecx, esi
mov word [edx - 2], ax
jmp 0x422e80
cmp ax, 0x22
je 0x4232ca
cmp ax, 0x5c
jne 0x4231c4
mov eax, 0x5c5c
add edx, 2
mov ecx, esi
mov word [edx - 2], ax
jmp 0x422e80
mov byte [edx], 0x22
lea eax, [edx + 1]
test esi, esi
jle 0x422f00
mov ecx, 0x2e2e
mov byte [edx + 3], 0x2e
lea eax, [edx + 4]
mov word [edx + 1], cx
mov byte [eax], 0
lea eax, [ebp - 0x4018]
mov dword [esp], eax
call dbg.__wine_dbg_strdup
mov esi, dword [ebp - 0x4cbc]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.Set__s_to__s_n
mov dword [esp + 0x14], esi
mov dword [esp + 8], global___func__.9
mov dword [esp + 4], 0x425038
mov dword [esp], 3
call sym._wine_dbg_log.constprop.11
jmp 0x421484
lea ebx, [eax - 0x20]
cmp bx, 0x5e
jbe 0x423320
mov ebx, eax
mov byte [edx], 0x5c
add edx, 5
shr bx, 0xc
movzx ebx, bx
movzx ebx, byte [ebx + str.0123456789abcdefWCMD_output]
mov byte [edx - 4], bl
mov ebx, eax
shr bx, 8
and ebx, 0xf
movzx ebx, byte [ebx + str.0123456789abcdefWCMD_output]
mov byte [edx - 3], bl
mov ebx, eax
and eax, 0xf
shr bx, 4
movzx eax, byte [eax + str.0123456789abcdefWCMD_output]
and ebx, 0xf
movzx ebx, byte [ebx + str.0123456789abcdefWCMD_output]
mov byte [edx - 1], al
mov byte [edx - 2], bl
mov ebx, esi
jmp 0x422840
mov eax, 0x745c
add edx, 2
mov ebx, esi
mov word [edx - 2], ax
jmp 0x422840
mov eax, 0x225c
add edx, 2
mov ebx, esi
mov word [edx - 2], ax
jmp 0x422840
mov eax, 0x725c
add edx, 2
mov ebx, esi
mov word [edx - 2], ax
jmp 0x422840
mov byte [edx], 0x22
lea eax, [edx + 1]
test edi, edi
jle 0x422ffb
mov ecx, 0x2e2e
mov byte [edx + 3], 0x2e
lea eax, [edx + 4]
mov word [edx + 1], cx
lea edi, [ebp - 0x4818]
mov byte [eax], 0
mov dword [esp], edi
call dbg.__wine_dbg_strdup
jmp 0x422602
lea ebx, [eax - 0x20]
cmp bx, 0x5e
jbe 0x423499
mov ebx, eax
mov byte [ecx], 0x5c
add ecx, 5
shr bx, 0xc
movzx ebx, bx
movzx ebx, byte [ebx + str.0123456789abcdefWCMD_output]
mov byte [ecx - 4], bl
mov ebx, eax
shr bx, 8
and ebx, 0xf
movzx ebx, byte [ebx + str.0123456789abcdefWCMD_output]
mov byte [ecx - 3], bl
mov ebx, eax
and eax, 0xf
shr bx, 4
movzx eax, byte [eax + str.0123456789abcdefWCMD_output]
and ebx, 0xf
movzx ebx, byte [ebx + str.0123456789abcdefWCMD_output]
mov byte [ecx - 1], al
mov eax, esi
mov byte [ecx - 2], bl
jmp 0x422710
mov eax, 0x745c
add ecx, 2
mov word [ecx - 2], ax
mov eax, esi
jmp 0x422710
mov eax, 0x225c
add ecx, 2
mov word [ecx - 2], ax
mov eax, esi
jmp 0x422710
mov byte [edx], 0x22
lea eax, [edx + 1]
test esi, esi
jle 0x4230b1
mov ecx, 0x2e2e
mov byte [edx + 3], 0x2e
lea eax, [edx + 4]
mov word [edx + 1], cx
mov byte [eax], 0
lea eax, [ebp - 0x4b4c]
mov dword [esp], eax
call dbg.__wine_dbg_strdup
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.Found_file_as__s_n
mov dword [esp + 8], global___func__.9
mov dword [esp + 4], 0x425038
mov dword [esp], 3
call sym._wine_dbg_log.constprop.11
jmp 0x421802
mov eax, 0x725c
add ecx, 2
mov word [ecx - 2], ax
mov eax, esi
jmp 0x422710
movzx eax, di
mov dword [esp], str._04x
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf.constprop.8
jmp 0x422bf1
mov eax, 0x725c
add edx, 2
mov ecx, edi
mov word [edx - 2], ax
jmp 0x422d21
mov eax, 0x225c
add edx, 2
mov ecx, edi
mov word [edx - 2], ax
jmp 0x422d21
lea ecx, [eax - 0x20]
cmp cx, 0x5e
jbe 0x42351a
mov ecx, eax
mov byte [edx], 0x5c
add edx, 5
shr cx, 0xc
movzx ecx, cx
movzx ecx, byte [ecx + str.0123456789abcdefWCMD_output]
mov byte [edx - 4], cl
mov ecx, eax
shr cx, 8
and ecx, 0xf
movzx ecx, byte [ecx + str.0123456789abcdefWCMD_output]
mov byte [edx - 3], cl
mov ecx, eax
and eax, 0xf
shr cx, 4
movzx eax, byte [eax + str.0123456789abcdefWCMD_output]
and ecx, 0xf
movzx ecx, byte [ecx + str.0123456789abcdefWCMD_output]
mov byte [edx - 1], al
mov byte [edx - 2], cl
mov ecx, edi
jmp 0x422d21
mov eax, 0x745c
add edx, 2
mov ecx, edi
mov word [edx - 2], ax
jmp 0x422d21
mov eax, 0x225c
add edx, 2
mov word [edx - 2], ax
jmp 0x4223aa
lea ecx, [eax - 0x20]
cmp cx, 0x5e
jbe 0x42350e
mov ecx, eax
mov byte [edx], 0x5c
add edx, 5
shr cx, 0xc
movzx ecx, cx
movzx ecx, byte [ecx + str.0123456789abcdefWCMD_output]
mov byte [edx - 4], cl
mov ecx, eax
shr cx, 8
and ecx, 0xf
movzx ecx, byte [ecx + str.0123456789abcdefWCMD_output]
mov byte [edx - 3], cl
mov ecx, eax
and eax, 0xf
shr cx, 4
movzx eax, byte [eax + str.0123456789abcdefWCMD_output]
and ecx, 0xf
movzx ecx, byte [ecx + str.0123456789abcdefWCMD_output]
mov byte [edx - 1], al
mov byte [edx - 2], cl
mov ecx, esi
jmp 0x422e80
mov eax, 0x745c
add edx, 2
mov ecx, esi
mov word [edx - 2], ax
jmp 0x422e80
mov eax, 0x725c
add edx, 2
mov word [edx - 2], ax
jmp 0x4223aa
lea edi, [eax - 0x20]
cmp di, 0x5e
jbe 0x423504
mov edi, eax
mov byte [edx], 0x5c
add edx, 5
shr di, 0xc
movzx edi, di
movzx ecx, byte [edi + str.0123456789abcdefWCMD_output]
mov edi, eax
shr di, 8
and edi, 0xf
mov byte [edx - 4], cl
movzx ecx, byte [edi + str.0123456789abcdefWCMD_output]
mov edi, eax
and eax, 0xf
shr di, 4
movzx eax, byte [eax + str.0123456789abcdefWCMD_output]
and edi, 0xf
mov byte [edx - 3], cl
movzx ecx, byte [edi + str.0123456789abcdefWCMD_output]
mov byte [edx - 1], al
mov byte [edx - 2], cl
jmp 0x4223aa
mov eax, 0x745c
add edx, 2
mov word [edx - 2], ax
jmp 0x4223aa
mov eax, 0x725c
add edx, 2
mov ecx, esi
mov word [edx - 2], ax
jmp 0x422e80
mov eax, 0x225c
add edx, 2
mov ecx, esi
mov word [edx - 2], ax
jmp 0x422e80
mov byte [edx], al
mov ebx, esi
add edx, 1
jmp 0x422af0
mov byte [edx], al
mov ecx, edi
add edx, 1
jmp 0x421e00
movzx eax, di
mov dword [esp], str._04x
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf.constprop.8
jmp 0x4228d7
mov eax, 0x725c
add edx, 2
mov ecx, esi
mov word [edx - 2], ax
jmp 0x42259b
mov byte [edx], al
mov ebx, esi
add edx, 1
jmp 0x422840
mov eax, 0x225c
add edx, 2
mov ecx, esi
mov word [edx - 2], ax
jmp 0x42259b
lea ecx, [eax - 0x20]
cmp cx, 0x5e
jbe 0x42358a
mov ecx, eax
mov byte [edx], 0x5c
add edx, 5
shr cx, 0xc
movzx ecx, cx
movzx ecx, byte [ecx + str.0123456789abcdefWCMD_output]
mov byte [edx - 4], cl
mov ecx, eax
shr cx, 8
and ecx, 0xf
movzx ecx, byte [ecx + str.0123456789abcdefWCMD_output]
mov byte [edx - 3], cl
mov ecx, eax
and eax, 0xf
shr cx, 4
movzx eax, byte [eax + str.0123456789abcdefWCMD_output]
and ecx, 0xf
movzx ecx, byte [ecx + str.0123456789abcdefWCMD_output]
mov byte [edx - 1], al
mov byte [edx - 2], cl
mov ecx, esi
jmp 0x42259b
mov eax, 0x745c
add edx, 2
mov ecx, esi
mov word [edx - 2], ax
jmp 0x42259b
movzx edx, dx
mov dword [esp], str._04x
mov dword [esp + 4], edx
call sym._wine_dbg_sprintf.constprop.8
mov dword [ebp - 0x4cbc], eax
jmp 0x4227e3
mov eax, str._null_
jmp 0x422602
lea edx, [ebp - 0x4ca8]
lea ebx, [ebp - 0x4b4c]
mov dword [esp + 0xc], 0
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], ebx
mov dword [esp + 8], 0
mov dword [esp + 4], str.DefaultColor
mov dword [esp], eax
mov dword [ebp - 0x4ca8], 8
call sym._RegQueryValueExW_24
sub esp, 0x18
mov dword [esp + 8], 0xa
mov dword [esp + 4], 0
mov dword [esp], ebx
call dword [sym.imp.ucrtbase.dll_wcstoul]
mov dword [ebp - 0x4cac], eax
mov eax, dword [ebp - 0x4cb4]
jmp 0x422535
mov byte [edx], 0x22
lea eax, [edx + 1]
test esi, esi
jle 0x42345f
mov ecx, 0x2e2e
mov byte [edx + 3], 0x2e
lea eax, [edx + 4]
mov word [edx + 1], cx
mov byte [eax], 0
lea eax, [ebp - 0x4b4c]
mov dword [esp], eax
call dbg.__wine_dbg_strdup
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.Found_on_path_as__s_n
jmp 0x4230ce
movzx eax, di
mov dword [esp], str._04x
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf.constprop.8
jmp 0x422dc1
mov byte [ecx], al
add ecx, 1
mov eax, esi
jmp 0x422710
mov dword [esp + 0xc], str.Binary_not_found__dropping_back_to_old_behaviour_n
mov dword [esp + 8], global___func__.9
mov dword [esp + 4], 0x425038
mov dword [esp], 3
call sym._wine_dbg_log.constprop.11
jmp 0x422b73
movzx ebx, bx
mov dword [esp], str._04x
mov dword [esp + 4], ebx
call sym._wine_dbg_sprintf.constprop.8
jmp 0x422f11
movzx eax, di
mov dword [esp], str._04x
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf.constprop.8
mov dword [ebp - 0x4cbc], eax
jmp 0x422e26
mov byte [edx], al
add edx, 1
jmp 0x4223aa
mov byte [edx], al
mov ecx, esi
add edx, 1
jmp 0x422e80
mov byte [edx], al
mov ecx, edi
add edx, 1
jmp 0x422d21
lea edx, [ebp - 0x4ca8]
mov dword [esp + 0xc], 0
mov dword [esp + 0x14], edx
lea edx, [ebp - 0x4cac]
mov dword [esp + 0x10], edx
mov dword [esp + 8], 0
mov dword [esp + 4], str.DefaultColor
mov dword [esp], eax
mov dword [ebp - 0x4ca8], 4
call sym._RegQueryValueExW_24
mov eax, dword [ebp - 0x4cb4]
sub esp, 0x18
jmp 0x421f51
movzx eax, di
mov dword [esp], str._04x
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf.constprop.8
jmp 0x4230c2
mov byte [edx], al
mov ecx, esi
add edx, 1
jmp 0x42259b
mov eax, 0x225c
add edx, 2
mov ecx, esi
mov word [edx - 2], ax
jmp 0x422003
lea ecx, [eax - 0x20]
cmp cx, 0x5e
jbe 0x423657
mov ecx, eax
mov byte [edx], 0x5c
add edx, 5
shr cx, 0xc
movzx ecx, cx
movzx ecx, byte [ecx + str.0123456789abcdefWCMD_output]
mov byte [edx - 4], cl
mov ecx, eax
shr cx, 8
and ecx, 0xf
movzx ecx, byte [ecx + str.0123456789abcdefWCMD_output]
mov byte [edx - 3], cl
mov ecx, eax
and eax, 0xf
shr cx, 4
movzx eax, byte [eax + str.0123456789abcdefWCMD_output]
and ecx, 0xf
movzx ecx, byte [ecx + str.0123456789abcdefWCMD_output]
mov byte [edx - 1], al
mov byte [edx - 2], cl
mov ecx, esi
jmp 0x422003
mov eax, 0x745c
add edx, 2
mov ecx, esi
mov word [edx - 2], ax
jmp 0x422003
mov eax, 0x725c
add edx, 2
mov ecx, esi
mov word [edx - 2], ax
jmp 0x422003
lea eax, [edx + 1]
jmp 0x422db0
lea eax, [edx + 1]
jmp 0x422e0f
movzx eax, di
mov dword [esp], str._04x
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf.constprop.8
jmp 0x423470
mov byte [edx], al
mov ecx, esi
add edx, 1
jmp 0x422003
lea edx, [ebp - 0x4ca8]
mov dword [esp + 0xc], 0
mov dword [esp + 0x14], edx
lea edx, [ebp - 0x4cac]
mov dword [esp + 0x10], edx
mov dword [esp + 8], 0
mov dword [esp + 4], str.DefaultColor
mov dword [esp], eax
mov dword [ebp - 0x4ca8], 4
call sym._RegQueryValueExW_24
mov eax, dword [ebp - 0x4cb4]
sub esp, 0x18
jmp 0x422535