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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x654
mov eax, dword [0x6d35ac]
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 0x430df3
cmp dword [edi + 0x10], ebx
je 0x430df3
push 0x208
lea eax, [ebp - 0x210]
push ebx
push eax
call fcn.005b24a0
add esp, 0xc
lea eax, [ebp - 0x620]
push 0x208
push ebx
push eax
call fcn.005b24a0
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 0x430c20
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 0x430de2
mov eax, dword [ebp - 0x648]
cmp dword [eax + 0x14], 8
jb 0x430c4c
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 0x430de2
mov eax, dword [ebp - 0x650]
cmp dword [eax + 0x10], ebx
je 0x430cb3
cmp dword [eax + 0x14], 8
jb 0x430c8c
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 0x430de2
lea eax, [ebp - 0x210]
push eax
lea ecx, [ebp - 0x638]
call fcn.0040b0d5
lea ecx, [ebp - 0x638]
mov esi, dword [eax + 0x10]
call fcn.0040b67e
test esi, esi
jne 0x430ceb
push 0x2a8
push str.base::RivalMonitor::CheckInstalledReg2
push str.__s__d___szInstallDir_is_empty.
jmp 0x430e02
push 0x208
lea eax, [ebp - 0x418]
push ebx
push eax
call fcn.005b24a0
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.0040b67e
test esi, esi
je 0x430d6c
cmp dword [edi + 0x14], 8
jb 0x430d2c
mov edi, dword [edi]
push edi
lea eax, [ebp - 0x620]
push eax
lea eax, [ebp - 0x210]
push eax
push 0x639f18
lea eax, [ebp - 0x418]
push 0x104
push eax
call fcn.0040ce80
add esp, 0x18
test eax, eax
jns 0x430d9e
push 0x2b0
push str.base::RivalMonitor::CheckInstalledReg2
push str.__s__d____snwprintf_s_error.
jmp 0x430e02
cmp dword [edi + 0x14], 8
jb 0x430d74
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 0x430d9e
push 0x2b5
push str.base::RivalMonitor::CheckInstalledReg2
push str.__s__d___PathCombine_error.
jmp 0x430e02
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 0x430e0a
push 0x2be
push esi
push str.__s__d___file_is_exist.
call fcn.0040a649
mov bl, 1
jmp 0x430e07
push 0x2a3
push str.base::RivalMonitor::CheckInstalledReg2
push str.__s__d___RegOpenKey_or_RegQueryValueEx_failed.
jmp 0x430e02
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 0x430e1f
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.0059a7a2
leave
ret 0x18