Function at 0x432f3c
Capabilities:
Set environment variable

Disassembly:
push edi
pop edi
push ebp
push esp
pop ebp
sub esp, 0xc
push ebx
mov ebx, dword [ebp + 8]
test ebx, ebx
jne 0x432c1c
call fcn.00431d6d
mov dword [eax], 0x16
or eax, 0xffffffff
jmp 0x432c98
push esi
push edi
push 0x3d
push ebx
mov edi, ebx
call fcn.00438e60
mov dword [ebp - 0xc], eax
pop ecx
pop ecx
test eax, eax
je 0x432c7f
cmp eax, ebx
je 0x432c7f
cmp byte [eax + 1], 0
mov esi, dword [0x442140]
sete al
mov byte [ebp - 1], al
cmp esi, dword [0x44214c]
jne 0x432c5f
push esi
call fcn.00432e37
mov esi, eax
mov al, byte [ebp - 1]
pop ecx
mov dword [0x442140], esi
xor ebx, ebx
or esi, esi
jne 0x432cf7
cmp dword [ebp + 0xc], ebx
je 0x432c9d
cmp dword [0x442144], ebx
je 0x432c9d
call fcn.00430862
or eax, eax
jne 0x432ced
call fcn.00431d6d
mov dword [eax], 0x16
or ebx, 0xffffffff
push edi
call fcn.00431ddd
pop ecx
pop edi
mov eax, ebx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test al, al
je 0x432ca5
xor ebx, ebx
jmp 0x432c8d
push 4
push 1
call fcn.00431d80
push ebx
mov dword [0x442140], eax
call fcn.00431ddd
mov esi, dword [0x442140]
add esp, 0xc
or esi, esi
je 0x432c8a
cmp dword [0x442144], ebx
jne 0x432cf3
push 4
push 1
call fcn.00431d80
push ebx
mov dword [0x442144], eax
call fcn.00431ddd
add esp, 0xc
cmp dword [0x442144], ebx
je 0x432c8a
mov esi, dword [0x442140]
test esi, esi
je 0x432c8a
mov eax, dword [ebp - 0xc]
push edi
pop ecx
sub eax, ecx
push eax
push ecx
call 0x432ee8
mov dword [ebp - 8], eax
pop ecx
pop ecx
or eax, eax
js 0x432d56
cmp dword [esi], ebx
je 0x432d56
push dword [esi + eax*4]
call fcn.00431ddd
pop ecx
mov ecx, dword [ebp - 8]
cmp byte [ebp - 1], bl
jne 0x432d35
mov eax, dword [ebp + 8]
push ebx
pop edi
mov dword [esi + ecx*4], eax
jmp 0x432dac
mov eax, dword [esi + ecx*4 + 4]
mov dword [esi + ecx*4], eax
inc ecx
cmp dword [esi + ecx*4], ebx
jne 0x432d2d
push 4
push ecx
push esi
call fcn.00434061
push ebx
mov esi, eax
call fcn.00431ddd
add esp, 0x10
mov eax, edi
or esi, esi
je 0x432dac
jmp 0x432da6
cmp byte [ebp - 1], bl
jne 0x432c8d
neg eax
mov dword [ebp - 8], eax
lea ecx, [eax + 2]
cmp ecx, eax
jb 0x432c8a
cmp ecx, 0x3fffffff
jae 0x432c8a
push 4
push ecx
push esi
call fcn.00434061
push ebx
mov esi, eax
call fcn.00431ddd
add esp, 0x10
or esi, esi
je 0x432c8a
mov ecx, dword [ebp - 8]
push ebx
pop edi
mov eax, dword [ebp + 8]
mov dword [esi + ecx*4], eax
mov dword [esi + ecx*4 + 4], ebx
mov dword [0x442140], esi
cmp dword [ebp + 0xc], ebx
je 0x432c8d
mov ecx, eax
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x432dba
sub ecx, edx
push 1
lea eax, [ecx + 2]
push eax
mov dword [ebp - 8], eax
call fcn.00431d80
mov esi, eax
pop ecx
pop ecx
or esi, esi
je 0x432e20
push dword [ebp + 8]
push dword [ebp - 8]
push esi
call fcn.0043133f
add esp, 0xc
or eax, eax
jne 0x432e2c
mov ecx, dword [ebp - 0xc]
mov eax, esi
sub eax, dword [ebp + 8]
inc ecx
add ecx, eax
movzx eax, byte [ebp - 1]
neg eax
sbb eax, eax
not eax
mov byte [ecx - 1], bl
and eax, ecx
push eax
push esi
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
test eax, eax
jne 0x432e20
call fcn.00431d6d
or ebx, 0xffffffff
mov dword [eax], 0x2a
push esi
call fcn.00431ddd
pop ecx
jmp 0x432c8d
push ebx
push ebx
push ebx
push ebx
push ebx
call fcn.00431cc1
int3
mov edi, edi
push ebp
mov ebp, esp
pop ebp
jmp 0x432bfc