Function at 0x40a490
Capabilities:
Print debug messages

Disassembly:
sub esp, 0x194
mov eax, dword [0x447170]
xor eax, esp
mov dword [esp + 0x190], eax
movdqu xmm0, xmmword [str.0x00000000_n]
push ebx
mov ebx, dword [0x449840]
push ebp
push esi
mov esi, dword [esp + 0x1a4]
push edi
mov edi, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
movdqu xmmword [esp + 0x38], xmm0
push str._WARNING___PE_SIGNATURE_VERIFICATION_FAILED_____n_Filename:
movq xmm0, qword [0x43e3ec]
movq qword [esp + 0x4c], xmm0
call edi
push esi
call edi
push str._n_Error:
call edi
mov ebp, dword [esp + 0x1ac]
mov ecx, ebp
shr ecx, 0x1c
and ecx, 0xf
cmp ecx, 0xa
sbb eax, eax
and eax, 0xfffffff9
add eax, 0x37
add cx, ax
mov word [esp + 0x3c], cx
mov ecx, ebp
shr ecx, 0x18
and ecx, 0xf
cmp ecx, 0xa
sbb eax, eax
and eax, 0xfffffff9
add eax, 0x37
add cx, ax
mov word [esp + 0x3e], cx
mov ecx, ebp
shr ecx, 0x14
and ecx, 0xf
cmp ecx, 0xa
sbb eax, eax
and eax, 0xfffffff9
add eax, 0x37
add cx, ax
mov word [esp + 0x40], cx
mov ecx, ebp
shr ecx, 0x10
and ecx, 0xf
cmp ecx, 0xa
sbb eax, eax
and eax, 0xfffffff9
add eax, 0x37
add cx, ax
mov word [esp + 0x42], cx
mov ecx, ebp
shr ecx, 0xc
and ecx, 0xf
cmp ecx, 0xa
sbb eax, eax
and eax, 0xfffffff9
add eax, 0x37
add cx, ax
mov word [esp + 0x44], cx
mov ecx, ebp
shr ecx, 8
and ecx, 0xf
cmp ecx, 0xa
sbb eax, eax
and eax, 0xfffffff9
add eax, 0x37
add cx, ax
mov word [esp + 0x46], cx
mov ecx, ebp
shr ecx, 4
and ecx, 0xf
cmp ecx, 0xa
sbb eax, eax
and eax, 0xfffffff9
add eax, 0x37
add cx, ax
mov word [esp + 0x48], cx
mov ecx, ebp
and ecx, 0xf
cmp ecx, 0xa
sbb eax, eax
and eax, 0xfffffff9
add eax, 0x37
add cx, ax
lea eax, [esp + 0x38]
push eax
mov word [esp + 0x4e], cx
call edi
test ebx, ebx
jne 0x40a86e
cmp dword [0x447164], ebx
je 0x40a8aa
mov esi, dword [0x4499dc]
xor eax, eax
mov dword [esp + 0x30], 0x2000100
mov word [esp + 0x34], ax
mov dword [esp + 0x20], 0x41fcc608
mov dword [esp + 0x24], 0x4def8496
mov dword [esp + 0x28], 0x9b7d3eb4
mov dword [esp + 0x2c], 0xffa675d6
mov dword [0x447164], eax
test esi, esi
jne 0x40a65b
push 0x43e12c
call fcn.00408ef0
mov edi, eax
add esp, 4
xor eax, eax
cmp eax, 0x43e12c
je 0x40a639
test edi, edi
je 0x40a646
push 0
push 0
push edi
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov esi, eax
push edi
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov dword [0x4499dc], esi
test esi, esi
je 0x40a8ba
cmp dword [0x4499e0], 0
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
jne 0x40a685
push str.RegOpenKeyExW
push esi
call edi
mov dword [0x4499e0], eax
test eax, eax
je 0x40a8ba
mov esi, dword [0x4499dc]
cmp dword [0x4499e4], 0
jne 0x40a6a9
push str.RegEnumValueW
push esi
call edi
mov dword [0x4499e4], eax
test eax, eax
je 0x40a8ba
mov esi, dword [0x4499dc]
cmp dword [0x4499ec], 0
jne 0x40a6c7
push 0x43e4b8
push esi
call edi
mov dword [0x4499ec], eax
test eax, eax
je 0x40a8ba
cmp dword [0x449838], 0
jne 0x40a6fa
push 0
push str.Ole32.dll
call fcn.0040a430
add esp, 8
mov dword [0x449838], eax
test eax, eax
je 0x40a6fa
push str.StringFromGUID2
push eax
call edi
mov esi, eax
mov dword [0x44983c], esi
jmp 0x40a700
mov esi, dword [0x44983c]
test esi, esi
je 0x40a8ba
push 0x4e
lea eax, [esp + 0x54]
push 0
push eax
call fcn.0040e4b0
add esp, 0xc
lea eax, [esp + 0x50]
push 0x27
push eax
lea eax, [esp + 0x28]
push eax
call esi
cmp eax, 0x27
jne 0x40a8ba
lea ebp, [esp + 0x30]
jmp 0x40a740
movzx eax, word [ebp]
test ax, ax
je 0x40a89f
lea ecx, [esp + 0x10]
mov dword [esp + 0x10], 0
push ecx
or eax, 0x20019
push eax
push 0
push str.SOFTWARENVIDIA_CorporationGlobal
push 0x80000002
call dword [0x4499e0]
test eax, eax
jne 0x40a863
xor esi, esi
xor edi, edi
mov edi, edi
push 0x100
lea eax, [esp + 0xa4]
mov dword [esp + 0x18], 0x80
push 0
push eax
mov dword [esp + 0x24], 4
call fcn.0040e4b0
add esp, 0xc
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x20]
push eax
push 0
push 0
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0xb4]
push eax
push esi
push dword [esp + 0x2c]
call dword [0x4499e4]
inc esi
test eax, eax
jne 0x40a841
lea eax, [esp + 0x50]
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x40a7e0
sub eax, edx
sar eax, 1
cmp eax, dword [esp + 0x14]
jne 0x40a780
lea ecx, [esp + 0xa0]
lea eax, [esp + 0x50]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x40a826
test dx, dx
je 0x40a822
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x40a826
add eax, 4
add ecx, 4
test dx, dx
jne 0x40a800
xor eax, eax
jmp 0x40a82b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40a780
cmp dword [esp + 0x1c], eax
setne al
or edi, eax
jmp 0x40a780
cmp eax, 0x103
jne 0x40a780
push dword [esp + 0x10]
call dword [0x4499ec]
xor ebx, ebx
test edi, edi
setne bl
mov dword [0x449840], ebx
add ebp, 2
test ebx, ebx
je 0x40a740
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 + 0x1a0]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0040e49c
add esp, 0x194
ret
test ebx, ebx
jne 0x40a86e
mov ebp, dword [esp + 0x1ac]
cmp dword [0x449840], 0
jne 0x40a86e
push ebp
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
jmp 0x40a886