Function at 0x69a1f4
Capabilities:
Set environment variable

Disassembly:
push ebp
mov ebp, esp
mov ecx, 5
push 0
push 0
dec ecx
jne 0x69a1fc
push ecx
push ebx
push esi
mov ebx, eax
xor eax, eax
push ebp
push 0x69a53c
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x73825c]
mov eax, dword [eax]
cmp byte [eax + 0x69], 0
jne 0x69a51f
mov eax, dword [0x7385a0]
movzx eax, byte [eax]
mov byte [ebp - 1], al
mov eax, dword [0x737c9c]
movzx eax, byte [eax]
mov byte [ebp - 2], al
mov eax, dword [0x737cd0]
movzx eax, byte [eax]
mov byte [ebp - 3], al
mov eax, dword [0x738108]
movzx eax, byte [eax]
mov byte [ebp - 4], al
mov byte [ebx + 0xca2], 1
mov eax, dword [0x73825c]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x1b4]
mov byte [ebx + 0xca2], 0
mov eax, ebx
call fcn.006a2fd4
mov eax, ebx
call fcn.0069c63c
mov eax, dword [0x7381c0]
cmp byte [eax], 0
je 0x69a2a9
mov eax, dword [0x73852c]
mov eax, dword [eax]
cmp dword [eax + 0x50], 0x64
jge 0x69a2a9
mov edx, dword [0x737adc]
mov edx, dword [edx]
add edx, 2
mov eax, ebx
call fcn.006a2dc4
jmp 0x69a2b8
mov edx, dword [0x737adc]
mov edx, dword [edx]
mov eax, ebx
call fcn.006a2dc4
mov edx, dword [0x7380d0]
movzx edx, byte [edx]
mov eax, dword [0x740390]
call fcn.005ff998
mov eax, ebx
call fcn.006b8458
mov eax, dword [0x737c9c]
movzx eax, byte [eax]
cmp al, byte [ebp - 2]
jne 0x69a2f9
mov eax, dword [0x737cd0]
movzx eax, byte [eax]
cmp al, byte [ebp - 3]
jne 0x69a2f9
mov eax, dword [0x738108]
movzx eax, byte [eax]
cmp al, byte [ebp - 4]
je 0x69a308
mov eax, dword [0x737d28]
mov byte [eax], 0
mov eax, ebx
call fcn.006b49a4
mov eax, dword [ebx + 0x9d8]
xor edx, edx
call fcn.005529dc
mov eax, ebx
call fcn.006b60b4
mov eax, ebx
call fcn.006b784c
mov eax, dword [0x7384b4]
cmp byte [eax], 0
je 0x69a36e
mov eax, dword [ebx + 0x9c8]
xor edx, edx
call fcn.00552890
mov eax, dword [ebx + 0x9d8]
mov si, 0xffb1
call fcn.00409ec4
test al, al
je 0x69a37b
mov eax, dword [0x740390]
cmp byte [eax + 0x225], 0
je 0x69a37b
push 1
mov edx, dword [ebx + 0x9d8]
mov cl, 1
mov eax, ebx
call fcn.0055d334
jmp 0x69a37b
mov eax, dword [ebx + 0x9c8]
mov dl, 1
call fcn.00552890
mov eax, dword [0x7385a0]
movzx eax, byte [eax]
cmp al, byte [ebp - 1]
je 0x69a3b8
mov eax, dword [ebx + 0xc08]
test eax, eax
je 0x69a395
mov eax, dword [eax - 4]
dec eax
test eax, eax
jl 0x69a3b8
inc eax
xor edx, edx
mov ecx, dword [ebx + 0xc08]
mov ecx, dword [ecx + edx*4]
lea esi, [ecx + 0xd]
mov ecx, dword [0x7385a0]
movzx ecx, byte [ecx]
mov byte [esi], cl
inc edx
dec eax
jne 0x69a39d
mov eax, dword [0x737b24]
cmp byte [eax], 0
je 0x69a3d3
push 0x69a54c
push 0x69a558
call sub.kernel32.dll_SetEnvironmentVariableW
jmp 0x69a3e2
push 0x69a594
push 0x69a558
call sub.kernel32.dll_SetEnvironmentVariableW
mov eax, ebx
call fcn.006ac944
mov eax, dword [0x737ce4]
cmp byte [eax], 0
je 0x69a3fc
xor eax, eax
call fcn.00645c90
jmp 0x69a403
mov al, 1
call fcn.00645c90
lea edx, [ebp - 0x14]
mov eax, dword [0x738138]
mov eax, dword [eax]
call fcn.00604f78
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x10]
call fcn.0042a0a0
push dword [ebp - 0x10]
push 0x69a5ac
mov eax, dword [0x737fc4]
push dword [eax]
push 0x69a608
lea eax, [ebp - 0xc]
mov edx, 4
call fcn.0040c6f8
mov eax, dword [ebp - 0xc]
call fcn.0040c408
mov edx, eax
lea eax, [ebp - 8]
call fcn.0040c468
mov eax, dword [ebp - 8]
mov dl, 1
call fcn.00429948
test al, al
je 0x69a518
lea edx, [ebp - 0x20]
mov eax, dword [0x738138]
mov eax, dword [eax]
call fcn.00604f78
mov eax, dword [ebp - 0x20]
lea edx, [ebp - 0x1c]
call fcn.0042a0a0
push dword [ebp - 0x1c]
push 0x69a5ac
mov eax, dword [0x737fc4]
push dword [eax]
push 0x69a608
lea eax, [ebp - 0x18]
mov edx, 4
call fcn.0040c6f8
mov edx, dword [ebp - 0x18]
mov eax, dword [0x738138]
mov eax, dword [eax]
mov eax, dword [eax + 0xb8]
mov ecx, dword [eax]
call dword [ecx + 0x58]
mov eax, dword [ebx + 0x4a4]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x44]
lea edx, [ebp - 0x2c]
mov eax, dword [0x738138]
mov eax, dword [eax]
call fcn.00604f78
mov eax, dword [ebp - 0x2c]
lea edx, [ebp - 0x28]
call fcn.0042a0a0
push dword [ebp - 0x28]
push 0x69a5ac
mov eax, dword [0x737fc4]
push dword [eax]
push 0x69a608
lea eax, [ebp - 0x24]
mov edx, 4
call fcn.0040c6f8
mov edx, dword [ebp - 0x24]
mov eax, dword [ebx + 0x4a4]
mov eax, dword [eax + 0x58]
mov ecx, dword [eax]
call dword [ecx + 0x58]
mov eax, dword [ebx + 0x4a4]
mov dl, 1
mov ecx, dword [eax]
call dword [ecx + 0x44]
mov eax, ebx
call fcn.006ac944
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x69a543
lea eax, [ebp - 0x2c]
mov edx, 0xa
call fcn.0040b964
pop eax
jmp eax