Function at 0x4b8ee0
Capabilities:
Contain obfuscated stackstrings
Decode data using base64 via winapi
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d4ab8
mov eax, dword fs:[0]
push eax
push ecx
sub esp, 0xf40
push ebx
push esi
push edi
push ecx
lea edi, [ebp - 0xf50]
mov ecx, 0x3d0
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
pop ecx
mov eax, dword [0x51e710]
xor eax, ebp
mov dword [ebp - 0x14], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0xb58], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 4], 0
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x24]
call fcn.004add60
mov dword [ebp - 0xb5c], eax
mov byte [ebp - 4], 1
push 0x4e7454
push 0x4e7458
lea ecx, [ebp - 0x24]
call fcn.004beb60
push 0
push str.c:CertificateCollection
lea ecx, [ebp - 0x24]
call fcn.0045f220
push eax
lea ecx, [ebp - 0x30]
push ecx
call fcn.004bfb90
add esp, 0x10
mov dword [ebp - 0xb60], eax
mov byte [ebp - 4], 2
push 0
push 0x4e7474
lea ecx, [ebp - 0x30]
call fcn.004c1850
mov dword [ebp - 0xb64], eax
mov edx, dword [ebp - 0xb64]
push edx
lea ecx, [ebp - 0x704]
call fcn.004add60
mov dword [ebp - 0xb68], eax
mov eax, dword [ebp - 0xb68]
mov dword [ebp - 0xb6c], eax
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0xb58]
or ecx, 1
mov dword [ebp - 0xb58], ecx
mov ecx, dword [ebp - 0xb6c]
call fcn.004beac0
movzx edx, al
test edx, edx
jne 0x4b9035
push 0
push str.c:Version
lea ecx, [ebp - 0x30]
call fcn.004c1850
mov dword [ebp - 0xb70], eax
mov eax, dword [ebp - 0xb70]
push eax
call fcn.004cca21
add esp, 4
fstp qword [ebp - 0xb78]
movsd xmm0, qword [0x4e91f8]
comisd xmm0, xmmword [ebp - 0xb78]
ja 0x4b9035
mov dword [ebp - 0xb7c], 0
jmp 0x4b903f
mov dword [ebp - 0xb7c], 1
mov cl, byte [ebp - 0xb7c]
mov byte [ebp - 0x6fd], cl
mov dword [ebp - 4], 2
mov edx, dword [ebp - 0xb58]
and edx, 1
je 0x4b906f
and dword [ebp - 0xb58], 0xfffffffe
lea ecx, [ebp - 0x704]
call fcn.004adf80
movzx eax, byte [ebp - 0x6fd]
test eax, eax
je 0x4b914c
mov dword [ebp - 0x1c], 0x66
push 0x21d
push ecx
mov ecx, esp
mov dword [ebp - 0x728], esp
push 0x4e748c
call fcn.004add60
mov dword [ebp - 0xb80], eax
mov ecx, dword [ebp - 0xb80]
mov dword [ebp - 0xb84], ecx
mov byte [ebp - 4], 4
push ecx
mov ecx, esp
mov dword [ebp - 0x72c], esp
push str.getAttribute_Version
call fcn.004add60
mov dword [ebp - 0xb88], eax
mov edx, dword [ebp - 0xb88]
mov dword [ebp - 0xb8c], edx
mov byte [ebp - 4], 5
push ecx
mov ecx, esp
mov dword [ebp - 0x730], esp
push str.ValidateDriverCertificate__Invalid_Certificate_version
call fcn.004add60
mov dword [ebp - 0xb90], eax
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x724]
call fcn.004ade60
mov dword [ebp - 0xb94], eax
mov eax, dword [ebp - 0xb94]
mov dword [ebp - 0xb98], eax
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0xb98]
push ecx
lea ecx, [ebp - 0x714]
call fcn.004ab000
push 0x519084
lea edx, [ebp - 0x714]
push edx
call fcn.0048a653
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x724]
call fcn.004ab2c0
push ecx
mov ecx, esp
mov dword [ebp - 0x734], esp
push str._____________________________________________________________________n
call fcn.004add60
mov dword [ebp - 0xb9c], eax
call fcn.004ae050
add esp, 4
push ecx
mov ecx, esp
mov dword [ebp - 0x738], esp
lea eax, [ebp - 0x24]
push eax
call fcn.004add30
mov dword [ebp - 0xba0], eax
call fcn.004ae050
add esp, 4
lea ecx, [ebp - 0x3c]
call fcn.004ade30
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x24]
call fcn.0045f210
push eax
push str._n_____________________________________________________________________certLen:_d__n
lea ecx, [ebp - 0x3c]
push ecx
call fcn.004ae100
add esp, 0xc
push ecx
mov ecx, esp
mov dword [ebp - 0x73c], esp
lea edx, [ebp - 0x3c]
push edx
call fcn.004add30
mov dword [ebp - 0xba4], eax
call fcn.004ae050
add esp, 4
push fcn.004adf80
push fcn.004ade30
push 3
push 4
lea eax, [ebp - 0x50]
push eax
call fcn.0048a048
mov byte [ebp - 4], 8
push fcn.004adf80
push fcn.004ade30
push 3
push 4
lea ecx, [ebp - 0x64]
push ecx
call fcn.0048a048
mov byte [ebp - 4], 9
push 0x4e75b4
lea ecx, [ebp - 0x30]
call fcn.004c1550
mov dword [ebp - 0xba8], eax
cmp dword [ebp - 0xba8], 3
je 0x4b92f7
mov dword [ebp - 0x1c], 0x67
push 0x22b
push ecx
mov ecx, esp
mov dword [ebp - 0x760], esp
push 0x4e7504
call fcn.004add60
mov dword [ebp - 0xbac], eax
mov edx, dword [ebp - 0xbac]
mov dword [ebp - 0xbb0], edx
mov byte [ebp - 4], 0xa
push ecx
mov ecx, esp
mov dword [ebp - 0x764], esp
push str.nChildNode
call fcn.004add60
mov dword [ebp - 0xbb4], eax
mov eax, dword [ebp - 0xbb4]
mov dword [ebp - 0xbb8], eax
mov byte [ebp - 4], 0xb
push ecx
mov ecx, esp
mov dword [ebp - 0x768], esp
push 0x4e75d0
call fcn.004add60
mov dword [ebp - 0xbbc], eax
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x75c]
call fcn.004ade60
mov dword [ebp - 0xbc0], eax
mov ecx, dword [ebp - 0xbc0]
mov dword [ebp - 0xbc4], ecx
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0xbc4]
push edx
lea ecx, [ebp - 0x74c]
call fcn.004ab000
push 0x519084
lea eax, [ebp - 0x74c]
push eax
call fcn.0048a653
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x75c]
call fcn.004ab2c0
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x70], 0
jmp 0x4b930f
mov edx, dword [ebp - 0x70]
add edx, 1
mov dword [ebp - 0x70], edx
push 0x4e7608
lea ecx, [ebp - 0x30]
call fcn.004c1550
mov dword [ebp - 0xbc8], eax
mov eax, dword [ebp - 0x70]
cmp eax, dword [ebp - 0xbc8]
jge 0x4bb49a
mov ecx, dword [ebp - 0x70]
push ecx
push 0x4e7618
lea edx, [ebp - 0x76c]
push edx
lea ecx, [ebp - 0x30]
call fcn.004c0ca0
mov dword [ebp - 0xbcc], eax
mov eax, dword [ebp - 0xbcc]
mov dword [ebp - 0xbd0], eax
mov byte [ebp - 4], 0xd
push 0
push str.c:Data
lea ecx, [ebp - 0x78]
push ecx
mov ecx, dword [ebp - 0xbd0]
call fcn.004c0e20
mov dword [ebp - 0xbd4], eax
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x76c]
call fcn.004c2080
push 0
push str.c:PublicKey
lea edx, [ebp - 0x84]
push edx
lea ecx, [ebp - 0x78]
call fcn.004c0e20
mov dword [ebp - 0xbd8], eax
mov byte [ebp - 4], 0x10
push 0
push 0x4e7650
lea eax, [ebp - 0x770]
push eax
lea ecx, [ebp - 0x84]
call fcn.004c0e20
mov dword [ebp - 0xbdc], eax
mov ecx, dword [ebp - 0xbdc]
mov dword [ebp - 0xbe0], ecx
mov byte [ebp - 4], 0x11
push 0
push 0x4e765c
lea edx, [ebp - 0x774]
push edx
mov ecx, dword [ebp - 0xbe0]
call fcn.004c0e20
mov dword [ebp - 0xbe4], eax
mov eax, dword [ebp - 0xbe4]
mov dword [ebp - 0xbe8], eax
mov byte [ebp - 4], 0x12
push 0
push 0x4e7668
lea ecx, [ebp - 0x778]
push ecx
mov ecx, dword [ebp - 0xbe8]
call fcn.004c0e20
mov dword [ebp - 0xbec], eax
mov edx, dword [ebp - 0xbec]
mov dword [ebp - 0xbf0], edx
mov byte [ebp - 4], 0x13
push 0
mov ecx, dword [ebp - 0xbf0]
call fcn.004c0b20
mov dword [ebp - 0xbf4], eax
mov eax, dword [ebp - 0xbf4]
push eax
lea ecx, [ebp - 0x90]
call fcn.004add60
mov dword [ebp - 0xbf8], eax
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x778]
call fcn.004c2080
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x774]
call fcn.004c2080
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x770]
call fcn.004c2080
lea ecx, [ebp - 0x90]
call fcn.004beac0
movzx ecx, al
test ecx, ecx
je 0x4b9573
mov dword [ebp - 0x1c], 0x68
push 0x242
push ecx
mov ecx, esp
mov dword [ebp - 0x79c], esp
push 0x4e7670
call fcn.004add60
mov dword [ebp - 0xbfc], eax
mov edx, dword [ebp - 0xbfc]
mov dword [ebp - 0xc00], edx
mov byte [ebp - 4], 0x18
push ecx
mov ecx, esp
mov dword [ebp - 0x7a0], esp
push 0x4e7684
call fcn.004add60
mov dword [ebp - 0xc04], eax
mov eax, dword [ebp - 0xc04]
mov dword [ebp - 0xc08], eax
mov byte [ebp - 4], 0x19
push ecx
mov ecx, esp
mov dword [ebp - 0x7a4], esp
push 0x4e76a0
call fcn.004add60
mov dword [ebp - 0xc0c], eax
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x798]
call fcn.004ade60
mov dword [ebp - 0xc10], eax
mov ecx, dword [ebp - 0xc10]
mov dword [ebp - 0xc14], ecx
mov byte [ebp - 4], 0x1a
mov edx, dword [ebp - 0xc14]
push edx
lea ecx, [ebp - 0x788]
call fcn.004ab000
push 0x519084
lea eax, [ebp - 0x788]
push eax
call fcn.0048a653
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x798]
call fcn.004ab2c0
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xb4], 0
mov esi, esp
lea ecx, [ebp - 0xb4]
push ecx
lea edx, [ebp - 0xa8]
push edx
lea eax, [ebp - 0x9c]
push eax
push 0
push 1
lea ecx, [ebp - 0x90]
call fcn.0045f210
push eax
lea ecx, [ebp - 0x90]
call fcn.0045f220
push eax
call dword [sym.imp.CRYPT32.dll_CryptStringToBinaryA]
cmp esi, esp
call fcn.004cc645
cmp dword [ebp - 0x70], 2
jge 0x4b95e3
cmp dword [ebp - 0x9c], 0x100
jne 0x4b95fd
cmp dword [ebp - 0x70], 2
jne 0x4b96cb
cmp dword [ebp - 0x9c], 0x80
je 0x4b96cb
mov dword [ebp - 0x1c], 0x69
push 0x24b
push ecx
mov ecx, esp
mov dword [ebp - 0x7c8], esp
push 0x4e768c
call fcn.004add60
mov dword [ebp - 0xc18], eax
mov ecx, dword [ebp - 0xc18]
mov dword [ebp - 0xc1c], ecx
mov byte [ebp - 4], 0x1b
push ecx
mov ecx, esp
mov dword [ebp - 0x7cc], esp
push 0x4e76e4
call fcn.004add60
mov dword [ebp - 0xc20], eax
mov edx, dword [ebp - 0xc20]
mov dword [ebp - 0xc24], edx
mov byte [ebp - 4], 0x1c
push ecx
mov ecx, esp
mov dword [ebp - 0x7d0], esp
push 0x4e76f8
call fcn.004add60
mov dword [ebp - 0xc28], eax
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x7c4]
call fcn.004ade60
mov dword [ebp - 0xc2c], eax
mov eax, dword [ebp - 0xc2c]
mov dword [ebp - 0xc30], eax
mov byte [ebp - 4], 0x1d
mov ecx, dword [ebp - 0xc30]
push ecx
lea ecx, [ebp - 0x7b4]
call fcn.004ab000
push 0x519084
lea edx, [ebp - 0x7b4]
push edx
call fcn.0048a653
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x7c4]
call fcn.004ab2c0
push 0
push 0x4e773c
lea eax, [ebp - 0x7d4]
push eax
lea ecx, [ebp - 0x84]
call fcn.004c0e20
mov dword [ebp - 0xc34], eax
mov ecx, dword [ebp - 0xc34]
mov dword [ebp - 0xc38], ecx
mov byte [ebp - 4], 0x1e
push 0
push 0x4e7748
lea edx, [ebp - 0x7d8]
push edx
mov ecx, dword [ebp - 0xc38]
call fcn.004c0e20
mov dword [ebp - 0xc3c], eax
mov eax, dword [ebp - 0xc3c]
mov dword [ebp - 0xc40], eax
mov byte [ebp - 4], 0x1f
push 0
push 0x4e7754
lea ecx, [ebp - 0x7dc]
push ecx
mov ecx, dword [ebp - 0xc40]
call fcn.004c0e20
mov dword [ebp - 0xc44], eax
mov edx, dword [ebp - 0xc44]
mov dword [ebp - 0xc48], edx
mov byte [ebp - 4], 0x20
push 0
mov ecx, dword [ebp - 0xc48]
call fcn.004c0b20
mov dword [ebp - 0xc4c], eax
mov eax, dword [ebp - 0xc4c]
push eax
lea ecx, [ebp - 0xc0]
call fcn.004add60
mov dword [ebp - 0xc50], eax
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x7dc]
call fcn.004c2080
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x7d8]
call fcn.004c2080
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x7d4]
call fcn.004c2080
lea ecx, [ebp - 0xc0]
call fcn.004beac0
movzx ecx, al
test ecx, ecx
je 0x4b9894
mov dword [ebp - 0x1c], 0x6a
push 0x256
push ecx
mov ecx, esp
mov dword [ebp - 0x800], esp
push 0x4e7770
call fcn.004add60
mov dword [ebp - 0xc54], eax
mov edx, dword [ebp - 0xc54]
mov dword [ebp - 0xc58], edx
mov byte [ebp - 4], 0x25
push ecx
mov ecx, esp
mov dword [ebp - 0x804], esp
push 0x4e7784
call fcn.004add60
mov dword [ebp - 0xc5c], eax
mov eax, dword [ebp - 0xc5c]
mov dword [ebp - 0xc60], eax
mov byte [ebp - 4], 0x26
push ecx
mov ecx, esp
mov dword [ebp - 0x808], esp
push str.ValidateDriverCertificate__Invalid_Certificate_format_:_No_exponent
call fcn.004add60
mov dword [ebp - 0xc64], eax
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x7fc]
call fcn.004ade60
mov dword [ebp - 0xc68], eax
mov ecx, dword [ebp - 0xc68]
mov dword [ebp - 0xc6c], ecx
mov byte [ebp - 4], 0x27
mov edx, dword [ebp - 0xc6c]
push edx
lea ecx, [ebp - 0x7ec]
call fcn.004ab000
push 0x519084
lea eax, [ebp - 0x7ec]
push eax
call fcn.0048a653
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x7fc]
call fcn.004ab2c0
mov esi, esp
lea ecx, [ebp - 0xb4]
push ecx
lea edx, [ebp - 0xa8]
push edx
lea eax, [ebp - 0x9c]
push eax
push 0
push 1
lea ecx, [ebp - 0xc0]
call fcn.0045f210
push eax
lea ecx, [ebp - 0xc0]
call fcn.0045f220
push eax
call dword [sym.imp.CRYPT32.dll_CryptStringToBinaryA]
cmp esi, esp
call fcn.004cc645
cmp dword [ebp - 0x9c], 4
jbe 0x4b99af
mov dword [ebp - 0x1c], 0x6b
push 0x25c
push ecx
mov ecx, esp
mov dword [ebp - 0x82c], esp
push 0x4e778c
call fcn.004add60
mov dword [ebp - 0xc70], eax
mov ecx, dword [ebp - 0xc70]
mov dword [ebp - 0xc74], ecx
mov byte [ebp - 4], 0x28
push ecx
mov ecx, esp
mov dword [ebp - 0x830], esp
push 0x4e77e4
call fcn.004add60
mov dword [ebp - 0xc78], eax
mov edx, dword [ebp - 0xc78]
mov dword [ebp - 0xc7c], edx
mov byte [ebp - 4], 0x29
push ecx
mov ecx, esp
mov dword [ebp - 0x834], esp
push 0x4e77f8
call fcn.004add60
mov dword [ebp - 0xc80], eax
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x828]
call fcn.004ade60
mov dword [ebp - 0xc84], eax
mov eax, dword [ebp - 0xc84]
mov dword [ebp - 0xc88], eax
mov byte [ebp - 4], 0x2a
mov ecx, dword [ebp - 0xc88]
push ecx
lea ecx, [ebp - 0x818]
call fcn.004ab000
push 0x519084
lea edx, [ebp - 0x818]
push edx
call fcn.0048a653
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x828]
call fcn.004ab2c0
cmp dword [ebp - 0x70], 0
jne 0x4b9cc0
push 0
push 0x4e7844
lea eax, [ebp - 0x83c]
push eax
lea ecx, [ebp - 0x78]
call fcn.004c0e20
mov dword [ebp - 0xc8c], eax
mov ecx, dword [ebp - 0xc8c]
mov dword [ebp - 0xc90], ecx
mov byte [ebp - 4], 0x2b
push 0
push str.c:EncryptKey
lea edx, [ebp - 0x840]
push edx
mov ecx, dword [ebp - 0xc90]
call fcn.004c0e20
mov dword [ebp - 0xc94], eax
mov eax, dword [ebp - 0xc94]
mov dword [ebp - 0xc98], eax
mov byte [ebp - 4], 0x2c
push 0
mov ecx, dword [ebp - 0xc98]
call fcn.004c0b20
mov dword [ebp - 0xc9c], eax
push 0x4e7840
mov ecx, dword [ebp - 0xc9c]
push ecx
call fcn.004905c0
add esp, 8
mov dword [ebp - 0x838], eax
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x840]
call fcn.004c2080
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x83c]
call fcn.004c2080
cmp dword [ebp - 0x838], 0
je 0x4b9b3a
mov dword [ebp - 0x1c], 0x6c
push 0x269
push ecx
mov ecx, esp
mov dword [ebp - 0x864], esp
push 0x4e7860
call fcn.004add60
mov dword [ebp - 0xca0], eax
mov edx, dword [ebp - 0xca0]
mov dword [ebp - 0xca4], edx
mov byte [ebp - 4], 0x2d
push ecx
mov ecx, esp
mov dword [ebp - 0x868], esp
push 0x4e7874
call fcn.004add60
mov dword [ebp - 0xca8], eax
mov eax, dword [ebp - 0xca8]
mov dword [ebp - 0xcac], eax
mov byte [ebp - 4], 0x2e
push ecx
mov ecx, esp
mov dword [ebp - 0x86c], esp
push 0x4e787c
call fcn.004add60
mov dword [ebp - 0xcb0], eax
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x860]
call fcn.004ade60
mov dword [ebp - 0xcb4], eax
mov ecx, dword [ebp - 0xcb4]
mov dword [ebp - 0xcb8], ecx
mov byte [ebp - 4], 0x2f
mov edx, dword [ebp - 0xcb8]
push edx
lea ecx, [ebp - 0x850]
call fcn.004ab000
push 0x519084
lea eax, [ebp - 0x850]
push eax
call fcn.0048a653
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x860]
call fcn.004ab2c0
push 0
push str.c:Features
lea ecx, [ebp - 0x874]
push ecx
lea ecx, [ebp - 0x78]
call fcn.004c0e20
mov dword [ebp - 0xcbc], eax
mov edx, dword [ebp - 0xcbc]
mov dword [ebp - 0xcc0], edx
mov byte [ebp - 4], 0x30
push 0
push str.c:COPPCertificate
lea eax, [ebp - 0x878]
push eax
mov ecx, dword [ebp - 0xcc0]
call fcn.004c0e20
mov dword [ebp - 0xcc4], eax
mov ecx, dword [ebp - 0xcc4]
mov dword [ebp - 0xcc8], ecx
mov byte [ebp - 4], 0x31
push 0
mov ecx, dword [ebp - 0xcc8]
call fcn.004c0b20
mov dword [ebp - 0xccc], eax
push 0x4e78b4
mov edx, dword [ebp - 0xccc]
push edx
call fcn.004905c0
add esp, 8
mov dword [ebp - 0x870], eax
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x878]
call fcn.004c2080
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x874]
call fcn.004c2080
cmp dword [ebp - 0x870], 0
je 0x4b9cbb
mov dword [ebp - 0x1c], 0x6c
push 0x26e
push ecx
mov ecx, esp
mov dword [ebp - 0x89c], esp
push 0x4e78d8
call fcn.004add60
mov dword [ebp - 0xcd0], eax
mov eax, dword [ebp - 0xcd0]
mov dword [ebp - 0xcd4], eax
mov byte [ebp - 4], 0x32
push ecx
mov ecx, esp
mov dword [ebp - 0x8a0], esp
push 0x4e78fc
call fcn.004add60
mov dword [ebp - 0xcd8], eax
mov ecx, dword [ebp - 0xcd8]
mov dword [ebp - 0xcdc], ecx
mov byte [ebp - 4], 0x33
push ecx
mov ecx, esp
mov dword [ebp - 0x8a4], esp
push 0x4e7904
call fcn.004add60
mov dword [ebp - 0xce0], eax
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x898]
call fcn.004ade60
mov dword [ebp - 0xce4], eax
mov edx, dword [ebp - 0xce4]
mov dword [ebp - 0xce8], edx
mov byte [ebp - 4], 0x34
mov eax, dword [ebp - 0xce8]
push eax
lea ecx, [ebp - 0x888]
call fcn.004ab000
push 0x519084
lea ecx, [ebp - 0x888]
push ecx
call fcn.0048a653
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x898]
call fcn.004ab2c0
jmp 0x4ba021
mov edx, dword [ebp - 0x70]
lea eax, [ebp + edx*4 - 0x54]
push eax
lea ecx, [ebp - 0x90]
push ecx
call fcn.004be580
add esp, 8
movzx edx, al
test edx, edx
je 0x4b9db0
mov dword [ebp - 0x1c], 0x69
push 0x27c
push ecx
mov ecx, esp
mov dword [ebp - 0x8c8], esp
push 0x4e793c
call fcn.004add60
mov dword [ebp - 0xcec], eax
mov eax, dword [ebp - 0xcec]
mov dword [ebp - 0xcf0], eax
mov byte [ebp - 4], 0x35
push ecx
mov ecx, esp
mov dword [ebp - 0x8cc], esp
push 0x4e7950
call fcn.004add60
mov dword [ebp - 0xcf4], eax
mov ecx, dword [ebp - 0xcf4]
mov dword [ebp - 0xcf8], ecx
mov byte [ebp - 4], 0x36
push ecx
mov ecx, esp
mov dword [ebp - 0x8d0], esp
push 0x4e7968
call fcn.004add60
mov dword [ebp - 0xcfc], eax
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x8c4]
call fcn.004ade60
mov dword [ebp - 0xd00], eax
mov edx, dword [ebp - 0xd00]
mov dword [ebp - 0xd04], edx
mov byte [ebp - 4], 0x37
mov eax, dword [ebp - 0xd04]
push eax
lea ecx, [ebp - 0x8b4]
call fcn.004ab000
push 0x519084
lea ecx, [ebp - 0x8b4]
push ecx
call fcn.0048a653
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x8c4]
call fcn.004ab2c0
mov edx, dword [ebp - 0x70]
lea eax, [ebp + edx*4 - 0x68]
push eax
lea ecx, [ebp - 0xc0]
push ecx
call fcn.004be580
add esp, 8
movzx edx, al
test edx, edx
je 0x4b9ea0
mov dword [ebp - 0x1c], 0x6b
push 0x281
push ecx
mov ecx, esp
mov dword [ebp - 0x8f4], esp
push 0x4e7a40
call fcn.004add60
mov dword [ebp - 0xd08], eax
mov eax, dword [ebp - 0xd08]
mov dword [ebp - 0xd0c], eax
mov byte [ebp - 4], 0x38
push ecx
mov ecx, esp
mov dword [ebp - 0x8f8], esp
push 0x4e7a78
call fcn.004add60
mov dword [ebp - 0xd10], eax
mov ecx, dword [ebp - 0xd10]
mov dword [ebp - 0xd14], ecx
mov byte [ebp - 4], 0x39
push ecx
mov ecx, esp
mov dword [ebp - 0x8fc], esp
push str.ValidateDriverCertificate__Invalid_Certificate_format_:_bad_modulus
call fcn.004add60
mov dword [ebp - 0xd18], eax
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x8f0]
call fcn.004ade60
mov dword [ebp - 0xd1c], eax
mov edx, dword [ebp - 0xd1c]
mov dword [ebp - 0xd20], edx
mov byte [ebp - 4], 0x3a
mov eax, dword [ebp - 0xd20]
push eax
lea ecx, [ebp - 0x8e0]
call fcn.004ab000
push 0x519084
lea ecx, [ebp - 0x8e0]
push ecx
call fcn.0048a653
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x8f0]
call fcn.004ab2c0
push 0
push str.c:KeyUsage
lea edx, [ebp - 0x904]
push edx
lea ecx, [ebp - 0x78]
call fcn.004c0e20
mov dword [ebp - 0xd24], eax
mov eax, dword [ebp - 0xd24]
mov dword [ebp - 0xd28], eax
mov byte [ebp - 4], 0x3b
push 0
push str.c:SignCertificate
lea ecx, [ebp - 0x908]
push ecx
mov ecx, dword [ebp - 0xd28]
call fcn.004c0e20
mov dword [ebp - 0xd2c], eax
mov edx, dword [ebp - 0xd2c]
mov dword [ebp - 0xd30], edx
mov byte [ebp - 4], 0x3c
push 0
mov ecx, dword [ebp - 0xd30]
call fcn.004c0b20
mov dword [ebp - 0xd34], eax
push 0x4e7b6c
mov eax, dword [ebp - 0xd34]
push eax
call fcn.004905c0
add esp, 8
mov dword [ebp - 0x900], eax
mov byte [ebp - 4], 0x3b
lea ecx, [ebp - 0x908]
call fcn.004c2080
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x904]
call fcn.004c2080
cmp dword [ebp - 0x900], 0
je 0x4ba021
mov dword [ebp - 0x1c], 0x6e
push 0x287
push ecx
mov ecx, esp
mov dword [ebp - 0x92c], esp
push 0x4e7bd8
call fcn.004add60
mov dword [ebp - 0xd38], eax
mov ecx, dword [ebp - 0xd38]
mov dword [ebp - 0xd3c], ecx
mov byte [ebp - 4], 0x3d
push ecx
mov ecx, esp
mov dword [ebp - 0x930], esp
push 0x4e7bec
call fcn.004add60
mov dword [ebp - 0xd40], eax
mov edx, dword [ebp - 0xd40]
mov dword [ebp - 0xd44], edx
mov byte [ebp - 4], 0x3e
push ecx
mov ecx, esp
mov dword [ebp - 0x934], esp
push str.ValidateDriverCertificate__Invalid_Certificate_format
call fcn.004add60
mov dword [ebp - 0xd48], eax
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x928]
call fcn.004ade60
mov dword [ebp - 0xd4c], eax
mov eax, dword [ebp - 0xd4c]
mov dword [ebp - 0xd50], eax
mov byte [ebp - 4], 0x3f
mov ecx, dword [ebp - 0xd50]
push ecx
lea ecx, [ebp - 0x918]
call fcn.004ab000
push 0x519084
lea edx, [ebp - 0x918]
push edx
call fcn.0048a653
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x928]
call fcn.004ab2c0
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xcc], 0
push str._Data
mov eax, dword [ebp - 0x6c]
push eax
call fcn.004b7530
add esp, 8
mov dword [ebp - 0xd54], eax
mov ecx, dword [ebp - 0xd54]
mov dword [ebp - 0xc8], ecx
cmp dword [ebp - 0xc8], 0
jne 0x4ba084
push str.:Data
mov edx, dword [ebp - 0x6c]
push edx
call fcn.004b7530
add esp, 8
mov dword [ebp - 0xd58], eax
mov eax, dword [ebp - 0xd58]
mov dword [ebp - 0xc8], eax
mov ecx, dword [ebp - 0xc8]
movsx edx, byte [ecx]
cmp edx, 0x3c
je 0x4ba0a3
mov eax, dword [ebp - 0xc8]
sub eax, 1
mov dword [ebp - 0xc8], eax
jmp 0x4ba084
push str.__Data_
mov ecx, dword [ebp - 0xc8]
add ecx, 1
push ecx
call fcn.004b7530
add esp, 8
mov dword [ebp - 0xd5c], eax
mov edx, dword [ebp - 0xd5c]
mov dword [ebp - 0xcc], edx
cmp dword [ebp - 0xcc], 0
jne 0x4ba0fe
push str.:Data_
mov eax, dword [ebp - 0xc8]
add eax, 5
push eax
call fcn.004b7530
add esp, 8
mov dword [ebp - 0xd60], eax
mov ecx, dword [ebp - 0xd60]
mov dword [ebp - 0xcc], ecx
mov edx, dword [ebp - 0xcc]
movsx eax, byte [edx]
cmp eax, 0x3e
je 0x4ba11d
mov ecx, dword [ebp - 0xcc]
add ecx, 1
mov dword [ebp - 0xcc], ecx
jmp 0x4ba0fe
mov edx, dword [ebp - 0xcc]
add edx, 1
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0x6c], eax
lea ecx, [ebp - 0x12c]
push ecx
call fcn.004c7aa0
add esp, 4
mov edx, dword [ebp - 0xcc]
sub edx, dword [ebp - 0xc8]
push edx
mov eax, dword [ebp - 0xc8]
push eax
lea ecx, [ebp - 0x12c]
push ecx
call fcn.004c7b30
add esp, 0xc
lea edx, [ebp - 0x12c]
push edx
lea eax, [ebp - 0x164]
push eax
call fcn.004c7c90
add esp, 8
mov ecx, dword [ebp - 0x70]
push ecx
push 0x4e7c5c
lea edx, [ebp - 0x938]
push edx
lea ecx, [ebp - 0x30]
call fcn.004c0ca0
mov dword [ebp - 0xd64], eax
mov eax, dword [ebp - 0xd64]
mov dword [ebp - 0xd68], eax
mov byte [ebp - 4], 0x40
push 0
push str.Signature
lea ecx, [ebp - 0x170]
push ecx
mov ecx, dword [ebp - 0xd68]
call fcn.004c0e20
mov dword [ebp - 0xd6c], eax
mov byte [ebp - 4], 0x42
lea ecx, [ebp - 0x938]
call fcn.004c2080
push 0
push str.SignedInfo
lea edx, [ebp - 0x93c]
push edx
lea ecx, [ebp - 0x170]
call fcn.004c0e20
mov dword [ebp - 0xd70], eax
mov eax, dword [ebp - 0xd70]
mov dword [ebp - 0xd74], eax
mov byte [ebp - 4], 0x43
push 0
push str.Reference
lea ecx, [ebp - 0x940]
push ecx
mov ecx, dword [ebp - 0xd74]
call fcn.004c0e20
mov dword [ebp - 0xd78], eax
mov edx, dword [ebp - 0xd78]
mov dword [ebp - 0xd7c], edx
mov byte [ebp - 4], 0x44
push 0
push str.DigestValue
lea eax, [ebp - 0x944]
push eax
mov ecx, dword [ebp - 0xd7c]
call fcn.004c0e20
mov dword [ebp - 0xd80], eax
mov ecx, dword [ebp - 0xd80]
mov dword [ebp - 0xd84], ecx
mov byte [ebp - 4], 0x45
push 0
mov ecx, dword [ebp - 0xd84]
call fcn.004c0b20
mov dword [ebp - 0xd88], eax
mov edx, dword [ebp - 0xd88]
push edx
lea ecx, [ebp - 0x17c]
call fcn.004add60
mov dword [ebp - 0xd8c], eax
mov byte [ebp - 4], 0x47
lea ecx, [ebp - 0x944]
call fcn.004c2080
mov byte [ebp - 4], 0x48
lea ecx, [ebp - 0x940]
call fcn.004c2080
mov byte [ebp - 4], 0x49
lea ecx, [ebp - 0x93c]
call fcn.004c2080
lea ecx, [ebp - 0x17c]
call fcn.004beac0
movzx eax, al
test eax, eax
je 0x4ba3a2
mov dword [ebp - 0x1c], 0x6f
push 0x2af
push ecx
mov ecx, esp
mov dword [ebp - 0x968], esp
push 0x4e7c9c
call fcn.004add60
mov dword [ebp - 0xd90], eax
mov ecx, dword [ebp - 0xd90]
mov dword [ebp - 0xd94], ecx
mov byte [ebp - 4], 0x4a
push ecx
mov ecx, esp
mov dword [ebp - 0x96c], esp
push 0x4e7cb0
call fcn.004add60
mov dword [ebp - 0xd98], eax
mov edx, dword [ebp - 0xd98]
mov dword [ebp - 0xd9c], edx
mov byte [ebp - 4], 0x4b
push ecx
mov ecx, esp
mov dword [ebp - 0x970], esp
push 0x4e7cb8
call fcn.004add60
mov dword [ebp - 0xda0], eax
mov byte [ebp - 4], 0x49
lea ecx, [ebp - 0x964]
call fcn.004ade60
mov dword [ebp - 0xda4], eax
mov eax, dword [ebp - 0xda4]
mov dword [ebp - 0xda8], eax
mov byte [ebp - 4], 0x4c
mov ecx, dword [ebp - 0xda8]
push ecx
lea ecx, [ebp - 0x954]
call fcn.004ab000
push 0x519084
lea edx, [ebp - 0x954]
push edx
call fcn.0048a653
mov byte [ebp - 4], 0x49
lea ecx, [ebp - 0x964]
call fcn.004ab2c0
mov esi, esp
lea eax, [ebp - 0xb4]
push eax
lea ecx, [ebp - 0xa8]
push ecx
lea edx, [ebp - 0x9c]
push edx
push 0
push 1
lea ecx, [ebp - 0x17c]
call fcn.0045f210
push eax
lea ecx, [ebp - 0x17c]
call fcn.0045f220
push eax
call dword [sym.imp.CRYPT32.dll_CryptStringToBinaryA]
cmp esi, esp
call fcn.004cc645
cmp dword [ebp - 0x9c], 0x14
je 0x4ba4bd
mov dword [ebp - 0x1c], 0x70
push 0x2b5
push ecx
mov ecx, esp
mov dword [ebp - 0x994], esp
push 0x4e7d08
call fcn.004add60
mov dword [ebp - 0xdac], eax
mov eax, dword [ebp - 0xdac]
mov dword [ebp - 0xdb0], eax
mov byte [ebp - 4], 0x4d
push ecx
mov ecx, esp
mov dword [ebp - 0x998], esp
push 0x4e7d1c
call fcn.004add60
mov dword [ebp - 0xdb4], eax
mov ecx, dword [ebp - 0xdb4]
mov dword [ebp - 0xdb8], ecx
mov byte [ebp - 4], 0x4e
push ecx
mov ecx, esp
mov dword [ebp - 0x99c], esp
push str.ValidateDriverCertificate__Invalid_Certificate_format_:_bad_digest
call fcn.004add60
mov dword [ebp - 0xdbc], eax
mov byte [ebp - 4], 0x49
lea ecx, [ebp - 0x990]
call fcn.004ade60
mov dword [ebp - 0xdc0], eax
mov edx, dword [ebp - 0xdc0]
mov dword [ebp - 0xdc4], edx
mov byte [ebp - 4], 0x4f
mov eax, dword [ebp - 0xdc4]
push eax
lea ecx, [ebp - 0x980]
call fcn.004ab000
push 0x519084
lea ecx, [ebp - 0x980]
push ecx
call fcn.0048a653
mov byte [ebp - 4], 0x49
lea ecx, [ebp - 0x990]
call fcn.004ab2c0
mov esi, esp
lea edx, [ebp - 0xb4]
push edx
lea eax, [ebp - 0xa8]
push eax
lea ecx, [ebp - 0x9c]
push ecx
lea edx, [ebp - 0x148]
push edx
push 1
lea ecx, [ebp - 0x17c]
call fcn.0045f210
push eax
lea ecx, [ebp - 0x17c]
call fcn.0045f220
push eax
call dword [sym.imp.CRYPT32.dll_CryptStringToBinaryA]
cmp esi, esp
call fcn.004cc645
mov eax, dword [ebp - 0x9c]
push eax
lea ecx, [ebp - 0x148]
push ecx
lea edx, [ebp - 0x164]
push edx
call fcn.0048b9c6
add esp, 0xc
test eax, eax
je 0x4ba5f5
mov dword [ebp - 0x1c], 0x70
push 0x2bb
push ecx
mov ecx, esp
mov dword [ebp - 0x9c0], esp
push 0x4e7d84
call fcn.004add60
mov dword [ebp - 0xdc8], eax
mov eax, dword [ebp - 0xdc8]
mov dword [ebp - 0xdcc], eax
mov byte [ebp - 4], 0x50
push ecx
mov ecx, esp
mov dword [ebp - 0x9c4], esp
push 0x4e7d98
call fcn.004add60
mov dword [ebp - 0xdd0], eax
mov ecx, dword [ebp - 0xdd0]
mov dword [ebp - 0xdd4], ecx
mov byte [ebp - 4], 0x51
push ecx
mov ecx, esp
mov dword [ebp - 0x9c8], esp
push str.ValidateDriverCertificate__Invalid_Certificate_format_:_invalid_digest
call fcn.004add60
mov dword [ebp - 0xdd8], eax
mov byte [ebp - 4], 0x49
lea ecx, [ebp - 0x9bc]
call fcn.004ade60
mov dword [ebp - 0xddc], eax
mov edx, dword [ebp - 0xddc]
mov dword [ebp - 0xde0], edx
mov byte [ebp - 4], 0x52
mov eax, dword [ebp - 0xde0]
push eax
lea ecx, [ebp - 0x9ac]
call fcn.004ab000
push 0x519084
lea ecx, [ebp - 0x9ac]
push ecx
call fcn.0048a653
mov byte [ebp - 4], 0x49
lea ecx, [ebp - 0x9bc]
call fcn.004ab2c0
lea ecx, [ebp - 0x188]
call fcn.004ade30
mov byte [ebp - 4], 0x53
mov edx, dword [ebp - 0x9c]
push edx
lea eax, [ebp - 0x148]
push eax
lea ecx, [ebp - 0x9cc]
push ecx
call fcn.004bef90
add esp, 0xc
mov dword [ebp - 0xde4], eax
mov edx, dword [ebp - 0xde4]
mov dword [ebp - 0xde8], edx
mov byte [ebp - 4], 0x54
push 4
mov eax, dword [ebp - 0xde8]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x9c]
push edx
push str.ValidateDriverCertificate__Digest__d__:__s_Len:_d_
lea eax, [ebp - 0x188]
push eax
call fcn.004ae100
add esp, 0x14
mov byte [ebp - 4], 0x53
lea ecx, [ebp - 0x9cc]
call fcn.004adf80
push ecx
mov ecx, esp
mov dword [ebp - 0x9d0], esp
lea edx, [ebp - 0x188]
push edx
call fcn.004add30
mov dword [ebp - 0xdec], eax
call fcn.004ae050
add esp, 4
push 0
push str.KeyInfo
lea eax, [ebp - 0x194]
push eax
lea ecx, [ebp - 0x170]
call fcn.004c0e20
mov dword [ebp - 0xdf0], eax
mov byte [ebp - 4], 0x55
push 0
push 0x4e7e30
lea ecx, [ebp - 0x9d4]
push ecx
lea ecx, [ebp - 0x194]
call fcn.004c0e20
mov dword [ebp - 0xdf4], eax
mov edx, dword [ebp - 0xdf4]
mov dword [ebp - 0xdf8], edx
mov byte [ebp - 4], 0x56
push 0
push 0x4e7e3c
lea eax, [ebp - 0x9d8]
push eax
mov ecx, dword [ebp - 0xdf8]
call fcn.004c0e20
mov dword [ebp - 0xdfc], eax
mov ecx, dword [ebp - 0xdfc]
mov dword [ebp - 0xe00], ecx
mov byte [ebp - 4], 0x57
push 0
push 0x4e7e48
lea edx, [ebp - 0x9dc]
push edx
mov ecx, dword [ebp - 0xe00]
call fcn.004c0e20
mov dword [ebp - 0xe04], eax
mov eax, dword [ebp - 0xe04]
mov dword [ebp - 0xe08], eax
mov byte [ebp - 4], 0x58
push 0
mov ecx, dword [ebp - 0xe08]
call fcn.004c0b20
mov dword [ebp - 0xe0c], eax
mov ecx, dword [ebp - 0xe0c]
push ecx
lea ecx, [ebp - 0x90]
call fcn.004adfe0
mov byte [ebp - 4], 0x57
lea ecx, [ebp - 0x9dc]
call fcn.004c2080
mov byte [ebp - 4], 0x56
lea ecx, [ebp - 0x9d8]
call fcn.004c2080
mov byte [ebp - 4], 0x55
lea ecx, [ebp - 0x9d4]
call fcn.004c2080
lea ecx, [ebp - 0x90]
call fcn.004beac0
movzx edx, al
test edx, edx
je 0x4ba875
mov dword [ebp - 0x1c], 0x69
push 0x2dd
push ecx
mov ecx, esp
mov dword [ebp - 0xa00], esp
push 0x4e7e50
call fcn.004add60
mov dword [ebp - 0xe10], eax
mov eax, dword [ebp - 0xe10]
mov dword [ebp - 0xe14], eax
mov byte [ebp - 4], 0x59
push ecx
mov ecx, esp
mov dword [ebp - 0xa04], esp
push 0x4e7e64
call fcn.004add60
mov dword [ebp - 0xe18], eax
mov ecx, dword [ebp - 0xe18]
mov dword [ebp - 0xe1c], ecx
mov byte [ebp - 4], 0x5a
push ecx
mov ecx, esp
mov dword [ebp - 0xa08], esp
push str.ValidateDriverCertificate__Modulus_value_is_empty
call fcn.004add60
mov dword [ebp - 0xe20], eax
mov byte [ebp - 4], 0x55
lea ecx, [ebp - 0x9fc]
call fcn.004ade60
mov dword [ebp - 0xe24], eax
mov edx, dword [ebp - 0xe24]
mov dword [ebp - 0xe28], edx
mov byte [ebp - 4], 0x5b
mov eax, dword [ebp - 0xe28]
push eax
lea ecx, [ebp - 0x9ec]
call fcn.004ab000
push 0x519084
lea ecx, [ebp - 0x9ec]
push ecx
call fcn.0048a653
mov byte [ebp - 4], 0x55
lea ecx, [ebp - 0x9fc]
call fcn.004ab2c0
mov esi, esp
lea edx, [ebp - 0xb4]
push edx
lea eax, [ebp - 0xa8]
push eax
lea ecx, [ebp - 0x9c]
push ecx
push 0
push 1
lea ecx, [ebp - 0x90]
call fcn.0045f210
push eax
lea ecx, [ebp - 0x90]
call fcn.0045f220
push eax
call dword [sym.imp.CRYPT32.dll_CryptStringToBinaryA]
cmp esi, esp
call fcn.004cc645
mov dword [ebp - 0x1a0], 0
mov dword [ebp - 0x1a8], 0
lea edx, [ebp - 0x1a0]
push edx
lea ecx, [ebp - 0x90]
call fcn.0045f210
push eax
lea ecx, [ebp - 0x90]
call fcn.0045f220
push eax
call fcn.004bddf0
add esp, 0xc
mov dword [ebp - 0xe2c], eax
mov eax, dword [ebp - 0xe2c]
mov dword [ebp - 0x5c8], eax
mov ecx, dword [ebp - 0x1a0]
push ecx
mov edx, dword [ebp - 0x5c8]
push edx
lea eax, [ebp - 0x3ac]
push eax
call fcn.0048fe00
add esp, 0xc
mov ecx, dword [ebp - 0x5c8]
mov dword [ebp - 0xa0c], ecx
mov edx, dword [ebp - 0xa0c]
push edx
call fcn.00472297
add esp, 4
push 0
mov eax, dword [ebp - 0x9c]
push eax
lea ecx, [ebp - 0x3ac]
push ecx
call fcn.004112d0
add esp, 0xc
mov dword [ebp - 0x5cc], eax
mov edx, dword [ebp - 0x9c]
mov dword [ebp - 0x5d0], edx
push 0
push 0x4e7eb8
lea eax, [ebp - 0xa10]
push eax
lea ecx, [ebp - 0x194]
call fcn.004c0e20
mov dword [ebp - 0xe30], eax
mov ecx, dword [ebp - 0xe30]
mov dword [ebp - 0xe34], ecx
mov byte [ebp - 4], 0x5c
push 0
push 0x4e7ec4
lea edx, [ebp - 0xa14]
push edx
mov ecx, dword [ebp - 0xe34]
call fcn.004c0e20
mov dword [ebp - 0xe38], eax
mov eax, dword [ebp - 0xe38]
mov dword [ebp - 0xe3c], eax
mov byte [ebp - 4], 0x5d
push 0
push 0x4e7ed0
lea ecx, [ebp - 0xa18]
push ecx
mov ecx, dword [ebp - 0xe3c]
call fcn.004c0e20
mov dword [ebp - 0xe40], eax
mov edx, dword [ebp - 0xe40]
mov dword [ebp - 0xe44], edx
mov byte [ebp - 4], 0x5e
push 0
mov ecx, dword [ebp - 0xe44]
call fcn.004c0b20
mov dword [ebp - 0xe48], eax
mov eax, dword [ebp - 0xe48]
push eax
lea ecx, [ebp - 0xc0]
call fcn.004adfe0
mov byte [ebp - 4], 0x5d
lea ecx, [ebp - 0xa18]
call fcn.004c2080
mov byte [ebp - 4], 0x5c
lea ecx, [ebp - 0xa14]
call fcn.004c2080
mov byte [ebp - 4], 0x55
lea ecx, [ebp - 0xa10]
call fcn.004c2080
mov esi, esp
lea ecx, [ebp - 0xb4]
push ecx
lea edx, [ebp - 0xa8]
push edx
lea eax, [ebp - 0x9c]
push eax
push 0
push 1
lea ecx, [ebp - 0xc0]
call fcn.0045f210
push eax
lea ecx, [ebp - 0xc0]
call fcn.0045f220
push eax
call dword [sym.imp.CRYPT32.dll_CryptStringToBinaryA]
cmp esi, esp
call fcn.004cc645
cmp dword [ebp - 0x9c], 4
jbe 0x4bab5e
mov dword [ebp - 0x1c], 0x6b
push 0x2f0
push ecx
mov ecx, esp
mov dword [ebp - 0xa3c], esp
push 0x4e7edc
call fcn.004add60
mov dword [ebp - 0xe4c], eax
mov ecx, dword [ebp - 0xe4c]
mov dword [ebp - 0xe50], ecx
mov byte [ebp - 4], 0x5f
push ecx
mov ecx, esp
mov dword [ebp - 0xa40], esp
push 0x4e7ef0
call fcn.004add60
mov dword [ebp - 0xe54], eax
mov edx, dword [ebp - 0xe54]
mov dword [ebp - 0xe58], edx
mov byte [ebp - 4], 0x60
push ecx
mov ecx, esp
mov dword [ebp - 0xa44], esp
push str.ValidateDriverCertificate__Invalid_Certificate_format_:_bad_exponent
call fcn.004add60
mov dword [ebp - 0xe5c], eax
mov byte [ebp - 4], 0x55
lea ecx, [ebp - 0xa38]
call fcn.004ade60
mov dword [ebp - 0xe60], eax
mov eax, dword [ebp - 0xe60]
mov dword [ebp - 0xe64], eax
mov byte [ebp - 4], 0x61
mov ecx, dword [ebp - 0xe64]
push ecx
lea ecx, [ebp - 0xa28]
call fcn.004ab000
push 0x519084
lea edx, [ebp - 0xa28]
push edx
call fcn.0048a653
mov byte [ebp - 4], 0x55
lea ecx, [ebp - 0xa38]
call fcn.004ab2c0
mov esi, esp
lea eax, [ebp - 0xb4]
push eax
lea ecx, [ebp - 0xa8]
push ecx
lea edx, [ebp - 0x9c]
push edx
lea eax, [ebp - 0x5c0]
push eax
push 1
lea ecx, [ebp - 0xc0]
call fcn.0045f210
push eax
lea ecx, [ebp - 0xc0]
call fcn.0045f220
push eax
call dword [sym.imp.CRYPT32.dll_CryptStringToBinaryA]
cmp esi, esp
call fcn.004cc645
push 0
push 3
lea ecx, [ebp - 0x5c0]
push ecx
call fcn.004112d0
add esp, 0xc
mov dword [ebp - 0x5d4], eax
call fcn.00412180
mov dword [ebp - 0x5d8], eax
mov edx, dword [ebp - 0x5d8]
mov eax, dword [ebp - 0x5cc]
mov dword [edx + 0x10], eax
mov ecx, dword [ebp - 0x5d8]
mov edx, dword [ebp - 0x5d4]
mov dword [ecx + 0x14], edx
mov eax, dword [ebp - 0x5d8]
mov dword [eax + 0x18], 0
mov ecx, dword [ebp - 0x5d8]
mov dword [ecx + 0x1c], 0
mov edx, dword [ebp - 0x5d8]
mov dword [edx + 0x20], 0
push 0
push str.SignatureValue
lea eax, [ebp - 0xa48]
push eax
lea ecx, [ebp - 0x170]
call fcn.004c0e20
mov dword [ebp - 0xe68], eax
mov ecx, dword [ebp - 0xe68]
mov dword [ebp - 0xe6c], ecx
mov byte [ebp - 4], 0x62
push 0
mov ecx, dword [ebp - 0xe6c]
call fcn.004c0b20
mov dword [ebp - 0xe70], eax
mov edx, dword [ebp - 0xe70]
push edx
lea ecx, [ebp - 0x5e0]
call fcn.004add60
mov dword [ebp - 0xe74], eax
mov byte [ebp - 4], 0x64
lea ecx, [ebp - 0xa48]
call fcn.004c2080
lea ecx, [ebp - 0x5e0]
call fcn.004beac0
movzx eax, al
test eax, eax
je 0x4bad71
cmp dword [ebp - 0x5d8], 0
je 0x4baca3
mov ecx, dword [ebp - 0x5d8]
push ecx
call fcn.00411d50
add esp, 4
mov dword [ebp - 0x1c], 0x71
push 0x305
push ecx
mov ecx, esp
mov dword [ebp - 0xa6c], esp
push 0x4e7f04
call fcn.004add60
mov dword [ebp - 0xe78], eax
mov edx, dword [ebp - 0xe78]
mov dword [ebp - 0xe7c], edx
mov byte [ebp - 4], 0x65
push ecx
mov ecx, esp
mov dword [ebp - 0xa70], esp
push str.getText
call fcn.004add60
mov dword [ebp - 0xe80], eax
mov eax, dword [ebp - 0xe80]
mov dword [ebp - 0xe84], eax
mov byte [ebp - 4], 0x66
push ecx
mov ecx, esp
mov dword [ebp - 0xa74], esp
push str.ValidateDriverCertificate__SignatureValue_value_is_empty
call fcn.004add60
mov dword [ebp - 0xe88], eax
mov byte [ebp - 4], 0x64
lea ecx, [ebp - 0xa68]
call fcn.004ade60
mov dword [ebp - 0xe8c], eax
mov ecx, dword [ebp - 0xe8c]
mov dword [ebp - 0xe90], ecx
mov byte [ebp - 4], 0x67
mov edx, dword [ebp - 0xe90]
push edx
lea ecx, [ebp - 0xa58]
call fcn.004ab000
push 0x519084
lea eax, [ebp - 0xa58]
push eax
call fcn.0048a653
mov byte [ebp - 4], 0x64
lea ecx, [ebp - 0xa68]
call fcn.004ab2c0
lea ecx, [ebp - 0x1a0]
push ecx
lea ecx, [ebp - 0x5e0]
call fcn.0045f210
push eax
lea ecx, [ebp - 0x5e0]
call fcn.0045f220
push eax
call fcn.004bddf0
add esp, 0xc
mov dword [ebp - 0xe94], eax
mov edx, dword [ebp - 0xe94]
mov dword [ebp - 0x5c8], edx
mov eax, dword [ebp - 0x1a0]
push eax
mov ecx, dword [ebp - 0x5c8]
push ecx
lea edx, [ebp - 0x5b4]
push edx
call fcn.0048fe00
add esp, 0xc
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x1a8], eax
mov ecx, dword [ebp - 0x5c8]
mov dword [ebp - 0xa78], ecx
mov edx, dword [ebp - 0xa78]
push edx
call fcn.00472297
add esp, 4
mov eax, dword [ebp - 0x5d0]
cmp eax, dword [ebp - 0x1a8]
je 0x4baee6
cmp dword [ebp - 0x5d8], 0
je 0x4bae18
mov ecx, dword [ebp - 0x5d8]
push ecx
call fcn.00411d50
add esp, 4
mov dword [ebp - 0x1c], 0x71
push 0x313
push ecx
mov ecx, esp
mov dword [ebp - 0xa9c], esp
push 0x4e7fc4
call fcn.004add60
mov dword [ebp - 0xe98], eax
mov edx, dword [ebp - 0xe98]
mov dword [ebp - 0xe9c], edx
mov byte [ebp - 4], 0x68
push ecx
mov ecx, esp
mov dword [ebp - 0xaa0], esp
push str.compare
call fcn.004add60
mov dword [ebp - 0xea0], eax
mov eax, dword [ebp - 0xea0]
mov dword [ebp - 0xea4], eax
mov byte [ebp - 4], 0x69
push ecx
mov ecx, esp
mov dword [ebp - 0xaa4], esp
push str.ValidateDriverCertificate__Invalid_Signature_Length__
call fcn.004add60
mov dword [ebp - 0xea8], eax
mov byte [ebp - 4], 0x64
lea ecx, [ebp - 0xa98]
call fcn.004ade60
mov dword [ebp - 0xeac], eax
mov ecx, dword [ebp - 0xeac]
mov dword [ebp - 0xeb0], ecx
mov byte [ebp - 4], 0x6a
mov edx, dword [ebp - 0xeb0]
push edx
lea ecx, [ebp - 0xa88]
call fcn.004ab000
push 0x519084
lea eax, [ebp - 0xa88]
push eax
call fcn.0048a653
mov byte [ebp - 4], 0x64
lea ecx, [ebp - 0xa98]
call fcn.004ab2c0
push 3
mov ecx, dword [ebp - 0x5d8]
push ecx
lea edx, [ebp - 0x6e8]
push edx
lea eax, [ebp - 0x5b4]
push eax
mov ecx, dword [ebp - 0x1a0]
push ecx
call fcn.00411ef0
add esp, 0x14
mov dword [ebp - 0x1a0], eax
push 0
lea edx, [ebp - 0x6e8]
push edx
call fcn.004124d0
push eax
lea eax, [ebp - 0x164]
push eax
mov ecx, dword [ebp - 0x5d8]
push ecx
call fcn.00412580
add esp, 0x14
mov dword [ebp - 0x6f0], eax
cmp dword [ebp - 0x6f0], 0
jne 0x4bb030
cmp dword [ebp - 0x5d8], 0
je 0x4baf62
mov edx, dword [ebp - 0x5d8]
push edx
call fcn.00411d50
add esp, 4
mov dword [ebp - 0x1c], 0x71
push 0x324
push ecx
mov ecx, esp
mov dword [ebp - 0xac8], esp
push 0x4e8018
call fcn.004add60
mov dword [ebp - 0xeb4], eax
mov eax, dword [ebp - 0xeb4]
mov dword [ebp - 0xeb8], eax
mov byte [ebp - 4], 0x6b
push ecx
mov ecx, esp
mov dword [ebp - 0xacc], esp
push str.RSA_verify_PKCS1_PSS
call fcn.004add60
mov dword [ebp - 0xebc], eax
mov ecx, dword [ebp - 0xebc]
mov dword [ebp - 0xec0], ecx
mov byte [ebp - 4], 0x6c
push ecx
mov ecx, esp
mov dword [ebp - 0xad0], esp
push str.ValidateDriverCertificate__Invalid_Signature_Value__
call fcn.004add60
mov dword [ebp - 0xec4], eax
mov byte [ebp - 4], 0x64
lea ecx, [ebp - 0xac4]
call fcn.004ade60
mov dword [ebp - 0xec8], eax
mov edx, dword [ebp - 0xec8]
mov dword [ebp - 0xecc], edx
mov byte [ebp - 4], 0x6d
mov eax, dword [ebp - 0xecc]
push eax
lea ecx, [ebp - 0xab4]
call fcn.004ab000
push 0x519084
lea ecx, [ebp - 0xab4]
push ecx
call fcn.0048a653
mov byte [ebp - 4], 0x64
lea ecx, [ebp - 0xac4]
call fcn.004ab2c0
cmp dword [ebp - 0x5d8], 0
je 0x4bb048
mov edx, dword [ebp - 0x5d8]
push edx
call fcn.00411d50
add esp, 4
push 0
push 0x4e80a4
lea eax, [ebp - 0xad4]
push eax
lea ecx, [ebp - 0x194]
call fcn.004c0e20
mov dword [ebp - 0xed0], eax
mov ecx, dword [ebp - 0xed0]
mov dword [ebp - 0xed4], ecx
mov byte [ebp - 4], 0x6e
push 0
push 0x4e80b0
lea edx, [ebp - 0xad8]
push edx
mov ecx, dword [ebp - 0xed4]
call fcn.004c0e20
mov dword [ebp - 0xed8], eax
mov eax, dword [ebp - 0xed8]
mov dword [ebp - 0xedc], eax
mov byte [ebp - 4], 0x6f
push 0
push str.Modulus
lea ecx, [ebp - 0xadc]
push ecx
mov ecx, dword [ebp - 0xedc]
call fcn.004c0e20
mov dword [ebp - 0xee0], eax
mov edx, dword [ebp - 0xee0]
mov dword [ebp - 0xee4], edx
mov byte [ebp - 4], 0x70
push 0
mov ecx, dword [ebp - 0xee4]
call fcn.004c0b20
mov dword [ebp - 0xee8], eax
mov eax, dword [ebp - 0xee8]
push eax
mov ecx, dword [ebp - 0x70]
lea ecx, [ebp + ecx*4 - 0x50]
call fcn.004adfe0
mov byte [ebp - 4], 0x6f
lea ecx, [ebp - 0xadc]
call fcn.004c2080
mov byte [ebp - 4], 0x6e
lea ecx, [ebp - 0xad8]
call fcn.004c2080
mov byte [ebp - 4], 0x64
lea ecx, [ebp - 0xad4]
call fcn.004c2080
push 0
push str.KeyValue
lea edx, [ebp - 0xae0]
push edx
lea ecx, [ebp - 0x194]
call fcn.004c0e20
mov dword [ebp - 0xeec], eax
mov eax, dword [ebp - 0xeec]
mov dword [ebp - 0xef0], eax
mov byte [ebp - 4], 0x71
push 0
push str.RSAKeyValue
lea ecx, [ebp - 0xae4]
push ecx
mov ecx, dword [ebp - 0xef0]
call fcn.004c0e20
mov dword [ebp - 0xef4], eax
mov edx, dword [ebp - 0xef4]
mov dword [ebp - 0xef8], edx
mov byte [ebp - 4], 0x72
push 0
push str.Exponent
lea eax, [ebp - 0xae8]
push eax
mov ecx, dword [ebp - 0xef8]
call fcn.004c0e20
mov dword [ebp - 0xefc], eax
mov ecx, dword [ebp - 0xefc]
mov dword [ebp - 0xf00], ecx
mov byte [ebp - 4], 0x73
push 0
mov ecx, dword [ebp - 0xf00]
call fcn.004c0b20
mov dword [ebp - 0xf04], eax
mov edx, dword [ebp - 0xf04]
push edx
mov eax, dword [ebp - 0x70]
lea ecx, [ebp + eax*4 - 0x64]
call fcn.004adfe0
mov byte [ebp - 4], 0x72
lea ecx, [ebp - 0xae8]
call fcn.004c2080
mov byte [ebp - 4], 0x71
lea ecx, [ebp - 0xae4]
call fcn.004c2080
mov byte [ebp - 4], 0x64
lea ecx, [ebp - 0xae0]
call fcn.004c2080
push str.c:Certificate
lea ecx, [ebp - 0x30]
call fcn.004c1550
mov dword [ebp - 0xf08], eax
mov ecx, dword [ebp - 0xf08]
sub ecx, 1
cmp dword [ebp - 0x70], ecx
jne 0x4bb411
push str.pjoeWLSTLDonQG8She6QhkYbYott9fPZ8tHdB128ZETcghn5KHoyin7HkJEcPJ0Eg4UdSva0KDIYDjA3EXd69R3CN2Wp_QyOo0ZPYWYp3NXpJ700tKPgIplzo5wVd_69g7jj8M66W7VNmDwaNs9mDc1p2VVMsDhOsV_Au6EE
mov edx, dword [ebp - 0x70]
lea ecx, [ebp + edx*4 - 0x50]
call fcn.004be8a0
mov dword [ebp - 0xf0c], eax
cmp dword [ebp - 0xf0c], 0
je 0x4bb31f
mov dword [ebp - 0x1c], 0x72
push 0x341
push ecx
mov ecx, esp
mov dword [ebp - 0xb0c], esp
push 0x4e82a8
call fcn.004add60
mov dword [ebp - 0xf10], eax
mov eax, dword [ebp - 0xf10]
mov dword [ebp - 0xf14], eax
mov byte [ebp - 4], 0x74
push ecx
mov ecx, esp
mov dword [ebp - 0xb10], esp
push 0x4e82bc
call fcn.004add60
mov dword [ebp - 0xf18], eax
mov ecx, dword [ebp - 0xf18]
mov dword [ebp - 0xf1c], ecx
mov byte [ebp - 4], 0x75
push ecx
mov ecx, esp
mov dword [ebp - 0xb14], esp
push 0x4e82e4
call fcn.004add60
mov dword [ebp - 0xf20], eax
mov byte [ebp - 4], 0x64
lea ecx, [ebp - 0xb08]
call fcn.004ade60
mov dword [ebp - 0xf24], eax
mov edx, dword [ebp - 0xf24]
mov dword [ebp - 0xf28], edx
mov byte [ebp - 4], 0x76
mov eax, dword [ebp - 0xf28]
push eax
lea ecx, [ebp - 0xaf8]
call fcn.004ab000
push 0x519084
lea ecx, [ebp - 0xaf8]
push ecx
call fcn.0048a653
mov byte [ebp - 4], 0x64
lea ecx, [ebp - 0xb08]
call fcn.004ab2c0
push str.AQAB
mov edx, dword [ebp - 0x70]
lea ecx, [ebp + edx*4 - 0x64]
call fcn.004be8a0
mov dword [ebp - 0xf2c], eax
cmp dword [ebp - 0xf2c], 0
je 0x4bb411
mov dword [ebp - 0x1c], 0x72
push 0x346
push ecx
mov ecx, esp
mov dword [ebp - 0xb38], esp
push 0x4e83f8
call fcn.004add60
mov dword [ebp - 0xf30], eax
mov eax, dword [ebp - 0xf30]
mov dword [ebp - 0xf34], eax
mov byte [ebp - 4], 0x77
push ecx
mov ecx, esp
mov dword [ebp - 0xb3c], esp
push str.Compare
call fcn.004add60
mov dword [ebp - 0xf38], eax
mov ecx, dword [ebp - 0xf38]
mov dword [ebp - 0xf3c], ecx
mov byte [ebp - 4], 0x78
push ecx
mov ecx, esp
mov dword [ebp - 0xb40], esp
push str.ValidateDriverCertificate__Invalid_Certificate_final_chain
call fcn.004add60
mov dword [ebp - 0xf40], eax
mov byte [ebp - 4], 0x64
lea ecx, [ebp - 0xb34]
call fcn.004ade60
mov dword [ebp - 0xf44], eax
mov edx, dword [ebp - 0xf44]
mov dword [ebp - 0xf48], edx
mov byte [ebp - 4], 0x79
mov eax, dword [ebp - 0xf48]
push eax
lea ecx, [ebp - 0xb24]
call fcn.004ab000
push 0x519084
lea ecx, [ebp - 0xb24]
push ecx
call fcn.0048a653
mov byte [ebp - 4], 0x64
lea ecx, [ebp - 0xb34]
call fcn.004ab2c0
mov byte [ebp - 4], 0x55
lea ecx, [ebp - 0x5e0]
call fcn.004adf80
mov byte [ebp - 4], 0x53
lea ecx, [ebp - 0x194]
call fcn.004c2080
mov byte [ebp - 4], 0x49
lea ecx, [ebp - 0x188]
call fcn.004adf80
mov byte [ebp - 4], 0x42
lea ecx, [ebp - 0x17c]
call fcn.004adf80
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x170]
call fcn.004c2080
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0xc0]
call fcn.004adf80
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x90]
call fcn.004adf80
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x84]
call fcn.004c2080
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x78]
call fcn.004c2080
jmp 0x4b9306
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0xb44], edx
mov byte [ebp - 4], 8
push fcn.004adf80
push 3
push 4
lea eax, [ebp - 0x64]
push eax
call fcn.00489f7b
mov byte [ebp - 4], 7
push fcn.004adf80
push 3
push 4
lea ecx, [ebp - 0x50]
push ecx
call fcn.00489f7b
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x3c]
call fcn.004adf80
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x30]
call fcn.004c2080
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x24]
call fcn.004adf80
mov eax, dword [ebp - 0xb44]
jmp 0x4bb593
push edx
mov ecx, ebp
push eax
lea edx, [0x4bb5d0]
call fcn.004cc5ed
pop eax
pop edx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00487e85
add esp, 0xf50
cmp ebp, esp
call fcn.004cc645
mov esp, ebp
pop ebp
ret 4