Function at 0x100301a0
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100c7d7d
mov eax, dword fs:[0]
push eax
mov eax, 0x11d8
call fcn.10075220
mov eax, dword [0x1010445c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x11dc], ebx
mov dword [ebp - 0x11e4], ebx
mov dword [ebp - 0x11e0], esi
test esi, esi
je 0x100301f4
mov dword [esi], 0
call fcn.10006440
mov ecx, eax
test ecx, ecx
je 0x10030ccc
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x11c8], eax
push 0x100d1904
lea ecx, [ebp - 0x11c8]
mov dword [ebp - 4], 0
call fcn.10005ae0
test al, al
jne 0x1003023e
push 0
push 0x100d1904
lea ecx, [ebp - 0x11c8]
call fcn.10006f80
mov dword [ebp - 4], 1
call fcn.10006440
mov ecx, eax
test ecx, ecx
je 0x10030cd6
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x11c4], eax
push str.url0
lea ecx, [ebp - 0x11c4]
mov byte [ebp - 4], 2
call fcn.10005ae0
test al, al
jne 0x1003028c
push 4
push str.url0
lea ecx, [ebp - 0x11c4]
call fcn.10006f80
mov byte [ebp - 4], 3
call fcn.1001e6f0
lea ecx, [ebp - 0x11c8]
push ecx
lea ecx, [ebp - 0x11c4]
mov edx, dword [eax]
push ecx
lea ecx, [ebp - 0x11ac]
push ecx
mov ecx, eax
call dword [edx + 8]
mov edx, dword [ebp - 0x11c4]
or edi, 0xffffffff
mov byte [ebp - 4], 5
add edx, 0xfffffff0
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x100302d5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x11c8]
mov eax, edi
mov byte [ebp - 4], 6
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x100302f6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x1000
lea eax, [ebp - 0x1010]
mov dword [ebp - 0x11d0], 1
push 0
push eax
call fcn.1009c2f0
add esp, 0xc
mov dword [ebp - 0x11cc], 0x800
lea eax, [ebp - 0x11cc]
lea ecx, [ebp - 0x11a5]
push eax
lea eax, [ebp - 0x1010]
push eax
lea eax, [ebp - 0x11d0]
push eax
push str.url0
call fcn.1002fb80
push eax
push 0x80000001
call dword [sym.imp.SHLWAPI.dll_SHGetValueW]
test eax, eax
jne 0x1003040a
lea ecx, [ebp - 0x1010]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10030362
sub ecx, edx
lea eax, [ebp - 0x1010]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x11ac]
call fcn.10006f80
call fcn.10006440
mov ecx, eax
test ecx, ecx
je 0x10030ce0
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x11b0], eax
push str.url0
lea ecx, [ebp - 0x11b0]
mov byte [ebp - 4], 7
call fcn.10005ae0
test al, al
jne 0x100303cb
push 4
push str.url0
lea ecx, [ebp - 0x11b0]
call fcn.10006f80
mov byte [ebp - 4], 8
call fcn.1001e6f0
lea ecx, [ebp - 0x11ac]
push ecx
lea ecx, [ebp - 0x11b0]
mov edx, dword [eax]
push ecx
mov ecx, eax
call dword [edx + 4]
mov edx, dword [ebp - 0x11b0]
mov eax, edi
mov byte [ebp - 4], 6
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x1003040a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp - 0x11cc]
mov dword [ebp - 0x11d0], 4
push eax
lea eax, [ebp - 0x11d4]
mov dword [ebp - 0x11d4], 0
push eax
lea eax, [ebp - 0x11d0]
mov dword [ebp - 0x11cc], 0x800
push eax
push str.user_unlock
lea ecx, [ebp - 0x11a5]
call fcn.1002fe60
push eax
push 0x80000001
call dword [sym.imp.SHLWAPI.dll_SHGetValueW]
test eax, eax
jne 0x100305b9
call fcn.10006440
mov ecx, eax
test ecx, ecx
je 0x10030cea
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x11c0], eax
push dword [ebp - 0x11d4]
lea eax, [ebp - 0x11c0]
mov byte [ebp - 4], 9
push 0x100d79d4
push eax
call fcn.1001baf0
add esp, 0xc
call fcn.10006440
mov ecx, eax
test ecx, ecx
je 0x10030cf4
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x11b0], eax
push str.user_unlock
lea ecx, [ebp - 0x11b0]
mov byte [ebp - 4], 0xa
call fcn.10005ae0
test al, al
jne 0x100304e3
push 0xb
push str.user_unlock
lea ecx, [ebp - 0x11b0]
call fcn.10006f80
mov byte [ebp - 4], 0xb
call fcn.1001e6f0
lea ecx, [ebp - 0x11c0]
push ecx
lea ecx, [ebp - 0x11b0]
mov edx, dword [eax]
push ecx
mov ecx, eax
call dword [edx + 4]
mov edx, dword [ebp - 0x11b0]
mov eax, edi
mov byte [ebp - 4], 9
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10030522
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [ebp - 0x11d4], 1
jne 0x10030598
mov eax, dword [ebp - 0x11ac]
cmp dword [eax - 0xc], 0
je 0x10030598
push 0
push 0x100d1904
lea ecx, [ebp - 0x11ac]
call fcn.10006f80
push str.url0
lea ecx, [ebp - 0x11b0]
call fcn.10003d70
mov byte [ebp - 4], 0xc
call fcn.1001e6f0
lea ecx, [ebp - 0x11ac]
push ecx
lea ecx, [ebp - 0x11b0]
mov edx, dword [eax]
push ecx
mov ecx, eax
call dword [edx + 4]
mov edx, dword [ebp - 0x11b0]
mov eax, edi
mov byte [ebp - 4], 9
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10030598
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x11c0]
mov eax, edi
mov byte [ebp - 4], 6
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x100305b9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x11ac]
cmp dword [eax - 0xc], 0
jne 0x1003062b
call fcn.10006440
mov ecx, eax
test ecx, ecx
je 0x10030cfe
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebx], eax
push 0x100d1904
mov ecx, ebx
mov byte [ebp - 4], 0xd
call fcn.10005ae0
test al, al
jne 0x10030600
push 0
push 0x100d1904
mov ecx, ebx
call fcn.10006f80
mov eax, dword [ebp - 0x11ac]
mov dword [ebp - 4], 0xffffffff
add eax, 0xfffffff0
lock xadd dword [eax + 0xc], edi
dec edi
test edi, edi
jg 0x10030cae
mov ecx, dword [eax]
push eax
mov edx, dword [ecx]
call dword [edx + 4]
jmp 0x10030cae
push 0
push eax
lea ecx, [ebp - 0x1124]
call fcn.1001bbb0
mov edx, dword [eax]
mov ecx, edx
mov byte [ebp - 4], 0xe
mov dword [ebp - 0x1048], 0
mov dword [ebp - 0x1044], 0xf
lea eax, [ecx + 1]
mov byte [ebp - 0x1058], 0
mov dword [ebp - 0x11c0], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10030665
sub ecx, dword [ebp - 0x11c0]
push ecx
push edx
lea ecx, [ebp - 0x1058]
call fcn.10007b10
mov eax, dword [ebp - 0x1124]
lea ecx, [ebp - 0x1120]
cmp eax, ecx
je 0x10030698
push eax
call fcn.1009f67e
add esp, 4
mov dword [ebp - 0x1030], 0
mov dword [ebp - 0x102c], 0xf
mov byte [ebp - 0x1040], 0
push 0x24
push str.6804FACB_33CC_48a8_99B1_4E2A487F9638
lea ecx, [ebp - 0x1028]
mov byte [ebp - 4], 0x11
mov dword [ebp - 0x1018], 0
mov dword [ebp - 0x1014], 0xf
mov byte [ebp - 0x1028], 0
call fcn.10007b10
lea eax, [ebp - 0x1040]
mov byte [ebp - 4], 0x12
push eax
lea eax, [ebp - 0x1028]
push eax
lea eax, [ebp - 0x1058]
push eax
call fcn.1001c090
mov edx, dword [ebp - 0x1014]
add esp, 0xc
test eax, eax
mov byte [ebp - 4], 0x11
sete al
mov byte [ebp - 0x11a5], al
cmp edx, 0x10
jb 0x10030754
mov ecx, dword [ebp - 0x1028]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10030744
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10030d08
push edx
push ecx
call fcn.10074e52
mov al, byte [ebp - 0x11a5]
add esp, 8
test al, al
je 0x10030769
push 0x100d1904
mov ecx, ebx
call fcn.10003d70
jmp 0x10030c76
mov dword [ebp - 0x11bc], 0
mov dword [ebp - 0x11b8], 0
mov dword [ebp - 0x11b4], 0
push 1
push 0x100d7628
lea ecx, [ebp - 0x1028]
mov byte [ebp - 4], 0x13
mov dword [ebp - 0x1018], 0
mov dword [ebp - 0x1014], 0xf
mov byte [ebp - 0x1028], 0
call fcn.10007b10
lea eax, [ebp - 0x11bc]
mov byte [ebp - 4], 0x14
push eax
lea eax, [ebp - 0x1028]
push eax
lea eax, [ebp - 0x1040]
push eax
call fcn.10048870
add esp, 0xc
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x1028]
call fcn.10004d30
mov ecx, dword [ebp - 0x11b8]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0x11bc]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
jae 0x100308cd
push 0x100d1904
mov ecx, ebx
call fcn.10003d70
mov esi, dword [ebp - 0x11bc]
mov byte [ebp - 4], 0x11
test esi, esi
je 0x10030c76
mov ebx, dword [ebp - 0x11b8]
cmp esi, ebx
je 0x10030887
mov ecx, dword [esi + 0x14]
cmp ecx, 0x10
jb 0x10030869
mov eax, dword [esi]
inc ecx
cmp ecx, 0x1000
jb 0x1003085f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10030d08
mov eax, edx
push ecx
push eax
call fcn.10074e52
add esp, 8
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
add esi, 0x18
cmp esi, ebx
jne 0x10030836
mov esi, dword [ebp - 0x11bc]
mov ecx, dword [ebp - 0x11b4]
mov eax, 0x2aaaaaab
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, esi
shl ecx, 3
cmp ecx, 0x1000
jb 0x10030c48
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10030d0d
jmp 0x10030c48
push dword [ebp - 0x11bc]
lea ecx, [ebp - 0x10a0]
call fcn.10029740
mov eax, dword [ebp - 0x11bc]
lea ecx, [ebp - 0x1088]
add eax, 0x18
mov byte [ebp - 4], 0x15
push eax
call fcn.10029740
cmp dword [ebp - 0x1090], 0
mov byte [ebp - 4], 0x16
je 0x10030bb6
cmp dword [ebp - 0x1078], 0
je 0x10030bb6
mov dword [ebp - 0x1060], 0
mov dword [ebp - 0x105c], 0xf
mov byte [ebp - 0x1070], 0
lea eax, [ebp - 0x1070]
mov byte [ebp - 4], 0x17
push eax
lea eax, [ebp - 0x10a0]
push eax
lea eax, [ebp - 0x1088]
push eax
call fcn.1001c090
add esp, 0xc
test eax, eax
jne 0x10030a7c
push 0x100d1904
mov ecx, ebx
call fcn.10003d70
lea ecx, [ebp - 0x1070]
call fcn.10004d30
lea ecx, [ebp - 0x1088]
call fcn.10004d30
lea ecx, [ebp - 0x10a0]
call fcn.10004d30
mov esi, dword [ebp - 0x11bc]
test esi, esi
je 0x10030a56
mov edi, dword [ebp - 0x11b8]
cmp esi, edi
je 0x100309f1
nop
mov ecx, dword [esi + 0x14]
cmp ecx, 0x10
jb 0x100309d3
mov eax, dword [esi]
inc ecx
cmp ecx, 0x1000
jb 0x100309c9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10030d08
mov eax, edx
push ecx
push eax
call fcn.10074e52
add esp, 8
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
add esi, 0x18
cmp esi, edi
jne 0x100309a0
mov esi, dword [ebp - 0x11bc]
mov ecx, dword [ebp - 0x11b4]
mov eax, 0x2aaaaaab
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, esi
shl ecx, 3
cmp ecx, 0x1000
jb 0x10030a2e
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10030d12
push ecx
push esi
call fcn.10074e52
add esp, 8
mov dword [ebp - 0x11bc], 0
mov dword [ebp - 0x11b8], 0
mov dword [ebp - 0x11b4], 0
lea ecx, [ebp - 0x1040]
call fcn.10004d30
lea ecx, [ebp - 0x1058]
call fcn.10004d30
lea ecx, [ebp - 0x11ac]
call fcn.10004be0
jmp 0x10030cae
cmp dword [ebp - 0x105c], 0x10
lea eax, [ebp - 0x1070]
push 0
cmovae eax, dword [ebp - 0x1070]
lea ecx, [ebp - 0x11a4]
push eax
call fcn.10003ca0
push dword [eax]
lea ecx, [ebp - 0x11d8]
mov byte [ebp - 4], 0x18
call fcn.10003d70
mov eax, dword [ebp - 0x11a4]
lea ecx, [ebp - 0x11a0]
mov byte [ebp - 4], 0x1a
cmp eax, ecx
je 0x10030acc
push eax
call fcn.1009f67e
add esp, 4
test esi, esi
je 0x10030b10
mov ecx, dword [ebp - 0x11b8]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x11bc]
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 3
jb 0x10030b10
cmp dword [esi + 0x44], 0x10
lea eax, [esi + 0x30]
jb 0x10030aff
mov eax, dword [eax]
push eax
call fcn.100a402d
mov ecx, dword [ebp - 0x11e0]
add esp, 4
mov dword [ecx], eax
lea eax, [ebp - 0x11d8]
mov ecx, ebx
push eax
call fcn.1001def0
lea ecx, [ebp - 0x11d8]
call fcn.10004be0
lea ecx, [ebp - 0x1070]
call fcn.10004d30
lea ecx, [ebp - 0x1088]
call fcn.10004d30
lea ecx, [ebp - 0x10a0]
call fcn.10004d30
mov esi, dword [ebp - 0x11bc]
test esi, esi
je 0x10030a56
mov edi, dword [ebp - 0x11b8]
cmp esi, edi
je 0x100309f1
mov ecx, dword [esi + 0x14]
cmp ecx, 0x10
jb 0x10030b99
mov eax, dword [esi]
inc ecx
cmp ecx, 0x1000
jb 0x10030b8f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10030d08
mov eax, edx
push ecx
push eax
call fcn.10074e52
add esp, 8
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
add esi, 0x18
cmp esi, edi
jne 0x10030b66
jmp 0x100309eb
push 0x100d1904
mov ecx, ebx
call fcn.10003d70
lea ecx, [ebp - 0x1088]
call fcn.10004d30
lea ecx, [ebp - 0x10a0]
call fcn.10004d30
mov esi, dword [ebp - 0x11bc]
mov byte [ebp - 4], 0x11
test esi, esi
je 0x10030c76
mov ebx, dword [ebp - 0x11b8]
cmp esi, ebx
je 0x10030887
mov ecx, dword [esi + 0x14]
cmp ecx, 0x10
jb 0x10030c2b
mov eax, dword [esi]
inc ecx
cmp ecx, 0x1000
jb 0x10030c21
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10030d08
mov eax, edx
push ecx
push eax
call fcn.10074e52
add esp, 8
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
add esi, 0x18
cmp esi, ebx
jne 0x10030bf8
jmp 0x10030881
push ecx
push esi
call fcn.10074e52
mov ebx, dword [ebp - 0x11dc]
add esp, 8
mov dword [ebp - 0x11b4], 0
mov dword [ebp - 0x11b8], 0
mov dword [ebp - 0x11bc], 0
lea ecx, [ebp - 0x1040]
call fcn.10004d30
lea ecx, [ebp - 0x1058]
call fcn.10004d30
mov edx, dword [ebp - 0x11ac]
mov dword [ebp - 4], 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], edi
dec edi
test edi, edi
jg 0x10030cae
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100751d1
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.10005aa0
push 0x80004005
call fcn.10005aa0
push 0x80004005
call fcn.10005aa0
push 0x80004005
call fcn.10005aa0
push 0x80004005
call fcn.10005aa0
push 0x80004005
call fcn.10005aa0
call fcn.1009fa75
call fcn.1009fa75
call fcn.1009fa75
int3