Function at 0x41c150
Capabilities:
Query or enumerate registry value
Read file via mapping

Disassembly:
sub esp, 0x854
push ebx
push esi
push edi
push str.DrRegPath.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
je 0x41c1f1
mov ecx, dword [0x42f7ac]
test ecx, ecx
jle 0x41c18d
inc dword [0x42f7ac]
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 0x854
ret 8
lea ecx, [esp + 0x40]
push 0x104
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea edx, [esp + 0x40]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
mov dword [0x42f7a8], eax
jne 0x41c1be
pop edi
pop esi
pop ebx
add esp, 0x854
ret 8
push str.DreyeRegPathInit
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
jne 0x41c1da
pop edi
pop esi
pop ebx
add esp, 0x854
ret 8
push 0x4275d0
call eax
test eax, eax
jne 0x41c176
pop edi
pop esi
pop ebx
add esp, 0x854
ret 8
mov eax, dword [esp + 0x868]
test eax, eax
jne 0x41c267
push str.Dreye_Basic_Info
push eax
push 4
call dword [sym.imp.KERNEL32.dll_OpenFileMappingW]
mov esi, eax
test esi, esi
jne 0x41c21c
pop edi
pop esi
pop ebx
add esp, 0x854
ret 8
push 0
push 0
push 0
push 4
push esi
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov edi, eax
test edi, edi
jne 0x41c246
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x854
ret 8
lea eax, [esp + 0x40]
push edi
push eax
call sub.MSVCRT.dll_wcscpy
add esp, 8
push edi
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x41c399
cmp eax, 1
jne 0x41c29b
mov edx, dword [esp + 0x864]
lea ecx, [esp + 0x40]
push 0x104
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov esi, dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea eax, [esp + 0x40]
push eax
call esi
lea ecx, [esp + 0x40]
push ecx
jmp 0x41c397
cmp eax, 2
jne 0x41c399
mov ebx, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
lea edx, [esp + 0xc]
push edx
push 0x20019
push 0
push str.SoftWareInventecDreye
push reloc.AddToNote.dll_Ordinal_2
call ebx
test eax, eax
jne 0x41c4c8
mov ecx, 9
lea edi, [esp + 0x1a]
mov word [esp + 0x18], ax
lea edx, [esp + 0x14]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov edi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
lea eax, [esp + 0x10]
lea ecx, [esp + 0x18]
push eax
mov eax, dword [esp + 0x10]
push ecx
push edx
push 0
push str.Version
push eax
mov dword [esp + 0x28], 0x14
call edi
test eax, eax
jne 0x41c344
lea ecx, [esp + 0x248]
push str.SoftWareInventecDreye_
push ecx
call sub.MSVCRT.dll_wcscpy
lea edx, [esp + 0x20]
lea eax, [esp + 0x250]
push edx
push eax
call sub.MSVCRT.dll_wcscat
lea ecx, [esp + 0x258]
push str.SystemInstallInfo
push ecx
call sub.MSVCRT.dll_wcscat
add esp, 0x18
mov edx, dword [esp + 0xc]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push edx
call esi
lea eax, [esp + 0xc]
lea ecx, [esp + 0x248]
push eax
push 0x20019
push 0
push ecx
push reloc.AddToNote.dll_Ordinal_2
mov dword [esp + 0x24], 0x104
call ebx
test eax, eax
jne 0x41c399
mov ecx, dword [esp + 0xc]
lea edx, [esp + 0x10]
lea eax, [esp + 0x40]
push edx
push eax
push 0
push 0
push str.BasePath
push ecx
call edi
mov edx, dword [esp + 0xc]
push edx
call esi
lea eax, [esp + 0x40]
lea ecx, [esp + 0x658]
push eax
push ecx
call sub.MSVCRT.dll_wcscpy
mov esi, dword [sym.imp.SHLWAPI.dll_PathAppendW]
add esp, 8
lea edx, [esp + 0x40]
push str.peadict_api
push edx
call esi
lea eax, [esp + 0x40]
push str.DrRegPath.dll
push eax
call esi
mov edi, dword [sym.imp.KERNEL32.dll_LoadLibraryW]
lea ecx, [esp + 0x40]
push ecx
call edi
test eax, eax
mov dword [0x42f7a8], eax
jne 0x41c3ee
pop edi
pop esi
pop ebx
add esp, 0x854
ret 8
mov ebx, dword [0x42f7ac]
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
inc ebx
push str.DreyeRegPathInit
push eax
mov dword [0x42f7ac], ebx
call esi
test eax, eax
jne 0x41c419
pop edi
pop esi
pop ebx
add esp, 0x854
ret 8
lea edx, [esp + 0x658]
push edx
call eax
test eax, eax
jne 0x41c433
pop edi
pop esi
pop ebx
add esp, 0x854
ret 8
lea eax, [esp + 0x450]
push str.DrRegPath.dll
push eax
call fcn.0041c6e0
test eax, eax
je 0x41c17c
lea ecx, [esp + 0x450]
lea edx, [esp + 0x40]
push ecx
push edx
call sub.MSVCRT.dll__wcsicmp
add esp, 8
test eax, eax
je 0x41c17c
call fcn.0041c4e0
lea eax, [esp + 0x450]
push eax
call edi
test eax, eax
mov dword [0x42f7a8], eax
jne 0x41c49e
lea ecx, [esp + 0x40]
push ecx
call edi
test eax, eax
mov dword [0x42f7a8], eax
jne 0x41c49e
pop edi
pop esi
pop ebx
add esp, 0x854
ret 8
push str.DreyeRegPathInit
push eax
call esi
test eax, eax
jne 0x41c4b6
pop edi
pop esi
pop ebx
add esp, 0x854
ret 8
lea edx, [esp + 0x658]
push edx
call eax
test eax, eax
jne 0x41c17c
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x854
ret 8