Function at 0x10022865
Capabilities:
Query or enumerate registry key

Disassembly:
push ebp
lea ebp, [esp - 0x1004]
mov eax, 0x1004
call fcn.1003c230
push 0xffffffffffffffff
push 0x10070408
mov eax, dword fs:[0]
push eax
sub esp, 0x20
mov eax, dword [0x10095dec]
xor eax, ebp
mov dword [ebp + 0x1000], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
xor esi, esi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], esi
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], esi
mov edi, 0x2001f
push edi
push 0x1007a850
mov ebx, reloc.OLEAUT32.dll_SysReAllocString
push ebx
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 1
mov dword [ebp - 0x10], esi
call fcn.1006d75b
test eax, eax
je 0x100228e4
mov dword [ebp - 0x10], 1
push edi
push str.SOFTWAREJavaSoftJava_Web_Start
push ebx
lea ecx, [ebp - 0x2c]
call fcn.1006d75b
cmp eax, esi
je 0x10022934
cmp dword [ebp - 0x10], esi
je 0x10022934
xor esi, esi
inc esi
lea ecx, [ebp - 0x2c]
call fcn.100159e6
lea ecx, [ebp - 0x20]
call fcn.100159e6
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x1000]
xor ecx, ebp
call fcn.1003c09c
add ebp, 0x1004
leave
ret
mov edi, 0x800
push edi
lea eax, [ebp]
push eax
mov dword [ebp - 0x10], esi
push esi
mov esi, dword [sym.imp.ADVAPI32.dll_RegEnumKeyW]
jmp 0x1002299d
inc dword [ebp - 0x10]
lea eax, [ebp]
push 0
push eax
call fcn.10021ef5
pop ecx
pop ecx
test eax, eax
jne 0x10022995
lea eax, [ebp]
push eax
lea ecx, [ebp - 0x20]
call fcn.10015968
test eax, eax
jne 0x100229be
lea ecx, [ebp - 0x20]
call fcn.100159e6
and dword [ebp - 0x10], 0
push 0x2001f
push 0x1007a91c
push ebx
lea ecx, [ebp - 0x20]
call fcn.1006d75b
test eax, eax
jne 0x10022a55
push edi
lea eax, [ebp]
push eax
push dword [ebp - 0x10]
push dword [ebp - 0x20]
call esi
test eax, eax
je 0x1002294a
lea ecx, [ebp - 0x20]
call fcn.100159e6
and dword [ebp - 0x10], 0
push edi
lea eax, [ebp]
push eax
push 0
jmp 0x10022ab1
cmp eax, 5
mov eax, 0x1007a8d4
je 0x100229cd
mov eax, 0x1007a8e4
push eax
lea ecx, [ebp - 0x10]
call fcn.1000b23a
push 0x1007a8f4
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.100010b1
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 3
call fcn.1000132e
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 4], 2
test ecx, ecx
je 0x10022a07
call fcn.10001238
lea eax, [ebp]
push eax
lea ecx, [ebp - 0x14]
call fcn.100010b1
mov byte [ebp - 4], 4
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x10]
call fcn.1000132e
mov ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x10022a2f
call fcn.10001238
mov esi, dword [ebp - 0x10]
test esi, esi
je 0x10022a3a
mov eax, dword [esi]
jmp 0x10022a3c
xor eax, eax
push eax
call fcn.1006d75b
pop ecx
test esi, esi
je 0x10022a4e
mov ecx, esi
call fcn.10001238
xor esi, esi
jmp 0x100228ff
push str.Error_open_Java_Plug_in_key
call fcn.1006d75b
pop ecx
jmp 0x10022a4e
inc dword [ebp - 0x10]
lea eax, [ebp]
push 0
push eax
call fcn.10022208
pop ecx
pop ecx
test eax, eax
jne 0x10022aa9
lea eax, [ebp]
push eax
lea ecx, [ebp - 0x2c]
call fcn.10015968
test eax, eax
jne 0x10022ac7
lea ecx, [ebp - 0x2c]
call fcn.100159e6
and dword [ebp - 0x10], 0
push 0x2001f
push 0x1007a9c0
push ebx
lea ecx, [ebp - 0x2c]
call fcn.1006d75b
test eax, eax
jne 0x10022b25
push edi
lea eax, [ebp]
push eax
push dword [ebp - 0x10]
push dword [ebp - 0x2c]
call esi
test eax, eax
je 0x10022a62
lea ecx, [ebp - 0x2c]
call fcn.100159e6
jmp 0x100228fc
cmp eax, 5
mov eax, str.access_denied
je 0x10022ad6
mov eax, 0x1007a96c
push eax
lea ecx, [ebp - 0x10]
call fcn.1000b23a
push str._when_deleting_key
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 5
call fcn.100010b1
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 6
call fcn.1000132e
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 4], 5
test ecx, ecx
je 0x10022b10
call fcn.10001238
lea eax, [ebp]
push eax
lea ecx, [ebp - 0x14]
call fcn.100010b1
mov byte [ebp - 4], 7
jmp 0x10022a17
push str.Error_open_Java_Web_Start_key
jmp 0x10022a5a