Function at 0x420e20
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], 0x437a00
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 0x421837
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 0x420ed0
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 0x420f38
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 0x420f73
jmp 0x421805
add edi, 2
movzx eax, word [edi]
test ax, ax
je 0x420f81
cmp ax, 0x2f
jne 0x420f70
mov dword [0x4243b0], 0
mov dword [0x4243ac], 0
mov dword [0x4243a8], 0
test ax, ax
je 0x421d01
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 0x421009
movzx eax, word [edi + 2]
mov dword [esp], eax
call ebx
sub eax, 0x61
cmp ax, 0x15
ja case.0x420fe3.1
movzx eax, ax
jmp dword [eax*4 + 0x437b50]
mov dword [0x434434], 0
lea esi, [esi]
mov eax, dword [0x4243a8]
or eax, dword [0x4243ac]
jne 0x42127f
movzx eax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x420fc8
mov esi, edi
mov eax, dword [ebp - 0x4b9c]
test eax, eax
jne 0x4212cf
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 0x4212f0
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 0x4213a0
mov eax, dword [0x4243a8]
mov dword [ebp - 0x4ba4], eax
test eax, eax
jne 0x42176e
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 0x421970
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_SetConsoleTitleW]
mov ecx, dword [ebp - 0x4bac]
sub esp, 4
test ecx, ecx
je 0x421660
mov eax, ecx
sar eax, 4
xor eax, ecx
test al, 0xf
jne 0x421bb7
mov ebx, dword [0x4243ac]
test ebx, ebx
jne 0x4218bf
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 0x4211ea
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 0x4217f3
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 0x4211cb
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 0x4211a8
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 0x421148
call sym._WCMD_show_prompt
jmp 0x421148
cmp word [edi + 4], 0x3a
jne case.0x420fe3.1
lea eax, [edi + 6]
mov dword [esp + 8], 3
mov dword [esp + 4], 0x437a3a
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll__wcsnicmp]
mov dword [0x4231d8], eax
jmp case.0x420fe3.1
mov dword [0x434434], 1
jmp case.0x420fe3.1
cmp word [edi + 4], 0x3a
jne case.0x420fe3.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.0x420fe3.1
mov dword [0x4243b0], 1
jmp case.0x420fe3.1
mov dword [0x4243ac], 1
movzx eax, word [edi + 4]
lea esi, [edi + 4]
test ax, ax
je 0x421017
mov ebx, dword [sym.imp.ucrtbase.dll_wcschr]
jmp 0x4212b0
movzx eax, word [esi + 2]
add esi, 2
test ax, ax
je 0x421017
mov dword [esp + 4], eax
mov dword [esp], str.__t__
call ebx
test eax, eax
jne 0x4212a0
mov eax, dword [ebp - 0x4b9c]
test eax, eax
je 0x421025
mov dword [esp], 0x437a3a
call sym._WCMD_echo
jmp 0x421025
mov dword [0x4243a8], 1
jmp 0x42127f
cmp word [esi], 0
je 0x421c66
mov eax, esi
lea esi, [esi]
add eax, 2
cmp word [eax], 0
jne 0x421300
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 0x421f9b
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 0x421449
test byte [0x423030], 8
jne 0x4214c1
mov eax, dword [0x4243b0]
mov dword [ebp - 0x4ba4], eax
test eax, eax
je 0x421507
lea eax, [ebp - 0x4818]
mov dword [ebp - 0x4b9c], eax
mov eax, dword [ebp - 0x4ba0]
cmp word [eax], 0x22
jne 0x421070
mov eax, dword [ebp - 0x4ba0]
mov dword [esp], eax
call sym._WCMD_strip_quotes
jmp 0x421070
cmp word [ebp - 0x4816], 0x3a
jne 0x4210a5
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 0x4210a5
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 0x4210a5
mov dword [ebp - 0x4b9c], 1
jmp case.0x420fe3.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 0x4214aa
mov eax, dword [0x4243b0]
test eax, eax
jne 0x421348
lea eax, [ebx + 2]
mov dword [esp + 4], 0x22
mov dword [esp], eax
call edi
mov esi, eax
test eax, eax
je 0x4214aa
mov eax, dword [0x4243b0]
test eax, eax
jne 0x421348
lea eax, [esi + 2]
mov dword [esp + 4], 0x22
mov dword [esp], eax
call edi
test eax, eax
je 0x4216eb
mov dword [0x4243b0], 1
test byte [0x423030], 8
je 0x421355
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 0x421368
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 0x421583
xor eax, eax
mov edx, 0x2e
jmp 0x421577
movzx edx, word [eax + str..bat_.com_.cmd_.exe]
mov word [edi + eax], dx
add eax, 2
test dx, dx
jne 0x421570
test byte [0x423030], 8
jne 0x421981
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 0x421aca
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 0x4217f3
cmp eax, 0x400
ja 0x421e5b
test byte [0x423030], 8
jne 0x421d79
cmp word [ebp - 0x4818], 0
mov esi, dword [ebp - 0x4b9c]
je 0x421619
lea esi, [esi]
add esi, 2
cmp word [esi], 0
jne 0x421610
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 0x421db1
test byte [0x423030], 8
jne 0x421ce5
mov eax, dword [0x4243b0]
test eax, eax
je 0x421070
jmp 0x421374
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 0x4219f4
mov eax, dword [ebp - 0x4b88]
test eax, eax
je 0x4219b9
mov edx, eax
shr edx, 4
xor edx, eax
and edx, 0xf
je 0x421101
and eax, 0xff
xor esi, esi
mov dword [0x4231d0], eax
mov word [0x428400], si
call sym._WCMD_color
jmp 0x421101
mov eax, dword [0x4243b0]
test eax, eax
jne 0x421348
mov dword [0x4243b0], 1
cmp ebx, esi
je 0x421348
xor edi, edi
mov ecx, 1
jmp 0x421731
mov eax, 0x540000d
bt eax, edx
jb 0x4218a3
add ebx, 2
cmp esi, ebx
je 0x421d12
movzx eax, word [ebx]
lea edx, [eax - 0x26]
cmp dx, 0x1a
jbe 0x421718
cmp ax, 0x5e
je 0x4218a3
cmp ax, 0x7c
je 0x4218a3
cmp ax, 0x20
sete dl
cmp ax, 9
sete al
or dl, al
mov eax, 0
cmovne edi, edx
cmovne ecx, eax
jmp 0x421726
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 0x4217dd
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 0x4217c0
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 0x420f73
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 0x421869
lea esi, [esi]
nop
add eax, 2
cmp word [eax], 0
jne 0x421860
mov edx, 0x5c
jmp 0x421877
movzx edx, word [ebx + str.cmd.exe]
mov word [eax + ebx], dx
add ebx, 2
test dx, dx
jne 0x421870
mov eax, dword [sym.imp.kernel32.dll_SetEnvironmentVariableW]
mov dword [esp + 4], esi
mov dword [esp], 0x437a00
mov dword [ebp - 0x4ba8], eax
call eax
sub esp, 8
jmp 0x420e85
mov dword [0x4243b0], 1
test byte [0x423030], 8
je 0x421368
jmp 0x4214c1
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 0x421935
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 0x421918
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 0x42112a
jmp 0x421125
mov dword [esp], 0x408
call sym._WCMD_LoadMessage
jmp 0x4210d8
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 0x421590
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 0x421c70
mov eax, dword [ebp - 0x4b88]
jmp 0x4216be
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 0x421ab3
mov edx, dword [ebp - 0x4b8c]
mov eax, dword [ebp - 0x4b90]
cmp edx, 4
je 0x421f09
cmp edx, 1
jne 0x421ab9
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 0x4216b0
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 0x421b5c
test byte [0x423030], 8
je 0x421648
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 0x421648
mov dword [esp + 4], 0x3b
mov dword [esp], edi
call ebx
test eax, eax
je 0x421bd2
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 0x421c14
mov edi, esi
jmp 0x421b5c
movzx eax, cl
xor edi, edi
mov dword [0x4231d0], eax
mov word [0x428400], di
call sym._WCMD_color
jmp 0x421101
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 0x421d5d
test byte [0x423030], 8
je 0x421648
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 0x421648
mov ebx, 2
jmp 0x42130e
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 0x421ed5
mov edx, dword [ebp - 0x4b8c]
mov eax, dword [ebp - 0x4b90]
cmp edx, 4
je 0x421f52
cmp edx, 1
je 0x421e78
mov dword [esp], eax
call dword [sym.imp.advapi32.dll_RegCloseKey]
sub esp, 4
jmp 0x4219e9
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 0x421b3b
mov dword [ebp - 0x4bac], 0
mov esi, edi
jmp 0x421025
mov eax, edi
test al, al
je 0x421348
mov dword [0x4243b0], ecx
jmp 0x421348
xor eax, eax
lea esi, [esi]
movzx edx, word [edi + eax]
mov word [esi + eax], dx
add eax, 2
test dx, dx
jne 0x421d30
mov eax, dword [ebp - 0x4b9c]
mov dword [esp], eax
mov eax, dword [ebp - 0x4bb0]
call eax
sub esp, 4
cmp eax, 0xffffffff
jne 0x421e16
test byte [0x423030], 8
jne 0x421ee0
mov dword [0x4243b0], 1
jmp 0x421374
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 0x4215fd
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 0x421d27
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 0x421db7
test byte [0x423030], 8
je 0x421648
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 0x421648
mov dword [esp], 0x416
call sym._WCMD_LoadMessage
mov edx, eax
mov eax, 0xfffffff4
call sym._WCMD_output_asis_handle
jmp 0x4217f3
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 0x421cd4
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 0x421d6a
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 0x421ab9
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 0x421cd4
test byte [0x423030], 2
jne 0x421fb1
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 0x421fa4