Function at 0x44faca
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 0x44f688
call fcn.004405dd
mov dword [eax], 0x16
or eax, 0xffffffff
jmp 0x44f705
push esi
push edi
push 0x3d
push ebx
push ebx
pop edi
call fcn.00457977
mov dword [ebp - 0xc], eax
pop ecx
pop ecx
test eax, eax
je 0x44f6ec
cmp eax, ebx
je 0x44f6ec
mov esi, dword [0x4724e4]
xor ebx, ebx
cmp word [eax + 2], bx
sete cl
mov byte [ebp - 1], cl
cmp esi, dword [0x4724e8]
jne 0x44f6cd
push esi
call fcn.0044f956
pop ecx
mov cl, byte [ebp - 1]
push eax
pop esi
mov dword [0x4724e4], esi
test esi, esi
jne 0x44f75c
mov eax, dword [0x4724e0]
cmp dword [ebp + 0xc], ebx
je 0x44f70a
test eax, eax
je 0x44f70a
call fcn.00443ba6
test eax, eax
jne 0x44f752
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 cl, cl
jne 0x44f6fa
test eax, eax
jne 0x44f73b
push 4
push 1
call fcn.00445af3
push ebx
mov dword [0x4724e0], eax
call fcn.00446782
add esp, 0xc
cmp dword [0x4724e0], ebx
je 0x44f6f7
mov esi, dword [0x4724e4]
test esi, esi
jne 0x44f75c
push 4
push 1
call fcn.00445af3
push ebx
mov dword [0x4724e4], eax
call fcn.00446782
add esp, 0xc
mov esi, dword [0x4724e4]
test esi, esi
je 0x44f6f7
mov ecx, dword [ebp - 0xc]
push edi
pop eax
sub ecx, eax
sar ecx, 1
push ecx
push eax
mov dword [ebp - 0xc], ecx
call fcn.0044fa68
mov dword [ebp - 8], eax
pop ecx
pop ecx
test eax, eax
js 0x44f7c0
cmp dword [esi], ebx
je 0x44f7c0
push dword [esi + eax*4]
call fcn.00446782
pop ecx
mov ecx, dword [ebp - 8]
cmp byte [ebp - 1], bl
jne 0x44f79f
mov eax, dword [ebp + 8]
push ebx
pop edi
mov dword [esi + ecx*4], eax
jmp 0x44f816
mov eax, dword [esi + ecx*4 + 4]
mov dword [esi + ecx*4], eax
inc ecx
cmp dword [esi + ecx*4], ebx
jne 0x44f797
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 0x44f816
jmp 0x44f810
cmp byte [ebp - 1], bl
jne 0x44f6fa
neg eax
mov dword [ebp - 8], eax
lea ecx, [eax + 2]
cmp ecx, eax
jb 0x44f6f7
cmp ecx, 0x3fffffff
jae 0x44f6f7
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 0x44f6f7
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 [0x4724e4], esi
cmp dword [ebp + 0xc], ebx
je 0x44f6fa
push eax
pop ecx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, bx
jne 0x44f824
sub ecx, edx
sar ecx, 1
push 2
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 0x44f88e
mov eax, dword [ebp + 8]
push eax
push dword [ebp - 8]
push esi
call fcn.00447b61
add esp, 0xc
test eax, eax
jne 0x44f89a
mov ecx, dword [ebp - 0xc]
inc ecx
lea ecx, [esi + ecx*2]
mov word [ecx - 2], ax
movzx eax, byte [ebp - 1]
neg eax
sbb eax, eax
not eax
and eax, ecx
push eax
push esi
call dword [sym.imp.KERNEL32.DLL_SetEnvironmentVariableW]
test eax, eax
jne 0x44f88e
call fcn.004405dd
or ebx, 0xffffffff
mov dword [eax], 0x2a
push esi
call fcn.00446782
pop ecx
jmp 0x44f6fa
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 0x44f668