Function at 0x42393f
Capabilities:
Query or enumerate registry key
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x308
lea eax, [ebp - 4]
push ebx
push eax
mov eax, dword [0x4823f8]
or eax, 0x20019
xor ebx, ebx
push eax
push ebx
push str.SoftwareJavaSoftJava_Runtime_Environment
push 0x80000002
mov dword [ebp - 4], ebx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x423c2a
push esi
push edi
push 0xc
lea edi, [ebp - 0x9b]
pop ecx
mov byte [ebp - 0x9c], bl
rep stosd dword es:[edi], eax
stosb byte es:[edi], al
lea eax, [ebp - 0xc]
mov esi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
push eax
lea eax, [ebp - 0x9c]
push eax
push ebx
push ebx
push str.CurrentVersion
push dword [ebp - 4]
mov dword [ebp - 0xc], 0x32
call esi
test eax, eax
jne 0x423c1f
mov edi, dword [ebp + 8]
lea eax, [ebp - 0x9c]
push eax
mov ecx, edi
call fcn.0041e77c
push ebx
push 0x2e
mov ecx, edi
call fcn.0041ef17
cmp eax, 0xffffffff
je 0x4239ea
inc eax
mov ecx, edi
push eax
push 0x2e
call fcn.0041ef17
cmp eax, 0xffffffff
jne 0x423c1f
push edi
lea ecx, [ebp - 0x34]
call fcn.0041e703
push 0x40
xor eax, eax
pop ecx
lea edi, [ebp - 0x203]
mov byte [ebp - 0x204], bl
mov dword [ebp - 0x10], ebx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x10]
push eax
mov eax, dword [0x4823f8]
or eax, 0x20019
push eax
lea eax, [ebp - 0x9c]
push ebx
push eax
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x423a99
push 0xc
lea edi, [ebp - 0x67]
pop ecx
mov byte [ebp - 0x68], bl
rep stosd dword es:[edi], eax
stosb byte es:[edi], al
lea eax, [ebp - 0xc]
mov dword [ebp - 0xc], 0x32
push eax
lea eax, [ebp - 0x68]
push eax
push ebx
push ebx
push str.MicroVersion
push dword [ebp - 0x10]
call esi
test eax, eax
jne 0x423a72
mov ecx, dword [ebp + 8]
push 0x2e
call fcn.0041e862
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x68]
push ebx
push eax
call fcn.0041e8b1
lea eax, [ebp - 0xc]
mov dword [ebp - 0xc], 0x104
push eax
lea eax, [ebp - 0x204]
push eax
push ebx
push ebx
push str.JavaHome
push dword [ebp - 0x10]
call esi
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [0x4812b4], ebx
jne 0x423c17
push 0x18
xor eax, eax
pop ecx
lea edi, [ebp - 0xff]
mov byte [ebp - 0x100], bl
mov dword [ebp - 0x18], ebx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x28]
mov dword [ebp - 0x14], 0x64
push eax
push ebx
push ebx
lea eax, [ebp - 0x14]
push ebx
push eax
lea eax, [ebp - 0x100]
push eax
push ebx
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExA]
test eax, eax
jne 0x423c17
lea eax, [ebp - 8]
mov dword [ebp - 8], ebx
push eax
mov eax, dword [0x4823f8]
or eax, 0x20019
push eax
lea eax, [ebp - 0x100]
push ebx
push eax
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x423bad
push 0xc
lea edi, [ebp - 0x67]
pop ecx
mov byte [ebp - 0x68], bl
rep stosd dword es:[edi], eax
stosb byte es:[edi], al
push 0x40
xor eax, eax
pop ecx
lea edi, [ebp - 0x307]
mov byte [ebp - 0x308], bl
mov dword [ebp - 0x20], 0x104
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x20]
mov dword [ebp - 0x1c], 0x32
push eax
lea eax, [ebp - 0x308]
push eax
push ebx
push ebx
push str.JavaHome
push dword [ebp - 8]
call esi
test eax, eax
jne 0x423ba4
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x68]
push eax
push ebx
push ebx
push str.MicroVersion
push dword [ebp - 8]
call esi
test eax, eax
jne 0x423ba4
lea eax, [ebp - 0x204]
push eax
lea eax, [ebp - 0x308]
push eax
call fcn.0042aa60
pop ecx
test eax, eax
pop ecx
jne 0x423ba4
lea eax, [ebp - 0x68]
push 0x42ebc0
push eax
call fcn.00427a10
pop ecx
test eax, eax
pop ecx
jg 0x423be7
push dword [ebp - 8]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
inc dword [ebp - 0x18]
push 0x18
pop ecx
xor eax, eax
lea edi, [ebp - 0xff]
mov byte [ebp - 0x100], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x28]
mov dword [ebp - 0x14], 0x64
push eax
push ebx
push ebx
lea eax, [ebp - 0x14]
push ebx
push eax
lea eax, [ebp - 0x100]
push eax
push dword [ebp - 0x18]
jmp 0x423ad8
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x34]
push eax
call fcn.0041e7ea
mov ecx, dword [ebp + 8]
push ebx
push 0x42ef54
call fcn.0041e8b1
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x68]
push ebx
push eax
call fcn.0041e8b1
push dword [ebp - 8]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [ebp - 0x34]
call fcn.0041e765
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop edi
pop esi
pop ebx
leave
ret