Function at 0x40d60c
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
lea ebp, [esp - 0x74]
mov eax, 0x16a0
call fcn.00412b10
push ebx
push esi
push edi
xor edi, edi
mov esi, 0x7fe
push esi
lea eax, [ebp - 0xe2a]
push edi
push eax
mov dword [ebp + 0x70], edi
mov word [ebp - 0xe2c], di
call sub.MSVCRT.dll_memset
push 0x206
lea eax, [ebp - 0x62a]
push edi
push eax
mov word [ebp - 0x62c], di
call sub.MSVCRT.dll_memset
push esi
lea eax, [ebp - 0x162a]
push edi
push eax
mov word [ebp - 0x162c], di
call sub.MSVCRT.dll_memset
push dword [ebp + 0x7c]
call fcn.004043d0
xor ecx, ecx
add esp, 0x28
cmp word [eax], 0x40
mov dword [ebp + 0x7c], eax
sete cl
cmp ecx, edi
mov dword [ebp + 0x6c], ecx
je 0x40d68e
inc eax
inc eax
mov dword [ebp + 0x7c], eax
mov esi, dword [sym.imp.SHLWAPI.dll_SHGetValueW]
lea eax, [ebp + 0x68]
push eax
lea eax, [ebp - 0x62c]
push eax
lea eax, [ebp + 0x64]
push eax
push 0x402708
mov ebx, 0x401aa0
push ebx
mov edi, SysReAllocString
push edi
mov dword [ebp + 0x64], 1
mov dword [ebp + 0x68], 0x104
call esi
test eax, eax
je 0x40d73a
lea eax, [ebp + 0x68]
push eax
lea eax, [ebp - 0x62c]
push eax
lea eax, [ebp + 0x64]
push eax
push 0x402700
push ebx
push edi
call esi
test eax, eax
je 0x40d73a
cmp dword [ebp + 0x6c], 0
jne 0x40d732
mov esi, dword [sym.imp.USER32.dll_LoadStringW]
push 0x50
lea eax, [ebp - 0x3c]
push eax
push 0x2715
push dword [0x4152cc]
call esi
push 0x50
lea eax, [ebp - 0xdc]
push eax
push 0x2716
push dword [0x4152cc]
call esi
push 0x10
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0x3c]
push eax
push dword [0x4152c8]
call dword [sym.imp.USER32.dll_MessageBoxW]
xor eax, eax
inc eax
jmp 0x40d9be
push 0x400
lea eax, [ebp - 0xe2c]
push eax
lea eax, [ebp - 0x62c]
push eax
call fcn.00405202
lea eax, [ebp - 0xe2c]
push eax
call fcn.00402cb4
add esp, 0x10
test eax, eax
je 0x40d770
lea eax, [ebp - 0xe2c]
mov dword [0x4150f0], eax
mov edi, dword [sym.imp.USER32.dll_LoadStringW]
push 0x50
lea eax, [ebp - 0x424]
push eax
push 0x2717
push dword [0x4152cc]
call edi
mov esi, dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [ebp - 0xe2c]
push eax
lea eax, [ebp - 0x424]
push eax
lea eax, [ebp - 0x162c]
push eax
call esi
add esp, 0xc
push 0x4026f0
push dword [ebp + 0x7c]
call dword [sym.imp.SHLWAPI.dll_StrStrIW]
test eax, eax
je 0x40d84c
push 0x50
lea eax, [ebp - 0x3c]
push eax
push 0x2718
push dword [0x4152cc]
call edi
push 0x50
lea eax, [ebp - 0xdc]
push eax
push 0x2719
push dword [0x4152cc]
call edi
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatW]
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x162c]
push eax
call esi
cmp dword [ebp + 0x6c], 0
jne 0x40d829
push 0x24
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0x162c]
push eax
push dword [0x4152c8]
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 6
jne 0x40d9bb
push 0x40258c
lea eax, [ebp - 0xe2c]
push eax
call esi
lea eax, [ebp - 0xe2c]
push eax
call fcn.00407e8c
pop ecx
mov dword [ebp + 0x70], eax
jmp 0x40d9bb
push 0x4026e0
push dword [ebp + 0x7c]
call dword [sym.imp.SHLWAPI.dll_StrStrIW]
test eax, eax
je 0x40d9bb
push 0x50
lea eax, [ebp - 0x3c]
push eax
push 0x271a
push dword [0x4152cc]
call edi
push 0x50
lea eax, [ebp - 0xdc]
push eax
push 0x271b
push dword [0x4152cc]
call edi
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x162c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
push 0x24
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0x162c]
push eax
push dword [0x4152c8]
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 6
jne 0x40d9bb
push 0x50
lea eax, [ebp - 0x384]
push eax
push 0x271c
push dword [0x4152cc]
call edi
lea eax, [ebp - 0x384]
push eax
lea eax, [ebp - 0xe2c]
push 1
push eax
call fcn.0040d3b7
mov edi, eax
add esp, 0xc
test edi, edi
mov dword [ebp + 0x7c], edi
je 0x40d9bb
push edi
call fcn.00402cb4
test eax, eax
pop ecx
jne 0x40d90e
push edi
call fcn.00402c6d
pop ecx
push edi
call fcn.00402cb4
test eax, eax
pop ecx
je 0x40d9bb
push edi
push ebx
mov edi, 0x401a88
push edi
lea eax, [ebp - 0x2e4]
push 0x4026c4
push eax
call esi
lea eax, [ebp - 0x2e4]
push eax
call fcn.00404df4
push dword [ebp + 0x7c]
lea eax, [ebp - 0x2e4]
push ebx
push edi
push 0x4026a8
push eax
call esi
lea eax, [ebp - 0x2e4]
push eax
call fcn.00404df4
push dword [ebp + 0x7c]
lea eax, [ebp - 0x2e4]
push 0x402698
push eax
call esi
xor edi, edi
push edi
lea eax, [ebp - 0x2e4]
push 1
push eax
call fcn.00405318
add esp, 0x48
push dword [ebp + 0x7c]
mov dword [ebp + 0x70], eax
lea eax, [ebp - 0x2e4]
push 0x402688
push eax
call esi
push edi
lea eax, [ebp - 0x2e4]
push 1
push eax
call fcn.00405318
add dword [ebp + 0x70], eax
push edi
push edi
push 0x401a34
call fcn.00405318
add esp, 0x24
add dword [ebp + 0x70], eax
mov eax, dword [ebp + 0x70]
pop edi
pop esi
pop ebx
add ebp, 0x74
leave
ret