Function at 0x401770
Capabilities:
Query environment variable

Disassembly:
push ebp
mov eax, 0x8abc
mov ebp, esp
push edi
push esi
push ebx
call fcn.00401050
sub esp, eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x8a7c], 0
mov eax, dword [eax]
add eax, 2
mov dword [ebp - 0x8a8c], eax
mov edi, eax
movzx ecx, word [edi]
lea ebx, [edi + 2]
mov eax, 0x438742
mov edx, 0x7e
jmp 0x4017b6
movzx edx, word [eax]
add eax, 2
cmp cx, dx
je 0x401b18
cmp eax, 0x438756
jne 0x4017b0
cmp edi, dword [ebp - 0x8a8c]
ja 0x4017e9
jmp 0x401838
sub eax, 0x61
mov edx, dword [eax*4 + 0x423200]
test edx, edx
jne 0x401838
sub edi, 2
cmp dword [ebp - 0x8a8c], edi
jae 0x401838
test byte [section..data], 8
jne 0x4019d0
mov ebx, dword [ebp + 0xc]
movzx eax, word [edi]
test ebx, ebx
jne 0x401813
mov ecx, dword [0x4231c8]
test ecx, ecx
je 0x401813
lea edx, [eax - 0x30]
cmp dx, 9
jbe 0x401838
lea edx, [eax - 0x61]
cmp dx, 0x19
jbe 0x4017d0
lea edx, [eax - 0x41]
cmp dx, 0x19
ja 0x4017de
sub eax, 0x27
mov edx, dword [eax*4 + 0x423200]
test edx, edx
je 0x4017de
lea esi, [esi]
nop
mov eax, dword [ebp - 0x8a8c]
cmp eax, edi
je 0x4019c4
mov ebx, edi
sub ebx, eax
xor eax, eax
mov word [ebp - 0x4018], ax
movzx eax, word [edi]
cmp ax, 0x30
jne 0x401865
cmp ebx, 2
jg 0x4022b0
lea edx, [eax - 0x30]
cmp dx, 9
jbe 0x401c2b
lea edx, [eax - 0x61]
cmp dx, 0x19
ja 0x4020b9
sub eax, 0x61
lea esi, [ebp - 0x8018]
mov ecx, dword [eax*4 + 0x423200]
xor eax, eax
mov dword [ebp - 0x8a94], esi
lea esi, [esi]
nop
movzx edx, word [ecx + eax]
mov word [esi + eax], dx
add eax, 2
test dx, dx
jne 0x4018a0
mov eax, dword [ebp - 0x8a8c]
cmp word [ebp - 0x8018], 0x22
lea ecx, [eax + ebx]
je 0x401e9f
cmp dword [ebp - 0x8a8c], ecx
jae 0x401cfc
mov eax, dword [ebp - 0x8a8c]
jmp 0x4018eb
add eax, 2
cmp eax, ecx
jae 0x401cfc
cmp word [eax], 0x24
jne 0x4018e0
mov esi, dword [ebp - 0x8a8c]
mov dword [ebp - 0x8a98], ecx
mov ebx, dword [sym.imp.ucrtbase.dll_wcschr]
mov dword [esp + 4], 0x24
mov dword [esp], esi
call ebx
mov dword [esp], esi
lea edx, [eax + 2]
mov dword [esp + 4], 0x3a
mov dword [ebp - 0x8a90], edx
call ebx
mov edx, dword [ebp - 0x8a90]
lea ebx, [ebp - 0x8220]
mov dword [esp], ebx
sub eax, edx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov esi, eax
sar esi, 1
call sym._memcpy
xor eax, eax
mov dword [esp + 8], 0
mov word [ebp + esi*2 - 0x8220], ax
mov esi, dword [sym.imp.kernel32.dll_GetEnvironmentVariableW]
mov dword [esp + 4], 0
mov dword [esp], ebx
call esi
mov ecx, dword [ebp - 0x8a98]
sub esp, 0xc
test eax, eax
mov edx, eax
jne 0x4022e5
xor eax, eax
mov word [ebp - 0x8018], ax
xor eax, eax
mov word [ebp - 0x4018], ax
lea eax, [ebp - 0x4018]
mov dword [ebp - 0x8a90], eax
mov eax, dword [ebp - 0x8a90]
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], eax
lea eax, [edi + 2]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [esp], eax
call sym._WCMD_strsubstW
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
test edi, edi
je 0x401c00
mov eax, edi
shr eax, 0x10
je 0x401bd8
mov dword [esp + 4], 0xffffffff
mov dword [esp], edi
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov edx, 0x43505f
sub esp, 8
test eax, eax
jne 0x401ae4
cmp word [edi], 0
je 0x401c0a
nop
mov edx, eax
lea eax, [eax + 1]
cmp word [edi + edx*2 + 2], 0
jne 0x401a10
mov ecx, 0x224c
mov dword [ebp - 0x8a90], edi
mov esi, edi
mov word [ebp - 0x4018], cx
lea ecx, [ebp - 0x4016]
jmp 0x401a73
cmp ax, 9
je 0x401b48
cmp ax, 0xa
jne 0x401b66
mov eax, 0x6e5c
add ecx, 2
mov word [ecx - 2], ax
lea eax, [edx - 1]
test edx, edx
jle 0x401ab0
lea ebx, [ebp - 0x3ef6]
cmp ecx, ebx
ja 0x401ab0
mov edx, eax
movzx eax, word [esi]
add esi, 2
cmp ax, 0xd
je 0x401b30
jbe 0x401a40
cmp ax, 0x22
je 0x401bc0
cmp ax, 0x5c
jne 0x401b59
mov edi, 0x5c5c
add ecx, 2
lea eax, [edx - 1]
mov word [ecx - 2], di
test edx, edx
jg 0x401a67
lea esi, [esi]
mov byte [ecx], 0x22
mov edi, dword [ebp - 0x8a90]
test eax, eax
jle 0x401c23
mov esi, 0x2e2e
mov byte [ecx + 3], 0x2e
lea eax, [ecx + 4]
mov word [ecx + 1], si
mov byte [eax], 0
lea eax, [ebp - 0x4018]
mov dword [esp], eax
call sym.___wine_dbg_strdup
mov edx, eax
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], str.Looking_backwards_for_parameter_id:__s_n
mov dword [esp + 8], str.WCMD_HandleTildeModifiers
mov dword [esp + 4], 0x423000
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0
jmp 0x4017f6
cmp cx, 0x24
je 0x401e5d
mov edi, ebx
jmp 0x40179c
mov eax, 0x725c
add ecx, 2
mov word [ecx - 2], ax
jmp 0x401a60
mov eax, 0x745c
add ecx, 2
mov word [ecx - 2], ax
jmp 0x401a60
lea edi, [eax - 0x20]
cmp di, 0x5e
jbe 0x401bf0
mov edi, eax
mov byte [ecx], 0x5c
add ecx, 5
shr di, 0xc
movzx edi, di
movzx ebx, byte [edi + str.0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdefC]
mov edi, eax
shr di, 8
and edi, 0xf
mov byte [ecx - 4], bl
movzx ebx, byte [edi + str.0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdefC]
mov edi, eax
and eax, 0xf
shr di, 4
movzx eax, byte [eax + str.0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdefC]
and edi, 0xf
mov byte [ecx - 3], bl
movzx ebx, byte [edi + str.0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdefC]
mov byte [ecx - 1], al
mov byte [ecx - 2], bl
jmp 0x401a60
mov eax, 0x225c
add ecx, 2
mov word [ecx - 2], ax
jmp 0x401a60
mov dword [esp + 4], edi
mov dword [esp], section..rdata
call sym._wine_dbg_sprintf.constprop.0
mov edx, eax
jmp 0x401ae4
mov byte [ecx], al
inc ecx
jmp 0x401a60
mov edx, 0x435058
jmp 0x401ae4
mov eax, 0x224c
mov byte [ebp - 0x4016], 0x22
lea ecx, [ebp - 0x4016]
mov word [ebp - 0x4018], ax
lea eax, [ecx + 1]
jmp 0x401ad1
mov edx, dword [0x4231c8]
sub eax, 0x30
mov dword [esp + 0x14], 0x43504c
lea esi, [ebp - 0x8018]
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 sym._WCMD_parameter_with_delims
mov dword [ebp - 0x8a94], esi
mov ecx, eax
xor eax, eax
lea esi, [esi]
lea esi, [esi]
movzx edx, word [ecx + eax]
mov word [esi + eax], dx
add eax, 2
test dx, dx
jne 0x401c80
jmp 0x4018b0
mov eax, dword [ebp - 0x8a94]
mov esi, dword [ebp - 0x8a90]
mov dword [ebp - 0x8a98], ecx
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 ecx, dword [ebp - 0x8a98]
sub esp, 0x18
test eax, eax
je 0x402677
mov eax, dword [ebp - 0x8a90]
mov dword [ebp - 0x8a98], ecx
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_free]
mov ecx, dword [ebp - 0x8a98]
lea eax, [ebp - 0x8a7c]
mov dword [esp + 4], 0x104
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x8a40]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x8a94]
mov dword [ebp - 0x8a90], ecx
mov dword [esp], eax
call sym._WCMD_get_fullpath
mov ecx, dword [ebp - 0x8a90]
test eax, eax
mov dword [ebp - 0x8a98], eax
jne 0x402343
xor eax, eax
mov word [ebp - 0x8a40], ax
mov eax, dword [ebp - 0x8a8c]
cmp eax, ecx
jb 0x401d6b
jmp 0x4027b5
add eax, 2
cmp eax, ecx
jae 0x401f2d
cmp word [eax], 0x61
jne 0x401d60
mov eax, dword [ebp - 0x8a98]
test eax, eax
je 0x402295
xor eax, eax
mov edx, 0x2d
lea ebx, [ebp - 0x8838]
jmp 0x401d97
movzx edx, word [eax + str._________]
mov word [ebx + eax], dx
add eax, 2
test dx, dx
jne 0x401d90
mov eax, dword [ebp - 0x8a64]
test al, 0x10
jne 0x402418
movzx esi, word [ebp - 0x8838]
test al, 1
je 0x401dc8
mov edx, 0x72
mov word [ebp - 0x8836], dx
test al, 0x20
je 0x401dd8
mov edx, 0x61
mov word [ebp - 0x8834], dx
test al, 2
je 0x401de8
mov edx, 0x68
mov word [ebp - 0x8832], dx
test al, 4
je 0x401df8
mov edx, 0x73
mov word [ebp - 0x8830], dx
test ah, 8
je 0x401e09
mov edx, 0x63
mov word [ebp - 0x882e], dx
test ah, 4
je 0x401e1a
mov eax, 0x6c
mov word [ebp - 0x8828], ax
lea eax, [ebp - 0x4018]
cmp word [ebp - 0x4018], 0
mov dword [ebp - 0x8a90], eax
mov edx, eax
je 0x401e41
lea esi, [esi]
add edx, 2
cmp word [edx], 0
jne 0x401e38
xor eax, eax
jmp 0x401e4c
movzx esi, word [ebx + eax]
mov word [edx + eax], si
add eax, 2
test si, si
jne 0x401e48
jmp 0x4022a1
movzx eax, word [edi + 2]
test ax, ax
je 0x4019c4
cmp ax, 0x3a
jne 0x401e81
jmp 0x401e8e
test ax, ax
je 0x4019c4
movzx eax, word [ebx + 2]
add ebx, 2
cmp ax, 0x3a
jne 0x401e78
test ax, ax
je 0x4019c4
lea edi, [ebx + 2]
jmp 0x40179c
mov eax, dword [ebp - 0x8a8c]
cmp eax, ecx
jb 0x401ebb
jmp 0x401cfc
add eax, 2
cmp eax, ecx
jae 0x4018d3
cmp word [eax], 0x7e
jne 0x401eb0
mov eax, dword [ebp - 0x8a94]
lea esi, [esi]
nop
add eax, 2
cmp word [eax], 0
jne 0x401ed0
sub eax, dword [ebp - 0x8a94]
sar eax, 1
cmp word [ebp + eax*2 - 0x801a], 0x22
lea edx, [eax - 1]
jne 0x401efb
xor eax, eax
mov word [ebp + edx*2 - 0x8018], ax
mov eax, edx
lea eax, [eax + eax - 1]
mov dword [ebp - 0x8a90], ecx
mov dword [esp + 8], eax
lea eax, [ebp - 0x8016]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x8a94]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_memmove]
mov ecx, dword [ebp - 0x8a90]
jmp 0x4018d3
mov dword [ebp - 0x8a9c], 0
lea eax, [ebp - 0x4018]
mov dword [ebp - 0x8a90], eax
mov eax, dword [ebp - 0x8a8c]
jmp 0x401f57
add eax, 2
cmp eax, ecx
jae 0x401f75
cmp word [eax], 0x74
jne 0x401f50
mov eax, dword [ebp - 0x8a98]
test eax, eax
jne 0x402145
mov dword [ebp - 0x8a9c], 1
mov eax, dword [ebp - 0x8a8c]
jmp 0x401f87
add eax, 2
cmp eax, ecx
jae 0x401fa5
cmp word [eax], 0x7a
jne 0x401f80
mov eax, dword [ebp - 0x8a98]
test eax, eax
jne 0x4020d0
mov dword [ebp - 0x8a9c], 1
mov eax, dword [ebp - 0x8a8c]
jmp 0x401fbb
add eax, 2
cmp eax, ecx
jae 0x402060
cmp word [eax], 0x73
jne 0x401fb0
cmp word [ebp - 0x4018], 0
jne 0x4023de
mov esi, dword [ebp - 0x8a7c]
test esi, esi
je 0x402060
xor eax, eax
lea ebx, [ebp - 0x8838]
lea esi, [esi]
movzx edx, word [esi + eax]
mov word [ebx + eax], dx
add eax, 2
test dx, dx
jne 0x401fe8
xor edx, edx
lea eax, [ebp - 0x8a40]
mov dword [ebp - 0x8a98], ecx
mov word [esi], dx
mov dword [esp + 8], 0x104
mov dword [esp + 4], eax
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_GetShortPathNameW]
mov ecx, dword [ebp - 0x8a98]
lea edx, [ebp - 0x8a40]
sub esp, 0xc
cmp word [ebp - 0x8a40], 0
je 0x402049
lea esi, [esi]
nop
add edx, 2
cmp word [edx], 0
jne 0x402040
xor eax, eax
lea esi, [esi]
nop
movzx esi, word [ebx + eax]
mov word [edx + eax], si
add eax, 2
test si, si
jne 0x402050
mov eax, dword [ebp - 0x8a8c]
jmp 0x40207b
add eax, 2
cmp eax, ecx
jae 0x40242e
cmp word [eax], 0x66
jne 0x402070
cmp word [ebp - 0x4018], 0
jne 0x40237e
mov edx, dword [ebp - 0x8a90]
xor eax, eax
lea esi, [esi]
nop
movzx ecx, word [ebp + eax - 0x8a40]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x4020a0
jmp 0x40199e
lea edx, [eax - 0x41]
sub eax, 0x27
cmp dx, 0x1a
mov edx, 0xffffffff
cmovae eax, edx
jmp 0x401882
cmp word [ebp - 0x4018], 0
mov esi, dword [ebp - 0x8a44]
jne 0x402617
lea ebx, [ebp - 0x8838]
mov dword [ebp - 0x8a98], ecx
mov dword [esp + 8], esi
mov dword [esp + 4], 0x4350ac
mov dword [esp], ebx
call dword [sym.imp.user32.dll_wsprintfW]
cmp word [ebp - 0x4018], 0
mov edx, dword [ebp - 0x8a90]
mov ecx, dword [ebp - 0x8a98]
je 0x402129
lea esi, [esi]
nop
add edx, 2
cmp word [edx], 0
jne 0x402120
xor eax, eax
lea esi, [esi]
nop
movzx esi, word [ebx + eax]
mov word [edx + eax], si
add eax, 2
test si, si
jne 0x402130
jmp 0x401f9b
cmp word [ebp - 0x4018], 0
jne 0x402647
lea esi, [ebp - 0x8220]
lea eax, [ebp - 0x8a50]
mov dword [ebp - 0x8a9c], ecx
mov dword [ebp - 0x8aa0], esi
lea ebx, [ebp - 0x8838]
mov dword [esp + 4], esi
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_FileTimeToSystemTime]
sub esp, 8
mov dword [esp + 0x14], 0x104
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], 0
mov dword [esp + 8], esi
mov dword [esp + 4], 1
mov dword [esp], 0x400
call dword [sym.imp.kernel32.dll_GetDateFormatW]
mov ecx, dword [ebp - 0x8a9c]
mov edx, ebx
sub esp, 0x18
cmp word [ebp - 0x8838], 0
je 0x4021d1
lea esi, [esi]
nop
add edx, 2
cmp word [edx], 0
jne 0x4021c8
xor eax, eax
mov esi, 0x20
jmp 0x4021e7
movzx esi, word [eax + 0x4350a8]
mov word [edx + eax], si
add eax, 2
test si, si
jne 0x4021e0
cmp word [ebp - 0x8838], 0
je 0x4027fa
mov eax, ebx
lea esi, [esi]
nop
add eax, 2
cmp word [eax], 0
jne 0x402208
mov esi, eax
mov edx, 0x104
sub esi, ebx
sar esi, 1
sub edx, esi
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x8aa0]
mov dword [ebp - 0x8a9c], ecx
mov dword [esp + 0x14], edx
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 edx, dword [ebp - 0x8a90]
mov ecx, dword [ebp - 0x8a9c]
sub esp, 0x18
cmp word [ebp - 0x4018], 0
je 0x402279
lea esi, [esi]
add edx, 2
cmp word [edx], 0
jne 0x402270
xor eax, eax
lea esi, [esi]
nop
movzx esi, word [ebx + eax]
mov word [edx + eax], si
add eax, 2
test si, si
jne 0x402280
jmp 0x401f6b
lea eax, [ebp - 0x4018]
mov dword [ebp - 0x8a90], eax
mov dword [ebp - 0x8a9c], 1
jmp 0x401f43
lea esi, [ebp - 0x8018]
mov eax, dword [0x4231c8]
mov dword [ebp - 0x8a94], esi
mov ecx, dword [eax + 8]
xor eax, eax
lea esi, [esi]
lea esi, [esi]
movzx edx, word [ecx + eax]
mov word [esi + eax], dx
add eax, 2
test dx, dx
jne 0x4022d0
jmp 0x4018b0
lea eax, [edx + edx]
mov dword [ebp - 0x8a9c], ecx
mov dword [ebp - 0x8a98], edx
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_malloc]
mov dword [ebp - 0x8a90], eax
test eax, eax
je 0x401980
mov edx, dword [ebp - 0x8a98]
mov dword [esp + 4], eax
mov dword [esp], ebx
mov dword [esp + 8], edx
call esi
mov ecx, dword [ebp - 0x8a9c]
sub esp, 0xc
test eax, eax
jne 0x401c95
mov eax, dword [ebp - 0x8a90]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_free]
jmp 0x401980
lea eax, [ebp - 0x8a64]
mov dword [ebp - 0x8a90], ecx
mov dword [esp + 8], eax
lea eax, [ebp - 0x8a40]
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_GetFileAttributesExW]
mov ecx, dword [ebp - 0x8a90]
mov dword [ebp - 0x8a98], eax
sub esp, 0xc
jmp 0x401d49
mov edx, dword [ebp - 0x8a90]
lea esi, [esi]
add edx, 2
cmp word [edx], 0
jne 0x402388
xor eax, eax
mov ecx, 0x20
jmp 0x4023a7
movzx ecx, word [eax + 0x4350a8]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x4023a0
cmp word [ebp - 0x4018], 0
je 0x40208f
mov edx, dword [ebp - 0x8a90]
lea esi, [esi]
nop
add edx, 2
cmp word [edx], 0
jne 0x4023d0
jmp 0x402095
mov edx, dword [ebp - 0x8a90]
lea esi, [esi]
add edx, 2
cmp word [edx], 0
jne 0x4023e8
xor eax, eax
mov ebx, 0x20
jmp 0x402407
movzx ebx, word [eax + 0x4350a8]
mov word [edx + eax], bx
add eax, 2
test bx, bx
jne 0x402400
jmp 0x401fcf
mov esi, 0x64
mov word [ebp - 0x8838], si
mov esi, 0x64
jmp 0x401db8
movzx edx, word [ebp - 0x4018]
lea eax, [ebp - 0x8220]
lea esi, [ebp - 0x8428]
mov dword [ebp - 0x8aa4], ecx
mov dword [ebp - 0x8aa0], eax
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x8630]
test dx, dx
mov dword [esp + 8], eax
lea eax, [ebp - 0x8a78]
setne bl
mov dword [esp + 4], eax
lea eax, [ebp - 0x8a40]
movzx ebx, bl
mov dword [ebp - 0x8a98], edx
mov dword [esp], eax
mov dword [esp + 0xc], esi
call dword [sym.imp.ucrtbase.dll__wsplitpath]
mov eax, dword [ebp - 0x8a8c]
mov edx, dword [ebp - 0x8a98]
mov ecx, dword [ebp - 0x8aa4]
jmp 0x4024ab
add eax, 2
cmp eax, ecx
jae 0x40276d
cmp word [eax], 0x64
jne 0x4024a0
test dx, dx
jne 0x402733
cmp word [ebp - 0x4018], 0
mov edx, dword [ebp - 0x8a90]
je 0x4024d3
add edx, 2
cmp word [edx], 0
jne 0x4024ca
xor eax, eax
movzx ebx, word [ebp + eax - 0x8a78]
mov word [edx + eax], bx
add eax, 2
test bx, bx
jne 0x4024d5
mov dword [ebp - 0x8a9c], 1
xor ebx, ebx
mov edx, 1
mov eax, dword [ebp - 0x8a8c]
jmp 0x40250f
add eax, 2
cmp eax, ecx
jae 0x40255d
cmp word [eax], 0x70
jne 0x402508
test ebx, ebx
jne 0x4026f9
cmp word [ebp - 0x4018], 0
mov edx, dword [ebp - 0x8a90]
je 0x402536
add edx, 2
cmp word [edx], 0
jne 0x40252d
xor eax, eax
movzx ebx, word [ebp + eax - 0x8630]
mov word [edx + eax], bx
add eax, 2
test bx, bx
jne 0x402538
mov dword [ebp - 0x8a9c], 1
xor ebx, ebx
mov edx, 1
mov eax, dword [ebp - 0x8a8c]
jmp 0x40256f
add eax, 2
cmp eax, ecx
jae 0x4025b9
cmp word [eax], 0x6e
jne 0x402568
test ebx, ebx
jne 0x4026bf
cmp word [ebp - 0x4018], 0
mov edx, dword [ebp - 0x8a90]
je 0x402596
add edx, 2
cmp word [edx], 0
jne 0x40258d
xor eax, eax
movzx ebx, word [esi + eax]
mov word [edx + eax], bx
add eax, 2
test bx, bx
jne 0x402598
mov dword [ebp - 0x8a9c], 1
xor ebx, ebx
mov edx, 1
mov eax, dword [ebp - 0x8a8c]
jmp 0x4025d3
add eax, 2
cmp eax, ecx
jae 0x402774
cmp word [eax], 0x78
jne 0x4025c8
test ebx, ebx
jne 0x402685
cmp word [ebp - 0x4018], 0
mov edx, dword [ebp - 0x8a90]
je 0x4025fa
add edx, 2
cmp word [edx], 0
jne 0x4025f1
mov ebx, dword [ebp - 0x8aa0]
xor eax, eax
movzx ecx, word [ebx + eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x402602
jmp 0x40199e
mov edx, dword [ebp - 0x8a90]
add edx, 2
cmp word [edx], 0
jne 0x40261d
xor eax, eax
mov ebx, 0x20
jmp 0x402636
movzx ebx, word [eax + 0x4350a8]
mov word [edx + eax], bx
add eax, 2
test bx, bx
jne 0x40262f
jmp 0x4020e4
mov edx, dword [ebp - 0x8a90]
add edx, 2
cmp word [edx], 0
jne 0x40264d
xor eax, eax
mov ebx, 0x20
jmp 0x402666
movzx ebx, word [eax + 0x4350a8]
mov word [edx + eax], bx
add eax, 2
test bx, bx
jne 0x40265f
jmp 0x402153
mov dword [esp], esi
call dword [sym.imp.ucrtbase.dll_free]
jmp 0x401980
cmp word [ebp - 0x4018], 0
mov edx, dword [ebp - 0x8a90]
je 0x40269e
add edx, 2
cmp word [edx], 0
jne 0x402695
xor eax, eax
mov ecx, 0x20
jmp 0x4026ae
movzx ecx, word [eax + 0x4350a8]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x4026a7
jmp 0x4025e1
cmp word [ebp - 0x4018], 0
mov edx, dword [ebp - 0x8a90]
je 0x4026d8
add edx, 2
cmp word [edx], 0
jne 0x4026cf
xor eax, eax
mov ebx, 0x20
jmp 0x4026e8
movzx ebx, word [eax + 0x4350a8]
mov word [edx + eax], bx
add eax, 2
test bx, bx
jne 0x4026e1
jmp 0x40257d
cmp word [ebp - 0x4018], 0
mov edx, dword [ebp - 0x8a90]
je 0x402712
add edx, 2
cmp word [edx], 0
jne 0x402709
xor eax, eax
mov ebx, 0x20
jmp 0x402722
movzx ebx, word [eax + 0x4350a8]
mov word [edx + eax], bx
add eax, 2
test bx, bx
jne 0x40271b
jmp 0x40251d
cmp word [ebp - 0x4018], 0
mov edx, dword [ebp - 0x8a90]
je 0x40274c
add edx, 2
cmp word [edx], 0
jne 0x402743
xor eax, eax
mov ebx, 0x20
jmp 0x40275c
movzx ebx, word [eax + 0x4350a8]
mov word [edx + eax], bx
add eax, 2
test bx, bx
jne 0x402755
jmp 0x4024ba
xor edx, edx
jmp 0x4024fa
test edx, edx
je 0x402806
mov eax, dword [ebp - 0x8a9c]
test eax, eax
jne 0x40199e
mov ecx, dword [ebp - 0x8a90]
mov ebx, dword [ebp - 0x8a94]
xor eax, eax
lea esi, [esi]
nop
movzx edx, word [ebx + eax]
mov word [ecx + eax], dx
add eax, 2
test dx, dx
jne 0x4027a0
jmp 0x40199e
lea eax, [ebp - 0x8220]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x8428]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x8630]
mov dword [esp + 8], eax
lea eax, [ebp - 0x8a78]
mov dword [esp + 4], eax
lea eax, [ebp - 0x8a40]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll__wsplitpath]
lea eax, [ebp - 0x4018]
mov dword [ebp - 0x8a90], eax
jmp 0x40278a
mov edx, 0x104
mov eax, ebx
jmp 0x40221e
mov eax, dword [ebp - 0x8a8c]
jmp 0x402819
add eax, 2
cmp eax, ecx
jae 0x40277c
cmp word [eax], 0x73
jne 0x40280e
cmp word [ebp - 0x4018], 0
jne 0x40284a
mov eax, dword [ebp - 0x8a90]
xor edx, edx
movzx ecx, word [ebp + edx - 0x8a40]
mov word [eax + edx], cx
add edx, 2
test cx, cx
jne 0x402831
jmp 0x40199e
mov edx, dword [ebp - 0x8a90]
add edx, 2
cmp word [edx], 0
jne 0x402850
xor eax, eax
mov ecx, 0x20
jmp 0x402869
movzx ecx, word [eax + 0x4350a8]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x402862
cmp word [ebp - 0x4018], 0
je 0x402829
mov eax, dword [ebp - 0x8a90]
add eax, 2
cmp word [eax], 0
jne 0x402885
jmp 0x40282f