Function at 0x4086f0
Capabilities:
Query or enumerate registry value

Disassembly:
sub esp, 0x31c
push ebx
push ebp
push esi
push edi
xor ebx, ebx
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x229]
mov byte [esp + 0x228], bl
mov byte [esp + 0x124], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x125]
mov byte [esp + 0x20], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x21]
mov ebp, dword [esp + 0x330]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
cmp ebp, ebx
mov dword [esp + 0x14], ebx
stosb byte es:[edi], al
mov dword [esp + 0x18], 0x104
mov dword [esp + 0x10], ebx
je 0x4087fb
lea eax, [esp + 0x10]
push eax
call dword [0x413688]
mov edi, str.SOFTWAREMicrosoftCryptographyDefaultsProvider_
or ecx, 0xffffffff
xor eax, eax
mov esi, str.SOFTWAREMicrosoftCryptographyDefaultsProvider_
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edi, [esp + 0x20]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea edx, [esp + 0x20]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, str.NISEC_CSP_V1.0
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea eax, [esp + 0x14]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
push 0x20119
lea ecx, [esp + 0x28]
push ebx
push ecx
push reloc.NISEC_UKUpdate.dll_Ordinal_2
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
je 0x40887b
mov edx, dword [esp + 0x10]
push edx
call dword [0x41368c]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x31c
ret
mov edi, str.SOFTWAREMicrosoftCryptographyDefaultsProvider_
or ecx, 0xffffffff
xor eax, eax
mov esi, str.SOFTWAREMicrosoftCryptographyDefaultsProvider_
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edi, [esp + 0x20]
mov eax, ecx
lea edx, [esp + 0x20]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, str.NISEC_CSP_V1.0
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea eax, [esp + 0x14]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
push 0x20019
lea ecx, [esp + 0x28]
push ebx
push ecx
push reloc.NISEC_UKUpdate.dll_Ordinal_2
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
je 0x40887b
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x31c
ret
lea edx, [esp + 0x18]
lea eax, [esp + 0x124]
push edx
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x20]
push eax
push ecx
push ebx
push str.Image_Path
push edx
mov dword [esp + 0x34], 1
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
je 0x4088c6
cmp ebp, ebx
je 0x4088b9
mov eax, dword [esp + 0x10]
push eax
call dword [0x41368c]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x31c
ret
mov ecx, dword [esp + 0x14]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp ebp, ebx
je 0x4088e0
mov edx, dword [esp + 0x10]
push edx
call dword [0x41368c]
mov ecx, dword [esp + 0x18]
lea esi, [esp + 0x124]
mov eax, ecx
lea edi, [esp + 0x228]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x5c
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x22c]
push ecx
call dword [sym.imp.MSVCRT.dll_strrchr]
add esp, 8
cmp ebp, ebx
je 0x408941
mov esi, str.NISEC_CSPShell64.dll
inc eax
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40896b
cmp cl, bl
je 0x40893d
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40896b
add eax, 2
add esi, 2
cmp cl, bl
jne 0x40891d
xor eax, eax
jmp 0x408970
mov esi, str.NISEC_CSPShell32.dll
inc eax
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40896b
cmp cl, bl
je 0x408967
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40896b
add eax, 2
add esi, 2
cmp cl, bl
jne 0x408947
xor eax, eax
jmp 0x408970
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x408981
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x31c
ret
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x31c
ret