Function at 0x10081f8
Capabilities:
Query environment variable
Set environment variable

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100a650
push 0x101ce27
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ecx
sub esp, 0x2f0
push ebx
push esi
push edi
mov dword [ebp - 0x18], esp
mov edi, dword [ebp + 8]
mov esi, dword [edi + 8]
mov dword [ebp - 0x234], esi
xor ebx, ebx
push ebx
call fcn.01005c87
push edi
call fcn.0100849d
cmp word [0x10217a0], bx
jne 0x100825c
push 0x100
push 0x10217a0
push 0x6a4
push ebx
call dword [sym.imp.USER32.DLL_LoadStringW]
cmp dword [0x102103c], ebx
je 0x10082a1
push esi
call fcn.010084ba
test eax, eax
jne 0x100828b
push 0x10217a0
push dword [esi + 0xc8]
call dword [sym.imp.MSVCRT.DLL__wcsicmp]
pop ecx
pop ecx
test eax, eax
je 0x100828b
push edi
call fcn.01008572
push 0x6d8
push ebx
push 1
call fcn.01004ffc
add esp, 0xc
push edi
call fcn.010085ba
push 0x6d9
push ebx
push 1
call fcn.01004ffc
add esp, 0xc
push ebx
lea eax, [esi + 0x28]
push eax
call fcn.0100a927
mov dword [ebp - 0x20], eax
mov dword [ebp - 4], ebx
push dword [0x102103c]
call fcn.01008664
or dword [ebp - 4], 0xffffffff
push edi
call fcn.0100a8e9
test eax, eax
je 0x1008321
mov dword [ebp - 4], 1
call fcn.01008676
call fcn.01008688
or dword [ebp - 4], 0xffffffff
push ebx
lea eax, [ebp - 0x240]
push eax
push ebx
push 1
call dword [sym.imp.USER32.DLL_SystemParametersInfoW]
test eax, eax
je 0x1017c20
cmp dword [ebp - 0x240], ebx
je 0x100831b
push 0x5353
push edi
call fcn.0100869a
push edi
call fcn.0100a8cc
push dword [ebp - 0x20]
call fcn.0100a9e8
push 0x6d6
push ebx
push 1
call fcn.01004ffc
add esp, 0xc
cmp dword [edi + 0x30], ebx
jne 0x100841a
push dword [edi + 8]
call fcn.01007d22
test eax, eax
je 0x100841a
push edi
call fcn.0100a8e9
test eax, eax
je 0x1008412
push ebx
lea eax, [esi + 0x28]
push eax
call fcn.0100a927
mov dword [ebp - 0x20], eax
cmp eax, ebx
je 0x100840c
push 0x100a610
call dword [sym.imp.KERNEL32.DLL_LoadLibraryW]
mov dword [ebp - 0x23c], eax
cmp eax, ebx
je 0x1008404
push 0x100a634
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov dword [ebp - 0x28], eax
cmp eax, ebx
je 0x10083f8
cmp dword [esi + 0xc8], ebx
je 0x1017c2f
mov word [ebp - 0x308], bx
push 0x64
lea eax, [ebp - 0x308]
push eax
mov ebx, 0x100a620
push ebx
call dword [sym.imp.KERNEL32.DLL_GetEnvironmentVariableW]
push dword [esi + 0xc8]
push ebx
call dword [sym.imp.KERNEL32.DLL_SetEnvironmentVariableW]
push 0
push 0
call dword [ebp - 0x28]
xor eax, eax
cmp dword [esi + 0xc8], eax
je 0x10083f8
cmp word [ebp - 0x308], ax
jne 0x1017c39
push eax
push ebx
call dword [sym.imp.KERNEL32.DLL_SetEnvironmentVariableW]
push dword [ebp - 0x23c]
call dword [sym.imp.KERNEL32.DLL_FreeLibrary]
push dword [ebp - 0x20]
call fcn.0100a9e8
push edi
call fcn.0100a8cc
push dword [edi + 8]
call fcn.01007d87
push 8
push edi
call fcn.010053e0
push 1
call fcn.01005c87
push 0x78
push edi
call fcn.01005f67
push dword [esi + 0x64]
call fcn.0100af3e
mov dword [ebp - 0x1c], eax
push 0x100a868
push dword [esi + 8]
push 0x100a890
lea eax, [ebp - 0x230]
push eax
call dword [sym.imp.USER32.DLL_wsprintfW]
add esp, 0x10
push dword [edi + 0x54]
mov ebx, dword [sym.imp.KERNEL32.DLL_SetErrorMode]
call ebx
mov dword [ebp - 0x24], eax
push dword [ebp - 0x1c]
push dword [esi + 0xc4]
lea eax, [ebp - 0x230]
push eax
push dword [edi + 0x38c]
call dword [edi + 0x3a4]
mov esi, eax
push dword [ebp - 0x24]
call ebx
mov eax, esi
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
leave
ret 4
mov dword [ebp - 0x240], 1
jmp 0x1008308
mov ebx, 0x100a620
jmp 0x10083d2
lea eax, [ebp - 0x308]
jmp 0x10083f0