Function at 0x42bb03
Capabilities:
Check if file exists
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x654
mov eax, dword [0x6c45ac]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, dword [ebp + 0xc]
xor ebx, ebx
mov dword [ebp - 0x644], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x648], eax
mov eax, dword [ebp + 0x14]
push edi
mov edi, dword [ebp + 0x18]
mov dword [ebp - 0x650], eax
mov dword [ebp - 0x63c], ebx
cmp dword [esi + 0x10], ebx
je 0x42bd73
cmp dword [edi + 0x10], ebx
je 0x42bd73
push 0x208
lea eax, [ebp - 0x210]
push ebx
push eax
call fcn.005a88e0
add esp, 0xc
lea eax, [ebp - 0x620]
push 0x208
push ebx
push eax
call fcn.005a88e0
xor ecx, ecx
mov eax, 0x206
inc ecx
mov dword [ebp - 0x64c], eax
add esp, 0xc
mov dword [ebp - 0x640], ecx
cmp dword [esi + 0x14], 8
mov dword [ebp - 0x654], eax
jb 0x42bba0
mov esi, dword [esi]
lea eax, [ebp - 0x63c]
push eax
push ecx
push ebx
push esi
push dword [ebp - 0x644]
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x42bd62
mov eax, dword [ebp - 0x648]
cmp dword [eax + 0x14], 8
jb 0x42bbcc
mov eax, dword [eax]
mov esi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
lea ecx, [ebp - 0x64c]
push ecx
lea ecx, [ebp - 0x210]
push ecx
lea ecx, [ebp - 0x640]
push ecx
push ebx
push eax
push dword [ebp - 0x63c]
call esi
test eax, eax
jne 0x42bd62
mov eax, dword [ebp - 0x650]
cmp dword [eax + 0x10], ebx
je 0x42bc33
cmp dword [eax + 0x14], 8
jb 0x42bc0c
mov eax, dword [eax]
lea ecx, [ebp - 0x654]
push ecx
lea ecx, [ebp - 0x620]
push ecx
lea ecx, [ebp - 0x640]
push ecx
push ebx
push eax
push dword [ebp - 0x63c]
call esi
test eax, eax
jne 0x42bd62
lea eax, [ebp - 0x210]
push eax
lea ecx, [ebp - 0x638]
call fcn.0040b0d5
lea ecx, [ebp - 0x638]
mov esi, dword [eax + 0x10]
call fcn.0040b67b
test esi, esi
jne 0x42bc6b
push 0x2a8
push str.base::RivalMonitor::CheckInstalledReg2
push str.__s__d___szInstallDir_is_empty.
jmp 0x42bd82
push 0x208
lea eax, [ebp - 0x418]
push ebx
push eax
call fcn.005a88e0
add esp, 0xc
lea eax, [ebp - 0x620]
lea ecx, [ebp - 0x638]
push eax
call fcn.0040b0d5
lea ecx, [ebp - 0x638]
mov esi, dword [eax + 0x10]
call fcn.0040b67b
test esi, esi
je 0x42bcec
cmp dword [edi + 0x14], 8
jb 0x42bcac
mov edi, dword [edi]
push edi
lea eax, [ebp - 0x620]
push eax
lea eax, [ebp - 0x210]
push eax
push 0x62e150
lea eax, [ebp - 0x418]
push 0x104
push eax
call fcn.0040ce72
add esp, 0x18
test eax, eax
jns 0x42bd1e
push 0x2b0
push str.base::RivalMonitor::CheckInstalledReg2
push str.__s__d____snwprintf_s_error.
jmp 0x42bd82
cmp dword [edi + 0x14], 8
jb 0x42bcf4
mov edi, dword [edi]
push edi
lea eax, [ebp - 0x210]
push eax
lea eax, [ebp - 0x418]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
test eax, eax
jne 0x42bd1e
push 0x2b5
push str.base::RivalMonitor::CheckInstalledReg2
push str.__s__d___PathCombine_error.
jmp 0x42bd82
lea eax, [ebp - 0x418]
mov esi, str.base::RivalMonitor::CheckInstalledReg2
push eax
push 0x2ba
push esi
push str.__s__d___file_path_is:__s
call fcn.0040a649
add esp, 0x10
lea eax, [ebp - 0x418]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x42bd8a
push 0x2be
push esi
push str.__s__d___file_is_exist.
call fcn.0040a649
mov bl, 1
jmp 0x42bd87
push 0x2a3
push str.base::RivalMonitor::CheckInstalledReg2
push str.__s__d___RegOpenKey_or_RegQueryValueEx_failed.
jmp 0x42bd82
push 0x28e
push str.base::RivalMonitor::CheckInstalledReg2
push str.__s__d___root__subkey__value_filename_is_NULL.
call fcn.0040a649
add esp, 0xc
cmp dword [ebp - 0x63c], 0
je 0x42bd9f
push dword [ebp - 0x63c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 4]
mov al, bl
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00590be8
leave
ret 0x18