Function at 0x44fa00
Capabilities:
Set environment variable

Disassembly:
push edi
pop edi
push ebp
push esp
pop ebp
sub esp, 0xc
push ebx
mov ebx, dword [ebp + 8]
or ebx, ebx
jne 0x44f38e
call fcn.0044051d
mov dword [eax], 0x16
or eax, 0xffffffff
jmp 0x44f40a
push esi
push edi
push 0x3d
push ebx
push ebx
pop edi
call fcn.00438820
mov dword [ebp - 0xc], eax
pop ecx
pop ecx
or eax, eax
je 0x44f3f1
cmp eax, ebx
je 0x44f3f1
cmp byte [eax + 1], 0
mov esi, dword [0x4724e0]
sete al
mov byte [ebp - 1], al
cmp esi, dword [0x4724ec]
jne 0x44f3d1
push esi
call fcn.0044f7e6
push eax
pop esi
mov al, byte [ebp - 1]
pop ecx
mov dword [0x4724e0], esi
xor ebx, ebx
test esi, esi
jne 0x44f469
cmp dword [ebp + 0xc], ebx
je 0x44f40f
cmp dword [0x4724e4], ebx
je 0x44f40f
call fcn.00443b00
test eax, eax
jne 0x44f45f
call fcn.0044051d
mov dword [eax], 0x16
or ebx, 0xffffffff
push edi
call fcn.00446642
pop ecx
pop edi
mov eax, ebx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test al, al
je 0x44f417
xor ebx, ebx
jmp 0x44f3ff
push 4
push 1
call fcn.00445a33
push ebx
mov dword [0x4724e0], eax
call fcn.00446642
mov esi, dword [0x4724e0]
add esp, 0xc
test esi, esi
je 0x44f3fc
cmp dword [0x4724e4], ebx
jne 0x44f465
push 4
push 1
call fcn.00445a33
push ebx
mov dword [0x4724e4], eax
call fcn.00446642
add esp, 0xc
cmp dword [0x4724e4], ebx
je 0x44f3fc
mov esi, dword [0x4724e0]
or esi, esi
je 0x44f3fc
mov eax, dword [ebp - 0xc]
mov ecx, edi
sub eax, ecx
push eax
push ecx
call 0x44f955
mov dword [ebp - 8], eax
pop ecx
pop ecx
test eax, eax
js 0x44f4c8
cmp dword [esi], ebx
je 0x44f4c8
push dword [esi + eax*4]
call fcn.00446642
pop ecx
mov ecx, dword [ebp - 8]
cmp byte [ebp - 1], bl
jne 0x44f4a7
mov eax, dword [ebp + 8]
push ebx
pop edi
mov dword [esi + ecx*4], eax
jmp 0x44f51e
mov eax, dword [esi + ecx*4 + 4]
mov dword [esi + ecx*4], eax
inc ecx
cmp dword [esi + ecx*4], ebx
jne 0x44f49f
push 4
push ecx
push esi
call fcn.0044fa16
push ebx
mov esi, eax
call fcn.00446642
add esp, 0x10
mov eax, edi
or esi, esi
je 0x44f51e
jmp 0x44f518
cmp byte [ebp - 1], bl
jne 0x44f3ff
neg eax
mov dword [ebp - 8], eax
lea ecx, [eax + 2]
cmp ecx, eax
jb 0x44f3fc
cmp ecx, 0x3fffffff
jae 0x44f3fc
push 4
push ecx
push esi
call fcn.0044fa16
push ebx
push eax
pop esi
call fcn.00446642
add esp, 0x10
or esi, esi
je 0x44f3fc
mov ecx, dword [ebp - 8]
mov edi, ebx
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 0x44f3ff
mov ecx, eax
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44f52c
sub ecx, edx
push 1
lea eax, [ecx + 2]
push eax
mov dword [ebp - 8], eax
call fcn.00445a33
push eax
pop esi
pop ecx
pop ecx
or esi, esi
je 0x44f592
push dword [ebp + 8]
push dword [ebp - 8]
push esi
call fcn.0044197e
add esp, 0xc
test eax, eax
jne 0x44f59e
mov ecx, dword [ebp - 0xc]
mov eax, esi
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]
or eax, eax
jne 0x44f592
call fcn.0044051d
or ebx, 0xffffffff
mov dword [eax], 0x2a
push esi
call fcn.00446642
pop ecx
jmp 0x44f3ff
push ebx
push ebx
push ebx
push ebx
push ebx
call fcn.0043bc59
int3
pushal
popal
push ebp
mov ebp, esp
pop ebp
jmp 0x44f36e