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

Disassembly:
push ebp
mov eax, 0x8bfc
mov ebp, esp
push edi
push esi
push ebx
call fcn.004240d8
sub esp, eax
mov eax, dword [ebp + 8]
lea ebx, [ebp - 0x8018]
mov dword [0x437470], 0
mov dword [esp + 8], 0x2000
mov dword [ebp - 0x8b9c], eax
mov eax, dword [sym.imp.kernel32.dll_GetEnvironmentVariableW]
mov dword [esp + 4], ebx
mov dword [esp], str.DIRCMD
mov dword [ebp - 0x8bb4], eax
call eax
sub esp, 0xc
test eax, eax
je 0x415ce8
mov edi, ebx
mov esi, dword [sym.imp.ucrtbase.dll_toupper]
jmp 0x415c93
add edi, 2
movzx eax, word [edi]
mov dword [esp], eax
call esi
mov word [edi], ax
test ax, ax
jne 0x415c90
cmp word [ebp - 0x8018], 0
mov edx, ebx
je 0x415cb9
nop
add edx, 2
cmp word [edx], 0
jne 0x415cb0
xor eax, eax
lea esi, [esi]
nop
movzx ecx, word [eax + 0x437480]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x415cc0
xor eax, eax
movzx edx, word [ebx + eax]
add eax, 2
mov word [eax + 0x43747e], dx
test dx, dx
jne 0x415cd5
mov eax, 0x437480
mov esi, 0x437480
mov dword [0x42e0a0], 0
mov dword [0x42e0a4], 0
shr eax, 0x10
mov dword [0x42e0ac], 0
mov dword [0x42e0b0], 0
mov dword [0x42e084], 0
mov dword [0x42e080], 0
mov dword [0x42e07c], 0
mov dword [0x42e078], 0
mov dword [0x42e074], 0
mov dword [0x42e070], 0
mov dword [0x42e06c], 0
mov dword [0x42e088], 0
mov dword [0x42e068], 1
mov dword [0x42e09c], 2
mov dword [0x42e098], 0
mov dword [0x42e094], 0
mov dword [0x42e090], 0
mov dword [0x42e08c], 0
mov dword [0x42e064], 0
mov dword [0x42e060], 6
mov dword [ebp - 0x8bb0], eax
movzx eax, word [0x437480]
test ax, ax
je 0x416000
cmp ax, 0x2f
je 0x415de3
cmp ax, 0x20
jne 0x416000
lea ebx, [esi + 2]
movzx edx, word [esi + 2]
cmp ax, 0x20
je 0x415ff0
mov dword [ebp - 0x8bac], 0
cmp dx, 0x2d
jne 0x415e11
mov dword [ebp - 0x8bac], 1
lea ebx, [esi + 4]
test byte [0x425020], 8
jne 0x415ea0
movzx eax, word [ebx]
sub eax, 0x41
cmp ax, 0x17
ja case.0x416532.1
movzx eax, ax
jmp dword [eax*4 + 0x428688]
movzx eax, word [ebx + 2]
lea edx, [ebx + 2]
cmp ax, 0x3a
jne 0x415e48
movzx eax, word [ebx + 4]
lea edx, [ebx + 4]
cmp ax, 0x41
je 0x417513
cmp ax, 0x43
je 0x416b92
cmp ax, 0x57
je 0x417e26
test ax, ax
je 0x416bb0
cmp ax, 0x2f
je 0x416bb0
mov eax, dword fs:[0x18]
mov dword [eax + 0x34], 0x57
call dbg.WCMD_print_error
mov dword [0x437470], 1
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [ebp - 0x8bb0]
test eax, eax
je 0x416930
mov dword [esp + 4], 0xffffffff
mov dword [esp], 0x437480
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov edi, eax
sub esp, 8
mov eax, 0x4281b4
test edi, edi
jne 0x415f8d
cmp word [0x437480], 0
je 0x415eee
nop
add edi, 1
cmp word [edi + edi + 0x437480], 0
jne 0x415ee0
mov eax, 0x224c
lea edx, [ebp - 0x4016]
mov ecx, 0x437480
mov dword [ebp - 0x8bb8], ebx
mov word [ebp - 0x4018], ax
lea esi, [edi - 1]
test edi, edi
jle 0x415f5c
lea eax, [ebp - 0x3ef6]
cmp edx, eax
ja 0x415f5c
add ecx, 2
movzx eax, word [ecx - 2]
cmp ax, 0xd
je 0x4162c0
ja 0x415fc1
cmp ax, 9
je 0x4162a3
cmp ax, 0xa
jne 0x416243
mov eax, 0x6e5c
add edx, 2
mov edi, esi
mov word [edx - 2], ax
lea esi, [edi - 1]
test edi, edi
jg 0x415f12
mov ebx, dword [ebp - 0x8bb8]
mov byte [edx], 0x22
lea eax, [edx + 1]
test esi, esi
jle 0x415f7c
mov esi, 0x2e2e
mov byte [edx + 3], 0x2e
lea eax, [edx + 4]
mov word [edx + 1], si
mov byte [eax], 0
lea eax, [ebp - 0x4018]
mov dword [esp], eax
call dbg.__wine_dbg_strdup
mov dword [esp + 0x14], eax
movzx eax, word [ebx]
mov dword [esp + 0xc], str.Processing_arg__c__in__s__n
mov dword [esp + 0x10], eax
mov dword [esp + 8], 0x428808
mov dword [esp + 4], 0x425020
mov dword [esp], 3
call sym._wine_dbg_log.constprop.4
jmp 0x415e1e
cmp ax, 0x22
je 0x416230
cmp ax, 0x5c
jne 0x416243
mov edi, 0x5c5c
add edx, 2
mov word [edx - 2], di
mov edi, esi
jmp 0x415f55
mov eax, edx
mov esi, ebx
test ax, ax
jne 0x415dd3
lea esi, [esi]
mov ebx, dword [0x42e078]
mov eax, dword [0x42e088]
test ebx, ebx
jne 0x416b60
mov ecx, dword [0x42e070]
test ecx, ecx
je 0x417529
mov dword [0x42e07c], 0
test eax, eax
jne 0x417545
mov eax, dword [0x42e084]
test eax, eax
jne 0x417880
mov eax, dword [ebp + 8]
mov dword [esp], 0x104
mov dword [ebp - 0x8b9c], 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 0x41607c
add edx, 2
cmp word [edx], 0
jne 0x416073
xor eax, eax
mov ecx, 0x5c
jmp 0x41608c
movzx ecx, word [eax + 0x428528]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x416085
lea eax, [ebp - 0x4018]
xor esi, esi
xor edx, edx
mov dword [ebp - 0x8bb8], 0
shr eax, 0x10
mov dword [ebp - 0x8bb0], esi
mov dword [ebp - 0x8bbc], eax
lea eax, [ebp - 0x8a40]
shr eax, 0x10
mov dword [ebp - 0x8bc0], eax
lea eax, [ebp - 0x8220]
shr eax, 0x10
mov dword [ebp - 0x8bd0], eax
lea eax, [ebp - 0x8428]
shr eax, 0x10
mov dword [ebp - 0x8bcc], eax
lea eax, [ebp - 0x8630]
shr eax, 0x10
mov dword [ebp - 0x8bc8], eax
lea eax, [ebp - 0x8b96]
shr eax, 0x10
mov dword [ebp - 0x8bc4], eax
mov eax, dword [ebp - 0x8b9c]
lea esi, [esi]
test eax, eax
je 0x417175
lea eax, [edx + 1]
mov dword [esp + 0x10], 0
mov dword [ebp - 0x8bac], eax
lea eax, [ebp - 0x8b9c]
mov dword [esp + 8], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0xc], 0
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._WCMD_parameter
mov ebx, eax
mov eax, dword [ebp - 0x8b9c]
test eax, eax
je 0x417175
cmp word [eax], 0x2f
je 0x416223
test byte [0x425020], 8
jne 0x416dc0
cmp word [ebx + 2], 0x3a
movzx edx, word [ebx]
je 0x416bc1
xor eax, eax
cmp dx, 0x5c
je 0x416ef2
lea esi, [esi]
nop
movzx edx, word [ebp + eax - 0x8838]
mov word [ebp + eax - 0x4018], dx
add eax, 2
test dx, dx
jne 0x416190
cmp word [ebp - 0x4018], 0
lea edx, [ebp - 0x4018]
je 0x4161c9
lea esi, [esi]
nop
add edx, 2
cmp word [edx], 0
jne 0x4161c0
xor eax, eax
lea esi, [esi]
nop
movzx ecx, word [ebx + eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x4161d0
test byte [0x425020], 8
jne 0x416c80
lea eax, [ebp - 0x8a40]
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
lea eax, [ebp - 0x4018]
mov dword [esp + 4], 0x104
mov dword [esp], eax
call sym._WCMD_get_fullpath
test eax, eax
jne 0x416f20
mov eax, dword [ebp - 0x8b9c]
mov edx, dword [ebp - 0x8bac]
jmp 0x416110
mov eax, 0x225c
add edx, 2
mov edi, esi
mov word [edx - 2], ax
jmp 0x415f55
lea edi, [eax - 0x20]
cmp di, 0x5e
jbe 0x4162d3
mov edi, eax
mov byte [edx], 0x5c
add edx, 5
shr di, 0xc
movzx edi, di
movzx ebx, byte [edi + str.0123456789abcdefWCMD_directory]
mov edi, eax
shr di, 8
and edi, 0xf
mov byte [edx - 4], bl
movzx ebx, byte [edi + str.0123456789abcdefWCMD_directory]
mov edi, eax
and eax, 0xf
shr di, 4
movzx eax, byte [eax + str.0123456789abcdefWCMD_directory]
and edi, 0xf
mov byte [edx - 3], bl
movzx ebx, byte [edi + str.0123456789abcdefWCMD_directory]
mov byte [edx - 1], al
mov edi, esi
mov byte [edx - 2], bl
jmp 0x415f55
mov eax, 0x745c
add edx, 2
mov edi, esi
mov word [edx - 2], ax
jmp 0x415f55
mov eax, 0x725c
add edx, 2
mov edi, esi
mov word [edx - 2], ax
jmp 0x415f55
mov byte [edx], al
mov edi, esi
add edx, 1
jmp 0x415f55
mov edx, dword [ebp - 0x8bac]
movzx eax, word [ebx + 2]
lea esi, [ebx + 2]
test edx, edx
je 0x416b40
mov edi, dword [0x42e070]
xor edx, edx
test edi, edi
sete dl
mov dword [0x42e070], edx
jmp 0x415dca
movzx eax, word [ebx + 2]
lea esi, [ebx + 2]
mov ebx, dword [ebp - 0x8bac]
test ebx, ebx
je 0x416b30
mov ecx, dword [0x42e07c]
xor edx, edx
test ecx, ecx
sete dl
mov dword [0x42e07c], edx
jmp 0x415dca
mov edx, dword [ebp - 0x8bac]
movzx eax, word [ebx + 2]
lea esi, [ebx + 2]
test edx, edx
je 0x416b20
mov edi, dword [0x42e080]
xor edx, edx
test edi, edi
sete dl
mov dword [0x42e080], edx
jmp 0x415dca
movzx eax, word [ebx + 2]
lea esi, [ebx + 2]
mov ebx, dword [ebp - 0x8bac]
test ebx, ebx
je 0x416b10
mov ecx, dword [0x42e06c]
xor edx, edx
test ecx, ecx
sete dl
mov dword [0x42e06c], edx
jmp 0x415dca
movzx eax, word [ebx + 2]
lea esi, [ebx + 2]
mov ebx, dword [ebp - 0x8bac]
test ebx, ebx
je 0x416b00
mov ecx, dword [0x42e084]
xor edx, edx
test ecx, ecx
sete dl
mov dword [0x42e084], edx
jmp 0x415dca
movzx eax, word [ebx + 2]
lea esi, [ebx + 2]
cmp ax, 0x3a
jne 0x4163e4
movzx eax, word [ebx + 4]
lea esi, [ebx + 4]
cmp ax, 0x2f
je 0x415dca
test ax, ax
je 0x415dca
test byte [0x425020], 8
jne 0x416613
movzx eax, word [esi]
sub eax, 0x2d
cmp ax, 0x26
ja case.0x416532.1
movzx eax, ax
jmp dword [eax*4 + 0x4286e8]
movzx eax, word [ebx + 2]
lea esi, [ebx + 2]
mov ebx, dword [ebp - 0x8bac]
test ebx, ebx
je 0x416af0
mov ecx, dword [0x42e074]
xor edx, edx
test ecx, ecx
sete dl
mov dword [0x42e074], edx
jmp 0x415dca
movzx eax, word [ebx + 2]
lea esi, [ebx + 2]
mov ebx, dword [ebp - 0x8bac]
test ebx, ebx
je 0x416ae0
mov ecx, dword [0x42e068]
xor edx, edx
test ecx, ecx
sete dl
mov dword [0x42e068], edx
jmp 0x415dca
mov edx, dword [ebp - 0x8bac]
movzx eax, word [ebx + 2]
lea esi, [ebx + 2]
test edx, edx
je 0x416ad0
mov edi, dword [0x42e078]
xor edx, edx
test edi, edi
sete dl
mov dword [0x42e078], edx
jmp 0x415dca
movzx eax, word [ebx + 2]
lea esi, [ebx + 2]
mov dword [0x42e064], 0
mov dword [0x42e060], 0
cmp ax, 0x3a
jne 0x4164e0
movzx eax, word [ebx + 4]
lea esi, [ebx + 4]
lea esi, [esi]
nop
test ax, ax
je 0x4175c0
cmp ax, 0x2f
je 0x4175c0
mov dword [ebp - 0x8bac], 0
mov ebx, esi
cmp ax, 0x2d
jne 0x416512
mov dword [ebp - 0x8bac], 1
add ebx, 2
test byte [0x425020], 8
jne 0x4167e0
movzx eax, word [ebx]
sub eax, 0x41
cmp ax, 0x12
ja case.0x416532.1
movzx eax, ax
jmp dword [eax*4 + 0x428784]
mov edx, dword [ebp - 0x8bac]
movzx eax, word [ebx + 2]
lea esi, [ebx + 2]
test edx, edx
je 0x416ac0
mov edi, dword [0x42e088]
xor edx, edx
test edi, edi
sete dl
mov dword [0x42e088], edx
jmp 0x415dca
mov eax, 4
mov ecx, dword [0x42e064]
mov edx, eax
mov esi, dword [ebp - 0x8bac]
not edx
or dword [0x42e060], eax
and edx, ecx
or eax, ecx
test esi, esi
cmovne eax, edx
lea esi, [ebx + 2]
mov dword [0x42e064], eax
movzx eax, word [ebx + 2]
jmp 0x4164e0
mov eax, 1
jmp 0x416575
mov eax, 2
jmp 0x416575
mov eax, 0x10
jmp 0x416575
mov eax, 0x20
jmp 0x416575
mov dword [0x42e098], 2
movzx eax, word [esi + 2]
nop
add esi, 2
test ax, ax
je 0x415dca
cmp ax, 0x2f
je 0x415dca
test byte [0x425020], 8
je 0x416404
mov edx, dword [ebp - 0x8bb0]
test edx, edx
je 0x4172d3
mov dword [esp + 4], 0xffffffff
mov dword [esp], 0x437480
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov ecx, eax
sub esp, 8
mov eax, 0x4281b4
test ecx, ecx
jne 0x4166f5
cmp word [0x437480], 0
je 0x416660
add ecx, 1
cmp word [ecx + ecx + 0x437480], 0
jne 0x416652
mov eax, 0x224c
lea edx, [ebp - 0x4016]
lea edi, [ecx - 1]
mov ebx, 0x437480
mov word [ebp - 0x4018], ax
test ecx, ecx
jle 0x4166ca
nop
lea eax, [ebp - 0x3ef6]
cmp edx, eax
ja 0x4166ca
add ebx, 2
movzx eax, word [ebx - 2]
cmp ax, 0xd
je 0x4169f0
ja 0x4167b0
cmp ax, 9
je 0x4169d3
cmp ax, 0xa
jne 0x416973
mov eax, 0x6e5c
add edx, 2
mov ecx, edi
mov word [edx - 2], ax
lea edi, [ecx - 1]
test ecx, ecx
jg 0x416680
mov byte [edx], 0x22
lea eax, [edx + 1]
test edi, edi
jle 0x4166e4
mov ecx, 0x2e2e
mov byte [edx + 3], 0x2e
lea eax, [edx + 4]
mov word [edx + 1], cx
mov byte [eax], 0
lea eax, [ebp - 0x4018]
mov dword [esp], eax
call dbg.__wine_dbg_strdup
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], 0x428808
mov dword [esp + 4], 0x425020
mov dword [esp], 3
call sym._wine_dbg_log.constprop.4
jmp 0x416404
mov dword [0x42e098], 0
movzx eax, word [esi + 2]
jmp 0x4165f0
mov dword [0x42e090], 1
movzx eax, word [esi + 2]
jmp 0x4165f0
mov dword [0x42e098], 1
movzx eax, word [esi + 2]
jmp 0x4165f0
mov dword [0x42e098], 3
movzx eax, word [esi + 2]
jmp 0x4165f0
movzx eax, word [esi + 2]
cmp ax, 0x47
je 0x416b80
mov dword [0x42e094], 1
jmp 0x4165f0
cmp ax, 0x22
je 0x416960
cmp ax, 0x5c
jne 0x416973
mov eax, 0x5c5c
add edx, 2
mov ecx, edi
mov word [edx - 2], ax
jmp 0x4166c3
mov edx, dword [ebp - 0x8bb0]
test edx, edx
je 0x417443
mov dword [esp + 4], 0xffffffff
mov dword [esp], 0x437480
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov edi, eax
sub esp, 8
mov eax, 0x4281b4
test edi, edi
jne 0x4168cd
cmp word [0x437480], 0
je 0x41682e
nop
add edi, 1
cmp word [edi + edi + 0x437480], 0
jne 0x416820
mov eax, 0x224c
lea edx, [ebp - 0x4016]
mov ecx, 0x437480
mov dword [ebp - 0x8bb8], ebx
mov word [ebp - 0x4018], ax
lea esi, [edi - 1]
test edi, edi
jle 0x41689c
lea eax, [ebp - 0x3ef6]
cmp edx, eax
ja 0x41689c
add ecx, 2
movzx eax, word [ecx - 2]
cmp ax, 0xd
je 0x416a93
ja 0x416901
cmp ax, 9
je 0x416a80
cmp ax, 0xa
jne 0x416a20
mov eax, 0x6e5c
add edx, 2
mov edi, esi
mov word [edx - 2], ax
lea esi, [edi - 1]
test edi, edi
jg 0x416852
mov ebx, dword [ebp - 0x8bb8]
mov byte [edx], 0x22
lea eax, [edx + 1]
test esi, esi
jle 0x4168bc
mov edi, 0x2e2e
mov byte [edx + 3], 0x2e
lea eax, [edx + 4]
mov word [edx + 1], di
mov byte [eax], 0
lea eax, [ebp - 0x4018]
mov dword [esp], eax
call dbg.__wine_dbg_strdup
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], 0x428808
mov dword [esp + 4], 0x425020
mov dword [esp], 3
call sym._wine_dbg_log.constprop.4
jmp 0x41651f
cmp ax, 0x22
je 0x416a03
cmp ax, 0x5c
jne 0x416a20
mov eax, 0x5c5c
add edx, 2
mov edi, esi
mov word [edx - 2], ax
jmp 0x416895
mov dword [ebp - 0x8bb8], 0x437480
movzx eax, word [ebp - 0x8bb8]
mov dword [esp], 0x4281a0
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf.constprop.6
jmp 0x415f8d
mov eax, 0x225c
add edx, 2
mov ecx, edi
mov word [edx - 2], ax
jmp 0x4166c3
lea ecx, [eax - 0x20]
cmp cx, 0x5e
jbe 0x416ab0
mov ecx, eax
mov byte [edx], 0x5c
add edx, 5
shr cx, 0xc
movzx ecx, cx
movzx ecx, byte [ecx + str.0123456789abcdefWCMD_directory]
mov byte [edx - 4], cl
mov ecx, eax
shr cx, 8
and ecx, 0xf
movzx ecx, byte [ecx + str.0123456789abcdefWCMD_directory]
mov byte [edx - 3], cl
mov ecx, eax
and eax, 0xf
shr cx, 4
movzx eax, byte [eax + str.0123456789abcdefWCMD_directory]
and ecx, 0xf
movzx ecx, byte [ecx + str.0123456789abcdefWCMD_directory]
mov byte [edx - 1], al
mov byte [edx - 2], cl
mov ecx, edi
jmp 0x4166c3
mov eax, 0x745c
add edx, 2
mov ecx, edi
mov word [edx - 2], ax
jmp 0x4166c3
mov eax, 0x725c
add edx, 2
mov ecx, edi
mov word [edx - 2], ax
jmp 0x4166c3
mov eax, 0x225c
add edx, 2
mov edi, esi
mov word [edx - 2], ax
jmp 0x416895
lea edi, [eax - 0x20]
cmp di, 0x5e
jbe 0x416b50
mov edi, eax
mov byte [edx], 0x5c
add edx, 5
shr di, 0xc
movzx edi, di
movzx ebx, byte [edi + str.0123456789abcdefWCMD_directory]
mov edi, eax
shr di, 8
and edi, 0xf
mov byte [edx - 4], bl
movzx ebx, byte [edi + str.0123456789abcdefWCMD_directory]
mov edi, eax
and eax, 0xf
shr di, 4
movzx eax, byte [eax + str.0123456789abcdefWCMD_directory]
and edi, 0xf
mov byte [edx - 3], bl
movzx ebx, byte [edi + str.0123456789abcdefWCMD_directory]
mov byte [edx - 1], al
mov edi, esi
mov byte [edx - 2], bl
jmp 0x416895
mov eax, 0x745c
add edx, 2
mov edi, esi
mov word [edx - 2], ax
jmp 0x416895
mov eax, 0x725c
add edx, 2
mov edi, esi
mov word [edx - 2], ax
jmp 0x416895
mov byte [edx], al
mov ecx, edi
add edx, 1
jmp 0x4166c3
mov dword [0x42e088], 1
jmp 0x415dca
mov dword [0x42e078], 1
jmp 0x415dca
mov dword [0x42e068], 1
jmp 0x415dca
mov dword [0x42e074], 1
jmp 0x415dca
mov dword [0x42e084], 1
jmp 0x415dca
mov dword [0x42e06c], 1
jmp 0x415dca
mov dword [0x42e080], 1
jmp 0x415dca
mov dword [0x42e07c], 1
jmp 0x415dca
mov dword [0x42e070], 1
jmp 0x415dca
mov byte [edx], al
mov edi, esi
add edx, 1
jmp 0x416895
mov dword [0x42e07c], 0
mov dword [0x42e070], 0
jmp 0x41602b
mov dword [0x42e08c], 1
add esi, 2
jmp 0x4163f7
mov dword [0x42e09c], 0
lea esi, [edx + 2]
movzx eax, word [edx + 2]
jmp 0x415dca
mov dword [0x42e09c], 2
mov esi, edx
jmp 0x415dca
cmp word [ebx + 4], 0x5c
je 0x417f03
lea esi, [ebp - 0x8b6c]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x4285de
mov dword [esp], esi
call sym._wsprintfW
lea eax, [ebp - 0x4018]
mov dword [esp + 8], 0x104
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x8bb4]
mov dword [esp], esi
call eax
sub esp, 0xc
test eax, eax
je 0x418310
cmp word [ebp - 0x4018], 0
lea edx, [ebp - 0x4018]
je 0x416c29
nop
add edx, 2
cmp word [edx], 0
jne 0x416c20
xor eax, eax
mov ecx, 0x5c
jmp 0x416c39
movzx ecx, word [eax + 0x428528]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x416c32
cmp word [ebp - 0x4018], 0
lea edx, [ebp - 0x4018]
je 0x416c5e
add edx, 2
cmp word [edx], 0
jne 0x416c55
xor eax, eax
movzx ecx, word [ebx + eax + 4]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x416c60
jmp 0x4161e0
mov eax, dword [ebp - 0x8bbc]
test eax, eax
je 0x417590
lea eax, [ebp - 0x4018]
mov dword [esp + 4], 0xffffffff
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov esi, eax
sub esp, 8
mov eax, 0x4281b4
test esi, esi
jne 0x416d8f
cmp word [ebp - 0x4018], 0
je 0x416ccf
add esi, 1
cmp word [ebp + esi*2 - 0x4018], 0
jne 0x416cc1
mov eax, 0x224c
lea ecx, [ebp - 0x4018]
lea edx, [ebp - 0x8b6a]
mov word [ebp - 0x8b6c], ax
mov edi, ecx
lea esi, [esi]
lea eax, [ebp - 0x8a4a]
lea ebx, [esi - 1]
cmp edx, eax
ja 0x416d64
test esi, esi
jle 0x416d64
add edi, 2
movzx eax, word [edi - 2]
cmp ax, 0xd
je 0x417413
ja 0x416d40
cmp ax, 9
je 0x417400
cmp ax, 0xa
jne 0x4173a0
mov eax, 0x6e5c
add edx, 2
mov esi, ebx
mov word [edx - 2], ax
jmp 0x416cf0
cmp ax, 0x22
je 0x417430
cmp ax, 0x5c
jne 0x4173a0
mov esi, 0x5c5c
add edx, 2
mov word [edx - 2], si
mov esi, ebx
jmp 0x416cf0
mov byte [edx], 0x22
lea eax, [edx + 1]
test ebx, ebx
jle 0x416d7e
mov ecx, 0x2e2e
mov byte [edx + 3], 0x2e
lea eax, [edx + 4]
mov word [edx + 1], cx
mov byte [eax], 0
lea eax, [ebp - 0x8b6c]
mov dword [esp], eax
call dbg.__wine_dbg_strdup
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.Using_location__s_n
mov dword [esp + 8], 0x428808
mov dword [esp + 4], 0x425020
mov dword [esp], 3
call sym._wine_dbg_log.constprop.4
jmp 0x4161ed
test ebx, ebx
je 0x417e1c
mov eax, ebx
shr eax, 0x10
je 0x4176c0
mov dword [esp + 4], 0xffffffff
mov dword [esp], ebx
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov edi, eax
sub esp, 8
mov eax, 0x4281b4
test edi, edi
jne 0x416ec5
cmp word [ebx], 0
je 0x416e0a
lea esi, [esi]
add edi, 1
cmp word [ebx + edi*2], 0
jne 0x416e00
mov eax, 0x224c
mov dword [ebp - 0x8bd4], ebx
mov ecx, ebx
lea edx, [ebp - 0x8b6a]
mov word [ebp - 0x8b6c], ax
lea eax, [ebp - 0x8a4a]
lea esi, [edi - 1]
cmp edx, eax
ja 0x416e94
test edi, edi
jle 0x416e94
add ecx, 2
movzx eax, word [ecx - 2]
cmp ax, 0xd
je 0x4174e3
ja 0x416e70
cmp ax, 9
je 0x4174d0
cmp ax, 0xa
jne 0x417470
mov eax, 0x6e5c
add edx, 2
mov edi, esi
mov word [edx - 2], ax
jmp 0x416e24
cmp ax, 0x22
je 0x417500
cmp ax, 0x5c
jne 0x417470
mov ebx, 0x5c5c
add edx, 2
mov edi, esi
mov word [edx - 2], bx
jmp 0x416e24
mov ebx, dword [ebp - 0x8bd4]
mov byte [edx], 0x22
lea eax, [edx + 1]
test esi, esi
jle 0x416eb4
mov ecx, 0x2e2e
mov byte [edx + 3], 0x2e
lea eax, [edx + 4]
mov word [edx + 1], cx
mov byte [eax], 0
lea eax, [ebp - 0x8b6c]
mov dword [esp], eax
call dbg.__wine_dbg_strdup
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.Found_parm__s_n
mov dword [esp + 8], 0x428808
mov dword [esp + 4], 0x425020
mov dword [esp], 3
call sym._wine_dbg_log.constprop.4
jmp 0x416171
mov eax, dword [ebp - 0x8838]
mov dword [ebp - 0x4018], eax
xor eax, eax
movzx edx, word [ebx + eax]
mov word [ebp + eax - 0x4014], dx
add eax, 2
test dx, dx
jne 0x416f00
jmp 0x4161e0
lea eax, [ebp - 0x8a40]
mov dword [esp + 4], 0x2a
mov ebx, dword [sym.imp.ucrtbase.dll_wcschr]
mov dword [esp], eax
call ebx
test eax, eax
je 0x4175e1
cmp word [ebp - 0x4018], 0
je 0x41836e
lea eax, [ebp - 0x4018]
add eax, 2
cmp word [eax], 0
jne 0x416f55
lea esi, [ebp - 0x4018]
sub eax, esi
sar eax, 1
sub eax, 1
movzx eax, word [ebp + eax*2 - 0x4018]
cmp ax, 0x2e
je 0x4181f6
test byte [0x425020], 8
jne 0x4177b0
mov dword [esp], 0xc
call dbg.heap_xalloc
mov edi, eax
mov eax, dword [ebp - 0x8bb0]
test eax, eax
cmove eax, edi
mov dword [ebp - 0x8bb0], eax
mov eax, dword [ebp - 0x8bb8]
test eax, eax
je 0x416fb5
mov dword [eax], edi
lea eax, [ebp - 0x8220]
mov dword [edi], 0
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x8428]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x8630]
mov dword [esp + 8], eax
lea eax, [ebp - 0x8b96]
mov dword [esp + 4], eax
lea eax, [ebp - 0x8a40]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll__wsplitpath]
test byte [0x425020], 8
jne 0x4176e0
cmp word [ebp - 0x8b96], 0
je 0x4182fa
lea eax, [ebp - 0x8b96]
add eax, 2
cmp word [eax], 0
jne 0x417013
lea esi, [ebp - 0x8b96]
sub eax, esi
sar eax, 1
cmp word [ebp - 0x8630], 0
je 0x417055
lea edx, [ebp - 0x8630]
lea esi, [esi]
lea esi, [esi]
add edx, 2
cmp word [edx], 0
jne 0x417040
lea esi, [ebp - 0x8630]
sub edx, esi
sar edx, 1
add eax, edx
lea eax, [eax + eax + 2]
mov dword [esp], eax
call dbg.heap_xalloc
xor edx, edx
mov dword [edi + 4], eax
lea esi, [esi]
lea esi, [esi]
movzx ecx, word [ebp + edx - 0x8b96]
mov word [eax + edx], cx
add edx, 2
test cx, cx
jne 0x417070
mov edx, dword [edi + 4]
cmp word [edx], 0
je 0x417099
lea esi, [esi]
add edx, 2
cmp word [edx], 0
jne 0x417090
xor eax, eax
lea esi, [esi]
nop
movzx ecx, word [ebp + eax - 0x8630]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x4170a0
cmp word [ebp - 0x8428], 0
je 0x418301
lea eax, [ebp - 0x8428]
lea esi, [esi]
nop
add eax, 2
cmp word [eax], 0
jne 0x4170d0
lea esi, [ebp - 0x8428]
sub eax, esi
sar eax, 1
cmp word [ebp - 0x8220], 0
je 0x417108
lea edx, [ebp - 0x8220]
add edx, 2
cmp word [edx], 0
jne 0x4170f3
lea esi, [ebp - 0x8220]
sub edx, esi
sar edx, 1
add eax, edx
lea eax, [eax + eax + 2]
mov dword [esp], eax
call dbg.heap_xalloc
xor edx, edx
mov dword [edi + 8], eax
lea esi, [esi]
movzx ecx, word [ebp + edx - 0x8428]
mov word [eax + edx], cx
add edx, 2
test cx, cx
jne 0x417120
mov edx, dword [edi + 8]
cmp word [edx], 0
je 0x417149
lea esi, [esi]
add edx, 2
cmp word [edx], 0
jne 0x417140
xor eax, eax
lea esi, [esi]
nop
movzx ecx, word [ebp + eax - 0x8220]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x417150
mov eax, dword [ebp - 0x8b9c]
mov dword [ebp - 0x8bb8], edi
jmp 0x416223
mov esi, dword [ebp - 0x8bb0]
test esi, esi
je 0x4178a0
mov eax, 0x3f
mov ebx, esi
mov dword [ebp - 0x8bb4], 0
mov word [ebp - 0x8bac], ax
mov eax, dword [sym.imp.ucrtbase.dll_toupper]
mov dword [ebp - 0x8bb8], 0
mov dword [ebp - 0x8bb0], eax
mov dword [ebp - 0x8bbc], esi
jmp 0x41726b
cmp cx, 0x3f
je 0x4171f2
mov esi, dword [ebp - 0x8bb4]
mov eax, dword [esi + 4]
movzx eax, word [eax]
call dbg.WCMD_dir_trailer
mov esi, dword [ebx + 4]
mov eax, dword [ebp - 0x8bb0]
movzx edi, word [esi]
mov dword [esp], edi
call eax
mov dword [ebp - 0x8bb8], 0
mov word [ebp - 0x8bac], ax
mov eax, dword [0x42e078]
test eax, eax
jne 0x417248
test byte [0x425020], 8
jne 0x4172a3
mov eax, dword [esi]
mov dword [esp], 0
xor esi, esi
mov word [ebp - 0x8b68], si
mov dword [ebp - 0x8b6c], eax
lea eax, [ebp - 0x8b6c]
mov dword [esp + 4], eax
call dbg.WCMD_volume
test eax, eax
je 0x41793b
mov dword [ebp - 0x8bb8], 1
mov dword [0x437470], 0
xor edx, edx
mov eax, ebx
call dbg.WCMD_list_directory
mov dword [ebp - 0x8bb4], ebx
test eax, eax
je 0x417300
mov ebx, eax
mov esi, dword [ebx + 4]
mov eax, dword [ebp - 0x8bb0]
movzx edi, word [esi]
mov dword [esp], edi
call eax
movzx ecx, word [ebp - 0x8bac]
cmp ecx, eax
jne 0x4171c0
mov ecx, dword [0x42e078]
test ecx, ecx
jne 0x417248
mov dword [esp], 0x428680
call sym._WCMD_output_asis
jmp 0x417248
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], str.Writing_volume_for__c:_n
mov dword [esp + 8], 0x428808
mov dword [esp + 4], 0x425020
mov dword [esp], 3
call sym._wine_dbg_log.constprop.4
mov esi, dword [ebx + 4]
jmp 0x41720f
mov dword [ebp - 0x8bac], 0x437480
movzx eax, word [ebp - 0x8bac]
mov dword [esp], 0x4281a0
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf.constprop.6
jmp 0x4166f5
mov edx, dword [ebp - 0x8bb8]
mov esi, dword [ebp - 0x8bbc]
test edx, edx
jne 0x41792b
mov eax, dword [0x42e084]
test eax, eax
jne 0x417874
mov ebx, dword [sym.imp.kernel32.dll_HeapFree]
mov edi, dword fs:[0x18]
nop
mov eax, dword [esi]
mov dword [ebp - 0x8bac], eax
mov eax, dword [esi + 4]
mov dword [esp + 4], 0
mov dword [esp + 8], eax
mov eax, dword [edi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call ebx
mov eax, dword [esi + 8]
sub esp, 0xc
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov eax, dword [edi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call ebx
sub esp, 0xc
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov eax, dword [edi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call ebx
mov esi, dword [ebp - 0x8bac]
sub esp, 0xc
test esi, esi
jne 0x417330
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
lea esi, [eax - 0x20]
cmp si, 0x5e
jbe 0x4175d5
mov esi, eax
mov byte [edx], 0x5c
add edx, 5
shr si, 0xc
movzx esi, si
movzx ecx, byte [esi + str.0123456789abcdefWCMD_directory]
mov esi, eax
shr si, 8
and esi, 0xf
mov byte [edx - 4], cl
movzx ecx, byte [esi + str.0123456789abcdefWCMD_directory]
mov esi, eax
and eax, 0xf
shr si, 4
movzx eax, byte [eax + str.0123456789abcdefWCMD_directory]
and esi, 0xf
mov byte [edx - 3], cl
movzx ecx, byte [esi + str.0123456789abcdefWCMD_directory]
mov byte [edx - 1], al
mov esi, ebx
mov byte [edx - 2], cl
jmp 0x416cf0
mov eax, 0x745c
add edx, 2
mov esi, ebx
mov word [edx - 2], ax
jmp 0x416cf0
mov eax, 0x725c
add edx, 2
mov esi, ebx
mov word [edx - 2], ax
jmp 0x416cf0
mov eax, 0x225c
add edx, 2
mov esi, ebx
mov word [edx - 2], ax
jmp 0x416cf0
mov dword [ebp - 0x8bb8], 0x437480
movzx eax, word [ebp - 0x8bb8]
mov dword [esp], 0x4281a0
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf.constprop.6
jmp 0x4168cd
lea edi, [eax - 0x20]
cmp di, 0x5e
jbe 0x417891
mov edi, eax
mov byte [edx], 0x5c
add edx, 5
shr di, 0xc
movzx edi, di
movzx ebx, byte [edi + str.0123456789abcdefWCMD_directory]
mov edi, eax
shr di, 8
and edi, 0xf
mov byte [edx - 4], bl
movzx ebx, byte [edi + str.0123456789abcdefWCMD_directory]
mov edi, eax
and eax, 0xf
shr di, 4
movzx eax, byte [eax + str.0123456789abcdefWCMD_directory]
and edi, 0xf
mov byte [edx - 3], bl
movzx ebx, byte [edi + str.0123456789abcdefWCMD_directory]
mov byte [edx - 1], al
mov edi, esi
mov byte [edx - 2], bl
jmp 0x416e24
mov eax, 0x745c
add edx, 2
mov edi, esi
mov word [edx - 2], ax
jmp 0x416e24
mov eax, 0x725c
add edx, 2
mov edi, esi
mov word [edx - 2], ax
jmp 0x416e24
mov edi, 0x225c
add edx, 2
mov word [edx - 2], di
mov edi, esi
jmp 0x416e24
mov dword [0x42e09c], 1
lea esi, [edx + 2]
movzx eax, word [edx + 2]
jmp 0x415dca
mov edx, dword [0x42e07c]
test edx, edx
je 0x41602b
mov dword [0x42e06c], 0
test eax, eax
je 0x41754f
mov dword [0x42e07c], 1
mov dword [esp], 0xfffffff5
call dword [sym.imp.kernel32.dll_GetStdHandle]
lea edx, [ebp - 0x8b82]
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 0x417950
movsx eax, word [ebp - 0x8b82]
mov dword [0x42e0a8], eax
jmp 0x416033
lea eax, [ebp - 0x4018]
mov dword [esp], 0x4281a0
mov dword [ebp - 0x8bd4], eax
movzx eax, word [ebp - 0x8bd4]
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf.constprop.6
jmp 0x416d8f
test byte [0x425020], 8
jne 0x418238
movzx eax, word [esi]
jmp 0x415dca
mov byte [edx], al
mov esi, ebx
add edx, 1
jmp 0x416cf0
lea eax, [ebp - 0x8a40]
mov dword [esp + 4], 0x25
mov dword [esp], eax
call ebx
test eax, eax
jne 0x416f41
lea eax, [ebp - 0x8a40]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_GetFileAttributesW]
sub esp, 4
cmp eax, 0xffffffff
je 0x416f7d
test al, 0x10
je 0x416f7d
cmp word [ebp - 0x8a40], 0
je 0x418382
lea eax, [ebp - 0x8a40]
add eax, 2
cmp word [eax], 0
jne 0x417633
lea ebx, [ebp - 0x8a40]
sub eax, ebx
mov edx, ebx
sar eax, 1
cmp word [ebp + eax*2 - 0x8a42], 0x5c
je 0x417688
add edx, 2
cmp word [edx], 0
jne 0x417653
xor eax, eax
mov ecx, 0x5c
jmp 0x41766c
movzx ecx, word [eax + 0x428528]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x417665
cmp word [ebp - 0x8a40], 0
lea edx, [ebp - 0x8a40]
je 0x417697
lea edx, [ebp - 0x8a40]
add edx, 2
cmp word [edx], 0
jne 0x41768e
xor eax, eax
mov ecx, 0x2a
jmp 0x4176a7
movzx ecx, word [eax + 0x428506]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x4176a0
jmp 0x416f7d
movzx eax, bx
mov dword [esp], 0x4281a0
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf.constprop.6
jmp 0x416ec5
mov ecx, dword [ebp - 0x8bd0]
test ecx, ecx
je 0x41795f
lea eax, [ebp - 0x8220]
mov dword [esp + 4], 0xffffffff
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov dword [ebp - 0x8bdc], 0x4281b4
sub esp, 8
test eax, eax
jne 0x417988
cmp word [ebp - 0x8220], 0
je 0x417732
add eax, 1
cmp word [ebp + eax*2 - 0x8220], 0
jne 0x417724
lea ecx, [ebp - 0x8220]
mov edx, 0x224c
mov dword [ebp - 0x8bb8], ecx
mov word [ebp - 0x8b6c], dx
lea edx, [ebp - 0x8b6a]
lea ebx, [eax - 1]
test eax, eax
jle 0x4181c0
lea eax, [ebp - 0x8a4a]
cmp edx, eax
ja 0x4181c0
add dword [ebp - 0x8bb8], 2
mov eax, dword [ebp - 0x8bb8]
movzx eax, word [eax - 2]
cmp ax, 0xd
je 0x4180d3
ja 0x417b10
cmp ax, 9
je 0x418043
cmp ax, 0xa
jne 0x418130
mov eax, 0x6e5c
add edx, 2
mov word [edx - 2], ax
mov eax, ebx
jmp 0x417750
mov eax, dword [ebp - 0x8bc0]
test eax, eax
je 0x417a5e
lea eax, [ebp - 0x8a40]
mov dword [esp + 4], 0xffffffff
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov esi, eax
sub esp, 8
mov eax, 0x4281b4
test esi, esi
jne 0x417a81
cmp word [ebp - 0x8a40], 0
je 0x4177ff
add esi, 1
cmp word [ebp + esi*2 - 0x8a40], 0
jne 0x4177f1
mov eax, 0x224c
lea ecx, [ebp - 0x8a40]
lea edx, [ebp - 0x8b6a]
mov word [ebp - 0x8b6c], ax
mov edi, ecx
lea esi, [esi]
lea eax, [ebp - 0x8a4a]
lea ebx, [esi - 1]
cmp edx, eax
ja 0x418190
test esi, esi
jle 0x418190
add edi, 2
movzx eax, word [edi - 2]
cmp ax, 0xd
je 0x418116
ja 0x417b40
cmp ax, 9
je 0x4180f0
cmp ax, 0xa
jne 0x418060
mov eax, 0x6e5c
add edx, 2
mov esi, ebx
mov word [edx - 2], ax
jmp 0x417820
call dbg.WCMD_leave_paged_mode
jmp 0x417321
mov dword [esp], 0
call dbg.WCMD_enter_paged_mode
jmp 0x416040
mov byte [edx], al
mov edi, esi
add edx, 1
jmp 0x416e24
test byte [0x425020], 8
jne 0x417aae
mov dword [esp], 0xc
call dbg.heap_xalloc
mov dword [eax], 0
cmp word [ebp - 0x8838], 0
mov esi, eax
je 0x418378
lea eax, [ebp - 0x8838]
add eax, 2
cmp word [eax], 0
jne 0x4178d5
lea ebx, [ebp - 0x8838]
sub eax, ebx
sar eax, 1
lea edi, [eax + eax + 2]
mov dword [esp], edi
call dbg.heap_xalloc
mov dword [esp + 8], edi
mov ebx, eax
lea eax, [ebp - 0x8838]
mov dword [esp + 4], eax
mov dword [esp], ebx
call sym._memcpy
mov dword [esi + 4], ebx
mov dword [esp], 4
call dbg.heap_xalloc
mov edx, dword [0x428506]
mov dword [eax], edx
mov dword [esi + 8], eax
jmp 0x417183
mov eax, dword [ebx + 4]
movzx eax, word [eax]
call dbg.WCMD_dir_trailer
jmp 0x417314
mov esi, dword [ebp - 0x8bbc]
mov dword [0x437470], 1
jmp 0x417314
mov dword [0x42e0a8], 0x50
jmp 0x416033
lea eax, [ebp - 0x8220]
mov dword [esp], 0x4281a0
mov dword [ebp - 0x8bb8], eax
movzx eax, word [ebp - 0x8bb8]
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf.constprop.6
mov dword [ebp - 0x8bdc], eax
mov ecx, dword [ebp - 0x8bcc]
test ecx, ecx
je 0x4182a4
lea eax, [ebp - 0x8428]
mov dword [esp + 4], 0xffffffff
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov dword [ebp - 0x8bd8], 0x4281b4
sub esp, 8
test eax, eax
jne 0x417b98
cmp word [ebp - 0x8428], 0
je 0x4179de
lea esi, [esi]
add eax, 1
cmp word [ebp + eax*2 - 0x8428], 0
jne 0x4179d0
lea ecx, [ebp - 0x8428]
mov edx, 0x224c
mov dword [ebp - 0x8bb8], ecx
mov word [ebp - 0x8b6c], dx
lea edx, [ebp - 0x8b6a]
lea esi, [esi]
lea ebx, [eax - 1]
test eax, eax
jle 0x417b67
lea eax, [ebp - 0x8a4a]
cmp edx, eax
ja 0x417b67
add dword [ebp - 0x8bb8], 2
mov eax, dword [ebp - 0x8bb8]
movzx eax, word [eax - 2]
cmp ax, 0xd
je 0x417f29
ja 0x417ae0
cmp ax, 9
je 0x417fa0
cmp ax, 0xa
jne 0x417f40
mov eax, 0x6e5c
add edx, 2
mov word [edx - 2], ax
mov eax, ebx
jmp 0x417a00
lea eax, [ebp - 0x8a40]
mov dword [esp], 0x4281a0
mov dword [ebp - 0x8bd4], eax
movzx eax, word [ebp - 0x8bd4]
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf.constprop.6
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.Using_path__s_n
mov dword [esp + 8], 0x428808
mov dword [esp + 4], 0x425020
mov dword [esp], 3
call sym._wine_dbg_log.constprop.4
jmp 0x416f8a
mov dword [esp + 0xc], str.Inserting_default__n
mov dword [esp + 8], 0x428808
mov dword [esp + 4], 0x425020
mov dword [esp], 3
call sym._wine_dbg_log.constprop.4
jmp 0x4178ad
cmp ax, 0x22
je 0x417ef0
cmp ax, 0x5c
jne 0x417f40
mov esi, 0x5c5c
add edx, 2
mov eax, ebx
mov word [edx - 2], si
jmp 0x417a00
cmp ax, 0x22
je 0x418103
cmp ax, 0x5c
jne 0x418130
mov esi, 0x5c5c
add edx, 2
mov eax, ebx
mov word [edx - 2], si
jmp 0x417750
cmp ax, 0x22
je 0x4180c0
cmp ax, 0x5c
jne 0x418060
mov esi, 0x5c5c
add edx, 2
mov word [edx - 2], si
mov esi, ebx
jmp 0x417820
mov byte [edx], 0x22
lea eax, [edx + 1]
test ebx, ebx
jle 0x417b81
mov ebx, 0x2e2e
mov byte [edx + 3], 0x2e
lea eax, [edx + 4]
mov word [edx + 1], bx
mov byte [eax], 0
lea eax, [ebp - 0x8b6c]
mov dword [esp], eax
call dbg.__wine_dbg_strdup
mov dword [ebp - 0x8bd8], eax
mov ecx, dword [ebp - 0x8bc8]
test ecx, ecx
je 0x418276
lea eax, [ebp - 0x8630]
mov dword [esp + 4], 0xffffffff
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov dword [ebp - 0x8bd4], 0x4281b4
sub esp, 8
test eax, eax
jne 0x417cb7
cmp word [ebp - 0x8630], 0
je 0x417bee
lea esi, [esi]
add eax, 1
cmp word [ebp + eax*2 - 0x8630], 0
jne 0x417be0
lea ecx, [ebp - 0x8630]
mov edx, 0x224c
mov dword [ebp - 0x8bb8], ecx
mov word [ebp - 0x8b6c], dx
lea edx, [ebp - 0x8b6a]
lea esi, [esi]
lea esi, [ebp - 0x8a4a]
lea ebx, [eax - 1]
cmp edx, esi
ja 0x417c86
test eax, eax
jle 0x417c86
add dword [ebp - 0x8bb8], 2
mov eax, dword [ebp - 0x8bb8]
movzx eax, word [eax - 2]
cmp ax, 0xd
je 0x417e3c
ja 0x417c62
cmp ax, 9
je 0x418013
cmp ax, 0xa
jne 0x417fb3
mov eax, 0x6e5c
add edx, 2
mov word [edx - 2], ax
mov eax, ebx
jmp 0x417c10
cmp ax, 0x22
je 0x418030
cmp ax, 0x5c
jne 0x417fb3
mov esi, 0x5c5c
add edx, 2
mov eax, ebx
mov word [edx - 2], si
jmp 0x417c10
mov byte [edx], 0x22
lea eax, [edx + 1]
test ebx, ebx
jle 0x417ca0
mov ecx, 0x2e2e
mov byte [edx + 3], 0x2e
lea eax, [edx + 4]
mov word [edx + 1], cx
mov byte [eax], 0
lea eax, [ebp - 0x8b6c]
mov dword [esp], eax
call dbg.__wine_dbg_strdup
mov dword [ebp - 0x8bd4], eax
mov eax, dword [ebp - 0x8bc4]
test eax, eax
je 0x4182d2
lea eax, [ebp - 0x8b96]
mov dword [esp + 4], 0xffffffff
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov esi, eax
sub esp, 8
mov eax, 0x4281b4
test esi, esi
jne 0x417dd1
cmp word [ebp - 0x8b96], 0
je 0x417d0e
lea esi, [esi]
nop
add esi, 1
cmp word [ebp + esi*2 - 0x8b96], 0
jne 0x417d00
mov eax, 0x224c
lea ecx, [ebp - 0x8b96]
lea edx, [ebp - 0x8b6a]
mov word [ebp - 0x8b6c], ax
mov dword [ebp - 0x8bb8], ecx
lea esi, [esi]
lea ebx, [esi - 1]
test esi, esi
jle 0x417da6
lea eax, [ebp - 0x8a4a]
cmp edx, eax
ja 0x417da6
add dword [ebp - 0x8bb8], 2
mov eax, dword [ebp - 0x8bb8]
movzx eax, word [eax - 2]
cmp ax, 0xd
je 0x417ed6
ja 0x417d82
cmp ax, 9
je 0x417ec3
cmp ax, 0xa
jne 0x417e63
mov eax, 0x6e5c
add edx, 2
mov esi, ebx
mov word [edx - 2], ax
jmp 0x417d30
cmp ax, 0x22
je 0x417e50
cmp ax, 0x5c
jne 0x417e63
mov esi, 0x5c5c
add edx, 2
mov word [edx - 2], si
mov esi, ebx
jmp 0x417d30
mov byte [edx], 0x22
lea eax, [edx + 1]
test ebx, ebx
jle 0x417dc0
mov ecx, 0x2e2e
mov byte [edx + 3], 0x2e
lea eax, [edx + 4]
mov word [edx + 1], cx
mov byte [eax], 0
lea eax, [ebp - 0x8b6c]
mov dword [esp], eax
call dbg.__wine_dbg_strdup
mov ebx, dword [ebp - 0x8bdc]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.Path_Parts:_drive:__s_dir:__s_name:__s_ext:_s_n
mov dword [esp + 0x1c], ebx
mov ebx, dword [ebp - 0x8bd8]
mov dword [esp + 8], 0x428808
mov dword [esp + 0x18], ebx
mov ebx, dword [ebp - 0x8bd4]
mov dword [esp + 4], 0x425020
mov dword [esp + 0x14], ebx
mov dword [esp], 3
call sym._wine_dbg_log.constprop.4
jmp 0x416fff
mov eax, 0x428553
jmp 0x416ec5
mov dword [0x42e09c], 2
lea esi, [edx + 2]
movzx eax, word [edx + 2]
jmp 0x415dca
mov eax, 0x725c
add edx, 2
mov word [edx - 2], ax
mov eax, ebx
jmp 0x417c10
mov eax, 0x225c
add edx, 2
mov esi, ebx
mov word [edx - 2], ax
jmp 0x417d30
lea esi, [eax - 0x20]
cmp si, 0x5e
jbe 0x418362
mov esi, eax
mov byte [edx], 0x5c
add edx, 5
shr si, 0xc
movzx esi, si
movzx ecx, byte [esi + str.0123456789abcdefWCMD_directory]
mov esi, eax
shr si, 8
and esi, 0xf
mov byte [edx - 4], cl
movzx ecx, byte [esi + str.0123456789abcdefWCMD_directory]
mov esi, eax
and eax, 0xf
shr si, 4
movzx eax, byte [eax + str.0123456789abcdefWCMD_directory]
and esi, 0xf
mov byte [edx - 3], cl
movzx ecx, byte [esi + str.0123456789abcdefWCMD_directory]
mov byte [edx - 1], al
mov esi, ebx
mov byte [edx - 2], cl
jmp 0x417d30
mov eax, 0x745c
add edx, 2
mov esi, ebx
mov word [edx - 2], ax
jmp 0x417d30
mov eax, 0x725c
add edx, 2
mov esi, ebx
mov word [edx - 2], ax
jmp 0x417d30
mov eax, 0x225c
add edx, 2
mov word [edx - 2], ax
mov eax, ebx
jmp 0x417a00
xor eax, eax
jmp 0x417f14
movzx edx, word [ebx + eax]
mov word [ebp + eax - 0x4018], dx
add eax, 2
test dx, dx
jne 0x417f10
jmp 0x4161e0
mov eax, 0x725c
add edx, 2
mov word [edx - 2], ax
mov eax, ebx
jmp 0x417a00
lea esi, [eax - 0x20]
cmp si, 0x5e
jbe 0x41833e
mov esi, eax
mov byte [edx], 0x5c
add edx, 5
shr si, 0xc
movzx esi, si
movzx ecx, byte [esi + str.0123456789abcdefWCMD_directory]
mov esi, eax
shr si, 8
and esi, 0xf
mov byte [edx - 4], cl
movzx ecx, byte [esi + str.0123456789abcdefWCMD_directory]
mov esi, eax
and eax, 0xf
shr si, 4
movzx eax, byte [eax + str.0123456789abcdefWCMD_directory]
and esi, 0xf
mov byte [edx - 3], cl
movzx ecx, byte [esi + str.0123456789abcdefWCMD_directory]
mov byte [edx - 1], al
mov eax, ebx
mov byte [edx - 2], cl
jmp 0x417a00
mov eax, 0x745c
add edx, 2
mov word [edx - 2], ax
mov eax, ebx
jmp 0x417a00
lea esi, [eax - 0x20]
cmp si, 0x5e
jbe 0x41834a
mov esi, eax
mov byte [edx], 0x5c
add edx, 5
shr si, 0xc
movzx esi, si
movzx ecx, byte [esi + str.0123456789abcdefWCMD_directory]
mov esi, eax
shr si, 8
and esi, 0xf
mov byte [edx - 4], cl
movzx ecx, byte [esi + str.0123456789abcdefWCMD_directory]
mov esi, eax
and eax, 0xf
shr si, 4
movzx eax, byte [eax + str.0123456789abcdefWCMD_directory]
and esi, 0xf
mov byte [edx - 3], cl
movzx ecx, byte [esi + str.0123456789abcdefWCMD_directory]
mov byte [edx - 1], al
mov eax, ebx
mov byte [edx - 2], cl
jmp 0x417c10
mov eax, 0x745c
add edx, 2
mov word [edx - 2], ax
mov eax, ebx
jmp 0x417c10
mov eax, 0x225c
add edx, 2
mov word [edx - 2], ax
mov eax, ebx
jmp 0x417c10
mov eax, 0x745c
add edx, 2
mov word [edx - 2], ax
mov eax, ebx
jmp 0x417750
lea esi, [eax - 0x20]
cmp si, 0x5e
jbe 0x418356
mov esi, eax
mov byte [edx], 0x5c
add edx, 5
shr si, 0xc
movzx esi, si
movzx ecx, byte [esi + str.0123456789abcdefWCMD_directory]
mov esi, eax
shr si, 8
and esi, 0xf
mov byte [edx - 4], cl
movzx ecx, byte [esi + str.0123456789abcdefWCMD_directory]
mov esi, eax
and eax, 0xf
shr si, 4
movzx eax, byte [eax + str.0123456789abcdefWCMD_directory]
and esi, 0xf
mov byte [edx - 3], cl
movzx ecx, byte [esi + str.0123456789abcdefWCMD_directory]
mov byte [edx - 1], al
mov esi, ebx
mov byte [edx - 2], cl
jmp 0x417820
mov eax, 0x225c
add edx, 2
mov esi, ebx
mov word [edx - 2], ax
jmp 0x417820
mov eax, 0x725c
add edx, 2
mov word [edx - 2], ax
mov eax, ebx
jmp 0x417750
mov eax, 0x745c
add edx, 2
mov esi, ebx
mov word [edx - 2], ax
jmp 0x417820
mov eax, 0x225c
add edx, 2
mov word [edx - 2], ax
mov eax, ebx
jmp 0x417750
mov eax, 0x725c
add edx, 2
mov esi, ebx
mov word [edx - 2], ax
jmp 0x417820
lea esi, [eax - 0x20]
cmp si, 0x5e
jbe 0x418332
mov esi, eax
mov byte [edx], 0x5c
add edx, 5
shr si, 0xc
movzx esi, si
movzx ecx, byte [esi + str.0123456789abcdefWCMD_directory]
mov esi, eax
shr si, 8
and esi, 0xf
mov byte [edx - 4], cl
movzx ecx, byte [esi + str.0123456789abcdefWCMD_directory]
mov esi, eax
and eax, 0xf
shr si, 4
movzx eax, byte [eax + str.0123456789abcdefWCMD_directory]
and esi, 0xf
mov byte [edx - 3], cl
movzx ecx, byte [esi + str.0123456789abcdefWCMD_directory]
mov byte [edx - 1], al
mov eax, ebx
mov byte [edx - 2], cl
jmp 0x417750
mov byte [edx], 0x22
lea eax, [edx + 1]
test ebx, ebx
jle 0x4181aa
mov ebx, 0x2e2e
mov byte [edx + 3], 0x2e
lea eax, [edx + 4]
mov word [edx + 1], bx
mov byte [eax], 0
lea eax, [ebp - 0x8b6c]
mov dword [esp], eax
call dbg.__wine_dbg_strdup
jmp 0x417a81
mov byte [edx], 0x22
lea eax, [edx + 1]
test ebx, ebx
jle 0x4181da
mov ebx, 0x2e2e
mov byte [edx + 3], 0x2e
lea eax, [edx + 4]
mov word [edx + 1], bx
mov byte [eax], 0
lea eax, [ebp - 0x8b6c]
mov dword [esp], eax
call dbg.__wine_dbg_strdup
mov dword [ebp - 0x8bdc], eax
jmp 0x417988
cmp word [ebp - 0x8a40], 0
lea ecx, [ebp - 0x8a40]
je 0x418219
lea esi, [esi]
lea esi, [esi]
add ecx, 2
cmp word [ecx], 0
jne 0x418210
xor edx, edx
jmp 0x418227
movzx eax, word [edx + 0x4283e8]
mov word [ecx + edx], ax
add edx, 2
test ax, ax
jne 0x418220
jmp 0x416f7d
mov eax, dword [0x42e060]
mov dword [esp + 0xc], str.Result:_showattrs__lx__bits__lx_n
mov dword [esp + 8], 0x428808
mov dword [esp + 0x14], eax
mov eax, dword [0x42e064]
mov dword [esp + 4], 0x425020
mov dword [esp + 0x10], eax
mov dword [esp], 3
call sym._wine_dbg_log.constprop.4
movzx eax, word [esi]
jmp 0x415dca
lea eax, [ebp - 0x8630]
mov dword [esp], 0x4281a0
mov dword [ebp - 0x8bb8], eax
movzx eax, word [ebp - 0x8bb8]
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf.constprop.6
mov dword [ebp - 0x8bd4], eax
jmp 0x417cb7
lea eax, [ebp - 0x8428]
mov dword [esp], 0x4281a0
mov dword [ebp - 0x8bb8], eax
movzx eax, word [ebp - 0x8bb8]
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf.constprop.6
mov dword [ebp - 0x8bd8], eax
jmp 0x417b98
lea eax, [ebp - 0x8b96]
mov dword [esp], 0x4281a0
mov dword [ebp - 0x8bb8], eax
movzx eax, word [ebp - 0x8bb8]
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf.constprop.6
jmp 0x417dd1
xor eax, eax
jmp 0x417026
xor eax, eax
jmp 0x4170e3
movzx eax, word [ebx]
mov dword [esp + 4], 0x4285e8
mov dword [esp + 8], eax
lea eax, [ebp - 0x4018]
mov dword [esp], eax
call sym._wsprintfW
jmp 0x416c0e
mov byte [edx], al
add edx, 1
mov eax, ebx
jmp 0x417750
mov byte [edx], al
add edx, 1
mov eax, ebx
jmp 0x417a00
mov byte [edx], al
add edx, 1
mov eax, ebx
jmp 0x417c10
mov byte [edx], al
mov esi, ebx
add edx, 1
jmp 0x417820
mov byte [edx], al
mov esi, ebx
add edx, 1
jmp 0x417d30
mov eax, 0xffffffff
jmp 0x416f6b
mov edi, 2
jmp 0x4178ec
lea edx, [ebp - 0x8a40]
jmp 0x41765c