Function at 0x403960
Capabilities:
Accept command line arguments
Check if file exists
Get common file path
Get file attributes
Query environment variable
Read file on windows

Disassembly:
lea ecx, [esp + 4]
and esp, 0xfffffff0
push dword [ecx - 4]
mov eax, 0x9528
push ebp
mov ebp, esp
push edi
push esi
push ebx
push ecx
call fcn.00407258
xor edx, edx
sub esp, eax
xor eax, eax
mov dword [ebp + eax - 0x9468], edx
mov dword [ebp + eax - 0x9464], edx
add eax, 8
cmp eax, 0x208
jb 0x403981
xor edx, edx
xor eax, eax
mov dword [ebp + eax - 0x9260], edx
mov dword [ebp + eax - 0x925c], edx
add eax, 8
cmp eax, 0x208
jb 0x40399d
xor edx, edx
xor eax, eax
mov dword [ebp + eax - 0x9058], edx
mov dword [ebp + eax - 0x9054], edx
add eax, 8
cmp eax, 0x208
jb 0x4039b9
xor edx, edx
xor eax, eax
mov dword [ebp + eax - 0x8e50], edx
mov dword [ebp + eax - 0x8e4c], edx
add eax, 8
cmp eax, 0x208
jb 0x4039d5
xor edx, edx
xor eax, eax
mov dword [ebp + eax - 0x8c48], edx
mov dword [ebp + eax - 0x8c44], edx
add eax, 8
cmp eax, 0x208
jb 0x4039f1
xor edx, edx
xor eax, eax
mov dword [ebp + eax - 0x8a40], edx
mov dword [ebp + eax - 0x8a3c], edx
add eax, 8
cmp eax, 0x208
jb 0x403a0d
mov dword [esp + 8], 0x2000
lea esi, [ebp - 0x8018]
mov dword [esp + 4], esi
mov dword [esp], 0x409254
call dword [sym.imp.kernel32.dll_GetEnvironmentVariableW]
sub esp, 0xc
test eax, eax
jne 0x4045a3
nop
mov ecx, 0x1000
mov dword [ebp - 0x94f4], ecx
call dword [sym.imp.kernel32.dll_GetCommandLineW]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll__wcsdup]
mov dword [ebp - 0x94f8], eax
test eax, eax
je 0x404630
mov eax, dword [ebp - 0x94f8]
lea edx, [ebp - 0x8838]
call sym._find_end_of_word
mov dword [ebp - 0x94ec], eax
test eax, eax
jne 0x404650
mov ebx, dword [ebp - 0x8838]
movzx eax, word [ebx]
test eax, eax
jne 0x403abb
jmp 0x403ac5
movzx eax, word [ebx + 2]
add ebx, 2
test eax, eax
je 0x403ac5
cmp eax, 0x20
je 0x403ab0
cmp eax, 9
je 0x403ab0
mov dword [ebp - 0x8838], ebx
cmp word [ebx], 0
je 0x4060ca
lea eax, [ebp - 0x94a8]
shr eax, 0x10
mov dword [ebp - 0x950c], eax
lea eax, [ebp - 0x94e8]
shr eax, 0x10
mov dword [ebp - 0x9508], eax
mov eax, dword [ebp - 0x94f4]
mov dword [ebp - 0x9500], eax
lea eax, [ebp - 0x8630]
mov dword [ebp - 0x94fc], eax
nop
lea esi, [esi]
mov edx, dword [ebp - 0x94fc]
mov eax, ebx
call sym._find_end_of_word
mov dword [ebp - 0x94ec], eax
test eax, eax
jne 0x404650
mov edx, dword [ebp - 0x8630]
movzx eax, word [edx]
mov ebx, edx
test eax, eax
jne 0x403b4b
jmp 0x403b55
movzx eax, word [ebx + 2]
add ebx, 2
test eax, eax
je 0x403b55
cmp eax, 0x20
je 0x403b40
cmp eax, 9
je 0x403b40
mov eax, dword [ebp - 0x8838]
movzx eax, word [eax]
mov word [edx], 0
mov dword [ebp - 0x94f0], eax
mov eax, dword [ebp - 0x8838]
movzx edx, word [eax]
test edx, edx
je 0x403b9a
mov ecx, eax
nop
lea esi, [esi]
cmp edx, 0x22
je 0x403b8f
cmp eax, ecx
jae 0x403b8c
mov word [eax], dx
add eax, 2
movzx edx, word [ecx + 2]
add ecx, 2
test edx, edx
jne 0x403b80
mov word [eax], 0
test byte [0x408004], 8
mov dword [ebp - 0x8630], eax
jne 0x403fb8
cmp dword [ebp - 0x94f0], 0x2f
je 0x4040f7
cmp word [ebp - 0x9468], 0
jne 0x403f80
mov esi, dword [ebp - 0x8838]
lea ecx, [ebp - 0x9468]
xor eax, eax
nop
lea esi, [esi]
movzx edx, word [esi + eax]
mov word [ecx + eax], dx
add eax, 2
test edx, edx
jne 0x403be0
mov dword [ebp - 0x8838], ebx
cmp word [ebx], 0
jne 0x403b10
cmp word [ebp - 0x9260], 0
jne 0x403c32
lea ecx, [ebp - 0x9260]
xor eax, eax
jmp 0x403c20
movzx edx, word [eax + 0x409114]
mov word [ecx + eax], dx
add eax, 2
test edx, edx
jne 0x403c20
mov eax, dword [ebp - 0x94f8]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_free]
mov eax, dword [ebp - 0x9500]
mov dword [ebp - 0x94f4], eax
test byte [0x408004], 8
lea edi, [ebp - 0x9468]
jne 0x404213
lea eax, [ebp - 0x8220]
xor edx, edx
mov dword [esp + 8], eax
mov eax, dword [sym.imp.kernel32.dll_GetFullPathNameW]
mov ecx, 0x104
mov dword [esp + 0xc], edx
mov dword [esp + 4], ecx
mov dword [esp], edi
mov dword [ebp - 0x94ec], eax
call eax
sub esp, 0x10
test eax, eax
je 0x4045f0
test byte [ebp - 0x94f4], 0x10
je 0x403cb3
xor eax, eax
nop
movzx edx, word [ebp + eax - 0x8220]
mov word [edi + eax], dx
add eax, 2
test edx, edx
jne 0x403ca0
mov dword [esp], edi
mov esi, dword [sym.imp.ucrtbase.dll_wcschr]
mov ebx, 0x2a
mov dword [esp + 4], ebx
mov dword [ebp - 0x94f8], esi
call esi
mov dword [esp], edi
mov ebx, eax
mov eax, 0x3f
mov dword [esp + 4], eax
call esi
movzx ecx, byte [0x408004]
or ebx, eax
je 0x4047a8
and cl, 8
jne 0x405070
mov dword [esp], edi
mov esi, 0x5c
mov dword [esp + 4], esi
call dword [sym.imp.ucrtbase.dll_wcsrchr]
test eax, eax
je 0x4050c0
lea esi, [ebp - 0x9058]
xor ecx, ecx
mov esi, esi
lea edi, [edi]
movzx edx, word [edi + ecx]
mov word [esi + ecx], dx
add ecx, 2
test edx, edx
jne 0x403d20
mov edx, eax
xor ebx, ebx
sub edx, edi
mov word [ebp + edx - 0x9056], bx
lea ebx, [ebp - 0x8e50]
xor edx, edx
lea esi, [esi]
lea edi, [edi]
movzx ecx, word [eax + edx + 2]
mov word [ebx + edx], cx
add edx, 2
test ecx, ecx
jne 0x403d50
xor eax, eax
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x8838]
mov dword [esp + 8], eax
mov eax, 0x104
mov dword [esp + 4], eax
lea eax, [ebp - 0x9260]
mov dword [ebp - 0x94f0], eax
mov dword [esp], eax
mov eax, dword [ebp - 0x94ec]
call eax
sub esp, 0x10
test eax, eax
je 0x404a58
lea eax, [ebp - 0x8838]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_GetFileAttributesW]
sub esp, 4
cmp eax, 0xffffffff
je 0x405210
lea esi, [ebp - 0x8428]
test al, 0x10
jne 0x4049c0
mov dword [esp + 8], esi
lea eax, [ebp - 0x4018]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x8220]
mov dword [esp + 0xc], eax
lea edi, [ebp - 0x8838]
mov dword [esp], edi
lea eax, [ebp - 0x8630]
mov dword [esp + 4], eax
lea edi, [ebp - 0x8c48]
mov dword [ebp - 0x94fc], eax
call dword [sym.imp.ucrtbase.dll__wsplitpath]
mov ecx, dword [ebp - 0x94fc]
xor eax, eax
lea esi, [esi]
movzx edx, word [ecx + eax]
mov word [edi + eax], dx
add eax, 2
test edx, edx
jne 0x403e10
cmp word [ebp - 0x8c48], 0
mov edx, edi
je 0x403e39
nop
lea esi, [esi]
add edx, 2
cmp word [edx], 0
jne 0x403e30
xor eax, eax
nop
lea esi, [esi]
movzx ecx, word [esi + eax]
mov word [edx + eax], cx
add eax, 2
test ecx, ecx
jne 0x403e40
lea ecx, [ebp - 0x8a40]
xor eax, eax
mov dword [ebp - 0x94f0], ecx
lea esi, [esi]
movzx edx, word [ebp + eax - 0x8220]
mov word [ecx + eax], dx
add eax, 2
test edx, edx
jne 0x403e60
cmp word [ebp - 0x8a40], 0
mov edx, dword [ebp - 0x94f0]
je 0x403e99
lea esi, [esi]
lea edi, [edi]
add edx, 2
cmp word [edx], 0
jne 0x403e90
xor eax, eax
nop
lea esi, [esi]
movzx ecx, word [ebp + eax - 0x4018]
mov word [edx + eax], cx
add eax, 2
test ecx, ecx
jne 0x403ea0
test byte [0x408004], 8
lea esi, [ebp - 0x9058]
jne 0x4053b0
test byte [ebp - 0x94f4], 0x40
jne 0x4051b8
mov eax, dword [ebp - 0x94f4]
mov ecx, edi
mov edx, ebx
mov edi, dword fs:[0x18]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x94f0]
mov dword [esp], eax
mov eax, esi
call sym._XCOPY_DoCopy
mov esi, dword [0x40f450]
mov ebx, dword [sym.imp.kernel32.dll_HeapFree]
test esi, esi
mov dword [ebp - 0x94ec], eax
je 0x403f54
nop
mov eax, dword [esi]
mov dword [0x40f450], eax
mov eax, dword [esi + 4]
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 4], eax
mov eax, dword [edi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call ebx
xor eax, eax
sub esp, 0xc
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov eax, dword [edi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call ebx
mov esi, dword [0x40f450]
sub esp, 0xc
test esi, esi
jne 0x403f10
test byte [ebp - 0x94f4], 0x20
jne 0x405190
test byte [ebp - 0x94f4], 0x80
je 0x4056b0
mov eax, dword [ebp - 0x94ec]
lea esp, [ebp - 0x10]
pop ecx
pop ebx
pop esi
pop edi
pop ebp
lea esp, [ecx - 4]
ret
cmp word [ebp - 0x9260], 0
jne 0x4058d8
mov esi, dword [ebp - 0x8838]
lea ecx, [ebp - 0x9260]
xor eax, eax
lea esi, [esi]
movzx edx, word [esi + eax]
mov word [ecx + eax], dx
add eax, 2
test edx, edx
jne 0x403fa0
jmp 0x403bef
mov esi, dword [ebp - 0x8838]
test esi, esi
je 0x404770
mov eax, esi
shr eax, 0x10
je 0x4045d0
mov dword [esp], esi
mov edx, 0xffffffff
mov dword [esp + 4], edx
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
sub esp, 8
test eax, eax
jne 0x404760
cmp word [esi], 0
je 0x404780
nop
lea esi, [esi]
mov ecx, eax
cmp word [esi + ecx*2 + 2], 0
lea eax, [eax + 1]
jne 0x404000
mov dword [ebp - 0x9504], ebx
lea eax, [ebp - 0x4016]
mov edx, 0x224c
mov word [ebp - 0x4018], dx
jmp 0x40405d
cmp edx, 9
je 0x4041b8
cmp edx, 0xa
jne 0x40415a
mov word [eax], 0x6e5c
add eax, 2
lea edx, [ecx - 1]
test ecx, ecx
jle 0x404090
lea edi, [ebp - 0x3ef6]
cmp eax, edi
ja 0x404090
mov ecx, edx
movzx edx, word [esi]
add esi, 2
cmp edx, 0xd
je 0x404140
jbe 0x404030
cmp edx, 0x22
je 0x4041a8
cmp edx, 0x5c
jne 0x40414d
mov word [eax], 0x5c5c
lea edx, [ecx - 1]
add eax, 2
test ecx, ecx
jg 0x404051
nop
mov byte [eax], 0x22
test edx, edx
mov ebx, dword [ebp - 0x9504]
jle 0x404799
mov word [eax + 1], 0x2e2e
lea edx, [eax + 4]
mov byte [eax + 3], 0x2e
mov byte [edx], 0
lea eax, [ebp - 0x4018]
mov dword [esp], eax
call sym.___wine_dbg_strdup
mov dword [esp + 0x10], eax
mov eax, str.Processing_Arg:__s_n
mov dword [esp + 0xc], eax
mov eax, str.XCOPY_ParseCommandLine
mov dword [esp + 8], eax
mov eax, 0x408004
mov dword [esp + 4], eax
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0
cmp dword [ebp - 0x94f0], 0x2f
jne 0x403bbf
mov edi, dword [ebp - 0x8838]
cmp word [edi], 0
je 0x403bef
mov dword [ebp - 0x94f0], ebx
mov ebx, dword [ebp - 0x9500]
xor esi, esi
lea esi, [esi]
lea edi, [edi]
movzx eax, word [edi + 2]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_toupper]
sub eax, 0x2d
cmp eax, 0x2c
ja case.0x404139.46
jmp dword [eax*4 + 0x409428]
mov word [eax], 0x725c
add eax, 2
jmp 0x40404a
lea edi, [edx - 0x20]
cmp di, 0x5e
jbe 0x404640
mov byte [eax], 0x5c
mov edi, edx
add eax, 5
shr edi, 0xc
movzx ebx, byte [edi + str.0123456789abcdefXCOPY_ProcessDestParm]
mov edi, edx
shr edi, 8
and edi, 0xf
mov byte [eax - 4], bl
movzx ebx, byte [edi + str.0123456789abcdefXCOPY_ProcessDestParm]
mov edi, edx
shr edi, 4
and edx, 0xf
and edi, 0xf
mov byte [eax - 3], bl
movzx ebx, byte [edi + str.0123456789abcdefXCOPY_ProcessDestParm]
mov byte [eax - 2], bl
movzx ebx, byte [edx + str.0123456789abcdefXCOPY_ProcessDestParm]
mov byte [eax - 1], bl
jmp 0x40404a
mov word [eax], 0x225c
add eax, 2
jmp 0x40404a
mov word [eax], 0x745c
add eax, 2
jmp 0x40404a
test byte [0x408004], 8
jne 0x4054e0
mov ebx, dword [ebp - 0x8838]
lea edi, [ebp - 0x9468]
mov eax, 0x66
call sym._XCOPY_LoadMessage
mov dword [esp + 4], ebx
mov dword [esp], eax
call sym._XCOPY_wprintf
mov eax, dword [ebp - 0x94f8]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_free]
test byte [0x408004], 8
je 0x403c60
mov ecx, str.Supplied_parameters:_n
mov ebx, str.wmain
mov dword [esp + 0xc], ecx
mov esi, 0x408004
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0
test byte [0x408004], 8
je 0x403c60
mov eax, edi
shr eax, 0x10
je 0x405160
mov dword [esp], edi
mov edx, 0xffffffff
mov dword [esp + 4], edx
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
sub esp, 8
test eax, eax
jne 0x4056a0
cmp word [ebp - 0x9468], 0
je 0x405856
lea esi, [esi]
mov ecx, eax
cmp word [edi + ecx*2 + 2], 0
lea eax, [eax + 1]
jne 0x404280
mov ebx, 0x224c
mov esi, edi
mov word [ebp - 0x4018], bx
lea edx, [ebp - 0x3ef6]
mov dword [ebp - 0x94ec], edx
lea ebx, [ebp - 0x4016]
mov dword [ebp - 0x94f0], edi
jmp 0x4042f9
cmp eax, 9
je 0x404900
cmp eax, 0xa
jne 0x40491a
mov word [ebx], 0x6e5c
add ebx, 2
lea esi, [esi]
lea edi, [edi]
cmp ebx, dword [ebp - 0x94ec]
lea eax, [ecx - 1]
ja 0x404df8
test ecx, ecx
jle 0x404df8
mov ecx, eax
movzx eax, word [esi]
add esi, 2
cmp eax, 0xd
je 0x404968
jbe 0x4042b8
cmp eax, 0x22
je 0x404978
cmp eax, 0x5c
jne 0x40490d
mov word [ebx], 0x5c5c
add ebx, 2
jmp 0x4042e0
or ebx, 0x100
lea esi, [esi]
lea edi, [edi]
mov eax, dword [ebp - 0x8838]
lea edi, [eax + 4]
test esi, esi
jne 0x404598
movzx eax, word [edi]
cmp eax, 0x2f
je 0x404598
test eax, eax
je 0x404598
test byte [0x408004], 1
jne 0x404680
mov edi, dword [ebp - 0x8838]
mov esi, 1
lea esi, [esi]
cmp word [edi], 0
jne 0x404120
mov dword [ebp - 0x9500], ebx
mov ebx, dword [ebp - 0x94f0]
jmp 0x403bef
test byte [0x408004], 1
je 0x404340
mov dword [esp], 0
mov eax, str.XCOPY_ParseCommandLine
mov edi, str.ignoring__V_n
mov dword [esp + 8], eax
mov eax, 0x408004
mov dword [esp + 0xc], edi
mov dword [esp + 4], eax
call sym._wine_dbg_log.constprop.0
jmp 0x404340
or ebx, 0x400
jmp 0x404340
or ebx, 0x40
jmp 0x404340
or ebx, 0x82
jmp 0x404340
or ebx, 2
jmp 0x404340
or ebx, 0x800
jmp 0x404340
or ebx, 8
jmp 0x404340
or ebx, 0x4000
jmp 0x404340
or ebx, 0x200
jmp 0x404340
or ebx, 0x18000
jmp 0x404340
or ebx, 0x20
jmp 0x404340
or ebx, 0x100000
jmp 0x404340
or ebx, 1
jmp 0x404340
or ebx, 0x1000
jmp 0x404340
or ebx, 0x10
jmp 0x404340
mov eax, 8
mov edx, 0xffffffff
mov dword [esp + 0xc], eax
mov ecx, str.EXCLUDE:
add edi, 2
mov dword [esp + 0x14], edx
mov eax, 0x1001
mov dword [esp + 0x10], ecx
mov dword [esp + 8], edi
mov dword [esp + 4], eax
mov dword [esp], 0x400
call dword [sym.imp.kernel32.dll_CompareStringW]
sub esp, 0x18
cmp eax, 2
je 0x4055f0
or ebx, 6
jmp 0x404340
cmp word [edi + 4], 0x3a
je 0x404b10
or ebx, 0x80000
jmp 0x404340
or ebx, 0x2000
jmp 0x404340
mov eax, 0x75
call sym._XCOPY_LoadMessage
mov dword [esp], eax
call sym._XCOPY_wprintf
mov eax, dword [ebp - 0x94f8]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_free]
jmp 0x403f6e
movzx eax, word [edi + 4]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_toupper]
cmp eax, 0x59
jne 0x404340
and ebx, 0xfffffeff
add edi, 6
jmp 0x404349
or ebx, 0x8000
jmp 0x404340
mov dword [ebp - 0x8838], edi
jmp 0x404380
mov dword [esp], esi
mov eax, 0x409264
mov ebx, dword [sym.imp.ucrtbase.dll_wcsstr]
mov dword [esp + 4], eax
call ebx
test eax, eax
je 0x405120
mov eax, 0x1100
mov dword [ebp - 0x94f4], eax
jmp 0x403a5b
mov dword [esp], str._04x
movzx esi, si
mov dword [esp + 4], esi
call sym._wine_dbg_sprintf.constprop.0
jmp 0x4040bf
test byte [0x408004], 1
je 0x404630
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x34]
mov dword [esp], 0
mov dword [esp + 0x10], eax
mov eax, str.Unexpected_failure_expanding_source_path___d__n
mov dword [esp + 0xc], eax
mov eax, str.XCOPY_ProcessSourceParm
mov dword [esp + 8], eax
mov eax, 0x408004
mov dword [esp + 4], eax
call sym._wine_dbg_log.constprop.0
lea esi, [esi]
mov eax, 4
mov dword [ebp - 0x94ec], eax
jmp 0x403f6e
mov byte [eax], dl
inc eax
jmp 0x40404a
mov eax, dword [ebp - 0x94f8]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_free]
mov edi, dword [ebp - 0x94ec]
mov eax, 0
cmp edi, 6
cmovne eax, edi
mov dword [ebp - 0x94ec], eax
jmp 0x403f6e
mov eax, edi
shr eax, 0x10
je 0x4050a0
mov dword [esp], edi
mov eax, 0xffffffff
mov dword [esp + 4], eax
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
sub esp, 8
test eax, eax
jne 0x4055e0
cmp word [edi], 0
je 0x40578d
lea esi, [esi]
lea edi, [edi]
mov edx, eax
cmp word [edi + edx*2 + 2], 0
lea eax, [eax + 1]
jne 0x4046c0
mov dword [ebp - 0x9500], ebx
lea ecx, [ebp - 0x4016]
mov eax, 0x224c
mov word [ebp - 0x4018], ax
jmp 0x40472b
cmp eax, 9
je 0x4048f0
cmp eax, 0xa
jne 0x404884
mov word [ecx], 0x6e5c
add ecx, 2
lea esi, [esi]
lea eax, [edx - 1]
test edx, edx
jle 0x404ab0
lea esi, [ebp - 0x3ef6]
cmp ecx, esi
ja 0x404ab0
mov edx, eax
movzx eax, word [edi]
add edi, 2
cmp eax, 0xd
je 0x4048e0
jbe 0x4046f0
cmp eax, 0x22
je 0x4048d0
cmp eax, 0x5c
jne 0x404877
mov word [ecx], 0x5c5c
add ecx, 2
jmp 0x404710
mov eax, str._invalid_
jmp 0x4040bf
mov eax, str._null_
jmp 0x4040bf
mov byte [ebp - 0x4016], 0x22
mov eax, 0x224c
mov word [ebp - 0x4018], ax
lea eax, [ebp - 0x4016]
lea edx, [eax + 1]
jmp 0x4040ae
lea eax, [ebp - 0x8220]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_GetFileAttributesW]
sub esp, 4
cmp eax, 0xffffffff
je 0x40628d
movzx ecx, byte [0x408004]
mov bl, cl
and bl, 8
test al, 0x10
je 0x403cec
test bl, bl
jne 0x405040
lea esi, [ebp - 0x9058]
xor eax, eax
mov esi, esi
lea edi, [edi]
movzx edx, word [edi + eax]
mov word [esi + eax], dx
add eax, 2
test edx, edx
jne 0x4047f0
cmp word [ebp - 0x9058], 0
je 0x405900
mov eax, esi
nop
add eax, 2
cmp word [eax], 0
jne 0x404810
sub eax, esi
movzx eax, word [ebp + eax - 0x905a]
cmp eax, 0x3a
je 0x404852
cmp eax, 0x5c
mov edx, esi
je 0x404852
nop
add edx, 2
cmp word [edx], 0
jne 0x404830
xor eax, eax
nop
lea esi, [esi]
movzx ecx, word [eax + 0x409250]
mov word [edx + eax], cx
add eax, 2
test ecx, ecx
jne 0x404840
lea ebx, [ebp - 0x8e50]
xor eax, eax
lea esi, [esi]
movzx edx, word [eax + 0x409214]
mov word [ebx + eax], dx
add eax, 2
test edx, edx
jne 0x404860
jmp 0x403d60
lea esi, [eax - 0x20]
cmp si, 0x5e
jbe 0x405180
mov byte [ecx], 0x5c
mov esi, eax
add ecx, 5
shr esi, 0xc
movzx ebx, byte [esi + str.0123456789abcdefXCOPY_ProcessDestParm]
mov esi, eax
shr esi, 8
and esi, 0xf
mov byte [ecx - 4], bl
movzx ebx, byte [esi + str.0123456789abcdefXCOPY_ProcessDestParm]
mov esi, eax
shr esi, 4
and eax, 0xf
and esi, 0xf
movzx eax, byte [eax + str.0123456789abcdefXCOPY_ProcessDestParm]
mov byte [ecx - 3], bl
movzx ebx, byte [esi + str.0123456789abcdefXCOPY_ProcessDestParm]
mov byte [ecx - 1], al
mov byte [ecx - 2], bl
jmp 0x404710
mov word [ecx], 0x225c
add ecx, 2
jmp 0x404710
mov word [ecx], 0x725c
add ecx, 2
jmp 0x404710
mov word [ecx], 0x745c
add ecx, 2
jmp 0x404710
mov word [ebx], 0x745c
add ebx, 2
jmp 0x4042e0
lea edi, [eax - 0x20]
cmp di, 0x5e
jbe 0x4055c0
mov byte [ebx], 0x5c
mov edi, eax
add ebx, 5
shr edi, 0xc
movzx edx, byte [edi + str.0123456789abcdefXCOPY_ProcessDestParm]
mov edi, eax
shr edi, 8
and edi, 0xf
mov byte [ebx - 4], dl
movzx edx, byte [edi + str.0123456789abcdefXCOPY_ProcessDestParm]
mov edi, eax
shr edi, 4
and eax, 0xf
and edi, 0xf
movzx eax, byte [eax + str.0123456789abcdefXCOPY_ProcessDestParm]
mov byte [ebx - 3], dl
movzx edx, byte [edi + str.0123456789abcdefXCOPY_ProcessDestParm]
mov byte [ebx - 1], al
mov byte [ebx - 2], dl
jmp 0x4042e0
mov word [ebx], 0x725c
add ebx, 2
jmp 0x4042e0
mov word [ebx], 0x225c
add ebx, 2
jmp 0x4042e0
mov dword [esp], ebx
mov esi, 0x3f
mov eax, dword [ebp - 0x94f8]
mov dword [esp + 4], esi
call eax
test eax, eax
jne 0x4049c0
mov dword [esp], ebx
mov ecx, 0x2a
mov eax, dword [ebp - 0x94f8]
mov dword [esp + 4], ecx
call eax
test eax, eax
je 0x40521d
lea esi, [esi]
lea edi, [ebp - 0x8c48]
xor eax, eax
nop
lea esi, [esi]
movzx edx, word [ebp + eax - 0x8838]
mov word [edi + eax], dx
add eax, 2
test edx, edx
jne 0x4049d0
xor edx, edx
cmp word [ebp - 0x8c48], 0
mov word [ebp - 0x8a40], dx
je 0x4061d3
mov eax, edi
lea esi, [esi]
add eax, 2
cmp word [eax], 0
jne 0x404a00
sub eax, edi
mov edx, edi
cmp word [ebp + eax - 0x8c4a], 0x5c
je 0x404a42
nop
lea esi, [esi]
add edx, 2
cmp word [edx], 0
jne 0x404a20
xor eax, eax
nop
lea esi, [esi]
movzx ecx, word [eax + 0x409250]
mov word [edx + eax], cx
add eax, 2
test ecx, ecx
jne 0x404a30
lea eax, [ebp - 0x8a40]
mov dword [ebp - 0x94f0], eax
jmp 0x403eb3
test byte [0x408004], 1
je 0x404630
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x34]
mov edi, str.Unexpected_failure_expanding_source_path___d__n
mov dword [esp + 0xc], edi
mov dword [esp], 0
mov dword [esp + 0x10], eax
mov eax, 0x409520
mov dword [esp + 8], eax
mov eax, 0x408004
mov dword [esp + 4], eax
call sym._wine_dbg_log.constprop.0
mov eax, 4
mov dword [ebp - 0x94ec], eax
jmp 0x403f6e
mov byte [ecx], 0x22
test eax, eax
mov ebx, dword [ebp - 0x9500]
jle 0x4057a6
mov word [ecx + 1], 0x2e2e
lea eax, [ecx + 4]
mov byte [ecx + 3], 0x2e
mov byte [eax], 0
lea eax, [ebp - 0x4018]
mov dword [esp], eax
call sym.___wine_dbg_strdup
mov dword [esp + 0x10], eax
mov eax, str.XCOPY_ParseCommandLine
mov edi, str.Unexpected_characters_found_and_ignored__s_n
mov dword [esp + 8], eax
mov eax, 0x408004
mov dword [esp + 0xc], edi
mov dword [esp + 4], eax
mov dword [esp], 0
call sym._wine_dbg_log.constprop.0
jmp 0x404372
movzx eax, word [edi + 6]
sub eax, 0x30
cmp ax, 9
ja 0x40450b
lea eax, [ebp - 0x8428]
xor ecx, ecx
mov dword [ebp - 0x9500], eax
lea edx, [edi + 6]
xor eax, eax
mov dword [ebp - 0x8428], eax
xor eax, eax
mov dword [ebp - 0x8424], eax
xor eax, eax
mov dword [ebp - 0x8420], eax
mov eax, dword [sym.imp.ucrtbase.dll__wtol]
mov dword [esp], edx
mov dword [ebp - 0x841c], ecx
mov dword [ebp - 0x9504], edx
mov dword [ebp - 0x9510], eax
call eax
mov edx, dword [ebp - 0x9504]
mov word [ebp - 0x8426], ax
movzx eax, word [edi + 6]
test eax, eax
jne 0x404b8b
jmp 0x4056e9
movzx eax, word [edx]
test eax, eax
je 0x4056e9
lea ecx, [eax - 0x30]
mov edi, edx
add edx, 2
cmp cx, 9
jbe 0x404b80
cmp eax, 0x2d
jne 0x4056e9
mov dword [esp], edx
mov eax, dword [ebp - 0x9510]
mov dword [ebp - 0x9504], edx
call eax
mov edx, dword [ebp - 0x9504]
mov word [ebp - 0x8422], ax
movzx eax, word [edi + 2]
test eax, eax
je 0x4056e9
mov edi, edx
jmp 0x404bdb
movzx eax, word [edi]
test eax, eax
je 0x4056e9
lea edx, [eax - 0x30]
mov ecx, edi
add edi, 2
cmp dx, 9
jbe 0x404bd0
mov dword [ebp - 0x9504], ecx
cmp eax, 0x2d
jne 0x4056e9
mov dword [esp], edi
mov eax, dword [ebp - 0x9510]
call eax
mov ecx, dword [ebp - 0x9504]
movzx eax, ax
mov word [ebp - 0x8428], ax
movzx edx, word [ecx + 2]
test edx, edx
jne 0x404c2b
jmp 0x404c34
movzx edx, word [edi + 2]
add edi, 2
test edx, edx
je 0x404c34
sub edx, 0x30
cmp dx, 9
jbe 0x404c20
cmp eax, 0x63
ja 0x404c45
add eax, 0x7d0
mov word [ebp - 0x8428], ax
mov eax, 0x40f448
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x9500]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_SystemTimeToFileTime]
sub esp, 8
test eax, eax
je 0x4056e9
mov dword [esp], 0x40f448
lea edx, [ebp - 0x8220]
or ebx, 0x40000
mov dword [esp + 4], edx
call dword [sym.imp.kernel32.dll_FileTimeToSystemTime]
lea edx, [ebp - 0x8220]
mov eax, 0x20
sub esp, 8
mov dword [esp + 0x14], eax
lea eax, [ebp - 0x94e8]
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0xc], eax
mov eax, 1
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], 0
call dword [sym.imp.kernel32.dll_GetDateFormatW]
mov edx, 0x20
xor ecx, ecx
lea eax, [ebp - 0x94a8]
sub esp, 0x18
mov dword [esp + 0x14], edx
lea edx, [ebp - 0x8220]
mov dword [esp + 0x10], eax
mov eax, 2
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], 0
call dword [sym.imp.kernel32.dll_GetTimeFormatW]
sub esp, 0x18
test byte [0x408004], 8
je 0x404349
mov eax, dword [ebp - 0x950c]
test eax, eax
je 0x40669c
mov eax, 0xffffffff
mov dword [esp + 4], eax
lea eax, [ebp - 0x94a8]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
sub esp, 8
test eax, eax
jne 0x4066ca
cmp word [ebp - 0x94a8], 0
je 0x406701
mov ecx, eax
cmp word [ebp + ecx*2 - 0x94a6], 0
lea eax, [eax + 1]
jne 0x404d4c
mov dword [ebp - 0x9504], edi
lea edx, [ebp - 0x4016]
mov eax, 0x224c
mov word [ebp - 0x4018], ax
lea eax, [ebp - 0x94a8]
mov dword [ebp - 0x9510], ebx
mov dword [ebp - 0x9500], eax
jmp 0x404dbd
cmp eax, 9
je 0x406458
cmp eax, 0xa
jne 0x406400
mov word [edx], 0x6e5c
add edx, 2
lea edi, [ebp - 0x3ef6]
lea eax, [ecx - 1]
cmp edx, edi
ja 0x406465
test ecx, ecx
jle 0x406465
mov ecx, eax
add dword [ebp - 0x9500], 2
mov eax, dword [ebp - 0x9500]
movzx eax, word [eax - 2]
cmp eax, 0xd
je 0x4063c8
jbe 0x404d88
cmp eax, 0x22
je 0x40644b
cmp eax, 0x5c
jne 0x4063f3
mov word [edx], 0x5c5c
add edx, 2
jmp 0x404da2
mov byte [ebx], 0x22
test eax, eax
mov edi, dword [ebp - 0x94f0]
jle 0x40586f
mov word [ebx + 1], 0x2e2e
lea eax, [ebx + 4]
mov byte [ebx + 3], 0x2e
mov byte [eax], 0
lea eax, [ebp - 0x4018]
mov dword [esp], eax
call sym.___wine_dbg_strdup
mov dword [esp + 0x10], eax
mov eax, str.Source______:__s_n
mov dword [esp + 0xc], eax
mov eax, str.wmain
mov dword [esp + 8], eax
mov eax, 0x408004
mov dword [esp + 4], eax
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0
test byte [0x408004], 8
je 0x403c60
lea eax, [ebp - 0x9260]
mov dword [ebp - 0x94f0], eax
shr eax, 0x10
je 0x405140
mov esi, dword [ebp - 0x94f0]
mov eax, 0xffffffff
mov dword [esp + 4], eax
mov dword [esp], esi
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
sub esp, 8
test eax, eax
jne 0x405690
cmp word [ebp - 0x9260], 0
je 0x405835
mov edx, esi
mov esi, esi
lea edi, [edi]
mov ecx, eax
cmp word [edx + ecx*2 + 2], 0
lea eax, [eax + 1]
jne 0x404eb0
mov ebx, dword [ebp - 0x94f0]
lea esi, [ebp - 0x4016]
mov eax, 0x224c
mov word [ebp - 0x4018], ax
lea eax, [ebp - 0x3ef6]
mov dword [ebp - 0x94ec], eax
mov dword [ebp - 0x94f0], edi
jmp 0x404f29
cmp eax, 9
je 0x404f60
cmp eax, 0xa
jne 0x404f77
mov word [esi], 0x6e5c
add esi, 2
lea esi, [esi]
lea edi, [edi]
lea eax, [ecx - 1]
test ecx, ecx
jle 0x404fd8
cmp esi, dword [ebp - 0x94ec]
ja 0x404fd8
mov ecx, eax
movzx eax, word [ebx]
add ebx, 2
cmp eax, 0xd
je 0x404f50
jbe 0x404ef0
cmp eax, 0x22
je 0x404fc8
cmp eax, 0x5c
jne 0x404f6a
mov word [esi], 0x5c5c
add esi, 2
jmp 0x404f10
mov word [esi], 0x725c
add esi, 2
jmp 0x404f10
mov word [esi], 0x745c
add esi, 2
jmp 0x404f10
lea edi, [eax - 0x20]
cmp di, 0x5e
jbe 0x4055d0
mov byte [esi], 0x5c
mov edi, eax
add esi, 5
shr edi, 0xc
movzx edx, byte [edi + str.0123456789abcdefXCOPY_ProcessDestParm]
mov edi, eax
shr edi, 8
and edi, 0xf
mov byte [esi - 4], dl
movzx edx, byte [edi + str.0123456789abcdefXCOPY_ProcessDestParm]
mov edi, eax
shr edi, 4
and eax, 0xf
and edi, 0xf
movzx eax, byte [eax + str.0123456789abcdefXCOPY_ProcessDestParm]
mov byte [esi - 3], dl
movzx edx, byte [edi + str.0123456789abcdefXCOPY_ProcessDestParm]
mov byte [esi - 1], al
mov byte [esi - 2], dl
jmp 0x404f10
mov word [esi], 0x225c
add esi, 2
jmp 0x404f10
mov byte [esi], 0x22
test eax, eax
mov edi, dword [ebp - 0x94f0]
jle 0x40584e
mov word [esi + 1], 0x2e2e
lea eax, [esi + 4]
mov byte [esi + 3], 0x2e
mov byte [eax], 0
lea eax, [ebp - 0x4018]
mov dword [esp], eax
call sym.___wine_dbg_strdup
mov dword [esp + 0x10], eax
mov ebx, str.Destination_:__s_n
mov esi, str.wmain
mov dword [esp + 0xc], ebx
mov eax, 0x408004
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0
jmp 0x403c60
mov dword [esp], 3
mov eax, str.Directory_supplied_n
mov edx, 0x408004
mov dword [esp + 0xc], eax
mov eax, str.XCOPY_ProcessSourceParm
mov dword [esp + 8], eax
mov dword [esp + 4], edx
call sym._wine_dbg_log.constprop.0
jmp 0x4047df
mov dword [esp], 3
mov eax, str.Filename_supplied_n
mov dword [esp + 0xc], eax
mov eax, str.XCOPY_ProcessSourceParm
mov dword [esp + 8], eax
mov eax, 0x408004
mov dword [esp + 4], eax
call sym._wine_dbg_log.constprop.0
jmp 0x403cf5
mov dword [esp], str._04x
movzx edi, di
mov dword [esp + 4], edi
call sym._wine_dbg_sprintf.constprop.0
jmp 0x404adf
cmp word [ebp - 0x9466], 0x3a
jne 0x405880
lea esi, [ebp - 0x9058]
xor eax, eax
lea esi, [esi]
lea edi, [edi]
movzx edx, word [edi + eax]
mov word [esi + eax], dx
add eax, 2
test edx, edx
jne 0x4050e0
xor ecx, ecx
xor eax, eax
mov word [ebp - 0x9054], cx
lea ebx, [ebp - 0x8e50]
movzx edx, word [ebp + eax - 0x9464]
mov word [ebx + eax], dx
add eax, 2
test edx, edx
jne 0x405100
jmp 0x403d60
mov dword [esp], esi
mov edi, 0x40926a
mov dword [esp + 4], edi
call ebx
test eax, eax
jne 0x4045bf
jmp 0x403a50
mov dword [esp], str._04x
movzx ebx, word [ebp - 0x94f0]
mov dword [esp + 4], ebx
call sym._wine_dbg_sprintf.constprop.0
jmp 0x405007
mov dword [esp], str._04x
movzx eax, di
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf.constprop.0
jmp 0x404e27
mov byte [ecx], al
inc ecx
jmp 0x404710
mov eax, 0x68
mov ebx, dword [0x40f454]
call sym._XCOPY_LoadMessage
mov dword [esp + 4], ebx
mov dword [esp], eax
call sym._XCOPY_wprintf
jmp 0x403f6e
mov eax, 0x67
call sym._XCOPY_LoadMessage
mov dword [esp], eax
call sym._XCOPY_wprintf
mov dword [esp], 0xfffffff6
call dword [sym.imp.kernel32.dll_GetStdHandle]
lea ecx, [ebp - 0x8220]
xor edx, edx
sub esp, 4
mov dword [esp + 0x10], edx
lea edx, [ebp - 0x4018]
mov dword [esp + 0xc], ecx
mov ecx, 0xa
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_ReadFile]
sub esp, 0x14
jmp 0x403ed3
test byte [ebp - 0x94f4], 1
jne 0x404988
cmp word [ebp - 0x9260], 0
mov eax, dword [ebp - 0x94f0]
je 0x40639a
jmp 0x405240
add eax, 2
cmp word [eax], 0
jne 0x405240
mov edx, dword [ebp - 0x94f0]
sub eax, edx
sub eax, 2
cmp word [ebp + eax - 0x9260], 0x5c
je 0x4049c0
xor eax, eax
xor esi, esi
mov word [ebp - 0x4010], ax
xor edi, edi
mov eax, 0x73
mov dword [ebp - 0x4018], esi
lea esi, [ebp - 0x8428]
mov dword [ebp - 0x4014], edi
call sym._XCOPY_LoadMessage
mov edi, dword [sym.imp.ucrtbase.dll_wcscpy]
mov dword [esp], esi
mov dword [esp + 4], eax
call edi
mov eax, 0x74
call sym._XCOPY_LoadMessage
mov dword [esp + 4], eax
lea eax, [ebp - 0x8220]
mov dword [esp], eax
call edi
movsx eax, byte [ebp - 0x4018]
lea edi, [ebp - 0x8630]
movzx edx, word [ebp - 0x8428]
cmp edx, eax
je 0x4060a8
mov dword [ebp - 0x94ec], esi
mov edx, eax
mov esi, dword [ebp - 0x94f0]
jmp 0x405308
movsx eax, byte [ebp - 0x4018]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_toupper]
mov byte [ebp - 0x4018], al
movsx edx, al
movzx eax, word [ebp - 0x8428]
cmp edx, eax
je 0x4060a0
movzx eax, word [ebp - 0x8220]
cmp eax, edx
je 0x4049c0
mov eax, 0x6a
call sym._XCOPY_LoadMessage
mov dword [esp + 4], esi
mov dword [esp], eax
call sym._XCOPY_wprintf
mov dword [esp], 0xfffffff6
call dword [sym.imp.kernel32.dll_GetStdHandle]
xor edx, edx
mov ecx, 0xa
sub esp, 4
mov dword [esp + 0x10], edx
lea edx, [ebp - 0x4018]
mov dword [esp + 0xc], edi
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_ReadFile]
sub esp, 0x14
test byte [0x408004], 8
je 0x4052e0
mov dword [esp], 3
movsx eax, byte [ebp - 0x4018]
mov ecx, str.User_answer__c_n
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov eax, 0x409520
mov dword [esp + 8], eax
mov eax, 0x408004
mov dword [esp + 4], eax
call sym._wine_dbg_log.constprop.0
jmp 0x4052e0
mov dword [esp], 3
mov eax, str.Resolved_parameters:_n
mov dword [esp + 0xc], eax
mov eax, str.wmain
mov dword [esp + 8], eax
mov eax, 0x408004
mov dword [esp + 4], eax
call sym._wine_dbg_log.constprop.0
test byte [0x408004], 8
je 0x403ec6
mov eax, esi
shr eax, 0x10
je 0x405ff0
mov dword [esp], esi
mov eax, 0xffffffff
mov dword [esp + 4], eax
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
sub esp, 8
test eax, eax
jne 0x406082
cmp word [ebp - 0x9058], 0
je 0x40622a
lea esi, [esi]
mov edx, eax
cmp word [esi + edx*2 + 2], 0
lea eax, [eax + 1]
jne 0x405420
mov dword [ebp - 0x94ec], esi
lea ecx, [ebp - 0x4016]
mov eax, 0x224c
mov word [ebp - 0x4018], ax
lea eax, [ebp - 0x3ef6]
mov dword [ebp - 0x94f8], esi
mov esi, eax
mov dword [ebp - 0x94fc], ebx
mov dword [ebp - 0x9500], edi
jmp 0x4054a5
cmp eax, 9
je 0x405780
cmp eax, 0xa
jne 0x405714
mov word [ecx], 0x6e5c
add ecx, 2
lea esi, [esi]
lea edi, [edi]
lea eax, [edx - 1]
cmp ecx, esi
ja 0x405920
test edx, edx
jle 0x405920
mov edx, eax
add dword [ebp - 0x94ec], 2
mov eax, dword [ebp - 0x94ec]
movzx eax, word [eax - 2]
cmp eax, 0xd
je 0x405770
jbe 0x405468
cmp eax, 0x22
je 0x405760
cmp eax, 0x5c
lea esi, [esi]
jne 0x405707
mov word [ecx], 0x5c5c
add ecx, 2
jmp 0x405490
mov eax, edi
shr eax, 0x10
je 0x406010
mov dword [esp], edi
mov ecx, 0xffffffff
mov dword [esp + 4], ecx
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
sub esp, 8
test eax, eax
jne 0x4060c0
cmp word [edi], 0
je 0x40626c
lea esi, [esi]
lea edi, [edi]
mov edx, eax
cmp word [edi + edx*2 + 2], 0
lea eax, [eax + 1]
jne 0x405520
lea ebx, [ebp - 0x3ef6]
mov eax, 0x224c
mov word [ebp - 0x4018], ax
lea ecx, [ebp - 0x4016]
mov dword [ebp - 0x94ec], ebx
jmp 0x405589
cmp eax, 9
je 0x4057b0
cmp eax, 0xa
jne 0x4057ca
mov word [ecx], 0x6e5c
add ecx, 2
lea esi, [esi]
cmp ecx, dword [ebp - 0x94ec]
lea eax, [edx - 1]
ja 0x405f30
test edx, edx
jle 0x405f30
mov edx, eax
movzx eax, word [edi]
add edi, 2
cmp eax, 0xd
je 0x405828
jbe 0x405550
cmp eax, 0x22
je 0x405818
cmp eax, 0x5c
jne 0x4057bd
mov word [ecx], 0x5c5c
add ecx, 2
jmp 0x405570
mov byte [ebx], al
inc ebx
jmp 0x4042e0
mov byte [esi], al
inc esi
jmp 0x404f10
mov eax, str._invalid_
jmp 0x404adf
mov eax, dword [ebp - 0x8838]
test byte [0x408004], 8
mov dword [ebp - 0x9504], eax
lea edi, [eax + 0x12]
jne 0x4060db
xor eax, eax
mov dword [0x40f450], eax
mov eax, dword [ebp - 0x9504]
movzx eax, word [eax + 0x12]
test eax, 0xffdf
je 0x405670
cmp eax, 0x2f
je 0x405670
mov ecx, edi
jmp 0x40564c
lea edx, [edi + 2]
movzx eax, word [edx]
mov edi, edx
test eax, 0xffdf
je 0x4056d8
cmp eax, 0x2f
je 0x4056d8
cmp eax, 0x2b
jne 0x405630
mov edx, edi
mov eax, ecx
call sym._XCOPY_ProcessExcludeFile
test eax, eax
jne 0x4056e9
lea edx, [edi + 2]
mov ecx, edx
jmp 0x405633
mov edi, dword [ebp - 0x8630]
or ebx, 0x20000
test edi, edi
je 0x404340
jmp 0x404349
mov eax, str._invalid_
jmp 0x405007
mov eax, str._invalid_
jmp 0x404e27
mov eax, 0x69
mov ebx, dword [0x40f454]
call sym._XCOPY_LoadMessage
mov dword [esp + 4], ebx
mov dword [esp], eax
call sym._XCOPY_wprintf
jmp 0x403f6e
cmp ecx, edx
je 0x405670
mov eax, ecx
nop
call sym._XCOPY_ProcessExcludeFile
test eax, eax
je 0x405670
mov eax, 0x57
call sym._XCOPY_FailMessage
mov eax, dword [ebp - 0x94f8]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_free]
jmp 0x403c4d
lea edi, [eax - 0x20]
cmp di, 0x5e
jbe 0x406050
mov byte [ecx], 0x5c
mov edi, eax
add ecx, 5
shr edi, 0xc
movzx ebx, byte [edi + str.0123456789abcdefXCOPY_ProcessDestParm]
mov edi, eax
shr edi, 8
and edi, 0xf
mov byte [ecx - 4], bl
movzx ebx, byte [edi + str.0123456789abcdefXCOPY_ProcessDestParm]
mov edi, eax
shr edi, 4
and eax, 0xf
and edi, 0xf
movzx eax, byte [eax + str.0123456789abcdefXCOPY_ProcessDestParm]
mov byte [ecx - 3], bl
movzx ebx, byte [edi + str.0123456789abcdefXCOPY_ProcessDestParm]
mov byte [ecx - 1], al
mov byte [ecx - 2], bl
jmp 0x405490
mov word [ecx], 0x225c
add ecx, 2
jmp 0x405490
mov word [ecx], 0x725c
add ecx, 2
jmp 0x405490
mov word [ecx], 0x745c
add ecx, 2
jmp 0x405490
mov byte [ebp - 0x4016], 0x22
lea ecx, [ebp - 0x4016]
mov eax, 0x224c
mov word [ebp - 0x4018], ax
lea eax, [ecx + 1]
jmp 0x404ace
mov word [ecx], 0x745c
add ecx, 2
jmp 0x405570
lea esi, [eax - 0x20]
cmp si, 0x5e
jbe 0x406070
mov byte [ecx], 0x5c
mov esi, eax
add ecx, 5
shr esi, 0xc
movzx ebx, byte [esi + str.0123456789abcdefXCOPY_ProcessDestParm]
mov esi, eax
shr esi, 8
and esi, 0xf
mov byte [ecx - 4], bl
movzx ebx, byte [esi + str.0123456789abcdefXCOPY_ProcessDestParm]
mov esi, eax
shr esi, 4
and eax, 0xf
and esi, 0xf
movzx eax, byte [eax + str.0123456789abcdefXCOPY_ProcessDestParm]
mov byte [ecx - 3], bl
movzx ebx, byte [esi + str.0123456789abcdefXCOPY_ProcessDestParm]
mov byte [ecx - 1], al
mov byte [ecx - 2], bl
jmp 0x405570
mov word [ecx], 0x225c
add ecx, 2
jmp 0x405570
mov word [ecx], 0x725c
add ecx, 2
jmp 0x405570
mov byte [ebp - 0x4016], 0x22
mov esi, 0x224c
mov word [ebp - 0x4018], si
lea esi, [ebp - 0x4016]
lea eax, [esi + 1]
jmp 0x404ff6
mov byte [ebp - 0x4016], 0x22
lea ebx, [ebp - 0x4016]
mov ecx, 0x224c
mov word [ebp - 0x4018], cx
lea eax, [ebx + 1]
jmp 0x404e16
mov dword [esp], 0x2000
lea eax, [ebp - 0x4018]
mov dword [esp + 4], eax
lea ebx, [ebp - 0x8e50]
call dword [sym.imp.kernel32.dll_GetCurrentDirectoryW]
mov eax, dword [ebp - 0x4018]
xor edx, edx
mov word [ebp - 0x9054], dx
mov dword [ebp - 0x9058], eax
xor eax, eax
sub esp, 8
mov esi, esi
lea edi, [edi]
movzx edx, word [edi + eax]
mov word [ebx + eax], dx
add eax, 2
test edx, edx
jne 0x4058c0
jmp 0x403d60
mov eax, 0x65
call sym._XCOPY_LoadMessage
mov dword [esp], eax
call sym._XCOPY_wprintf
mov eax, dword [ebp - 0x94f8]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_free]
jmp 0x403c4d
movzx eax, word [ebp - 0x905a]
cmp eax, 0x5c
je 0x404852
cmp eax, 0x3a
mov edx, esi
jne 0x404839
jmp 0x404852
test eax, eax
mov esi, dword [ebp - 0x94f8]
mov byte [ecx], 0x22
mov ebx, dword [ebp - 0x94fc]
mov edi, dword [ebp - 0x9500]
jle 0x406243
mov word [ecx + 1], 0x2e2e
lea eax, [ecx + 4]
mov byte [ecx + 3], 0x2e
mov byte [eax], 0
lea eax, [ebp - 0x4018]
mov dword [esp], eax
call sym.___wine_dbg_strdup
mov dword [esp + 0x10], eax
mov edx, str.Source_Stem_:__s_n
mov ecx, str.wmain
mov dword [esp + 0xc], edx
mov eax, 0x408004
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0
test byte [0x408004], 8
je 0x403ec6
mov eax, ebx
shr eax, 0x10
je 0x405fd0
mov dword [esp], ebx
mov eax, 0xffffffff
mov dword [esp + 4], eax
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
sub esp, 8
test eax, eax
jne 0x406078
cmp word [ebp - 0x8e50], 0
je 0x4061e8
lea esi, [esi]
mov edx, eax
cmp word [ebx + edx*2 + 2], 0
lea eax, [eax + 1]
jne 0x4059d0
mov dword [ebp - 0x94f8], esi
lea ecx, [ebp - 0x4016]
mov eax, 0x224c
mov word [ebp - 0x4018], ax
lea eax, [ebp - 0x3ef6]
mov dword [ebp - 0x94ec], ebx
mov esi, eax
mov dword [ebp - 0x94fc], ebx
mov dword [ebp - 0x9500], edi
jmp 0x405a45
cmp eax, 9
je 0x405af0
cmp eax, 0xa
jne 0x405a8f
mov word [ecx], 0x6e5c
add ecx, 2
nop
lea eax, [edx - 1]
cmp ecx, esi
ja 0x405b00
test edx, edx
jle 0x405b00
mov edx, eax
add dword [ebp - 0x94ec], 2
mov eax, dword [ebp - 0x94ec]
movzx eax, word [eax - 2]
cmp eax, 0xd
je 0x405a78
jbe 0x405a18
cmp eax, 0x22
je 0x405ae0
cmp eax, 0x5c
jne 0x405a82
mov word [ecx], 0x5c5c
add ecx, 2
jmp 0x405a30
mov word [ecx], 0x725c
add ecx, 2
jmp 0x405a30
lea edi, [eax - 0x20]
cmp di, 0x5e
jbe 0x406060
mov byte [ecx], 0x5c
mov edi, eax
add ecx, 5
shr edi, 0xc
movzx ebx, byte [edi + str.0123456789abcdefXCOPY_ProcessDestParm]
mov edi, eax
shr edi, 8
and edi, 0xf
mov byte [ecx - 4], bl
movzx ebx, byte [edi + str.0123456789abcdefXCOPY_ProcessDestParm]
mov edi, eax
shr edi, 4
and eax, 0xf
and edi, 0xf
movzx eax, byte [eax + str.0123456789abcdefXCOPY_ProcessDestParm]
mov byte [ecx - 3], bl
movzx ebx, byte [edi + str.0123456789abcdefXCOPY_ProcessDestParm]
mov byte [ecx - 1], al
mov byte [ecx - 2], bl
jmp 0x405a30
mov word [ecx], 0x225c
add ecx, 2
jmp 0x405a30
mov word [ecx], 0x745c
add ecx, 2
jmp 0x405a30
test eax, eax
mov esi, dword [ebp - 0x94f8]
mov byte [ecx], 0x22
mov ebx, dword [ebp - 0x94fc]
mov edi, dword [ebp - 0x9500]
jle 0x406201
mov word [ecx + 1], 0x2e2e
lea eax, [ecx + 4]
mov byte [ecx + 3], 0x2e
mov byte [eax], 0
lea eax, [ebp - 0x4018]
mov dword [esp], eax
call sym.___wine_dbg_strdup
mov dword [esp + 0x10], eax
mov eax, str.Source_Spec_:__s_n
mov dword [esp + 0xc], eax
mov eax, str.wmain
mov dword [esp + 8], eax
mov eax, 0x408004
mov dword [esp + 4], eax
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0
test byte [0x408004], 8
je 0x403ec6
mov eax, edi
shr eax, 0x10
je 0x405fb0
mov dword [esp], edi
mov eax, 0xffffffff
mov dword [esp + 4], eax
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
sub esp, 8
test eax, eax
jne 0x40608c
cmp word [ebp - 0x8c48], 0
je 0x406209
lea esi, [esi]
mov edx, eax
cmp word [edi + edx*2 + 2], 0
lea eax, [eax + 1]
jne 0x405bb0
mov dword [ebp - 0x94f8], esi
mov ecx, 0x224c
mov word [ebp - 0x4018], cx
lea ecx, [ebp - 0x4016]
mov dword [ebp - 0x94fc], ebx
mov dword [ebp - 0x94ec], edi
jmp 0x405c1b
cmp eax, 9
je 0x405cc8
cmp eax, 0xa
jne 0x405c67
mov word [ecx], 0x6e5c
add ecx, 2
nop
lea eax, [edx - 1]
test edx, edx
jle 0x405cd8
lea esi, [ebp - 0x3ef6]
cmp ecx, esi
ja 0x405cd8
mov edx, eax
add dword [ebp - 0x94ec], 2
mov eax, dword [ebp - 0x94ec]
movzx eax, word [eax - 2]
cmp eax, 0xd
je 0x405c50
jbe 0x405be8
cmp eax, 0x22
je 0x405cb8
cmp eax, 0x5c
nop
jne 0x405c5a
mov word [ecx], 0x5c5c
add ecx, 2
jmp 0x405c00
mov word [ecx], 0x725c
add ecx, 2
jmp 0x405c00
lea esi, [eax - 0x20]
cmp si, 0x5e
jbe 0x406040
mov byte [ecx], 0x5c
mov esi, eax
add ecx, 5
shr esi, 0xc
movzx ebx, byte [esi + str.0123456789abcdefXCOPY_ProcessDestParm]
mov esi, eax
shr esi, 8
and esi, 0xf
mov byte [ecx - 4], bl
movzx ebx, byte [esi + str.0123456789abcdefXCOPY_ProcessDestParm]
mov esi, eax
shr esi, 4
and eax, 0xf
and esi, 0xf
movzx eax, byte [eax + str.0123456789abcdefXCOPY_ProcessDestParm]
mov byte [ecx - 3], bl
movzx ebx, byte [esi + str.0123456789abcdefXCOPY_ProcessDestParm]
mov byte [ecx - 1], al
mov byte [ecx - 2], bl
jmp 0x405c00
mov word [ecx], 0x225c
add ecx, 2
jmp 0x405c00
mov word [ecx], 0x745c
add ecx, 2
jmp 0x405c00
test eax, eax
mov esi, dword [ebp - 0x94f8]
mov byte [ecx], 0x22
mov ebx, dword [ebp - 0x94fc]
jle 0x406222
mov word [ecx + 1], 0x2e2e
lea eax, [ecx + 4]
mov byte [ecx + 3], 0x2e
mov byte [eax], 0
lea eax, [ebp - 0x4018]
mov dword [esp], eax
call sym.___wine_dbg_strdup
mov dword [esp + 0x10], eax
mov edx, str.wmain
mov eax, str.Dest___Stem_:__s_n
mov dword [esp + 0xc], eax
mov ecx, 0x408004
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0
test byte [0x408004], 8
je 0x403ec6
mov eax, dword [ebp - 0x94f0]
shr eax, 0x10
je 0x405f90
mov eax, 0xffffffff
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x94f0]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
sub esp, 8
test eax, eax
jne 0x406096
cmp word [ebp - 0x8a40], 0
je 0x40624b
mov ecx, dword [ebp - 0x94f0]
nop
lea esi, [esi]
mov edx, eax
cmp word [ecx + edx*2 + 2], 0
lea eax, [eax + 1]
jne 0x405d90
mov dword [ebp - 0x94f8], esi
lea ecx, [ebp - 0x4016]
mov eax, 0x224c
mov word [ebp - 0x4018], ax
mov eax, dword [ebp - 0x94f0]
mov dword [ebp - 0x94fc], ebx
mov dword [ebp - 0x94ec], eax
jmp 0x405e0b
cmp eax, 9
je 0x405eb8
cmp eax, 0xa
jne 0x405e57
mov word [ecx], 0x6e5c
add ecx, 2
lea esi, [esi]
lea edi, [edi]
lea eax, [edx - 1]
test edx, edx
jle 0x405ec8
lea esi, [ebp - 0x3ef6]
cmp ecx, esi
ja 0x405ec8
mov edx, eax
add dword [ebp - 0x94ec], 2
mov eax, dword [ebp - 0x94ec]
movzx eax, word [eax - 2]
cmp eax, 0xd
je 0x405e40
jbe 0x405dd0
cmp eax, 0x22
je 0x405ea8
cmp eax, 0x5c
nop
jne 0x405e4a
mov word [ecx], 0x5c5c
add ecx, 2
jmp 0x405df0
mov word [ecx], 0x725c
add ecx, 2
jmp 0x405df0
lea esi, [eax - 0x20]
cmp si, 0x5e
jbe 0x406030
mov byte [ecx], 0x5c
mov esi, eax
add ecx, 5
shr esi, 0xc
movzx ebx, byte [esi + str.0123456789abcdefXCOPY_ProcessDestParm]
mov esi, eax
shr esi, 8
and esi, 0xf
mov byte [ecx - 4], bl
movzx ebx, byte [esi + str.0123456789abcdefXCOPY_ProcessDestParm]
mov esi, eax
shr esi, 4
and eax, 0xf
and esi, 0xf
movzx eax, byte [eax + str.0123456789abcdefXCOPY_ProcessDestParm]
mov byte [ecx - 3], bl
movzx ebx, byte [esi + str.0123456789abcdefXCOPY_ProcessDestParm]
mov byte [ecx - 1], al
mov byte [ecx - 2], bl
jmp 0x405df0
mov word [ecx], 0x225c
add ecx, 2
jmp 0x405df0
mov word [ecx], 0x745c
add ecx, 2
jmp 0x405df0
test eax, eax
mov esi, dword [ebp - 0x94f8]
mov byte [ecx], 0x22
mov ebx, dword [ebp - 0x94fc]
jle 0x406264
mov word [ecx + 1], 0x2e2e
lea eax, [ecx + 4]
mov byte [ecx + 3], 0x2e
mov byte [eax], 0
lea eax, [ebp - 0x4018]
mov dword [esp], eax
call sym.___wine_dbg_strdup
mov dword [esp + 0x10], eax
mov eax, str.Dest___Spec_:__s_n
mov dword [esp + 0xc], eax
mov eax, str.wmain
mov dword [esp + 8], eax
mov eax, 0x408004
mov dword [esp + 4], eax
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0
jmp 0x403ec6
mov byte [ecx], 0x22
test eax, eax
jle 0x406285
mov word [ecx + 1], 0x2e2e
lea eax, [ecx + 4]
mov byte [ecx + 3], 0x2e
mov byte [eax], 0
lea eax, [ebp - 0x4018]
mov dword [esp], eax
call sym.___wine_dbg_strdup
mov dword [esp + 0x10], eax
mov eax, str.Unhandled_parameter__s_n
mov edx, 0x408004
mov dword [esp + 0xc], eax
mov eax, str.XCOPY_ParseCommandLine
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0
jmp 0x4041d5
mov dword [esp], str._04x
movzx eax, word [ebp - 0x94f0]
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf.constprop.0
jmp 0x405efd
mov dword [esp], str._04x
movzx eax, di
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf.constprop.0
jmp 0x405d0d
mov dword [esp], str._04x
movzx eax, bx
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf.constprop.0
jmp 0x405b3b
mov dword [esp], str._04x
movzx eax, si
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf.constprop.0
jmp 0x40595b
mov dword [esp], str._04x
movzx eax, di
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf.constprop.0
jmp 0x405f59
mov byte [ecx], al
inc ecx
jmp 0x405df0
mov byte [ecx], al
inc ecx
jmp 0x405c00
mov byte [ecx], al
inc ecx
jmp 0x405490
mov byte [ecx], al
inc ecx
jmp 0x405a30
mov byte [ecx], al
inc ecx
jmp 0x405570
mov eax, str._invalid_
jmp 0x405b3b
mov eax, str._invalid_
jmp 0x40595b
mov eax, str._invalid_
jmp 0x405d0d
mov eax, str._invalid_
jmp 0x405efd
mov esi, dword [ebp - 0x94ec]
mov edx, eax
movzx eax, word [ebp - 0x8220]
cmp eax, edx
jne 0x403dc4
jmp 0x4049c0
mov eax, str._invalid_
jmp 0x405f59
mov eax, dword [ebp - 0x94f4]
mov dword [ebp - 0x9500], eax
jmp 0x403bff
mov eax, edi
shr eax, 0x10
je 0x4063a4
mov dword [esp], edi
mov eax, 0xffffffff
mov dword [esp + 4], eax
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
sub esp, 8
test eax, eax
jne 0x4063c1
mov ecx, dword [ebp - 0x9504]
cmp word [ecx + 0x12], 0
je 0x4063d5
lea esi, [esi]
lea edi, [edi]
mov edx, eax
cmp word [ecx + edx*2 + 0x14], 0
lea eax, [eax + 1]
jne 0x406120
mov dword [ebp - 0x9510], ebx
mov ecx, 0x224c
mov word [ebp - 0x4018], cx
lea ecx, [ebp - 0x4016]
mov dword [ebp - 0x9514], edi
mov dword [ebp - 0x9500], edi
jmp 0x40619b
cmp eax, 9
je 0x4062b0
cmp eax, 0xa
jne 0x4062d7
mov word [ecx], 0x6e5c
add ecx, 2
lea esi, [esi]
lea edi, [edi]
lea eax, [edx - 1]
test edx, edx
jle 0x406335
lea edi, [ebp - 0x3ef6]
cmp ecx, edi
ja 0x406335
mov edx, eax
add dword [ebp - 0x9500], 2
mov eax, dword [ebp - 0x9500]
movzx eax, word [eax - 2]
cmp eax, 0xd
je 0x4062bd
jbe 0x406158
cmp eax, 0x22
je 0x406328
cmp eax, 0x5c
jne 0x4062ca
mov word [ecx], 0x5c5c
add ecx, 2
jmp 0x406180
cmp word [ebp - 0x8c4a], 0x5c
mov edx, edi
jne 0x404a29
jmp 0x404a42
mov byte [ebp - 0x4016], 0x22
lea ecx, [ebp - 0x4016]
mov eax, 0x224c
mov word [ebp - 0x4018], ax
lea eax, [ecx + 1]
jmp 0x405b2a
mov byte [ebp - 0x4016], 0x22
lea ecx, [ebp - 0x4016]
mov edx, 0x224c
mov word [ebp - 0x4018], dx
lea eax, [ecx + 1]
jmp 0x405cfc
mov byte [ebp - 0x4016], 0x22
lea ecx, [ebp - 0x4016]
mov eax, 0x224c
mov word [ebp - 0x4018], ax
lea eax, [ecx + 1]
jmp 0x40594a
mov byte [ebp - 0x4016], 0x22
lea ecx, [ebp - 0x4016]
mov eax, 0x224c
mov word [ebp - 0x4018], ax
lea eax, [ecx + 1]
jmp 0x405eec
mov byte [ebp - 0x4016], 0x22
lea ecx, [ebp - 0x4016]
mov edx, 0x224c
mov word [ebp - 0x4018], dx
lea eax, [ecx + 1]
jmp 0x405f48
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x34]
call sym._XCOPY_FailMessage
mov ecx, 4
mov dword [ebp - 0x94ec], ecx
jmp 0x403f6e
mov word [ecx], 0x745c
add ecx, 2
jmp 0x406180
mov word [ecx], 0x725c
add ecx, 2
jmp 0x406180
lea edi, [eax - 0x20]
cmp di, 0x5e
jbe 0x4063b9
mov byte [ecx], 0x5c
mov edi, eax
add ecx, 5
shr edi, 0xc
movzx ebx, byte [edi + str.0123456789abcdefXCOPY_ProcessDestParm]
mov edi, eax
shr edi, 8
and edi, 0xf
mov byte [ecx - 4], bl
movzx ebx, byte [edi + str.0123456789abcdefXCOPY_ProcessDestParm]
mov edi, eax
shr edi, 4
and eax, 0xf
and edi, 0xf
movzx eax, byte [eax + str.0123456789abcdefXCOPY_ProcessDestParm]
mov byte [ecx - 3], bl
movzx ebx, byte [edi + str.0123456789abcdefXCOPY_ProcessDestParm]
mov byte [ecx - 1], al
mov byte [ecx - 2], bl
jmp 0x406180
mov word [ecx], 0x225c
add ecx, 2
jmp 0x406180
test eax, eax
mov ebx, dword [ebp - 0x9510]
mov byte [ecx], 0x22
mov edi, dword [ebp - 0x9514]
jle 0x4063eb
mov word [ecx + 1], 0x2e2e
lea eax, [ecx + 4]
mov byte [ecx + 3], 0x2e
mov byte [eax], 0
lea eax, [ebp - 0x4018]
mov dword [esp], eax
call sym.___wine_dbg_strdup
mov dword [esp + 0x10], eax
mov eax, str._EXCLUDE_parms:__s_n
mov dword [esp + 0xc], eax
mov eax, str.XCOPY_ProcessExcludeList
mov dword [esp + 8], eax
mov eax, 0x408004
mov dword [esp + 4], eax
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0
jmp 0x40560c
mov eax, 0xfffffffe
jmp 0x405254
mov dword [esp], str._04x
movzx eax, di
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf.constprop.0
jmp 0x40636a
mov byte [ecx], al
inc ecx
jmp 0x406180
mov eax, str._invalid_
jmp 0x40636a
mov word [edx], 0x725c
add edx, 2
jmp 0x404da2
mov word [ebp - 0x4018], 0x224c
lea ecx, [ebp - 0x4016]
mov byte [ebp - 0x4016], 0x22
lea eax, [ecx + 1]
jmp 0x406359
lea edi, [eax - 0x20]
cmp di, 0x5e
jbe 0x406694
mov byte [edx], 0x5c
mov edi, eax
add edx, 5
shr edi, 0xc
movzx ebx, byte [edi + str.0123456789abcdefXCOPY_ProcessDestParm]
mov edi, eax
shr edi, 8
and edi, 0xf
mov byte [edx - 4], bl
movzx ebx, byte [edi + str.0123456789abcdefXCOPY_ProcessDestParm]
mov edi, eax
shr edi, 4
and eax, 0xf
and edi, 0xf
movzx eax, byte [eax + str.0123456789abcdefXCOPY_ProcessDestParm]
mov byte [edx - 3], bl
movzx ebx, byte [edi + str.0123456789abcdefXCOPY_ProcessDestParm]
mov byte [edx - 1], al
mov byte [edx - 2], bl
jmp 0x404da2
mov word [edx], 0x225c
add edx, 2
jmp 0x404da2
mov word [edx], 0x745c
add edx, 2
jmp 0x404da2
test eax, eax
mov edi, dword [ebp - 0x9504]
mov byte [edx], 0x22
mov ebx, dword [ebp - 0x9510]
jle 0x406717
mov word [edx + 1], 0x2e2e
lea eax, [edx + 4]
mov byte [edx + 3], 0x2e
mov byte [eax], 0
lea eax, [ebp - 0x4018]
mov dword [esp], eax
call sym.___wine_dbg_strdup
mov dword [ebp - 0x9504], eax
mov ecx, dword [ebp - 0x9508]
test ecx, ecx
je 0x40666f
lea eax, [ebp - 0x94e8]
mov edx, 0xffffffff
mov dword [esp + 4], edx
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
sub esp, 8
test eax, eax
jne 0x4066d9
cmp word [ebp - 0x94e8], 0
je 0x4066e3
mov ecx, eax
cmp word [ebp + ecx*2 - 0x94e6], 0
lea eax, [eax + 1]
jne 0x4064df
mov dword [ebp - 0x9510], edi
lea edx, [ebp - 0x4016]
mov eax, 0x224c
mov word [ebp - 0x4018], ax
lea eax, [ebp - 0x94e8]
mov dword [ebp - 0x9514], ebx
mov dword [ebp - 0x9500], eax
jmp 0x40654c
cmp eax, 9
je 0x4065eb
cmp eax, 0xa
jne 0x406593
mov word [edx], 0x6e5c
add edx, 2
lea eax, [ecx - 1]
test ecx, ecx
jle 0x4065f8
lea edi, [ebp - 0x3ef6]
cmp edx, edi
ja 0x4065f8
mov ecx, eax
add dword [ebp - 0x9500], 2
mov eax, dword [ebp - 0x9500]
movzx eax, word [eax - 2]
cmp eax, 0xd
je 0x40657c
jbe 0x40651b
cmp eax, 0x22
je 0x4065de
cmp eax, 0x5c
lea esi, [esi]
jne 0x406586
mov word [edx], 0x5c5c
add edx, 2
jmp 0x406531
mov word [edx], 0x725c
add edx, 2
jmp 0x406531
lea edi, [eax - 0x20]
cmp di, 0x5e
jbe 0x406667
mov byte [edx], 0x5c
mov edi, eax
add edx, 5
shr edi, 0xc
movzx ebx, byte [edi + str.0123456789abcdefXCOPY_ProcessDestParm]
mov edi, eax
shr edi, 8
and edi, 0xf
mov byte [edx - 4], bl
movzx ebx, byte [edi + str.0123456789abcdefXCOPY_ProcessDestParm]
mov edi, eax
shr edi, 4
and eax, 0xf
and edi, 0xf
movzx eax, byte [eax + str.0123456789abcdefXCOPY_ProcessDestParm]
mov byte [edx - 3], bl
movzx ebx, byte [edi + str.0123456789abcdefXCOPY_ProcessDestParm]
mov byte [edx - 1], al
mov byte [edx - 2], bl
jmp 0x406531
mov word [edx], 0x225c
add edx, 2
jmp 0x406531
mov word [edx], 0x745c
add edx, 2
jmp 0x406531
test eax, eax
mov edi, dword [ebp - 0x9510]
mov byte [edx], 0x22
mov ebx, dword [ebp - 0x9514]
jle 0x4066f9
mov word [edx + 1], 0x2e2e
lea eax, [edx + 4]
mov byte [edx + 3], 0x2e
mov byte [eax], 0
lea eax, [ebp - 0x4018]
mov dword [esp], eax
call sym.___wine_dbg_strdup
mov dword [esp + 0x10], eax
mov ecx, dword [ebp - 0x9504]
mov eax, str.Date_being_used_is:__s__s_n
mov dword [esp + 0xc], eax
mov eax, str.XCOPY_ParseCommandLine
mov dword [esp + 8], eax
mov eax, 0x408004
mov dword [esp + 4], eax
mov dword [esp + 0x14], ecx
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0
jmp 0x404349
mov byte [edx], al
inc edx
jmp 0x406531
mov dword [esp], str._04x
lea eax, [ebp - 0x94e8]
mov dword [ebp - 0x9500], eax
movzx eax, word [ebp - 0x9500]
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf.constprop.0
jmp 0x40662d
mov byte [edx], al
inc edx
jmp 0x404da2
mov dword [esp], str._04x
lea eax, [ebp - 0x94a8]
mov dword [ebp - 0x9500], eax
movzx eax, word [ebp - 0x9500]
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf.constprop.0
mov dword [ebp - 0x9504], eax
jmp 0x4064a0
mov dword [ebp - 0x9504], str._invalid_
jmp 0x4064a0
mov eax, str._invalid_
jmp 0x40662d
mov word [ebp - 0x4018], 0x224c
lea edx, [ebp - 0x4016]
mov byte [ebp - 0x4016], 0x22
lea eax, [edx + 1]
jmp 0x40661c
mov word [ebp - 0x4018], 0x224c
lea edx, [ebp - 0x4016]
mov byte [ebp - 0x4016], 0x22
lea eax, [edx + 1]
jmp 0x406489