Function at 0x10003968
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x74
mov eax, dword [0x10053130]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp + 0x14]
xor ebx, ebx
push esi
push edi
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x24], ecx
cmp eax, ebx
je 0x10003998
mov dword [eax], ebx
cmp ecx, ebx
je 0x1000399e
mov dword [ecx], ebx
push 0x10
mov eax, 0xcd44
mov word [ebp - 0x10], ax
pop edi
mov eax, 0x11d0
push edi
mov word [ebp - 0xe], ax
lea eax, [ebp - 0x44]
push ebx
push eax
mov dword [ebp - 0x14], 0xaac56b
mov byte [ebp - 0xc], 0x8c
mov byte [ebp - 0xb], 0xc2
mov byte [ebp - 0xa], bl
mov byte [ebp - 9], 0xc0
mov byte [ebp - 8], 0x4f
mov byte [ebp - 7], 0xc2
mov byte [ebp - 6], 0x95
mov byte [ebp - 5], 0xee
call fcn.10022680
push 0x30
pop esi
push esi
lea eax, [ebp - 0x74]
push ebx
push eax
call fcn.10022680
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x68], eax
lea eax, [ebp - 0x44]
mov dword [ebp - 0x5c], eax
xor eax, eax
add esp, 0x18
cmp dword [ebp - 0x24], ebx
push str.wintrust.dll
setne al
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x74], esi
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], 1
mov dword [ebp - 0x58], eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov edi, eax
mov dword [ebp - 0x1c], edi
cmp edi, ebx
je 0x10003b78
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.WinVerifyTrust
push edi
call esi
push str.WTHelperProvDataFromStateData
push edi
mov dword [ebp - 0x20], eax
call esi
push str.WTHelperGetProvSignerFromChain
push edi
mov dword [ebp - 0x30], eax
call esi
push str.WTHelperGetProvCertFromChain
push edi
mov dword [ebp - 0x34], eax
call esi
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x20], ebx
je 0x10003b71
cmp dword [ebp - 0x30], ebx
je 0x10003b71
cmp dword [ebp - 0x34], ebx
je 0x10003b71
cmp eax, ebx
je 0x10003b71
cmp dword [ebp + 0xc], 2
jne 0x10003aa0
or eax, 0xffffffff
jmp 0x10003aa3
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x74]
push ecx
lea ecx, [ebp - 0x14]
push ecx
push eax
call dword [ebp - 0x20]
xor ecx, ecx
mov edi, eax
sub edi, 0x800b0001
cmp eax, ebx
setne cl
mov dword [ebp - 0x18], eax
inc ecx
neg edi
sbb edi, edi
and edi, ecx
jne 0x10003af0
push 2
pop eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x14]
push eax
push 0xffffffffffffffff
call dword [ebp - 0x20]
push dword [ebp - 0x1c]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, edi
jmp 0x10003b7a
mov ecx, 0x800b0100
cmp dword [ebp - 0x2c], ebx
je 0x10003b06
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x2c]
setne dl
mov dword [eax], edx
cmp dword [ebp - 0x18], ecx
je 0x10003aca
cmp dword [ebp - 0x24], ebx
je 0x10003ae0
push dword [ebp - 0x54]
call dword [ebp - 0x30]
cmp eax, ebx
je 0x10003b31
push ebx
push ebx
push ebx
push eax
call dword [ebp - 0x34]
cmp eax, ebx
je 0x10003b31
push ebx
push eax
call dword [ebp - 0x28]
mov dword [ebp - 0x28], eax
cmp eax, ebx
jne 0x10003b38
mov eax, dword [ebp - 0x24]
mov dword [eax], ebx
jmp 0x10003aca
push str.crypt32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [ebp - 0x18], eax
cmp eax, ebx
je 0x10003aca
push 0x1003daf4
push eax
call esi
cmp eax, ebx
je 0x10003b63
mov ecx, dword [ebp - 0x28]
push dword [ecx + 4]
call eax
mov ecx, dword [ebp - 0x24]
mov dword [ecx], eax
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x10003aca
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10022019
leave
ret 0x10