Function at 0x10b9498
Capabilities:
Check os version
Get common file path
Get hostname
Query environment variable

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x218
mov eax, dword [0x10e3200]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [ebp + 8]
push edi
xor edi, edi
push 0x103e288
mov dword [ebp - 0x214], edi
mov dword [ebp - 0x210], 1
call fcn.010bce33
xor eax, eax
push 0x206
mov word [ebp - 0x20c], ax
lea eax, [ebp - 0x20a]
push edi
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
cmp esi, edi
jne 0x10b952b
push 0x57
pop ecx
mov dword [ebp - 0x210], edi
mov dword [ebp - 0x214], ecx
mov eax, dword [0x10e308c]
cmp eax, 0x10e308c
je 0x10b99b0
test byte [eax + 0x1c], 8
je 0x10b99b0
push 0x103e27c
push ecx
push 0x103de90
push 0x3a
jmp 0x10b970c
push 0x208
push edi
push esi
call sub.msvcrt.dll_memset
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x18], eax
add esp, 0xc
lea eax, [esi + 0x1c]
push eax
mov dword [eax], 0x10
lea eax, [esi + 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_GetComputerNameW]
test eax, eax
jne 0x10b959a
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x210], edi
call esi
mov dword [ebp - 0x214], eax
mov eax, dword [0x10e308c]
cmp eax, 0x10e308c
je 0x10b99b0
test byte [eax + 0x1c], 8
je 0x10b99b0
push 0x103ab9c
call esi
push eax
push 0x103de90
push 0x3b
jmp 0x10b96c1
push 0xc
call fcn.010bd1d1
mov dword [esi + 0xc], eax
cmp eax, edi
jne 0x10b95e3
push 0xe
pop ecx
mov dword [ebp - 0x210], edi
mov dword [ebp - 0x214], ecx
mov eax, dword [0x10e308c]
cmp eax, 0x10e308c
je 0x10b99b0
test byte [eax + 0x1c], 8
je 0x10b99b0
push 0x103e264
push ecx
push 0x103de90
push 0x3c
jmp 0x10b970c
push 6
push eax
push 0x103e234
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
cmp eax, edi
jne 0x10b9630
push 0xa
pop ecx
mov dword [ebp - 0x210], edi
mov dword [ebp - 0x214], ecx
mov eax, dword [0x10e308c]
cmp eax, 0x10e308c
je 0x10b99b0
test byte [eax + 0x1c], 8
je 0x10b99b0
push 0x103e21c
push ecx
push 0x103de90
push 0x3d
jmp 0x10b970c
cmp eax, 6
jbe 0x10b9670
push 0x32
pop ecx
mov dword [ebp - 0x210], edi
mov dword [ebp - 0x214], ecx
mov eax, dword [0x10e308c]
cmp eax, 0x10e308c
je 0x10b99b0
test byte [eax + 0x1c], 8
je 0x10b99b0
push 0x103df28
push ecx
push 0x103de90
push 0x3e
jmp 0x10b970c
lea eax, [esi + 0x40]
push eax
mov dword [eax], 0x11c
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
jne 0x10b96c8
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x210], edi
call esi
mov dword [ebp - 0x214], eax
mov eax, dword [0x10e308c]
cmp eax, 0x10e308c
je 0x10b99b0
test byte [eax + 0x1c], 8
je 0x10b99b0
push 0x103ab9c
call esi
push eax
push 0x103de90
push 0x3f
mov eax, dword [0x10e308c]
jmp 0x10b970c
call fcn.010b5aae
mov dword [esi + 0x10], eax
cmp eax, edi
jne 0x10b971c
mov ecx, 0x65e
mov dword [ebp - 0x210], edi
mov dword [ebp - 0x214], ecx
mov eax, dword [0x10e308c]
cmp eax, 0x10e308c
je 0x10b99b0
test byte [eax + 0x1c], 8
je 0x10b99b0
push 0x103d900
push ecx
push 0x103de90
push 0x40
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010acaf3
jmp 0x10b99b0
push ebx
mov ebx, dword [sym.imp.ole32.dll_CoTaskMemFree]
mov edi, 0x104
push dword [esi]
call ebx
and dword [esi], 0
lea eax, [edi + edi + 2]
push eax
call fcn.010bd1d1
mov dword [esi], eax
test eax, eax
je 0x10b9813
push edi
push eax
mov dword [ebp - 0x218], edi
call dword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
mov edi, eax
test edi, edi
je 0x10b984f
mov eax, dword [ebp - 0x218]
cmp edi, eax
ja 0x10b9728
mov ecx, dword [esi]
xor edx, edx
mov word [ecx + eax*2], dx
mov edi, 0x104
push dword [esi + 4]
call ebx
and dword [esi + 4], 0
lea eax, [edi + edi + 2]
push eax
call fcn.010bd1d1
mov dword [esi + 4], eax
test eax, eax
je 0x10b9897
push edi
push eax
mov dword [ebp - 0x218], edi
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
mov edi, eax
test edi, edi
je 0x10b98d3
mov eax, dword [ebp - 0x218]
cmp edi, eax
ja 0x10b9772
mov ecx, dword [esi + 4]
xor edx, edx
mov word [ecx + eax*2], dx
push 0x104
lea eax, [ebp - 0x20c]
push eax
call fcn.010b923e
test eax, eax
jne 0x10b9916
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
and dword [ebp - 0x210], eax
call esi
mov dword [ebp - 0x214], eax
mov eax, dword [0x10e308c]
cmp eax, 0x10e308c
je 0x10b99af
test byte [eax + 0x1c], 8
je 0x10b99af
push 0x103ab9c
call esi
push eax
push 0x103de90
push 0x45
jmp 0x10b988d
and dword [ebp - 0x210], 0
push 0xe
pop ecx
mov dword [ebp - 0x214], ecx
mov eax, dword [0x10e308c]
cmp eax, 0x10e308c
je 0x10b99af
test byte [eax + 0x1c], 8
je 0x10b99af
push 0x103e1fc
push ecx
push 0x103de90
push 0x41
jmp 0x10b99a4
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
and dword [ebp - 0x210], 0
call esi
mov dword [ebp - 0x214], eax
mov eax, dword [0x10e308c]
cmp eax, 0x10e308c
je 0x10b99af
test byte [eax + 0x1c], 8
je 0x10b99af
push 0x103ab9c
call esi
push eax
push 0x103de90
push 0x42
mov eax, dword [0x10e308c]
jmp 0x10b99a4
and dword [ebp - 0x210], 0
push 0xe
pop ecx
mov dword [ebp - 0x214], ecx
mov eax, dword [0x10e308c]
cmp eax, 0x10e308c
je 0x10b99af
test byte [eax + 0x1c], 8
je 0x10b99af
push 0x103e1dc
push ecx
push 0x103de90
push 0x43
jmp 0x10b99a4
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
and dword [ebp - 0x210], 0
call esi
mov dword [ebp - 0x214], eax
mov eax, dword [0x10e308c]
cmp eax, 0x10e308c
je 0x10b99af
test byte [eax + 0x1c], 8
je 0x10b99af
push 0x103ab9c
call esi
push eax
push 0x103de90
push 0x44
jmp 0x10b988d
lea eax, [esi + 0x15c]
push eax
call dword [sym.imp.KERNEL32.dll_GetTimeZoneInformation]
cmp eax, 0xffffffff
jne 0x10b9963
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
and dword [ebp - 0x210], 0
call esi
mov dword [ebp - 0x214], eax
mov eax, dword [0x10e308c]
cmp eax, 0x10e308c
je 0x10b99af
test byte [eax + 0x1c], 8
je 0x10b99af
push 0x103ab9c
call esi
push eax
push 0x103de90
push 0x46
jmp 0x10b988d
lea eax, [ebp - 0x20c]
push eax
call fcn.010bd342
mov dword [esi + 8], eax
test eax, eax
jne 0x10b99af
and dword [ebp - 0x210], eax
push 0xe
pop ecx
mov dword [ebp - 0x214], ecx
mov eax, dword [0x10e308c]
cmp eax, 0x10e308c
je 0x10b99af
test byte [eax + 0x1c], 8
je 0x10b99af
push 0x103e1c4
push ecx
push 0x103de90
push 0x47
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010acaf3
pop ebx
push 0x103e288
call fcn.010bce68
push dword [ebp - 0x214]
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x210]
pop edi
xor ecx, ebp
pop esi
call fcn.010987b7
leave
ret 8