Function at 0x100a289
Capabilities:
Query or enumerate registry value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x1038
call fcn.0100bb50
mov eax, dword [0x1028aa8]
push esi
push edi
xor edi, edi
mov esi, ecx
cmp dword [esi + 0x90], edi
mov dword [ebp - 4], eax
mov dword [ebp - 0x1010], edi
jne 0x100a53a
mov eax, dword [esi + 0x80]
push ebx
mov ebx, dword [eax + 8]
cmp ebx, edi
je 0x100a539
lea eax, [ebp - 0x1010]
push eax
push ebx
call fcn.01006dc1
test eax, eax
jl 0x100a539
mov eax, dword [ebp - 0x1010]
cmp eax, edi
je 0x100a539
lea edx, [ebp - 0x1018]
push edx
mov dword [ebp - 0x100c], edi
mov ecx, dword [eax]
push eax
call dword [ecx + 0x24]
test eax, eax
jge 0x100a30a
mov dword [ebp - 0x1018], edi
xor eax, eax
cmp word [ebp - 0x1018], 0xffff
sete al
cmp eax, edi
mov dword [ebp - 0x1014], eax
je 0x100a395
push edi
push ebx
lea ecx, [ebp - 0x1028]
call fcn.0100c166
lea eax, [ebp - 0x1008]
push eax
push 1
push edi
push 0x10023e4
lea ecx, [ebp - 0x1028]
call fcn.0100bf06
push eax
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x100a38a
lea eax, [ebp - 0x101c]
push eax
lea eax, [ebp - 0x100c]
push eax
push edi
push edi
push 0x10023c8
push dword [ebp - 0x1008]
mov dword [ebp - 0x101c], 4
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
push dword [ebp - 0x1008]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [ebp - 0x1028]
call fcn.0100bea7
mov eax, dword [ebp - 0x100c]
cmp dword [ebp - 0x1014], edi
mov edi, dword [sym.imp.USER32.dll_LoadStringW]
mov dword [esi + 0x98], eax
mov ecx, dword [esi + 0x7c]
mov ebx, 0x400
je 0x100a45a
push 1
call fcn.0100739f
cmp dword [ebp - 0x100c], 0
lea eax, [ebp - 0x804]
push ebx
push eax
je 0x100a431
xor eax, eax
cmp dword [ebp - 0x100c], 1
setne al
add eax, 0x1d
push eax
mov eax, dword [0x102de88]
mov eax, dword [eax + 0xac]
mov eax, dword [eax + 0x43c]
push dword [eax]
call edi
push dword [ebp - 0x100c]
lea eax, [ebp - 0x804]
push eax
lea eax, [ebp - 0x1004]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
lea eax, [ebp - 0x1004]
push eax
push 1
mov ecx, esi
call fcn.01009884
mov ecx, dword [esi + 0x7c]
push 1
call fcn.0100735b
jmp 0x100a461
mov eax, dword [0x102de88]
mov eax, dword [eax + 0xac]
mov eax, dword [eax + 0x43c]
push 0xf
push dword [eax]
call edi
lea eax, [ebp - 0x804]
push eax
push 1
mov ecx, esi
call fcn.01009884
jmp 0x100a461
push 0xfffffffffffffffd
call fcn.0100739f
xor eax, eax
cmp dword [ebp - 0x1014], eax
jne 0x100a474
cmp dword [ebp + 8], eax
je 0x100a52d
lea edx, [ebp - 0x1038]
push edx
mov dword [ebp - 0x1030], eax
mov eax, dword [ebp - 0x1010]
mov ecx, dword [eax]
push 0x1001d8c
push eax
call dword [ecx + 0x1c]
test eax, eax
jge 0x100a4a0
xor eax, eax
mov dword [ebp - 0x1030], eax
jmp 0x100a4a6
mov eax, dword [ebp - 0x1030]
test eax, eax
mov dword [esi + 0x94], eax
mov ecx, dword [esi + 0x78]
mov dword [ebp - 0x1008], eax
je 0x100a526
push 1
call fcn.0100739f
push ebx
lea eax, [ebp - 0x804]
push eax
xor eax, eax
cmp dword [ebp - 0x1008], 1
setne al
add eax, 0x1b
push eax
mov eax, dword [0x102de88]
mov eax, dword [eax + 0xac]
mov eax, dword [eax + 0x43c]
push dword [eax]
call edi
push dword [ebp - 0x1008]
lea eax, [ebp - 0x804]
push eax
lea eax, [ebp - 0x1004]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
lea eax, [ebp - 0x1004]
push eax
push 0
mov ecx, esi
call fcn.01009884
mov ecx, dword [esi + 0x78]
push 1
call fcn.0100735b
jmp 0x100a52d
push 0xfffffffffffffffd
call fcn.0100739f
mov eax, dword [ebp - 0x1010]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
pop ebx
mov ecx, dword [ebp - 4]
pop edi
pop esi
call fcn.0100b845
leave
ret 4