Function at 0x43eeb0
Capabilities:
Set environment variable

Disassembly:
sub esp, 0x214
push ebx
push ebp
push esi
xor esi, esi
push edi
mov ebx, esi
mov byte [esp + 0x124], 0
mov byte [esp + 0x24], 0
call fcn.0043f490
mov eax, dword [esp + 0x228]
push eax
call fcn.0043f260
mov ebp, eax
mov al, byte [esp + 0x230]
add esp, 4
mov dword [esp + 0x20], edx
test al, 1
jne 0x43efd9
lea ecx, [esp + 0x10]
push ecx
push 0x20019
push esi
push 0x53ddfc
push reloc.OLEAUT32.dll_SysReAllocString
call dword [fcn.00550350]
mov eax, dword [esp + 0x10]
test eax, eax
je 0x43efd9
lea edx, [esp + 0x14]
lea ecx, [esp + 0x24]
push edx
lea edx, [esp + 0x1c]
push ecx
push edx
push esi
push 0x53ddf4
push eax
mov dword [esp + 0x2c], 0xff
call dword [fcn.0055034c]
test eax, eax
je 0x43ef54
mov eax, dword [esp + 0x10]
push eax
call dword [fcn.00550348]
jmp 0x43efd9
mov ecx, dword [esp + 0x10]
push ecx
call dword [fcn.00550348]
lea edi, [esp + 0x24]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 0xf3
jae 0x43efd9
lea edx, [esp + 0x24]
push 0xff
lea eax, [esp + 0x128]
push edx
push eax
call fcn.004b53f0
mov edi, 0x53dde4
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x130]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov byte [esp + 0x22f], 0
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
lea eax, [esp + 0x130]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
call fcn.0043f260
add esp, 0x10
mov ebx, eax
mov esi, edx
mov eax, dword [esp + 0x228]
test eax, eax
je 0x43f126
mov edi, dword [esp + 0x20]
push esi
push ebx
push edi
push ebp
call fcn.0043f340
add esp, 0x10
test eax, eax
je 0x43f126
push esi
push ebx
push edi
push ebp
call fcn.0043f390
add esp, 0x10
test eax, eax
je 0x43f01e
test byte [esp + 0x22c], 2
jne 0x43f126
push 0x53dddc
call fcn.004b6067
mov ecx, dword [esp + 0x22c]
mov esi, eax
push ecx
mov dword [esp + 0x1c], esi
call fcn.004b65b4
mov ebx, eax
push 0x5c
push ebx
call fcn.004b6040
add esp, 0x10
test eax, eax
je 0x43f04f
mov byte [eax], 0
push ebx
push esi
call fcn.0043f3d0
add esp, 8
test eax, eax
jne 0x43f111
mov edi, ebx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, esi
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [edx + ecx + 2]
push eax
call fcn.004b5efe
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x43f111
or ecx, 0xffffffff
mov edi, ebx
xor eax, eax
push ebp
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0x53dddc
mov edx, ecx
mov esi, edi
mov edi, ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x53ddd8
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0x1c]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
push ebp
call fcn.004b5e15
add esp, 4
push ebx
call fcn.004b5e15
mov eax, dword [esp + 0x22c]
add esp, 4
jmp 0x43f218
push 0x53dddc
call fcn.004b6067
mov ebx, eax
lea edi, [esp + 0x28]
or ecx, 0xffffffff
xor eax, eax
add esp, 4
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x43f211
lea ecx, [esp + 0x24]
push ecx
push ebx
call fcn.0043f3d0
add esp, 8
test eax, eax
jne 0x43f211
mov edi, ebx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edi, [esp + 0x24]
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [edx + ecx + 2]
push eax
call fcn.004b5efe
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x43f211
or ecx, 0xffffffff
lea edi, [esp + 0x24]
xor eax, eax
push ebp
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0x53dddc
mov edx, ecx
mov esi, edi
mov edi, ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x53ddd8
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, ebx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
push ebp
call fcn.004b5e15
add esp, 4
lea eax, [esp + 0x124]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
pop edi
pop esi
pop ebp
mov dword [0x553fd4], eax
test eax, eax
pop ebx
je 0x43f243
push 0
push 0xb
push 1
push 3
push 6
call fcn.0043ff80
mov eax, dword [0x553fd4]
add esp, 0x14
xor ecx, ecx
test eax, eax
setne cl
mov eax, ecx
add esp, 0x214
ret