Function at 0x4192e0
Capabilities:
Set environment variable

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
push eax
mov eax, 0x4038
call fcn.00401050
sub esp, eax
mov eax, dword [esp + eax]
mov edi, eax
mov eax, dword [eax]
test eax, eax
je 0x419428
mov ebx, edx
mov edx, dword [edx]
test edx, edx
je 0x419428
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 - 0x4024], eax
test byte [0x423010], 8
jne 0x4193c0
mov eax, ebx
call sym._WCMD_popnumber
mov dword [ebp - 0x4020], eax
cmp si, 0x50
je 0x4194f0
ja 0x4193a0
cmp si, 0x21
je 0x419480
cmp si, 0x4e
jne 0x4194a0
mov edx, dword [ebp - 0x4020]
mov ecx, ebx
xor eax, eax
neg edx
call sym._WCMD_pushnumber
mov eax, dword [ebx]
test eax, eax
jne case.0x4194b6.0
test byte [0x423010], 8
jne 0x419550
mov dword [ebp - 0x401c], 0x412
jmp 0x41943f
cmp si, 0x7e
jne 0x4194a0
mov edx, dword [ebp - 0x4020]
mov ecx, ebx
xor eax, eax
not edx
call sym._WCMD_pushnumber
jmp 0x419374
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 0x419336
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 0x419336
test byte [0x423010], 8
jne 0x4194c0
mov dword [ebp - 0x401c], 0x413
mov eax, dword [ebp - 0x401c]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, ebx
call sym._WCMD_popnumber
movzx ecx, byte [ebp - 0x4020]
sar eax, cl
mov edx, eax
mov ecx, ebx
xor eax, eax
call sym._WCMD_pushnumber
mov dword [ebp - 0x401c], 0
mov eax, dword [ebp - 0x401c]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov esi, dword [ebp - 0x4020]
xor edx, edx
mov ecx, ebx
test esi, esi
sete dl
xor eax, eax
call sym._WCMD_pushnumber
jmp 0x419374
mov edx, dword [ebx]
test edx, edx
je 0x41937e
lea eax, [esi - 0x21]
cmp ax, 0x5d
ja case.0x4194b6.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 0x419435
mov edx, dword [ebp - 0x4020]
mov ecx, ebx
xor eax, eax
call sym._WCMD_pushnumber
jmp 0x419374
test byte [0x423010], 2
je case.0x4194b6.0
mov eax, dword [ebp - 0x4024]
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.0x4194b6.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 0x41938b
mov eax, dword [edx]
mov dword [ebp - 0x401c], eax
test eax, eax
jne 0x41938b
mov eax, ebx
call sym._WCMD_peeknumber
mov ecx, ebx
mov edx, eax
xor eax, eax
call sym._WCMD_pushnumber
mov edx, dword [ebp - 0x4020]
mov ecx, ebx
xor eax, eax
mov ebx, 0x2a
call sym._WCMD_pushnumber
xor eax, eax
mov edx, 0x61
jmp 0x4195db
inc eax
movzx ebx, word [eax*4 + str.a_b_cd_efgh_i_j]
movzx edx, word [eax*4 + 0x438202]
cmp bx, 0x20
je 0x4198d8
cmp dx, si
jne 0x4195c0
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 0x41992c
lea eax, [ebx - 0x21]
mov dword [edi], esi
xor edx, edx
cmp ax, 0x5d
ja 0x419626
movzx eax, ax
movsx edx, byte [eax + 0x437e00]
mov dword [esp], 0xc
mov dword [ebp - 0x4020], edx
call sym._xalloc
mov edx, dword [ebp - 0x4020]
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 0x41965b
mov dword [edi], esi
jmp 0x41943f
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 0x41943f
mov eax, dword [ebp - 0x4020]
lea edi, [ebp - 0x4018]
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 0x419890
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 - 0x4020]
mov ecx, ebx
xor eax, eax
call sym._WCMD_pushnumber
mov dword [ebp - 0x401c], 0
jmp 0x41943f
mov eax, ebx
call sym._WCMD_popnumber
mov edx, dword [ebp - 0x4020]
mov ecx, ebx
xor edx, eax
xor eax, eax
call sym._WCMD_pushnumber
mov dword [ebp - 0x401c], 0
jmp 0x41943f
mov eax, ebx
call sym._WCMD_popnumber
mov edx, dword [ebp - 0x4020]
mov ecx, ebx
or edx, eax
xor eax, eax
call sym._WCMD_pushnumber
mov dword [ebp - 0x401c], 0
jmp 0x41943f
mov eax, ebx
call sym._WCMD_popnumber
mov ecx, dword [ebp - 0x4020]
test ecx, ecx
je 0x419868
cdq
idiv ecx
mov ecx, ebx
xor eax, eax
call sym._WCMD_pushnumber
mov dword [ebp - 0x401c], 0
jmp 0x41943f
mov eax, ebx
call sym._WCMD_popnumber
mov edx, dword [ebp - 0x4020]
mov ecx, ebx
imul edx, eax
xor eax, eax
call sym._WCMD_pushnumber
mov dword [ebp - 0x401c], 0
jmp 0x41943f
mov eax, ebx
call sym._WCMD_popnumber
cmp dword [ebp - 0x4020], 0x1f
jbe 0x419880
mov ecx, ebx
xor edx, edx
xor eax, eax
call sym._WCMD_pushnumber
mov dword [ebp - 0x401c], 0
jmp 0x41943f
mov eax, ebx
call sym._WCMD_popnumber
mov ecx, dword [ebp - 0x4020]
test ecx, ecx
je 0x419868
cdq
mov ecx, ebx
idiv dword [ebp - 0x4020]
mov edx, eax
xor eax, eax
call sym._WCMD_pushnumber
mov dword [ebp - 0x401c], 0
jmp 0x41943f
mov eax, ebx
call sym._WCMD_popnumber
mov edx, dword [ebp - 0x4020]
mov ecx, ebx
and edx, eax
xor eax, eax
call sym._WCMD_pushnumber
mov dword [ebp - 0x401c], 0
jmp 0x41943f
mov eax, ebx
call sym._WCMD_popnumber
sub eax, dword [ebp - 0x4020]
jmp 0x41945d
mov eax, ebx
call sym._WCMD_popnumber
mov edx, dword [ebp - 0x4020]
mov ecx, ebx
add edx, eax
xor eax, eax
call sym._WCMD_pushnumber
mov dword [ebp - 0x401c], 0
jmp 0x41943f
mov dword [ebp - 0x401c], 0x411
jmp 0x41943f
movzx ecx, byte [ebp - 0x4020]
shl eax, cl
jmp 0x41945d
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 0x4196bf
cmp dx, 0x20
jne 0x4195e0
test byte [0x423010], 2
je 0x419435
mov eax, dword [ebp - 0x4024]
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 - 0x401c], 0x413
jmp 0x41943f
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 0x41960f