Function at 0x419440
Capabilities:
Set environment variable

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
push eax
mov eax, 0x4020
call fcn.00401050
sub esp, eax
mov eax, dword [esp + eax]
mov edi, eax
mov eax, dword [eax]
test eax, eax
je 0x419588
mov ebx, edx
mov edx, dword [edx]
test edx, edx
je 0x419588
movzx esi, word [eax + 4]
mov edx, dword [eax + 8]
mov dword [edi], edx
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_free]
movzx eax, si
mov dword [ebp - 0x4018], eax
test byte [0x423010], 8
jne 0x419520
mov eax, ebx
call sym._WCMD_popnumber
mov dword [ebp - 0x4014], eax
cmp si, 0x50
je 0x419650
ja 0x419500
cmp si, 0x21
je 0x4195e0
cmp si, 0x4e
jne 0x419600
mov edx, dword [ebp - 0x4014]
mov ecx, ebx
xor eax, eax
neg edx
call sym._WCMD_pushnumber
mov eax, dword [ebx]
test eax, eax
jne case.0x419616.0
test byte [0x423010], 8
jne 0x4196b0
mov dword [ebp - 0x4010], 0x412
jmp 0x41959f
cmp si, 0x7e
jne 0x419600
mov edx, dword [ebp - 0x4014]
mov ecx, ebx
xor eax, eax
not edx
call sym._WCMD_pushnumber
jmp 0x4194d4
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.Popped_operator__c_n
mov dword [esp + 8], str.WCMD_popoperator
mov dword [esp + 4], 0x423010
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_1
test byte [0x423010], 8
je 0x419496
movzx eax, si
mov dword [esp + 0xc], str.Reducing_the_stacks___processing_operator__c_n
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.WCMD_reduce
mov dword [esp + 4], 0x423010
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_1
jmp 0x419496
test byte [0x423010], 8
jne 0x419620
mov dword [ebp - 0x4010], 0x413
mov eax, dword [ebp - 0x4010]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, ebx
call sym._WCMD_popnumber
movzx ecx, byte [ebp - 0x4014]
sar eax, cl
mov edx, eax
mov ecx, ebx
xor eax, eax
call sym._WCMD_pushnumber
mov dword [ebp - 0x4010], 0
mov eax, dword [ebp - 0x4010]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov esi, dword [ebp - 0x4014]
xor edx, edx
mov ecx, ebx
test esi, esi
sete dl
xor eax, eax
call sym._WCMD_pushnumber
jmp 0x4194d4
mov edx, dword [ebx]
test edx, edx
je 0x4194de
lea eax, [esi - 0x21]
cmp ax, 0x5d
ja case.0x419616.1
movzx eax, ax
jmp dword [eax*4 + 0x435484]
mov dword [esp + 0xc], str.No_operators_for_the_reduce_n
mov dword [esp + 8], str.WCMD_reduce
mov dword [esp + 4], 0x423010
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_1
jmp 0x419595
mov edx, dword [ebp - 0x4014]
mov ecx, ebx
xor eax, eax
call sym._WCMD_pushnumber
jmp 0x4194d4
test byte [0x423010], 2
je case.0x419616.0
mov eax, dword [ebp - 0x4018]
mov dword [esp + 0xc], str.Unrecognized_operator__c_n
mov dword [esp + 8], str.WCMD_reduce
mov dword [esp + 0x10], eax
mov dword [esp + 4], 0x423010
mov dword [esp], 1
call sym._wine_dbg_log.constprop.0_1
jmp case.0x419616.0
mov dword [esp + 0xc], str.No_operands_left_for_the_reduce__n
mov dword [esp + 8], str.WCMD_reduce
mov dword [esp + 4], 0x423010
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_1
jmp 0x4194eb
mov eax, dword [edx]
mov dword [ebp - 0x4010], eax
test eax, eax
jne 0x4194eb
mov eax, ebx
call sym._WCMD_peeknumber
mov ecx, ebx
mov edx, eax
xor eax, eax
call sym._WCMD_pushnumber
mov edx, dword [ebp - 0x4014]
mov ecx, ebx
xor eax, eax
mov ebx, 0x2a
call sym._WCMD_pushnumber
xor eax, eax
mov edx, 0x61
jmp 0x41973b
inc eax
movzx ebx, word [eax*4 + str.a_b_cd_efgh_i_j]
movzx edx, word [eax*4 + 0x438242]
cmp bx, 0x20
je 0x419a38
cmp dx, si
jne 0x419720
mov dword [esp], 0xc
call sym._xalloc
mov edx, 0x3d
mov dword [eax], 1
mov esi, eax
mov word [eax + 4], dx
mov eax, dword [edi]
mov dword [esi + 8], eax
test byte [0x423010], 8
jne 0x419a8c
lea eax, [ebx - 0x21]
mov dword [edi], esi
xor edx, edx
cmp ax, 0x5d
ja 0x419786
movzx eax, ax
movsx edx, byte [eax + 0x437e00]
mov dword [esp], 0xc
mov dword [ebp - 0x4014], edx
call sym._xalloc
mov edx, dword [ebp - 0x4014]
mov word [eax + 4], bx
mov esi, eax
mov dword [eax], edx
mov eax, dword [edi]
mov dword [esi + 8], eax
test byte [0x423010], 8
jne 0x4197bb
mov dword [edi], esi
jmp 0x41959f
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], str.Pushed_operator__c_n
mov dword [esp + 8], str.WCMD_pushoperator
mov dword [esp + 4], 0x423010
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_1
mov dword [edi], esi
jmp 0x41959f
mov eax, dword [ebp - 0x4014]
lea edi, [ebp - 0x400c]
mov dword [esp + 8], 0x4350d6
mov dword [esp + 4], 0x2000
mov dword [esp + 0xc], eax
mov dword [esp], edi
call sym._swprintf.constprop.0
test byte [0x423010], 8
jne 0x4199f0
mov dword [esp + 4], edi
mov eax, dword [ebx]
mov eax, dword [eax + 4]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_SetEnvironmentVariableW]
mov eax, ebx
sub esp, 8
call sym._WCMD_popnumber
mov edx, dword [ebp - 0x4014]
mov ecx, ebx
xor eax, eax
call sym._WCMD_pushnumber
mov dword [ebp - 0x4010], 0
jmp 0x41959f
mov eax, ebx
call sym._WCMD_popnumber
mov edx, dword [ebp - 0x4014]
mov ecx, ebx
xor edx, eax
xor eax, eax
call sym._WCMD_pushnumber
mov dword [ebp - 0x4010], 0
jmp 0x41959f
mov eax, ebx
call sym._WCMD_popnumber
mov edx, dword [ebp - 0x4014]
mov ecx, ebx
or edx, eax
xor eax, eax
call sym._WCMD_pushnumber
mov dword [ebp - 0x4010], 0
jmp 0x41959f
mov eax, ebx
call sym._WCMD_popnumber
mov ecx, dword [ebp - 0x4014]
test ecx, ecx
je 0x4199c8
cdq
idiv ecx
mov ecx, ebx
xor eax, eax
call sym._WCMD_pushnumber
mov dword [ebp - 0x4010], 0
jmp 0x41959f
mov eax, ebx
call sym._WCMD_popnumber
mov edx, dword [ebp - 0x4014]
mov ecx, ebx
imul edx, eax
xor eax, eax
call sym._WCMD_pushnumber
mov dword [ebp - 0x4010], 0
jmp 0x41959f
mov eax, ebx
call sym._WCMD_popnumber
cmp dword [ebp - 0x4014], 0x1f
jbe 0x4199e0
mov ecx, ebx
xor edx, edx
xor eax, eax
call sym._WCMD_pushnumber
mov dword [ebp - 0x4010], 0
jmp 0x41959f
mov eax, ebx
call sym._WCMD_popnumber
mov ecx, dword [ebp - 0x4014]
test ecx, ecx
je 0x4199c8
cdq
mov ecx, ebx
idiv dword [ebp - 0x4014]
mov edx, eax
xor eax, eax
call sym._WCMD_pushnumber
mov dword [ebp - 0x4010], 0
jmp 0x41959f
mov eax, ebx
call sym._WCMD_popnumber
mov edx, dword [ebp - 0x4014]
mov ecx, ebx
and edx, eax
xor eax, eax
call sym._WCMD_pushnumber
mov dword [ebp - 0x4010], 0
jmp 0x41959f
mov eax, ebx
call sym._WCMD_popnumber
sub eax, dword [ebp - 0x4014]
jmp 0x4195bd
mov eax, ebx
call sym._WCMD_popnumber
mov edx, dword [ebp - 0x4014]
mov ecx, ebx
add edx, eax
xor eax, eax
call sym._WCMD_pushnumber
mov dword [ebp - 0x4010], 0
jmp 0x41959f
mov dword [ebp - 0x4010], 0x411
jmp 0x41959f
movzx ecx, byte [ebp - 0x4014]
shl eax, cl
jmp 0x4195bd
mov eax, edi
call sym._wine_dbgstr_wn.constprop.0
mov esi, eax
mov eax, dword [ebx]
mov eax, dword [eax + 4]
call sym._wine_dbgstr_wn.constprop.0
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.Assigning__s_a_value__s_n
mov dword [esp + 8], str.WCMD_reduce
mov dword [esp + 4], 0x423010
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_1
jmp 0x41981f
cmp dx, 0x20
jne 0x419740
test byte [0x423010], 2
je 0x419595
mov eax, dword [ebp - 0x4018]
mov dword [esp + 0xc], str.Unexpected_operator__c_n
mov dword [esp + 8], str.WCMD_reduce
mov dword [esp + 0x10], eax
mov dword [esp + 4], 0x423010
mov dword [esp], 1
call sym._wine_dbg_log.constprop.0_1
mov dword [ebp - 0x4010], 0x413
jmp 0x41959f
mov dword [esp + 0x10], 0x3d
mov dword [esp + 0xc], str.Pushed_operator__c_n
mov dword [esp + 8], str.WCMD_pushoperator
mov dword [esp + 4], 0x423010
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_1
jmp 0x41976f