Function at 0x419900
Capabilities:
Query or enumerate registry key

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x43abd4
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xc74
push ebx
push esi
push edi
lea edi, [ebp - 0xc80]
mov ecx, 0x31d
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
lea ecx, [ebp - 0x10]
call fcn.0041bbf0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x14]
call fcn.0041bbf0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x18]
call fcn.0041bbf0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1c]
call fcn.0041bbf0
mov byte [ebp - 4], 3
push 0x20019
push str.Software
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x10]
call fcn.0041be50
test eax, eax
je 0x4199c9
mov dword [ebp - 0xc28], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1c]
call fcn.0041bc20
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x18]
call fcn.0041bc20
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x14]
call fcn.0041bc20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10]
call fcn.0041bc20
mov eax, dword [ebp - 0xc28]
jmp 0x419d6b
push 0x20019
push str.JavaSoft
lea ecx, [ebp - 0x10]
call fcn.0041bc60
push eax
lea ecx, [ebp - 0x14]
call fcn.0041be50
test eax, eax
je 0x419a30
mov dword [ebp - 0xc2c], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1c]
call fcn.0041bc20
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x18]
call fcn.0041bc20
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x14]
call fcn.0041bc20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10]
call fcn.0041bc20
mov eax, dword [ebp - 0xc2c]
jmp 0x419d6b
push 0x20019
push str.Java_Runtime_Environment
lea ecx, [ebp - 0x14]
call fcn.0041bc60
push eax
lea ecx, [ebp - 0x18]
call fcn.0041be50
test eax, eax
je 0x419a97
mov dword [ebp - 0xc30], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1c]
call fcn.0041bc20
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x18]
call fcn.0041bc20
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x14]
call fcn.0041bc20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10]
call fcn.0041bc20
mov eax, dword [ebp - 0xc30]
jmp 0x419d6b
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x20], eax
lea ecx, [ebp - 0x20]
push ecx
push str.CurrentVersion
mov edx, dword [ebp + 8]
push edx
lea ecx, [ebp - 0x18]
call fcn.0041bf30
test eax, eax
je 0x419afe
mov dword [ebp - 0xc34], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1c]
call fcn.0041bc20
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x18]
call fcn.0041bc20
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x14]
call fcn.0041bc20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10]
call fcn.0041bc20
mov eax, dword [ebp - 0xc34]
jmp 0x419d6b
push 0x20019
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x18]
call fcn.0041bc60
push eax
lea ecx, [ebp - 0x1c]
call fcn.0041be50
test eax, eax
jne 0x419b8d
lea ecx, [ebp + 0x10]
push ecx
push str.JavaHome
mov edx, dword [ebp + 0xc]
push edx
lea ecx, [ebp - 0x1c]
call fcn.0041bf30
test eax, eax
jne 0x419b8d
mov eax, dword [ebp + 0xc]
push eax
call fcn.00419860
add esp, 4
test eax, eax
je 0x419b8d
mov dword [ebp - 0xc38], 1
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1c]
call fcn.0041bc20
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x18]
call fcn.0041bc20
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x14]
call fcn.0041bc20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10]
call fcn.0041bc20
mov eax, dword [ebp - 0xc38]
jmp 0x419d6b
mov dword [ebp - 0xc24], 0
mov byte [ebp - 0x820], 0
mov esi, esp
push 0x400
lea ecx, [ebp - 0x420]
push ecx
mov edx, dword [ebp - 0xc24]
push edx
lea ecx, [ebp - 0x18]
call fcn.0041bc60
push eax
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyA]
cmp esi, esp
call fcn.0041fa50
test eax, eax
jne 0x419ca4
mov dword [ebp + 0x10], 0x400
mov esi, esp
lea eax, [ebp - 0x820]
push eax
lea ecx, [ebp - 0x420]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
cmp esi, esp
call fcn.0041fa50
test eax, eax
jle 0x419c9f
push 0x20019
lea edx, [ebp - 0x420]
push edx
lea ecx, [ebp - 0x18]
call fcn.0041bc60
push eax
lea ecx, [ebp - 0x1c]
call fcn.0041be50
test eax, eax
jne 0x419c90
lea eax, [ebp + 0x10]
push eax
push str.JavaHome
lea ecx, [ebp - 0xc20]
push ecx
lea ecx, [ebp - 0x1c]
call fcn.0041bf30
test eax, eax
jne 0x419c90
cmp dword [ebp + 0x10], 0
jbe 0x419c90
lea edx, [ebp - 0xc20]
push edx
call fcn.00419860
add esp, 4
test eax, eax
je 0x419c90
mov esi, esp
lea eax, [ebp - 0x420]
push eax
lea ecx, [ebp - 0x820]
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 8
cmp esi, esp
call fcn.0041fa50
mov esi, esp
lea edx, [ebp - 0xc20]
push edx
mov eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 8
cmp esi, esp
call fcn.0041fa50
mov ecx, dword [ebp - 0xc24]
add ecx, 1
mov dword [ebp - 0xc24], ecx
jmp 0x419b9e
lea edx, [ebp - 0x820]
push edx
call fcn.00421940
add esp, 4
test eax, eax
jbe 0x419d28
mov esi, esp
lea eax, [ebp - 0x820]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 8
cmp esi, esp
call fcn.0041fa50
mov edx, dword [ebp + 0xc]
push edx
call fcn.00421940
add esp, 4
mov dword [ebp + 0x10], eax
mov dword [ebp - 0xc3c], 1
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1c]
call fcn.0041bc20
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x18]
call fcn.0041bc20
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x14]
call fcn.0041bc20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10]
call fcn.0041bc20
mov eax, dword [ebp - 0xc3c]
jmp 0x419d6b
mov dword [ebp - 0xc40], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1c]
call fcn.0041bc20
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x18]
call fcn.0041bc20
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x14]
call fcn.0041bc20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10]
call fcn.0041bc20
mov eax, dword [ebp - 0xc40]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
add esp, 0xc80
cmp ebp, esp
call fcn.0041fa50
mov esp, ebp
pop ebp
ret