Function at 0x41da00
Capabilities:
Access peb ldr_data
Check if file exists
Create process on windows
Get file attributes
Get file system object information
Get kernel32 base address
Get process heap flags
Query environment variable

Disassembly:
push ebp
mov eax, 0x89bc
mov ebp, esp
push edi
push esi
push ebx
call fcn.004240d8
sub esp, eax
test byte [0x425038], 8
jne 0x41dd40
mov eax, dword [ebp + 8]
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call sym._WCMD_parameter
mov ebx, eax
test eax, eax
je 0x41da60
cmp word [eax], 0
jne 0x41da70
mov dword [0x437470], 0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 4], 0x429024
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_wcspbrk]
test eax, eax
je 0x41e175
lea esi, [ebp - 0x8018]
mov dword [esp + 0xc], 0
mov dword [esp + 8], esi
mov dword [esp + 4], 0x2000
mov dword [esp], ebx
call sym._WCMD_get_fullpath
test eax, eax
je 0x41da60
mov dword [esp + 4], 0x5c
mov dword [esp], esi
call dword [sym.imp.ucrtbase.dll_wcsrchr]
mov dword [ebp - 0x8984], 0
mov ebx, eax
test eax, eax
je 0x41daef
mov dword [esp + 4], 0x2e
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_wcschr]
test eax, eax
setne al
movzx eax, al
mov dword [ebp - 0x8984], eax
xor eax, eax
lea edi, [ebp - 0x86dc]
lea esi, [esi]
nop
movzx edx, word [ebx + eax + 2]
mov word [edi + eax], dx
add eax, 2
test dx, dx
jne 0x41db00
mov eax, dword [sym.imp.kernel32.dll_GetEnvironmentVariableW]
xor ecx, ecx
mov dword [ebp - 0x8988], 1
mov word [ebx + 2], cx
mov dword [ebp - 0x897c], eax
lea eax, [ebp - 0x4018]
mov dword [esp + 8], 0x2000
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x897c]
mov dword [esp], 0x429040
call eax
sub eax, 1
sub esp, 0xc
cmp eax, 0x1ffe
jbe 0x41db7a
xor eax, eax
mov edx, 0x2e
jmp 0x41db6a
movzx edx, word [eax + str..bat_.com_.cmd_.exe]
mov word [ebp + eax - 0x4018], dx
add eax, 2
test dx, dx
jne 0x41db63
test byte [0x425038], 8
jne 0x41e32e
mov dword [ebp - 0x8980], esi
lea esi, [esi]
mov edx, dword [ebp - 0x8988]
mov ecx, 0x82
lea edi, [ebp - 0x84d4]
xor eax, eax
rep stosd dword es:[edi], eax
test edx, edx
je 0x41de60
mov ecx, dword [ebp - 0x8980]
movzx edx, word [ecx + eax]
mov word [ebp + eax - 0x84d4], dx
add eax, 2
test dx, dx
jne 0x41dbb3
mov dword [ebp - 0x8980], 0
cmp word [ebp - 0x84d4], 0
lea edx, [ebp - 0x84d4]
je 0x41dbea
add edx, 2
cmp word [edx], 0
jne 0x41dbe1
xor eax, eax
mov ecx, 0x5c
jmp 0x41dbfa
movzx ecx, word [eax + 0x429094]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x41dbf3
cmp word [ebp - 0x84d4], 0
lea edx, [ebp - 0x84d4]
je 0x41dc29
lea esi, [esi]
lea esi, [esi]
add edx, 2
cmp word [edx], 0
jne 0x41dc20
xor eax, eax
lea ebx, [ebp - 0x86dc]
movzx ecx, word [ebx + eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x41dc31
cmp word [ebp - 0x84d4], 0
lea ebx, [ebp - 0x84d4]
je 0x41e160
add ebx, 2
cmp word [ebx], 0
jne 0x41dc55
mov esi, dword [ebp - 0x8984]
test esi, esi
je 0x41dc91
lea eax, [ebp - 0x84d4]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_GetFileAttributesW]
sub esp, 4
cmp eax, 0xffffffff
jne 0x41e00c
cmp word [ebp - 0x84d4], 0
je 0x41e323
lea edx, [ebp - 0x84d4]
lea esi, [esi]
nop
add edx, 2
cmp word [edx], 0
jne 0x41dca0
xor eax, eax
mov ecx, 0x2e
jmp 0x41dcb9
movzx ecx, word [eax + 0x429098]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x41dcb2
lea eax, [ebp - 0x82cc]
mov dword [esp + 4], eax
lea eax, [ebp - 0x84d4]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_FindFirstFileW]
sub esp, 8
mov esi, eax
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_FindClose]
sub esp, 4
cmp esi, 0xffffffff
jne 0x41df70
mov ebx, dword [ebp - 0x8980]
test ebx, ebx
jne 0x41db90
mov edi, dword [ebp + 0xc]
test edi, edi
jne 0x41e9dc
mov dword [esp], 0x410
call sym._WCMD_LoadMessage
mov edi, dword [ebp + 8]
mov dword [esp], eax
mov dword [esp + 4], edi
call dbg.WCMD_output_stderr
mov dword [0x437470], 0x2331
jmp 0x41da60
mov eax, dword [ebp + 8]
test eax, eax
je 0x41e7d2
mov eax, dword [ebp + 8]
shr eax, 0x10
je 0x41de18
mov eax, dword [ebp + 8]
mov dword [esp + 4], 0xffffffff
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov edi, eax
sub esp, 8
mov eax, str._invalid_
test edi, edi
jne 0x41de2c
mov eax, dword [ebp + 8]
cmp word [eax], 0
je 0x41dd9a
lea esi, [esi]
lea esi, [esi]
add edi, 1
cmp word [eax + edi*2], 0
jne 0x41dd90
mov ecx, dword [ebp + 8]
mov eax, 0x224c
lea edx, [ebp - 0x4016]
lea esi, [ebp - 0x3ef6]
mov word [ebp - 0x4018], ax
mov dword [ebp - 0x897c], ecx
lea esi, [esi]
nop
lea ebx, [edi - 1]
test edi, edi
jle 0x41e2f3
cmp edx, esi
ja 0x41e2f3
add dword [ebp - 0x897c], 2
mov eax, dword [ebp - 0x897c]
movzx eax, word [eax - 2]
cmp ax, 0xd
je 0x41e2c3
ja 0x41e0b0
cmp ax, 9
je 0x41e2b0
cmp ax, 0xa
jne 0x41e250
mov eax, 0x6e5c
add edx, 2
mov edi, ebx
mov word [edx - 2], ax
jmp 0x41ddc0
movzx eax, word [ebp + 8]
mov dword [esp], str._04x
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf.constprop.8
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.Running__s___d__n
mov dword [esp + 0x14], edi
mov dword [esp + 8], global___func__.7
mov dword [esp + 4], 0x425038
mov dword [esp], 3
call sym._wine_dbg_log.constprop.11
jmp 0x41da1f
xor eax, eax
mov ebx, dword [ebp - 0x8980]
jmp 0x41de7f
mov ecx, eax
xor ecx, 1
cmp dx, 0x22
cmove eax, ecx
add ebx, 2
movzx edx, word [ebx]
test eax, eax
jne 0x41de90
cmp dx, 0x3b
je 0x41e0e0
test dx, dx
jne 0x41de70
mov ecx, dword [ebp - 0x8980]
xor eax, eax
lea esi, [esi]
movzx edx, word [ecx + eax]
mov word [ebp + eax - 0x84d4], dx
add eax, 2
test dx, dx
jne 0x41dea0
movzx edx, word [ebp - 0x84d4]
mov dword [ebp - 0x8980], 0
test dx, dx
je 0x41e125
lea eax, [ebp - 0x84d4]
add eax, 2
cmp word [eax], 0
jne 0x41ded4
lea edi, [ebp - 0x84d4]
sub eax, edi
sar eax, 1
sub eax, 1
cmp word [ebp + eax*2 - 0x84d4], 0x22
je 0x41e142
xor eax, eax
cmp dx, 0x22
jne 0x41df0b
jmp 0x41df50
movzx edx, word [ebp + eax - 0x84d4]
mov word [ebp + eax - 0x88e4], dx
add eax, 2
test dx, dx
jne 0x41df03
lea eax, [ebp - 0x84d4]
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
lea eax, [ebp - 0x88e4]
mov dword [esp + 4], 0x104
mov dword [esp], eax
call sym._WCMD_get_fullpath
test eax, eax
jne 0x41dbd1
jmp 0x41da60
movzx edx, word [ebp + eax - 0x84d2]
mov word [ebp + eax - 0x88e4], dx
add eax, 2
test dx, dx
jne 0x41df50
jmp 0x41df1b
lea esi, [ebp - 0x4018]
jmp 0x41dfc8
mov edx, eax
mov dword [esp + 4], esi
sub edx, esi
mov dword [esp], ebx
lea esi, [edi + 2]
mov dword [esp + 8], edx
mov dword [ebp - 0x897c], edx
call sym._memcpy
mov edx, dword [ebp - 0x897c]
xor ecx, ecx
lea eax, [ebp - 0x84d4]
mov word [ebx + edx], cx
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_GetFileAttributesW]
sub esp, 4
cmp eax, 0xffffffff
jne 0x41e00c
test esi, esi
je 0x41dcf8
mov dword [esp + 4], 0x3b
mov dword [esp], esi
call dword [sym.imp.ucrtbase.dll_wcschr]
mov edi, eax
test eax, eax
jne 0x41df80
xor eax, eax
movzx edx, word [esi + eax]
mov word [ebx + eax], dx
add eax, 2
test dx, dx
jne 0x41dfe1
lea eax, [ebp - 0x84d4]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_GetFileAttributesW]
sub esp, 4
cmp eax, 0xffffffff
je 0x41dcf8
lea eax, [ebp - 0x84d4]
mov dword [esp + 4], 0x2e
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_wcsrchr]
mov esi, eax
test byte [0x425038], 8
jne 0x41ea50
test esi, esi
je 0x41e537
mov dword [esp + 4], str..bat
mov ebx, dword [sym.imp.ucrtbase.dll__wcsicmp]
mov dword [esp], esi
call ebx
test eax, eax
je 0x41e066
mov dword [esp + 4], str..cmd
mov dword [esp], esi
call ebx
test eax, eax
jne 0x41e537
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x10], 0xffffffff
mov dword [esp + 0xc], 0
mov ebx, dword [0x4372a8]
mov dword [esp + 8], eax
mov eax, dword [ebp + 8]
mov dword [0x4372a8], 0
mov dword [esp + 4], eax
lea eax, [ebp - 0x84d4]
mov dword [esp], eax
call dbg.WCMD_batch
mov dword [0x4372a8], ebx
jmp 0x41da60
cmp ax, 0x22
je 0x41e2e0
cmp ax, 0x5c
jne 0x41e250
mov edi, 0x5c5c
add edx, 2
mov word [edx - 2], di
mov edi, ebx
jmp 0x41ddc0
mov eax, dword [ebp - 0x8980]
mov esi, ebx
sub esi, eax
mov dword [esp + 4], eax
lea eax, [ebp - 0x84d4]
mov dword [esp + 8], esi
sar esi, 1
mov dword [esp], eax
call sym._memcpy
xor ecx, ecx
lea eax, [ebx + 2]
mov word [ebp + esi*2 - 0x84d4], cx
movzx edx, word [ebp - 0x84d4]
mov dword [ebp - 0x8980], eax
test dx, dx
jne 0x41dece
cmp word [ebp - 0x84d6], 0x22
je 0x41e13d
xor edx, edx
mov word [ebp - 0x88e4], dx
jmp 0x41df1b
mov eax, 0xffffffff
xor edi, edi
mov word [ebp + eax*2 - 0x84d4], di
movzx edx, word [ebp - 0x84d4]
jmp 0x41def9
mov esi, dword [ebp - 0x8984]
test esi, esi
jne 0x41dc68
mov edx, ebx
jmp 0x41dca9
mov edx, 0x2e
lea esi, [ebp - 0x8018]
jmp 0x41e189
movzx edx, word [eax + 0x42902c]
mov word [esi + eax], dx
add eax, 2
test dx, dx
jne 0x41e182
lea eax, [ebp - 0x8014]
mov dword [esp + 8], 0x1ffe
mov dword [esp + 4], eax
mov eax, dword [sym.imp.kernel32.dll_GetEnvironmentVariableW]
mov dword [esp], 0x429032
mov dword [ebp - 0x897c], eax
call eax
sub eax, 1
sub esp, 0xc
cmp eax, 0x1ffc
jbe 0x41e1e4
xor eax, eax
mov edx, 0x2e
jmp 0x41e1d8
movzx edx, word [eax + 0x42903c]
mov word [esi + eax], dx
add eax, 2
test dx, dx
jne 0x41e1d1
mov dword [esp + 4], 0x2e
mov dword [esp], ebx
call dword [sym.imp.ucrtbase.dll_wcschr]
movzx ecx, word [ebx]
test eax, eax
setne al
movzx eax, al
mov dword [ebp - 0x8984], eax
test cx, cx
je 0x41ec61
mov edx, ebx
add edx, 2
cmp word [edx], 0
jne 0x41e211
sub edx, ebx
xor eax, eax
lea edi, [ebp - 0x86dc]
cmp edx, 0x206
jle 0x41e235
jmp 0x41ea33
movzx ecx, word [ebx + eax]
mov word [edi + eax], cx
add eax, 2
test cx, cx
jne 0x41e231
mov dword [ebp - 0x8988], 0
jmp 0x41db2c
lea edi, [eax - 0x20]
cmp di, 0x5e
jbe 0x41e52b
mov edi, eax
mov byte [edx], 0x5c
add edx, 5
shr di, 0xc
movzx edi, di
movzx ecx, byte [edi + str.0123456789abcdefWCMD_output]
mov edi, eax
shr di, 8
and edi, 0xf
mov byte [edx - 4], cl
movzx ecx, byte [edi + str.0123456789abcdefWCMD_output]
mov edi, eax
and eax, 0xf
shr di, 4
movzx eax, byte [eax + str.0123456789abcdefWCMD_output]
and edi, 0xf
mov byte [edx - 3], cl
movzx ecx, byte [edi + str.0123456789abcdefWCMD_output]
mov byte [edx - 1], al
mov edi, ebx
mov byte [edx - 2], cl
jmp 0x41ddc0
mov eax, 0x745c
add edx, 2
mov edi, ebx
mov word [edx - 2], ax
jmp 0x41ddc0
mov eax, 0x725c
add edx, 2
mov edi, ebx
mov word [edx - 2], ax
jmp 0x41ddc0
mov eax, 0x225c
add edx, 2
mov edi, ebx
mov word [edx - 2], ax
jmp 0x41ddc0
mov byte [edx], 0x22
lea eax, [edx + 1]
test ebx, ebx
jle 0x41e30d
mov ebx, 0x2e2e
mov byte [edx + 3], 0x2e
lea eax, [edx + 4]
mov word [edx + 1], bx
mov byte [eax], 0
lea eax, [ebp - 0x4018]
mov dword [esp], eax
call dbg.__wine_dbg_strdup
jmp 0x41de2c
lea edx, [ebp - 0x84d4]
jmp 0x41dca9
lea edi, [ebp - 0x86dc]
mov eax, edi
shr eax, 0x10
je 0x41eba5
mov dword [esp + 4], 0xffffffff
mov dword [esp], edi
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov dword [ebp - 0x8980], str._invalid_
sub esp, 8
test eax, eax
jne 0x41e40d
cmp word [ebp - 0x86dc], 0
je 0x41e37a
nop
add eax, 1
cmp word [edi + eax*2], 0
jne 0x41e370
mov edx, 0x224c
mov word [ebp - 0x82cc], dx
lea edx, [ebp - 0x82ca]
lea esi, [esi]
lea ecx, [eax - 1]
test eax, eax
jle 0x41e3dc
lea eax, [ebp - 0x81aa]
cmp edx, eax
ja 0x41e3dc
add edi, 2
movzx eax, word [edi - 2]
cmp ax, 0xd
je 0x41e943
ja 0x41e864
cmp ax, 9
je 0x41e8aa
cmp ax, 0xa
jne 0x41e956
mov eax, 0x6e5c
add edx, 2
mov word [edx - 2], ax
mov eax, ecx
jmp 0x41e390
mov byte [edx], 0x22
lea eax, [edx + 1]
test ecx, ecx
jle 0x41e3f6
mov ecx, 0x2e2e
mov byte [edx + 3], 0x2e
lea eax, [edx + 4]
mov word [edx + 1], cx
mov byte [eax], 0
lea eax, [ebp - 0x82cc]
mov dword [esp], eax
call dbg.__wine_dbg_strdup
mov dword [ebp - 0x8980], eax
mov eax, esi
shr eax, 0x10
je 0x41eb8b
mov dword [esp + 4], 0xffffffff
mov dword [esp], esi
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov edx, str._invalid_
sub esp, 8
test eax, eax
jne 0x41e4f4
cmp word [ebp - 0x8018], 0
je 0x41e44d
add eax, 1
cmp word [esi + eax*2], 0
jne 0x41e443
mov dword [ebp - 0x897c], esi
mov edx, 0x224c
lea edi, [ebp - 0x81aa]
mov dword [ebp - 0x898c], esi
mov word [ebp - 0x82cc], dx
lea edx, [ebp - 0x82ca]
lea ebx, [eax - 1]
cmp edx, edi
ja 0x41e4c1
test eax, eax
jle 0x41e4c1
add dword [ebp - 0x897c], 2
mov eax, dword [ebp - 0x897c]
movzx eax, word [eax - 2]
cmp ax, 0xd
je 0x41e8d0
ja 0x41e88b
cmp ax, 9
je 0x41e9b6
cmp ax, 0xa
jne 0x41e8e3
mov eax, 0x6e5c
add edx, 2
mov word [edx - 2], ax
mov eax, ebx
jmp 0x41e471
mov esi, dword [ebp - 0x898c]
mov byte [edx], 0x22
lea eax, [edx + 1]
test ebx, ebx
jle 0x41e4e1
mov ecx, 0x2e2e
mov byte [edx + 3], 0x2e
lea eax, [edx + 4]
mov word [edx + 1], cx
mov byte [eax], 0
lea eax, [ebp - 0x82cc]
mov dword [esp], eax
call dbg.__wine_dbg_strdup
mov edx, eax
mov eax, dword [ebp - 0x8980]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], str.Searching_in__s_for__s_n
mov dword [esp + 0x14], eax
mov dword [esp + 8], global___func__.7
mov dword [esp + 4], 0x425038
mov dword [esp], 3
call sym._wine_dbg_log.constprop.11
jmp 0x41db87
mov byte [edx], al
mov edi, ebx
add edx, 1
jmp 0x41ddc0
lea eax, [ebp - 0x84d4]
lea esi, [ebp - 0x88e4]
mov dword [esp + 4], 0
xor ebx, ebx
mov dword [esp + 8], esi
mov dword [esp], eax
call sym._FindExecutableW_12
sub esp, 0xc
cmp eax, 0x1f
jg 0x41e830
lea edx, [ebp - 0x8968]
xor eax, eax
mov ecx, 0x10
mov dword [ebp - 0x896c], 0x44
mov edi, edx
lea esi, [ebp - 0x8928]
mov dword [ebp - 0x8928], 0x44
rep stosd dword es:[edi], eax
mov dword [esp], esi
call dword [sym.imp.kernel32.dll_GetStartupInfoW]
movzx eax, word [ebp - 0x88f6]
mov edx, dword [ebp - 0x88f4]
sub esp, 4
mov word [ebp - 0x893a], ax
mov dword [ebp - 0x8938], edx
test ax, ax
je 0x41e6b2
test edx, edx
je 0x41e6b2
cmp ax, 0x13
mov ecx, 0x13
mov edi, dword [edx]
cmovae ecx, eax
mov dword [ebp - 0x897c], edi
movzx eax, cx
mov dword [ebp - 0x8984], ecx
mov dword [esp], eax
call dbg.heap_xalloc
mov edi, eax
mov eax, dword [ebp - 0x897c]
mov dword [esp], edi
lea ecx, [edi + eax + 4]
movzx eax, word [ebp - 0x88f6]
mov dword [ebp - 0x8980], ecx
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x88f4]
mov dword [esp + 4], eax
call sym._memcpy
mov ecx, dword [ebp - 0x8984]
mov eax, dword [ebp - 0x897c]
mov dword [ebp - 0x8938], edi
mov word [ebp - 0x893a], cx
test eax, eax
je 0x41e63e
test byte [edi + 4], 1
je 0x41e65a
mov dword [esp], 0xfffffff6
call dword [sym.imp.kernel32.dll_GetStdHandle]
mov ecx, dword [ebp - 0x8980]
sub esp, 4
mov dword [ecx], eax
or byte [edi + 4], 1
cmp dword [ebp - 0x897c], 1
jbe 0x41e669
test byte [edi + 5], 1
je 0x41e686
mov dword [esp], 0xfffffff5
call dword [sym.imp.kernel32.dll_GetStdHandle]
mov ecx, dword [ebp - 0x8980]
sub esp, 4
mov dword [ecx + 4], eax
or byte [edi + 5], 1
cmp dword [ebp - 0x897c], 2
jbe 0x41e695
test byte [edi + 6], 1
je 0x41e6b2
mov dword [esp], 0xfffffff4
call dword [sym.imp.kernel32.dll_GetStdHandle]
mov ecx, dword [ebp - 0x8980]
sub esp, 4
mov dword [ecx + 8], eax
or byte [edi + 6], 1
lea eax, [ebp - 0x896c]
mov dword [esp + 0x24], esi
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x1c], 0
mov dword [esp + 4], eax
lea eax, [ebp - 0x84d4]
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_CreateProcessW]
mov edi, eax
mov eax, dword [ebp - 0x8938]
sub esp, 0x28
mov dword [esp + 4], 0
mov dword [esp + 8], eax
mov esi, dword fs:[0x18]
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [0x42f108]
sub esp, 0xc
or eax, dword [0x42f104]
jne 0x41e7dc
test edi, edi
je 0x41dd06
mov eax, dword [0x4372a8]
test eax, eax
je 0x41e761
test ebx, ebx
je 0x41e77b
shr ebx, 0x10
jne 0x41e77b
mov eax, dword [ebp - 0x8928]
mov dword [esp + 4], 0xffffffff
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_WaitForSingleObject]
sub esp, 8
mov eax, dword [ebp - 0x8928]
mov dword [esp + 4], 0x437470
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_GetExitCodeProcess]
sub esp, 8
cmp dword [0x437470], 0x103
jne 0x41e7ab
mov dword [0x437470], 0
mov eax, dword [ebp - 0x8928]
mov ebx, dword [sym.imp.kernel32.dll_CloseHandle]
mov dword [esp], eax
call ebx
mov eax, dword [ebp - 0x8924]
sub esp, 4
mov dword [esp], eax
call ebx
sub esp, 4
jmp 0x41da60
mov eax, str._null_
jmp 0x41de2c
mov eax, edi
or eax, dword [0x42f100]
jne 0x41e747
cmp dword [esi + 0x34], 2
jne 0x41dd06
mov eax, dword [ebp + 8]
cmp word [eax], 0x22
jne 0x41dd06
mov dword [esp], eax
call dbg.WCMD_strip_quotes
mov eax, dword [ebp + 0xc]
mov dword [0x42f100], 1
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call dbg.WCMD_run_program
jmp 0x41da60
lea eax, [ebp - 0x82cc]
mov dword [esp + 0x10], 0x2000
mov dword [esp + 0xc], 0x2b4
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], esi
call sym._SHGetFileInfoW_20
sub esp, 0x14
mov ebx, eax
jmp 0x41e565
cmp ax, 0x22
je 0x41e9c9
cmp ax, 0x5c
jne 0x41e956
mov ebx, 0x5c5c
add edx, 2
mov eax, ecx
mov word [edx - 2], bx
jmp 0x41e390
cmp ax, 0x22
je 0x41e8bd
cmp ax, 0x5c
jne 0x41e8e3
mov esi, 0x5c5c
add edx, 2
mov eax, ebx
mov word [edx - 2], si
jmp 0x41e471
mov eax, 0x745c
add edx, 2
mov word [edx - 2], ax
mov eax, ecx
jmp 0x41e390
mov eax, 0x225c
add edx, 2
mov word [edx - 2], ax
mov eax, ebx
jmp 0x41e471
mov eax, 0x725c
add edx, 2
mov word [edx - 2], ax
mov eax, ebx
jmp 0x41e471
lea esi, [eax - 0x20]
cmp si, 0x5e
jbe 0x41ebcf
mov esi, eax
mov byte [edx], 0x5c
add edx, 5
shr si, 0xc
movzx esi, si
movzx ecx, byte [esi + str.0123456789abcdefWCMD_output]
mov esi, eax
shr si, 8
and esi, 0xf
mov byte [edx - 4], cl
movzx ecx, byte [esi + str.0123456789abcdefWCMD_output]
mov esi, eax
and eax, 0xf
shr si, 4
movzx eax, byte [eax + str.0123456789abcdefWCMD_output]
and esi, 0xf
mov byte [edx - 3], cl
movzx ecx, byte [esi + str.0123456789abcdefWCMD_output]
mov byte [edx - 1], al
mov eax, ebx
mov byte [edx - 2], cl
jmp 0x41e471
mov eax, 0x725c
add edx, 2
mov word [edx - 2], ax
mov eax, ecx
jmp 0x41e390
lea ebx, [eax - 0x20]
cmp bx, 0x5e
jbe 0x41ebc3
mov ebx, eax
mov byte [edx], 0x5c
add edx, 5
shr bx, 0xc
movzx ebx, bx
movzx ebx, byte [ebx + str.0123456789abcdefWCMD_output]
mov byte [edx - 4], bl
mov ebx, eax
shr bx, 8
and ebx, 0xf
movzx ebx, byte [ebx + str.0123456789abcdefWCMD_output]
mov byte [edx - 3], bl
mov ebx, eax
and eax, 0xf
shr bx, 4
movzx eax, byte [eax + str.0123456789abcdefWCMD_output]
and ebx, 0xf
movzx ebx, byte [ebx + str.0123456789abcdefWCMD_output]
mov byte [edx - 1], al
mov eax, ecx
mov byte [edx - 2], bl
jmp 0x41e390
mov eax, 0x745c
add edx, 2
mov word [edx - 2], ax
mov eax, ebx
jmp 0x41e471
mov eax, 0x225c
add edx, 2
mov word [edx - 2], ax
mov eax, ecx
jmp 0x41e390
lea eax, [ebp - 0x82cc]
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x82cc], 0
mov dword [esp], eax
call dbg.WCMD_ReadAndParseLine
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], 0
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x82cc]
mov dword [esp], eax
call dbg.WCMD_process_commands
mov eax, dword [ebp - 0x82cc]
mov dword [esp], eax
call dbg.WCMD_free_commands
jmp 0x41da60
mov dword [esp], 0x40b
call sym._WCMD_LoadMessage
mov edx, eax
mov eax, 0xfffffff4
call dbg.WCMD_output_asis_handle
jmp 0x41da60
lea eax, [ebp - 0x84d4]
shr eax, 0x10
je 0x41ec8c
lea eax, [ebp - 0x84d4]
mov dword [esp + 4], 0xffffffff
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov ecx, eax
sub esp, 8
mov eax, str._invalid_
test ecx, ecx
jne 0x41eb5e
cmp word [ebp - 0x84d4], 0
je 0x41eaa0
add ecx, 1
cmp word [ebp + ecx*2 - 0x84d4], 0
jne 0x41ea92
mov eax, 0x224c
mov dword [ebp - 0x897c], esi
lea edx, [ebp - 0x82ca]
lea ebx, [ebp - 0x84d4]
mov word [ebp - 0x82cc], ax
lea edi, [ebp - 0x81aa]
lea esi, [ecx - 1]
cmp edx, edi
ja 0x41eb2a
test ecx, ecx
jle 0x41eb2a
add ebx, 2
movzx eax, word [ebx - 2]
cmp ax, 0xd
je 0x41ebdb
ja 0x41eb06
cmp ax, 9
je 0x41ec4e
cmp ax, 0xa
jne 0x41ebee
mov eax, 0x6e5c
add edx, 2
mov ecx, esi
mov word [edx - 2], ax
jmp 0x41eac4
cmp ax, 0x22
je 0x41ec79
cmp ax, 0x5c
jne 0x41ebee
mov eax, 0x5c5c
add edx, 2
mov ecx, esi
mov word [edx - 2], ax
jmp 0x41eac4
mov eax, esi
mov byte [edx], 0x22
mov esi, dword [ebp - 0x897c]
test eax, eax
jle 0x41ecc0
mov ecx, 0x2e2e
mov byte [edx + 3], 0x2e
lea eax, [edx + 4]
mov word [edx + 1], cx
mov byte [eax], 0
lea eax, [ebp - 0x82cc]
mov dword [esp], eax
call dbg.__wine_dbg_strdup
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.Found_as__s_n
mov dword [esp + 8], global___func__.7
mov dword [esp + 4], 0x425038
mov dword [esp], 3
call sym._wine_dbg_log.constprop.11
jmp 0x41e032
movzx eax, si
mov dword [esp], str._04x
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf.constprop.8
mov edx, eax
jmp 0x41e4f4
movzx edi, di
mov dword [esp], str._04x
mov dword [esp + 4], edi
call sym._wine_dbg_sprintf.constprop.8
mov dword [ebp - 0x8980], eax
jmp 0x41e40d
mov byte [edx], al
add edx, 1
mov eax, ecx
jmp 0x41e390
mov byte [edx], al
add edx, 1
mov eax, ebx
jmp 0x41e471
mov eax, 0x725c
add edx, 2
mov ecx, esi
mov word [edx - 2], ax
jmp 0x41eac4
lea ecx, [eax - 0x20]
cmp cx, 0x5e
jbe 0x41ecb4
mov ecx, eax
mov byte [edx], 0x5c
add edx, 5
shr cx, 0xc
movzx ecx, cx
movzx ecx, byte [ecx + str.0123456789abcdefWCMD_output]
mov byte [edx - 4], cl
mov ecx, eax
shr cx, 8
and ecx, 0xf
movzx ecx, byte [ecx + str.0123456789abcdefWCMD_output]
mov byte [edx - 3], cl
mov ecx, eax
and eax, 0xf
shr cx, 4
movzx eax, byte [eax + str.0123456789abcdefWCMD_output]
and ecx, 0xf
movzx ecx, byte [ecx + str.0123456789abcdefWCMD_output]
mov byte [edx - 1], al
mov byte [edx - 2], cl
mov ecx, esi
jmp 0x41eac4
mov eax, 0x745c
add edx, 2
mov ecx, esi
mov word [edx - 2], ax
jmp 0x41eac4
mov dword [ebp - 0x8988], 0
xor eax, eax
mov word [ebp - 0x86dc], ax
jmp 0x41db2c
mov eax, 0x225c
add edx, 2
mov ecx, esi
mov word [edx - 2], ax
jmp 0x41eac4
lea eax, [ebp - 0x84d4]
mov dword [esp], str._04x
mov dword [ebp - 0x897c], eax
movzx eax, word [ebp - 0x897c]
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf.constprop.8
jmp 0x41eb5e
mov byte [edx], al
mov ecx, esi
add edx, 1
jmp 0x41eac4
lea eax, [edx + 1]
jmp 0x41eb4d