Function at 0x408f80
Capabilities:
Query or enumerate registry value

Disassembly:
sub esp, 0x18
push ebx
push ebp
xor ebp, ebp
push esi
push edi
mov ebx, eax
xor esi, esi
xor edi, edi
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x10], ebp
mov dword [esp + 0x24], ebp
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], ebp
cmp dword [ebx], ebp
jne 0x408fee
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0x10000
push ebp
push ebp
push eax
call fcn.004148f0
mov esi, eax
mov edi, edx
add esi, 0x1b40000
adc edi, 6
push edi
push esi
push 0x1b5
push str..RegEnum.cpp
push str._S__d_nRet0x_016llX_n
call fcn.004019b0
add esp, 0x14
mov eax, esi
mov edx, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret 0x18
push 0x8000
call fcn.00409c6f
add esp, 4
mov dword [esp + 0x20], eax
cmp eax, ebp
jne 0x409041
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0x10000
push ebp
push ebp
push eax
call fcn.004148f0
mov esi, eax
add esi, 0x1bc0000
mov edi, edx
adc edi, 3
push edi
push esi
push 0x1bd
push str..RegEnum.cpp
push str._S__d_nRet0x_016llX_n
call fcn.004019b0
add esp, 0x14
jmp 0x4092a9
lea ecx, [esp + 0x18]
push ecx
push ebp
lea edx, [esp + 0x24]
push edx
mov edx, dword [esp + 0x4c]
push ebp
lea ecx, [esp + 0x24]
push ecx
push eax
mov eax, dword [ebx + 0xc]
push edx
push eax
mov dword [esp + 0x34], 0x4000
call dword [sym.imp.ADVAPI32.dll_RegEnumValueW]
cmp eax, ebp
je 0x4090e2
push ebp
push ebp
lea ecx, [esp + 0x18]
push ecx
push 0x400
push eax
push ebp
push 0x1300
call dword [sym.imp.KERNEL32.dll_FormatMessageW]
mov eax, dword [esp + 0x10]
cmp eax, ebp
je 0x4090b6
push eax
push 0x1d8
push str..RegEnum.cpp
push str._S__d_failed:_s_n
call fcn.004019b0
mov edx, dword [esp + 0x20]
add esp, 0x10
push edx
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov dword [esp + 0x10], ebp
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0x10000
push ebp
push ebp
push eax
call fcn.004148f0
mov esi, eax
add esi, 0x1dd0000
mov edi, edx
adc edi, 0x15
push edi
push esi
push 0x1de
jmp 0x40902a
mov eax, dword [esp + 0x34]
mov ecx, dword [eax]
cmp ecx, dword [esp + 0x14]
jae 0x40911a
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0x10000
push ebp
push ebp
push eax
call fcn.004148f0
mov esi, eax
add esi, 0x1e30000
mov edi, edx
adc edi, 0xc
push edi
push esi
push 0x1e4
jmp 0x40902a
mov edx, dword [esp + 0x18]
push edx
call fcn.00409c6f
add esp, 4
mov dword [esp + 0x24], eax
cmp eax, ebp
jne 0x40915b
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0x10000
push ebp
push ebp
push eax
call fcn.004148f0
mov esi, eax
add esi, 0x1eb0000
mov edi, edx
adc edi, 3
push edi
push esi
push 0x1ec
jmp 0x40902a
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x24]
push eax
lea edx, [esp + 0x24]
push edx
mov edx, dword [esp + 0x4c]
push ebp
lea eax, [esp + 0x24]
push eax
mov eax, dword [ebx + 0xc]
push ecx
push edx
push eax
mov dword [esp + 0x34], 0x4000
call dword [sym.imp.ADVAPI32.dll_RegEnumValueW]
cmp eax, ebp
je 0x409200
push ebp
push ebp
lea ecx, [esp + 0x18]
push ecx
push 0x400
push eax
push ebp
push 0x1300
call dword [sym.imp.KERNEL32.dll_FormatMessageW]
mov eax, dword [esp + 0x10]
cmp eax, ebp
je 0x4091d4
push eax
push 0x207
push str..RegEnum.cpp
push str._S__d_failed:_s_n
call fcn.004019b0
mov edx, dword [esp + 0x20]
add esp, 0x10
push edx
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov dword [esp + 0x10], ebp
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0x10000
push ebp
push ebp
push eax
call fcn.004148f0
mov esi, eax
add esi, 0x20c0000
mov edi, edx
adc edi, 0x15
push edi
push esi
push 0x20d
jmp 0x40902a
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x3c]
cmp dword [ecx], eax
jae 0x409238
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0x10000
push ebp
push ebp
push eax
call fcn.004148f0
mov esi, eax
add esi, 0x2120000
mov edi, edx
adc edi, 0xc
push edi
push esi
push 0x213
jmp 0x40902a
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x30]
mov dword [eax], edx
mov edx, dword [ecx]
add edx, edx
push edx
push ebp
push ebx
call fcn.0040e6d0
mov eax, dword [esp + 0x2c]
mov edx, ebx
add esp, 0xc
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, bp
jne 0x409261
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x38]
mov dword [ecx], eax
mov eax, dword [edx]
push eax
push ebp
push ebx
call fcn.0040e6d0
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
push ecx
push edx
push ebx
call fcn.0040e750
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x54]
add esp, 0x18
mov dword [ecx], eax
mov eax, dword [esp + 0x20]
cmp eax, ebp
je 0x4092ba
push eax
call fcn.00409895
add esp, 4
mov eax, dword [esp + 0x24]
cmp eax, ebp
je 0x4092cb
push eax
call fcn.00409895
add esp, 4
mov edx, edi
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret 0x18