Function at 0x41a260
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x589fb4
mov eax, dword fs:[0]
push eax
sub esp, 0x2bc
mov eax, dword [0x5d8a84]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
xor al, al
mov dword [ebp - 0x274], eax
cmp dword [esi + 0x10], 0
je 0x41a8c1
xorps xmm0, xmm0
lea ecx, [ebp - 0x268]
movups xmmword [ebp - 0x268], xmm0
movq qword [ebp - 0x258], xmm0
call fcn.0047e5f0
push esi
lea ecx, [ebp - 0x268]
mov dword [ebp - 4], 0
call fcn.0047f180
test al, al
je 0x41a8b0
push 3
push 0x598394
lea ecx, [ebp - 0x2b0]
mov dword [ebp - 0x2a0], 0
mov dword [ebp - 0x29c], 0xf
mov byte [ebp - 0x2b0], 0
call fcn.00413a10
push 0
lea eax, [ebp - 0x2b0]
mov byte [ebp - 4], 1
push eax
lea ecx, [ebp - 0x268]
call fcn.0047eb40
mov edx, dword [ebp - 0x29c]
mov dword [ebp - 0x220], eax
mov byte [ebp - 4], 0
cmp edx, 0x10
jb 0x41a363
mov ecx, dword [ebp - 0x2b0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41a359
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a8dc
push edx
push ecx
call fcn.004721e2
add esp, 8
mov dword [ebp - 0x2a0], 0
mov dword [ebp - 0x29c], 0xf
mov byte [ebp - 0x2b0], 0
call fcn.0040d350
mov ecx, eax
test ecx, ecx
je 0x41a8e1
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x270], eax
push 0x597674
lea ecx, [ebp - 0x270]
mov byte [ebp - 4], 2
call fcn.0040aeb0
test al, al
jne 0x41a3c7
push 0
push 0x597674
lea ecx, [ebp - 0x270]
call fcn.0041b540
push 7
push str.sub_key
lea ecx, [ebp - 0x2c8]
mov byte [ebp - 4], 3
mov dword [ebp - 0x2b8], 0
mov dword [ebp - 0x2b4], 0xf
mov byte [ebp - 0x2c8], 0
call fcn.00413a10
push 0xfde9
lea eax, [ebp - 0x270]
mov byte [ebp - 4], 4
push eax
lea eax, [ebp - 0x2c8]
push eax
lea eax, [ebp - 0x290]
push eax
lea ecx, [ebp - 0x268]
call fcn.0047efd0
mov edx, dword [eax]
xor eax, eax
mov ecx, edx
mov byte [ebp - 4], 5
mov dword [ebp - 0x240], 0
mov dword [ebp - 0x23c], 7
mov word [ebp - 0x250], ax
lea esi, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41a450
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x250]
call fcn.00413b10
mov edx, dword [ebp - 0x290]
or esi, 0xffffffff
mov byte [ebp - 4], 7
add edx, 0xfffffff0
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41a490
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x2b4]
mov byte [ebp - 4], 8
cmp edx, 0x10
jb 0x41a4ce
mov ecx, dword [ebp - 0x2c8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41a4c4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a8eb
push edx
push ecx
call fcn.004721e2
add esp, 8
mov dword [ebp - 0x2b8], 0
mov dword [ebp - 0x2b4], 0xf
mov byte [ebp - 0x2c8], 0
mov edx, dword [ebp - 0x270]
mov eax, esi
mov byte [ebp - 4], 9
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41a50a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 8
push str.is_wow64
lea ecx, [ebp - 0x28c]
mov dword [ebp - 0x27c], 0
mov dword [ebp - 0x278], 0xf
mov byte [ebp - 0x28c], 0
call fcn.00413a10
push 0
lea eax, [ebp - 0x28c]
mov byte [ebp - 4], 0xa
push eax
lea ecx, [ebp - 0x268]
call fcn.0047eb40
mov edx, dword [ebp - 0x278]
mov dword [ebp - 0x298], eax
mov byte [ebp - 4], 9
cmp edx, 0x10
jb 0x41a593
mov ecx, dword [ebp - 0x28c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41a589
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a8f0
push edx
push ecx
call fcn.004721e2
add esp, 8
call fcn.0040d350
mov ecx, eax
test ecx, ecx
je 0x41a8f5
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x21c], eax
push 0x597674
lea ecx, [ebp - 0x21c]
mov byte [ebp - 4], 0xb
call fcn.0040aeb0
test al, al
jne 0x41a5dc
push 0
push 0x597674
lea ecx, [ebp - 0x21c]
call fcn.0041b540
push 5
push str.value
lea ecx, [ebp - 0x28c]
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x27c], 0
mov dword [ebp - 0x278], 0xf
mov byte [ebp - 0x28c], 0
call fcn.00413a10
push 0xfde9
lea eax, [ebp - 0x21c]
mov byte [ebp - 4], 0xd
push eax
lea eax, [ebp - 0x28c]
push eax
lea eax, [ebp - 0x294]
push eax
lea ecx, [ebp - 0x268]
call fcn.0047efd0
mov edx, dword [eax]
xor eax, eax
mov ecx, edx
mov byte [ebp - 4], 0xe
mov dword [ebp - 0x228], 0
mov dword [ebp - 0x224], 7
mov word [ebp - 0x238], ax
lea edi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41a660
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x238]
call fcn.00413b10
mov edx, dword [ebp - 0x294]
mov eax, esi
mov byte [ebp - 4], 0xd
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41a69d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x278]
mov byte [ebp - 4], 0xc
cmp edx, 0x10
jb 0x41a6db
mov ecx, dword [ebp - 0x28c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41a6d1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a8ff
push edx
push ecx
call fcn.004721e2
add esp, 8
mov edx, dword [ebp - 0x21c]
mov dword [ebp - 0x27c], 0
add edx, 0xfffffff0
mov dword [ebp - 0x278], 0xf
mov byte [ebp - 0x28c], 0
mov byte [ebp - 4], 9
lock xadd dword [edx + 0xc], esi
dec esi
test esi, esi
jg 0x41a715
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [ebp - 0x298], 0
lea edx, [ebp - 0x26c]
push edx
mov eax, 0x101
mov dword [ebp - 0x26c], 0
mov ecx, 1
cmovne ecx, eax
cmp dword [ebp - 0x23c], 8
push ecx
lea eax, [ebp - 0x250]
cmovae eax, dword [ebp - 0x250]
push 0
push eax
mov eax, dword [ebp - 0x220]
or eax, 0x80000000
push eax
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x41a7f6
push 0x208
push eax
mov dword [ebp - 0x21c], eax
lea eax, [ebp - 0x218]
push eax
call fcn.00555710
add esp, 0xc
mov dword [ebp - 0x220], 0x208
cmp dword [ebp - 0x224], 8
lea ecx, [ebp - 0x220]
lea eax, [ebp - 0x238]
cmovae eax, dword [ebp - 0x238]
push ecx
lea ecx, [ebp - 0x218]
push ecx
lea ecx, [ebp - 0x21c]
push ecx
push 0
push eax
push dword [ebp - 0x26c]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x41a7ea
mov eax, dword [ebp - 0x274]
mov ecx, 1
cmp dword [ebp - 0x21c], ecx
movzx eax, al
cmove eax, ecx
mov dword [ebp - 0x274], eax
push dword [ebp - 0x26c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov edx, dword [ebp - 0x224]
cmp edx, 8
jb 0x41a836
mov ecx, dword [ebp - 0x238]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41a82c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a904
push edx
push ecx
call fcn.004721e2
add esp, 8
mov edx, dword [ebp - 0x23c]
xor eax, eax
mov dword [ebp - 0x228], 0
mov dword [ebp - 0x224], 7
mov word [ebp - 0x238], ax
cmp edx, 8
jb 0x41a893
mov ecx, dword [ebp - 0x250]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41a889
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a909
push edx
push ecx
call fcn.004721e2
add esp, 8
xor eax, eax
mov dword [ebp - 0x240], 0
mov dword [ebp - 0x23c], 7
mov word [ebp - 0x250], ax
lea ecx, [ebp - 0x268]
call fcn.0047bcb0
mov eax, dword [ebp - 0x274]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004724a6
mov esp, ebp
pop ebp
ret
call fcn.00558e1a
push 0x80004005
call fcn.0040ae90
call fcn.00558e1a
call fcn.00558e1a
push 0x80004005
call fcn.0040ae90
call fcn.00558e1a
call fcn.00558e1a
call fcn.00558e1a
int3