Function at 0x47c6e0
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x20
mov dword [esp], 0
mov esi, esp
push esi
push 0x20019
push 0
push str.SoftwareMicrosoftWindowsCurrentVersionExplorerHideDesktopIconsNewStartPanel
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x47c731
push esi
push 0x20019
push 0
push str.SoftwareMicrosoftWindowsCurrentVersionExplorerHideDesktopIconsClassicStartMenu
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov esi, str.ffRegOpenKeyForRead_SoftwareMicrosoftWindowsCurrentVersionExplorerHideDesktopIconsNewStartPanelClassicStartMenu__failed
test eax, eax
jne 0x47ccc2
mov edi, dword [esp + 0x34]
mov dword [esp + 0x1c], 1
mov dword [esp + 0x18], 1
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 1
mov eax, dword [esp]
mov dword [esp + 4], 4
lea ebx, [esp + 4]
lea ecx, [esp + 0x1c]
mov esi, dword [sym.imp.ADVAPI32.dll_RegGetValueW]
push ebx
push ecx
push 0
push 0x18
push str.20D04FE0_3AEA_1069_A2D8_08002B30309D
push 0
push eax
call esi
mov eax, dword [esp]
mov dword [esp + 4], 4
lea ecx, [esp + 0x18]
push ebx
push ecx
push 0
push 0x18
push str.59031a47_3f72_44a7_89c5_5595fe6b30ee
push 0
push eax
call esi
mov eax, dword [esp]
mov dword [esp + 4], 4
lea ecx, [esp + 0x14]
push ebx
push ecx
push 0
push 0x18
push str.F02C1A0D_BE21_4350_88B0_7367FC96EF3C
push 0
push eax
call esi
mov eax, dword [esp]
mov dword [esp + 4], 4
lea ecx, [esp + 0x10]
push ebx
push ecx
push 0
push 0x18
push str.645FF040_5081_101B_9F08_00AA002F954E
push 0
push eax
call esi
mov eax, dword [esp]
mov dword [esp + 4], 4
lea ecx, [esp + 0xc]
push ebx
push ecx
push 0
push 0x18
push str.5399E694_6CE5_4D6C_8FCE_1D8870FDCBA0
push 0
push eax
call esi
cmp dword [esp + 0x1c], 0
je 0x47c83a
cmp dword [esp + 0x18], 0
je 0x47c8e0
cmp dword [esp + 0x14], 0
je 0x47c99a
cmp dword [esp + 0x10], 0
je 0x47ca37
cmp dword [esp + 0xc], 0
jne 0x47cb8d
jmp 0x47cae8
mov eax, dword [edi]
mov ebx, dword [edi + 4]
test eax, eax
je 0x47c84e
mov ecx, ebx
not ecx
add ecx, eax
cmp ecx, 9
jae 0x47c882
cmp eax, 2
mov ecx, 0x20
cmovae ecx, eax
lea edx, [ebx + 0xa]
nop dword [eax]
mov ebp, ecx
add ecx, ecx
cmp edx, ebp
ja 0x47c860
test eax, eax
je 0x47c887
push ebp
push dword [edi + 8]
call sub.api_ms_win_crt_heap_l1_1_0.dll_realloc
add esp, 8
mov esi, eax
mov dword [edi + 8], eax
mov ebx, dword [edi + 4]
jmp 0x47c8ae
mov esi, dword [edi + 8]
jmp 0x47c8b0
push ebp
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
mov esi, eax
test ebx, ebx
je 0x47c8a8
lea eax, [ebx + 1]
push eax
push dword [edi + 8]
push esi
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
jmp 0x47c8ab
mov byte [esi], 0
mov dword [edi + 8], esi
mov dword [edi], ebp
mov byte [esi + ebx + 8], 0x20
mov dword [esi + ebx + 4], 0x2c435020
mov dword [esi + ebx], 0x73696854
mov eax, dword [edi + 4]
mov ecx, dword [edi + 8]
lea edx, [eax + 9]
mov dword [edi + 4], edx
mov byte [ecx + eax + 9], 0
cmp dword [esp + 0x18], 0
jne 0x47c814
mov eax, dword [edi]
mov ebx, dword [edi + 4]
test eax, eax
je 0x47c8f4
mov ecx, ebx
not ecx
add ecx, eax
cmp ecx, 0xe
jae 0x47c932
cmp eax, 2
mov ecx, 0x20
cmovae ecx, eax
lea edx, [ebx + 0xf]
nop word cs:[eax + eax]
mov ebp, ecx
add ecx, ecx
cmp edx, ebp
ja 0x47c910
test eax, eax
je 0x47c937
push ebp
push dword [edi + 8]
call sub.api_ms_win_crt_heap_l1_1_0.dll_realloc
add esp, 8
mov esi, eax
mov dword [edi + 8], eax
mov ebx, dword [edi + 4]
jmp 0x47c95e
mov esi, dword [edi + 8]
jmp 0x47c960
push ebp
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
mov esi, eax
test ebx, ebx
je 0x47c958
lea eax, [ebx + 1]
push eax
push dword [edi + 8]
push esi
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
jmp 0x47c95b
mov byte [esi], 0
mov dword [edi + 8], esi
mov dword [edi], ebp
mov word [esi + ebx + 0xc], 0x202c
mov dword [esi + ebx + 8], 0x73656c69
mov dword [esi + ebx + 4], 0x46207327
mov dword [esi + ebx], 0x72657355
mov eax, dword [edi + 4]
mov ecx, dword [edi + 8]
lea edx, [eax + 0xe]
mov dword [edi + 4], edx
mov byte [ecx + eax + 0xe], 0
cmp dword [esp + 0x14], 0
jne 0x47c81f
mov eax, dword [edi]
mov ebx, dword [edi + 4]
test eax, eax
je 0x47c9ae
mov ecx, ebx
not ecx
add ecx, eax
cmp ecx, 0x10
jae 0x47c9e2
cmp eax, 2
mov ecx, 0x20
cmovae ecx, eax
lea edx, [ebx + 0x11]
nop dword [eax]
mov ebp, ecx
add ecx, ecx
cmp edx, ebp
ja 0x47c9c0
test eax, eax
je 0x47c9e7
push ebp
push dword [edi + 8]
call sub.api_ms_win_crt_heap_l1_1_0.dll_realloc
add esp, 8
mov esi, eax
mov dword [edi + 8], eax
mov ebx, dword [edi + 4]
jmp 0x47ca0e
mov esi, dword [edi + 8]
jmp 0x47ca10
push ebp
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
mov esi, eax
test ebx, ebx
je 0x47ca08
lea eax, [ebx + 1]
push eax
push dword [edi + 8]
push esi
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
jmp 0x47ca0b
mov byte [esi], 0
mov dword [edi + 8], esi
mov dword [edi], ebp
movups xmm0, xmmword [str.Remote_Network_]
movups xmmword [esi + ebx], xmm0
mov eax, dword [edi + 4]
mov ecx, dword [edi + 8]
lea edx, [eax + 0x10]
mov dword [edi + 4], edx
mov byte [ecx + eax + 0x10], 0
cmp dword [esp + 0x10], 0
jne 0x47c82a
mov eax, dword [edi]
mov ebx, dword [edi + 4]
test eax, eax
je 0x47ca4b
mov ecx, ebx
not ecx
add ecx, eax
cmp ecx, 0xd
jae 0x47ca82
cmp eax, 2
mov ecx, 0x20
cmovae ecx, eax
lea edx, [ebx + 0xe]
nop dword [eax]
mov ebp, ecx
add ecx, ecx
cmp edx, ebp
ja 0x47ca60
test eax, eax
je 0x47ca87
push ebp
push dword [edi + 8]
call sub.api_ms_win_crt_heap_l1_1_0.dll_realloc
add esp, 8
mov esi, eax
mov dword [edi + 8], eax
mov ebx, dword [edi + 4]
jmp 0x47caae
mov esi, dword [edi + 8]
jmp 0x47cab0
push ebp
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
mov esi, eax
test ebx, ebx
je 0x47caa8
lea eax, [ebx + 1]
push eax
push dword [edi + 8]
push esi
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
jmp 0x47caab
mov byte [esi], 0
mov dword [edi + 8], esi
mov dword [edi], ebp
mov byte [esi + ebx + 0xc], 0x20
mov dword [esi + ebx + 8], 0x2c6e6942
mov dword [esi + ebx + 4], 0x20656c63
mov dword [esi + ebx], 0x79636552
mov eax, dword [edi + 4]
mov ecx, dword [edi + 8]
lea edx, [eax + 0xd]
mov dword [edi + 4], edx
mov byte [ecx + eax + 0xd], 0
cmp dword [esp + 0xc], 0
jne 0x47cb8d
mov eax, dword [edi]
mov ebx, dword [edi + 4]
test eax, eax
je 0x47cafc
mov ecx, ebx
not ecx
add ecx, eax
cmp ecx, 0xd
jae 0x47cb32
cmp eax, 2
mov ecx, 0x20
cmovae ecx, eax
lea edx, [ebx + 0xe]
nop word [eax + eax]
mov ebp, ecx
add ecx, ecx
cmp edx, ebp
ja 0x47cb10
test eax, eax
je 0x47cb37
push ebp
push dword [edi + 8]
call sub.api_ms_win_crt_heap_l1_1_0.dll_realloc
add esp, 8
mov esi, eax
mov dword [edi + 8], eax
mov ebx, dword [edi + 4]
jmp 0x47cb5e
mov esi, dword [edi + 8]
jmp 0x47cb60
push ebp
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
mov esi, eax
test ebx, ebx
je 0x47cb58
lea eax, [ebx + 1]
push eax
push dword [edi + 8]
push esi
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
jmp 0x47cb5b
mov byte [esi], 0
mov dword [edi + 8], esi
mov dword [edi], ebp
mov byte [esi + ebx + 0xc], 0x6c
mov dword [esi + ebx + 8], 0x656e6150
mov dword [esi + ebx + 4], 0x206c6f72
mov dword [esi + ebx], 0x746e6f43
mov eax, dword [edi + 4]
mov ecx, dword [edi + 8]
lea edx, [eax + 0xd]
mov dword [edi + 4], edx
mov byte [ecx + eax + 0xd], 0
mov eax, dword [edi + 4]
test eax, eax
je 0x47ccc0
mov ebx, dword [edi + 8]
cmp byte [eax + ebx - 1], 0x20
jne 0x47cc28
inc eax
nop word [eax + eax]
mov ebp, eax
add eax, 0xfffffffe
mov dword [edi + 4], eax
cmp ebp, 2
je 0x47cc0f
lea eax, [ebp - 1]
cmp byte [ebx + ebp - 3], 0x20
je 0x47cbb0
cmp dword [edi], 0
jne 0x47cc18
lea ecx, [eax - 1]
mov dword [esp + 8], ecx
mov dword [edi + 4], 0
mov ecx, 0x20
nop
mov esi, ecx
add ecx, ecx
cmp eax, esi
ja 0x47cbe0
push esi
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
mov byte [eax], 0
mov dword [edi + 8], eax
mov dword [edi], esi
mov esi, dword [esp + 8]
push esi
push ebx
push eax
mov ebx, eax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
mov dword [edi + 4], esi
jmp 0x47cc18
cmp dword [edi], 0
je 0x47ccab
mov byte [ebx + ebp - 2], 0
mov eax, dword [edi + 4]
test eax, eax
je 0x47ccc0
mov ebx, dword [edi + 8]
cmp byte [eax + ebx - 1], 0x2c
jne 0x47ccc0
inc eax
nop word [eax + eax]
mov ebp, eax
add eax, 0xfffffffe
mov dword [edi + 4], eax
cmp ebp, 2
je 0x47cc9f
lea eax, [ebp - 1]
cmp byte [ebx + ebp - 3], 0x2c
je 0x47cc40
cmp dword [edi], 0
jne 0x47cca4
lea ecx, [eax - 1]
mov dword [esp + 8], ecx
mov dword [edi + 4], 0
mov ecx, 0x20
nop
mov esi, ecx
add ecx, ecx
cmp eax, esi
ja 0x47cc70
push esi
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
mov byte [eax], 0
mov dword [edi + 8], eax
mov dword [edi], esi
mov esi, dword [esp + 8]
push esi
push ebx
push eax
mov ebx, eax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
mov dword [edi + 4], esi
jmp 0x47cca4
cmp dword [edi], 0
je 0x47ccab
mov byte [ebx + ebp - 2], 0
jmp 0x47ccc0
mov dword [edi], 0
mov dword [edi + 4], 0
mov eax, dword [0x5052b0]
mov dword [edi + 8], eax
xor esi, esi
mov eax, dword [esp]
test eax, eax
je 0x47ccd0
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, esi
add esp, 0x20
pop esi
pop edi
pop ebx
pop ebp
ret