Function at 0x40e750
Capabilities:
Print debug messages

Disassembly:
sub esp, 0x198
mov eax, dword [0x49a11c]
xor eax, esp
mov dword [esp + 0x194], eax
movups xmm0, xmmword [str.0x00000000_n]
push ebx
mov ebx, dword [0x49c6cc]
push ebp
push esi
mov esi, dword [esp + 0x1a8]
push edi
movups xmmword [esp + 0x3c], xmm0
push str._WARNING___PE_SIGNATURE_VERIFICATION_FAILED_____n_Filename:
movq xmm0, qword [0x4891ec]
movq qword [esp + 0x50], xmm0
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push esi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push str._n_Error:
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov ebp, dword [esp + 0x1b0]
mov ecx, ebp
shr ecx, 0x1c
cmp cx, 0xa
sbb eax, eax
and eax, 0xfffffff9
add eax, 0x37
add ax, cx
mov ecx, ebp
shr ecx, 0x18
and ecx, 0xf
mov word [esp + 0x40], ax
cmp ecx, 0xa
sbb eax, eax
and eax, 0xfffffff9
add eax, 0x37
add ax, cx
mov ecx, ebp
shr ecx, 0x14
and ecx, 0xf
mov word [esp + 0x42], ax
cmp ecx, 0xa
sbb eax, eax
and eax, 0xfffffff9
add eax, 0x37
add ax, cx
mov ecx, ebp
shr ecx, 0x10
and ecx, 0xf
mov word [esp + 0x44], ax
cmp ecx, 0xa
sbb eax, eax
and eax, 0xfffffff9
add eax, 0x37
add ax, cx
mov ecx, ebp
shr ecx, 0xc
and ecx, 0xf
mov word [esp + 0x46], ax
cmp ecx, 0xa
sbb eax, eax
and eax, 0xfffffff9
add eax, 0x37
add ax, cx
mov ecx, ebp
shr ecx, 8
and ecx, 0xf
mov word [esp + 0x48], ax
cmp ecx, 0xa
sbb eax, eax
and eax, 0xfffffff9
add eax, 0x37
add ax, cx
mov ecx, ebp
shr ecx, 4
and ecx, 0xf
mov word [esp + 0x4a], ax
cmp ecx, 0xa
sbb eax, eax
and eax, 0xfffffff9
add eax, 0x37
add ax, cx
mov ecx, ebp
mov word [esp + 0x4c], ax
and ecx, 0xf
cmp ecx, 0xa
sbb eax, eax
and eax, 0xfffffff9
add eax, 0x37
add ax, cx
mov word [esp + 0x4e], ax
lea eax, [esp + 0x3c]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
test ebx, ebx
jne 0x40eb53
cmp dword [0x49918c], ebx
je 0x40eb8b
xor eax, eax
mov dword [esp + 0x34], 0x2000100
push 0x42ea
mov word [esp + 0x3c], ax
mov dword [esp + 0x28], 0x41fcc608
mov dword [esp + 0x2c], 0x4def8496
mov dword [esp + 0x30], 0x9b7d3eb4
mov dword [esp + 0x34], 0xffa675d6
call fcn.0040e430
add esp, 4
mov dword [0x49918c], ebx
test eax, eax
mov edi, str.SYSTEMControlSet001Services_nvlddmkm
mov eax, dword [0x49c538]
mov ecx, str.SOFTWARENVIDIA_CorporationGlobal
cmove edi, ecx
mov dword [esp + 0x20], edi
test eax, eax
jne 0x40e91e
push eax
push 0x488f44
call fcn.0040e630
add esp, 8
mov dword [0x49c538], eax
test eax, eax
je 0x40eb9b
cmp dword [0x49c53c], 0
jne 0x40e945
push 0x489330
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x49c53c], eax
test eax, eax
je 0x40eb9b
mov eax, dword [0x49c538]
cmp dword [0x49c540], 0
jne 0x40e96c
push str.RegEnumValueW
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x49c540], eax
test eax, eax
je 0x40eb9b
mov eax, dword [0x49c538]
cmp dword [0x49c548], 0
jne 0x40e98e
push 0x489350
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x49c548], eax
test eax, eax
je 0x40eb9b
cmp dword [0x49c560], 0
jne 0x40e9c5
push 0
push str.Ole32.dll
call fcn.0040e630
add esp, 8
mov dword [0x49c560], eax
test eax, eax
je 0x40e9c5
push str.StringFromGUID2
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
mov dword [0x49c564], esi
jmp 0x40e9cb
mov esi, dword [0x49c564]
test esi, esi
je 0x40eb9b
push 0x4e
lea eax, [esp + 0x58]
push 0
push eax
call fcn.0042fbd0
add esp, 0xc
lea eax, [esp + 0x54]
mov ecx, esi
push 0x27
push eax
lea eax, [esp + 0x2c]
push eax
call dword [0x485320]
call esi
cmp eax, 0x27
jne 0x40eb9b
lea ebp, [esp + 0x34]
nop word [eax + eax]
movzx eax, word [ebp]
test ax, ax
je 0x40eb84
mov esi, dword [0x49c53c]
lea ecx, [esp + 0x10]
push ecx
or eax, 0x20019
mov dword [esp + 0x14], 0
push eax
push 0
push edi
push 0x80000002
mov ecx, esi
call dword [0x485320]
call esi
test eax, eax
jne 0x40eb48
xor ebx, ebx
xor edi, edi
push 0x100
lea eax, [esp + 0xa8]
mov dword [esp + 0x18], 0x80
push 0
push eax
mov dword [esp + 0x24], 4
call fcn.0042fbd0
mov esi, dword [0x49c540]
lea eax, [esp + 0x24]
add esp, 0xc
mov ecx, esi
push eax
lea eax, [esp + 0x20]
push eax
push 0
push 0
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0xb8]
push eax
push ebx
push dword [esp + 0x2c]
call dword [0x485320]
call esi
inc ebx
test eax, eax
jne 0x40eb18
lea eax, [esp + 0x54]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x40eab7
sub eax, edx
sar eax, 1
cmp eax, dword [esp + 0x14]
jne 0x40ea54
lea ecx, [esp + 0xa4]
lea eax, [esp + 0x54]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x40eafd
test dx, dx
je 0x40eaf9
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x40eafd
add eax, 4
add ecx, 4
test dx, dx
jne 0x40ead7
xor eax, eax
jmp 0x40eb02
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40ea54
cmp dword [esp + 0x1c], eax
setne al
or edi, eax
jmp 0x40ea54
cmp eax, 0x103
jne 0x40ea54
push dword [esp + 0x10]
mov esi, dword [0x49c548]
mov ecx, esi
call dword [0x485320]
call esi
xor ebx, ebx
test edi, edi
mov edi, dword [esp + 0x20]
setne bl
mov dword [0x49c6cc], ebx
add ebp, 2
test ebx, ebx
je 0x40ea10
push str._Signature_override_detected..._n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, 1
mov ecx, dword [esp + 0x1a4]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0042e033
add esp, 0x198
ret
mov ebp, dword [esp + 0x1b0]
cmp dword [0x49c6cc], 0
jne 0x40eb53
push ebp
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
jmp 0x40eb6b