Function at 0x44fabf
Capabilities:
Set environment variable

Disassembly:
push edi
pop edi
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
mov ebx, dword [ebp + 8]
test ebx, ebx
jne 0x44f44d
call fcn.004405dd
mov dword [eax], 0x16
or eax, 0xffffffff
jmp 0x44f4c9
push esi
push edi
push 0x3d
push ebx
push ebx
pop edi
call fcn.004388e0
mov dword [ebp - 0xc], eax
pop ecx
pop ecx
test eax, eax
je 0x44f4b0
cmp eax, ebx
je 0x44f4b0
cmp byte [eax + 1], 0
mov esi, dword [0x4724e0]
sete al
mov byte [ebp - 1], al
cmp esi, dword [0x4724ec]
jne 0x44f490
push esi
call fcn.0044f8a5
push eax
pop esi
mov al, byte [ebp - 1]
pop ecx
mov dword [0x4724e0], esi
xor ebx, ebx
test esi, esi
jne 0x44f528
cmp dword [ebp + 0xc], ebx
je 0x44f4ce
cmp dword [0x4724e4], ebx
je 0x44f4ce
call fcn.00443ba1
test eax, eax
jne 0x44f51e
call fcn.004405dd
mov dword [eax], 0x16
or ebx, 0xffffffff
push edi
call fcn.00446782
pop ecx
pop edi
push ebx
pop eax
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test al, al
je 0x44f4d6
xor ebx, ebx
jmp 0x44f4be
push 4
push 1
call fcn.00445af3
push ebx
mov dword [0x4724e0], eax
call fcn.00446782
mov esi, dword [0x4724e0]
add esp, 0xc
test esi, esi
je 0x44f4bb
cmp dword [0x4724e4], ebx
jne 0x44f524
push 4
push 1
call fcn.00445af3
push ebx
mov dword [0x4724e4], eax
call fcn.00446782
add esp, 0xc
cmp dword [0x4724e4], ebx
je 0x44f4bb
mov esi, dword [0x4724e0]
test esi, esi
je 0x44f4bb
mov eax, dword [ebp - 0xc]
push edi
pop ecx
sub eax, ecx
push eax
push ecx
call fcn.0044fa14
mov dword [ebp - 8], eax
pop ecx
pop ecx
test eax, eax
js 0x44f587
cmp dword [esi], ebx
je 0x44f587
push dword [esi + eax*4]
call fcn.00446782
pop ecx
mov ecx, dword [ebp - 8]
cmp byte [ebp - 1], bl
jne 0x44f566
mov eax, dword [ebp + 8]
push ebx
pop edi
mov dword [esi + ecx*4], eax
jmp 0x44f5dd
mov eax, dword [esi + ecx*4 + 4]
mov dword [esi + ecx*4], eax
inc ecx
cmp dword [esi + ecx*4], ebx
jne 0x44f55e
push 4
push ecx
push esi
call fcn.0044fad5
push ebx
push eax
pop esi
call fcn.00446782
add esp, 0x10
push edi
pop eax
test esi, esi
je 0x44f5dd
jmp 0x44f5d7
cmp byte [ebp - 1], bl
jne 0x44f4be
neg eax
mov dword [ebp - 8], eax
lea ecx, [eax + 2]
cmp ecx, eax
jb 0x44f4bb
cmp ecx, 0x3fffffff
jae 0x44f4bb
push 4
push ecx
push esi
call fcn.0044fad5
push ebx
push eax
pop esi
call fcn.00446782
add esp, 0x10
test esi, esi
je 0x44f4bb
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 [0x4724e0], esi
cmp dword [ebp + 0xc], ebx
je 0x44f4be
push eax
pop ecx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44f5eb
sub ecx, edx
push 1
lea eax, [ecx + 2]
push eax
mov dword [ebp - 8], eax
call fcn.00445af3
push eax
pop esi
pop ecx
pop ecx
test esi, esi
je 0x44f651
push dword [ebp + 8]
push dword [ebp - 8]
push esi
call fcn.00441a3e
add esp, 0xc
test eax, eax
jne 0x44f65d
mov ecx, dword [ebp - 0xc]
push esi
pop eax
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 0x44f651
call fcn.004405dd
or ebx, 0xffffffff
mov dword [eax], 0x2a
push esi
call fcn.00446782
pop ecx
jmp 0x44f4be
push ebx
push ebx
push ebx
push ebx
push ebx
call fcn.0043bd19
int3
push edi
pop edi
push ebp
mov ebp, esp
pop ebp
jmp 0x44f42d