Function at 0x68006af0
Capabilities:
Access peb ldr_data
Check for peb beingdebugged flag
Delete registry value
Get process heap flags
Get process heap force flags
Set registry value

Disassembly:
lea ecx, [esp + 4]
and esp, 0xfffffff0
push dword [ecx - 4]
push ebp
mov ebp, esp
push edi
push esi
push ebx
push ecx
sub esp, 0x98
mov eax, dword [ecx + 4]
mov edi, dword [ecx]
mov edx, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
cmp eax, 0x110
je 0x68006b40
cmp eax, 0x111
je 0x68006d78
cmp eax, 0x4e
je 0x68006d30
lea esp, [ebp - 0x10]
xor eax, eax
pop ecx
pop ebx
pop esi
pop edi
pop ebp
lea esp, [ecx - 4]
ret 0x10
mov dword [esp + 4], 0x965
mov dword [esp], edi
call sym._GetDlgItem_8
sub esp, 8
mov esi, eax
lea eax, [ebp - 0x64]
mov dword [esp + 4], eax
mov dword [esp], esi
call sym._GetWindowRect_8
mov eax, dword [ebp - 0x5c]
sub eax, dword [ebp - 0x64]
mov dword [ebp - 0x54], 2
sub esp, 8
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x54]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x1061
mov dword [esp], esi
call sym._SendMessageW_16
sub esp, 0x10
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 4
mov dword [esp + 8], 5
mov dword [esp + 4], 0x10
mov dword [esp], 0x10
call sym._ImageList_Create_20
sub esp, 0x14
mov ebx, eax
test eax, eax
je 0x68006c5b
mov eax, dword [0x68022004]
mov dword [esp + 4], 0xcc
mov dword [esp], eax
call sym._LoadBitmapW_8
sub esp, 8
mov dword [ebp - 0x6c], eax
mov dword [esp + 8], 0xff00ff
mov dword [esp + 4], eax
mov dword [esp], ebx
call sym._ImageList_AddMasked_12
mov edx, dword [ebp - 0x6c]
sub esp, 0xc
mov dword [esp], edx
call sym._DeleteObject_4
sub esp, 4
mov dword [esp + 4], 0xffffffff
mov dword [esp], ebx
call sym._ImageList_SetBkColor_8
sub esp, 8
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 2
mov dword [esp + 4], 0x1003
mov dword [esp], esi
call sym._SendMessageW_16
sub esp, 0x10
mov dword [esp + 8], ebx
mov dword [esp + 4], 8
mov dword [esp], edi
call sym._SetWindowLongW_12
sub esp, 0xc
mov edx, 2
mov eax, esi
call sym._add_known_usages_to_list
call sym._get_cert_mgr_usages
test eax, eax
je 0x68006b2d
mov ebx, dword [sym.imp.ucrtbase.dll_strchr]
mov dword [esp + 4], 0x2c
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], ebx
mov dword [esp], eax
call ebx
mov ebx, eax
mov eax, dword [ebp - 0x74]
cmp byte [eax], 0
mov edx, eax
jne 0x68006cd9
jmp 0x68006cf2
mov byte [ebx], 0
mov eax, esi
call sym._find_oid_in_list
mov edx, eax
cmp eax, 0xffffffff
je 0x68006cb8
mov eax, edi
call sym._toggle_usage
lea edx, [ebx + 1]
mov dword [esp + 4], 0x2c
mov eax, dword [ebp - 0x70]
mov dword [esp], edx
mov dword [ebp - 0x6c], edx
call eax
cmp byte [ebx + 1], 0
mov edx, dword [ebp - 0x6c]
je 0x68006cf2
mov ebx, eax
test ebx, ebx
jne 0x68006ca0
mov eax, esi
call sym._find_oid_in_list
mov edx, eax
cmp eax, 0xffffffff
je 0x68006cf2
mov eax, edi
call sym._toggle_usage
mov esi, dword [ebp - 0x74]
mov dword [esp + 4], 0
mov eax, dword fs:[0x18]
mov dword [esp + 8], esi
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapFree]
xor eax, eax
sub esp, 0xc
lea esp, [ebp - 0x10]
pop ecx
pop ebx
pop esi
pop edi
pop ebp
lea esp, [ecx - 4]
ret 0x10
cmp dword [ecx + 8], 0xfffffffe
jne 0x68006b2d
mov edx, dword [ecx + 0xc]
mov eax, edi
call sym._toggle_usage
mov dword [esp], edi
call sym._GetParent_4
sub esp, 4
mov dword [esp + 0xc], 0
mov dword [esp + 8], edi
mov dword [esp + 4], 0x468
mov dword [esp], eax
call sym._SendMessageW_16
sub esp, 0x10
jmp 0x68006b2d
cmp edx, 1
je 0x68006dc0
cmp edx, 2
jne 0x68006b2d
mov dword [esp + 4], 8
mov dword [esp], edi
call sym._GetWindowLongW_8
sub esp, 8
mov dword [esp], eax
call sym._ImageList_Destroy_4
sub esp, 4
mov dword [esp + 4], 2
mov dword [esp], edi
call sym._EndDialog_8
sub esp, 8
jmp 0x68006b2d
mov dword [esp + 4], 0x965
mov dword [esp], edi
call sym._GetDlgItem_8
sub esp, 8
mov dword [ebp - 0x70], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x1004
mov dword [esp], eax
call sym._SendMessageW_16
mov dword [ebp - 0x54], 0xc
mov dword [ebp - 0x6c], eax
sub esp, 0x10
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x44], 0xf000
test eax, eax
jle 0x6800704d
mov dword [ebp - 0x78], edi
xor esi, esi
mov edi, dword [ebp - 0x70]
xor ebx, ebx
jmp 0x68006e34
add ebx, 1
cmp dword [ebp - 0x6c], ebx
je 0x68006ef8
lea eax, [ebp - 0x54]
mov dword [esp + 8], 0
mov dword [esp + 0xc], eax
mov dword [esp + 4], 0x104b
mov dword [esp], edi
mov dword [ebp - 0x50], ebx
call sym._SendMessageW_16
sub esp, 0x10
test eax, eax
je 0x68006e28
mov eax, dword [ebp - 0x48]
shr eax, 0xc
cmp eax, 1
jne 0x68006e28
mov edx, dword [ebp - 0x34]
test esi, esi
je 0x68007000
mov dword [esp], esi
mov dword [ebp - 0x74], edx
call dword [sym.imp.ucrtbase.dll_strlen]
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0x70], eax
mov eax, dword [edx + 4]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_strlen]
mov edx, dword [ebp - 0x70]
mov dword [esp + 8], esi
mov ecx, eax
mov dword [esp + 4], 0
lea ecx, [edx + ecx + 2]
mov dword [esp + 0xc], ecx
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapReAlloc]
sub esp, 0x10
mov esi, eax
test eax, eax
je 0x68007046
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_strlen]
mov edx, dword [ebp - 0x74]
add eax, esi
mov byte [eax], 0x2c
lea ecx, [eax + 1]
mov eax, dword [edx + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.ucrtbase.dll_strcpy]
jmp 0x68006e28
lea eax, [ebp - 0x64]
mov dword [esp + 0x20], 0
mov edi, dword [ebp - 0x78]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0xf003f
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x680176c0
mov dword [esp], 0x80000001
call sym._RegCreateKeyExW_36
sub esp, 0x24
test eax, eax
jne 0x68006f9d
mov ebx, dword [ebp - 0x64]
test esi, esi
je 0x680070a8
mov dword [esp], esi
call dword [sym.imp.ucrtbase.dll_strlen]
mov dword [esp + 0x10], esi
add eax, 1
mov dword [esp + 0xc], 1
mov dword [esp + 0x14], eax
mov dword [esp + 8], 0
mov dword [esp + 4], str.Purpose
mov dword [esp], ebx
call sym._RegSetValueExA_24
sub esp, 0x18
mov eax, dword [ebp - 0x64]
mov dword [esp], eax
call sym._RegCloseKey_4
sub esp, 4
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapFree]
sub esp, 0xc
mov dword [esp + 4], 8
mov dword [esp], edi
call sym._GetWindowLongW_8
sub esp, 8
mov dword [esp], eax
call sym._ImageList_Destroy_4
sub esp, 4
mov dword [esp + 4], 1
mov dword [esp], edi
call sym._EndDialog_8
sub esp, 8
jmp 0x68006b2d
mov eax, dword [edx + 4]
mov dword [ebp - 0x70], edx
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_strlen]
mov dword [esp + 4], 0
add eax, 1
mov ecx, dword fs:[0x18]
mov dword [esp + 8], eax
mov eax, dword [ecx + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
mov edx, dword [ebp - 0x70]
sub esp, 0xc
test eax, eax
mov esi, eax
mov ecx, eax
jne 0x68006ee0
xor esi, esi
jmp 0x68006e28
lea eax, [ebp - 0x64]
mov dword [esp + 0x20], 0
xor esi, esi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0xf003f
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x680176c0
mov dword [esp], 0x80000001
call sym._RegCreateKeyExW_36
sub esp, 0x24
test eax, eax
jne 0x68006f9d
mov ebx, dword [ebp - 0x64]
mov dword [esp + 4], str.Purpose
xor esi, esi
mov dword [esp], ebx
call sym._RegDeleteValueA_8
sub esp, 8
jmp 0x68006f8f