Function at 0x40ffd0
Capabilities:
Contain obfuscated stackstrings
Query or enumerate registry value
Resolve function by parsing pe exports
Set registry value

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x804
mov eax, dword [0x61c948]
xor eax, esp
mov dword [esp + 0x800], eax
push ebx
push esi
mov esi, dword [sym.imp.SHLWAPI.dll_SHGetValueW]
push edi
xor ebx, ebx
mov dword [esp + 0x18], str.09571A4B_F1FE_4C60_9760_DE6D310C7C31
mov dword [esp + 0x1c], 0x800101
mov dword [esp + 0x20], str.136DCBF5_3874_4B70_AE3E_15997D6334F7
mov dword [esp + 0x24], 0x601000
mov dword [esp + 0x28], str.5CAE8739_5CAA_4484_A06A_A84CF88EC039
mov dword [esp + 0x2c], 0x800002
mov dword [esp + 0x10], 0x400
mov dword [esp + 0x14], 3
xor edi, edi
jmp 0x410040
mov eax, dword [esp + edi*8 + 0x18]
push eax
push str.CLSID083863F1_70DE_11d0_BD40_00A0C911CE86Instance_s
lea ecx, [esp + 0x208]
push 0x104
push ecx
call fcn.00472f02
add esp, 0x10
lea edx, [esp + 0x10]
push edx
lea eax, [esp + 0x40c]
push eax
lea ecx, [esp + 0x1c]
push ecx
push str.FilterData
lea edx, [esp + 0x210]
push edx
push SysReAllocString
call esi
test eax, eax
jne 0x4100be
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + edi*8 + 0x1c]
push ecx
lea edx, [esp + 0x40c]
push edx
mov dword [esp + 0x414], eax
mov eax, dword [esp + 0x1c]
push eax
push str.FilterData
lea ecx, [esp + 0x210]
push ecx
push SysReAllocString
call dword [sym.imp.SHLWAPI.dll_SHSetValueW]
add edi, 1
cmp edi, 3
mov dword [esp + 0x10], 0x400
mov dword [esp + 0x14], 3
jb 0x410040
mov al, 2
mov dl, 0x79
mov byte [esp + 0x30], al
mov byte [esp + 0x38], al
mov al, 0x33
mov cl, 0x10
mov byte [esp + 0x31], bl
mov byte [esp + 0x32], bl
mov byte [esp + 0x33], bl
mov byte [esp + 0x34], bl
mov byte [esp + 0x35], 1
mov byte [esp + 0x36], 0x70
mov byte [esp + 0x37], bl
mov byte [esp + 0x39], bl
mov byte [esp + 0x3a], bl
mov byte [esp + 0x3b], bl
mov byte [esp + 0x3c], bl
mov byte [esp + 0x3d], bl
mov byte [esp + 0x3e], bl
mov byte [esp + 0x3f], bl
mov byte [esp + 0x40], 0x30
mov byte [esp + 0x41], 0x70
mov byte [esp + 0x42], 0x69
mov byte [esp + 0x43], al
mov byte [esp + 0x44], bl
mov byte [esp + 0x45], bl
mov byte [esp + 0x46], bl
mov byte [esp + 0x47], bl
mov byte [esp + 0x48], bl
mov byte [esp + 0x49], bl
mov byte [esp + 0x4a], bl
mov byte [esp + 0x4b], bl
mov byte [esp + 0x4c], 0xc
mov byte [esp + 0x4d], bl
mov byte [esp + 0x4e], bl
mov byte [esp + 0x4f], bl
mov byte [esp + 0x50], bl
mov byte [esp + 0x51], bl
mov byte [esp + 0x52], bl
mov byte [esp + 0x53], bl
mov byte [esp + 0x54], bl
mov byte [esp + 0x55], bl
mov byte [esp + 0x56], bl
mov byte [esp + 0x57], bl
mov byte [esp + 0x58], 0x30
mov byte [esp + 0x59], 0x74
mov byte [esp + 0x5a], dl
mov byte [esp + 0x5b], al
mov byte [esp + 0x5c], bl
mov byte [esp + 0x5d], bl
mov byte [esp + 0x5e], bl
mov byte [esp + 0x5f], bl
mov byte [esp + 0x60], cl
mov byte [esp + 0x61], 1
mov byte [esp + 0x62], bl
mov byte [esp + 0x63], bl
mov byte [esp + 0x64], 0x20
mov byte [esp + 0x65], 1
mov byte [esp + 0x66], bl
mov byte [esp + 0x67], bl
mov byte [esp + 0x68], 0x31
mov byte [esp + 0x69], 0x74
mov byte [esp + 0x6a], dl
mov byte [esp + 0x6b], al
mov byte [esp + 0x6c], bl
mov byte [esp + 0x6d], bl
mov byte [esp + 0x6e], bl
mov byte [esp + 0x6f], bl
mov byte [esp + 0x70], cl
mov byte [esp + 0x71], 1
mov byte [esp + 0x72], bl
mov byte [esp + 0x73], bl
mov byte [esp + 0x74], 0x30
mov byte [esp + 0x75], 1
mov byte [esp + 0x76], bl
mov byte [esp + 0x77], bl
mov byte [esp + 0x78], 0x32
mov byte [esp + 0x79], 0x74
mov byte [esp + 0x7a], dl
mov byte [esp + 0x7b], al
mov byte [esp + 0x7c], bl
mov byte [esp + 0x7d], bl
mov byte [esp + 0x7e], bl
mov byte [esp + 0x7f], bl
mov byte [esp + 0x80], cl
mov byte [esp + 0x81], 1
mov byte [esp + 0x82], bl
mov byte [esp + 0x83], bl
mov byte [esp + 0x84], 0x40
mov byte [esp + 0x85], 1
mov byte [esp + 0x86], bl
mov byte [esp + 0x87], bl
mov byte [esp + 0x88], al
mov byte [esp + 0x89], 0x74
mov byte [esp + 0x8a], dl
mov byte [esp + 0x8b], al
mov byte [esp + 0x8c], bl
mov byte [esp + 0x8d], bl
mov byte [esp + 0x8e], bl
mov byte [esp + 0x8f], bl
mov byte [esp + 0x90], cl
mov byte [esp + 0x91], 1
mov byte [esp + 0x92], bl
mov byte [esp + 0x93], bl
mov byte [esp + 0x94], 0x50
mov byte [esp + 0x95], 1
mov byte [esp + 0x96], bl
mov byte [esp + 0x97], bl
mov byte [esp + 0x98], 0x34
mov byte [esp + 0x99], 0x74
mov byte [esp + 0x9a], dl
mov byte [esp + 0x9b], al
mov byte [esp + 0x9c], bl
mov byte [esp + 0x9d], bl
mov byte [esp + 0x9e], bl
mov byte [esp + 0x9f], bl
mov byte [esp + 0xa0], cl
mov byte [esp + 0xa1], 1
mov byte [esp + 0xa2], bl
mov byte [esp + 0xa3], bl
mov byte [esp + 0xa4], 0x60
mov byte [esp + 0xa5], 1
mov byte [esp + 0xa6], bl
mov byte [esp + 0xa7], bl
mov byte [esp + 0xa8], 0x35
mov byte [esp + 0xa9], 0x74
mov byte [esp + 0xaa], dl
mov byte [esp + 0xab], al
mov byte [esp + 0xac], bl
mov byte [esp + 0xad], bl
mov byte [esp + 0xae], bl
mov byte [esp + 0xaf], bl
mov byte [esp + 0xb0], cl
mov byte [esp + 0xb1], 1
mov byte [esp + 0xb2], bl
mov byte [esp + 0xb3], bl
mov byte [esp + 0xb4], 0x70
mov byte [esp + 0xb5], 1
mov byte [esp + 0xb6], bl
mov byte [esp + 0xb7], bl
mov byte [esp + 0xb8], 0x36
mov byte [esp + 0xb9], 0x74
mov byte [esp + 0xba], dl
mov byte [esp + 0xbb], al
mov byte [esp + 0xbc], bl
mov byte [esp + 0xbd], bl
mov byte [esp + 0xbe], bl
mov byte [esp + 0xbf], bl
mov byte [esp + 0xc0], cl
mov byte [esp + 0xc1], 1
mov byte [esp + 0xc2], bl
mov byte [esp + 0xc3], bl
mov byte [esp + 0xc4], 0x80
mov byte [esp + 0xc5], 1
mov byte [esp + 0xc6], bl
mov byte [esp + 0xc7], bl
mov byte [esp + 0xc8], 0x37
mov byte [esp + 0xc9], 0x74
mov byte [esp + 0xca], dl
mov byte [esp + 0xcb], al
mov byte [esp + 0xcc], bl
mov byte [esp + 0xcd], bl
mov byte [esp + 0xce], bl
mov byte [esp + 0xcf], bl
mov byte [esp + 0xd0], cl
mov byte [esp + 0xd1], 1
mov byte [esp + 0xd2], bl
mov byte [esp + 0xd3], bl
mov byte [esp + 0xd4], 0x90
mov byte [esp + 0xd5], 1
mov byte [esp + 0xd6], bl
mov byte [esp + 0xd7], bl
mov byte [esp + 0xd8], 0x38
mov byte [esp + 0xd9], 0x74
mov byte [esp + 0xda], dl
mov byte [esp + 0xdb], al
mov byte [esp + 0xdc], bl
mov byte [esp + 0xdd], bl
mov byte [esp + 0xde], bl
mov byte [esp + 0xdf], bl
mov byte [esp + 0xe0], 0xa0
mov byte [esp + 0xe1], 1
mov byte [esp + 0xe2], bl
mov byte [esp + 0xe3], bl
mov byte [esp + 0xe4], 0x90
mov byte [esp + 0xe5], 1
mov byte [esp + 0xe6], bl
mov byte [esp + 0xe7], bl
mov byte [esp + 0xe8], 0x39
mov byte [esp + 0xe9], 0x74
mov byte [esp + 0xea], dl
mov byte [esp + 0xeb], al
mov byte [esp + 0xec], bl
mov byte [esp + 0xed], bl
mov byte [esp + 0xee], bl
mov byte [esp + 0xef], bl
mov byte [esp + 0xf0], 0xa0
mov byte [esp + 0xf1], 1
mov byte [esp + 0xf2], bl
mov byte [esp + 0xf3], bl
mov byte [esp + 0xf4], 0x70
mov byte [esp + 0xf5], 1
mov byte [esp + 0xf6], bl
mov byte [esp + 0xf7], bl
mov byte [esp + 0xf8], 0x3a
mov byte [esp + 0xf9], 0x74
mov byte [esp + 0xfa], dl
mov byte [esp + 0xfb], al
mov byte [esp + 0xfc], bl
mov byte [esp + 0xfd], bl
mov byte [esp + 0xfe], bl
mov byte [esp + 0xff], bl
mov byte [esp + 0x100], 0xb0
mov byte [esp + 0x101], 1
mov byte [esp + 0x102], bl
mov byte [esp + 0x103], bl
mov byte [esp + 0x104], 0x40
mov byte [esp + 0x105], 1
mov byte [esp + 0x106], bl
mov byte [esp + 0x107], bl
mov byte [esp + 0x108], 0x3b
mov byte [esp + 0x109], 0x74
mov byte [esp + 0x10a], dl
mov byte [esp + 0x10b], al
mov byte [esp + 0x10c], bl
mov byte [esp + 0x10d], bl
mov byte [esp + 0x10e], bl
mov byte [esp + 0x10f], bl
mov byte [esp + 0x110], cl
mov byte [esp + 0x111], 1
mov byte [esp + 0x112], bl
mov byte [esp + 0x113], bl
mov byte [esp + 0x114], 0xc0
mov byte [esp + 0x115], 1
mov byte [esp + 0x116], bl
mov byte [esp + 0x117], bl
mov byte [esp + 0x118], 0x31
mov byte [esp + 0x119], 0x70
mov byte [esp + 0x11a], 0x69
mov byte [esp + 0x11b], al
mov byte [esp + 0x11c], 8
mov byte [esp + 0x11d], bl
mov byte [esp + 0x11e], bl
mov byte [esp + 0x11f], bl
mov byte [esp + 0x120], bl
mov byte [esp + 0x121], bl
mov byte [esp + 0x122], bl
mov byte [esp + 0x123], bl
mov byte [esp + 0x124], 1
mov byte [esp + 0x125], bl
mov byte [esp + 0x126], bl
mov byte [esp + 0x127], bl
mov byte [esp + 0x128], bl
mov byte [esp + 0x129], bl
mov byte [esp + 0x12a], bl
mov byte [esp + 0x12b], bl
mov byte [esp + 0x12c], bl
mov byte [esp + 0x12d], bl
mov byte [esp + 0x12e], bl
mov byte [esp + 0x12f], bl
mov byte [esp + 0x130], 0x30
mov byte [esp + 0x131], 0x74
mov byte [esp + 0x132], dl
mov byte [esp + 0x133], al
mov byte [esp + 0x134], bl
mov byte [esp + 0x135], bl
mov byte [esp + 0x136], bl
mov byte [esp + 0x137], bl
mov byte [esp + 0x138], cl
mov byte [esp + 0x139], 1
mov byte [esp + 0x13a], bl
mov byte [esp + 0x13b], bl
mov byte [esp + 0x13c], 0x20
mov byte [esp + 0x13d], 1
mov byte [esp + 0x13e], bl
mov byte [esp + 0x13f], bl
mov byte [esp + 0x140], 0x61
mov byte [esp + 0x141], 0x75
mov byte [esp + 0x142], 0x64
mov byte [esp + 0x143], 0x73
mov byte [esp + 0x144], bl
mov byte [esp + 0x145], bl
mov byte [esp + 0x146], cl
mov byte [esp + 0x147], bl
mov byte [esp + 0x148], 0x80
mov byte [esp + 0x149], bl
mov byte [esp + 0x14a], bl
mov byte [esp + 0x14b], 0xaa
mov byte [esp + 0x14c], bl
mov byte [esp + 0x14d], 0x38
mov byte [esp + 0x14e], 0x9b
mov byte [esp + 0x14f], 0x71
mov byte [esp + 0x150], 1
mov byte [esp + 0x151], bl
mov byte [esp + 0x152], bl
mov byte [esp + 0x153], bl
mov byte [esp + 0x154], bl
mov byte [esp + 0x155], bl
mov byte [esp + 0x156], cl
mov byte [esp + 0x157], bl
mov byte [esp + 0x158], 0x80
mov byte [esp + 0x159], bl
mov byte [esp + 0x15a], bl
mov byte [esp + 0x15b], 0xaa
mov byte [esp + 0x15c], bl
mov byte [esp + 0x15d], 0x38
mov byte [esp + 0x15e], 0x9b
mov byte [esp + 0x15f], 0x71
mov byte [esp + 0x160], bl
mov byte [esp + 0x161], bl
mov byte [esp + 0x162], bl
mov byte [esp + 0x163], bl
mov byte [esp + 0x164], bl
mov byte [esp + 0x165], bl
mov byte [esp + 0x166], bl
mov byte [esp + 0x167], bl
mov byte [esp + 0x168], bl
mov byte [esp + 0x169], bl
mov byte [esp + 0x16a], bl
mov byte [esp + 0x16b], bl
mov byte [esp + 0x16c], bl
mov byte [esp + 0x16d], bl
mov byte [esp + 0x16e], bl
mov byte [esp + 0x16f], bl
mov al, 0x11
mov dl, 0xa7
mov byte [esp + 0x170], 0x87
mov byte [esp + 0x171], 0xeb
mov byte [esp + 0x172], 0x36
mov byte [esp + 0x173], 0xe4
mov byte [esp + 0x174], 0x4f
mov byte [esp + 0x175], 0x52
mov byte [esp + 0x176], 0xce
mov byte [esp + 0x177], al
mov byte [esp + 0x178], 0x9f
mov byte [esp + 0x179], 0x53
mov byte [esp + 0x17a], bl
mov byte [esp + 0x17b], 0x20
mov byte [esp + 0x17c], 0xaf
mov byte [esp + 0x17d], 0xb
mov byte [esp + 0x17e], dl
mov byte [esp + 0x17f], 0x70
mov byte [esp + 0x180], 0x80
mov byte [esp + 0x181], 0xeb
mov byte [esp + 0x182], 0x36
mov byte [esp + 0x183], 0xe4
mov byte [esp + 0x184], 0x4f
mov byte [esp + 0x185], 0x52
mov byte [esp + 0x186], 0xce
mov byte [esp + 0x187], al
mov byte [esp + 0x188], 0x9f
mov byte [esp + 0x189], 0x53
mov byte [esp + 0x18a], bl
mov byte [esp + 0x18b], 0x20
mov byte [esp + 0x18c], 0xaf
mov byte [esp + 0x18d], 0xb
mov byte [esp + 0x18e], dl
mov byte [esp + 0x18f], 0x70
mov byte [esp + 0x190], 0x81
mov byte [esp + 0x191], 0xeb
mov byte [esp + 0x192], 0x36
mov byte [esp + 0x193], 0xe4
mov byte [esp + 0x194], 0x4f
mov byte [esp + 0x195], 0x52
mov byte [esp + 0x196], 0xce
mov byte [esp + 0x197], al
mov byte [esp + 0x198], 0x9f
mov byte [esp + 0x199], 0x53
mov byte [esp + 0x19a], bl
mov byte [esp + 0x19b], 0x20
mov byte [esp + 0x19c], 0xaf
mov byte [esp + 0x19d], 0xb
mov byte [esp + 0x19e], dl
mov byte [esp + 0x19f], 0x70
mov byte [esp + 0x1a0], 0x50
mov byte [esp + 0x1a1], bl
mov byte [esp + 0x1a2], bl
mov byte [esp + 0x1a3], bl
mov byte [esp + 0x1a4], bl
mov byte [esp + 0x1a5], bl
mov byte [esp + 0x1a6], cl
mov byte [esp + 0x1a7], bl
mov byte [esp + 0x1a8], 0x80
mov byte [esp + 0x1a9], bl
mov byte [esp + 0x1aa], bl
mov byte [esp + 0x1ab], 0xaa
mov byte [esp + 0x1ac], bl
mov byte [esp + 0x1ad], 0x38
mov byte [esp + 0x1ae], 0x9b
mov byte [esp + 0x1af], 0x71
mov byte [esp + 0x1b0], 0x2b
mov byte [esp + 0x1b1], 0x80
mov byte [esp + 0x1b2], 0x6d
mov byte [esp + 0x1b3], 0xe0
mov byte [esp + 0x1b4], 0x46
mov byte [esp + 0x1b5], 0xdb
mov byte [esp + 0x1b6], 0xcf
mov byte [esp + 0x1b7], al
mov byte [esp + 0x1b8], 0xb4
mov byte [esp + 0x1b9], 0xd1
mov byte [esp + 0x1ba], bl
mov byte [esp + 0x1bb], 0x80
mov byte [esp + 0x1bc], 0x5f
mov byte [esp + 0x1bd], 0x6c
mov byte [esp + 0x1be], 0xbb
mov byte [esp + 0x1ee], dl
lea edx, [esp + 0x10]
push edx
mov byte [esp + 0x1cb], al
mov byte [esp + 0x1db], al
mov byte [esp + 0x1eb], al
lea eax, [esp + 0x40c]
push eax
mov byte [esp + 0x1fe], cl
lea ecx, [esp + 0x1c]
push ecx
push str.FilterData
push str.CLSID083863F1_70DE_11d0_BD40_00A0C911CE86InstanceE32C3B01_C81B_4D01_8AD4_2B93F7FA544C
push SysReAllocString
mov byte [esp + 0x1d7], 0xea
mov byte [esp + 0x1d8], 0x32
mov byte [esp + 0x1d9], 0x80
mov byte [esp + 0x1da], 0x6d
mov byte [esp + 0x1db], 0xe0
mov byte [esp + 0x1dc], 0x46
mov byte [esp + 0x1dd], 0xdb
mov byte [esp + 0x1de], 0xcf
mov byte [esp + 0x1e0], 0xb4
mov byte [esp + 0x1e1], 0xd1
mov byte [esp + 0x1e2], bl
mov byte [esp + 0x1e3], 0x80
mov byte [esp + 0x1e4], 0x5f
mov byte [esp + 0x1e5], 0x6c
mov byte [esp + 0x1e6], 0xbb
mov byte [esp + 0x1e7], 0xea
mov byte [esp + 0x1e8], 0x20
mov byte [esp + 0x1e9], 0x80
mov byte [esp + 0x1ea], 0x6d
mov byte [esp + 0x1eb], 0xe0
mov byte [esp + 0x1ec], 0x46
mov byte [esp + 0x1ed], 0xdb
mov byte [esp + 0x1ee], 0xcf
mov byte [esp + 0x1f0], 0xb4
mov byte [esp + 0x1f1], 0xd1
mov byte [esp + 0x1f2], bl
mov byte [esp + 0x1f3], 0x80
mov byte [esp + 0x1f4], 0x5f
mov byte [esp + 0x1f5], 0x6c
mov byte [esp + 0x1f6], 0xbb
mov byte [esp + 0x1f7], 0xea
mov byte [esp + 0x1f8], 0x83
mov byte [esp + 0x1f9], 0xeb
mov byte [esp + 0x1fa], 0x36
mov byte [esp + 0x1fb], 0xe4
mov byte [esp + 0x1fc], 0x4f
mov byte [esp + 0x1fd], 0x52
mov byte [esp + 0x1fe], 0xce
mov byte [esp + 0x200], 0x9f
mov byte [esp + 0x201], 0x53
mov byte [esp + 0x202], bl
mov byte [esp + 0x203], 0x20
mov byte [esp + 0x204], 0xaf
mov byte [esp + 0x205], 0xb
mov byte [esp + 0x207], 0x70
mov byte [esp + 0x208], 0x55
mov byte [esp + 0x209], bl
mov byte [esp + 0x20a], bl
mov byte [esp + 0x20b], bl
mov byte [esp + 0x20c], bl
mov byte [esp + 0x20d], bl
mov byte [esp + 0x20f], bl
mov byte [esp + 0x210], 0x80
mov byte [esp + 0x211], bl
mov byte [esp + 0x212], bl
mov byte [esp + 0x213], 0xaa
mov byte [esp + 0x214], bl
mov byte [esp + 0x215], 0x38
mov byte [esp + 0x216], 0x9b
mov byte [esp + 0x217], 0x71
mov dword [esp + 0x28], 0x400
call esi
test eax, eax
jne 0x410dbd
push 0x1d0
lea edx, [esp + 0x34]
push edx
push 3
push str.FilterData
push str.CLSID083863F1_70DE_11d0_BD40_00A0C911CE86InstanceE32C3B01_C81B_4D01_8AD4_2B93F7FA544C
push SysReAllocString
call dword [sym.imp.SHLWAPI.dll_SHSetValueW]
mov ecx, dword [esp + 0x80c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004721e8
mov esp, ebp
pop ebp
ret