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

Disassembly:
push ebp
mov eax, 0x4cd8
mov ebp, esp
push edi
push esi
push ebx
call fcn.004246d8
sub esp, eax
mov eax, dword [sym.imp.kernel32.dll_GetEnvironmentVariableW]
lea esi, [ebp - 0x4a14]
mov dword [ebp - 0x4cac], 0
mov dword [esp + 8], 0x104
mov dword [esp + 4], esi
mov dword [esp], str.COMSPEC
mov dword [ebp - 0x4cc8], eax
call eax
mov ebx, eax
mov eax, dword [sym.imp.kernel32.dll_SetEnvironmentVariableW]
sub esp, 0xc
mov dword [ebp - 0x4cc0], eax
test ebx, ebx
je 0x422331
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 - 0x4c5c]
mov dword [ebp - 0x4c5c], 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
lea esi, [esi]
movzx ecx, word [eax + edx]
add edx, 2
mov word [edx + 0x43853e], cx
test cx, cx
jne 0x4218c0
mov eax, dword [ebp - 0x4c50]
lea ebx, [ebp - 0x4c8e]
mov dword [esp + 4], str._ld._ld._ld
mov dword [esp], ebx
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x4c54]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x4c58]
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
movzx ecx, word [eax + edx]
add edx, 2
mov word [edx + 0x43845e], cx
test cx, cx
jne 0x421921
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 0x422394
movzx eax, word [ebx]
cmp ax, 0x2f
je 0x421974
test ax, ax
je 0x421974
add ebx, 2
movzx eax, word [ebx]
test ax, ax
je 0x421974
cmp ax, 0x2f
jne 0x421963
mov dword [0x430380], 0
mov dword [0x430384], 0
mov dword [0x430388], 0
test ax, ax
je 0x42336c
mov dword [ebp - 0x4cc4], 0
mov edi, dword [sym.imp.ucrtbase.dll_towlower]
xor esi, esi
lea esi, [esi]
movzx edx, word [ebx + 2]
cmp ax, 0x2f
jne 0x421cf0
mov dword [esp], edx
call edi
sub eax, 0x61
cmp ax, 0x15
ja case.0x4219cf.1
movzx eax, ax
jmp dword [eax*4 + 0x42a544]
cmp word [ebx + 4], 0x3a
je 0x422923
lea esi, [esi]
nop
mov eax, dword [0x430388]
or eax, dword [0x430384]
jne 0x421c6b
movzx eax, word [ebx + 2]
add ebx, 2
test ax, ax
jne 0x4219b0
mov edi, ebx
test esi, esi
jne 0x421cab
mov dword [esp + 4], str._P_G
mov eax, dword [ebp - 0x4cc0]
mov dword [0x438528], 0
mov dword [esp], 0x4299da
call eax
mov eax, dword [0x430388]
sub esp, 8
or eax, dword [0x430384]
je 0x422460
cmp word [edi], 0
je 0x422a6c
mov eax, edi
lea esi, [esi]
nop
add eax, 2
cmp word [eax], 0
jne 0x421a60
sub eax, edi
sar eax, 1
lea ebx, [eax + eax + 2]
mov dword [esp], ebx
call dbg.xalloc
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], eax
mov dword [ebp - 0x4cbc], eax
call sym._memcpy
mov ebx, dword [0x430380]
test ebx, ebx
je 0x422020
test byte [0x425038], 8
jne 0x42217a
mov edx, dword [0x430380]
test edx, edx
je 0x421e44
lea eax, [ebp - 0x480c]
mov dword [ebp - 0x4cb0], eax
mov eax, dword [ebp - 0x4cbc]
cmp word [eax], 0x22
je 0x4224a4
mov eax, dword [ebp - 0x4cb0]
mov dword [esp], 0x400
mov dword [esp + 4], eax
call dword [sym.imp.kernel32.dll_GetCurrentDirectoryW]
movzx eax, word [ebp - 0x480c]
sub esp, 8
mov dword [esp], eax
call dword [sym.imp.user32.dll_IsCharAlphaW]
sub esp, 4
test eax, eax
jne 0x421d00
mov esi, dword [0x430388]
test esi, esi
jne 0x422250
lea eax, [ebp - 0x400c]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_GetStartupInfoW]
mov eax, dword [ebp - 0x4000]
sub esp, 4
test eax, eax
je 0x422493
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_SetConsoleTitleW]
mov edi, dword [ebp - 0x4cc4]
sub esp, 4
test edi, edi
je 0x421f92
mov eax, edi
sar eax, 4
xor eax, edi
test al, 0xf
jne 0x422949
mov eax, dword [0x430384]
test eax, eax
jne 0x4222b5
mov dword [0x438528], 1
lea ebx, [ebp - 0x4cac]
call dbg.WCMD_version
mov eax, 1
mov edi, dword [sym.imp.kernel32.dll_GetStdHandle]
jmp 0x421bfb
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 0x4222ab
mov eax, dword [ebp - 0x4cac]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call dbg.WCMD_process_commands
mov eax, dword [ebp - 0x4cac]
mov dword [esp], eax
call dbg.WCMD_free_commands
mov edx, dword [ebp - 0x4cac]
xor eax, eax
mov dword [ebp - 0x4cac], 0
test edx, edx
setne al
mov ecx, dword [0x425030]
test ecx, ecx
je 0x421b90
call dbg.WCMD_show_prompt
jmp 0x421b90
mov dword [0x43037c], 1
jmp case.0x4219cf.1
cmp word [ebx + 4], 0x3a
jne case.0x4219cf.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 - 0x4cc4], eax
jmp case.0x4219cf.1
mov dword [0x430380], 1
jmp case.0x4219cf.1
mov dword [0x430388], 1
movzx eax, word [ebx + 4]
lea edi, [ebx + 4]
test ax, ax
je 0x421a0f
mov ebx, dword [sym.imp.ucrtbase.dll_wcschr]
jmp 0x421c92
add edi, 2
movzx eax, word [edi]
test ax, ax
je 0x421a0f
mov dword [esp + 4], eax
mov dword [esp], str.__t__
call ebx
test eax, eax
jne 0x421c83
test esi, esi
je 0x421a17
mov dword [esp], 0x42a42e
call dbg.WCMD_echo
jmp 0x421a17
mov dword [0x43037c], 0
jmp case.0x4219cf.1
mov esi, 1
jmp case.0x4219cf.1
mov dword [0x430384], 1
jmp 0x421c6b
mov eax, edx
jmp 0x421a05
cmp word [ebp - 0x480a], 0x3a
jne 0x421b09
movzx eax, word [ebp - 0x480c]
lea ebx, [ebp - 0x4c96]
mov dword [esp + 4], str._c:
mov dword [esp], ebx
mov dword [esp + 8], eax
call dword [sym.imp.user32.dll_wsprintfW]
mov eax, dword [ebp - 0x4cb0]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x4cc0]
call eax
sub esp, 8
test byte [0x425038], 8
je 0x421b09
mov eax, dword [ebp - 0x4cb0]
shr eax, 0x10
je 0x423b5b
mov esi, dword [ebp - 0x4cb0]
mov dword [esp + 4], 0xffffffff
mov dword [esp], esi
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov dword [ebp - 0x4cb4], str._invalid_
sub esp, 8
test eax, eax
jne 0x42344e
cmp word [ebp - 0x480c], 0
je 0x421da6
mov edx, esi
add eax, 1
cmp word [edx + eax*2], 0
jne 0x421d9c
mov edx, 0x224c
lea edi, [ebp - 0x3eea]
mov esi, dword [ebp - 0x4cb0]
mov word [ebp - 0x400c], dx
lea edx, [ebp - 0x400a]
mov dword [ebp - 0x4cb4], edi
jmp 0x421df2
cmp ax, 9
je 0x42389d
cmp ax, 0xa
jne 0x42383f
mov eax, 0x6e5c
add edx, 2
mov word [edx - 2], ax
mov eax, dword [ebp - 0x4cb0]
lea edi, [eax - 1]
mov dword [ebp - 0x4cb0], edi
cmp edx, dword [ebp - 0x4cb4]
ja 0x423416
test eax, eax
jle 0x423416
add esi, 2
movzx eax, word [esi - 2]
cmp ax, 0xd
je 0x4238ae
jbe 0x421dcc
cmp ax, 0x22
je 0x423958
cmp ax, 0x5c
jne 0x42383f
mov edi, 0x5c5c
add edx, 2
mov word [edx - 2], di
jmp 0x421dec
mov eax, dword [ebp - 0x4cbc]
mov dword [esp + 0x10], 1
lea edi, [ebp - 0x400c]
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
mov dword [esp + 4], edi
mov eax, dword [ebp - 0x4cc8]
mov dword [esp], 0x42a0d8
call eax
sub eax, 1
sub esp, 0xc
cmp eax, 0x1ffe
jbe 0x421ec3
xor eax, eax
mov edx, 0x2e
jmp 0x421eb7
movzx edx, word [eax + str..bat_.com_.cmd_.exe]
mov word [edi + eax], dx
add eax, 2
test dx, dx
jne 0x421eb0
lea eax, [ebp - 0x480c]
mov dword [ebp - 0x4cb0], eax
test byte [0x425038], 8
jne 0x4224f7
mov dword [esp + 4], 0x5c
mov ebx, dword [sym.imp.ucrtbase.dll_wcschr]
mov dword [esp], esi
call ebx
test eax, eax
je 0x4225b4
mov eax, dword [ebp - 0x4cb0]
mov dword [esp], esi
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x400
call sym._WCMD_get_fullpath
mov esi, eax
test eax, eax
je 0x4222ab
test byte [0x425038], 8
jne 0x423229
cmp word [ebp - 0x480c], 0
mov esi, dword [ebp - 0x4cb0]
je 0x421f49
add esi, 2
cmp word [esi], 0
jne 0x421f40
mov eax, dword [ebp - 0x4cb0]
mov dword [esp], eax
mov eax, dword [sym.imp.kernel32.dll_GetFileAttributesW]
mov dword [ebp - 0x4cb8], eax
call eax
sub esp, 4
cmp eax, 0xffffffff
je 0x422f86
test byte [0x425038], 8
jne 0x4235af
lea esi, [esi]
nop
mov eax, dword [0x430380]
test eax, eax
je 0x421ad4
jmp 0x421ac4
lea edi, [ebp - 0x4ca8]
mov dword [esp + 0xc], 0x20019
mov ebx, dword [sym.imp.advapi32.dll_RegOpenKeyExW]
mov dword [ebp - 0x4ca0], 0
mov dword [ebp - 0x4c9c], 4
mov dword [esp + 0x10], edi
mov dword [esp + 8], 0
mov dword [esp + 4], global_regKeyW
mov dword [esp], 0x80000001
call ebx
sub esp, 0x14
test eax, eax
je 0x42274d
mov eax, dword [ebp - 0x4ca0]
test eax, eax
je 0x422712
mov edx, eax
shr edx, 4
xor edx, eax
and edx, 0xf
je 0x421b60
and eax, 0xff
mov dword [0x425034], eax
xor eax, eax
mov word [0x434460], ax
call dbg.WCMD_color
jmp 0x421b60
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 0x422450
mov ecx, dword [0x430380]
test ecx, ecx
jne 0x421a9d
lea edi, [eax + 2]
mov dword [esp + 4], 0x22
mov dword [esp], edi
call esi
mov dword [ebp - 0x4cb8], eax
test eax, eax
je 0x422450
mov edx, dword [0x430380]
test edx, edx
jne 0x421a9d
mov eax, dword [ebp - 0x4cb8]
mov dword [esp + 4], 0x22
add eax, 2
mov dword [esp], eax
call esi
test eax, eax
jne 0x422450
mov eax, dword [0x430380]
test eax, eax
jne 0x421a9d
mov dword [0x430380], 1
cmp ebx, dword [ebp - 0x4cb8]
je 0x421a9d
movzx eax, word [ebx]
xor edx, edx
lea ecx, [eax - 0x26]
cmp cx, 0x1a
ja 0x4220d0
mov edx, 0x540000d
shr edx, cl
and edx, 1
cmp ax, 0x7c
sete cl
cmp ax, 0x5e
sete bl
or ecx, ebx
or cl, dl
jne 0x422163
xor ebx, ebx
mov esi, 1
mov byte [ebp - 0x4cb0], bl
jmp 0x4220fa
test dl, dl
jne 0x422163
add edi, 2
cmp ax, 0x20
movzx ecx, byte [ebp - 0x4cb0]
sete dl
cmp ax, 9
sete al
or al, dl
cmovne ecx, eax
mov eax, 0
cmovne esi, eax
mov byte [ebp - 0x4cb0], cl
cmp dword [ebp - 0x4cb8], edi
je 0x422ecf
movzx eax, word [edi]
xor edx, edx
lea ecx, [eax - 0x26]
cmp cx, 0x1a
ja 0x422146
mov edx, 0x540000d
shr edx, cl
and edx, 1
cmp ax, 0x7c
sete byte [ebp - 0x4cb4]
cmp ax, 0x5e
movzx ebx, byte [ebp - 0x4cb4]
sete cl
or bl, cl
je 0x4220f3
mov dword [0x430380], 1
test byte [0x425038], 8
je 0x421ab8
mov eax, dword [ebp - 0x4cbc]
shr eax, 0x10
je 0x4226c0
mov edi, dword [ebp - 0x4cbc]
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 0x4226d7
cmp word [edi], 0
je 0x4221ca
mov eax, edi
lea esi, [esi]
add esi, 1
cmp word [eax + esi*2], 0
jne 0x4221c0
mov ecx, dword [ebp - 0x4cbc]
mov eax, 0x224c
lea edx, [ebp - 0x400a]
lea edi, [ebp - 0x3eea]
mov word [ebp - 0x400c], ax
mov dword [ebp - 0x4cb0], ecx
nop
lea ebx, [esi - 1]
cmp edx, edi
ja 0x422a3c
test esi, esi
jle 0x422a3c
add dword [ebp - 0x4cb0], 2
mov eax, dword [ebp - 0x4cb0]
movzx eax, word [eax - 2]
cmp ax, 0xd
je 0x422967
ja 0x422853
cmp ax, 9
je 0x4229f3
cmp ax, 0xa
jne 0x422993
mov eax, 0x6e5c
add edx, 2
mov esi, ebx
mov word [edx - 2], ax
jmp 0x4221f0
mov esi, dword [ebp - 0x4cbc]
lea eax, [ebp - 0x4cac]
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], eax
mov dword [esp], esi
call dbg.WCMD_ReadAndParseLine
mov eax, dword [ebp - 0x4cac]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call dbg.WCMD_process_commands
mov eax, dword [ebp - 0x4cac]
mov dword [esp], eax
call dbg.WCMD_free_commands
mov dword [esp], esi
call dword [sym.imp.ucrtbase.dll_free]
mov esi, dword [0x4386f0]
lea esp, [ebp - 0xc]
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret
mov edi, dword [ebp - 0x4cbc]
lea ebx, [ebp - 0x4cac]
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], ebx
mov dword [esp], edi
call dbg.WCMD_ReadAndParseLine
mov eax, dword [ebp - 0x4cac]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call dbg.WCMD_process_commands
mov eax, dword [ebp - 0x4cac]
mov dword [esp], eax
call dbg.WCMD_free_commands
mov dword [esp], edi
mov dword [ebp - 0x4cac], 0
call dword [sym.imp.ucrtbase.dll_free]
mov edi, dword [0x430384]
mov dword [0x438528], 1
test edi, edi
jne 0x421b82
jmp 0x421b7d
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 - 0x4a14], 0
je 0x42235a
add eax, 2
cmp word [eax], 0
jne 0x422351
mov edx, 0x5c
jmp 0x422368
movzx edx, word [ebx + str.cmd.exe]
mov word [eax + ebx], dx
add ebx, 2
test dx, dx
jne 0x422361
mov eax, dword [sym.imp.kernel32.dll_SetEnvironmentVariableW]
mov dword [esp + 4], esi
mov dword [esp], str.COMSPEC
mov dword [ebp - 0x4cc0], eax
call eax
sub esp, 8
jmp 0x42187a
test eax, eax
je 0x422a8e
shr eax, 0x10
je 0x4224b7
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 0x4224ca
cmp word [ebx], 0
je 0x4223da
nop
add edi, 1
cmp word [ebx + edi*2], 0
jne 0x4223d0
mov eax, 0x224c
mov dword [ebp - 0x4cb0], ebx
mov ecx, ebx
lea edx, [ebp - 0x400a]
mov word [ebp - 0x400c], ax
lea esi, [edi - 1]
test edi, edi
jle 0x422a06
lea eax, [ebp - 0x3eea]
cmp edx, eax
ja 0x422a06
add ecx, 2
movzx eax, word [ecx - 2]
cmp ax, 0xd
je 0x422880
ja 0x422830
cmp ax, 9
je 0x4228f3
cmp ax, 0xa
jne 0x422893
mov eax, 0x6e5c
add edx, 2
mov edi, esi
mov word [edx - 2], ax
jmp 0x4223f4
mov dword [0x430380], 1
jmp 0x421a9d
mov dword [esp + 4], 1
mov dword [esp], dbg.my_event_handler
call dword [sym.imp.kernel32.dll_SetConsoleCtrlHandler]
lea eax, [ebp - 0x480c]
mov dword [ebp - 0x4cbc], 0
sub esp, 8
mov dword [ebp - 0x4cb0], eax
jmp 0x421ad4
mov dword [esp], 0x408
call sym._WCMD_LoadMessage
jmp 0x421b37
mov eax, dword [ebp - 0x4cbc]
mov dword [esp], eax
call dbg.WCMD_strip_quotes
jmp 0x421ad4
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__.11
mov dword [esp + 4], 0x425038
mov dword [esp], 3
call sym._wine_dbg_log.constprop.11
jmp 0x421955
test esi, esi
je 0x423a2a
mov eax, esi
shr eax, 0x10
je 0x422b20
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 0x422b33
cmp word [esi], 0
je 0x42253d
add ecx, 1
cmp word [esi + ecx*2], 0
jne 0x422533
mov eax, 0x224c
mov dword [ebp - 0x4cb0], esi
mov ebx, esi
lea edx, [ebp - 0x480a]
mov word [ebp - 0x480c], ax
lea esi, [esi]
nop
lea esi, [ecx - 1]
test ecx, ecx
jle 0x423570
lea eax, [ebp - 0x46ea]
cmp edx, eax
ja 0x423570
add ebx, 2
movzx eax, word [ebx - 2]
cmp ax, 0xd
je 0x422ee9
ja 0x422bd5
cmp ax, 9
je 0x422f60
cmp ax, 0xa
jne 0x422f00
mov eax, 0x6e5c
add edx, 2
mov ecx, esi
mov word [edx - 2], ax
jmp 0x422560
mov eax, dword [ebp - 0x4cb0]
mov dword [esp + 0x14], 0
mov dword [esp + 0xc], 0x400
mov dword [esp + 0x10], eax
mov eax, dword [sym.imp.kernel32.dll_SearchPathW]
mov dword [esp + 8], 0
mov dword [esp + 4], esi
mov dword [esp], 0
mov dword [ebp - 0x4cb8], eax
call eax
sub esp, 0x18
test eax, eax
je 0x422a98
test byte [0x425038], 8
je 0x421f80
mov eax, dword [ebp - 0x4cb0]
shr eax, 0x10
je 0x423cd1
mov esi, dword [ebp - 0x4cb0]
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 0x423b4a
cmp word [ebp - 0x480c], 0
je 0x422654
mov eax, esi
add ecx, 1
cmp word [eax + ecx*2], 0
jne 0x42264a
mov eax, 0x224c
mov ebx, dword [ebp - 0x4cb0]
lea edx, [ebp - 0x4b3e]
lea edi, [ebp - 0x4a1e]
mov word [ebp - 0x4b40], ax
lea esi, [ecx - 1]
test ecx, ecx
jle 0x423b1f
cmp edx, edi
ja 0x423b1f
add ebx, 2
movzx eax, word [ebx - 2]
cmp ax, 0xd
je 0x423bca
ja 0x422ea8
cmp ax, 9
je 0x423c3d
cmp ax, 0xa
jne 0x423bdd
mov eax, 0x6e5c
add edx, 2
mov ecx, esi
mov word [edx - 2], ax
jmp 0x422672
movzx eax, word [ebp - 0x4cbc]
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._c_command_line:__s_n
mov dword [esp + 8], global___func__.11
mov dword [esp + 4], 0x425038
mov dword [esp], 3
call sym._wine_dbg_log.constprop.11
mov edx, dword [0x430380]
test edx, edx
jne 0x421ab8
jmp 0x421e44
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], 0x20019
mov dword [esp + 8], 0
mov dword [esp + 4], global_regKeyW
mov dword [esp], 0x80000002
call ebx
sub esp, 0x14
test eax, eax
je 0x422b60
mov eax, dword [ebp - 0x4ca0]
jmp 0x421ff0
lea eax, [ebp - 0x4ca4]
mov edx, dword [sym.imp.advapi32.dll_RegQueryValueExW]
mov dword [esp + 0x14], 0
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x4ca8]
mov dword [ebp - 0x4cb0], edx
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
mov dword [esp + 4], str.DefaultColor
mov dword [esp], eax
call edx
mov edx, dword [ebp - 0x4cb0]
sub esp, 0x18
test eax, eax
jne 0x422818
mov ecx, dword [ebp - 0x4ca4]
mov eax, dword [ebp - 0x4ca8]
cmp ecx, 4
je 0x423c74
cmp ecx, 1
jne 0x42281e
lea ecx, [ebp - 0x4c9c]
mov dword [esp + 0xc], 0
mov dword [esp + 0x14], ecx
lea ecx, [ebp - 0x4b40]
mov dword [esp + 0x10], ecx
mov dword [ebp - 0x4c9c], 8
mov dword [esp + 8], 0
mov dword [esp + 4], str.DefaultColor
mov dword [esp], eax
call edx
lea ecx, [ebp - 0x4b40]
sub esp, 0x18
mov dword [esp + 8], 0xa
mov dword [esp + 4], 0
mov dword [esp], ecx
call dword [sym.imp.ucrtbase.dll_wcstoul]
mov dword [ebp - 0x4ca0], eax
mov eax, dword [ebp - 0x4ca8]
mov dword [esp], eax
call dword [sym.imp.advapi32.dll_RegCloseKey]
sub esp, 4
jmp 0x421fe2
cmp ax, 0x22
je 0x422910
cmp ax, 0x5c
jne 0x422893
mov edi, 0x5c5c
add edx, 2
mov word [edx - 2], di
mov edi, esi
jmp 0x4223f4
cmp ax, 0x22
je 0x422980
cmp ax, 0x5c
jne 0x422993
mov esi, 0x5c5c
add edx, 2
mov word [edx - 2], si
mov esi, ebx
jmp 0x4221f0
mov eax, 0x725c
add edx, 2
mov edi, esi
mov word [edx - 2], ax
jmp 0x4223f4
lea edi, [eax - 0x20]
cmp di, 0x5e
jbe 0x422a76
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 0x4223f4
mov eax, 0x745c
add edx, 2
mov edi, esi
mov word [edx - 2], ax
jmp 0x4223f4
mov eax, 0x225c
add edx, 2
mov edi, esi
mov word [edx - 2], ax
jmp 0x4223f4
lea eax, [ebx + 6]
mov dword [esp + 8], 3
mov dword [esp + 4], 0x42a42e
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll__wcsnicmp]
mov dword [0x42f340], eax
jmp case.0x4219cf.1
movzx eax, byte [ebp - 0x4cc4]
mov dword [0x425034], eax
xor eax, eax
mov word [0x434460], ax
call dbg.WCMD_color
jmp 0x421b60
mov eax, 0x725c
add edx, 2
mov esi, ebx
mov word [edx - 2], ax
jmp 0x4221f0
mov eax, 0x225c
add edx, 2
mov esi, ebx
mov word [edx - 2], ax
jmp 0x4221f0
lea esi, [eax - 0x20]
cmp si, 0x5e
jbe 0x422a82
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 0x4221f0
mov eax, 0x745c
add edx, 2
mov esi, ebx
mov word [edx - 2], ax
jmp 0x4221f0
mov ebx, dword [ebp - 0x4cb0]
mov byte [edx], 0x22
lea eax, [edx + 1]
test esi, esi
jle 0x422a26
mov esi, 0x2e2e
mov byte [edx + 3], 0x2e
lea eax, [edx + 4]
mov word [edx + 1], si
mov byte [eax], 0
lea eax, [ebp - 0x400c]
mov dword [esp], eax
call dbg.__wine_dbg_strdup
jmp 0x4224ca
mov byte [edx], 0x22
lea eax, [edx + 1]
test ebx, ebx
jle 0x422a56
mov ecx, 0x2e2e
mov byte [edx + 3], 0x2e
lea eax, [edx + 4]
mov word [edx + 1], cx
mov byte [eax], 0
lea eax, [ebp - 0x400c]
mov dword [esp], eax
call dbg.__wine_dbg_strdup
jmp 0x4226d7
mov ebx, 2
jmp 0x421a71
mov byte [edx], al
mov edi, esi
add edx, 1
jmp 0x4223f4
mov byte [edx], al
mov esi, ebx
add edx, 1
jmp 0x4221f0
mov eax, str._null_
jmp 0x4224ca
mov eax, dword [ebp - 0x4cb0]
shr eax, 0x10
mov dword [ebp - 0x4cc8], eax
lea esi, [esi]
nop
mov dword [esp + 4], 0x3b
mov dword [esp], edi
call ebx
test eax, eax
je 0x422cde
xor ecx, ecx
add eax, 2
mov word [eax - 2], cx
mov dword [ebp - 0x4cb4], eax
mov eax, dword [ebp - 0x4cb0]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x4cb8]
mov dword [esp + 0xc], 0x400
mov dword [esp + 8], edi
mov dword [esp + 4], esi
mov dword [esp], 0
call eax
sub esp, 0x18
test eax, eax
jne 0x422c00
mov edi, dword [ebp - 0x4cb4]
test edi, edi
jne 0x422ab0
jmp 0x422d1a
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__.11
mov dword [esp + 4], 0x425038
mov dword [esp], 3
call sym._wine_dbg_log.constprop.11
jmp 0x421edc
lea eax, [ebp - 0x4ca4]
mov dword [esp + 0x14], 0
mov ebx, dword [sym.imp.advapi32.dll_RegQueryValueExW]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x4ca8]
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
mov dword [esp + 4], str.DefaultColor
mov dword [esp], eax
call ebx
sub esp, 0x18
test eax, eax
jne 0x423b14
mov edx, dword [ebp - 0x4ca4]
mov eax, dword [ebp - 0x4ca8]
cmp edx, 4
je 0x423ced
cmp edx, 1
je 0x423ab7
mov dword [esp], eax
call dword [sym.imp.advapi32.dll_RegCloseKey]
sub esp, 4
jmp 0x422742
cmp ax, 0x22
je 0x422f73
cmp ax, 0x5c
jne 0x422f00
mov eax, 0x5c5c
add edx, 2
mov ecx, esi
mov word [edx - 2], ax
jmp 0x422560
test byte [0x425038], 8
je 0x421f80
mov eax, edi
shr eax, 0x10
je 0x423a34
mov dword [esp + 4], 0xffffffff
mov dword [esp], edi
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov dword [ebp - 0x4cb4], str._invalid_
sub esp, 8
test eax, eax
jne 0x422d67
cmp word [edi], 0
je 0x422c4e
add eax, 1
cmp word [edi + eax*2], 0
jne 0x422c44
mov edx, 0x224c
lea ecx, [ebp - 0x4b3e]
mov word [ebp - 0x4b40], dx
lea edx, [ebp - 0x4a1e]
lea esi, [esi]
lea esi, [esi]
lea esi, [eax - 1]
test eax, eax
jle 0x422d36
cmp ecx, edx
ja 0x422d36
add edi, 2
movzx eax, word [edi - 2]
cmp ax, 0xd
je 0x42374c
ja 0x422cba
cmp ax, 9
je 0x423739
cmp ax, 0xa
jne 0x4236d9
mov eax, 0x6e5c
add ecx, 2
mov word [ecx - 2], ax
mov eax, esi
jmp 0x422c70
cmp ax, 0x22
je 0x42375f
cmp ax, 0x5c
jne 0x4236d9
mov ebx, 0x5c5c
add ecx, 2
mov eax, esi
mov word [ecx - 2], bx
jmp 0x422c70
mov eax, dword [ebp - 0x4cb0]
mov dword [esp + 0x14], 0
mov dword [esp + 0xc], 0x400
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x4cb8]
mov dword [esp + 8], edi
mov dword [esp + 4], esi
mov dword [esp], 0
call eax
sub esp, 0x18
test eax, eax
jne 0x422c00
test byte [0x425038], 8
jne 0x423a82
mov dword [0x430380], 1
jmp 0x421ac4
mov byte [ecx], 0x22
lea eax, [ecx + 1]
test esi, esi
jle 0x422d50
mov edx, 0x2e2e
mov byte [ecx + 3], 0x2e
lea eax, [ecx + 4]
mov word [ecx + 1], dx
mov byte [eax], 0
lea eax, [ebp - 0x4b40]
mov dword [esp], eax
call dbg.__wine_dbg_strdup
mov dword [ebp - 0x4cb4], eax
mov eax, dword [ebp - 0x4cc8]
test eax, eax
je 0x423969
mov esi, dword [ebp - 0x4cb0]
mov dword [esp + 4], 0xffffffff
mov dword [esp], esi
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov ebx, eax
sub esp, 8
mov eax, str._invalid_
test ebx, ebx
jne 0x422e71
cmp word [ebp - 0x480c], 0
je 0x422dba
mov eax, esi
lea esi, [esi]
add ebx, 1
cmp word [eax + ebx*2], 0
jne 0x422db0
mov eax, 0x224c
mov ecx, dword [ebp - 0x4cb0]
lea edx, [ebp - 0x4b3e]
lea edi, [ebp - 0x4a1e]
mov word [ebp - 0x4b40], ax
lea esi, [esi]
nop
lea esi, [ebx - 1]
test ebx, ebx
jle 0x422e46
cmp edx, edi
ja 0x422e46
add ecx, 2
movzx eax, word [ecx - 2]
cmp ax, 0xd
je 0x4233f0
ja 0x422e22
cmp ax, 9
je 0x4233dd
cmp ax, 0xa
jne 0x42337d
mov eax, 0x6e5c
add edx, 2
mov ebx, esi
mov word [edx - 2], ax
jmp 0x422de0
cmp ax, 0x22
je 0x423403
cmp ax, 0x5c
jne 0x42337d
mov ebx, 0x5c5c
add edx, 2
mov word [edx - 2], bx
mov ebx, esi
jmp 0x422de0
mov byte [edx], 0x22
lea eax, [edx + 1]
test esi, esi
jle 0x422e60
mov ecx, 0x2e2e
mov byte [edx + 3], 0x2e
lea eax, [edx + 4]
mov word [edx + 1], cx
mov byte [eax], 0
lea eax, [ebp - 0x4b40]
mov dword [esp], eax
call dbg.__wine_dbg_strdup
mov esi, dword [ebp - 0x4cb4]
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__.11
mov dword [esp + 4], 0x425038
mov dword [esp], 3
call sym._wine_dbg_log.constprop.11
jmp 0x421f80
cmp ax, 0x22
je 0x423bab
cmp ax, 0x5c
jne 0x423bdd
mov eax, 0x5c5c
add edx, 2
mov ecx, esi
mov word [edx - 2], ax
jmp 0x422672
movzx ebx, byte [ebp - 0x4cb0]
test bl, bl
je 0x421a9d
mov dword [0x430380], esi
jmp 0x421a9d
mov eax, 0x725c
add edx, 2
mov ecx, esi
mov word [edx - 2], ax
jmp 0x422560
lea ecx, [eax - 0x20]
cmp cx, 0x5e
jbe 0x423833
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 0x422560
mov eax, 0x745c
add edx, 2
mov ecx, esi
mov word [edx - 2], ax
jmp 0x422560
mov eax, 0x225c
add edx, 2
mov ecx, esi
mov word [edx - 2], ax
jmp 0x422560
mov eax, dword [ebp - 0x4cb0]
mov dword [ebp - 0x4cc8], ebx
shr eax, 0x10
mov dword [ebp - 0x4ccc], eax
mov dword [esp + 4], 0x3b
mov eax, dword [ebp - 0x4cc8]
mov dword [esp], edi
call eax
mov ebx, eax
test eax, eax
je 0x423100
mov ecx, eax
mov dword [esp + 4], edi
sub ecx, edi
mov dword [esp], esi
lea edi, [ebx + 2]
mov dword [esp + 8], ecx
mov dword [ebp - 0x4cb4], ecx
call sym._memcpy
mov eax, dword [ebp - 0x4cb0]
mov ecx, dword [ebp - 0x4cb4]
xor edx, edx
mov word [esi + ecx], dx
mov dword [esp], eax
mov eax, dword [ebp - 0x4cb8]
call eax
sub esp, 4
cmp eax, 0xffffffff
je 0x4230ee
test byte [0x425038], 8
je 0x421f80
mov eax, dword [ebp - 0x4ccc]
test eax, eax
je 0x423772
mov esi, dword [ebp - 0x4cb0]
mov dword [esp + 4], 0xffffffff
mov dword [esp], esi
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov ebx, eax
sub esp, 8
mov eax, str._invalid_
test ebx, ebx
jne 0x42315f
cmp word [ebp - 0x480c], 0
je 0x42305a
mov eax, esi
nop
add ebx, 1
cmp word [eax + ebx*2], 0
jne 0x423050
mov eax, 0x224c
mov ecx, dword [ebp - 0x4cb0]
lea edx, [ebp - 0x4b3e]
lea edi, [ebp - 0x4a1e]
mov word [ebp - 0x4b40], ax
lea esi, [esi]
nop
lea esi, [ebx - 1]
cmp edx, edi
ja 0x423134
test ebx, ebx
jle 0x423134
add ecx, 2
movzx eax, word [ecx - 2]
cmp ax, 0xd
je 0x423203
ja 0x4230ca
cmp ax, 9
je 0x4231f0
cmp ax, 0xa
jne 0x423190
mov eax, 0x6e5c
add edx, 2
mov ebx, esi
mov word [edx - 2], ax
jmp 0x423080
cmp ax, 0x22
je 0x423216
cmp ax, 0x5c
jne 0x423190
mov ebx, 0x5c5c
add edx, 2
mov word [edx - 2], bx
mov ebx, esi
jmp 0x423080
test edi, edi
jne 0x422f9b
jmp 0x422d1a
xor eax, eax
movzx edx, word [edi + eax]
mov word [esi + eax], dx
add eax, 2
test dx, dx
jne 0x423102
mov eax, dword [ebp - 0x4cb0]
mov dword [esp], eax
mov eax, dword [ebp - 0x4cb8]
call eax
sub esp, 4
cmp eax, 0xffffffff
jne 0x422ffe
jmp 0x422d1a
mov byte [edx], 0x22
lea eax, [edx + 1]
test esi, esi
jle 0x42314e
mov ecx, 0x2e2e
mov byte [edx + 3], 0x2e
lea eax, [edx + 4]
mov word [edx + 1], cx
mov byte [eax], 0
lea eax, [ebp - 0x4b40]
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__.11
mov dword [esp + 4], 0x425038
mov dword [esp], 3
call sym._wine_dbg_log.constprop.11
jmp 0x421f80
lea ebx, [eax - 0x20]
cmp bx, 0x5e
jbe 0x423827
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 0x423080
mov eax, 0x745c
add edx, 2
mov ebx, esi
mov word [edx - 2], ax
jmp 0x423080
mov eax, 0x725c
add edx, 2
mov ebx, esi
mov word [edx - 2], ax
jmp 0x423080
mov eax, 0x225c
add edx, 2
mov ebx, esi
mov word [edx - 2], ax
jmp 0x423080
mov eax, dword [ebp - 0x4cb0]
shr eax, 0x10
je 0x423a52
mov esi, dword [ebp - 0x4cb0]
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 0x42333f
cmp word [ebp - 0x480c], 0
je 0x423277
mov eax, esi
add ecx, 1
cmp word [eax + ecx*2], 0
jne 0x42326d
mov eax, 0x224c
mov dword [ebp - 0x4cb8], ebx
mov esi, dword [ebp - 0x4cb0]
lea edx, [ebp - 0x4b3e]
mov word [ebp - 0x4b40], ax
lea eax, [ebp - 0x4a1e]
mov dword [ebp - 0x4cb4], eax
lea ebx, [ecx - 1]
cmp edx, dword [ebp - 0x4cb4]
ja 0x42330b
test ecx, ecx
jle 0x42330b
add esi, 2
movzx eax, word [esi - 2]
cmp ax, 0xd
je 0x423814
ja 0x4232e7
cmp ax, 9
je 0x4237ee
cmp ax, 0xa
jne 0x42378e
mov eax, 0x6e5c
add edx, 2
mov ecx, ebx
mov word [edx - 2], ax
jmp 0x4232a1
cmp ax, 0x22
je 0x423801
cmp ax, 0x5c
jne 0x42378e
mov eax, 0x5c5c
add edx, 2
mov ecx, ebx
mov word [edx - 2], ax
jmp 0x4232a1
mov eax, ebx
mov byte [edx], 0x22
mov ebx, dword [ebp - 0x4cb8]
test eax, eax
jle 0x423c6c
mov ecx, 0x2e2e
mov byte [edx + 3], 0x2e
lea eax, [edx + 4]
mov word [edx + 1], cx
mov byte [eax], 0
lea eax, [ebp - 0x4b40]
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__.11
mov dword [esp + 4], 0x425038
mov dword [esp], 3
call sym._wine_dbg_log.constprop.11
jmp 0x421f30
mov dword [ebp - 0x4cc4], 0
mov edi, ebx
jmp 0x421a17
lea ebx, [eax - 0x20]
cmp bx, 0x5e
jbe 0x423a1e
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 0x422de0
mov eax, 0x745c
add edx, 2
mov ebx, esi
mov word [edx - 2], ax
jmp 0x422de0
mov eax, 0x725c
add edx, 2
mov ebx, esi
mov word [edx - 2], ax
jmp 0x422de0
mov eax, 0x225c
add edx, 2
mov ebx, esi
mov word [edx - 2], ax
jmp 0x422de0
mov eax, dword [ebp - 0x4cb0]
mov byte [edx], 0x22
test eax, eax
jle 0x423cbd
mov ecx, 0x2e2e
mov byte [edx + 3], 0x2e
lea eax, [edx + 4]
mov word [edx + 1], cx
mov byte [eax], 0
lea eax, [ebp - 0x400c]
mov dword [esp], eax
call dbg.__wine_dbg_strdup
mov dword [ebp - 0x4cb4], eax
mov eax, ebx
shr eax, 0x10
je 0x423b7d
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 0x423539
cmp word [ebp - 0x4c96], 0
je 0x423490
add ecx, 1
cmp word [ebx + ecx*2], 0
jne 0x423486
mov eax, 0x224c
lea edx, [ebp - 0x400a]
lea edi, [ebp - 0x3eea]
mov word [ebp - 0x400c], ax
lea esi, [ecx - 1]
cmp edx, edi
ja 0x42350e
test ecx, ecx
jle 0x42350e
add ebx, 2
movzx eax, word [ebx - 2]
cmp ax, 0xd
je 0x4238bf
ja 0x4234ea
cmp ax, 9
je 0x423945
cmp ax, 0xa
jne 0x4238e5
mov eax, 0x6e5c
add edx, 2
mov ecx, esi
mov word [edx - 2], ax
jmp 0x4234a8
cmp ax, 0x22
je 0x4238d2
cmp ax, 0x5c
jne 0x4238e5
mov eax, 0x5c5c
add edx, 2
mov ecx, esi
mov word [edx - 2], ax
jmp 0x4234a8
mov byte [edx], 0x22
lea eax, [edx + 1]
test esi, esi
jle 0x423528
mov ecx, 0x2e2e
mov byte [edx + 3], 0x2e
lea eax, [edx + 4]
mov word [edx + 1], cx
mov byte [eax], 0
lea eax, [ebp - 0x400c]
mov dword [esp], eax
call dbg.__wine_dbg_strdup
mov esi, dword [ebp - 0x4cb4]
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__.11
mov dword [esp + 4], 0x425038
mov dword [esp], 3
call sym._wine_dbg_log.constprop.11
jmp 0x421b09
mov eax, esi
mov byte [edx], 0x22
mov esi, dword [ebp - 0x4cb0]
test eax, eax
jle 0x423a7a
mov ecx, 0x2e2e
mov byte [edx + 3], 0x2e
lea eax, [edx + 4]
mov word [edx + 1], cx
mov byte [eax], 0
lea eax, [ebp - 0x480c]
mov dword [esp], eax
mov dword [ebp - 0x4cb0], eax
call dbg.__wine_dbg_strdup
jmp 0x422b33
mov eax, dword [ebp - 0x4cb0]
shr eax, 0x10
je 0x423c50
mov esi, dword [ebp - 0x4cb0]
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 0x4236ac
cmp word [ebp - 0x480c], 0
je 0x4235fd
mov eax, esi
add ecx, 1
cmp word [eax + ecx*2], 0
jne 0x4235f3
mov eax, 0x224c
mov ebx, dword [ebp - 0x4cb0]
lea edx, [ebp - 0x4b3e]
lea edi, [ebp - 0x4a1e]
mov word [ebp - 0x4b40], ax
lea esi, [ecx - 1]
test ecx, ecx
jle 0x423681
cmp edx, edi
ja 0x423681
add ebx, 2
movzx eax, word [ebx - 2]
cmp ax, 0xd
je 0x423985
ja 0x42365d
cmp ax, 9
je 0x423a0b
cmp ax, 0xa
jne 0x4239ab
mov eax, 0x6e5c
add edx, 2
mov ecx, esi
mov word [edx - 2], ax
jmp 0x42361b
cmp ax, 0x22
je 0x423998
cmp ax, 0x5c
jne 0x4239ab
mov eax, 0x5c5c
add edx, 2
mov ecx, esi
mov word [edx - 2], ax
jmp 0x42361b
mov byte [edx], 0x22
lea eax, [edx + 1]
test esi, esi
jle 0x42369b
mov ecx, 0x2e2e
mov byte [edx + 3], 0x2e
lea eax, [edx + 4]
mov word [edx + 1], cx
mov byte [eax], 0
lea eax, [ebp - 0x4b40]
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__.11
mov dword [esp + 4], 0x425038
mov dword [esp], 3
call sym._wine_dbg_log.constprop.11
jmp 0x421f80
lea ebx, [eax - 0x20]
cmp bx, 0x5e
jbe 0x423aab
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 0x422c70
mov eax, 0x745c
add ecx, 2
mov word [ecx - 2], ax
mov eax, esi
jmp 0x422c70
mov eax, 0x725c
add ecx, 2
mov word [ecx - 2], ax
mov eax, esi
jmp 0x422c70
mov eax, 0x225c
add ecx, 2
mov word [ecx - 2], ax
mov eax, esi
jmp 0x422c70
movzx eax, word [ebp - 0x4cb0]
mov dword [esp], str._04x
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf.constprop.8
jmp 0x42315f
lea ecx, [eax - 0x20]
cmp cx, 0x5e
jbe 0x423a6e
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, ebx
jmp 0x4232a1
mov eax, 0x745c
add edx, 2
mov ecx, ebx
mov word [edx - 2], ax
jmp 0x4232a1
mov eax, 0x225c
add edx, 2
mov ecx, ebx
mov word [edx - 2], ax
jmp 0x4232a1
mov eax, 0x725c
add edx, 2
mov ecx, ebx
mov word [edx - 2], ax
jmp 0x4232a1
mov byte [edx], al
mov ebx, esi
add edx, 1
jmp 0x423080
mov byte [edx], al
mov ecx, esi
add edx, 1
jmp 0x422560
lea edi, [eax - 0x20]
cmp di, 0x5e
jbe 0x423b95
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 0x421dec
mov eax, 0x745c
add edx, 2
mov word [edx - 2], ax
jmp 0x421dec
mov eax, 0x725c
add edx, 2
mov word [edx - 2], ax
jmp 0x421dec
mov eax, 0x725c
add edx, 2
mov ecx, esi
mov word [edx - 2], ax
jmp 0x4234a8
mov eax, 0x225c
add edx, 2
mov ecx, esi
mov word [edx - 2], ax
jmp 0x4234a8
lea ecx, [eax - 0x20]
cmp cx, 0x5e
jbe 0x423b9f
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 0x4234a8
mov eax, 0x745c
add edx, 2
mov ecx, esi
mov word [edx - 2], ax
jmp 0x4234a8
mov eax, 0x225c
add edx, 2
mov word [edx - 2], ax
jmp 0x421dec
movzx eax, word [ebp - 0x4cb0]
mov dword [esp], str._04x
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf.constprop.8
jmp 0x422e71
mov eax, 0x725c
add edx, 2
mov ecx, esi
mov word [edx - 2], ax
jmp 0x42361b
mov eax, 0x225c
add edx, 2
mov ecx, esi
mov word [edx - 2], ax
jmp 0x42361b
lea ecx, [eax - 0x20]
cmp cx, 0x5e
jbe 0x423bbe
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 0x42361b
mov eax, 0x745c
add edx, 2
mov ecx, esi
mov word [edx - 2], ax
jmp 0x42361b
mov byte [edx], al
mov ebx, esi
add edx, 1
jmp 0x422de0
mov eax, str._null_
jmp 0x422b33
movzx edx, di
mov dword [esp], str._04x
mov dword [esp + 4], edx
call sym._wine_dbg_sprintf.constprop.8
mov dword [ebp - 0x4cb4], eax
jmp 0x422d67
movzx eax, word [ebp - 0x4cb0]
mov dword [esp], str._04x
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf.constprop.8
jmp 0x42333f
mov byte [edx], al
mov ecx, ebx
add edx, 1
jmp 0x4232a1
lea eax, [edx + 1]
jmp 0x423593
mov dword [esp + 0xc], str.Binary_not_found__dropping_back_to_old_behaviour_n
mov dword [esp + 8], global___func__.11
mov dword [esp + 4], 0x425038
mov dword [esp], 3
call sym._wine_dbg_log.constprop.11
jmp 0x422d27
mov byte [ecx], al
add ecx, 1
mov eax, esi
jmp 0x422c70
lea edx, [ebp - 0x4c9c]
lea edi, [ebp - 0x4b40]
mov dword [ebp - 0x4c9c], 8
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], str.DefaultColor
mov dword [esp], eax
call ebx
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 - 0x4ca0], eax
mov eax, dword [ebp - 0x4ca8]
jmp 0x422bc4
mov byte [edx], 0x22
lea eax, [edx + 1]
test esi, esi
jle 0x423b39
mov ebx, 0x2e2e
mov byte [edx + 3], 0x2e
lea eax, [edx + 4]
mov word [edx + 1], bx
mov byte [eax], 0
lea eax, [ebp - 0x4b40]
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 0x4236b8
movzx eax, word [ebp - 0x4cb0]
mov dword [esp], str._04x
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf.constprop.8
mov dword [ebp - 0x4cb4], eax
jmp 0x42344e
movzx ebx, bx
mov dword [esp], str._04x
mov dword [esp + 4], ebx
call sym._wine_dbg_sprintf.constprop.8
jmp 0x423539
mov byte [edx], al
add edx, 1
jmp 0x421dec
mov byte [edx], al
mov ecx, esi
add edx, 1
jmp 0x4234a8
mov eax, 0x225c
add edx, 2
mov ecx, esi
mov word [edx - 2], ax
jmp 0x422672
mov byte [edx], al
mov ecx, esi
add edx, 1
jmp 0x42361b
mov eax, 0x725c
add edx, 2
mov ecx, esi
mov word [edx - 2], ax
jmp 0x422672
lea ecx, [eax - 0x20]
cmp cx, 0x5e
jbe 0x423cc5
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 0x422672
mov eax, 0x745c
add edx, 2
mov ecx, esi
mov word [edx - 2], ax
jmp 0x422672
movzx eax, word [ebp - 0x4cb0]
mov dword [esp], str._04x
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf.constprop.8
jmp 0x4236ac
lea eax, [edx + 1]
jmp 0x42332e
lea ecx, [ebp - 0x4c9c]
mov dword [esp + 0xc], 0
mov dword [esp + 0x14], ecx
lea ecx, [ebp - 0x4ca0]
mov dword [ebp - 0x4c9c], 4
mov dword [esp + 0x10], ecx
mov dword [esp + 8], 0
mov dword [esp + 4], str.DefaultColor
mov dword [esp], eax
call edx
mov eax, dword [ebp - 0x4ca8]
sub esp, 0x18
jmp 0x42281e
lea eax, [edx + 1]
jmp 0x423437
mov byte [edx], al
mov ecx, esi
add edx, 1
jmp 0x422672
movzx eax, word [ebp - 0x4cb0]
mov dword [esp], str._04x
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf.constprop.8
jmp 0x423b4a
lea edx, [ebp - 0x4c9c]
mov dword [esp + 0xc], 0
mov dword [esp + 0x14], edx
lea edx, [ebp - 0x4ca0]
mov dword [ebp - 0x4c9c], 4
mov dword [esp + 0x10], edx
mov dword [esp + 8], 0
mov dword [esp + 4], str.DefaultColor
mov dword [esp], eax
call ebx
mov eax, dword [ebp - 0x4ca8]
sub esp, 0x18
jmp 0x422bc4