Function at 0x40ad80
Capabilities:
Check if file exists
Get common file path
Get file attributes
Query environment variable

Disassembly:
push ebp
mov eax, 0x8aac
mov ebp, esp
push edi
push esi
push ebx
call fcn.00401050
sub esp, eax
mov eax, dword [ebp + 8]
lea ebx, [ebp - 0x8018]
mov dword [0x4231f0], 0
mov dword [esp + 8], 0x2000
mov dword [ebp - 0x8a78], eax
mov eax, dword [sym.imp.kernel32.dll_GetEnvironmentVariableW]
mov dword [esp + 4], ebx
mov dword [esp], str.DIRCMD
mov dword [ebp - 0x8a80], eax
call eax
sub esp, 0xc
test eax, eax
je 0x40ae3b
mov esi, dword [sym.imp.ucrtbase.dll_toupper]
mov edi, ebx
jmp 0x40ade3
add edi, 2
movzx eax, word [edi]
mov dword [esp], eax
call esi
mov word [edi], ax
test ax, ax
jne 0x40ade0
cmp word [ebp - 0x8018], 0
mov edx, ebx
je 0x40ae09
nop
add edx, 2
cmp word [edx], 0
jne 0x40ae00
xor eax, eax
lea esi, [esi]
nop
movzx ecx, word [eax + 0x430420]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x40ae10
xor eax, eax
lea esi, [esi]
movzx edx, word [ebx + eax]
add eax, 2
mov word [eax + 0x43041e], dx
test dx, dx
jne 0x40ae28
mov dword [0x4231c0], 0
mov ebx, 0x430420
movzx eax, word [0x430420]
mov dword [0x4231c4], 0
mov dword [0x4231e4], 0
mov dword [0x4231f8], 0
mov dword [0x4243e0], 0
mov dword [0x434420], 0
mov dword [0x434520], 0
mov dword [0x423164], 0
mov dword [0x423380], 0
mov dword [0x43442c], 0
mov dword [0x434438], 0
mov dword [0x4243b8], 0
mov dword [0x434428], 1
mov dword [0x4231e0], 2
mov dword [0x4231dc], 0
mov dword [0x4243c4], 0
mov dword [0x4243bc], 0
mov dword [0x4243c0], 0
mov dword [0x434430], 0
mov dword [0x423160], 6
nop
test ax, ax
je 0x40b420
cmp ax, 0x2f
je 0x40af29
cmp ax, 0x20
jne 0x40b420
movzx edx, word [ebx + 2]
lea esi, [ebx + 2]
cmp ax, 0x20
je 0x40b020
xor edi, edi
cmp dx, 0x2d
jne 0x40af4a
lea esi, [ebx + 4]
mov edi, 1
test byte [0x423020], 8
jne 0x40afe0
movzx eax, word [esi]
sub eax, 0x41
cmp ax, 0x17
ja case.0x40b295.1
movzx eax, ax
jmp dword [eax*4 + 0x436ee4]
movzx eax, word [esi + 2]
lea edx, [esi + 2]
cmp ax, 0x3a
jne 0x40af84
movzx eax, word [esi + 4]
lea edx, [esi + 4]
cmp ax, 0x41
je 0x40bc48
cmp ax, 0x43
je 0x40b818
cmp ax, 0x57
je 0x40bf86
test ax, ax
je 0x40b830
cmp ax, 0x2f
je 0x40b830
mov eax, dword fs:[0x18]
mov dword [eax + 0x34], 0x57
call sym._WCMD_print_error
mov dword [0x4231f0], 1
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, 0x430420
call sym._wine_dbgstr_wn.constprop.0_1
mov dword [esp + 0x14], eax
movzx eax, word [esi]
mov dword [esp + 0xc], str.Processing_arg__c__in__s__n
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.WCMD_directory
mov dword [esp + 4], 0x423020
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_2
jmp 0x40af57
mov eax, edx
mov ebx, esi
jmp 0x40af10
movzx eax, word [esi + 2]
lea ebx, [esi + 2]
test edi, edi
je 0x40b7b0
mov esi, dword [0x43442c]
xor edx, edx
test esi, esi
sete dl
mov dword [0x43442c], edx
jmp 0x40af10
movzx eax, word [esi + 2]
lea ebx, [esi + 2]
test edi, edi
je 0x40b7a0
mov esi, dword [0x434520]
xor edx, edx
test esi, esi
sete dl
mov dword [0x434520], edx
jmp 0x40af10
movzx eax, word [esi + 2]
lea ebx, [esi + 2]
test edi, edi
je 0x40b790
mov edi, dword [0x434420]
xor edx, edx
test edi, edi
sete dl
mov dword [0x434420], edx
jmp 0x40af10
movzx eax, word [esi + 2]
lea ebx, [esi + 2]
test edi, edi
je 0x40b780
mov ecx, dword [0x434438]
xor edx, edx
test ecx, ecx
sete dl
mov dword [0x434438], edx
jmp 0x40af10
movzx eax, word [esi + 2]
lea ebx, [esi + 2]
test edi, edi
je 0x40b770
mov ecx, dword [0x4243e0]
xor edx, edx
test ecx, ecx
sete dl
mov dword [0x4243e0], edx
jmp 0x40af10
movzx eax, word [esi + 2]
lea ebx, [esi + 2]
cmp ax, 0x3a
jne 0x40b134
movzx eax, word [esi + 4]
lea ebx, [esi + 4]
cmp ax, 0x2f
je 0x40af10
test ax, ax
je 0x40b420
test byte [0x423020], 8
jne 0x40b33b
lea esi, [esi]
movzx eax, word [ebx]
sub eax, 0x2d
cmp ax, 0x26
ja case.0x40b295.1
movzx eax, ax
jmp dword [eax*4 + 0x436f44]
movzx eax, word [esi + 2]
lea ebx, [esi + 2]
test edi, edi
je 0x40b760
mov edi, dword [0x423380]
xor edx, edx
test edi, edi
sete dl
mov dword [0x423380], edx
jmp 0x40af10
movzx eax, word [esi + 2]
lea ebx, [esi + 2]
test edi, edi
je 0x40b750
mov edi, dword [0x4243b8]
xor edx, edx
test edi, edi
sete dl
mov dword [0x4243b8], edx
jmp 0x40af10
movzx eax, word [esi + 2]
lea ebx, [esi + 2]
test edi, edi
je 0x40b740
mov esi, dword [0x434428]
xor edx, edx
test esi, esi
sete dl
mov dword [0x434428], edx
jmp 0x40af10
movzx eax, word [esi + 2]
lea ebx, [esi + 2]
test edi, edi
je 0x40b728
mov ecx, dword [0x423164]
xor edx, edx
test ecx, ecx
sete dl
mov dword [0x423164], edx
jmp 0x40af10
movzx eax, word [esi + 2]
lea ebx, [esi + 2]
mov dword [0x434430], 0
mov dword [0x423160], 0
cmp ax, 0x3a
jne 0x40b258
movzx eax, word [esi + 4]
lea ebx, [esi + 4]
cmp ax, 0x2f
je 0x40b2d7
test ax, ax
je 0x40b2d7
mov esi, ebx
xor ebx, ebx
cmp ax, 0x2d
jne 0x40b275
add esi, 2
mov ebx, 1
test byte [0x423020], 8
jne 0x40b3e0
movzx eax, word [esi]
sub eax, 0x41
cmp ax, 0x12
ja case.0x40b295.1
movzx eax, ax
jmp dword [eax*4 + 0x436fe0]
mov eax, 1
mov edx, eax
or dword [0x423160], eax
or eax, dword [0x434430]
not edx
and edx, dword [0x434430]
test ebx, ebx
cmovne eax, edx
lea ebx, [esi + 2]
mov dword [0x434430], eax
movzx eax, word [esi + 2]
test ax, ax
je 0x40b2d7
cmp ax, 0x2f
jne 0x40b263
test byte [0x423020], 8
jne 0x40c018
movzx eax, word [ebx]
jmp 0x40af10
mov eax, 0x20
jmp 0x40b2a5
mov eax, 0x10
jmp 0x40b2a5
mov dword [0x4231dc], 2
movzx eax, word [ebx + 2]
lea esi, [esi]
add ebx, 2
test ax, ax
je 0x40b420
cmp ax, 0x2f
je 0x40af10
test byte [0x423020], 8
je 0x40b158
mov eax, 0x430420
call sym._wine_dbgstr_wn.constprop.0_1
mov dword [esp + 0x14], eax
movzx eax, word [ebx]
mov dword [esp + 0xc], str.Processing_subparm__c__in__s__n
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.WCMD_directory
mov dword [esp + 4], 0x423020
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_2
jmp 0x40b158
mov dword [0x4231dc], 0
movzx eax, word [ebx + 2]
jmp 0x40b318
mov dword [0x4243bc], 1
movzx eax, word [ebx + 2]
jmp 0x40b318
mov dword [0x4231dc], 1
movzx eax, word [ebx + 2]
jmp 0x40b318
mov dword [0x4231dc], 3
movzx eax, word [ebx + 2]
jmp 0x40b318
movzx eax, word [ebx + 2]
cmp ax, 0x47
je 0x40b7e0
mov dword [0x4243c4], 1
jmp 0x40b318
mov eax, 0x430420
call sym._wine_dbgstr_wn.constprop.0_1
mov dword [esp + 0x14], eax
movzx eax, word [esi]
mov dword [esp + 0xc], str.Processing_subparm__c__in__s__n
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.WCMD_directory
mov dword [esp + 4], 0x423020
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_2
jmp 0x40b282
mov ebx, dword [0x423164]
mov eax, dword [0x4243b8]
test ebx, ebx
jne 0x40b7c0
mov ecx, dword [0x43442c]
test ecx, ecx
je 0x40bc5e
mov dword [0x434520], 0
test eax, eax
jne 0x40bc7a
mov eax, dword [0x4243e0]
test eax, eax
jne 0x40be70
mov eax, dword [ebp + 8]
mov dword [esp], 0x104
mov dword [ebp - 0x8a78], eax
lea eax, [ebp - 0x8838]
mov dword [esp + 4], eax
call dword [sym.imp.kernel32.dll_GetCurrentDirectoryW]
lea edx, [ebp - 0x8838]
sub esp, 8
cmp word [ebp - 0x8838], 0
je 0x40b4a1
lea esi, [esi]
nop
add edx, 2
cmp word [edx], 0
jne 0x40b498
xor eax, eax
mov ecx, 0x5c
jmp 0x40b4b7
movzx ecx, word [eax + 0x436d8c]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x40b4b0
mov eax, dword [ebp - 0x8a78]
test eax, eax
je 0x40be98
mov dword [ebp - 0x8a88], 0
mov dword [ebp - 0x8a8c], 0
mov dword [ebp - 0x8a7c], 0
nop
mov edi, dword [ebp - 0x8a7c]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov eax, edi
inc edi
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x8a7c], edi
lea edi, [ebp - 0x8a78]
mov dword [esp + 8], edi
mov dword [esp], eax
call sym._WCMD_parameter
mov ebx, eax
mov eax, dword [ebp - 0x8a78]
test eax, eax
je 0x40b5f8
cmp word [eax], 0x2f
je 0x40b5ed
test byte [0x423020], 8
jne 0x40b998
cmp word [ebx + 2], 0x3a
movzx edx, word [ebx]
je 0x40b880
xor eax, eax
lea esi, [ebp - 0x4018]
cmp dx, 0x5c
je 0x40bbc0
nop
movzx edx, word [ebp + eax - 0x8838]
mov word [esi + eax], dx
add eax, 2
test dx, dx
jne 0x40b570
cmp word [ebp - 0x4018], 0
mov edx, esi
je 0x40b599
add edx, 2
cmp word [edx], 0
jne 0x40b590
xor eax, eax
lea esi, [esi]
nop
movzx ecx, word [ebx + eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x40b5a0
test byte [0x423020], 8
jne 0x40b960
lea eax, [ebp - 0x8a40]
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x104
mov dword [esp], esi
call sym._WCMD_get_fullpath
test eax, eax
jne 0x40b9d0
mov eax, dword [ebp - 0x8a78]
test eax, eax
jne 0x40b4f0
lea esi, [esi]
mov eax, dword [ebp - 0x8a8c]
test eax, eax
je 0x40be98
mov esi, dword [sym.imp.ucrtbase.dll_toupper]
mov eax, 0x3f
mov dword [ebp - 0x8a84], 0
mov dword [ebp - 0x8a88], 0
mov ebx, dword [ebp - 0x8a8c]
mov word [ebp - 0x8a7c], ax
mov dword [ebp - 0x8a80], esi
jmp 0x40b6eb
cmp cx, 0x3f
je 0x40b672
mov edi, dword [ebp - 0x8a84]
mov eax, dword [edi + 4]
movzx eax, word [eax]
call sym._WCMD_dir_trailer
mov edi, dword [ebx + 4]
mov eax, dword [ebp - 0x8a80]
movzx esi, word [edi]
mov dword [esp], esi
call eax
mov dword [ebp - 0x8a88], 0
mov word [ebp - 0x8a7c], ax
mov eax, dword [0x423164]
test eax, eax
jne 0x40b6c8
test byte [0x423020], 8
jne 0x40b848
mov eax, dword [edi]
mov dword [esp], 0
xor esi, esi
mov word [ebp - 0x4014], si
mov dword [ebp - 0x4018], eax
lea eax, [ebp - 0x4018]
mov dword [esp + 4], eax
call sym._WCMD_volume
test eax, eax
je 0x40bf3f
mov dword [ebp - 0x8a88], 1
mov dword [0x4231f0], 0
xor edx, edx
mov eax, ebx
call sym._WCMD_list_directory
mov dword [ebp - 0x8a84], ebx
test eax, eax
je 0x40bbf0
mov ebx, eax
mov edi, dword [ebx + 4]
mov eax, dword [ebp - 0x8a80]
movzx esi, word [edi]
mov dword [esp], esi
call eax
movzx ecx, word [ebp - 0x8a7c]
cmp ecx, eax
jne 0x40b640
mov ecx, dword [0x423164]
test ecx, ecx
jne 0x40b6c8
mov dword [esp], 0x436edc
call sym._WCMD_output_asis
jmp 0x40b6c8
mov dword [0x423164], 1
jmp 0x40af10
mov dword [0x434428], 1
jmp 0x40af10
mov dword [0x4243b8], 1
jmp 0x40af10
mov dword [0x423380], 1
jmp 0x40af10
mov dword [0x4243e0], 1
jmp 0x40af10
mov dword [0x434438], 1
jmp 0x40af10
mov dword [0x434420], 1
jmp 0x40af10
mov dword [0x434520], 1
jmp 0x40af10
mov dword [0x43442c], 1
jmp 0x40af10
mov dword [0x434520], 0
mov dword [0x43442c], 0
jmp 0x40b44b
mov dword [0x4243c0], 1
add ebx, 2
jmp 0x40b147
mov eax, 4
jmp 0x40b2a5
mov eax, 2
jmp 0x40b2a5
mov dword [0x4231e0], 0
movzx eax, word [edx + 2]
lea ebx, [edx + 2]
jmp 0x40af10
mov dword [0x4231e0], 2
mov ebx, edx
jmp 0x40af10
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], str.Writing_volume_for__c:_n
mov dword [esp + 8], str.WCMD_directory
mov dword [esp + 4], 0x423020
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_2
mov edi, dword [ebx + 4]
jmp 0x40b68f
cmp word [ebx + 4], 0x5c
je 0x40bf9c
mov dword [esp + 8], edx
mov edx, dword [sym.imp.user32.dll_wsprintfW]
lea edi, [ebp - 0x8a72]
lea esi, [ebp - 0x4018]
mov dword [esp + 4], 0x436e3a
mov dword [ebp - 0x8a84], edx
mov dword [esp], edi
call edx
mov dword [esp + 8], 0x104
mov eax, dword [ebp - 0x8a80]
mov dword [esp + 4], esi
mov dword [esp], edi
call eax
mov edx, dword [ebp - 0x8a84]
sub esp, 0xc
test eax, eax
je 0x40bfc0
cmp word [ebp - 0x4018], 0
mov edx, esi
je 0x40b8f9
lea esi, [esi]
nop
add edx, 2
cmp word [edx], 0
jne 0x40b8f0
xor eax, eax
mov ecx, 0x5c
jmp 0x40b90f
movzx ecx, word [eax + 0x436d8c]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x40b908
cmp word [ebp - 0x4018], 0
mov edx, esi
je 0x40b939
lea esi, [esi]
nop
add edx, 2
cmp word [edx], 0
jne 0x40b930
xor eax, eax
lea esi, [esi]
nop
movzx ecx, word [ebx + eax + 4]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x40b940
test byte [0x423020], 8
je 0x40b5bd
nop
mov eax, esi
call sym._wine_dbgstr_wn.constprop.0_1
mov dword [esp + 0xc], str.Using_location__s_n
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.WCMD_directory
mov dword [esp + 4], 0x423020
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_2
jmp 0x40b5bd
mov eax, ebx
call sym._wine_dbgstr_wn.constprop.0_1
mov dword [esp + 0xc], str.Found_parm__s_n
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.WCMD_directory
mov dword [esp + 4], 0x423020
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_2
jmp 0x40b54f
lea eax, [ebp - 0x8a40]
mov dword [esp + 4], 0x2a
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_wcschr]
test eax, eax
je 0x40bcc8
cmp word [ebp - 0x4018], 0
je 0x40c056
mov eax, esi
nop
add eax, 2
cmp word [eax], 0
jne 0x40ba00
sub eax, esi
sar eax, 1
dec eax
movzx edx, word [ebp + eax*2 - 0x4018]
cmp dx, 0x2e
je 0x40bfd9
test byte [0x423020], 8
jne 0x40be30
mov dword [esp], 0xc
call sym._xalloc
mov edi, dword [ebp - 0x8a8c]
mov dword [ebp - 0x8a84], eax
test edi, edi
cmove edi, eax
mov dword [ebp - 0x8a8c], edi
mov edi, dword [ebp - 0x8a88]
test edi, edi
je 0x40ba5c
mov dword [edi], eax
mov eax, dword [ebp - 0x8a84]
lea edx, [ebp - 0x8a6a]
lea ebx, [ebp - 0x8428]
lea esi, [ebp - 0x8630]
mov dword [eax], 0
lea eax, [ebp - 0x8220]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x8a40]
mov dword [esp + 4], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 8], esi
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll__wsplitpath]
test byte [0x423020], 8
lea edx, [ebp - 0x8a6a]
jne 0x40bda8
mov eax, dword [sym.imp.ucrtbase.dll_wcslen]
mov dword [esp], edx
mov dword [ebp - 0x8a88], eax
call eax
mov dword [esp], esi
mov edi, eax
mov eax, dword [ebp - 0x8a88]
call eax
lea eax, [edi + eax + 1]
add eax, eax
mov dword [esp], eax
call sym._xalloc
mov edi, dword [ebp - 0x8a84]
xor ecx, ecx
lea edx, [ebp - 0x8a6a]
mov dword [edi + 4], eax
nop
movzx edi, word [edx + ecx]
mov word [eax + ecx], di
add ecx, 2
test di, di
jne 0x40baf0
cmp word [eax], 0
je 0x40bb19
lea esi, [esi]
lea esi, [esi]
add eax, 2
cmp word [eax], 0
jne 0x40bb10
xor edx, edx
lea esi, [esi]
nop
movzx ecx, word [esi + edx]
mov word [eax + edx], cx
add edx, 2
test cx, cx
jne 0x40bb20
mov edi, dword [ebp - 0x8a88]
mov dword [esp], ebx
call edi
mov esi, eax
lea eax, [ebp - 0x8220]
mov dword [esp], eax
call edi
lea eax, [esi + eax + 1]
add eax, eax
mov dword [esp], eax
call sym._xalloc
mov esi, dword [ebp - 0x8a84]
xor edx, edx
mov dword [esi + 8], eax
lea esi, [esi]
movzx ecx, word [ebx + edx]
mov word [eax + edx], cx
add edx, 2
test cx, cx
jne 0x40bb68
cmp word [eax], 0
je 0x40bb89
nop
add eax, 2
cmp word [eax], 0
jne 0x40bb80
xor edx, edx
lea esi, [esi]
nop
movzx ecx, word [ebp + edx - 0x8220]
mov word [eax + edx], cx
add edx, 2
test cx, cx
jne 0x40bb90
mov esi, dword [ebp - 0x8a84]
mov eax, dword [ebp - 0x8a78]
mov dword [ebp - 0x8a88], esi
jmp 0x40b5ed
mov eax, dword [ebp - 0x8838]
mov dword [ebp - 0x4018], eax
xor eax, eax
nop
movzx edx, word [ebx + eax]
mov word [ebp + eax - 0x4014], dx
add eax, 2
test dx, dx
jne 0x40bbd0
lea esi, [ebp - 0x4018]
jmp 0x40b5b0
mov edx, dword [ebp - 0x8a88]
test edx, edx
jne 0x40bf2f
mov eax, dword [0x4243e0]
test eax, eax
jne 0x40be88
mov esi, dword [sym.imp.ucrtbase.dll_free]
mov ebx, dword [ebp - 0x8a8c]
lea esi, [esi]
nop
mov edi, ebx
mov ebx, dword [ebx]
mov eax, dword [edi + 4]
mov dword [esp], eax
call esi
mov eax, dword [edi + 8]
mov dword [esp], eax
call esi
mov dword [esp], edi
call esi
test ebx, ebx
jne 0x40bc20
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [0x4231e0], 1
movzx eax, word [edx + 2]
lea ebx, [edx + 2]
jmp 0x40af10
mov edx, dword [0x434520]
test edx, edx
je 0x40b44b
mov dword [0x434438], 0
test eax, eax
je 0x40bc84
mov dword [0x434520], 1
mov dword [esp], 0xfffffff5
call dword [sym.imp.kernel32.dll_GetStdHandle]
lea edx, [ebp - 0x8a56]
sub esp, 4
mov dword [esp + 4], edx
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_GetConsoleScreenBufferInfo]
sub esp, 8
test eax, eax
je 0x40bf4e
movsx eax, word [ebp - 0x8a56]
mov dword [0x423388], eax
jmp 0x40b453
lea eax, [ebp - 0x8a40]
mov dword [esp + 4], 0x25
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_wcschr]
test eax, eax
jne 0x40b9ef
lea eax, [ebp - 0x8a40]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_GetFileAttributesW]
sub esp, 4
cmp eax, 0xffffffff
je 0x40ba20
test al, 0x10
je 0x40ba20
cmp word [ebp - 0x8a40], 0
je 0x40c06a
lea eax, [ebp - 0x8a40]
add eax, 2
cmp word [eax], 0
jne 0x40bd1e
lea esi, [ebp - 0x8a40]
sub eax, esi
mov edx, esi
cmp word [ebp + eax - 0x8a42], 0x5c
je 0x40bd71
add edx, 2
cmp word [edx], 0
jne 0x40bd3c
xor eax, eax
mov ecx, 0x5c
jmp 0x40bd55
movzx ecx, word [eax + 0x436d8c]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x40bd4e
cmp word [ebp - 0x8a40], 0
lea edx, [ebp - 0x8a40]
je 0x40bd80
lea edx, [ebp - 0x8a40]
add edx, 2
cmp word [edx], 0
jne 0x40bd77
xor eax, eax
mov ecx, 0x2a
jmp 0x40bd90
movzx ecx, word [eax + 0x436d6a]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x40bd89
jmp 0x40ba20
lea eax, [ebp - 0x8220]
call sym._wine_dbgstr_wn.constprop.0_1
mov dword [ebp - 0x8a90], eax
mov eax, ebx
call sym._wine_dbgstr_wn.constprop.0_1
mov dword [ebp - 0x8a88], eax
mov eax, esi
call sym._wine_dbgstr_wn.constprop.0_1
lea edx, [ebp - 0x8a6a]
mov edi, eax
mov eax, edx
call sym._wine_dbgstr_wn.constprop.0_1
mov ecx, dword [ebp - 0x8a90]
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], eax
mov dword [esp + 0x1c], ecx
mov ecx, dword [ebp - 0x8a88]
mov dword [esp + 0xc], str.Path_Parts:_drive:__s_dir:__s_name:__s_ext:_s_n
mov dword [esp + 0x18], ecx
mov dword [esp + 8], str.WCMD_directory
mov dword [esp + 4], 0x423020
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_2
lea edx, [ebp - 0x8a6a]
jmp 0x40bab2
lea eax, [ebp - 0x8a40]
call sym._wine_dbgstr_wn.constprop.0_1
mov dword [esp + 0xc], str.Using_path__s_n
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.WCMD_directory
mov dword [esp + 4], 0x423020
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_2
jmp 0x40ba2d
mov dword [esp], 0
call sym._WCMD_enter_paged_mode
jmp 0x40b460
call sym._WCMD_leave_paged_mode
jmp 0x40bc0b
test byte [0x423020], 8
jne 0x40bf5d
mov dword [esp], 0xc
call sym._xalloc
cmp word [ebp - 0x8838], 0
mov dword [ebp - 0x8a8c], eax
mov dword [eax], 0
je 0x40c060
lea eax, [ebp - 0x8838]
lea esi, [esi]
add eax, 2
cmp word [eax], 0
jne 0x40bed8
lea esi, [ebp - 0x8838]
sub eax, esi
lea ebx, [eax + 2]
mov dword [esp], ebx
call sym._xalloc
mov dword [esp + 8], ebx
mov esi, eax
lea eax, [ebp - 0x8838]
mov dword [esp + 4], eax
mov dword [esp], esi
call sym._memcpy
mov edi, dword [ebp - 0x8a8c]
mov dword [edi + 4], esi
mov dword [esp], 4
call sym._xalloc
mov dword [eax], 0x2a
mov dword [edi + 8], eax
jmp 0x40b606
mov eax, dword [ebx + 4]
movzx eax, word [eax]
call sym._WCMD_dir_trailer
jmp 0x40bbfe
mov dword [0x4231f0], 1
jmp 0x40bbfe
mov dword [0x423388], 0x50
jmp 0x40b453
mov dword [esp + 0xc], str.Inserting_default__n
mov dword [esp + 8], str.WCMD_directory
mov dword [esp + 4], 0x423020
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_2
jmp 0x40bea5
mov dword [0x4231e0], 2
movzx eax, word [edx + 2]
lea ebx, [edx + 2]
jmp 0x40af10
xor eax, eax
lea esi, [ebp - 0x4018]
lea esi, [esi]
movzx edx, word [ebx + eax]
mov word [esi + eax], dx
add eax, 2
test dx, dx
jne 0x40bfa8
jmp 0x40b5b0
movzx eax, word [ebx]
mov dword [esp + 4], 0x436e44
mov dword [esp], esi
mov dword [esp + 8], eax
call edx
jmp 0x40b8dc
cmp word [ebp - 0x8a40], 0
lea ecx, [ebp - 0x8a40]
je 0x40bff9
lea esi, [esi]
add ecx, 2
cmp word [ecx], 0
jne 0x40bff0
xor eax, eax
jmp 0x40c007
movzx edx, word [eax + 0x436c4c]
mov word [ecx + eax], dx
add eax, 2
test dx, dx
jne 0x40c000
jmp 0x40ba20
mov eax, dword [0x423160]
mov dword [esp + 0xc], str.Result:_showattrs__lx__bits__lx_n
mov dword [esp + 8], str.WCMD_directory
mov dword [esp + 0x14], eax
mov eax, dword [0x434430]
mov dword [esp + 4], 0x423020
mov dword [esp + 0x10], eax
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_2
movzx eax, word [ebx]
jmp 0x40af10
mov eax, 0xffffffff
jmp 0x40ba0e
mov ebx, 2
jmp 0x40beec
lea edx, [ebp - 0x8a40]
jmp 0x40bd45