Function at 0x719dedde
Capabilities:
Query environment variable
Query or enumerate registry value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x1d4
mov eax, dword [0x719f7264]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push esi
mov dword [ebp - 0x1c0], eax
mov eax, dword [ebp + 0xc]
push edi
mov edi, dword [ebp + 0x10]
mov dword [ebp - 0x1bc], eax
mov dword [ebp - 0x1c4], eax
mov eax, dword [edi]
mov dword [ebp - 0x1b8], eax
lea eax, [ebp - 0x1b0]
xor esi, esi
push eax
mov dword [ebp - 0x1c8], edi
mov dword [ebp - 0x1a8], esi
mov dword [ebp - 0x1a0], esi
call fcn.719cc4a0
cmp eax, esi
mov dword [ebp - 0x1b4], eax
je 0x719dee4f
push eax
call dword [sym.imp._CKERNEL.DLL_SetLastError]
or eax, 0xffffffff
jmp 0x719df41a
mov eax, dword [ebp - 0x1b0]
cmp word [eax], si
push ebx
mov ebx, dword [sym.imp._Cntl.DLL_RtlFreeHeap]
mov dword [ebp - 0x1ac], eax
je 0x719df06a
mov edi, dword [sym.imp._Cntl.DLL_RtlAllocateHeap]
push 0x208
push esi
push dword [0x719f71dc]
call edi
cmp eax, esi
mov dword [ebp - 0x198], eax
je 0x719df153
push 0x208
push esi
push dword [0x719f71dc]
call edi
cmp eax, esi
mov dword [ebp - 0x19c], eax
je 0x719df172
push 0x208
push esi
push dword [0x719f71dc]
call edi
mov edi, eax
cmp edi, esi
je 0x719df189
push 0x719cc060
push edi
call dword [sym.imp._Cmvrt.DLL_wcscpy]
push dword [ebp - 0x1ac]
push edi
call dword [sym.imp._Cmvrt.DLL_wcscat]
push 0x719cc034
push edi
call dword [sym.imp._Cmvrt.DLL_wcscat]
add esp, 0x18
lea eax, [ebp - 0x1cc]
push eax
push 0x20019
push esi
push edi
push reloc.WS2__32_Coverage_C_WINDOWS_system32.DLL_Ordinal_2
call dword [sym.imp._CADVAPI.DLL_RegOpenKeyExW]
push edi
push esi
push dword [0x719f71dc]
mov dword [ebp - 0x1b4], eax
call ebx
cmp dword [ebp - 0x1b4], esi
jne 0x719df1af
mov edi, dword [ebp - 0x198]
lea eax, [ebp - 0x1d0]
push eax
push edi
lea eax, [ebp - 0x1d4]
push eax
push esi
push 0x719cbe6c
push dword [ebp - 0x1cc]
mov dword [ebp - 0x1d0], 0x208
call dword [sym.imp._CADVAPI.DLL_RegQueryValueExW]
cmp eax, esi
mov dword [ebp - 0x1b4], eax
jne 0x719df1d2
push 0x104
push dword [ebp - 0x19c]
push edi
call dword [sym.imp._CKERNEL.DLL_ExpandEnvironmentStringsW]
push edi
push esi
push dword [0x719f71dc]
call ebx
push dword [ebp - 0x19c]
call dword [sym.imp._CKERNEL.DLL_LoadLibraryW]
push dword [ebp - 0x19c]
mov edi, eax
push esi
push dword [0x719f71dc]
mov dword [ebp - 0x1a4], edi
call ebx
push dword [ebp - 0x1cc]
call dword [sym.imp._CADVAPI.DLL_RegCloseKey]
cmp edi, esi
je 0x719df20b
push 0x719d5a88
push edi
call dword [sym.imp._CKERNEL.DLL_GetProcAddress]
cmp eax, esi
jne 0x719defc9
push edi
call dword [sym.imp._CKERNEL.DLL_FreeLibrary]
jmp 0x719df03d
mov ecx, dword [ebp - 0x1c8]
mov ecx, dword [ecx]
mov edi, dword [ebp - 0x1a0]
cmp edi, ecx
ja 0x719defe5
sub ecx, edi
mov dword [ebp - 0x1b8], ecx
jmp 0x719defeb
mov dword [ebp - 0x1b8], esi
lea ecx, [ebp - 0x1b8]
push ecx
push dword [ebp - 0x1bc]
push dword [ebp - 0x1ac]
push dword [ebp - 0x1c0]
call eax
add edi, dword [ebp - 0x1b8]
push dword [ebp - 0x1a4]
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x1a0], edi
call dword [sym.imp._CKERNEL.DLL_FreeLibrary]
mov eax, dword [ebp - 0x198]
cmp eax, esi
jle 0x719df03d
add dword [ebp - 0x1a8], eax
shl eax, 5
add dword [ebp - 0x1bc], eax
mov edi, dword [ebp - 0x1ac]
push edi
call dword [sym.imp._Cmvrt.DLL_wcslen]
lea eax, [edi + eax*2 + 2]
cmp word [eax], si
pop ecx
mov dword [ebp - 0x1ac], eax
jne 0x719dee6b
mov eax, dword [ebp - 0x1b0]
mov edi, dword [ebp - 0x1c8]
push eax
push esi
push dword [0x719f71dc]
call ebx
lea eax, [ebp - 0x194]
push eax
push 0x101
call sub.WS2__32_Coverage_C_WINDOWS_system32.DLL_Ordinal_115
test eax, eax
jne 0x719df400
lea eax, [ebp - 0x1bc]
push eax
push esi
push dword [ebp - 0x1c0]
mov dword [ebp - 0x1a4], esi
mov dword [ebp - 0x1bc], esi
mov dword [ebp - 0x1ac], esi
mov dword [ebp - 0x19c], esi
call sub.WS2__32_Coverage_C_WINDOWS_system32.DLL_WSAEnumProtocolsW
cmp eax, 0xffffffff
mov dword [ebp - 0x198], eax
jne 0x719df120
call sub.WS2__32_Coverage_C_WINDOWS_system32.DLL_Ordinal_111
cmp eax, 0x2747
mov dword [ebp - 0x1b4], eax
jne 0x719df120
push dword [ebp - 0x1bc]
push esi
push dword [0x719f71dc]
call dword [sym.imp._Cntl.DLL_RtlAllocateHeap]
cmp eax, esi
mov dword [ebp - 0x19c], eax
je 0x719df120
lea eax, [ebp - 0x1bc]
push eax
push dword [ebp - 0x19c]
push dword [ebp - 0x1c0]
call sub.WS2__32_Coverage_C_WINDOWS_system32.DLL_WSAEnumProtocolsW
cmp eax, 0xffffffff
mov dword [ebp - 0x198], eax
jne 0x719df120
call sub.WS2__32_Coverage_C_WINDOWS_system32.DLL_Ordinal_111
mov dword [ebp - 0x1b4], eax
call fcn.719e73e5
mov eax, dword [ebp - 0x198]
cmp eax, 0xffffffff
jne 0x719df21f
cmp dword [ebp - 0x19c], esi
je 0x719df14b
push dword [ebp - 0x19c]
push esi
push dword [0x719f71dc]
call ebx
push dword [ebp - 0x1b4]
jmp 0x719df164
push dword [ebp - 0x1b0]
push esi
push dword [0x719f71dc]
call ebx
push 8
call dword [sym.imp._CKERNEL.DLL_SetLastError]
or eax, 0xffffffff
jmp 0x719df419
push dword [ebp - 0x1b0]
push esi
push dword [0x719f71dc]
call ebx
push dword [ebp - 0x198]
jmp 0x719df159
push dword [ebp - 0x1b0]
push esi
push dword [0x719f71dc]
call ebx
push dword [ebp - 0x198]
push esi
push dword [0x719f71dc]
call ebx
push dword [ebp - 0x19c]
jmp 0x719df159
push dword [ebp - 0x1b0]
push esi
push dword [0x719f71dc]
call ebx
push dword [ebp - 0x198]
push esi
push dword [0x719f71dc]
call ebx
jmp 0x719df13c
push dword [ebp - 0x1b0]
push esi
push dword [0x719f71dc]
call ebx
push edi
push esi
push dword [0x719f71dc]
call ebx
push dword [ebp - 0x19c]
push esi
push dword [0x719f71dc]
call ebx
push dword [ebp - 0x1cc]
call dword [sym.imp._CADVAPI.DLL_RegCloseKey]
jmp 0x719df14b
push dword [ebp - 0x1b0]
push esi
push dword [0x719f71dc]
call ebx
jmp 0x719df16a
mov ecx, dword [ebp - 0x1a0]
cmp ecx, dword [edi]
ja 0x719df397
cmp eax, esi
jle 0x719df389
mov esi, dword [ebp - 0x19c]
mov eax, dword [ebp - 0x1a8]
mov ecx, dword [ebp - 0x1c4]
add esi, 0x4c
shl eax, 5
lea edi, [eax + ecx + 8]
mov eax, dword [ebp - 0x198]
mov dword [ebp - 0x1c0], eax
and dword [ebp - 0x198], 0
cmp dword [ebp - 0x1a8], 0
jle 0x719df2b5
mov eax, dword [ebp - 0x1c4]
mov ecx, dword [esi]
add eax, 0x10
cmp ecx, dword [eax - 0xc]
jne 0x719df28c
mov edx, dword [esi + 0xc]
cmp edx, dword [eax]
jne 0x719df28c
mov edx, dword [esi + 0x10]
cmp edx, dword [eax + 4]
je 0x719df2a3
inc dword [ebp - 0x198]
mov edx, dword [ebp - 0x198]
add eax, 0x20
cmp edx, dword [ebp - 0x1a8]
jl 0x719df278
mov eax, dword [ebp - 0x1a8]
cmp dword [ebp - 0x198], eax
jl 0x719df36f
lea eax, [esi + 0x28]
push eax
call dword [sym.imp._CKERNEL.DLL_lstrlenW]
mov ecx, dword [ebp - 0x1ac]
lea ecx, [ecx + eax*2 + 0x22]
mov eax, dword [ebp - 0x1c8]
mov eax, dword [eax]
cmp dword [ebp - 0x1a0], eax
mov dword [ebp - 0x1ac], ecx
ja 0x719df2ed
sub eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x1b8], eax
jmp 0x719df2f4
and dword [ebp - 0x1b8], 0
cmp dword [ebp - 0x1b8], ecx
jb 0x719df363
mov ecx, dword [esi - 0x4c]
lea eax, [edi - 8]
mov dword [ebp - 0x198], eax
mov dword [eax], ecx
mov eax, dword [esi]
mov dword [edi - 4], eax
mov eax, dword [esi + 4]
mov dword [edi], eax
mov eax, dword [esi + 8]
mov dword [edi + 4], eax
mov eax, dword [esi + 0xc]
mov dword [edi + 8], eax
mov eax, dword [esi + 0x10]
mov dword [edi + 0xc], eax
mov eax, dword [esi + 0x20]
mov dword [edi + 0x10], eax
lea eax, [esi + 0x28]
push eax
call dword [sym.imp._CKERNEL.DLL_lstrlenW]
lea eax, [eax + eax + 2]
mov ecx, eax
mov eax, dword [ebp - 0x198]
sub eax, ecx
mov ecx, dword [ebp - 0x1b8]
add eax, ecx
lea ecx, [esi + 0x28]
push ecx
push eax
mov dword [edi + 0x14], eax
call dword [sym.imp._CKERNEL.DLL_lstrcpyW]
inc dword [ebp - 0x1a4]
add edi, 0x20
mov eax, dword [ebp - 0x1ac]
add dword [ebp - 0x1a0], eax
add esi, 0x274
dec dword [ebp - 0x1c0]
jne 0x719df25d
mov edi, dword [ebp - 0x1c8]
xor esi, esi
mov eax, dword [ebp - 0x1a4]
add dword [ebp - 0x1a8], eax
jmp 0x719df3e9
mov ecx, eax
shl ecx, 5
add dword [ebp - 0x1a0], ecx
cmp eax, esi
jle 0x719df3e9
mov ecx, dword [ebp - 0x19c]
add ecx, 0x74
mov dword [ebp - 0x1a4], ecx
mov dword [ebp - 0x1c4], eax
push dword [ebp - 0x1a4]
call dword [sym.imp._CKERNEL.DLL_lstrlenW]
mov ecx, dword [ebp - 0x1a0]
add dword [ebp - 0x1a4], 0x274
dec dword [ebp - 0x1c4]
lea eax, [ecx + eax*2 + 2]
mov dword [ebp - 0x1a0], eax
jne 0x719df3bb
cmp dword [ebp - 0x19c], esi
je 0x719df400
push dword [ebp - 0x19c]
push esi
push dword [0x719f71dc]
call ebx
mov eax, dword [ebp - 0x1a0]
cmp eax, dword [edi]
mov dword [edi], eax
jbe 0x719df413
push 0x7a
jmp 0x719df164
mov eax, dword [ebp - 0x1a8]
pop ebx
mov ecx, dword [ebp - 4]
pop edi
pop esi
call fcn.719c15f6
leave
ret 0xc