Function at 0x401950
Capabilities:
Query environment variable

Disassembly:
push ebp
mov eax, 0x8aa0
mov ebp, esp
push edi
push esi
push ebx
call fcn.004246d8
mov esi, 0x4270f6
sub esp, eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x8a70], 0
mov eax, dword [eax]
mov dword [ebp - 0x8a7c], eax
add eax, 2
mov dword [ebp - 0x8a74], eax
mov ebx, eax
lea esi, [esi]
nop
lea edi, [ebx + 2]
test ebx, ebx
je 0x401d02
movzx ecx, word [ebx]
mov eax, 0x4270e2
mov edx, 0x7e
jmp 0x4019b6
movzx edx, word [eax]
add eax, 2
cmp cx, dx
je 0x401cd0
cmp esi, eax
jne 0x4019b0
cmp ebx, dword [ebp - 0x8a74]
ja 0x4019e9
jmp 0x401a33
sub eax, 0x61
mov eax, dword [eax*4 + 0x438620]
test eax, eax
jne 0x401a33
sub ebx, 2
cmp dword [ebp - 0x8a74], ebx
jae 0x401a33
test byte [section..data], 8
jne 0x401d10
mov ecx, dword [ebp + 0xc]
movzx eax, word [ebx]
test ecx, ecx
jne 0x401a13
mov edx, dword [0x42f344]
test edx, edx
je 0x401a13
lea edx, [eax - 0x30]
cmp dx, 9
jbe 0x401a33
lea edx, [eax - 0x61]
cmp dx, 0x19
jbe 0x4019d0
lea edx, [eax - 0x41]
cmp dx, 0x19
ja 0x4019de
sub eax, 0x27
mov eax, dword [eax*4 + 0x438620]
test eax, eax
je 0x4019de
mov eax, dword [ebp - 0x8a74]
cmp eax, ebx
je 0x401ff4
mov esi, ebx
sub esi, eax
xor eax, eax
mov word [ebp - 0x400c], ax
movzx eax, word [ebx]
cmp esi, 2
jle 0x401a60
cmp ax, 0x30
je 0x4026a4
lea edx, [eax - 0x30]
cmp dx, 9
jbe 0x40200a
lea edx, [eax - 0x61]
cmp dx, 0x19
ja 0x402557
sub eax, 0x61
lea edi, [ebp - 0x800c]
mov edx, dword [eax*4 + 0x438620]
xor eax, eax
mov dword [ebp - 0x8a80], edi
movzx ecx, word [edx + eax]
mov word [edi + eax], cx
add eax, 2
test cx, cx
jne 0x401a92
mov eax, dword [ebp - 0x8a74]
cmp word [ebp - 0x800c], 0x22
lea edx, [eax + esi]
je 0x4024ad
cmp edx, dword [ebp - 0x8a74]
jbe 0x402b53
mov eax, dword [ebp - 0x8a7c]
movzx ecx, word [eax + 2]
cmp cx, 0x24
je 0x401f21
mov eax, dword [ebp - 0x8a74]
jmp 0x401aeb
cmp word [eax], 0x24
je 0x401f21
add eax, 2
cmp edx, eax
ja 0x401ae1
lea eax, [ebp - 0x8a70]
mov dword [esp + 4], 0x104
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x8a34]
mov dword [ebp - 0x8a8c], eax
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x8a80]
mov dword [ebp - 0x8a78], edx
mov dword [esp], eax
call sym._WCMD_get_fullpath
mov edx, dword [ebp - 0x8a78]
test eax, eax
mov dword [ebp - 0x8a84], eax
jne 0x402352
mov eax, dword [ebp - 0x8a7c]
xor ecx, ecx
mov word [ebp - 0x8a34], cx
movzx eax, word [eax + 2]
mov ecx, eax
cmp ax, 0x61
je 0x402bfe
mov eax, dword [ebp - 0x8a74]
jmp 0x401b6d
cmp word [eax], 0x61
je 0x4023a5
add eax, 2
cmp edx, eax
ja 0x401b63
mov dword [ebp - 0x8a88], 0
lea eax, [ebp - 0x400c]
mov dword [ebp - 0x8a78], eax
cmp edx, dword [ebp - 0x8a74]
jbe 0x402c5d
mov eax, dword [ebp - 0x8a7c]
movzx eax, word [eax + 2]
mov ecx, eax
cmp ax, 0x74
je 0x4021a6
mov esi, dword [ebp - 0x8a74]
jmp 0x401bbe
cmp word [esi], 0x74
je 0x4021a6
add esi, 2
cmp edx, esi
ja 0x401bb4
movzx esi, word [ebp - 0x400c]
cmp ax, 0x7a
je 0x402c19
mov eax, dword [ebp - 0x8a74]
jmp 0x401bea
cmp word [eax], 0x7a
je 0x402490
add eax, 2
cmp edx, eax
ja 0x401be0
cmp cx, 0x73
je 0x4020ce
mov eax, dword [ebp - 0x8a74]
jmp 0x401c0d
cmp word [eax], 0x73
je 0x4020ce
add eax, 2
cmp edx, eax
ja 0x401c03
cmp cx, 0x66
je 0x402068
mov eax, dword [ebp - 0x8a74]
jmp 0x401c3a
cmp word [eax], 0x66
je 0x402068
add eax, 2
cmp edx, eax
ja 0x401c30
xor eax, eax
test si, si
lea edi, [ebp - 0x841c]
mov dword [ebp - 0x8a94], edx
setne al
mov dword [esp + 0xc], edi
mov dword [ebp - 0x8a84], eax
lea eax, [ebp - 0x8214]
mov dword [ebp - 0x8a90], eax
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x8624]
mov dword [esp + 8], eax
lea eax, [ebp - 0x8a6c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x8a8c]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll__wsplitpath]
mov eax, dword [ebp - 0x8a7c]
mov edx, dword [ebp - 0x8a94]
movzx ecx, word [eax + 2]
cmp cx, 0x64
je 0x402749
mov eax, dword [ebp - 0x8a74]
jmp 0x401cbe
cmp word [eax], 0x64
je 0x402749
add eax, 2
cmp edx, eax
ja 0x401cb4
xor esi, esi
jmp 0x4027d9
cmp cx, 0x24
jne 0x401d02
movzx eax, word [ebx + 2]
test ax, ax
je 0x401cf6
cmp ax, 0x3a
je 0x401cf6
add edi, 2
movzx eax, word [edi]
cmp ax, 0x3a
je 0x401cf6
test ax, ax
jne 0x401ce5
test ax, ax
je 0x401ff4
add edi, 2
mov ebx, edi
jmp 0x401990
test ebx, ebx
je 0x402000
mov eax, ebx
shr eax, 0x10
je 0x401f00
mov dword [esp + 4], 0xffffffff
mov dword [esp], ebx
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov edi, eax
sub esp, 8
mov eax, 0x42705f
test edi, edi
jne 0x401dfb
cmp word [ebx], 0
je 0x401d5a
lea esi, [esi]
add edi, 1
cmp word [ebx + edi*2], 0
jne 0x401d50
mov eax, 0x224c
mov ecx, ebx
mov dword [ebp - 0x8a78], ebx
lea esi, [edi - 1]
mov word [ebp - 0x400c], ax
lea edx, [ebp - 0x400a]
test edi, edi
jle 0x401dca
lea esi, [esi]
nop
lea eax, [ebp - 0x3eea]
cmp edx, eax
ja 0x401dca
add ecx, 2
movzx eax, word [ecx - 2]
cmp ax, 0xd
je 0x401e53
ja 0x401e30
cmp ax, 9
je 0x401ed0
cmp ax, 0xa
jne 0x401e70
mov eax, 0x6e5c
add edx, 2
mov edi, esi
mov word [edx - 2], ax
lea esi, [edi - 1]
test edi, edi
jg 0x401d80
mov ebx, dword [ebp - 0x8a78]
mov byte [edx], 0x22
lea eax, [edx + 1]
test esi, esi
jle 0x401dea
mov esi, 0x2e2e
mov byte [edx + 3], 0x2e
lea eax, [edx + 4]
mov word [edx + 1], si
mov byte [eax], 0
lea eax, [ebp - 0x400c]
mov dword [esp], eax
call dbg.__wine_dbg_strdup
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.Looking_backwards_for_parameter_id:__s_n
mov dword [esp + 8], 0x4270c4
mov dword [esp + 4], 0x425000
mov dword [esp], 3
call sym._wine_dbg_log.constprop.1
jmp 0x4019f6
cmp ax, 0x22
je 0x401ee3
cmp ax, 0x5c
jne 0x401e70
mov edi, 0x5c5c
add edx, 2
mov word [edx - 2], di
mov edi, esi
jmp 0x401dc3
mov eax, 0x725c
add edx, 2
mov edi, esi
mov word [edx - 2], ax
jmp 0x401dc3
lea edi, [eax - 0x20]
cmp di, 0x5e
jbe 0x401f15
mov edi, eax
mov byte [edx], 0x5c
add edx, 5
shr di, 0xc
movzx edi, di
movzx ebx, byte [edi + str.0123456789abcdefWCMD_HandleTildeModifiers]
mov edi, eax
shr di, 8
and edi, 0xf
mov byte [edx - 4], bl
movzx ebx, byte [edi + str.0123456789abcdefWCMD_HandleTildeModifiers]
mov edi, eax
and eax, 0xf
shr di, 4
movzx eax, byte [eax + str.0123456789abcdefWCMD_HandleTildeModifiers]
and edi, 0xf
mov byte [edx - 3], bl
movzx ebx, byte [edi + str.0123456789abcdefWCMD_HandleTildeModifiers]
mov byte [edx - 1], al
mov edi, esi
mov byte [edx - 2], bl
jmp 0x401dc3
mov eax, 0x745c
add edx, 2
mov edi, esi
mov word [edx - 2], ax
jmp 0x401dc3
mov eax, 0x225c
add edx, 2
mov edi, esi
mov word [edx - 2], ax
jmp 0x401dc3
mov dword [esp + 4], ebx
mov dword [esp], section..rdata
call sym._wine_dbg_sprintf.constprop.3
jmp 0x401dfb
mov byte [edx], al
mov edi, esi
add edx, 1
jmp 0x401dc3
mov edi, dword [ebp - 0x8a74]
mov dword [ebp - 0x8a84], edx
mov esi, dword [sym.imp.ucrtbase.dll_wcschr]
mov dword [esp + 4], 0x24
mov dword [esp], edi
call esi
mov dword [esp], edi
lea ecx, [eax + 2]
mov dword [esp + 4], 0x3a
mov dword [ebp - 0x8a78], ecx
call esi
mov ecx, dword [ebp - 0x8a78]
lea esi, [ebp - 0x8214]
mov dword [esp], esi
sub eax, ecx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov edi, eax
sar edi, 1
call sym._memcpy
xor eax, eax
mov dword [esp + 8], 0
mov word [ebp + edi*2 - 0x8214], ax
mov edi, dword [sym.imp.kernel32.dll_GetEnvironmentVariableW]
mov dword [esp + 4], 0
mov dword [esp], esi
call edi
mov edx, dword [ebp - 0x8a84]
sub esp, 0xc
test eax, eax
mov ecx, eax
jne 0x4026d5
xor eax, eax
mov word [ebp - 0x800c], ax
xor eax, eax
mov word [ebp - 0x400c], ax
lea eax, [ebp - 0x400c]
mov dword [ebp - 0x8a78], eax
mov eax, dword [ebp - 0x8a78]
add ebx, 2
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [esp], eax
call dbg.WCMD_strsubstW
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, 0x427058
jmp 0x401dfb
mov edx, dword [0x42f344]
sub eax, 0x30
mov dword [esp + 0x14], 0x42704c
lea edi, [ebp - 0x800c]
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
add eax, dword [edx + eax*4 + 0xc]
mov dword [esp + 4], eax
mov eax, dword [edx]
mov dword [esp], eax
call dbg.WCMD_parameter_with_delims
mov dword [ebp - 0x8a80], edi
xor edx, edx
movzx ecx, word [eax + edx]
mov word [edi + edx], cx
add edx, 2
test cx, cx
jne 0x402053
jmp 0x401aa2
test si, si
je 0x40256e
mov edx, dword [ebp - 0x8a78]
lea esi, [esi]
nop
add edx, 2
cmp word [edx], 0
jne 0x402080
xor eax, eax
mov ecx, 0x20
jmp 0x402099
movzx ecx, word [eax + 0x4270a8]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x402092
cmp word [ebp - 0x400c], 0
je 0x40256e
mov edx, dword [ebp - 0x8a78]
lea esi, [esi]
add edx, 2
cmp word [edx], 0
jne 0x4020c0
jmp 0x402574
test si, si
je 0x402105
mov ecx, dword [ebp - 0x8a78]
lea esi, [esi]
add ecx, 2
cmp word [ecx], 0
jne 0x4020e0
xor eax, eax
mov esi, 0x20
jmp 0x4020f9
movzx esi, word [eax + 0x4270a8]
mov word [ecx + eax], si
add eax, 2
test si, si
jne 0x4020f2
mov edi, dword [ebp - 0x8a70]
xor eax, eax
lea esi, [ebp - 0x882c]
test edi, edi
je 0x402190
lea esi, [esi]
nop
movzx ecx, word [edi + eax]
mov word [esi + eax], cx
add eax, 2
test cx, cx
jne 0x402120
xor eax, eax
mov dword [ebp - 0x8a84], edx
mov word [edi], ax
mov edi, dword [ebp - 0x8a8c]
mov dword [esp + 8], 0x104
mov dword [esp + 4], edi
mov dword [esp], edi
call dword [sym.imp.kernel32.dll_GetShortPathNameW]
mov edx, dword [ebp - 0x8a84]
sub esp, 0xc
cmp word [ebp - 0x8a34], 0
je 0x402be8
mov ecx, edi
nop
add ecx, 2
cmp word [ecx], 0
jne 0x402170
xor eax, eax
lea esi, [esi]
nop
movzx edi, word [esi + eax]
mov word [ecx + eax], di
add eax, 2
test di, di
jne 0x402180
mov eax, dword [ebp - 0x8a7c]
movzx esi, word [ebp - 0x400c]
movzx ecx, word [eax + 2]
jmp 0x401c14
mov ecx, dword [ebp - 0x8a84]
movzx esi, word [ebp - 0x400c]
test ecx, ecx
je 0x402595
test si, si
je 0x4021f5
mov ecx, dword [ebp - 0x8a78]
lea esi, [esi]
lea esi, [esi]
add ecx, 2
cmp word [ecx], 0
jne 0x4021d0
xor eax, eax
mov esi, 0x20
jmp 0x4021e9
movzx esi, word [eax + 0x4270a8]
mov word [ecx + eax], si
add eax, 2
test si, si
jne 0x4021e2
lea edi, [ebp - 0x8214]
lea eax, [ebp - 0x8a44]
mov dword [ebp - 0x8a88], edx
mov dword [ebp - 0x8a90], edi
lea esi, [ebp - 0x882c]
mov dword [esp + 4], edi
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_FileTimeToSystemTime]
sub esp, 8
mov dword [esp + 0x14], 0x104
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 0
mov dword [esp + 8], edi
mov dword [esp + 4], 1
mov dword [esp], 0x400
call dword [sym.imp.kernel32.dll_GetDateFormatW]
mov ecx, esi
mov edx, dword [ebp - 0x8a88]
sub esp, 0x18
cmp word [ebp - 0x882c], 0
je 0x40226e
add ecx, 2
cmp word [ecx], 0
jne 0x402265
xor eax, eax
mov edi, 0x20
jmp 0x402287
movzx edi, word [eax + 0x4270a8]
mov word [ecx + eax], di
add eax, 2
test di, di
jne 0x402280
cmp word [ebp - 0x882c], 0
je 0x402c3b
mov eax, esi
add eax, 2
cmp word [eax], 0
jne 0x4022a3
mov edi, eax
mov ecx, 0x104
sub edi, esi
sar edi, 1
sub ecx, edi
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x8a90]
mov dword [ebp - 0x8a88], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
mov dword [esp + 4], 2
mov dword [esp], 0x400
call dword [sym.imp.kernel32.dll_GetTimeFormatW]
mov ecx, dword [ebp - 0x8a78]
mov edx, dword [ebp - 0x8a88]
sub esp, 0x18
cmp word [ebp - 0x400c], 0
je 0x402319
lea esi, [esi]
nop
add ecx, 2
cmp word [ecx], 0
jne 0x402310
xor eax, eax
lea esi, [esi]
nop
movzx edi, word [esi + eax]
mov word [ecx + eax], di
add eax, 2
test di, di
jne 0x402320
mov eax, dword [ebp - 0x8a7c]
movzx esi, word [ebp - 0x400c]
movzx eax, word [eax + 2]
mov dword [ebp - 0x8a88], 1
mov ecx, eax
jmp 0x401bcc
lea eax, [ebp - 0x8a58]
mov dword [ebp - 0x8a78], edx
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x8a8c]
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_GetFileAttributesExW]
mov edx, dword [ebp - 0x8a78]
sub esp, 0xc
mov dword [ebp - 0x8a84], eax
cmp edx, dword [ebp - 0x8a74]
jbe 0x402ba0
mov eax, dword [ebp - 0x8a7c]
cmp word [eax + 2], 0x61
jne 0x401b5b
mov eax, dword [ebp - 0x8a84]
test eax, eax
je 0x402660
xor eax, eax
mov ecx, 0x2d
lea esi, [ebp - 0x882c]
jmp 0x4023c9
movzx ecx, word [eax + str._________]
mov word [esi + eax], cx
add eax, 2
test cx, cx
jne 0x4023c2
mov eax, dword [ebp - 0x8a58]
test al, 0x10
jne 0x402733
movzx edi, word [ebp - 0x882c]
test al, 1
je 0x4023fa
mov ecx, 0x72
mov word [ebp - 0x882a], cx
test al, 0x20
je 0x40240a
mov ecx, 0x61
mov word [ebp - 0x8828], cx
test al, 2
je 0x40241a
mov ecx, 0x68
mov word [ebp - 0x8826], cx
test al, 4
je 0x40242a
mov ecx, 0x73
mov word [ebp - 0x8824], cx
test ah, 8
je 0x40243b
mov ecx, 0x63
mov word [ebp - 0x8822], cx
test ah, 4
je 0x40244c
mov eax, 0x6c
mov word [ebp - 0x881c], ax
lea eax, [ebp - 0x400c]
cmp word [ebp - 0x400c], 0
mov dword [ebp - 0x8a78], eax
mov ecx, eax
je 0x40246d
add ecx, 2
cmp word [ecx], 0
jne 0x402464
xor eax, eax
jmp 0x402475
movzx edi, word [esi + eax]
mov word [ecx + eax], di
add eax, 2
test di, di
jne 0x402471
mov dword [ebp - 0x8a88], 1
jmp 0x401b8a
mov edi, dword [ebp - 0x8a84]
test edi, edi
jne 0x4025b0
mov dword [ebp - 0x8a88], 1
jmp 0x401bf1
mov eax, dword [ebp - 0x8a74]
cmp edx, eax
jbe 0x402b53
mov esi, dword [ebp - 0x8a7c]
movzx ecx, word [esi + 2]
cmp cx, 0x7e
je 0x4024e1
lea esi, [esi]
nop
add eax, 2
cmp edx, eax
jbe 0x401acf
cmp word [eax], 0x7e
jne 0x4024d0
mov eax, dword [ebp - 0x8a80]
lea esi, [esi]
nop
add eax, 2
cmp word [eax], 0
jne 0x4024f0
sub eax, dword [ebp - 0x8a80]
sar eax, 1
lea ecx, [eax - 1]
cmp word [ebp + ecx*2 - 0x800c], 0x22
jne 0x40251b
xor eax, eax
mov word [ebp + ecx*2 - 0x800c], ax
mov eax, ecx
lea eax, [eax + eax - 1]
mov dword [ebp - 0x8a78], edx
mov dword [esp + 8], eax
lea eax, [ebp - 0x800a]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x8a80]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_memmove]
mov eax, dword [ebp - 0x8a7c]
mov edx, dword [ebp - 0x8a78]
movzx ecx, word [eax + 2]
jmp 0x401acf
lea edx, [eax - 0x41]
sub eax, 0x27
cmp dx, 0x1a
mov edx, 0xffffffff
cmovae eax, edx
jmp 0x401a7d
mov edx, dword [ebp - 0x8a78]
mov esi, dword [ebp - 0x8a8c]
xor eax, eax
lea esi, [esi]
movzx ecx, word [esi + eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x402580
jmp 0x401fce
mov ecx, eax
cmp ax, 0x7a
je 0x402c27
mov dword [ebp - 0x8a88], 1
jmp 0x401bd6
mov edi, dword [ebp - 0x8a38]
test si, si
je 0x4025e6
mov ecx, dword [ebp - 0x8a78]
add ecx, 2
cmp word [ecx], 0
jne 0x4025c1
xor eax, eax
mov esi, 0x20
jmp 0x4025da
movzx esi, word [eax + 0x4270a8]
mov word [ecx + eax], si
add eax, 2
test si, si
jne 0x4025d3
lea esi, [ebp - 0x882c]
mov dword [ebp - 0x8a84], edx
mov dword [esp + 8], edi
mov dword [esp + 4], 0x4270ac
mov dword [esp], esi
call dword [sym.imp.user32.dll_wsprintfW]
cmp word [ebp - 0x400c], 0
mov ecx, dword [ebp - 0x8a78]
mov edx, dword [ebp - 0x8a84]
je 0x402629
lea esi, [esi]
add ecx, 2
cmp word [ecx], 0
jne 0x402620
xor eax, eax
lea esi, [esi]
nop
movzx edi, word [esi + eax]
mov word [ecx + eax], di
add eax, 2
test di, di
jne 0x402630
mov eax, dword [ebp - 0x8a7c]
movzx esi, word [ebp - 0x400c]
mov dword [ebp - 0x8a88], 1
movzx ecx, word [eax + 2]
jmp 0x401bf1
cmp edx, dword [ebp - 0x8a74]
jbe 0x402c47
mov eax, dword [ebp - 0x8a7c]
lea esi, [ebp - 0x400c]
mov dword [ebp - 0x8a88], 1
mov dword [ebp - 0x8a78], esi
movzx esi, word [ebp - 0x400c]
movzx eax, word [eax + 2]
mov ecx, eax
cmp ax, 0x74
jne 0x401bac
jmp 0x402341
lea edi, [ebp - 0x800c]
mov eax, dword [0x42f344]
mov dword [ebp - 0x8a80], edi
mov ecx, dword [eax + 8]
xor eax, eax
lea esi, [esi]
movzx edx, word [ecx + eax]
mov word [edi + eax], dx
add eax, 2
test dx, dx
jne 0x4026c0
jmp 0x401aa2
lea eax, [ecx + ecx]
mov dword [ebp - 0x8a88], edx
mov dword [ebp - 0x8a84], ecx
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_malloc]
mov dword [ebp - 0x8a78], eax
test eax, eax
je 0x401fb0
mov ecx, dword [ebp - 0x8a84]
mov dword [esp + 4], eax
mov dword [esp], esi
mov dword [esp + 8], ecx
call edi
mov edx, dword [ebp - 0x8a88]
sub esp, 0xc
test eax, eax
jne 0x402a64
mov eax, dword [ebp - 0x8a78]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_free]
jmp 0x401fb0
mov edi, 0x64
mov word [ebp - 0x882c], di
mov edi, 0x64
jmp 0x4023ea
movzx eax, word [ebp - 0x400c]
test si, si
je 0x40278c
mov ecx, dword [ebp - 0x8a78]
test ax, ax
je 0x402769
add ecx, 2
cmp word [ecx], 0
jne 0x402760
xor eax, eax
mov esi, 0x20
jmp 0x402779
movzx esi, word [eax + 0x4270a8]
mov word [ecx + eax], si
add eax, 2
test si, si
jne 0x402772
movzx eax, word [ebp - 0x400c]
mov ecx, dword [ebp - 0x8a78]
test ax, ax
je 0x4027a0
add ecx, 2
cmp word [ecx], 0
jne 0x402797
xor eax, eax
movzx esi, word [ebp + eax - 0x8a6c]
mov word [ecx + eax], si
add eax, 2
test si, si
jne 0x4027a2
mov eax, dword [ebp - 0x8a7c]
mov esi, 1
mov dword [ebp - 0x8a84], 0
mov dword [ebp - 0x8a88], 1
movzx ecx, word [eax + 2]
cmp cx, 0x70
je 0x402925
mov eax, dword [ebp - 0x8a74]
jmp 0x4027fa
cmp word [eax], 0x70
je 0x402925
add eax, 2
cmp edx, eax
ja 0x4027f0
cmp cx, 0x6e
jne 0x4029c4
mov esi, dword [ebp - 0x8a84]
movzx eax, word [ebp - 0x400c]
test esi, esi
je 0x402853
mov ecx, dword [ebp - 0x8a78]
test ax, ax
je 0x402830
add ecx, 2
cmp word [ecx], 0
jne 0x402827
xor eax, eax
mov esi, 0x20
jmp 0x402840
movzx esi, word [eax + 0x4270a8]
mov word [ecx + eax], si
add eax, 2
test si, si
jne 0x402839
movzx eax, word [ebp - 0x400c]
mov ecx, dword [ebp - 0x8a78]
test ax, ax
je 0x402867
add ecx, 2
cmp word [ecx], 0
jne 0x40285e
xor eax, eax
movzx esi, word [edi + eax]
mov word [ecx + eax], si
add eax, 2
test si, si
jne 0x402869
mov eax, dword [ebp - 0x8a7c]
movzx ecx, word [eax + 2]
cmp cx, 0x78
je 0x402a2c
mov dword [ebp - 0x8a88], 1
mov esi, 1
mov dword [ebp - 0x8a84], 0
mov eax, dword [ebp - 0x8a74]
jmp 0x4028ba
cmp word [eax], 0x78
je 0x4029eb
add eax, 2
cmp edx, eax
ja 0x4028b0
test esi, esi
jne 0x4028f1
mov eax, dword [ebp - 0x8a74]
cmp cx, 0x73
jne 0x4028ea
jmp 0x402ae0
cmp word [eax], 0x73
je 0x402ae0
add eax, 2
cmp edx, eax
ja 0x4028e0
mov eax, dword [ebp - 0x8a88]
test eax, eax
jne 0x401fce
mov ecx, dword [ebp - 0x8a78]
mov esi, dword [ebp - 0x8a80]
xor eax, eax
lea esi, [esi]
movzx edx, word [esi + eax]
mov word [ecx + eax], dx
add eax, 2
test dx, dx
jne 0x402910
jmp 0x401fce
mov ecx, dword [ebp - 0x8a84]
movzx eax, word [ebp - 0x400c]
test ecx, ecx
je 0x40296d
mov ecx, dword [ebp - 0x8a78]
test ax, ax
je 0x40294a
add ecx, 2
cmp word [ecx], 0
jne 0x402941
xor eax, eax
mov esi, 0x20
jmp 0x40295a
movzx esi, word [eax + 0x4270a8]
mov word [ecx + eax], si
add eax, 2
test si, si
jne 0x402953
movzx eax, word [ebp - 0x400c]
mov ecx, dword [ebp - 0x8a78]
test ax, ax
je 0x402981
add ecx, 2
cmp word [ecx], 0
jne 0x402978
xor eax, eax
movzx esi, word [ebp + eax - 0x8624]
mov word [ecx + eax], si
add eax, 2
test si, si
jne 0x402983
mov eax, dword [ebp - 0x8a7c]
movzx ecx, word [eax + 2]
cmp cx, 0x6e
je 0x40284c
mov dword [ebp - 0x8a88], 1
mov esi, 1
mov dword [ebp - 0x8a84], 0
mov eax, dword [ebp - 0x8a74]
jmp 0x4029da
cmp word [eax], 0x6e
je 0x40280b
add eax, 2
cmp edx, eax
ja 0x4029d0
cmp cx, 0x78
jne 0x4028a6
mov edi, dword [ebp - 0x8a84]
movzx eax, word [ebp - 0x400c]
test edi, edi
je 0x402a33
mov edx, dword [ebp - 0x8a78]
test ax, ax
je 0x402a10
add edx, 2
cmp word [edx], 0
jne 0x402a07
xor eax, eax
mov ecx, 0x20
jmp 0x402a20
movzx ecx, word [eax + 0x4270a8]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x402a19
movzx eax, word [ebp - 0x400c]
mov edx, dword [ebp - 0x8a78]
test ax, ax
je 0x402a47
add edx, 2
cmp word [edx], 0
jne 0x402a3e
mov esi, dword [ebp - 0x8a90]
xor eax, eax
movzx ecx, word [esi + eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x402a4f
jmp 0x401fce
mov eax, dword [ebp - 0x8a80]
mov esi, dword [ebp - 0x8a78]
mov dword [ebp - 0x8a84], edx
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x104
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov dword [esp], esi
call dword [sym.imp.kernel32.dll_SearchPathW]
mov edx, dword [ebp - 0x8a84]
sub esp, 0x18
test eax, eax
jne 0x402ac0
mov dword [esp], esi
call dword [sym.imp.ucrtbase.dll_free]
jmp 0x401fb0
mov eax, dword [ebp - 0x8a78]
mov dword [ebp - 0x8a84], edx
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_free]
mov edx, dword [ebp - 0x8a84]
jmp 0x401af2
cmp word [ebp - 0x400c], 0
je 0x402bf3
mov edx, dword [ebp - 0x8a78]
add edx, 2
cmp word [edx], 0
jne 0x402af4
xor eax, eax
mov ecx, 0x20
jmp 0x402b0d
movzx ecx, word [eax + 0x4270a8]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x402b06
cmp word [ebp - 0x400c], 0
je 0x402bf3
mov edx, dword [ebp - 0x8a78]
add edx, 2
cmp word [edx], 0
jne 0x402b2d
mov esi, dword [ebp - 0x8a8c]
xor eax, eax
movzx ecx, word [esi + eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x402b3e
jmp 0x401fce
lea eax, [ebp - 0x8a70]
mov dword [esp + 4], 0x104
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x8a34]
mov dword [ebp - 0x8a8c], eax
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x8a80]
mov dword [ebp - 0x8a78], edx
mov dword [esp], eax
call sym._WCMD_get_fullpath
mov edx, dword [ebp - 0x8a78]
test eax, eax
jne 0x402352
mov word [ebp - 0x8a34], 0
lea eax, [ebp - 0x8214]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x841c]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x8624]
mov dword [esp + 8], eax
lea eax, [ebp - 0x8a6c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x8a8c]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll__wsplitpath]
lea eax, [ebp - 0x400c]
mov dword [ebp - 0x8a78], eax
jmp 0x4028ff
mov ecx, dword [ebp - 0x8a8c]
jmp 0x402179
mov edx, dword [ebp - 0x8a78]
jmp 0x402b36
mov dword [ebp - 0x8a88], 1
lea esi, [ebp - 0x400c]
mov dword [ebp - 0x8a78], esi
jmp 0x401bac
mov eax, dword [ebp - 0x8a84]
test eax, eax
jne 0x4025b0
mov dword [ebp - 0x8a88], 1
mov ecx, 0x7a
jmp 0x401bfb
mov ecx, 0x104
mov eax, esi
jmp 0x4022b9
mov dword [ebp - 0x8a88], 1
lea eax, [ebp - 0x400c]
mov dword [ebp - 0x8a78], eax
lea eax, [ebp - 0x8214]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x841c]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x8624]
mov dword [esp + 8], eax
lea eax, [ebp - 0x8a6c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x8a8c]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll__wsplitpath]
jmp 0x4028f1