Function at 0x43ab1b
Capabilities:
Set environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
and dword [ebp - 8], 0
mov eax, dword [ebp + 8]
push edi
or eax, eax
jne 0x43ab42
call fcn.00428d68
mov dword [eax], 0x16
call fcn.00428ff6
or eax, 0xffffffff
jmp 0x43abb6
push ebx
mov ebx, dword [eax]
push esi
or ebx, ebx
je 0x43aba6
push 0x3d
push ebx
call fcn.0043b21a
push eax
pop esi
mov dword [ebp - 0xc], esi
pop ecx
pop ecx
test esi, esi
je 0x43aba6
cmp ebx, esi
je 0x43aba6
mov edi, dword [0x4c41b0]
sub eax, eax
cmp byte [esi + 1], al
sete al
mov dword [ebp - 4], eax
cmp edi, dword [0x4c41d0]
jne 0x43ab8c
push edi
call fcn.0043ad63
push eax
pop edi
mov eax, dword [ebp - 4]
pop ecx
mov dword [0x4c41b0], edi
or edi, edi
jne 0x43abfe
cmp dword [ebp + 0xc], edi
je 0x43abbb
cmp dword [0x4c41b4], edi
je 0x43abbb
call fcn.00439ba8
or eax, eax
je 0x43abf4
call fcn.00428d68
mov dword [eax], 0x16
or eax, 0xffffffff
pop esi
pop ebx
pop edi
push ebp
pop esp
pop ebp
ret
or eax, eax
jne 0x43ad4f
push 4
call fcn.00428a5d
mov dword [0x4c41b0], eax
pop ecx
test eax, eax
je 0x43abb1
and dword [eax], 0
cmp dword [0x4c41b4], 0
jne 0x43abf4
push 4
call fcn.00428a5d
mov dword [0x4c41b4], eax
pop ecx
or eax, eax
je 0x43abb1
and dword [eax], 0
mov edi, dword [0x4c41b0]
test edi, edi
je 0x43abb1
mov eax, esi
sub eax, ebx
push eax
push ebx
call fcn.0043adc3
mov esi, eax
pop ecx
pop ecx
test esi, esi
js 0x43ac68
cmp dword [edi], 0
je 0x43ac68
push dword [edi + esi*4]
call fcn.00422f95
cmp dword [ebp - 4], 0
pop ecx
jne 0x43ac3b
mov dword [edi + esi*4], ebx
mov edi, dword [ebp + 8]
and dword [edi], 0
jmp 0x43acba
mov eax, dword [edi + esi*4 + 4]
mov dword [edi + esi*4], eax
inc esi
cmp dword [edi + esi*4], 0
jne 0x43ac33
cmp esi, 0x3fffffff
jae 0x43acb7
push 4
push esi
push dword [0x4c41b0]
call fcn.00428aee
mov edi, dword [ebp + 8]
add esp, 0xc
test eax, eax
je 0x43acba
mov dword [0x4c41b0], eax
jmp 0x43acba
cmp dword [ebp - 4], 0
jne 0x43ad42
or esi, esi
jns 0x43ac78
neg esi
lea eax, [esi + 2]
cmp eax, esi
jl 0x43abb1
cmp eax, 0x3fffffff
jae 0x43abb1
push eax
push 4
push dword [0x4c41b0]
call fcn.00428aee
add esp, 0xc
test eax, eax
je 0x43abb1
mov edi, dword [ebp + 8]
and dword [eax + esi*4 + 4], 0
mov dword [eax + esi*4], ebx
and dword [edi], 0
jmp 0x43ac61
mov edi, dword [ebp + 8]
cmp dword [ebp + 0xc], 0
je 0x43ad2a
push 1
push ebx
call fcn.00423980
pop ecx
add eax, 2
push eax
call fcn.00428a15
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x43ad2a
push ebx
push ebx
call fcn.00423980
pop ecx
add eax, 2
push eax
push esi
call fcn.00434802
add esp, 0xc
or eax, eax
jne 0x43ad56
mov ecx, esi
sub ecx, ebx
add ecx, dword [ebp - 0xc]
mov byte [ecx], al
inc ecx
mov eax, dword [ebp - 4]
neg eax
sbb eax, eax
not eax
and eax, ecx
push eax
push esi
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
test eax, eax
jne 0x43ad23
or dword [ebp - 8], 0xffffffff
call fcn.00428d68
mov dword [eax], 0x2a
push esi
call fcn.00422f95
pop ecx
cmp dword [ebp - 4], 0
je 0x43ad3a
push ebx
call fcn.00422f95
and dword [edi], 0
pop ecx
mov eax, dword [ebp - 8]
jmp 0x43abb4
push ebx
call fcn.00422f95
mov edi, dword [ebp + 8]
pop ecx
and dword [edi], 0
xor eax, eax
jmp 0x43abb4
sub eax, eax
push eax
push eax
push eax
push eax
push eax
call fcn.00429006
int3