Function at 0x4111e0
Capabilities:
Query or enumerate registry key
Query or enumerate registry value

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x446c4f
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x280
mov eax, dword [0x467040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x278], edx
mov edi, ecx
mov dword [ebp - 0x27c], edi
push 0
push 0
lea eax, [ebp - 0x274]
mov dword [ebp - 0x268], 0x104
push eax
push 0
lea eax, [ebp - 0x268]
mov esi, 1
push eax
lea eax, [ebp - 0x120]
mov dword [ebp - 0x270], esi
push eax
push 0
push edi
call dword [sym.imp.ADVAPI32.dll_RegEnumValueA]
cmp eax, 0x103
je 0x411771
lea ecx, [ebp - 0x120]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x411280
sub ecx, edx
mov dword [ebp - 0x128], 0
lea eax, [ebp - 0x120]
mov dword [ebp - 0x124], 0
add eax, ecx
lea edx, [ebp - 0x120]
xorps xmm0, xmm0
movups xmmword [ebp - 0x138], xmm0
cmp edx, eax
jne 0x4112d8
xor eax, eax
mov dword [ebp - 0x128], 0
mov dword [ebp - 0x124], 7
mov word [ebp - 0x138], ax
jmp 0x4112ec
push ecx
push ecx
lea eax, [ebp - 0x120]
push eax
lea ecx, [ebp - 0x138]
call fcn.00412240
lea eax, [ebp - 0x288]
mov dword [ebp - 4], 0
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push edi
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyA]
test eax, eax
jne 0x4116e6
lea eax, [ebp - 0x160]
push eax
lea eax, [ebp - 0x288]
push eax
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
lea eax, ds:[ebp - 0x290]
push eax
lea eax, [ebp - 0x160]
push eax
call dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
push dword [ebp - 0x278]
lea eax, [ebp - 0x290]
push eax
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
nop dword [eax]
test eax, eax
jg 0x4116f0
cmp dword [ebp - 0x124], 7
lea ecx, [ebp - 0x138]
mov edx, dword [ebp - 0x128]
cmova ecx, dword [ebp - 0x138]
push 0x10
push 0x44d5cc
push 0
call fcn.00408a00
add esp, 0xc
cmp eax, 0xffffffff
jne 0x4113d1
cmp dword ds:[ebp - 0x124], 7
lea ecx, [ebp - 0x138]
mov edx, dword [ebp - 0x128]
cmova ecx, dword [ebp - 0x138]
push 0x13
push str..ApplicationCompany
push 0
call fcn.00408a00
add esp, 0xc
cmp eax, 0xffffffff
je 0x411586
cmp dword [ebp - 0x124], 7
lea esi, [ebp - 0x138]
mov edi, dword [ebp - 0x128]
cmova esi, dword [ebp - 0x138]
mov dword [ebp - 0x26c], esi
test edi, edi
je 0x4114d5
push 0x100
lea eax, [ebp - 0x260]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov ecx, 0x44d5c8
mov edx, 0x100
nop dword [eax]
movzx eax, word [ecx]
cmp ax, dx
jae 0x411472
movzx eax, al
add ecx, 2
mov byte [ebp + eax - 0x260], 1
cmp ecx, 0x44d5ca
jne 0x411420
or ecx, 0xffffffff
lea eax, [edi - 1]
cmp eax, ecx
cmovb ecx, eax
lea edx, [esi + ecx*2]
mov ecx, 0x100
movzx eax, word [edx]
cmp ax, cx
jae 0x411463
cmp byte [ebp + eax - 0x260], 0
jne 0x41146c
cmp edx, esi
je 0x4114d5
sub edx, 2
jmp 0x411451
sub edx, esi
sar edx, 1
jmp 0x4114d8
lea eax, [edi - 1]
or ecx, 0xffffffff
cmp eax, ecx
cmovb ecx, eax
lea edx, [esi + ecx*2]
movzx edi, word [edx]
mov ecx, 0x2e
mov eax, 1
mov esi, 0x44d5c8
cmp cx, di
je 0x4114c5
cmp eax, 1
je 0x4114ad
movzx ecx, word [esi + 2]
add esi, 2
dec eax
cmp cx, di
jne 0x411497
test esi, esi
jne 0x4114c5
cmp edx, dword [ebp - 0x26c]
je 0x4114ba
sub edx, 2
jmp 0x411480
mov edi, dword [ebp - 0x128]
or edx, 0xffffffff
jmp 0x4114d8
sub edx, dword [ebp - 0x26c]
mov edi, dword [ebp - 0x128]
sar edx, 1
jmp 0x4114d8
or edx, 0xffffffff
cmp edi, edx
mov dword [ebp - 0x140], 0
lea eax, [ebp - 0x138]
mov dword [ebp - 0x13c], 0
cmovb edx, edi
lea ecx, [ebp - 0x150]
cmp dword [ebp - 0x124], 7
xorps xmm0, xmm0
push edx
cmova eax, dword [ebp - 0x138]
push eax
movups xmmword [ebp - 0x150], xmm0
call fcn.004063e0
mov ecx, dword [ebp - 0x124]
cmp ecx, 7
jbe 0x41155c
mov edx, dword [ebp - 0x138]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x411552
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41178f
push ecx
push edx
call fcn.00444ae8
add esp, 8
movups xmm0, xmmword [ebp - 0x150]
mov esi, dword [ebp - 0x270]
mov edi, dword [ebp - 0x27c]
movups xmmword [ebp - 0x138], xmm0
movq xmm0, qword [ebp - 0x140]
movq qword [ebp - 0x128], xmm0
cmp dword [ebp - 0x124], 7
lea eax, [ebp - 0x138]
push dword [ebp - 0x128]
cmova eax, dword [ebp - 0x138]
push eax
call fcn.00404f40
add esp, 8
test al, al
jne 0x4116a5
mov byte [ebp - 0x280], al
lea edx, [ebp - 0x138]
push dword [ebp - 0x280]
lea ecx, [ebp - 0x150]
call fcn.00406dc0
add esp, 4
lea ecx, [ebp - 0x150]
mov byte [ebp - 4], 1
call fcn.00404e80
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x13c]
mov byte [ebp - 0x261], al
cmp ecx, 7
jbe 0x411639
mov edx, dword [ebp - 0x150]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x411629
mov edx, dword ds:[eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41178f
push ecx
push edx
call fcn.00444ae8
mov al, byte [ebp - 0x261]
add esp, 8
test al, al
je 0x411654
lea eax, [ebp - 0x138]
push eax
call fcn.00443080
test al, al
jne 0x4116a5
mov edx, 0x44d4ac
jmp 0x411659
mov edx, 0x44d618
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
nop
call fcn.00406160
cmp dword [ebp - 0x124], 7
lea edx, [ebp - 0x138]
push dword [ebp - 0x128]
cmova edx, dword [ebp - 0x138]
mov ecx, eax
call fcn.00408f60
add esp, 4
mov ecx, eax
push 0x408660
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______thiscall_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t_______cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t_____]
lea ecx, ds:[ebp - 0x138]
call fcn.00404f20
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
mov edx, 0x44d4ac
call fcn.00406160
cmp dword [ebp - 0x124], 7
lea edx, [ebp - 0x138]
push dword [ebp - 0x128]
cmova edx, dword [ebp - 0x138]
mov ecx, eax
call fcn.00408f60
add esp, 4
mov ecx, eax
push 0x408660
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______thiscall_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t_______cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t_____]
mov dword [ebp - 0x268], 0x104
mov dword ds:[ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x124]
cmp ecx, 7
jbe 0x411736
mov edx, dword [ebp - 0x138]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x41172c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41178f
push ecx
push edx
call fcn.00444ae8
add esp, 8
push 0
push 0
lea ecx, [ebp - 0x274]
mov eax, esi
push ecx
push 0
lea ecx, [ebp - 0x268]
inc esi
push ecx
lea ecx, [ebp - 0x120]
mov dword [ebp - 0x270], esi
push ecx
push eax
push edi
call dword [sym.imp.ADVAPI32.dll_RegEnumValueA]
cmp eax, 0x103
jne 0x411273
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00444aa0
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3