Function at 0x413c70
Capabilities:
Query or enumerate registry key
Set registry value

Disassembly:
push 0xffffffffffffffff
push 0x4701b1
mov eax, dword fs:[0]
push eax
mov eax, 0x5c28
call fcn.00454090
mov eax, dword [0x4a3dc0]
xor eax, esp
mov dword [esp + 0x5c24], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4a3dc0]
xor eax, esp
push eax
lea eax, [esp + 0x5c3c]
mov dword fs:[0], eax
xor ebx, ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x5c44], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
push 0x20019
push 0x47e8d8
push 0x80000002
lea ecx, [esp + 0x38]
mov byte [esp + 0x5c50], 2
call fcn.004018c0
test eax, eax
je 0x413d16
mov eax, dword [esp + 0x2c]
cmp eax, ebx
je 0x413d0f
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
jmp 0x41435c
mov ebp, dword [esp + 0x2c]
push 0x2001f
push 0x47e8e4
push ebp
lea ecx, [esp + 0x2c]
call fcn.004018c0
test eax, eax
je 0x413d51
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [esp + 0x20]
cmp eax, ebx
je 0x413d43
push eax
call esi
cmp ebp, ebx
je 0x413d4a
push ebp
call esi
xor eax, eax
jmp 0x41435c
push 0x2001f
lea ecx, [esp + 0x18]
cmp dword [esp + 0x5c50], ebx
jne 0x413d9c
mov edi, dword [esp + 0x24]
push 0x47e8f0
push edi
call fcn.004018c0
test eax, eax
je 0x413dc9
mov eax, dword [esp + 0x14]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp eax, ebx
je 0x413d87
push eax
call esi
cmp edi, ebx
je 0x413d8e
push edi
call esi
cmp ebp, ebx
je 0x413d4a
push ebp
call esi
xor eax, eax
jmp 0x41435c
mov eax, dword [esp + 0x24]
push 0x47e90c
push eax
call fcn.004018c0
test eax, eax
je 0x413dc9
mov eax, dword [esp + 0x14]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp eax, ebx
je 0x413d38
push eax
call esi
jmp 0x413d38
push 0x7ff
lea ecx, [esp + 0x4c3d]
push ebx
push ecx
mov byte [esp + 0x4c44], bl
call fcn.004547c0
push 0x7ff
lea edx, [esp + 0x449]
push ebx
push edx
xor esi, esi
mov byte [esp + 0x450], bl
call fcn.004547c0
push 0x7ff
lea eax, [esp + 0x1c55]
push ebx
push eax
mov byte [esp + 0x1c5c], bl
call fcn.004547c0
push 0x7ff
lea ecx, [esp + 0x2461]
push ebx
push ecx
mov byte [esp + 0x2468], bl
call fcn.004547c0
push 0x7ff
lea edx, [esp + 0x146d]
push ebx
push edx
mov byte [esp + 0x1474], bl
call fcn.004547c0
push 0x7ff
lea eax, [esp + 0x3479]
push ebx
push eax
mov byte [esp + 0x3480], bl
call fcn.004547c0
add esp, 0x48
push 0x7ff
lea ecx, [esp + 0x2c3d]
push ebx
push ecx
mov byte [esp + 0x2c44], bl
call fcn.004547c0
push 0x7ff
lea edx, [esp + 0x4449]
push ebx
push edx
mov byte [esp + 0x4450], bl
call fcn.004547c0
push 0x7ff
lea eax, [esp + 0xc55]
push ebx
push eax
mov byte [esp + 0xc5c], bl
call fcn.004547c0
push 0x7ff
lea ecx, [esp + 0x5461]
push ebx
push ecx
mov byte [esp + 0x5468], bl
call fcn.004547c0
push 0x7ff
lea edx, [esp + 0x3c6d]
push ebx
push edx
mov byte [esp + 0x3c74], bl
call fcn.004547c0
push 0x47e924
push 0x47e928
push 0x47e92c
push 0xffffffffffffffff
lea eax, [esp + 0x5484]
push 0x800
push eax
xor edi, edi
call fcn.00454e68
add esp, 0x54
push 0x800
lea ecx, [esp + 0x43c]
push ecx
mov edx, dword [esp + 0x1c]
mov ebp, dword [sym.imp.ADVAPI32.dll_RegEnumKeyA]
push ebx
push edx
call ebp
test eax, eax
jne 0x4142fb
jmp 0x413f40
lea eax, [esp + 0x1c38]
push eax
lea ecx, [esp + 0x43c]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jle 0x413f79
lea edx, [esp + 0x438]
push edx
push 0xffffffffffffffff
lea eax, [esp + 0x1c40]
push 0x800
push eax
call fcn.00454e68
add esp, 0x10
push 0x800
lea ecx, [esp + 0x443c]
push ecx
lea edx, [esp + 0x2c40]
push edx
lea eax, [esp + 0x3444]
push eax
lea ecx, [esp + 0x1448]
push ecx
lea edx, [esp + 0x44c]
push edx
call fcn.004387b0
lea eax, [esp + 0x3450]
push eax
lea ecx, [esp + 0x1454]
push ecx
push 0x47e934
push 0xffffffffffffffff
lea edx, [esp + 0xc60]
push 0x800
push edx
call fcn.00454e68
add esp, 0x30
lea eax, [esp + 0x5438]
push eax
lea ecx, [esp + 0xc3c]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x41402f
lea edx, [esp + 0x2438]
push edx
lea eax, [esp + 0x43c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jle 0x41402f
lea ecx, [esp + 0x438]
push ecx
push 0xffffffffffffffff
lea edx, [esp + 0x2440]
push 0x800
push edx
call fcn.00454e68
add esp, 0x10
mov edi, 1
mov ecx, dword [esp + 0x14]
push 0x800
lea eax, [esp + 0x43c]
push eax
inc esi
push esi
push ecx
call ebp
test eax, eax
je 0x413f40
cmp esi, ebx
jbe 0x4142fb
push 0x800
lea edx, [esp + 0x443c]
push edx
lea eax, [esp + 0x2c40]
push eax
lea ecx, [esp + 0x3444]
push ecx
lea edx, [esp + 0x1448]
push edx
lea eax, [esp + 0x1c4c]
push eax
call fcn.004387b0
lea ecx, [esp + 0x3450]
push ecx
lea edx, [esp + 0x1454]
push edx
push str._s._s
push 0xffffffffffffffff
lea eax, [esp + 0xc60]
push 0x800
push eax
call fcn.00454e68
add esp, 0x30
lea ecx, [esp + 0xc38]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
push eax
mov eax, dword [esp + 0x18]
lea edx, [esp + 0xc3c]
push edx
push 1
push ebx
push 0x47e944
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov esi, dword [esp + 0x5c4c]
cmp edi, ebx
je 0x414278
push esi
push 0x800
lea ecx, [esp + 0x3c40]
push ecx
lea edx, [esp + 0x2444]
push edx
call fcn.0043bc20
add esp, 0x10
test eax, eax
je 0x41421d
push 0x3ff
lea eax, [esp + 0x3d]
push ebx
push eax
mov byte [esp + 0x44], bl
call fcn.004547c0
push 0x800
lea ecx, [esp + 0x4448]
push ecx
lea edx, [esp + 0x2c4c]
push edx
lea eax, [esp + 0x3450]
push eax
lea ecx, [esp + 0x1454]
push ecx
lea edx, [esp + 0x2458]
push edx
call fcn.004387b0
lea eax, [esp + 0x345c]
push 0x47e954
push eax
call fcn.004550d5
add esp, 0x2c
test eax, eax
jne 0x414185
push str.hotspot
push 0xffffffffffffffff
push 0x400
lea ecx, [esp + 0x44]
push ecx
jmp 0x4141b2
call fcn.00438750
test eax, eax
je 0x4141a1
push str.client
push 0xffffffffffffffff
push 0x400
lea edx, [esp + 0x44]
push edx
jmp 0x4141b2
push str.server
push 0xffffffffffffffff
push 0x400
lea eax, [esp + 0x44]
push eax
call fcn.00454e68
add esp, 0x10
lea edx, [esp + 0x2c38]
lea eax, [esp + 0xc38]
cmp esi, ebx
jne 0x4141e5
lea ecx, [esp + 0x38]
push ecx
push edx
push eax
lea ecx, [esp + 0x3c44]
push ecx
call fcn.0041b310
add esp, 0x10
jmp 0x4141f7
push edx
push eax
lea ecx, [esp + 0x3c40]
push ecx
call fcn.0041bc00
add esp, 0xc
cmp eax, ebx
jne 0x414278
lea ecx, [esp + 0x14]
call fcn.00402020
lea ecx, [esp + 0x20]
call fcn.00402020
lea ecx, [esp + 0x2c]
call fcn.00402020
xor eax, eax
jmp 0x41435c
lea edx, [esp + 0x2438]
push edx
push str.__CanonicalizeJava2Registry_FindJavaHome_1__v._s_failed
push 0xffffffffffffffff
lea eax, [esp + 0x4c44]
push 0x800
push eax
call fcn.00454e68
add esp, 0x14
push 1
call fcn.00434cf0
mov ecx, eax
call fcn.00434d00
test al, al
je 0x414278
lea ecx, [esp + 0x4c38]
push ecx
push 0x47e9ac
push 0x598
push 0x47e9c8
push 1
call fcn.00434cf0
mov ecx, eax
call fcn.004053c0
push esi
push 0x800
lea edx, [esp + 0x3c40]
push edx
lea eax, [esp + 0x1c44]
push eax
call fcn.0043bc20
add esp, 0x10
test eax, eax
jne 0x414330
lea ecx, [esp + 0x1c38]
push ecx
push str.__CanonicalizeJava2Registry_FindJavaHome_2__v._s_failed
push 0xffffffffffffffff
lea edx, [esp + 0x4c44]
push 0x800
push edx
call fcn.00454e68
add esp, 0x14
push 1
call fcn.00434cf0
mov ecx, eax
call fcn.00434d00
test al, al
je 0x414330
lea eax, [esp + 0x4c38]
push eax
push str.CanonicalizeJava2Registry
push 0x5a0
push 0x47ea90
push 1
call fcn.00434cf0
mov ecx, eax
call fcn.004053c0
jmp 0x414330
lea ecx, [esp + 0x14]
call fcn.004017e0
lea ecx, [esp + 0x20]
cmp dword [esp + 0x5c4c], ebx
jne 0x414326
push 0x47eb00
call fcn.00402040
push ebx
call fcn.00412970
add esp, 4
jmp 0x414330
push 0x47eb1c
call fcn.00402040
mov eax, dword [esp + 0x14]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp eax, ebx
je 0x414341
push eax
call esi
mov eax, dword [esp + 0x20]
cmp eax, ebx
je 0x41434c
push eax
call esi
mov eax, dword [esp + 0x2c]
cmp eax, ebx
je 0x414357
push eax
call esi
mov eax, 1
mov ecx, dword [esp + 0x5c3c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x5c24]
xor ecx, esp
call fcn.0045407e
add esp, 0x5c34
ret