Function at 0x43b798
Capabilities:
Set environment variable

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
add esp, 0xffffffec
mov eax, dword [ebp + 8]
push ebx
xor ebx, ebx
cmp eax, ebx
mov dword [ebp - 0xc], ebx
jne 0x43b7c2
call fcn.00425355
mov dword [eax], 0x16
call fcn.0042bf0b
or eax, 0xffffffff
jmp 0x43b830
push esi
mov esi, dword [eax]
push edi
cmp esi, ebx
mov dword [ebp - 4], esi
je 0x43b820
push 0x3d
push esi
call fcn.0043bc6d
pop edi
pop ecx
mov edi, eax
cmp edi, ebx
mov dword [ebp - 0x14], edi
je 0x43b820
cmp esi, edi
je 0x43b820
xor eax, eax
cmp byte [edi + 1], bl
sete al
mov dword [ebp - 8], eax
mov eax, dword [0x44cf64]
cmp eax, dword [0x44cf68]
jne 0x43b806
call fcn.0043b738
mov dword [0x44cf64], eax
cmp eax, ebx
jne 0x43b86a
cmp dword [ebp + 0xc], ebx
je 0x43b833
cmp dword [0x44cf6c], ebx
je 0x43b833
call fcn.0043b191
or eax, eax
je 0x43b86a
call fcn.00425355
mov dword [eax], 0x16
or eax, 0xffffffff
pop edi
pop esi
pop ebx
leave
ret
cmp dword [ebp - 8], ebx
jne 0x43b9d3
push 4
call fcn.004262fb
pop ecx
mov dword [0x44cf64], eax
cmp eax, ebx
je 0x43b82b
mov dword [eax], ebx
cmp dword [0x44cf6c], ebx
jne 0x43b86a
push 4
call fcn.004262fb
pop ecx
mov dword [0x44cf6c], eax
cmp eax, ebx
je 0x43b82b
mov dword [eax], ebx
mov esi, dword [0x44cf64]
mov dword [ebp - 0x10], esi
cmp esi, ebx
je 0x43b82b
sub edi, dword [ebp - 4]
push dword [ebp - 4]
call fcn.0043b6e6
pop ecx
mov edi, eax
cmp edi, ebx
jl 0x43b8db
cmp dword [esi], ebx
je 0x43b8db
lea esi, [esi + edi*4]
push dword [esi]
call fcn.004233c1
pop ecx
cmp dword [ebp - 8], ebx
jne 0x43b8b8
mov edi, dword [ebp - 4]
mov dword [esi], edi
mov eax, dword [ebp + 8]
mov dword [eax], ebx
jmp 0x43b92e
mov eax, dword [esi + 4]
mov dword [esi], eax
mov eax, dword [ebp - 0x10]
inc edi
lea esi, [eax + edi*4]
cmp dword [esi], ebx
jne 0x43b8ac
cmp edi, 0x3fffffff
jae 0x43b92e
push 4
push edi
push dword [0x44cf64]
call fcn.004263da
sub esp, 0xfffffff4
cmp eax, ebx
je 0x43b92e
jmp 0x43b929
cmp dword [ebp - 8], ebx
jne 0x43b9c5
cmp edi, ebx
jge 0x43b8ea
neg edi
lea eax, [edi + 2]
cmp eax, edi
jl 0x43b82b
cmp eax, 0x3fffffff
jae 0x43b82b
push eax
push 4
push dword [0x44cf64]
call fcn.004263da
add esp, 0xc
cmp eax, ebx
je 0x43b82b
mov edx, dword [ebp - 4]
lea ecx, [eax + edi*4]
mov dword [ecx], edx
mov dword [ecx + 4], ebx
mov ecx, dword [ebp + 8]
mov dword [ecx], ebx
mov dword [0x44cf64], eax
cmp dword [ebp + 0xc], ebx
je 0x43b9a0
mov esi, dword [ebp - 4]
push 1
push esi
call fcn.00426270
add eax, 2
pop ecx
push eax
call fcn.00426340
pop edi
mov edi, eax
cmp edi, ebx
pop ecx
je 0x43b9a0
push esi
push esi
call fcn.00426270
sub eax, 0xfffffffe
pop ecx
push eax
push edi
call fcn.0042a1f9
sub esp, 0xfffffff4
test eax, eax
jne 0x43b9bb
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 0x43b999
or dword [ebp - 0xc], 0xffffffff
call fcn.00425355
mov dword [eax], 0x2a
push edi
call fcn.004233c1
pop ecx
cmp dword [ebp - 8], ebx
je 0x43b9b3
push dword [ebp - 4]
call fcn.004233c1
mov eax, dword [ebp + 8]
pop ecx
mov dword [eax], ebx
mov eax, dword [ebp - 0xc]
jmp 0x43b82e
push ebx
push ebx
push ebx
push ebx
push ebx
call fcn.0042beb9
push dword [ebp - 4]
call fcn.004233c1
pop ecx
mov esi, dword [ebp + 8]
mov dword [esi], ebx
xor eax, eax
jmp 0x43b82e