Function at 0x408af3
Capabilities:
Query or enumerate registry value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xa50
mov eax, dword [0x424004]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
xor eax, eax
mov dword [ebp - 0x990], 0x4018b8
mov dword [ebp - 0x9b0], eax
mov edx, 0x401b04
mov dword [ebp - 0x9ac], eax
mov ecx, 0x401b14
mov dword [ebp - 0x9a8], eax
mov eax, 0x401888
mov dword [ebp - 0x9a4], eax
mov dword [ebp - 0x9a0], eax
mov dword [ebp - 0x99c], eax
mov dword [ebp - 0x998], eax
mov eax, 0x4018a8
mov dword [ebp - 0x994], eax
mov dword [ebp - 0x958], eax
mov eax, 0x401a74
mov dword [ebp - 0x934], eax
mov dword [ebp - 0x930], eax
mov dword [ebp - 0x92c], eax
xor eax, eax
mov dword [ebp - 0xa50], eax
mov ebx, 0x401ab0
mov dword [ebp - 0xa4c], eax
mov dword [ebp - 0xa48], eax
mov eax, 0x401b34
mov dword [ebp - 0xa44], eax
mov edi, 0x401ad4
mov dword [ebp - 0xa40], eax
mov esi, 0x401af0
mov dword [ebp - 0xa3c], eax
mov dword [ebp - 0xa38], eax
mov eax, 0x4018a8
mov dword [ebp - 0x98c], 0x4018c4
mov dword [ebp - 0x988], 0x4018e8
mov dword [ebp - 0x984], 0x4018f8
mov dword [ebp - 0x980], 0x401908
mov dword [ebp - 0x97c], 0x401914
mov dword [ebp - 0x978], 0x401924
mov dword [ebp - 0x974], 0x401934
mov dword [ebp - 0x970], 0x401940
mov dword [ebp - 0x96c], 0x401950
mov dword [ebp - 0x968], 0x40195c
mov dword [ebp - 0x964], 0x40196c
mov dword [ebp - 0x960], 0x40197c
mov dword [ebp - 0x95c], 0x401990
mov dword [ebp - 0x954], 0x4019b8
mov dword [ebp - 0x950], 0x4019c4
mov dword [ebp - 0x94c], 0x4019dc
mov dword [ebp - 0x948], 0x4019f0
mov dword [ebp - 0x944], 0x401a00
mov dword [ebp - 0x940], 0x401a0c
mov dword [ebp - 0x93c], 0x401a20
mov dword [ebp - 0x938], 0x401a4c
mov dword [ebp - 0x928], 0x401a94
mov dword [ebp - 0x924], ebx
mov dword [ebp - 0x920], edi
mov dword [ebp - 0x91c], esi
mov dword [ebp - 0x918], edx
mov dword [ebp - 0x914], ecx
mov dword [ebp - 0xa34], eax
mov dword [ebp - 0xa30], 0x401b4c
mov dword [ebp - 0xa2c], 0x401b68
mov dword [ebp - 0xa28], 0x4018e8
mov dword [ebp - 0xa24], 0x4018f8
mov dword [ebp - 0xa20], 0x401908
mov dword [ebp - 0xa1c], 0x401914
mov dword [ebp - 0xa18], 0x401924
mov dword [ebp - 0xa14], 0x401934
mov dword [ebp - 0xa10], 0x401940
mov dword [ebp - 0xa0c], 0x401950
mov dword [ebp - 0xa08], 0x40195c
mov dword [ebp - 0xa04], 0x40196c
mov dword [ebp - 0xa00], 0x40197c
mov dword [ebp - 0x9fc], 0x401990
mov dword [ebp - 0x9f8], eax
mov dword [ebp - 0x9f4], 0x401b98
mov dword [ebp - 0x9f0], 0x401bac
mov dword [ebp - 0x9ec], 0x401bc0
push 3
mov dword [ebp - 0x9bc], esi
mov eax, 0x401a74
pop esi
push 0x40
mov dword [ebp - 0x9c0], edi
mov dword [ebp - 0x9e8], 0x401bd0
mov dword [ebp - 0x9e4], 0x401a00
mov dword [ebp - 0x9e0], 0x401a0c
mov dword [ebp - 0x9dc], 0x401a20
mov dword [ebp - 0x9d8], 0x401a4c
mov dword [ebp - 0x9d4], eax
mov dword [ebp - 0x9d0], eax
mov dword [ebp - 0x9cc], eax
mov dword [ebp - 0x9c8], 0x401a94
mov dword [ebp - 0x9c4], ebx
mov dword [ebp - 0x9b8], edx
mov dword [ebp - 0x9b4], ecx
pop edi
push esi
push 0x401810
push 0x401be0
lea eax, [ebp - 0x908]
push 0x400
push eax
call fcn.00408504
add esp, 0x14
lea eax, [ebp - 0x910]
mov bh, 1
mov bl, bh
push eax
push 0x2001f
push 0
lea eax, [ebp - 0x908]
push eax
push SysReAllocStringLen
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x408f10
push edi
push eax
lea eax, [ebp - 0x44]
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov dword [ebp - 0x90c], edi
lea eax, [ebp - 0x90c]
push eax
lea eax, [ebp - 0x44]
push eax
push 0
push 0
push 0x401bec
push dword [ebp - 0x910]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x408ea4
mov eax, dword [ebp - 0x90c]
add eax, 0xfffffffe
cmp eax, 0x3d
ja 0x408ea4
push dword [ebp + esi*4 - 0x9b0]
lea eax, [ebp - 0x44]
push eax
call dword [sym.imp.SHLWAPI.dll_StrCmpIW]
test eax, eax
je 0x408ea4
cmp esi, 8
jne 0x408ea2
push 0x401c0c
lea eax, [ebp - 0x44]
push eax
call dword [sym.imp.SHLWAPI.dll_StrCmpIW]
test eax, eax
je 0x408ea4
xor bh, bh
push edi
lea eax, [ebp - 0x44]
mov dword [ebp - 0x90c], edi
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0x90c]
push eax
lea eax, [ebp - 0x44]
push eax
push 0
push 0
push 0x401c18
push dword [ebp - 0x910]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x408f04
mov eax, dword [ebp - 0x90c]
add eax, 0xfffffffe
cmp eax, 0x3d
ja 0x408f04
push dword [ebp + esi*4 - 0xa50]
lea eax, [ebp - 0x44]
push eax
call dword [sym.imp.SHLWAPI.dll_StrCmpIW]
neg eax
sbb al, al
not al
and bl, al
push dword [ebp - 0x910]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push esi
push 0x401c38
lea eax, [ebp - 0x108]
push edi
push eax
call fcn.00408504
add esp, 0x10
test bh, bh
je 0x408f5e
push 0x20
lea eax, [ebp - 0x88]
push eax
push 0x404160
lea edx, [ebp - 0x108]
call fcn.0040db8f
test eax, eax
js 0x408f5e
lea eax, [ebp - 0x88]
push eax
push 0x404160
lea edx, [ebp - 0x108]
call fcn.0040dc0d
test bl, bl
je 0x408f93
push 0x20
lea eax, [ebp - 0x88]
mov ebx, 0x4041a4
push eax
push ebx
lea edx, [ebp - 0x108]
call fcn.0040db8f
test eax, eax
js 0x408f93
lea eax, [ebp - 0x88]
push eax
push ebx
lea edx, [ebp - 0x108]
call fcn.0040dc0d
inc esi
cmp esi, 0x28
jl 0x408de4
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00423360
mov esp, ebp
pop ebp
ret