Function at 0x421370
Capabilities:
Accept command line arguments
Check if file exists
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
Terminate process

Disassembly:
lea ecx, [esp + 4]
and esp, 0xfffffff0
mov eax, 0x4bc8
push dword [ecx - 4]
push ebp
mov ebp, esp
push edi
push esi
push ebx
push ecx
call fcn.00401050
sub esp, eax
mov eax, dword [sym.imp.kernel32.dll_GetEnvironmentVariableW]
lea esi, [ebp - 0x4a20]
mov dword [ebp - 0x4b94], 0
mov dword [esp + 8], 0x104
mov dword [esp + 4], esi
mov dword [esp], 0x437b88
mov dword [ebp - 0x4bb0], eax
call eax
mov ebx, eax
mov eax, dword [sym.imp.kernel32.dll_SetEnvironmentVariableW]
sub esp, 0xc
mov dword [ebp - 0x4ba8], eax
test ebx, ebx
je 0x421d87
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 - 0x4b3c]
mov dword [ebp - 0x4b3c], 0x11c
mov dword [esp], eax
call dword [sym.imp.ntdll.dll_RtlGetVersion]
sub esp, 4
mov dword [esp], 0x407
call sym._WCMD_LoadMessage
mov ecx, eax
xor eax, eax
lea esi, [esi]
nop
movzx edx, word [ecx + eax]
add eax, 2
mov word [eax + 0x42307e], dx
test dx, dx
jne 0x421420
mov eax, dword [ebp - 0x4b30]
lea ebx, [ebp - 0x4b6e]
mov dword [esp + 4], str._ld._ld._ld
mov dword [esp], ebx
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x4b34]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x4b38]
mov dword [esp + 8], eax
call sym._sprintf.constprop.0
mov dword [esp], 0x409
call sym._WCMD_LoadMessage
mov dword [esp + 4], ebx
mov dword [esp], eax
call sym._WCMD_format_string
mov ecx, eax
xor eax, eax
lea esi, [esi]
nop
movzx edx, word [ecx + eax]
add eax, 2
mov word [eax + 0x43443e], dx
test dx, dx
jne 0x421488
mov dword [esp], ecx
call dword [sym.imp.kernel32.dll_LocalFree]
sub esp, 4
call dword [sym.imp.kernel32.dll_GetCommandLineW]
mov edi, eax
test byte [0x423030], 8
je 0x4214c3
jmp 0x421d55
add edi, 2
movzx eax, word [edi]
test ax, ax
je 0x4214d1
cmp ax, 0x2f
jne 0x4214c0
mov dword [0x4243b0], 0
mov dword [0x4243ac], 0
mov dword [0x4243a8], 0
test ax, ax
je 0x422251
mov dword [ebp - 0x4bac], 0
mov ebx, dword [sym.imp.ucrtbase.dll_towlower]
mov dword [ebp - 0x4b9c], 0
lea esi, [esi]
cmp ax, 0x2f
jne 0x421559
movzx eax, word [edi + 2]
mov dword [esp], eax
call ebx
sub eax, 0x61
cmp ax, 0x15
ja case.0x421533.1
movzx eax, ax
jmp dword [eax*4 + 0x437cd8]
mov dword [0x434434], 0
lea esi, [esi]
mov eax, dword [0x4243a8]
or eax, dword [0x4243ac]
jne 0x4217cf
movzx eax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x421518
mov esi, edi
mov eax, dword [ebp - 0x4b9c]
test eax, eax
jne 0x42181f
mov dword [esp + 4], str._P_G
mov eax, dword [ebp - 0x4ba8]
mov dword [0x4232e8], 0
mov dword [esp], 0x43708a
call eax
mov eax, dword [0x4243a8]
sub esp, 8
or eax, dword [0x4243ac]
jne 0x421840
mov dword [ebp - 0x4ba0], 0
lea eax, [ebp - 0x4818]
mov dword [ebp - 0x4b9c], eax
mov eax, dword [ebp - 0x4b9c]
mov dword [esp], 0x400
mov dword [esp + 4], eax
call dword [sym.imp.kernel32.dll_GetCurrentDirectoryW]
movzx eax, word [ebp - 0x4818]
sub esp, 8
mov dword [esp], eax
call dword [sym.imp.user32.dll_IsCharAlphaW]
sub esp, 4
test eax, eax
jne 0x4218f0
mov eax, dword [0x4243a8]
mov dword [ebp - 0x4ba4], eax
test eax, eax
jne 0x421cbe
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 0x421ec0
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_SetConsoleTitleW]
mov ecx, dword [ebp - 0x4bac]
sub esp, 4
test ecx, ecx
je 0x421bb0
mov eax, ecx
sar eax, 4
xor eax, ecx
test al, 0xf
jne 0x422107
mov ebx, dword [0x4243ac]
test ebx, ebx
jne 0x421e0f
lea eax, [ebp - 0x4b94]
mov dword [0x4232e8], 1
mov dword [ebp - 0x4b9c], eax
call sym._WCMD_version
mov edx, dword [0x4231e8]
mov ebx, dword [sym.imp.ucrtbase.dll_free]
mov eax, 1
test edx, edx
jne 0x42173a
lea esi, [esi]
nop
mov dword [esp], 0xfffffff6
call dword [sym.imp.kernel32.dll_GetStdHandle]
sub esp, 4
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x4b9c]
mov dword [esp], 0
mov dword [esp + 4], eax
call sym._WCMD_ReadAndParseLine
test eax, eax
je 0x421d43
mov eax, dword [ebp - 0x4b94]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call sym._WCMD_process_commands
mov esi, dword [ebp - 0x4b94]
test esi, esi
je 0x42171b
lea esi, [esi]
mov edi, esi
mov esi, dword [esi + 8]
mov eax, dword [edi]
mov dword [esp], eax
call ebx
mov eax, dword [edi + 4]
mov dword [esp], eax
call ebx
mov dword [esp], edi
call ebx
test esi, esi
jne 0x4216f8
mov esi, dword [ebp - 0x4b94]
mov edx, dword [0x4231e8]
xor eax, eax
test esi, esi
mov dword [ebp - 0x4b94], 0
setne al
test edx, edx
je 0x421698
call sym._WCMD_show_prompt
jmp 0x421698
cmp word [edi + 4], 0x3a
jne case.0x421533.1
lea eax, [edi + 6]
mov dword [esp + 8], 3
mov dword [esp + 4], 0x437bc2
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll__wcsnicmp]
mov dword [0x4231d8], eax
jmp case.0x421533.1
mov dword [0x434434], 1
jmp case.0x421533.1
cmp word [edi + 4], 0x3a
jne case.0x421533.1
lea eax, [edi + 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 - 0x4bac], eax
jmp case.0x421533.1
mov dword [0x4243b0], 1
jmp case.0x421533.1
mov dword [0x4243ac], 1
movzx eax, word [edi + 4]
lea esi, [edi + 4]
test ax, ax
je 0x421567
mov ebx, dword [sym.imp.ucrtbase.dll_wcschr]
jmp 0x421800
movzx eax, word [esi + 2]
add esi, 2
test ax, ax
je 0x421567
mov dword [esp + 4], eax
mov dword [esp], str.__t__
call ebx
test eax, eax
jne 0x4217f0
mov eax, dword [ebp - 0x4b9c]
test eax, eax
je 0x421575
mov dword [esp], 0x437bc2
call sym._WCMD_echo
jmp 0x421575
mov dword [0x4243a8], 1
jmp 0x4217cf
cmp word [esi], 0
je 0x4221b6
mov eax, esi
lea esi, [esi]
add eax, 2
cmp word [eax], 0
jne 0x421850
sub eax, esi
lea ebx, [eax + 2]
mov dword [esp], ebx
call dword [sym.imp.ucrtbase.dll_malloc]
mov dword [ebp - 0x4ba0], eax
test eax, eax
je 0x4224eb
mov eax, dword [ebp - 0x4ba0]
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], eax
call sym._memcpy
mov eax, dword [0x4243b0]
test eax, eax
je 0x421999
test byte [0x423030], 8
jne 0x421a11
mov eax, dword [0x4243b0]
mov dword [ebp - 0x4ba4], eax
test eax, eax
je 0x421a57
lea eax, [ebp - 0x4818]
mov dword [ebp - 0x4b9c], eax
mov eax, dword [ebp - 0x4ba0]
cmp word [eax], 0x22
jne 0x4215c0
mov eax, dword [ebp - 0x4ba0]
mov dword [esp], eax
call sym._WCMD_strip_quotes
jmp 0x4215c0
cmp word [ebp - 0x4816], 0x3a
jne 0x4215f5
movzx eax, word [ebp - 0x4818]
lea ebx, [ebp - 0x4b7e]
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 - 0x4b9c]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x4ba8]
call eax
sub esp, 8
test byte [0x423030], 8
je 0x4215f5
mov eax, dword [ebp - 0x4b9c]
call sym._wine_dbgstr_wn.constprop.0_2
mov esi, eax
mov eax, ebx
call sym._wine_dbgstr_wn.constprop.0_2
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.Set__s_to__s_n
mov dword [esp + 8], str.wmain
mov dword [esp + 4], 0x423030
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_3
jmp 0x4215f5
mov dword [ebp - 0x4b9c], 1
jmp case.0x421533.1
mov dword [esp + 4], 0x22
mov edi, dword [sym.imp.ucrtbase.dll_wcschr]
mov dword [esp], esi
call edi
mov ebx, eax
test eax, eax
je 0x4219fa
mov eax, dword [0x4243b0]
test eax, eax
jne 0x421898
lea eax, [ebx + 2]
mov dword [esp + 4], 0x22
mov dword [esp], eax
call edi
mov esi, eax
test eax, eax
je 0x4219fa
mov eax, dword [0x4243b0]
test eax, eax
jne 0x421898
lea eax, [esi + 2]
mov dword [esp + 4], 0x22
mov dword [esp], eax
call edi
test eax, eax
je 0x421c3b
mov dword [0x4243b0], 1
test byte [0x423030], 8
je 0x4218a5
mov eax, dword [ebp - 0x4ba0]
call sym._wine_dbgstr_wn.constprop.0_2
mov dword [esp + 0xc], str._c_command_line:__s_n
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.wmain
mov dword [esp + 4], 0x423030
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_3
mov eax, dword [0x4243b0]
mov dword [ebp - 0x4ba4], eax
test eax, eax
jne 0x4218b8
mov eax, dword [ebp - 0x4ba0]
mov dword [esp + 0x10], 1
lea edi, [ebp - 0x4018]
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 dword [ebp - 0x4bb4], eax
mov eax, dword [ebp - 0x4bb0]
mov dword [esp + 4], edi
mov dword [esp], 0x437728
call eax
dec eax
sub esp, 0xc
cmp eax, 0x1ffe
jbe 0x421ad3
xor eax, eax
mov edx, 0x2e
jmp 0x421ac7
movzx edx, word [eax + str..bat_.com_.cmd_.exe]
mov word [edi + eax], dx
add eax, 2
test dx, dx
jne 0x421ac0
test byte [0x423030], 8
jne 0x421ed1
mov esi, dword [ebp - 0x4bb4]
mov dword [esp + 4], 0x5c
mov ebx, dword [sym.imp.ucrtbase.dll_wcschr]
mov dword [esp], esi
call ebx
test eax, eax
je 0x42201a
lea eax, [ebp - 0x4818]
mov dword [esp + 0xc], 0
mov dword [ebp - 0x4b9c], eax
mov dword [esp + 8], eax
mov dword [esp + 4], 0x400
mov dword [esp], esi
call dword [sym.imp.kernel32.dll_GetFullPathNameW]
sub esp, 0x10
test eax, eax
je 0x421d43
cmp eax, 0x400
ja 0x4223ab
test byte [0x423030], 8
jne 0x4222c9
cmp word [ebp - 0x4818], 0
mov esi, dword [ebp - 0x4b9c]
je 0x421b69
lea esi, [esi]
add esi, 2
cmp word [esi], 0
jne 0x421b60
mov eax, dword [ebp - 0x4b9c]
mov dword [esp], eax
mov eax, dword [sym.imp.kernel32.dll_GetFileAttributesW]
mov dword [ebp - 0x4bb0], eax
call eax
sub esp, 4
cmp eax, 0xffffffff
je 0x422301
test byte [0x423030], 8
jne 0x422235
mov eax, dword [0x4243b0]
test eax, eax
je 0x4215c0
jmp 0x4218c4
lea ebx, [ebp - 0x4b90]
mov dword [esp + 0xc], 0x20019
mov esi, dword [sym.imp.advapi32.dll_RegOpenKeyExW]
mov dword [ebp - 0x4b88], 0
mov dword [ebp - 0x4b84], 4
mov dword [esp + 0x10], ebx
mov dword [esp + 8], 0
mov dword [esp + 4], str.SoftwareMicrosoftCommand_Processor
mov dword [esp], 0x80000001
call esi
sub esp, 0x14
test eax, eax
je 0x421f44
mov eax, dword [ebp - 0x4b88]
test eax, eax
je 0x421f09
mov edx, eax
shr edx, 4
xor edx, eax
and edx, 0xf
je 0x421651
and eax, 0xff
xor esi, esi
mov dword [0x4231d0], eax
mov word [0x428400], si
call sym._WCMD_color
jmp 0x421651
mov eax, dword [0x4243b0]
test eax, eax
jne 0x421898
mov dword [0x4243b0], 1
cmp ebx, esi
je 0x421898
xor edi, edi
mov ecx, 1
jmp 0x421c81
mov eax, 0x540000d
bt eax, edx
jb 0x421df3
add ebx, 2
cmp esi, ebx
je 0x422262
movzx eax, word [ebx]
lea edx, [eax - 0x26]
cmp dx, 0x1a
jbe 0x421c68
cmp ax, 0x5e
je 0x421df3
cmp ax, 0x7c
je 0x421df3
cmp ax, 0x20
sete dl
cmp ax, 9
sete al
or dl, al
mov eax, 0
cmovne edi, edx
cmovne ecx, eax
jmp 0x421c76
lea eax, [ebp - 0x4b94]
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x4ba0]
mov dword [esp], eax
call sym._WCMD_ReadAndParseLine
mov eax, dword [ebp - 0x4b94]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call sym._WCMD_process_commands
mov esi, dword [ebp - 0x4b94]
mov ebx, dword [sym.imp.ucrtbase.dll_free]
test esi, esi
je 0x421d2d
lea esi, [esi]
mov edi, esi
mov esi, dword [esi + 8]
mov eax, dword [edi]
mov dword [esp], eax
call ebx
mov eax, dword [edi + 4]
mov dword [esp], eax
call ebx
mov dword [esp], edi
call ebx
test esi, esi
jne 0x421d10
mov eax, dword [ebp - 0x4ba0]
mov dword [esp], eax
call ebx
mov eax, dword [0x4231f0]
mov dword [ebp - 0x4ba4], eax
mov eax, dword [ebp - 0x4ba4]
lea esp, [ebp - 0x10]
pop ecx
pop ebx
pop esi
pop edi
pop ebp
lea esp, [ecx - 4]
ret
call sym._wine_dbgstr_wn.constprop.0_2
mov dword [esp + 0xc], str.Full_commandline__s_n
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.wmain
mov dword [esp + 4], 0x423030
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_3
jmp 0x4214c3
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 0x421db9
lea esi, [esi]
nop
add eax, 2
cmp word [eax], 0
jne 0x421db0
mov edx, 0x5c
jmp 0x421dc7
movzx edx, word [ebx + str.cmd.exe]
mov word [eax + ebx], dx
add ebx, 2
test dx, dx
jne 0x421dc0
mov eax, dword [sym.imp.kernel32.dll_SetEnvironmentVariableW]
mov dword [esp + 4], esi
mov dword [esp], 0x437b88
mov dword [ebp - 0x4ba8], eax
call eax
sub esp, 8
jmp 0x4213d5
mov dword [0x4243b0], 1
test byte [0x423030], 8
je 0x4218b8
jmp 0x421a11
lea eax, [ebp - 0x4b94]
mov dword [esp + 8], 0xffffffff
mov dword [ebp - 0x4b9c], eax
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x4ba0]
mov dword [esp], eax
call sym._WCMD_ReadAndParseLine
mov eax, dword [ebp - 0x4b94]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call sym._WCMD_process_commands
mov esi, dword [ebp - 0x4b94]
mov ebx, dword [sym.imp.ucrtbase.dll_free]
test esi, esi
je 0x421e85
lea esi, [esi]
nop
mov edi, esi
mov esi, dword [esi + 8]
mov eax, dword [edi]
mov dword [esp], eax
call ebx
mov eax, dword [edi + 4]
mov dword [esp], eax
call ebx
mov dword [esp], edi
call ebx
test esi, esi
jne 0x421e68
mov dword [ebp - 0x4b94], 0
mov eax, dword [ebp - 0x4ba0]
mov dword [esp], eax
call ebx
mov ecx, dword [0x4243ac]
mov dword [0x4232e8], 1
test ecx, ecx
jne 0x42167a
jmp 0x421675
mov dword [esp], 0x408
call sym._WCMD_LoadMessage
jmp 0x421628
mov eax, dword [ebp - 0x4bb4]
call sym._wine_dbgstr_wn.constprop.0_2
mov dword [esp + 0xc], str.First_parameter_is__s_n
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.wmain
mov dword [esp + 4], 0x423030
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_3
jmp 0x421ae0
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], 0x20019
mov dword [esp + 8], 0
mov dword [esp + 4], str.SoftwareMicrosoftCommand_Processor
mov dword [esp], 0x80000002
call esi
sub esp, 0x14
test eax, eax
je 0x4221c0
mov eax, dword [ebp - 0x4b88]
jmp 0x421c0e
lea eax, [ebp - 0x4b8c]
mov dword [esp + 0x14], 0
mov edi, dword [sym.imp.advapi32.dll_RegQueryValueExW]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x4b90]
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
mov dword [esp + 4], str.DefaultColor
mov dword [esp], eax
call edi
sub esp, 0x18
test eax, eax
jne 0x422003
mov edx, dword [ebp - 0x4b8c]
mov eax, dword [ebp - 0x4b90]
cmp edx, 4
je 0x422459
cmp edx, 1
jne 0x422009
lea edx, [ebp - 0x4b84]
mov dword [esp + 0xc], 0
mov dword [esp + 0x14], edx
lea edx, [ebp - 0x4b76]
mov dword [esp + 0x10], edx
mov dword [ebp - 0x4b84], 8
mov dword [esp + 8], 0
mov dword [esp + 4], str.DefaultColor
mov dword [esp], eax
call edi
lea edx, [ebp - 0x4b76]
sub esp, 0x18
mov dword [esp + 8], 0xa
mov dword [esp + 4], 0
mov dword [esp], edx
call dword [sym.imp.ucrtbase.dll_wcstoul]
mov dword [ebp - 0x4b88], eax
mov eax, dword [ebp - 0x4b90]
mov dword [esp], eax
call dword [sym.imp.advapi32.dll_RegCloseKey]
sub esp, 4
jmp 0x421c00
lea eax, [ebp - 0x4818]
mov dword [esp + 0x14], 0
mov dword [ebp - 0x4b9c], eax
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x4bb4]
mov dword [esp + 0xc], 0x400
mov dword [esp + 4], eax
mov eax, dword [sym.imp.kernel32.dll_SearchPathW]
mov dword [esp + 8], 0
mov dword [esp], 0
mov dword [ebp - 0x4ba4], eax
call eax
sub esp, 0x18
test eax, eax
je 0x4220ac
test byte [0x423030], 8
je 0x421b98
mov eax, dword [ebp - 0x4b9c]
call sym._wine_dbgstr_wn.constprop.0_2
mov dword [esp + 0xc], str.Found_on_path_as__s_n
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.wmain
mov dword [esp + 4], 0x423030
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_3
jmp 0x421b98
mov dword [esp + 4], 0x3b
mov dword [esp], edi
call ebx
test eax, eax
je 0x422122
xor edx, edx
lea esi, [eax + 2]
mov word [eax], dx
mov eax, dword [ebp - 0x4b9c]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x4bb4]
mov dword [esp + 0xc], 0x400
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x4ba4]
mov dword [esp + 8], edi
mov dword [esp], 0
call eax
sub esp, 0x18
test eax, eax
jne 0x422164
mov edi, esi
jmp 0x4220ac
movzx eax, cl
xor edi, edi
mov dword [0x4231d0], eax
mov word [0x428400], di
call sym._WCMD_color
jmp 0x421651
mov eax, dword [ebp - 0x4b9c]
mov dword [esp + 0x14], 0
mov dword [esp + 0xc], 0x400
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x4bb4]
mov dword [esp + 8], edi
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x4ba4]
mov dword [esp], 0
call eax
sub esp, 0x18
test eax, eax
je 0x4222ad
test byte [0x423030], 8
je 0x421b98
mov eax, edi
call sym._wine_dbgstr_wn.constprop.0_2
mov ebx, eax
mov eax, dword [ebp - 0x4b9c]
call sym._wine_dbgstr_wn.constprop.0_2
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.Found_on_path_as__s_with_extension__s_n
mov dword [esp + 8], str.wmain
mov dword [esp + 4], 0x423030
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_3
jmp 0x421b98
mov ebx, 2
jmp 0x42185e
lea eax, [ebp - 0x4b8c]
mov dword [esp + 0x14], 0
mov ebx, dword [sym.imp.advapi32.dll_RegQueryValueExW]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x4b90]
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 0x422425
mov edx, dword [ebp - 0x4b8c]
mov eax, dword [ebp - 0x4b90]
cmp edx, 4
je 0x4224a2
cmp edx, 1
je 0x4223c8
mov dword [esp], eax
call dword [sym.imp.advapi32.dll_RegCloseKey]
sub esp, 4
jmp 0x421f39
mov eax, dword [ebp - 0x4b9c]
call sym._wine_dbgstr_wn.constprop.0_2
mov dword [esp + 0xc], str.Found_file_as__s_n
mov dword [esp + 0x10], eax
jmp 0x42208b
mov dword [ebp - 0x4bac], 0
mov esi, edi
jmp 0x421575
mov eax, edi
test al, al
je 0x421898
mov dword [0x4243b0], ecx
jmp 0x421898
xor eax, eax
lea esi, [esi]
movzx edx, word [edi + eax]
mov word [esi + eax], dx
add eax, 2
test dx, dx
jne 0x422280
mov eax, dword [ebp - 0x4b9c]
mov dword [esp], eax
mov eax, dword [ebp - 0x4bb0]
call eax
sub esp, 4
cmp eax, 0xffffffff
jne 0x422366
test byte [0x423030], 8
jne 0x422430
mov dword [0x4243b0], 1
jmp 0x4218c4
mov eax, dword [ebp - 0x4b9c]
call sym._wine_dbgstr_wn.constprop.0_2
mov dword [esp + 0xc], str.Full_path_name__s_n
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.wmain
mov dword [esp + 4], 0x423030
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_3
jmp 0x421b4d
mov dword [ebp - 0x4bb4], ebx
mov dword [esp + 4], 0x3b
mov eax, dword [ebp - 0x4bb4]
mov dword [esp], edi
call eax
mov ebx, eax
test eax, eax
je 0x422277
mov ecx, eax
mov dword [esp + 4], edi
sub ecx, edi
mov dword [esp], esi
xor edi, edi
mov dword [esp + 8], ecx
mov dword [ebp - 0x4ba4], ecx
call sym._memcpy
mov eax, dword [ebp - 0x4b9c]
mov ecx, dword [ebp - 0x4ba4]
mov word [esi + ecx], di
lea edi, [ebx + 2]
mov dword [esp], eax
mov eax, dword [ebp - 0x4bb0]
call eax
sub esp, 4
cmp eax, 0xffffffff
je 0x422307
test byte [0x423030], 8
je 0x421b98
mov eax, dword [ebp - 0x4b9c]
call sym._wine_dbgstr_wn.constprop.0_2
mov dword [esp + 0xc], str.Found_file_as__s_n
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.wmain
mov dword [esp + 4], 0x423030
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_3
jmp 0x421b98
mov dword [esp], 0x416
call sym._WCMD_LoadMessage
mov edx, eax
mov eax, 0xfffffff4
call sym._WCMD_output_asis_handle
jmp 0x421d43
lea edx, [ebp - 0x4b84]
lea esi, [ebp - 0x4b76]
mov dword [ebp - 0x4b84], 8
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], esi
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], esi
call dword [sym.imp.ucrtbase.dll_wcstoul]
mov dword [ebp - 0x4b88], eax
mov eax, dword [ebp - 0x4b90]
jmp 0x422224
mov dword [esp + 0xc], str.Binary_not_found__dropping_back_to_old_behaviour_n
mov dword [esp + 8], str.wmain
mov dword [esp + 4], 0x423030
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_3
jmp 0x4222ba
lea edx, [ebp - 0x4b84]
mov dword [esp + 0xc], 0
mov dword [esp + 0x14], edx
lea edx, [ebp - 0x4b88]
mov dword [ebp - 0x4b84], 4
mov dword [esp + 0x10], edx
mov dword [esp + 8], 0
mov dword [esp + 4], str.DefaultColor
mov dword [esp], eax
call edi
mov eax, dword [ebp - 0x4b90]
sub esp, 0x18
jmp 0x422009
lea edx, [ebp - 0x4b84]
mov dword [esp + 0xc], 0
mov dword [esp + 0x14], edx
lea edx, [ebp - 0x4b88]
mov dword [ebp - 0x4b84], 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 - 0x4b90]
sub esp, 0x18
jmp 0x422224
test byte [0x423030], 2
jne 0x422501
mov dword [esp], 1
call dword [sym.imp.kernel32.dll_ExitProcess]
mov dword [esp + 0xc], str.Out_of_memory_n
mov dword [esp + 8], str.xalloc
mov dword [esp + 4], 0x423030
mov dword [esp], 1
call sym._wine_dbg_log.constprop.0_3
jmp 0x4224f4