Function at 0x4025c7
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xb7c
push edi
mov edi, dword [ebp + 8]
cmp word [edi], 0
jne 0x4025e1
xor eax, eax
jmp 0x40280b
push esi
push edi
push str.GetDriverInfoByService__s_...
push 3
call fcn.004452a3
xor eax, eax
mov esi, 0x206
push esi
push eax
mov word [ebp - 0x77c], ax
lea eax, [ebp - 0x77a]
push eax
call fcn.0043f4d8
push edi
lea eax, [ebp - 0xb7c]
push str.SYSTEMCurrentControlSetServices_s
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x24
mov edi, 0x104
push edi
lea eax, [ebp - 0x77c]
push eax
push str.ImagePath
lea eax, [ebp - 0xb7c]
push eax
push 0x80000002
call fcn.00424f44
test eax, eax
je 0x4027f3
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea eax, [ebp - 0x77c]
push eax
push dword [ebp + 0xc]
call ebx
xor eax, eax
push esi
push eax
mov word [ebp - 0x230], ax
lea eax, [ebp - 0x22e]
push eax
call fcn.0043f4d8
xor eax, eax
push esi
mov word [ebp - 0x438], ax
xor esi, esi
lea eax, [ebp - 0x436]
push esi
push eax
call fcn.0043f4d8
add esp, 0x18
push edi
lea eax, [ebp - 0x230]
push eax
lea eax, [ebp - 0x77c]
push eax
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
push str.System32_
lea eax, [ebp - 0x230]
push eax
call fcn.0042568e
test eax, eax
lea eax, [ebp - 0x230]
jne 0x4026d7
push str.SystemRoot_
push eax
call fcn.0042568e
test eax, eax
je 0x4026f4
lea eax, [ebp - 0x218]
push eax
push 0x4fa078
lea eax, [ebp - 0x438]
push 0x449ea0
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
jmp 0x40271f
push 0x449e94
lea eax, [ebp - 0x230]
push eax
call fcn.0042568e
test eax, eax
lea eax, [ebp - 0x228]
jne 0x402715
lea eax, [ebp - 0x230]
push eax
lea eax, [ebp - 0x438]
push eax
call ebx
lea eax, [ebp - 0x574]
push eax
lea eax, [ebp - 0x438]
push eax
call fcn.00424e16
test eax, eax
je 0x402750
lea eax, [ebp - 0x568]
push eax
push dword [ebp + 0x10]
call ebx
lea eax, [ebp - 0x538]
push eax
push dword [ebp + 0x14]
call ebx
jmp 0x402758
mov ecx, dword [ebp + 0x10]
xor eax, eax
mov word [ecx], ax
push esi
call fcn.00425532
lea eax, [ebp - 0x438]
push eax
call fcn.00425477
push 1
mov dword [ebp - 8], eax
mov dword [ebp - 4], edx
call fcn.00425532
mov eax, dword [ebp - 8]
or eax, dword [ebp - 4]
pop ebx
je 0x4027d9
xor eax, eax
mov word [ebp - 0x28], ax
lea edi, [ebp - 0x26]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
xor eax, eax
mov word [ebp - 0x18], ax
lea edi, [ebp - 0x16]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 8]
push eax
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x28]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_SystemTimeToTzSpecificLocalTime]
movzx eax, word [ebp - 0x12]
push eax
movzx eax, word [ebp - 0x16]
push eax
movzx eax, word [ebp - 0x18]
push eax
push str._04u__02u__02u
push dword [ebp + 0x18]
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x14
push dword [ebp + 0x18]
push dword [ebp + 0xc]
push str._DriverPath_s_DriverDate_s
push 3
call fcn.004452a3
xor eax, eax
add esp, 0x10
inc eax
jmp 0x40280a
call fcn.00442f0e
push eax
push str._err_S
push 3
call fcn.004452a3
add esp, 0xc
xor eax, eax
pop esi
pop edi
leave
ret 0x14