Function at 0x40d700
Capabilities:
Get common file path
Query environment variable
Terminate process

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
push eax
mov eax, 0x8068
call fcn.00401050
xor ebx, ebx
sub esp, eax
mov edi, edx
mov eax, dword [esp + eax]
mov word [ebp - 0x801a], bx
mov dword [ebp - 0x802c], eax
mov dword [ebp - 0x801e], 0x3a0025
test byte [0x423030], 8
jne 0x40d990
mov eax, dword [ebp - 0x802c]
mov word [ebp - 0x801e], di
lea esi, [eax + 2]
lea eax, [ebp - 0x801e]
mov dword [esp + 4], eax
mov dword [esp], esi
call dword [sym.imp.ucrtbase.dll_wcspbrk]
mov ebx, eax
test eax, eax
je 0x40d940
movzx eax, word [eax]
cmp ax, 0x20
je 0x40d940
cmp ax, 0x3a
je 0x40df40
mov ecx, dword [ebp - 0x802c]
mov edx, ebx
sub edx, ecx
mov dword [esp + 4], ecx
lea eax, [edx + 2]
mov dword [ebp - 0x8030], edx
mov dword [esp + 8], eax
lea eax, [ebp - 0x8018]
mov dword [esp], eax
call sym._memcpy
mov edx, dword [ebp - 0x8030]
xor eax, eax
mov dword [esp + 4], 0x3a
sar edx, 1
mov word [ebp + edx*2 - 0x8016], ax
lea eax, [ebp - 0x8016]
mov dword [ebp - 0x8030], edx
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_wcschr]
xor edx, edx
test eax, eax
mov word [ebp - 0x8038], dx
mov edx, dword [ebp - 0x8030]
mov dword [ebp - 0x8034], eax
je 0x40d807
movzx ecx, word [eax + 2]
mov word [eax], di
mov word [ebp - 0x8038], cx
xor ecx, ecx
mov word [eax + 2], cx
cmp di, 0x21
jne 0x40d826
mov eax, 0x25
mov word [ebp - 0x8018], ax
mov eax, 0x25
mov word [ebp + edx*2 - 0x8018], ax
test byte [0x423030], 8
jne 0x40df08
cmp word [ebp - 0x8018], 0x25
je 0x40d9e0
lea eax, [ebp - 0x4018]
mov dword [esp + 8], 0x2000
mov dword [ebp - 0x8030], eax
mov dword [esp + 4], eax
lea eax, [ebp - 0x8018]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_ExpandEnvironmentStringsW]
sub esp, 0xc
mov edi, eax
lea esi, [esi]
test edi, edi
je 0x40d9d0
mov eax, dword [ebp - 0x8030]
mov dword [esp + 4], eax
lea eax, [ebp - 0x8018]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_lstrcmpiW]
sub esp, 8
test eax, eax
jne 0x40dbb0
mov eax, dword [ebp - 0x8034]
lea esi, [ebx + 2]
test eax, eax
je 0x40e1b0
movzx ecx, word [ebp - 0x8038]
mov edi, 0x3a
mov word [eax], di
mov word [eax + 2], cx
mov eax, dword [0x4231c8]
test eax, eax
je 0x40d933
cmp word [ebp - 0x8018], 0
lea eax, [ebp - 0x8018]
je 0x40e4ba
lea esi, [esi]
add eax, 2
cmp word [eax], 0
jne 0x40d8e0
lea ecx, [ebp - 0x8018]
sub eax, ecx
sar eax, 1
dec eax
xor ebx, ebx
lea ecx, [ebp - 0x8016]
cmp dword [ebp - 0x8034], ecx
mov dword [esp + 0xc], 0xffffffff
mov word [ebp + eax*2 - 0x8018], bx
mov eax, dword [ebp - 0x8034]
je 0x40d91d
add eax, 2
mov dword [esp + 4], esi
mov esi, dword [ebp - 0x802c]
mov dword [esp + 8], eax
mov dword [esp], esi
call sym._WCMD_strsubstW
lea esp, [ebp - 0xc]
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret
mov ecx, dword [0x4231c8]
test ecx, ecx
je 0x40d933
mov eax, dword [ebp - 0x802c]
cmp word [eax + 2], 0
je 0x40e200
mov eax, esi
lea esi, [esi]
add eax, 2
cmp word [eax], 0
jne 0x40d960
sub eax, esi
add eax, 2
mov dword [esp + 4], esi
mov esi, dword [ebp - 0x802c]
mov dword [esp + 8], eax
mov dword [esp], esi
call dword [sym.imp.ucrtbase.dll_memmove]
lea esp, [ebp - 0xc]
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret
call sym._wine_dbgstr_wn.constprop.0_2
movzx edx, di
mov dword [esp + 0xc], str.Expanding:__s___c__n
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.WCMD_expand_envvar
mov dword [esp + 4], 0x423030
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_3
jmp 0x40d73e
lea esp, [ebp - 0xc]
lea esi, [ebx + 2]
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret
lea eax, [ebp - 0x8018]
lea esi, [esi]
lea esi, [esi]
add eax, 2
cmp word [eax], 0
jne 0x40d9f0
lea ecx, [ebp - 0x8018]
sub eax, ecx
cmp eax, 2
jle 0x40da15
cmp word [ebp + eax - 0x801a], 0x25
je 0x40df60
lea eax, [ebp - 0x8018]
lea esi, [esi]
nop
add eax, 2
cmp word [eax], 0
jne 0x40da20
lea ecx, [ebp - 0x8018]
sub eax, ecx
cmp eax, 2
jle 0x40da45
cmp word [ebp + eax - 0x801a], 0x25
je 0x40e20a
lea eax, [ebp - 0x8018]
lea esi, [esi]
nop
add eax, 2
cmp word [eax], 0
jne 0x40da50
lea ecx, [ebp - 0x8018]
sub eax, ecx
cmp eax, 2
jle 0x40da75
cmp word [ebp + eax - 0x801a], 0x25
je 0x40e292
lea eax, [ebp - 0x8018]
lea esi, [esi]
nop
add eax, 2
cmp word [eax], 0
jne 0x40da80
lea ecx, [ebp - 0x8018]
sub eax, ecx
cmp eax, 2
jle 0x40daa5
cmp word [ebp + eax - 0x801a], 0x25
je 0x40e4db
lea eax, [ebp - 0x8018]
lea esi, [esi]
nop
add eax, 2
cmp word [eax], 0
jne 0x40dab0
lea ecx, [ebp - 0x8018]
sub eax, ecx
cmp eax, 2
jle 0x40d841
cmp word [ebp + eax - 0x801a], 0x25
jne 0x40d841
sar eax, 1
mov dword [esp + 0x14], 0xffffffff
sub eax, 2
mov dword [esp + 0x10], 0x437234
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x8016]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x1001
mov dword [esp], 0x400
call dword [sym.imp.kernel32.dll_CompareStringW]
sub esp, 0x18
cmp eax, 2
jne 0x40d841
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x437234
call dword [sym.imp.kernel32.dll_GetEnvironmentVariableW]
sub esp, 0xc
test eax, eax
jne 0x40d841
call dword [sym.imp.ucrtbase.dll_rand]
mov dword [esp + 4], 0x437214
cdq
shr edx, 0x11
add eax, edx
and eax, 0x7fff
sub eax, edx
mov dword [esp + 8], eax
lea eax, [ebp - 0x4018]
mov dword [ebp - 0x8030], eax
mov edi, eax
mov dword [esp], eax
call dword [sym.imp.user32.dll_wsprintfW]
cmp word [ebp - 0x4018], 0
je 0x40d9d0
lea esi, [esi]
add edi, 2
cmp word [edi], 0
jne 0x40db90
lea esi, [esi]
sub edi, dword [ebp - 0x8030]
sar edi, 1
jmp 0x40d870
mov ecx, dword [ebp - 0x8034]
test ecx, ecx
je 0x40e304
mov eax, dword [ebp - 0x8034]
movzx ecx, word [ebp - 0x8038]
mov edx, 0x3a
mov word [eax], dx
mov word [eax + 2], cx
cmp cx, 0x7e
je 0x40e0d8
mov eax, dword [ebp - 0x8034]
mov dword [esp + 4], 0x437242
mov dword [esp], eax
mov eax, dword [sym.imp.ucrtbase.dll_wcsstr]
mov dword [ebp - 0x8048], eax
call eax
mov edi, eax
test eax, eax
je 0x40d933
cmp word [ebx + 2], 0
lea esi, [ebx + 2]
je 0x40e538
mov ebx, esi
lea esi, [esi]
add ebx, 2
cmp word [ebx], 0
jne 0x40dc20
sub ebx, esi
add ebx, 2
mov eax, dword [sym.imp.ucrtbase.dll_malloc]
mov dword [esp], ebx
mov dword [ebp - 0x8038], eax
call eax
mov dword [ebp - 0x804c], eax
test eax, eax
je 0x40e6ef
mov eax, dword [ebp - 0x804c]
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], eax
call sym._memcpy
cmp word [ebp - 0x8018], 0
je 0x40e582
lea eax, [ebp - 0x8018]
lea esi, [esi]
lea esi, [esi]
add eax, 2
cmp word [eax], 0
jne 0x40dc80
lea esi, [ebp - 0x8018]
sub eax, esi
sar eax, 1
dec eax
xor edx, edx
xor ecx, ecx
mov word [ebp + eax*2 - 0x8018], dx
mov word [edi], cx
cmp word [ebp - 0x4018], 0
je 0x40e553
mov eax, dword [ebp - 0x8030]
lea esi, [esi]
nop
add eax, 2
cmp word [eax], 0
jne 0x40dcc0
sub eax, dword [ebp - 0x8030]
lea ebx, [eax + 2]
mov eax, dword [ebp - 0x8038]
mov dword [esp], ebx
call eax
mov dword [ebp - 0x8044], eax
test eax, eax
je 0x40e6ef
mov esi, dword [ebp - 0x8030]
mov eax, dword [ebp - 0x8044]
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], eax
call sym._memcpy
mov eax, esi
lea esi, [esi]
add eax, 2
cmp word [eax], 0
jne 0x40dd10
sub eax, dword [ebp - 0x8030]
sar eax, 1
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x8044]
mov dword [esp], eax
mov eax, dword [sym.imp.user32.dll_CharUpperBuffW]
mov dword [ebp - 0x803c], eax
call eax
mov eax, dword [ebp - 0x8034]
sub esp, 8
cmp word [eax + 2], 0
lea esi, [eax + 2]
je 0x40e549
mov ebx, esi
lea esi, [esi]
add ebx, 2
cmp word [ebx], 0
jne 0x40dd58
sub ebx, esi
add ebx, 2
mov dword [esp], ebx
mov eax, dword [ebp - 0x8038]
call eax
mov dword [ebp - 0x8038], eax
test eax, eax
je 0x40e6ef
mov eax, dword [ebp - 0x8038]
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], eax
call sym._memcpy
mov eax, dword [ebp - 0x8034]
cmp word [eax + 2], 0
je 0x40e542
mov eax, esi
lea esi, [esi]
nop
add eax, 2
cmp word [eax], 0
jne 0x40ddb0
sub eax, esi
sar eax, 1
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x8038]
lea esi, [edi + 2]
mov dword [ebp - 0x8040], esi
mov dword [esp], eax
mov eax, dword [ebp - 0x803c]
call eax
mov eax, dword [ebp - 0x8034]
sub esp, 8
cmp word [eax + 2], 0x2a
je 0x40e31e
mov eax, dword [ebp - 0x802c]
xor esi, esi
mov ebx, dword [ebp - 0x8044]
mov word [eax], si
mov esi, eax
lea esi, [esi]
mov eax, dword [ebp - 0x8038]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x8048]
call eax
mov ecx, eax
mov dword [ebp - 0x8034], eax
mov eax, ebx
sub eax, dword [ebp - 0x8044]
add eax, dword [ebp - 0x8030]
test ecx, ecx
je 0x40e040
mov ecx, dword [ebp - 0x8034]
sub ecx, ebx
mov edx, ecx
mov dword [ebp - 0x803c], ecx
mov ecx, esi
sar edx, 1
inc edx
cmp edx, 1
ja 0x40de70
jmp 0x40e02e
dec edx
add ecx, 2
add eax, 2
mov word [ecx - 2], bx
cmp edx, 1
je 0x40de78
movzx ebx, word [eax]
test bx, bx
jne 0x40de60
xor ebx, ebx
mov word [ecx], bx
add esi, dword [ebp - 0x803c]
cmp word [esi], 0
mov edx, esi
je 0x40de99
lea esi, [esi]
nop
add edx, 2
cmp word [edx], 0
jne 0x40de90
xor eax, eax
lea esi, [esi]
nop
movzx ecx, word [edi + eax + 2]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x40dea0
cmp word [edi + 2], 0
je 0x40ded1
mov eax, dword [ebp - 0x8040]
nop
add eax, 2
cmp word [eax], 0
jne 0x40dec0
sub eax, dword [ebp - 0x8040]
add esi, eax
mov ebx, dword [ebp - 0x8038]
cmp word [ebx], 0
je 0x40e1f0
lea esi, [esi]
add ebx, 2
cmp word [ebx], 0
jne 0x40dee8
sub ebx, dword [ebp - 0x8038]
add ebx, dword [ebp - 0x8034]
jmp 0x40de08
lea eax, [ebp - 0x8018]
call sym._wine_dbgstr_wn.constprop.0_2
mov dword [esp + 0xc], str.Retrieving_contents_of__s_n
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.WCMD_expand_envvar
mov dword [esp + 4], 0x423030
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_3
jmp 0x40d833
movzx eax, di
mov dword [esp + 4], eax
lea eax, [ebx + 2]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_wcschr]
test eax, eax
cmovne ebx, eax
jmp 0x40d782
sar eax, 1
mov dword [esp + 0x14], 0xffffffff
sub eax, 2
mov dword [esp + 0x10], str.ERRORLEVEL
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x8016]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x1001
mov dword [esp], 0x400
call dword [sym.imp.kernel32.dll_CompareStringW]
sub esp, 0x18
cmp eax, 2
je 0x40dfb8
cmp word [ebp - 0x8018], 0x25
je 0x40da15
jmp 0x40d841
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], str.ERRORLEVEL
call dword [sym.imp.kernel32.dll_GetEnvironmentVariableW]
sub esp, 0xc
test eax, eax
jne 0x40dfa0
mov eax, dword [0x4231f0]
mov dword [esp + 4], 0x437214
mov dword [esp + 8], eax
lea eax, [ebp - 0x4018]
mov dword [ebp - 0x8030], eax
mov edi, eax
mov dword [esp], eax
call dword [sym.imp.user32.dll_wsprintfW]
cmp word [ebp - 0x4018], 0
je 0x40d9d0
lea esi, [esi]
add edi, 2
cmp word [edi], 0
jne 0x40e018
sub edi, dword [ebp - 0x8030]
sar edi, 1
jmp 0x40d870
test edx, edx
je 0x40de7d
jmp 0x40de78
cmp word [esi], 0
mov ecx, esi
je 0x40e059
lea esi, [esi]
nop
add ecx, 2
cmp word [ecx], 0
jne 0x40e050
xor edx, edx
lea esi, [esi]
nop
movzx ebx, word [eax + edx]
mov word [ecx + edx], bx
add edx, 2
test bx, bx
jne 0x40e060
jmp 0x40e07b
add esi, 2
cmp word [esi], 0
jne 0x40e078
mov ecx, dword [ebp - 0x804c]
xor eax, eax
lea esi, [esi]
movzx edx, word [ecx + eax]
mov word [esi + eax], dx
add eax, 2
test dx, dx
jne 0x40e090
mov eax, dword [ebp - 0x804c]
mov ebx, dword [sym.imp.ucrtbase.dll_free]
mov dword [esp], eax
call ebx
mov eax, dword [ebp - 0x8044]
mov dword [esp], eax
call ebx
mov eax, dword [ebp - 0x8038]
mov dword [esp], eax
call ebx
mov esi, dword [ebp - 0x802c]
jmp 0x40d933
mov esi, eax
mov dword [esp + 4], 0x2c
add esi, 4
mov dword [esp], esi
call dword [sym.imp.ucrtbase.dll_wcschr]
mov ecx, dword [sym.imp.ucrtbase.dll_wcstol]
mov dword [esp], esi
mov dword [ebp - 0x8038], eax
mov dword [ebp - 0x8034], ecx
mov dword [esp + 8], 0xa
mov dword [esp + 4], 0
call ecx
mov edx, dword [ebp - 0x8038]
mov ecx, dword [ebp - 0x8034]
mov esi, eax
test edx, edx
je 0x40e268
add edx, 2
mov dword [esp + 8], 0xa
mov dword [esp + 4], 0
mov dword [esp], edx
call ecx
mov ecx, eax
lea eax, [edi - 1]
mov dword [ebp - 0x8034], eax
test esi, esi
js 0x40e49e
cmp edi, esi
mov eax, dword [ebp - 0x8030]
cmovle esi, edi
lea edx, [eax + esi*2]
mov eax, edx
sub eax, dword [ebp - 0x8030]
add ebx, 2
sar eax, 1
neg eax
test ecx, ecx
jns 0x40e2f0
add ecx, dword [ebp - 0x8034]
add eax, ecx
cmp edi, eax
jl 0x40e191
test eax, eax
mov edi, 0
cmovns edi, eax
mov dword [esp + 0xc], edi
mov dword [esp + 8], edx
mov esi, dword [ebp - 0x802c]
mov dword [esp + 4], ebx
mov dword [esp], esi
call sym._WCMD_strsubstW
jmp 0x40d933
mov ecx, dword [0x4231c8]
test ecx, ecx
je 0x40d933
cmp dword [ebp - 0x802c], esi
je 0x40d933
cmp word [ebx + 2], 0
je 0x40e200
mov eax, esi
lea esi, [esi]
nop
add eax, 2
cmp word [eax], 0
jne 0x40e1d8
jmp 0x40d969
mov ebx, dword [ebp - 0x8034]
jmp 0x40de08
mov eax, 2
jmp 0x40d96e
sar eax, 1
mov dword [esp + 0x14], 0xffffffff
sub eax, 2
mov dword [esp + 0x10], 0x43721a
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x8016]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x1001
mov dword [esp], 0x400
call dword [sym.imp.kernel32.dll_CompareStringW]
sub esp, 0x18
cmp eax, 2
je 0x40e40d
cmp word [ebp - 0x8018], 0x25
jne 0x40d841
jmp 0x40da45
test eax, eax
js 0x40e4c4
cmp edi, eax
mov eax, dword [ebp - 0x8030]
cmovle esi, edi
lea eax, [eax + esi*2]
mov dword [esp + 0xc], 0xffffffff
add ebx, 2
mov dword [esp + 8], eax
jmp 0x40e199
sar eax, 1
mov dword [esp + 0x14], 0xffffffff
sub eax, 2
mov dword [esp + 0x10], 0x437224
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x8016]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x1001
mov dword [esp], 0x400
call dword [sym.imp.kernel32.dll_CompareStringW]
sub esp, 0x18
cmp eax, 2
je 0x40e58c
cmp word [ebp - 0x8018], 0x25
jne 0x40d841
jmp 0x40da75
add eax, dword [ebp - 0x8034]
cmp eax, ecx
cmovg eax, ecx
mov dword [esp + 0xc], eax
jmp 0x40e195
mov eax, dword [ebp - 0x8030]
mov dword [esp + 0xc], 0xffffffff
add ebx, 2
mov dword [esp + 8], eax
jmp 0x40e199
mov eax, dword [ebp - 0x8038]
lea ebx, [eax + 2]
mov eax, dword [ebp - 0x8044]
mov dword [esp + 4], ebx
mov dword [esp], eax
mov eax, dword [ebp - 0x8048]
call eax
mov ecx, eax
xor eax, eax
test ecx, ecx
je 0x40e616
mov esi, dword [ebp - 0x802c]
nop
movzx edx, word [edi + eax + 2]
mov word [esi + eax], dx
add eax, 2
test dx, dx
jne 0x40e350
mov eax, dword [ebp - 0x8038]
sub ecx, dword [ebp - 0x8044]
cmp word [eax + 2], 0
mov eax, ebx
je 0x40e389
lea esi, [esi]
lea esi, [esi]
add eax, 2
cmp word [eax], 0
jne 0x40e380
sub eax, ebx
add eax, ecx
mov ecx, dword [ebp - 0x802c]
add eax, dword [ebp - 0x8030]
cmp word [ecx], 0
je 0x40e6d9
lea esi, [esi]
nop
add ecx, 2
cmp word [ecx], 0
jne 0x40e3a8
xor edx, edx
lea esi, [esi]
nop
movzx ebx, word [eax + edx]
mov word [ecx + edx], bx
add edx, 2
test bx, bx
jne 0x40e3b8
mov edx, dword [ebp - 0x802c]
cmp word [edx], 0
je 0x40e6ce
lea esi, [esi]
nop
add edx, 2
cmp word [edx], 0
jne 0x40e3e0
mov ebx, dword [ebp - 0x804c]
xor eax, eax
lea esi, [esi]
movzx ecx, word [ebx + eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x40e3f8
jmp 0x40e0a0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x43721a
call dword [sym.imp.kernel32.dll_GetEnvironmentVariableW]
sub esp, 0xc
test eax, eax
jne 0x40e24e
lea eax, [ebp - 0x4018]
mov dword [esp + 0x14], 0x2000
mov dword [ebp - 0x8030], eax
mov edi, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov dword [esp], 0x400
call dword [sym.imp.kernel32.dll_GetDateFormatW]
sub esp, 0x18
cmp word [ebp - 0x4018], 0
je 0x40d9d0
lea esi, [esi]
add edi, 2
cmp word [edi], 0
jne 0x40e488
sub edi, dword [ebp - 0x8030]
sar edi, 1
jmp 0x40d870
mov eax, 0
add esi, dword [ebp - 0x8034]
cmovs esi, eax
mov eax, dword [ebp - 0x8030]
lea edx, [eax + esi*2]
jmp 0x40e164
mov eax, 0xffffffff
jmp 0x40d8f4
lea eax, [edi + eax - 1]
mov esi, dword [ebp - 0x8030]
test eax, eax
cmovs eax, edx
lea eax, [esi + eax*2]
jmp 0x40e27e
sar eax, 1
mov dword [esp + 0x14], 0xffffffff
sub eax, 2
mov dword [esp + 0x10], 0x43722e
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x8016]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x1001
mov dword [esp], 0x400
call dword [sym.imp.kernel32.dll_CompareStringW]
sub esp, 0x18
cmp eax, 2
je 0x40e668
cmp word [ebp - 0x8018], 0x25
je 0x40daa5
jmp 0x40d841
mov ebx, 2
jmp 0x40dc2e
xor eax, eax
jmp 0x40ddbd
mov ebx, 2
jmp 0x40dd66
mov dword [esp], 2
mov eax, dword [ebp - 0x8038]
call eax
mov dword [ebp - 0x8044], eax
test eax, eax
je 0x40e6ef
mov eax, dword [ebp - 0x8044]
xor edx, edx
mov word [eax], dx
xor eax, eax
jmp 0x40dd21
mov eax, 0xffffffff
jmp 0x40dc94
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x437224
call dword [sym.imp.kernel32.dll_GetEnvironmentVariableW]
sub esp, 0xc
test eax, eax
jne 0x40e2d6
lea eax, [ebp - 0x4018]
mov dword [esp + 0x14], 0x2000
mov dword [ebp - 0x8030], eax
mov edi, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 2
mov dword [esp], 0x400
call dword [sym.imp.kernel32.dll_GetTimeFormatW]
sub esp, 0x18
cmp word [ebp - 0x4018], 0
je 0x40d9d0
lea esi, [esi]
add edi, 2
cmp word [edi], 0
jne 0x40e608
jmp 0x40dba0
mov ecx, dword [ebp - 0x802c]
mov ebx, dword [ebp - 0x8030]
movzx edx, word [ebx + eax]
mov word [ecx + eax], dx
add eax, 2
test dx, dx
jne 0x40e622
mov edx, dword [ebp - 0x802c]
cmp word [edx], 0
je 0x40e6e4
add edx, 2
cmp word [edx], 0
jne 0x40e642
mov ebx, dword [ebp - 0x804c]
xor eax, eax
movzx ecx, word [ebx + eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x40e653
jmp 0x40e0a0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x43722e
call dword [sym.imp.kernel32.dll_GetEnvironmentVariableW]
sub esp, 0xc
test eax, eax
jne 0x40e51f
lea eax, [ebp - 0x4018]
mov dword [esp], 0x2000
mov dword [ebp - 0x8030], eax
mov edi, eax
mov dword [esp + 4], eax
call dword [sym.imp.kernel32.dll_GetCurrentDirectoryW]
sub esp, 8
cmp word [ebp - 0x4018], 0
je 0x40d9d0
add edi, 2
cmp word [edi], 0
jne 0x40e6c0
jmp 0x40dba0
mov edx, dword [ebp - 0x802c]
jmp 0x40e3e9
mov ecx, dword [ebp - 0x802c]
jmp 0x40e3b1
mov edx, dword [ebp - 0x802c]
jmp 0x40e64b
test byte [0x423030], 2
jne 0x40e705
mov dword [esp], 1
call dword [sym.imp.kernel32.dll_ExitProcess]
mov dword [esp + 0xc], str.Out_of_memory_n
mov dword [esp + 8], str.xalloc
mov dword [esp + 4], 0x423030
mov dword [esp], 1
call sym._wine_dbg_log.constprop.0_3
jmp 0x40e6f8