Function at 0x10042250
Capabilities:
Query or enumerate registry value

Disassembly:
sub esp, 0x28
push ebx
push ebp
mov ebp, dword [esp + 0x34]
push esi
push edi
push 0x100c5a78
push 0x20
call fcn.10085206
xor ebx, ebx
add esp, 8
cmp eax, ebx
je 0x10042299
mov ecx, dword [0x100bc66c]
mov dword [eax], ecx
mov edx, dword [0x100bc66c]
mov dword [eax + 4], edx
mov dword [eax + 8], 0xffffffff
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov dword [eax + 0x14], ebx
mov dword [eax + 0x18], ebx
mov dword [eax + 0x1c], ebx
jmp 0x1004229b
xor eax, eax
mov dword [ebp + 0x44], eax
cmp eax, ebx
je 0x100422a7
call fcn.10047c80
mov eax, ebp
call fcn.10045540
mov eax, dword [ebp + 0x34]
cmp eax, ebx
jne 0x100422bf
push 0x80004003
call fcn.100830f0
mov ecx, dword [eax]
lea edx, [esp + 0x3c]
push edx
push 1
push 0x40c
push eax
mov eax, dword [ecx + 0x108]
mov dword [esp + 0x4c], ebx
call eax
mov eax, dword [esp + 0x3c]
push ecx
mov ecx, esp
mov edi, eax
mov dword [ecx], eax
mov eax, dword [esp + 0x40]
lea esi, [ebp + 0xa0]
cmp eax, ebx
je 0x100422fb
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
call fcn.1000a140
cmp eax, ebx
jge 0x10042311
cmp eax, 0x80004002
je 0x10042311
push eax
call fcn.100830f0
cmp edi, ebx
je 0x1004231d
mov eax, dword [edi]
mov ecx, dword [eax + 8]
push edi
call ecx
mov eax, dword [ebp + 0x34]
cmp eax, ebx
jne 0x1004232e
push 0x80004003
call fcn.100830f0
mov edx, dword [eax]
mov edx, dword [edx + 0x108]
lea ecx, [esp + 0x3c]
push ecx
push ebx
push 0x3ed
push eax
mov dword [esp + 0x4c], ebx
call edx
mov eax, dword [esp + 0x3c]
push ecx
mov ecx, esp
mov edi, eax
mov dword [ecx], eax
mov eax, dword [esp + 0x40]
lea esi, [ebp + 0x8c]
cmp eax, ebx
je 0x10042369
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
call fcn.1000a140
cmp eax, ebx
jge 0x1004237f
cmp eax, 0x80004002
je 0x1004237f
push eax
call fcn.100830f0
cmp edi, ebx
je 0x1004238b
mov eax, dword [edi]
mov ecx, dword [eax + 8]
push edi
call ecx
mov eax, 4
lea edx, [esp + 0x3c]
push edx
mov dword [esp + 0x40], eax
mov dword [esp + 0x18], eax
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x1c]
push ecx
push 0x100ac25c
push 0x100ac280
push reloc.OLEAUT32.DLL_SysReAllocString
mov dword [esp + 0x28], 1
call dword [sym.imp.SHLWAPI.DLL_SHGetValueW]
mov eax, dword [ebp + 0x34]
cmp eax, ebx
jne 0x100423d5
push 0x80004003
call fcn.100830f0
mov edx, dword [eax]
mov edx, dword [edx + 0x108]
lea ecx, [esp + 0x3c]
push ecx
push ebx
push 0x3ef
push eax
mov dword [esp + 0x4c], ebx
call edx
mov eax, dword [esp + 0x3c]
push ecx
mov ecx, esp
mov edi, eax
mov dword [ecx], eax
mov eax, dword [esp + 0x40]
lea esi, [ebp + 0x90]
cmp eax, ebx
je 0x10042410
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
call fcn.1000a140
cmp eax, ebx
jge 0x10042426
cmp eax, 0x80004002
je 0x10042426
push eax
call fcn.100830f0
cmp edi, ebx
je 0x10042432
mov eax, dword [edi]
mov ecx, dword [eax + 8]
push edi
call ecx
mov eax, dword [esi]
mov edi, dword [esp + 0x10]
cmp eax, ebx
je 0x1004245e
cmp edi, ebx
je 0x10042450
mov edx, dword [eax]
push ebx
push 0x10000000
push eax
mov eax, dword [edx + 0x5c]
call eax
jmp 0x1004245e
mov ecx, dword [eax]
mov edx, dword [ecx + 0x5c]
push 0x10000000
push ebx
push eax
call edx
mov eax, dword [ebp + 0x34]
xor ecx, ecx
cmp edi, ebx
sete cl
push ecx
push 0x1f5b
call fcn.1003e890
add esp, 8
cmp dword [esi], ebx
je 0x100424e8
mov eax, dword [esi]
cmp eax, ebx
jne 0x1004248a
push 0x80004003
call fcn.100830f0
mov edx, dword [eax]
mov edx, dword [edx + 0x108]
lea ecx, [esp + 0x3c]
push ecx
push 1
push 0x1f58
push eax
mov dword [esp + 0x4c], ebx
call edx
mov eax, dword [esp + 0x3c]
push ecx
mov ecx, esp
mov edi, eax
mov dword [ecx], eax
mov eax, dword [esp + 0x40]
lea esi, [ebp + 0xbc]
cmp eax, ebx
je 0x100424c6
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
call fcn.1000a080
cmp eax, ebx
jge 0x100424dc
cmp eax, 0x80004002
je 0x100424dc
push eax
call fcn.100830f0
cmp edi, ebx
je 0x100424e8
mov eax, dword [edi]
mov ecx, dword [eax + 8]
push edi
call ecx
mov eax, 0x100a7ca8
lea edi, [esp + 0x3c]
call fcn.1003ded0
mov eax, dword [eax]
mov esi, dword [ebp + 0x98]
cmp esi, eax
je 0x10042520
mov dword [ebp + 0x98], eax
cmp eax, ebx
je 0x10042514
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
cmp esi, ebx
je 0x10042520
mov ecx, dword [esi]
mov edx, dword [ecx + 8]
push esi
call edx
mov eax, dword [esp + 0x3c]
cmp eax, ebx
je 0x10042530
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ecx, dword [ebp + 0x98]
cmp ecx, ebx
je 0x100425d3
cmp dword [ebp + 0x90], ebx
je 0x100425d3
mov eax, dword [ebp + 0x34]
cmp eax, ebx
jne 0x1004255b
push 0x80004003
call fcn.100830f0
mov edx, dword [eax]
push ecx
push eax
mov eax, dword [edx + 0xf4]
call eax
mov eax, dword [ebp + 0x90]
cmp eax, ebx
jne 0x1004257b
push 0x80004003
call fcn.100830f0
mov ecx, dword [eax]
lea edx, [esp + 0x18]
push edx
push eax
mov eax, dword [ecx + 0x40]
call eax
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x2c]
push edx
call dword [sym.imp.USER32.DLL_CopyRect]
mov eax, dword [ebp + 0x98]
cmp eax, ebx
jne 0x100425ac
push 0x80004003
call fcn.100830f0
mov ecx, dword [eax]
push 1
lea edx, [esp + 0x2c]
push edx
push eax
mov eax, dword [ecx + 0x44]
call eax
mov eax, dword [ebp + 0x98]
cmp eax, ebx
je 0x100425d3
mov ecx, dword [eax]
mov edx, dword [ecx + 0x5c]
push 0x10000000
push ebx
push eax
call edx
mov esi, ebp
call fcn.10042c20
mov eax, dword [ebp + 0x34]
cmp eax, ebx
jne 0x100425eb
push 0x80004003
call fcn.100830f0
mov ecx, dword [eax]
lea edx, [esp + 0x3c]
push edx
push 1
push 0x4c0
push eax
mov eax, dword [ecx + 0x108]
mov dword [esp + 0x4c], ebx
call eax
mov eax, dword [esp + 0x3c]
push ecx
mov ecx, esp
mov edi, eax
mov dword [ecx], eax
mov eax, dword [esp + 0x40]
lea esi, [ebp + 0x9c]
cmp eax, ebx
je 0x10042627
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
call fcn.1000a140
cmp eax, ebx
jge 0x1004263d
cmp eax, 0x80004002
je 0x1004263d
push eax
call fcn.100830f0
cmp edi, ebx
je 0x10042649
mov eax, dword [edi]
mov ecx, dword [eax + 8]
push edi
call ecx
mov eax, dword [ebp + 0x34]
cmp eax, ebx
jne 0x1004265a
push 0x80004003
call fcn.100830f0
mov edx, dword [eax]
mov edx, dword [edx + 0x108]
lea ecx, [esp + 0x3c]
push ecx
push 1
push 0x3f8
push eax
mov dword [esp + 0x4c], ebx
call edx
mov eax, dword [esp + 0x3c]
push ecx
mov ecx, esp
mov edi, eax
mov dword [ecx], eax
mov eax, dword [esp + 0x40]
lea esi, [ebp + 0x60]
cmp eax, ebx
je 0x10042693
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
call fcn.1000a080
cmp eax, ebx
jge 0x100426a9
cmp eax, 0x80004002
je 0x100426a9
push eax
call fcn.100830f0
cmp edi, ebx
je 0x100426b5
mov eax, dword [edi]
mov ecx, dword [eax + 8]
push edi
call ecx
cmp dword [esi], ebx
je 0x10042771
mov ecx, dword [esi]
mov eax, dword [ebp + 0x44]
mov eax, dword [eax]
mov dword [esp + 0x3c], ecx
cmp ecx, ebx
jne 0x100426d6
push 0x80004003
call fcn.100830f0
push ecx
mov edi, eax
mov ebx, esp
call fcn.10005c40
mov ecx, dword [esp + 0x40]
call fcn.10027460
call fcn.10028b70
test eax, eax
jne 0x1004276f
mov eax, 1
test byte [0x100c7b94], al
jne 0x1004271e
mov edx, dword [0x100bc66c]
or dword [0x100c7b94], eax
push 0x100a35f0
mov dword [0x100c7b90], edx
call fcn.1008416d
add esp, 4
push 0x100ac49c
lea eax, [esp + 0x40]
mov ecx, 0x100c7b90
call fcn.1005e3a0
mov eax, dword [eax]
push 0x1e
push 0x1e
push eax
mov eax, esi
call fcn.1003ef80
mov eax, dword [esp + 0x48]
lea ecx, [eax - 0xc]
add esp, 0xc
cmp ecx, 0x100bc65c
je 0x1004276f
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.DLL_InterlockedDecrement]
test eax, eax
jg 0x1004276f
mov eax, dword [esp + 0x3c]
add eax, 0xfffffff4
push eax
call fcn.1008441c
add esp, 4
xor ebx, ebx
mov eax, dword [ebp + 0x34]
cmp eax, ebx
jne 0x10042782
push 0x80004003
call fcn.100830f0
mov edx, dword [eax]
mov edx, dword [edx + 0x108]
lea ecx, [esp + 0x3c]
push ecx
push 1
push 0x3f9
push eax
mov dword [esp + 0x4c], ebx
call edx
mov eax, dword [esp + 0x3c]
push ecx
mov ecx, esp
mov edi, eax
mov dword [ecx], eax
mov eax, dword [esp + 0x40]
lea esi, [ebp + 0x64]
cmp eax, ebx
je 0x100427bb
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
call fcn.1000a080
cmp eax, ebx
jge 0x100427d1
cmp eax, 0x80004002
je 0x100427d1
push eax
call fcn.100830f0
cmp edi, ebx
je 0x100427dd
mov eax, dword [edi]
mov ecx, dword [eax + 8]
push edi
call ecx
cmp dword [esi], ebx
je 0x10042844
call fcn.10028b70
test eax, eax
jne 0x10042844
push 0x100ac4a8
push 0x3f9
push ecx
mov esi, esp
mov dword [esi], ebx
mov eax, dword [ebp + 0x34]
push ecx
mov ecx, esp
mov dword [ecx], eax
cmp eax, ebx
je 0x1004280d
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.100278a0
cmp eax, ebx
jge 0x10042823
cmp eax, 0x80004002
je 0x10042823
push eax
call fcn.100830f0
push ecx
mov ecx, dword [0x100c7490]
mov eax, esp
mov dword [eax], ecx
mov eax, ecx
cmp eax, ebx
je 0x1004283c
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.10025f30
add esp, 0x10
mov ecx, dword [ebp + 0x44]
mov edx, dword [ecx + 4]
push edx
lea eax, [ebp + 0x1b4]
call fcn.100035a0
mov eax, ebp
call fcn.10042ec0
mov eax, dword [ebp + 0x34]
cmp eax, ebx
jne 0x1004286e
push 0x80004003
call fcn.100830f0
mov ecx, dword [eax]
lea edx, [esp + 0x3c]
push edx
push 1
push 0x3f0
push eax
mov eax, dword [ecx + 0x108]
mov dword [esp + 0x4c], ebx
call eax
mov eax, dword [esp + 0x3c]
push ecx
mov ecx, esp
mov edi, eax
mov dword [ecx], eax
mov eax, dword [esp + 0x40]
lea esi, [ebp + 0x50]
cmp eax, ebx
je 0x100428a7
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
call fcn.1001a1d0
cmp eax, ebx
jge 0x100428bd
cmp eax, 0x80004002
je 0x100428bd
push eax
call fcn.100830f0
cmp edi, ebx
je 0x100428c9
mov eax, dword [edi]
mov ecx, dword [eax + 8]
push edi
call ecx
mov eax, dword [ebp + 0x34]
cmp eax, ebx
jne 0x100428da
push 0x80004003
call fcn.100830f0
mov edx, dword [eax]
mov edx, dword [edx + 0x108]
lea ecx, [esp + 0x3c]
push ecx
push 1
push 0x4c8
push eax
mov dword [esp + 0x4c], ebx
call edx
mov eax, dword [esp + 0x3c]
push ecx
mov ecx, esp
mov edi, eax
mov dword [ecx], eax
mov eax, dword [esp + 0x40]
lea esi, [ebp + 0xb8]
cmp eax, ebx
je 0x10042916
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
call fcn.1001e150
cmp eax, ebx
jge 0x1004292c
cmp eax, 0x80004002
je 0x1004292c
push eax
call fcn.100830f0
cmp edi, ebx
je 0x10042938
mov eax, dword [edi]
mov ecx, dword [eax + 8]
push edi
call ecx
push ebp
call fcn.10045410
mov eax, ebp
call fcn.10042ba0
mov eax, ebp
call fcn.10045800
push ebp
call fcn.100458c0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 4