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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10103f06
mov eax, dword fs:[0]
push eax
sub esp, 0x25c
mov eax, dword [0x1014857c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x268], ecx
call fcn.1003b320
mov ecx, eax
call fcn.1002bfc0
test eax, eax
je 0x10040db6
jmp 0x10041018
call fcn.1003b460
mov ecx, eax
call fcn.1003f5c0
test eax, eax
je 0x10041018
call fcn.1003b460
mov ecx, eax
call fcn.1003f580
test eax, eax
je 0x10041018
push str._S__NOSTARTMENU__BANAUTORUN__BANUNINSTREG__PIDbizhi__SUBPID
lea ecx, [ebp - 0x258]
call fcn.10006670
mov dword [ebp - 4], 0
call fcn.1003b320
mov ecx, eax
call fcn.1002bc90
push eax
lea ecx, [ebp - 0x258]
call fcn.1000b570
mov eax, 0x55
mov word [ebp - 0x4c], ax
mov ecx, 0x74
mov word [ebp - 0x4a], cx
mov edx, 0x69
mov word [ebp - 0x48], dx
mov eax, 0x6c
mov word [ebp - 0x46], ax
mov ecx, 0x73
mov word [ebp - 0x44], cx
mov edx, 0x5c
mov word [ebp - 0x42], dx
mov eax, 0x6c
mov word [ebp - 0x40], ax
mov ecx, 0x64
mov word [ebp - 0x3e], cx
mov edx, 0x73
mov word [ebp - 0x3c], dx
mov eax, 0x67
mov word [ebp - 0x3a], ax
mov ecx, 0x61
mov word [ebp - 0x38], cx
mov edx, 0x6d
mov word [ebp - 0x36], dx
mov eax, 0x65
mov word [ebp - 0x34], ax
mov ecx, 0x63
mov word [ebp - 0x32], cx
mov edx, 0x65
mov word [ebp - 0x30], dx
mov eax, 0x6e
mov word [ebp - 0x2e], ax
mov ecx, 0x74
mov word [ebp - 0x2c], cx
mov edx, 0x65
mov word [ebp - 0x2a], dx
mov eax, 0x72
mov word [ebp - 0x28], ax
mov ecx, 0x5f
mov word [ebp - 0x26], cx
mov edx, 0x62
mov word [ebp - 0x24], dx
mov eax, 0x69
mov word [ebp - 0x22], ax
mov ecx, 0x7a
mov word [ebp - 0x20], cx
mov edx, 0x68
mov word [ebp - 0x1e], dx
mov eax, 0x69
mov word [ebp - 0x1c], ax
mov ecx, 0x2e
mov word [ebp - 0x1a], cx
mov edx, 0x64
mov word [ebp - 0x18], dx
mov eax, 0x6c
mov word [ebp - 0x16], ax
mov ecx, 0x6c
mov word [ebp - 0x14], cx
xor edx, edx
mov word [ebp - 0x12], dx
call fcn.1004ec90
mov dword [ebp - 0x25c], eax
lea ecx, [ebp - 0x258]
call fcn.10007150
push eax
lea eax, [ebp - 0x4c]
push eax
mov ecx, dword [ebp - 0x25c]
push ecx
mov edx, dword [ebp - 0x25c]
mov eax, dword [edx]
mov ecx, dword [eax + 0x44]
call ecx
push 0x208
push 0
lea edx, [ebp - 0x254]
push edx
call fcn.1008e2a0
add esp, 0xc
mov dword [ebp - 0x264], 1
mov dword [ebp - 0x260], 0x104
lea eax, [ebp - 0x260]
push eax
lea ecx, [ebp - 0x254]
push ecx
lea edx, [ebp - 0x264]
push edx
push 0x1011366c
push 0x10113678
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.SHLWAPI.dll_SHGetValueW]
test eax, eax
je 0x10040fb3
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x258]
call fcn.10006cb0
jmp 0x10041018
lea eax, [ebp - 0x254]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x10040fd8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x258]
call fcn.10006cb0
jmp 0x10041018
push 0x101136fc
lea ecx, [ebp - 0x254]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea edx, [ebp - 0x254]
push edx
push 0x10113714
push str.games
push str.install_config
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x258]
call fcn.10006cb0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100810f8
mov esp, ebp
pop ebp
ret