Function at 0x40ed16
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1a0
mov eax, dword [0x45c070]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x45e79c]
push ebx
push esi
push edi
push 6
mov ebx, ecx
mov dword [ebp - 0x194], edx
pop ecx
mov esi, str.0x00000000_n
mov dword [ebp - 0x188], eax
lea edi, [ebp - 0x24]
rep movsd dword es:[edi], dword [esi]
push str._WARNING___PE_SIGNATURE_VERIFICATION_FAILED_____n_Filename:
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push ebx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push str._n_Error:
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov ebx, dword [ebp - 0x194]
lea edi, [ebp - 0x20]
xor eax, eax
mov dword [ebp - 0x19c], eax
mov esi, eax
push 0x1c
pop ecx
sub ecx, esi
mov edx, ebx
shr edx, cl
and edx, 0xf
cmp edx, 0xa
sbb eax, eax
add esi, 4
and eax, 0xfffffff9
add eax, 0x37
add ax, dx
mov word [edi], ax
lea edi, [edi + 2]
cmp esi, 0x20
jl 0x40ed7c
lea eax, [ebp - 0x24]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
cmp dword [ebp - 0x188], 0
jne 0x40f08a
cmp dword [0x45c890], 0
je 0x40f075
xor eax, eax
mov dword [ebp - 0xc], 0x2000100
mov word [ebp - 8], ax
xor ebx, ebx
mov eax, dword [0x45e768]
mov dword [ebp - 0x184], 0x41fcc608
mov dword [ebp - 0x180], 0x4def8496
mov dword [ebp - 0x17c], 0x9b7d3eb4
mov dword [ebp - 0x178], 0xffa675d6
mov dword [0x45c890], ebx
test eax, eax
jne 0x40ee21
mov ecx, str.Advapi32.dll
call fcn.0040e01a
mov dword [0x45e768], eax
test eax, eax
je 0x40ee82
cmp dword [0x45e7b8], ebx
jne 0x40ee43
push str.RegOpenKeyExW
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x45e7b8], eax
test eax, eax
je 0x40ee82
mov eax, dword [0x45e768]
cmp dword [0x45e788], ebx
jne 0x40ee65
push str.RegEnumValueW
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x45e788], eax
test eax, eax
je 0x40ee82
mov eax, dword [0x45e768]
cmp dword [0x45e7cc], ebx
jne 0x40ee89
push str.RegCloseKey
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x45e7cc], eax
test eax, eax
jne 0x40ee89
xor eax, eax
jmp 0x40f0a1
cmp dword [0x45e7a0], ebx
jne 0x40eeba
mov ecx, str.Ole32.dll
call fcn.0040e01a
mov dword [0x45e7a0], eax
test eax, eax
je 0x40eeba
push str.StringFromGUID2
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
mov dword [0x45e7a8], esi
jmp 0x40eec0
mov esi, dword [0x45e7a8]
test esi, esi
je 0x40ee82
push 0x4e
lea eax, [ebp - 0x74]
push ebx
push eax
call fcn.004272a0
add esp, 0xc
lea eax, [ebp - 0x74]
mov ecx, esi
push 0x27
push eax
lea eax, [ebp - 0x184]
push eax
call dword [0x446208]
call esi
cmp eax, 0x27
jne 0x40ee82
mov eax, dword [ebp - 0x188]
lea edi, [ebp - 0xc]
mov dword [ebp - 0x190], edi
movzx ecx, word [edi]
test cx, cx
je 0x40f06b
mov esi, dword [0x45e7b8]
lea eax, [ebp - 0x18c]
push eax
or ecx, 0x20019
mov dword [ebp - 0x18c], ebx
push ecx
push ebx
push str.SOFTWARENVIDIA_CorporationGlobal
push reloc.OLEAUT32.dll_SysReAllocString
mov ecx, esi
call dword [0x446208]
call esi
test eax, eax
jne 0x40f054
mov edi, ebx
push 0x100
xor esi, esi
mov dword [ebp - 0x188], 0x80
lea eax, [ebp - 0x174]
mov dword [ebp - 0x198], 4
push esi
push eax
call fcn.004272a0
add esp, 0xc
lea eax, [ebp - 0x198]
push eax
lea eax, [ebp - 0x1a0]
push eax
push esi
push esi
mov esi, dword [0x45e788]
lea eax, [ebp - 0x188]
push eax
lea eax, [ebp - 0x174]
mov ecx, esi
push eax
push edi
push dword [ebp - 0x18c]
call dword [0x446208]
call esi
mov esi, eax
inc edi
test esi, esi
jne 0x40f016
lea ecx, [ebp - 0x74]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [ebp - 0x19c]
jne 0x40efb0
sub ecx, edx
sar ecx, 1
cmp ecx, dword [ebp - 0x188]
jne 0x40ef43
lea ecx, [ebp - 0x174]
lea eax, [ebp - 0x74]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x40effe
test dx, dx
je 0x40effa
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x40effe
add eax, 4
add ecx, 4
test dx, dx
jne 0x40efd8
xor eax, eax
jmp 0x40f003
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40ef43
cmp dword [ebp - 0x1a0], eax
setne al
or ebx, eax
cmp esi, 0x103
jne 0x40ef43
push dword [ebp - 0x18c]
mov esi, dword [0x45e7cc]
mov ecx, esi
call dword [0x446208]
call esi
mov edi, dword [ebp - 0x190]
xor eax, eax
test ebx, ebx
setne al
xor ebx, ebx
mov dword [ebp - 0x188], eax
mov dword [0x45e79c], eax
jmp 0x40f05a
mov eax, dword [ebp - 0x188]
add edi, 2
mov dword [ebp - 0x190], edi
test eax, eax
je 0x40eefe
test eax, eax
jne 0x40f08a
mov ebx, dword [ebp - 0x194]
cmp dword [0x45e79c], 0
jne 0x40f08a
push ebx
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x40ee82
push str._Signature_override_detected..._n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
xor eax, eax
push eax
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
inc eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004241c7
mov esp, ebp
pop ebp
ret