Function at 0x41d9c0
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4e8ed8
mov eax, dword fs:[0]
push eax
sub esp, 0x30
push ebx
push esi
push edi
mov eax, dword [0x555ab0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x30], ecx
xor ebx, ebx
mov dword [ebp - 4], 1
cmp byte [0x55e864], bl
mov eax, dword [0x5556d8]
sete bl
mov ecx, 0x5556d8
add ebx, 0x80000001
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
mov byte [ebp - 4], 4
mov ecx, dword [0x55e860]
mov eax, ecx
imul eax, ecx
cdq
mov edi, 0xb
idiv edi
cmp edx, 2
jne 0x41daa0
movsd xmm3, qword [0x53f9d8]
movsd xmm6, qword [0x53fa00]
movsd xmm5, qword [0x53f9d0]
movd xmm4, ecx
xorps xmm2, xmm2
cvtdq2pd xmm4, xmm4
lea ebx, [ebx]
addsd xmm2, xmm3
movapd xmm0, xmm2
mulsd xmm0, xmm2
comisd xmm0, xmm4
jbe 0x41da8a
subsd xmm2, xmm3
divsd xmm3, xmm6
movapd xmm1, xmm2
mulsd xmm1, xmm2
movapd xmm0, xmm4
subsd xmm0, xmm1
comisd xmm0, xmm5
ja 0x41da70
mov eax, dword [0x5556d8]
mov ecx, 0x5556d8
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x14], eax
mov eax, 0x530810
mov byte [ebp - 4], 5
test eax, 0xffff0000
jne 0x41dadd
movzx edi, ax
mov ecx, edi
call fcn.00401970
test eax, eax
je 0x41daea
push edi
push eax
lea ecx, [ebp - 0x14]
call fcn.00402420
jmp 0x41daea
push 0x530810
lea ecx, [ebp - 0x14]
call fcn.004047f0
lea eax, [ebp - 0x14]
push eax
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 6
call fcn.004045e0
push 0x55ebb4
mov edx, eax
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 7
call fcn.004045e0
push 0x53080c
mov edx, eax
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 8
call fcn.0041c9c0
lea ecx, [ebp + 8]
push ecx
mov edx, eax
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 9
call fcn.004045e0
add esp, 0x10
lea ecx, [ebp - 0x3c]
push 0x20019
push dword [eax]
push ebx
call fcn.0041d5a0
mov edx, dword [ebp - 0x20]
test eax, eax
setne byte [ebp - 0xd]
add edx, 0xfffffff0
or ebx, 0xffffffff
lea ecx, [edx + 0xc]
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x41db6d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 8
mov edx, dword [ebp - 0x24]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41db8d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x28]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41dbad
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x2c]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41dbcd
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x14]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41dbed
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0xd], 0
mov edi, dword [ebp - 0x3c]
jne 0x41dc71
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x28]
push eax
push 0
push dword [ebp + 0xc]
mov dword [ebp - 0x18], 0
push edi
mov dword [ebp - 0x2c], 4
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x41dc41
cmp dword [ebp - 0x28], 4
jne 0x41dc41
test edi, edi
je 0x41dc33
push edi
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor edi, edi
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x18]
mov dword [ecx], eax
mov byte [ebp - 0xd], 1
jmp 0x41dc75
mov ecx, dword [0x55e860]
mov eax, ecx
imul eax, ecx
and eax, 0x80000003
jns 0x41dc58
dec eax
or eax, 0xfffffffc
inc eax
cmp eax, 2
jne 0x41dc64
inc ecx
mov dword [0x55e860], ecx
test edi, edi
je 0x41dc71
push edi
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor edi, edi
mov byte [ebp - 0xd], 0
test edi, edi
je 0x41dc80
push edi
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
add esi, 0xfffffff0
mov byte [ebp - 4], 1
lea eax, [esi + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41dc9d
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
mov edx, dword [ebp + 8]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41dcbd
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp + 0xc]
add esi, 0xfffffff0
lea eax, [esi + 0xc]
lock xadd dword [eax], ebx
dec ebx
test ebx, ebx
jg 0x41dcde
mov ecx, dword [esi]
push esi
mov edx, dword [ecx]
call dword [edx + 4]
mov al, byte [ebp - 0xd]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret