Function at 0x4bb6e9
Capabilities:
Set environment variable

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
add esp, 0xffffffec
push ebx
xor ebx, ebx
mov dword [ebp - 0xc], ebx
cmp eax, ebx
jne 0x4bb71b
call fcn.004a6a4b
push ebx
push ebx
push ebx
push ebx
push ebx
mov dword [eax], 0x16
call fcn.004a648d
add esp, 0x14
or eax, 0xffffffff
jmp 0x4bb789
push esi
mov esi, dword [eax]
cmp esi, ebx
push edi
mov dword [ebp - 4], esi
je 0x4bb779
push 0x3d
push esi
call fcn.004bb9f0
pop ecx
pop ecx
mov edi, eax
cmp edi, ebx
mov dword [ebp - 0x14], edi
je 0x4bb779
cmp esi, edi
je 0x4bb779
xor eax, eax
cmp byte [edi + 1], bl
sete al
mov dword [ebp - 8], eax
mov eax, dword [0x4fde7c]
cmp eax, dword [0x4fde80]
jne 0x4bb75f
call fcn.004bb68f
mov dword [0x4fde7c], eax
cmp eax, ebx
jne 0x4bb7c3
cmp dword [ebp + 0xc], ebx
je 0x4bb78c
cmp dword [0x4fde84], ebx
je 0x4bb78c
call fcn.004b7ba2
or eax, eax
je 0x4bb7c3
call fcn.004a6a4b
mov dword [eax], 0x16
or eax, 0xffffffff
pop edi
pop esi
pop ebx
leave
ret
cmp dword [ebp - 8], ebx
jne 0x4bb92d
push 4
call fcn.004b7cbe
cmp eax, ebx
pop ecx
mov dword [0x4fde7c], eax
je 0x4bb784
mov dword [eax], ebx
cmp dword [0x4fde84], ebx
jne 0x4bb7c3
push 4
call fcn.004b7cbe
pop ecx
cmp eax, ebx
mov dword [0x4fde84], eax
je 0x4bb784
mov dword [eax], ebx
mov esi, dword [0x4fde7c]
mov dword [ebp - 0x10], esi
cmp esi, ebx
je 0x4bb784
sub edi, dword [ebp - 4]
push dword [ebp - 4]
call fcn.004bb63d
pop ecx
mov edi, eax
cmp edi, ebx
jl 0x4bb834
cmp dword [esi], ebx
je 0x4bb834
lea esi, [esi + edi*4]
push dword [esi]
call fcn.004a7a46
pop ecx
cmp dword [ebp - 8], ebx
jne 0x4bb811
mov eax, dword [ebp - 4]
mov dword [esi], eax
mov eax, dword [ebp + 8]
mov dword [eax], ebx
jmp 0x4bb887
inc edi
mov eax, dword [esi + 4]
mov dword [esi], eax
mov eax, dword [ebp - 0x10]
lea esi, [eax + edi*4]
cmp dword [esi], ebx
jne 0x4bb805
cmp edi, 0x3fffffff
jae 0x4bb887
push 4
push edi
push dword [0x4fde7c]
call fcn.004b7d9d
sub esp, 0xfffffff4
cmp eax, ebx
je 0x4bb887
jmp 0x4bb882
cmp dword [ebp - 8], ebx
jne 0x4bb91f
cmp edi, ebx
jge 0x4bb843
neg edi
lea eax, [edi + 2]
cmp eax, edi
jl 0x4bb784
cmp eax, 0x3fffffff
jae 0x4bb784
push eax
push 4
push dword [0x4fde7c]
call fcn.004b7d9d
sub esp, 0xfffffff4
cmp eax, ebx
je 0x4bb784
lea ecx, [eax + edi*4]
mov edx, dword [ebp - 4]
mov dword [ecx], edx
mov dword [ecx + 4], ebx
mov ecx, dword [ebp + 8]
mov dword [ecx], ebx
mov dword [0x4fde7c], eax
cmp dword [ebp + 0xc], ebx
je 0x4bb904
mov esi, dword [ebp - 4]
push 1
push esi
call fcn.004a7700
inc eax
pop ecx
inc eax
push eax
call fcn.004b7d03
pop ecx
mov edi, eax
pop ecx
cmp edi, ebx
je 0x4bb904
push esi
push esi
call fcn.004a7700
inc eax
inc eax
pop ecx
push eax
push edi
call fcn.004b7c39
sub esp, 0xfffffff4
or eax, eax
je 0x4bb8cd
push ebx
push ebx
push ebx
push ebx
push ebx
call fcn.004a633e
add esp, 0x14
mov ecx, dword [ebp - 8]
mov eax, edi
sub eax, esi
add eax, dword [ebp - 0x14]
neg ecx
mov byte [eax], bl
inc eax
sbb ecx, ecx
not ecx
and ecx, eax
push ecx
push edi
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
test eax, eax
jne 0x4bb8fd
or dword [ebp - 0xc], 0xffffffff
call fcn.004a6a4b
mov dword [eax], 0x2a
push edi
call fcn.004a7a46
pop ecx
cmp dword [ebp - 8], ebx
je 0x4bb917
push dword [ebp - 4]
call fcn.004a7a46
pop ecx
mov eax, dword [ebp + 8]
mov dword [eax], ebx
mov eax, dword [ebp - 0xc]
jmp 0x4bb787
push dword [ebp - 4]
call fcn.004a7a46
pop ecx
mov eax, dword [ebp + 8]
mov dword [eax], ebx
xor eax, eax
jmp 0x4bb787