Function at 0x408c17
Capabilities:
Query or enumerate registry value

Disassembly:
push 0x1b4
mov eax, 0x4218b5
call fcn.0040dd6e
mov eax, dword [ebp + 8]
mov edi, ecx
mov ecx, dword [ebp + 0x10]
xor ebx, ebx
mov dword [ebp - 0x1bc], ebx
mov dword [ebp - 0x1b0], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x1c0], ecx
xor ecx, ecx
mov dword [ebp - 0x1ac], eax
mov dword [ebp - 0x1b4], ebx
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x1c], ebx
mov word [ebp - 0x2c], cx
xor esi, esi
inc esi
mov dword [ebp - 4], esi
mov dword [ebp - 0x1a8], ebx
jmp 0x408c75
mov eax, dword [ebp - 0x1ac]
cmp dword [ebp - 0x1a8], esi
jne 0x408c9f
mov eax, dword [ebp - 0x1b4]
inc eax
and eax, 0xfffffffe
mov dword [ebp - 0x1b4], eax
push ebx
shr eax, 1
push eax
lea ecx, [ebp - 0x2c]
call fcn.00405c8d
mov eax, dword [ebp - 0x1ac]
mov dword [ebp - 0x1b8], esi
cmp dword [ebp - 0x1a8], ebx
jne 0x408cb1
xor ecx, ecx
jmp 0x408cbd
cmp dword [ebp - 0x18], 8
mov ecx, dword [ebp - 0x2c]
jae 0x408cbd
lea ecx, [ebp - 0x2c]
cmp dword [eax + 0x14], 8
jb 0x408cc5
mov eax, dword [eax]
lea edx, [ebp - 0x1b4]
push edx
push ecx
lea ecx, [ebp - 0x1b8]
push ecx
push ebx
push eax
push dword [edi + 0x28]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
cmp eax, 2
je 0x408f19
cmp eax, 0x3fa
je 0x408f19
cmp eax, ebx
jge 0x408dc6
xor eax, eax
push str.RegQueryValueEx_failure_reading_registry_value_
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x34], 7
mov dword [ebp - 0x38], ebx
mov word [ebp - 0x48], ax
call fcn.00402870
mov byte [ebp - 4], 2
push 0x5c
lea edx, [edi + 8]
lea ecx, [ebp - 0x9c]
call fcn.00407c3d
mov byte [ebp - 4], 3
push dword [ebp - 0x1ac]
mov edx, eax
lea ecx, [ebp - 0x80]
call fcn.00404994
mov byte [ebp - 4], 4
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x48]
call fcn.00401ba0
mov byte [ebp - 4], 3
push ebx
push esi
lea ecx, [ebp - 0x80]
call fcn.004014d0
mov byte [ebp - 4], 2
push ebx
push esi
lea ecx, [ebp - 0x9c]
call fcn.004014d0
push 0x422e30
lea ecx, [ebp - 0x48]
call fcn.0040436d
push str.WT::System::Win32::CRegistryKey::GetString
push 0x10f
push str.SourceWtSystemWin32RegistryKey.cpp
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x1a4]
call fcn.0040461e
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x1a4]
call fcn.004049d4
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1a4]
call fcn.0040406d
mov byte [ebp - 4], 1
push ebx
push esi
lea ecx, [ebp - 0x48]
call fcn.004014d0
cmp dword [ebp - 0x1b8], esi
je 0x408eb0
cmp dword [ebp - 0x1b8], 2
je 0x408eb0
xor eax, eax
push str.Unexpected_type_for_registry_value_
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x50], 7
mov dword [ebp - 0x54], ebx
mov word [ebp - 0x64], ax
call fcn.00402870
mov byte [ebp - 4], 6
push 0x5c
lea edx, [edi + 8]
lea ecx, [ebp - 0xd4]
call fcn.00407c3d
mov byte [ebp - 4], 7
push dword [ebp - 0x1ac]
mov edx, eax
lea ecx, [ebp - 0xb8]
call fcn.00404994
mov byte [ebp - 4], 8
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x64]
call fcn.00401ba0
mov byte [ebp - 4], 7
push ebx
push esi
lea ecx, [ebp - 0xb8]
call fcn.004014d0
mov byte [ebp - 4], 6
push ebx
push esi
lea ecx, [ebp - 0xd4]
call fcn.004014d0
push str.._REG_SZ_or_REG_EXPAND_SZ_expected.
lea ecx, [ebp - 0x64]
call fcn.0040436d
push str.WT::System::Win32::CRegistryKey::GetString
push 0x117
push str.SourceWtSystemWin32RegistryKey.cpp
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x13c]
call fcn.0040461e
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x13c]
call fcn.004049d4
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x13c]
call fcn.0040406d
mov byte [ebp - 4], 1
push ebx
push esi
lea ecx, [ebp - 0x64]
call fcn.004014d0
inc dword [ebp - 0x1a8]
cmp dword [ebp - 0x1a8], 2
jl 0x408c6f
mov ecx, dword [ebp - 0x1c]
cmp ecx, ebx
je 0x408ee9
cmp dword [ebp - 0x18], 8
mov eax, dword [ebp - 0x2c]
jae 0x408ed6
lea eax, [ebp - 0x2c]
cmp word [eax + ecx*2 - 2], bx
jne 0x408ee9
dec ecx
push 0xffffffffffffffff
push ecx
lea ecx, [ebp - 0x2c]
call fcn.00401520
mov ecx, dword [ebp - 0x1b0]
lea eax, [ebp - 0x2c]
push eax
call fcn.004034f0
mov dword [ebp - 0x1bc], esi
mov byte [ebp - 4], bl
push ebx
push esi
lea ecx, [ebp - 0x2c]
call fcn.004014d0
mov eax, dword [ebp - 0x1b0]
call fcn.0040ddf1
ret 0xc
push dword [ebp - 0x1c0]
mov ecx, dword [ebp - 0x1b0]
call fcn.00404482
jmp 0x408ef8