Function at 0x40adc0
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 0x40ae7b
mov esi, dword [sym.imp.ucrtbase.dll_toupper]
mov edi, ebx
jmp 0x40ae23
add edi, 2
movzx eax, word [edi]
mov dword [esp], eax
call esi
mov word [edi], ax
test ax, ax
jne 0x40ae20
cmp word [ebp - 0x8018], 0
mov edx, ebx
je 0x40ae49
nop
add edx, 2
cmp word [edx], 0
jne 0x40ae40
xor eax, eax
lea esi, [esi]
nop
movzx ecx, word [eax + 0x430420]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x40ae50
xor eax, eax
lea esi, [esi]
movzx edx, word [ebx + eax]
add eax, 2
mov word [eax + 0x43041e], dx
test dx, dx
jne 0x40ae68
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 0x40b460
cmp ax, 0x2f
je 0x40af69
cmp ax, 0x20
jne 0x40b460
movzx edx, word [ebx + 2]
lea esi, [ebx + 2]
cmp ax, 0x20
je 0x40b060
xor edi, edi
cmp dx, 0x2d
jne 0x40af8a
lea esi, [ebx + 4]
mov edi, 1
test byte [0x423020], 8
jne 0x40b020
movzx eax, word [esi]
sub eax, 0x41
cmp ax, 0x17
ja case.0x40b2d5.1
movzx eax, ax
jmp dword [eax*4 + 0x436ee4]
movzx eax, word [esi + 2]
lea edx, [esi + 2]
cmp ax, 0x3a
jne 0x40afc4
movzx eax, word [esi + 4]
lea edx, [esi + 4]
cmp ax, 0x41
je 0x40bc88
cmp ax, 0x43
je 0x40b858
cmp ax, 0x57
je 0x40bfc6
test ax, ax
je 0x40b870
cmp ax, 0x2f
je 0x40b870
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 0x40af97
mov eax, edx
mov ebx, esi
jmp 0x40af50
movzx eax, word [esi + 2]
lea ebx, [esi + 2]
test edi, edi
je 0x40b7f0
mov esi, dword [0x43442c]
xor edx, edx
test esi, esi
sete dl
mov dword [0x43442c], edx
jmp 0x40af50
movzx eax, word [esi + 2]
lea ebx, [esi + 2]
test edi, edi
je 0x40b7e0
mov esi, dword [0x434520]
xor edx, edx
test esi, esi
sete dl
mov dword [0x434520], edx
jmp 0x40af50
movzx eax, word [esi + 2]
lea ebx, [esi + 2]
test edi, edi
je 0x40b7d0
mov edi, dword [0x434420]
xor edx, edx
test edi, edi
sete dl
mov dword [0x434420], edx
jmp 0x40af50
movzx eax, word [esi + 2]
lea ebx, [esi + 2]
test edi, edi
je 0x40b7c0
mov ecx, dword [0x434438]
xor edx, edx
test ecx, ecx
sete dl
mov dword [0x434438], edx
jmp 0x40af50
movzx eax, word [esi + 2]
lea ebx, [esi + 2]
test edi, edi
je 0x40b7b0
mov ecx, dword [0x4243e0]
xor edx, edx
test ecx, ecx
sete dl
mov dword [0x4243e0], edx
jmp 0x40af50
movzx eax, word [esi + 2]
lea ebx, [esi + 2]
cmp ax, 0x3a
jne 0x40b174
movzx eax, word [esi + 4]
lea ebx, [esi + 4]
cmp ax, 0x2f
je 0x40af50
test ax, ax
je 0x40b460
test byte [0x423020], 8
jne 0x40b37b
lea esi, [esi]
movzx eax, word [ebx]
sub eax, 0x2d
cmp ax, 0x26
ja case.0x40b2d5.1
movzx eax, ax
jmp dword [eax*4 + 0x436f44]
movzx eax, word [esi + 2]
lea ebx, [esi + 2]
test edi, edi
je 0x40b7a0
mov edi, dword [0x423380]
xor edx, edx
test edi, edi
sete dl
mov dword [0x423380], edx
jmp 0x40af50
movzx eax, word [esi + 2]
lea ebx, [esi + 2]
test edi, edi
je 0x40b790
mov edi, dword [0x4243b8]
xor edx, edx
test edi, edi
sete dl
mov dword [0x4243b8], edx
jmp 0x40af50
movzx eax, word [esi + 2]
lea ebx, [esi + 2]
test edi, edi
je 0x40b780
mov esi, dword [0x434428]
xor edx, edx
test esi, esi
sete dl
mov dword [0x434428], edx
jmp 0x40af50
movzx eax, word [esi + 2]
lea ebx, [esi + 2]
test edi, edi
je 0x40b768
mov ecx, dword [0x423164]
xor edx, edx
test ecx, ecx
sete dl
mov dword [0x423164], edx
jmp 0x40af50
movzx eax, word [esi + 2]
lea ebx, [esi + 2]
mov dword [0x434430], 0
mov dword [0x423160], 0
cmp ax, 0x3a
jne 0x40b298
movzx eax, word [esi + 4]
lea ebx, [esi + 4]
cmp ax, 0x2f
je 0x40b317
test ax, ax
je 0x40b317
mov esi, ebx
xor ebx, ebx
cmp ax, 0x2d
jne 0x40b2b5
add esi, 2
mov ebx, 1
test byte [0x423020], 8
jne 0x40b420
movzx eax, word [esi]
sub eax, 0x41
cmp ax, 0x12
ja case.0x40b2d5.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 0x40b317
cmp ax, 0x2f
jne 0x40b2a3
test byte [0x423020], 8
jne 0x40c058
movzx eax, word [ebx]
jmp 0x40af50
mov eax, 0x20
jmp 0x40b2e5
mov eax, 0x10
jmp 0x40b2e5
mov dword [0x4231dc], 2
movzx eax, word [ebx + 2]
lea esi, [esi]
add ebx, 2
test ax, ax
je 0x40b460
cmp ax, 0x2f
je 0x40af50
test byte [0x423020], 8
je 0x40b198
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 0x40b198
mov dword [0x4231dc], 0
movzx eax, word [ebx + 2]
jmp 0x40b358
mov dword [0x4243bc], 1
movzx eax, word [ebx + 2]
jmp 0x40b358
mov dword [0x4231dc], 1
movzx eax, word [ebx + 2]
jmp 0x40b358
mov dword [0x4231dc], 3
movzx eax, word [ebx + 2]
jmp 0x40b358
movzx eax, word [ebx + 2]
cmp ax, 0x47
je 0x40b820
mov dword [0x4243c4], 1
jmp 0x40b358
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 0x40b2c2
mov ebx, dword [0x423164]
mov eax, dword [0x4243b8]
test ebx, ebx
jne 0x40b800
mov ecx, dword [0x43442c]
test ecx, ecx
je 0x40bc9e
mov dword [0x434520], 0
test eax, eax
jne 0x40bcba
mov eax, dword [0x4243e0]
test eax, eax
jne 0x40beb0
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 0x40b4e1
lea esi, [esi]
nop
add edx, 2
cmp word [edx], 0
jne 0x40b4d8
xor eax, eax
mov ecx, 0x5c
jmp 0x40b4f7
movzx ecx, word [eax + 0x436d8c]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x40b4f0
mov eax, dword [ebp - 0x8a78]
test eax, eax
je 0x40bed8
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 0x40b638
cmp word [eax], 0x2f
je 0x40b62d
test byte [0x423020], 8
jne 0x40b9d8
cmp word [ebx + 2], 0x3a
movzx edx, word [ebx]
je 0x40b8c0
xor eax, eax
lea esi, [ebp - 0x4018]
cmp dx, 0x5c
je 0x40bc00
nop
movzx edx, word [ebp + eax - 0x8838]
mov word [esi + eax], dx
add eax, 2
test dx, dx
jne 0x40b5b0
cmp word [ebp - 0x4018], 0
mov edx, esi
je 0x40b5d9
add edx, 2
cmp word [edx], 0
jne 0x40b5d0
xor eax, eax
lea esi, [esi]
nop
movzx ecx, word [ebx + eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x40b5e0
test byte [0x423020], 8
jne 0x40b9a0
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 0x40ba10
mov eax, dword [ebp - 0x8a78]
test eax, eax
jne 0x40b530
lea esi, [esi]
mov eax, dword [ebp - 0x8a8c]
test eax, eax
je 0x40bed8
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 0x40b72b
cmp cx, 0x3f
je 0x40b6b2
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 0x40b708
test byte [0x423020], 8
jne 0x40b888
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 0x40bf7f
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 0x40bc30
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 0x40b680
mov ecx, dword [0x423164]
test ecx, ecx
jne 0x40b708
mov dword [esp], 0x436edc
call sym._WCMD_output_asis
jmp 0x40b708
mov dword [0x423164], 1
jmp 0x40af50
mov dword [0x434428], 1
jmp 0x40af50
mov dword [0x4243b8], 1
jmp 0x40af50
mov dword [0x423380], 1
jmp 0x40af50
mov dword [0x4243e0], 1
jmp 0x40af50
mov dword [0x434438], 1
jmp 0x40af50
mov dword [0x434420], 1
jmp 0x40af50
mov dword [0x434520], 1
jmp 0x40af50
mov dword [0x43442c], 1
jmp 0x40af50
mov dword [0x434520], 0
mov dword [0x43442c], 0
jmp 0x40b48b
mov dword [0x4243c0], 1
add ebx, 2
jmp 0x40b187
mov eax, 4
jmp 0x40b2e5
mov eax, 2
jmp 0x40b2e5
mov dword [0x4231e0], 0
movzx eax, word [edx + 2]
lea ebx, [edx + 2]
jmp 0x40af50
mov dword [0x4231e0], 2
mov ebx, edx
jmp 0x40af50
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 0x40b6cf
cmp word [ebx + 4], 0x5c
je 0x40bfdc
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 0x40c000
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
mov ecx, 0x5c
jmp 0x40b94f
movzx ecx, word [eax + 0x436d8c]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x40b948
cmp word [ebp - 0x4018], 0
mov edx, esi
je 0x40b979
lea esi, [esi]
nop
add edx, 2
cmp word [edx], 0
jne 0x40b970
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 0x40b980
test byte [0x423020], 8
je 0x40b5fd
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 0x40b5fd
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 0x40b58f
lea eax, [ebp - 0x8a40]
mov dword [esp + 4], 0x2a
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_wcschr]
test eax, eax
je 0x40bd08
cmp word [ebp - 0x4018], 0
je 0x40c096
mov eax, esi
nop
add eax, 2
cmp word [eax], 0
jne 0x40ba40
sub eax, esi
sar eax, 1
dec eax
movzx edx, word [ebp + eax*2 - 0x4018]
cmp dx, 0x2e
je 0x40c019
test byte [0x423020], 8
jne 0x40be70
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 0x40ba9c
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 0x40bde8
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 0x40bb30
cmp word [eax], 0
je 0x40bb59
lea esi, [esi]
lea esi, [esi]
add eax, 2
cmp word [eax], 0
jne 0x40bb50
xor edx, edx
lea esi, [esi]
nop
movzx ecx, word [esi + edx]
mov word [eax + edx], cx
add edx, 2
test cx, cx
jne 0x40bb60
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 0x40bba8
cmp word [eax], 0
je 0x40bbc9
nop
add eax, 2
cmp word [eax], 0
jne 0x40bbc0
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 0x40bbd0
mov esi, dword [ebp - 0x8a84]
mov eax, dword [ebp - 0x8a78]
mov dword [ebp - 0x8a88], esi
jmp 0x40b62d
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 0x40bc10
lea esi, [ebp - 0x4018]
jmp 0x40b5f0
mov edx, dword [ebp - 0x8a88]
test edx, edx
jne 0x40bf6f
mov eax, dword [0x4243e0]
test eax, eax
jne 0x40bec8
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 0x40bc60
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 0x40af50
mov edx, dword [0x434520]
test edx, edx
je 0x40b48b
mov dword [0x434438], 0
test eax, eax
je 0x40bcc4
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 0x40bf8e
movsx eax, word [ebp - 0x8a56]
mov dword [0x423388], eax
jmp 0x40b493
lea eax, [ebp - 0x8a40]
mov dword [esp + 4], 0x25
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_wcschr]
test eax, eax
jne 0x40ba2f
lea eax, [ebp - 0x8a40]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_GetFileAttributesW]
sub esp, 4
cmp eax, 0xffffffff
je 0x40ba60
test al, 0x10
je 0x40ba60
cmp word [ebp - 0x8a40], 0
je 0x40c0aa
lea eax, [ebp - 0x8a40]
add eax, 2
cmp word [eax], 0
jne 0x40bd5e
lea esi, [ebp - 0x8a40]
sub eax, esi
mov edx, esi
cmp word [ebp + eax - 0x8a42], 0x5c
je 0x40bdb1
add edx, 2
cmp word [edx], 0
jne 0x40bd7c
xor eax, eax
mov ecx, 0x5c
jmp 0x40bd95
movzx ecx, word [eax + 0x436d8c]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x40bd8e
cmp word [ebp - 0x8a40], 0
lea edx, [ebp - 0x8a40]
je 0x40bdc0
lea edx, [ebp - 0x8a40]
add edx, 2
cmp word [edx], 0
jne 0x40bdb7
xor eax, eax
mov ecx, 0x2a
jmp 0x40bdd0
movzx ecx, word [eax + 0x436d6a]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x40bdc9
jmp 0x40ba60
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 0x40baf2
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 0x40ba6d
mov dword [esp], 0
call sym._WCMD_enter_paged_mode
jmp 0x40b4a0
call sym._WCMD_leave_paged_mode
jmp 0x40bc4b
test byte [0x423020], 8
jne 0x40bf9d
mov dword [esp], 0xc
call sym._xalloc
cmp word [ebp - 0x8838], 0
mov dword [ebp - 0x8a8c], eax
mov dword [eax], 0
je 0x40c0a0
lea eax, [ebp - 0x8838]
lea esi, [esi]
add eax, 2
cmp word [eax], 0
jne 0x40bf18
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 0x40b646
mov eax, dword [ebx + 4]
movzx eax, word [eax]
call sym._WCMD_dir_trailer
jmp 0x40bc3e
mov dword [0x4231f0], 1
jmp 0x40bc3e
mov dword [0x423388], 0x50
jmp 0x40b493
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 0x40bee5
mov dword [0x4231e0], 2
movzx eax, word [edx + 2]
lea ebx, [edx + 2]
jmp 0x40af50
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 0x40bfe8
jmp 0x40b5f0
movzx eax, word [ebx]
mov dword [esp + 4], 0x436e44
mov dword [esp], esi
mov dword [esp + 8], eax
call edx
jmp 0x40b91c
cmp word [ebp - 0x8a40], 0
lea ecx, [ebp - 0x8a40]
je 0x40c039
lea esi, [esi]
add ecx, 2
cmp word [ecx], 0
jne 0x40c030
xor eax, eax
jmp 0x40c047
movzx edx, word [eax + 0x436c4c]
mov word [ecx + eax], dx
add eax, 2
test dx, dx
jne 0x40c040
jmp 0x40ba60
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 0x40af50
mov eax, 0xffffffff
jmp 0x40ba4e
mov ebx, 2
jmp 0x40bf2c
lea edx, [ebp - 0x8a40]
jmp 0x40bd85