Function at 0x10024a00
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100482ef
mov eax, dword fs:[0]
push eax
sub esp, 0xc0
mov eax, dword [0x1012e750]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
lea eax, [ebp - 0x40]
push 0x100523f0
push eax
call fcn.10049230
add esp, 8
mov edx, eax
cmp dword [edx + 0x14], 0x10
mov dword [ebp - 4], 0
jb 0x10024a52
mov edx, dword [edx]
mov ecx, edx
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0xf
mov byte [ebp - 0x88], 0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10024a76
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x88]
call fcn.10016310
mov edx, dword [ebp - 0x2c]
mov byte [ebp - 4], 2
cmp edx, 0x10
jb 0x10024ac4
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10024aba
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10025155
push edx
push ecx
call fcn.1002c730
add esp, 8
mov ecx, dword [edi + 0x10]
mov eax, 0x7fffffff
sub eax, ecx
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
mov dword [ebp - 0xac], ecx
cmp eax, 1
jb 0x1002515a
cmp dword [edi + 0x14], 0x10
jb 0x10024af7
mov edi, dword [edi]
lea edx, [ecx + 1]
mov dword [ebp - 0x58], 0
mov esi, 0xf
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
lea eax, [ebp - 0x58]
mov dword [ebp - 0xb0], edx
mov dword [ebp - 0xa8], eax
cmp edx, esi
jbe 0x10024b66
mov esi, edx
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x10024b3b
mov esi, 0x7fffffff
jmp 0x10024b45
mov eax, 0x16
cmp esi, eax
cmovb esi, eax
lea eax, [esi + 1]
push eax
lea ecx, [ebp - 0x58]
call fcn.100162c0
mov ecx, dword [ebp - 0xac]
mov edx, dword [ebp - 0xb0]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0x58], eax
push ecx
push edi
push eax
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x44], esi
call fcn.1002e880
mov eax, dword [ebp - 0xac]
add esp, 0xc
mov ecx, dword [ebp - 0xa8]
mov word [ecx + eax], 0x5c
cmp dword [ebp - 0x74], 0x10
lea eax, [ebp - 0x88]
push dword [ebp - 0x78]
cmovae eax, dword [ebp - 0x88]
lea ecx, [ebp - 0x58]
push eax
mov byte [ebp - 4], 3
call fcn.10018c70
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x40], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x30], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov edx, dword [ebp - 0x44]
mov byte [ebp - 4], 5
cmp edx, 0x10
jb 0x10024c04
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10024bfa
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002515f
push edx
push ecx
call fcn.1002c730
add esp, 8
lea eax, [ebp - 0xa0]
mov dword [ebp - 0x48], 0
push 0x1005246c
push eax
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
call fcn.10049230
add esp, 8
mov edx, eax
cmp dword [edx + 0x14], 0x10
mov byte [ebp - 4], 6
jb 0x10024c38
mov edx, dword [edx]
mov ecx, edx
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10024c56
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x28]
call fcn.10016310
cmp dword [ebp - 0x2c], 0x10
lea edx, [ebp - 0x40]
mov dword [ebp - 0xc8], 0
cmovae edx, dword [ebp - 0x40]
mov ecx, edx
mov byte [ebp - 4], 7
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 0xf
mov byte [ebp - 0xc8], 0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10024ca2
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0xc8]
call fcn.10016310
cmp dword [ebp - 0xb4], 0x10
lea ecx, [ebp - 0xac]
push ecx
push 0x20019
lea eax, [ebp - 0xc8]
mov byte [ebp - 4], 9
cmovae eax, dword [ebp - 0xc8]
push 0
push eax
push 0x80000003
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 0
call fcn.1001cdb0
add esp, 0x14
test eax, eax
jne 0x10024d38
cmp dword [ebp - 0x14], 0x10
lea ecx, [ebp - 0xb0]
push ecx
lea ecx, [ebp - 0xa8]
mov dword [ebp - 0xb0], 4
push ecx
push 0
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push 0
push eax
push dword [ebp - 0xac]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
push dword [ebp - 0xac]
call fcn.1001d150
mov edx, dword [ebp - 0xb4]
add esp, 4
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0xcc], eax
mov byte [ebp - 4], 8
cmp edx, 0x10
jb 0x10024d90
mov ecx, dword [ebp - 0xc8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10024d86
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10025164
push edx
push ecx
call fcn.1002c730
add esp, 8
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 0xf
mov byte [ebp - 0xc8], 0
mov byte [ebp - 4], 6
cmp edx, 0x10
jb 0x10024de3
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10024dd9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10025164
push edx
push ecx
call fcn.1002c730
add esp, 8
mov edx, dword [ebp - 0x8c]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 5
cmp edx, 0x10
jb 0x10024e33
mov ecx, dword [ebp - 0xa0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10024e29
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10025169
push edx
push ecx
call fcn.1002c730
add esp, 8
lea eax, [ebp - 0x28]
push 0x10052488
push eax
call fcn.10049230
add esp, 8
mov edx, eax
cmp dword [edx + 0x14], 0x10
mov byte [ebp - 4], 0xa
jb 0x10024e52
mov edx, dword [edx]
sub esp, 0x18
mov ecx, edx
mov esi, esp
mov dword [ebp - 0xb0], esp
lea edi, [ecx + 1]
mov dword [esi], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10024e76
sub ecx, edi
push ecx
push edx
mov ecx, esi
call fcn.10016310
cmp dword [ebp - 0x2c], 0x10
lea edx, [ebp - 0x40]
mov byte [ebp - 4], 0xb
cmovae edx, dword [ebp - 0x40]
sub esp, 0x18
mov esi, esp
mov ecx, edx
mov dword [esi], 0
lea edi, [ecx + 1]
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10024eb5
sub ecx, edi
push ecx
push edx
mov ecx, esi
call fcn.10016310
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 0xa
push 0x80000003
push eax
call fcn.100252c0
add esp, 0x38
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 0xd
cmp edx, 0x10
jb 0x10024f14
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10024f0a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002516e
push edx
push ecx
call fcn.1002c730
add esp, 8
lea eax, [ebp - 0xa0]
mov dword [ebp - 0x18], 0
push 0x100524a4
push eax
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.10049230
mov edx, eax
add esp, 8
cmp dword [edx + 0x14], 0x10
jb 0x10024f44
mov edx, dword [edx]
mov ecx, edx
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10024f50
sub ecx, esi
lea eax, [ebp - 0x70]
cmp dword [ebp - 0x5c], 0x10
push ecx
cmovae eax, dword [ebp - 0x70]
push edx
push 0
push dword [ebp - 0x60]
push eax
call fcn.100256d0
mov edx, dword [ebp - 0x8c]
add esp, 0x14
mov dword [ebp - 0xa8], eax
cmp edx, 0x10
jb 0x10024fb4
mov ecx, dword [ebp - 0xa0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10024faa
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10025173
push edx
push ecx
call fcn.1002c730
add esp, 8
lea eax, [ebp - 0xa0]
push 0x100524b4
push eax
call fcn.10049230
mov edx, eax
add esp, 8
cmp dword [edx + 0x14], 0x10
jb 0x10024fd2
mov edx, dword [edx]
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10024fd7
mov edi, dword [ebp - 0x5c]
lea eax, [ebp - 0x70]
sub ecx, esi
mov esi, dword [ebp - 0x70]
push ecx
push edx
push 0
push dword [ebp - 0x60]
cmp edi, 0x10
cmovae eax, esi
push eax
call fcn.100256d0
mov edx, dword [ebp - 0x8c]
add esp, 0x14
mov ecx, eax
mov dword [ebp - 0xb0], ecx
cmp edx, 0x10
jb 0x1002504d
mov ecx, dword [ebp - 0xa0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10025037
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10025178
push edx
push ecx
call fcn.1002c730
mov edi, dword [ebp - 0x5c]
add esp, 8
mov esi, dword [ebp - 0x70]
mov ecx, dword [ebp - 0xb0]
cmp dword [ebp - 0xcc], 1
jne 0x10025084
mov edx, dword [ebp - 0xa8]
cmp edx, 0xffffffff
jne 0x10025065
cmp ecx, edx
je 0x1002507b
mov eax, dword [ebp + 0xc]
test eax, eax
jne 0x10025071
cmp edx, 0xffffffff
jmp 0x10025079
cmp eax, 1
jne 0x10025084
cmp ecx, 0xffffffff
je 0x10025084
mov byte [ebp - 0xa1], 1
jmp 0x1002508b
mov byte [ebp - 0xa1], 0
cmp edi, 0x10
jb 0x100250bb
lea ecx, [edi + 1]
mov eax, esi
cmp ecx, 0x1000
jb 0x100250b1
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002517d
push ecx
push esi
call fcn.1002c730
add esp, 8
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0xf
mov byte [ebp - 0x70], 0
cmp edx, 0x10
jb 0x10025101
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100250f7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002517d
push edx
push ecx
call fcn.1002c730
add esp, 8
mov edx, dword [ebp - 0x74]
cmp edx, 0x10
jb 0x10025134
mov ecx, dword [ebp - 0x88]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1002512a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002517d
push edx
push ecx
call fcn.1002c730
add esp, 8
mov al, byte [ebp - 0xa1]
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.1002ca58
mov esp, ebp
pop ebp
ret
call fcn.100316af
call fcn.100162a0
call fcn.100316af
call fcn.100316af
call fcn.100316af
call fcn.100316af
call fcn.100316af
call fcn.100316af
call fcn.100316af
int3