Function at 0x421590
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:
push ebp
mov eax, 0x4bb0
mov ebp, esp
push edi
push esi
push ebx
call fcn.00401050
sub esp, eax
mov eax, dword [sym.imp.kernel32.dll_GetEnvironmentVariableW]
lea esi, [ebp - 0x4a14]
mov dword [ebp - 0x4b88], 0
mov dword [esp + 8], 0x104
mov dword [esp + 4], esi
mov dword [esp], str.gN_N
mov dword [ebp - 0x4ba0], eax
call eax
mov ebx, eax
mov eax, dword [sym.imp.kernel32.dll_SetEnvironmentVariableW]
sub esp, 0xc
mov dword [ebp - 0x4b98], eax
test ebx, ebx
je 0x421e59
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 - 0x4b30]
mov dword [ebp - 0x4b30], 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]
movzx edx, word [ecx + eax]
add eax, 2
mov word [eax + 0x42307e], dx
test dx, dx
jne 0x421630
mov eax, dword [ebp - 0x4b24]
lea ebx, [ebp - 0x4b62]
mov dword [esp + 4], str._ld._ld._ld
mov dword [esp], ebx
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x4b28]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x4b2c]
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 + 0x4346fe], dx
test dx, dx
jne 0x421698
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 0x4216d3
jmp 0x421ec3
add edi, 2
movzx eax, word [edi]
test ax, ax
je 0x4216e1
cmp ax, 0x2f
jne 0x4216d0
mov dword [0x424510], 0
mov dword [0x42450c], 0
mov dword [0x424508], 0
test ax, ax
je 0x422593
mov dword [ebp - 0x4b9c], 0
mov ebx, dword [sym.imp.ucrtbase.dll_towlower]
mov dword [ebp - 0x4b8c], 0
lea esi, [esi]
cmp ax, 0x2f
jne 0x421769
movzx eax, word [edi + 2]
mov dword [esp], eax
call ebx
sub eax, 0x61
cmp ax, 0x15
ja case.0x421743.1
movzx eax, ax
jmp dword [eax*4 + 0x437cf4]
mov dword [0x4346e0], 0
lea esi, [esi]
mov eax, dword [0x424508]
or eax, dword [0x42450c]
jne 0x421a67
movzx eax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x421728
mov esi, edi
mov eax, dword [ebp - 0x4b8c]
test eax, eax
jne 0x421aaf
mov dword [esp + 4], str._P_G
mov eax, dword [ebp - 0x4b98]
mov dword [0x423448], 0
mov dword [esp], 0x4370a6
call eax
mov eax, dword [0x424508]
sub esp, 8
or eax, dword [0x42450c]
je 0x421fe6
cmp word [esi], 0
je 0x4223d1
mov eax, esi
lea esi, [esi]
lea esi, [esi]
add eax, 2
cmp word [eax], 0
jne 0x4217d0
sub eax, esi
lea ebx, [eax + 2]
mov dword [esp], ebx
call dword [sym.imp.ucrtbase.dll_malloc]
mov dword [ebp - 0x4b90], eax
test eax, eax
je 0x4226b7
mov eax, dword [ebp - 0x4b90]
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], eax
call sym._memcpy
mov eax, dword [0x424510]
test eax, eax
je 0x421ef5
test byte [0x423030], 8
jne 0x421d7a
mov eax, dword [0x424510]
mov dword [ebp - 0x4b94], eax
test eax, eax
je 0x421b79
lea eax, [ebp - 0x480c]
mov dword [ebp - 0x4b8c], eax
mov eax, dword [ebp - 0x4b90]
cmp word [eax], 0x22
je 0x4220d1
mov eax, dword [ebp - 0x4b8c]
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 0x421ad0
mov eax, dword [0x424508]
mov dword [ebp - 0x4b94], eax
test eax, eax
jne 0x421dc5
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 0x4220c0
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_SetConsoleTitleW]
mov ecx, dword [ebp - 0x4b9c]
sub esp, 4
test ecx, ecx
je 0x421cd8
mov eax, ecx
sar eax, 4
xor eax, ecx
test al, 0xf
jne 0x4223b6
mov ebx, dword [0x42450c]
test ebx, ebx
jne 0x422019
lea eax, [ebp - 0x4b88]
mov dword [0x423448], 1
mov dword [ebp - 0x4b8c], eax
call sym._WCMD_version
mov edx, dword [0x42333c]
mov ebx, dword [sym.imp.ucrtbase.dll_free]
mov eax, 1
test edx, edx
jne 0x4219d2
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 - 0x4b8c]
mov dword [esp], 0
mov dword [esp + 4], eax
call sym._WCMD_ReadAndParseLine
test eax, eax
je 0x421e4b
mov eax, dword [ebp - 0x4b88]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call sym._WCMD_process_commands
mov esi, dword [ebp - 0x4b88]
test esi, esi
je 0x4219b3
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 0x421990
mov esi, dword [ebp - 0x4b88]
mov edx, dword [0x42333c]
xor eax, eax
test esi, esi
mov dword [ebp - 0x4b88], 0
setne al
test edx, edx
je 0x421930
call sym._WCMD_show_prompt
jmp 0x421930
cmp word [edi + 4], 0x3a
jne case.0x421743.1
lea eax, [edi + 6]
mov dword [esp + 8], 3
mov dword [esp + 4], 0x437bde
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll__wcsnicmp]
mov dword [0x42332c], eax
jmp case.0x421743.1
mov dword [0x4346e0], 1
jmp case.0x421743.1
cmp word [edi + 4], 0x3a
jne case.0x421743.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 - 0x4b9c], eax
jmp case.0x421743.1
mov dword [0x424510], 1
jmp case.0x421743.1
mov dword [0x42450c], 1
movzx eax, word [edi + 4]
lea esi, [edi + 4]
test ax, ax
je 0x421777
mov ebx, dword [sym.imp.ucrtbase.dll_wcschr]
jmp 0x421a90
movzx eax, word [esi + 2]
add esi, 2
test ax, ax
je 0x421777
mov dword [esp + 4], eax
mov dword [esp], str.__t__
call ebx
test eax, eax
jne 0x421a80
mov eax, dword [ebp - 0x4b8c]
test eax, eax
je 0x421785
mov dword [esp], 0x437bde
call sym._WCMD_echo
jmp 0x421785
mov dword [0x424508], 1
jmp 0x421a67
cmp word [ebp - 0x480a], 0x3a
jne 0x421889
movzx eax, word [ebp - 0x480c]
lea ebx, [ebp - 0x4b72]
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 - 0x4b8c]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x4b98]
call eax
sub esp, 8
test byte [0x423030], 8
je 0x421889
mov eax, dword [ebp - 0x4b8c]
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 0x421889
mov dword [ebp - 0x4b8c], 1
jmp case.0x421743.1
mov eax, dword [ebp - 0x4b90]
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 dword [ebp - 0x4ba4], eax
mov eax, dword [ebp - 0x4ba0]
mov dword [esp + 4], edi
mov dword [esp], 0x437744
call eax
dec eax
sub esp, 0xc
cmp eax, 0x1ffe
jbe 0x421bfb
xor eax, eax
mov edx, 0x2e
jmp 0x421bef
movzx edx, word [eax + str..bat_.com_.cmd_.exe]
mov word [edi + eax], dx
add eax, 2
test dx, dx
jne 0x421be8
test byte [0x423030], 8
jne 0x4220e4
mov esi, dword [ebp - 0x4ba4]
mov dword [esp + 4], 0x5c
mov ebx, dword [sym.imp.ucrtbase.dll_wcschr]
mov dword [esp], esi
call ebx
test eax, eax
je 0x42211c
lea eax, [ebp - 0x480c]
mov dword [esp + 0xc], 0
mov dword [ebp - 0x4b8c], 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 0x421e4b
cmp eax, 0x400
ja 0x4225c0
test byte [0x423030], 8
jne 0x42255b
cmp word [ebp - 0x480c], 0
mov esi, dword [ebp - 0x4b8c]
je 0x421c91
lea esi, [esi]
add esi, 2
cmp word [esi], 0
jne 0x421c88
mov eax, dword [ebp - 0x4b8c]
mov dword [esp], eax
mov eax, dword [sym.imp.kernel32.dll_GetFileAttributesW]
mov dword [ebp - 0x4ba0], eax
call eax
sub esp, 4
cmp eax, 0xffffffff
je 0x4224b5
test byte [0x423030], 8
jne 0x4225a4
mov eax, dword [0x424510]
test eax, eax
je 0x421854
jmp 0x421844
lea ebx, [ebp - 0x4b84]
mov dword [esp + 0xc], 0x20019
mov esi, dword [sym.imp.advapi32.dll_RegOpenKeyExW]
mov dword [ebp - 0x4b7c], 0
mov dword [ebp - 0x4b78], 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 0x422211
mov eax, dword [ebp - 0x4b7c]
test eax, eax
je 0x4222e7
mov edx, eax
shr edx, 4
xor edx, eax
and edx, 0xf
je 0x4218e5
and eax, 0xff
xor esi, esi
mov dword [0x423324], eax
mov word [0x428560], si
call sym._WCMD_color
jmp 0x4218e5
mov dword [0x424510], 1
test byte [0x423030], 8
je 0x421838
mov eax, dword [ebp - 0x4b90]
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 [0x424510]
mov dword [ebp - 0x4b94], eax
test eax, eax
jne 0x421838
jmp 0x421b79
lea eax, [ebp - 0x4b88]
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x4b90]
mov dword [esp], eax
call sym._WCMD_ReadAndParseLine
mov eax, dword [ebp - 0x4b88]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call sym._WCMD_process_commands
mov esi, dword [ebp - 0x4b88]
mov ebx, dword [sym.imp.ucrtbase.dll_free]
test esi, esi
je 0x421e35
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 0x421e18
mov eax, dword [ebp - 0x4b90]
mov dword [esp], eax
call ebx
mov eax, dword [0x423344]
mov dword [ebp - 0x4b94], eax
mov eax, dword [ebp - 0x4b94]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
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 0x421e89
lea esi, [esi]
add eax, 2
cmp word [eax], 0
jne 0x421e80
mov edx, 0x5c
jmp 0x421e97
movzx edx, word [ebx + str.cmd.exe]
mov word [eax + ebx], dx
add ebx, 2
test dx, dx
jne 0x421e90
mov eax, dword [sym.imp.kernel32.dll_SetEnvironmentVariableW]
mov dword [esp + 4], esi
mov dword [esp], str.gN_N
mov dword [ebp - 0x4b98], eax
call eax
sub esp, 8
jmp 0x4215ea
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 0x4216d3
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 0x421f52
mov eax, dword [0x424510]
test eax, eax
jne 0x421818
lea eax, [ebx + 2]
mov dword [esp + 4], 0x22
mov dword [esp], eax
call edi
mov esi, eax
test eax, eax
je 0x421f52
mov eax, dword [0x424510]
test eax, eax
jne 0x421818
lea eax, [esi + 2]
mov dword [esp + 4], 0x22
mov dword [esp], eax
call edi
test eax, eax
je 0x421f61
mov dword [0x424510], 1
jmp 0x421818
mov eax, dword [0x424510]
test eax, eax
jne 0x421818
mov dword [0x424510], 1
cmp ebx, esi
je 0x421818
xor edi, edi
mov ecx, 1
jmp 0x421fa9
mov eax, 0x540000d
bt eax, edx
jb 0x421d63
add ebx, 2
cmp esi, ebx
je 0x422450
movzx eax, word [ebx]
lea edx, [eax - 0x26]
cmp dx, 0x1a
jbe 0x421f90
cmp ax, 0x5e
je 0x421d63
cmp ax, 0x7c
je 0x421d63
cmp ax, 0x20
sete dl
cmp ax, 9
sete al
or dl, al
mov eax, 0
cmovne edi, edx
cmovne ecx, eax
jmp 0x421f9e
mov dword [esp + 4], 1
mov dword [esp], sym._my_event_handler_4
call dword [sym.imp.kernel32.dll_SetConsoleCtrlHandler]
lea eax, [ebp - 0x480c]
mov dword [ebp - 0x4b90], 0
mov dword [ebp - 0x4b8c], eax
sub esp, 8
jmp 0x421854
lea eax, [ebp - 0x4b88]
mov dword [esp + 8], 0xffffffff
mov dword [ebp - 0x4b8c], eax
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x4b90]
mov dword [esp], eax
call sym._WCMD_ReadAndParseLine
mov eax, dword [ebp - 0x4b88]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call sym._WCMD_process_commands
mov esi, dword [ebp - 0x4b88]
mov ebx, dword [sym.imp.ucrtbase.dll_free]
test esi, esi
je 0x42208d
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 0x422070
mov dword [ebp - 0x4b88], 0
mov eax, dword [ebp - 0x4b90]
mov dword [esp], eax
call ebx
mov ecx, dword [0x42450c]
mov dword [0x423448], 1
test ecx, ecx
jne 0x42190e
jmp 0x421909
mov dword [esp], 0x408
call sym._WCMD_LoadMessage
jmp 0x4218bc
mov eax, dword [ebp - 0x4b90]
mov dword [esp], eax
call sym._WCMD_strip_quotes
jmp 0x421854
mov eax, dword [ebp - 0x4ba4]
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 0x421c08
lea eax, [ebp - 0x480c]
mov dword [esp + 0x14], 0
mov dword [ebp - 0x4b8c], eax
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x4ba4]
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 - 0x4b94], eax
call eax
sub esp, 0x18
test eax, eax
je 0x4221ae
test byte [0x423030], 8
je 0x421cc0
mov eax, dword [ebp - 0x4b8c]
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 0x421cc0
mov dword [esp + 4], 0x3b
mov dword [esp], edi
call ebx
test eax, eax
je 0x422322
xor edx, edx
lea esi, [eax + 2]
mov word [eax], dx
mov eax, dword [ebp - 0x4b8c]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x4ba4]
mov dword [esp + 0xc], 0x400
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x4b94]
mov dword [esp + 8], edi
mov dword [esp], 0
call eax
sub esp, 0x18
test eax, eax
jne 0x422364
mov edi, esi
jmp 0x4221ae
lea eax, [ebp - 0x4b80]
mov dword [esp + 0x14], 0
mov edi, dword [sym.imp.advapi32.dll_RegQueryValueExW]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x4b84]
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 0x4222d0
mov edx, dword [ebp - 0x4b80]
mov eax, dword [ebp - 0x4b84]
cmp edx, 4
je 0x42266e
cmp edx, 1
jne 0x4222d6
lea edx, [ebp - 0x4b78]
mov dword [esp + 0xc], 0
mov dword [esp + 0x14], edx
lea edx, [ebp - 0x4b6a]
mov dword [esp + 0x10], edx
mov dword [ebp - 0x4b78], 8
mov dword [esp + 8], 0
mov dword [esp + 4], str.DefaultColor
mov dword [esp], eax
call edi
lea edx, [ebp - 0x4b6a]
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 - 0x4b7c], eax
mov eax, dword [ebp - 0x4b84]
mov dword [esp], eax
call dword [sym.imp.advapi32.dll_RegCloseKey]
sub esp, 4
jmp 0x421d28
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 0x4223db
mov eax, dword [ebp - 0x4b7c]
jmp 0x421d36
mov eax, dword [ebp - 0x4b8c]
mov dword [esp + 0x14], 0
mov dword [esp + 0xc], 0x400
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x4ba4]
mov dword [esp + 8], edi
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x4b94]
mov dword [esp], 0
call eax
sub esp, 0x18
test eax, eax
je 0x422499
test byte [0x423030], 8
je 0x421cc0
mov eax, edi
call sym._wine_dbgstr_wn.constprop.0_2
mov ebx, eax
mov eax, dword [ebp - 0x4b8c]
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 0x421cc0
movzx eax, cl
xor edi, edi
mov dword [0x423324], eax
mov word [0x428560], di
call sym._WCMD_color
jmp 0x4218e5
mov ebx, 2
jmp 0x4217de
lea eax, [ebp - 0x4b80]
mov dword [esp + 0x14], 0
mov ebx, dword [sym.imp.advapi32.dll_RegQueryValueExW]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x4b84]
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 0x422663
mov edx, dword [ebp - 0x4b80]
mov eax, dword [ebp - 0x4b84]
cmp edx, 4
je 0x4226cd
cmp edx, 1
je 0x422606
mov dword [esp], eax
call dword [sym.imp.advapi32.dll_RegCloseKey]
sub esp, 4
jmp 0x422317
mov eax, edi
test al, al
je 0x421818
mov dword [0x424510], ecx
jmp 0x421818
xor eax, eax
lea esi, [esi]
nop
movzx edx, word [edi + eax]
mov word [esi + eax], dx
add eax, 2
test dx, dx
jne 0x422470
mov eax, dword [ebp - 0x4b8c]
mov dword [esp], eax
mov eax, dword [ebp - 0x4ba0]
call eax
sub esp, 4
cmp eax, 0xffffffff
jne 0x422516
test byte [0x423030], 8
jne 0x4225dd
mov dword [0x424510], 1
jmp 0x421844
mov dword [ebp - 0x4ba4], ebx
mov dword [esp + 4], 0x3b
mov eax, dword [ebp - 0x4ba4]
mov dword [esp], edi
call eax
mov ebx, eax
test eax, eax
je 0x422465
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 - 0x4b94], ecx
call sym._memcpy
mov eax, dword [ebp - 0x4b8c]
mov ecx, dword [ebp - 0x4b94]
mov word [esi + ecx], di
lea edi, [ebx + 2]
mov dword [esp], eax
mov eax, dword [ebp - 0x4ba0]
call eax
sub esp, 4
cmp eax, 0xffffffff
je 0x4224bb
test byte [0x423030], 8
je 0x421cc0
mov eax, dword [ebp - 0x4b8c]
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 0x421cc0
mov eax, dword [ebp - 0x4b8c]
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 0x421c75
mov dword [ebp - 0x4b9c], 0
mov esi, edi
jmp 0x421785
mov eax, dword [ebp - 0x4b8c]
call sym._wine_dbgstr_wn.constprop.0_2
mov dword [esp + 0xc], str.Found_file_as__s_n
mov dword [esp + 0x10], eax
jmp 0x42218d
mov dword [esp], 0x416
call sym._WCMD_LoadMessage
mov edx, eax
mov eax, 0xfffffff4
call sym._WCMD_output_asis_handle
jmp 0x421e4b
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 0x4224a6
lea edx, [ebp - 0x4b78]
lea esi, [ebp - 0x4b6a]
mov dword [ebp - 0x4b78], 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 - 0x4b7c], eax
mov eax, dword [ebp - 0x4b84]
jmp 0x42243f
lea edx, [ebp - 0x4b78]
mov dword [esp + 0xc], 0
mov dword [esp + 0x14], edx
lea edx, [ebp - 0x4b7c]
mov dword [ebp - 0x4b78], 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 - 0x4b84]
sub esp, 0x18
jmp 0x4222d6
test byte [0x423030], 2
jne 0x422716
mov dword [esp], 1
call dword [sym.imp.kernel32.dll_ExitProcess]
lea edx, [ebp - 0x4b78]
mov dword [esp + 0xc], 0
mov dword [esp + 0x14], edx
lea edx, [ebp - 0x4b7c]
mov dword [ebp - 0x4b78], 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 - 0x4b84]
sub esp, 0x18
jmp 0x42243f
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 0x4226c0