Function at 0x426c71
Capabilities:
Check if file exists
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2e4
mov eax, dword [0x58569c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
call fcn.0040e52c
push eax
lea ecx, [ebp - 0x2b8]
call fcn.0040e552
lea eax, [ebp - 0x2b8]
push eax
lea eax, [ebp - 0x264]
call fcn.0044a559
call fcn.00449a55
mov bl, al
neg bl
sbb bl, bl
push 1
xor edi, edi
lea esi, [ebp - 0x264]
call fcn.004021a4
inc bl
je 0x426ccf
push 1
jmp 0x426f60
and dword [ebp - 0x270], edi
xor eax, eax
mov word [ebp - 0x280], ax
lea eax, [ebp - 0x280]
push eax
mov dword [ebp - 0x26c], 7
call fcn.0040a248
pop ecx
test al, al
jne 0x426d0a
push 1
xor edi, edi
lea esi, [ebp - 0x280]
call fcn.004021a4
jmp 0x426cc8
push 0
call dword [0x52b684]
test eax, eax
js 0x426cf9
xor ebx, ebx
inc ebx
push ebx
call dword [0x52b1b8]
lea eax, [ebp - 0x2b8]
push eax
lea eax, [ebp - 0x29c]
call fcn.0044a559
lea eax, [ebp - 0x264]
push eax
lea eax, [ebp - 0x29c]
push eax
lea ecx, [ebp - 0x280]
call fcn.0044abc8
push eax
lea eax, [ebp - 0x29c]
push eax
call fcn.0044a59f
push ebx
xor edi, edi
lea esi, [ebp - 0x264]
call fcn.004021a4
push str.plugins
lea esi, [ebp - 0x2d4]
call fcn.0040204f
push eax
lea eax, [ebp - 0x22c]
call fcn.0044a559
lea ecx, [ebp - 0x264]
push ecx
lea ecx, [ebp - 0x29c]
push ecx
mov ecx, eax
call fcn.0044abc8
push 0xffffffffffffffff
push edi
lea eax, [ebp - 0x264]
push eax
lea eax, [ebp - 0x29c]
call fcn.004020dc
push ebx
lea esi, [ebp - 0x264]
call fcn.004021a4
push ebx
lea esi, [ebp - 0x22c]
call fcn.004021a4
push ebx
lea esi, [ebp - 0x2d4]
call fcn.004021a4
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x210], ax
lea eax, [ebp - 0x20e]
push eax
call fcn.00506540
add esp, 0xc
lea eax, [ebp - 0x2e0]
push eax
lea eax, [ebp - 0x210]
push eax
lea eax, [ebp - 0x2e4]
push eax
push edi
push str.CLSID7978461C_CC22_48F2_BC69_02220D3E101DInprocServer32
push 0x80000000
mov dword [ebp - 0x2e4], ebx
mov dword [ebp - 0x2e0], 0x208
call dword [sym.imp.SHLWAPI.dll_SHGetValueW]
lea eax, [ebp - 0x210]
push 2
lea edx, [eax + 2]
pop edi
mov cx, word [eax]
add eax, edi
test cx, cx
jne 0x426e30
sub eax, edx
sar eax, 1
je 0x426e55
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x426f3f
push str.pta.dll
lea esi, [ebp - 0x248]
call fcn.0040204f
push str.itrusenroll.dll
lea esi, [ebp - 0x22c]
call fcn.0040204f
lea eax, [ebp - 0x248]
mov dword [ebp - 0x2dc], eax
mov dword [ebp - 0x2d8], edi
mov ecx, dword [ebp - 0x2dc]
lea eax, [ebp - 0x2d4]
push eax
lea eax, [ebp - 0x29c]
push eax
call fcn.0044abc8
push eax
lea esi, [ebp - 0x264]
call fcn.0040202c
push ebx
xor edi, edi
lea esi, [ebp - 0x2d4]
call fcn.004021a4
cmp dword [ebp - 0x250], 8
mov eax, dword [ebp - 0x264]
jae 0x426ecf
lea eax, [ebp - 0x264]
push 8
push 0
push eax
call dword [0x52b274]
mov esi, eax
cmp esi, 0x20
jbe 0x426eff
push str.DllRegisterServer
push esi
call dword [0x52b248]
test eax, eax
je 0x426ef8
call fcn.0040102f
call eax
push esi
call dword [0x52b27c]
push ebx
xor edi, edi
lea esi, [ebp - 0x264]
call fcn.004021a4
add dword [ebp - 0x2dc], 0x1c
dec dword [ebp - 0x2d8]
jne 0x426e87
lea esi, [ebp - 0x210]
mov dword [ebp - 0x2d8], ebx
sub esi, 0x1c
push ebx
xor edi, edi
call fcn.004021a4
dec dword [ebp - 0x2d8]
jns 0x426f2c
call dword [0x52b680]
push ebx
xor edi, edi
lea esi, [ebp - 0x29c]
call fcn.004021a4
push ebx
lea esi, [ebp - 0x280]
call fcn.004021a4
push ebx
xor edi, edi
lea esi, [ebp - 0x2b8]
call fcn.004021a4
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004fe191
leave
ret