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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x61e1e4
mov eax, dword fs:[0]
push eax
sub esp, 0x320
mov eax, dword [0x68d9ac]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0x208
lea eax, [ebp - 0x218]
mov dword [ebp - 0x250], 0
push 0
push eax
mov dword [ebp - 0x274], 1
call fcn.005e3240
add esp, 0xc
mov dword [ebp - 0x270], 0x104
lea eax, [ebp - 0x270]
push eax
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x274]
push eax
push 0x63326c
push str.SOFTWAREValveSteam
push SysReAllocStringLen
call dword [sym.imp.SHLWAPI.dll_SHGetValueW]
cmp word [ebp - 0x218], 0
je 0x42e091
call fcn.00407320
mov ecx, eax
test ecx, ecx
je 0x42e5de
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x24c], eax
lea eax, [ebp - 0x218]
mov dword [ebp - 4], 0
push eax
lea ecx, [ebp - 0x24c]
call fcn.00408fd0
test al, al
jne 0x42dd72
lea ecx, [ebp - 0x218]
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42dd50
sub ecx, edx
lea eax, [ebp - 0x218]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x24c]
call fcn.0040b130
push str._steamappscommonwallpaper_engineconfig.json
lea eax, [ebp - 0x24c]
mov dword [ebp - 4], 1
push eax
lea eax, [ebp - 0x258]
push eax
call fcn.0041aa70
add esp, 0xc
mov edx, dword [ebp - 0x24c]
or edi, 0xffffffff
mov byte [ebp - 4], 3
add edx, 0xfffffff0
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x42ddb8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x62ed78
push 0x633310
lea ecx, [ebp - 0x258]
call fcn.0040a600
push dword [ebp - 0x258]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x42e06f
mov dword [ebp - 0x238], 0
mov dword [ebp - 0x234], 0xf
mov byte [ebp - 0x248], 0
push dword [ebp - 0x258]
lea ecx, [ebp - 0x254]
mov byte [ebp - 4], 4
call fcn.0042a720
mov dword [ebp - 0x250], eax
mov esi, dword [eax]
mov byte [ebp - 4], 5
cmp dword [esi - 4], 1
jle 0x42de35
push dword [esi - 0xc]
mov ecx, eax
call fcn.00420c70
mov esi, dword [ebp - 0x250]
mov esi, dword [esi]
mov dword [ebp - 0x32c], 0x633244
push 0
lea eax, [ebp - 0x31c]
mov byte [ebp - 4], 6
xorps xmm0, xmm0
mov dword [ebp - 0x250], 1
push eax
lea ecx, [ebp - 0x2bc]
mov dword [ebp - method.std::basic_istream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov dword [ebp - 0x2c0], 0x58
movlpd qword [ebp - 0x324], xmm0
call fcn.0043bc10
mov eax, dword [ebp - 0x32c]
push 0
mov dword [ebp - 4], 8
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ifstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x32c]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x70]
mov dword [ebp + ecx - 0x330], eax
lea ecx, [ebp - 0x31c]
call fcn.0042a8b0
push 0x40
push 1
push esi
lea ecx, [ebp - 0x31c]
mov byte [ebp - 4], 9
call fcn.0043bcb0
test eax, eax
jne 0x42df0f
mov eax, dword [ebp - 0x32c]
mov ecx, dword [eax + 4]
xor eax, eax
cmp dword [ebp + ecx - 0x2f4], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ebp + ecx - 0x320]
and eax, 0x17
mov dword [ebp + ecx - 0x320], eax
mov ecx, dword [ebp + ecx - 0x31c]
and ecx, eax
jne 0x42e5e8
mov edx, dword [ebp - 0x254]
mov eax, edi
mov byte [ebp - 4], 0xb
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x42df30
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x32c]
lea ecx, [ebp - 0x230]
mov byte [ebp - 0x25b], 0
mov word [ebp - 0x268], 1
mov dword [ebp - 0x220], 0
mov eax, dword [eax + 4]
mov dword [ebp - 0x21c], 0xf
mov byte [ebp - 0x230], 0
mov eax, dword [ebp + eax - 0x2f4]
test eax, eax
sete byte [ebp - 0x25c]
push dword [ebp - 0x25c]
push dword [ebp - 0x268]
push 0
push dword [ebp - 0x25c]
push eax
call fcn.0042a180
lea ecx, [ebp - 0x248]
call fcn.00406be0
movups xmm0, xmmword [ebp - 0x230]
lea ecx, [ebp - 0x230]
mov byte [ebp - 0x230], 0
movups xmmword [ebp - 0x248], xmm0
movq xmm0, qword [ebp - 0x220]
movq qword [ebp - 0x238], xmm0
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 0xf
call fcn.00406be0
lea ecx, [ebp - 0x32c]
call fcn.0042c380
cmp dword [ebp - 0x234], 0x10
lea eax, [ebp - 0x248]
cmovae eax, dword [ebp - 0x248]
push eax
call fcn.00468c30
mov esi, eax
add esp, 4
mov dword [ebp - 0x268], esi
mov byte [ebp - 4], 0xc
test esi, esi
je 0x42e064
mov edi, dword [esi + 8]
test edi, edi
je 0x42e058
cmp dword [edi + 0x10], 0
jne 0x42e052
push str.general
push edi
call fcn.00468b70
add esp, 8
test eax, eax
je 0x42e058
push str.user
push eax
call fcn.00468b70
add esp, 8
mov dword [ebp - 0x25c], eax
test eax, eax
jne 0x42e0ac
mov edi, dword [edi]
test edi, edi
jne 0x42e022
or edi, 0xffffffff
push esi
call fcn.00468ac0
add esp, 4
lea ecx, [ebp - 0x248]
call fcn.00406be0
mov edx, dword [ebp - 0x258]
mov dword [ebp - 4], 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], edi
dec edi
test edi, edi
jg 0x42e091
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004f9a43
mov esp, ebp
pop ebp
ret
push str.apprules
push eax
call fcn.00468b70
add esp, 8
mov dword [ebp - 0x250], eax
test eax, eax
je 0x42e339
cmp dword [eax + 0xc], 2
jne 0x42e0d5
mov dword [eax + 0xc], 5
push eax
call fcn.00468b50
add esp, 4
mov dword [ebp - 0x25c], eax
xor edi, edi
test eax, eax
jle 0x42e225
nop
push edi
push dword [ebp - 0x250]
call fcn.00468b30
add esp, 8
mov dword [ebp - 0x264], eax
test eax, eax
je 0x42e218
call fcn.00407320
mov ecx, eax
test ecx, ecx
je 0x42e5de
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x24c], eax
push 0x62ec30
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 0xd
call fcn.00408fd0
test al, al
jne 0x42e154
push 0x62ec30
lea ecx, [ebp - 0x24c]
call fcn.0042bda0
push 0xa
push str.executable
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 0xe
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 0xf
mov byte [ebp - 0x230], 0
call fcn.004080e0
push 0xfde9
lea eax, [ebp - 0x24c]
mov byte [ebp - 4], 0xf
push eax
lea eax, [ebp - 0x230]
push eax
push dword [ebp - 0x264]
lea eax, [ebp - 0x254]
push eax
call fcn.00469e00
add esp, 0x14
lea ecx, [ebp - 0x230]
call fcn.00406be0
mov edx, dword [ebp - 0x24c]
or eax, 0xffffffff
mov byte [ebp - 4], 0xc
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x42e1de
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x254]
mov ecx, dword [eax - 0xc]
test ecx, ecx
je 0x42e20d
js 0x42e20d
push str.jiandesk
push eax
call fcn.005e339a
add esp, 8
test eax, eax
je 0x42e20d
sub eax, dword [ebp - 0x254]
sar eax, 1
jns 0x42e295
lea ecx, [ebp - 0x254]
call fcn.00406b70
inc edi
cmp edi, dword [ebp - 0x25c]
jl 0x42e0f0
call fcn.00468a10
mov edi, eax
test edi, edi
je 0x42e2a5
push 0x63333c
call fcn.00468a40
push eax
push 0x633340
push edi
call fcn.00468930
push str.fullscreen
call fcn.00468a40
push eax
push str.condition
push edi
call fcn.00468930
push 0x633360
call fcn.00468a40
push eax
push str.executable
push edi
call fcn.00468930
call fcn.004689e0
push eax
push 0x62eeb0
push edi
call fcn.00468930
push edi
mov edi, dword [ebp - 0x250]
push edi
call fcn.00468900
add esp, 0x44
jmp 0x42e2ab
lea ecx, [ebp - 0x254]
call fcn.00406b70
jmp 0x42e058
mov edi, dword [ebp - 0x250]
call fcn.00468a10
mov dword [ebp - 0x24c], eax
test eax, eax
je 0x42e43f
push 0x63333c
call fcn.00468a40
push eax
push 0x633340
push dword [ebp - 0x24c]
call fcn.00468930
push str.fullscreen
call fcn.00468a40
push eax
push str.condition
push dword [ebp - 0x24c]
call fcn.00468930
push str.DeskAide64.exe
call fcn.00468a40
push eax
push str.executable
push dword [ebp - 0x24c]
call fcn.00468930
call fcn.004689e0
push eax
push 0x62eeb0
push dword [ebp - 0x24c]
call fcn.00468930
push dword [ebp - 0x24c]
push edi
call fcn.00468900
add esp, 0x44
jmp 0x42e43f
call fcn.004689b0
mov dword [ebp - 0x250], eax
test eax, eax
je 0x42e058
call fcn.00468a10
mov edi, eax
test edi, edi
je 0x42e3b9
push 0x63333c
call fcn.00468a40
push eax
push 0x633340
push edi
call fcn.00468930
push str.fullscreen
call fcn.00468a40
push eax
push str.condition
push edi
call fcn.00468930
push 0x633360
call fcn.00468a40
push eax
push str.executable
push edi
call fcn.00468930
call fcn.004689e0
push eax
push 0x62eeb0
push edi
call fcn.00468930
push edi
push dword [ebp - 0x250]
call fcn.00468900
add esp, 0x44
call fcn.00468a10
mov edi, eax
test edi, edi
je 0x42e426
push 0x63333c
call fcn.00468a40
push eax
push 0x633340
push edi
call fcn.00468930
push str.fullscreen
call fcn.00468a40
push eax
push str.condition
push edi
call fcn.00468930
push str.DeskAide64.exe
call fcn.00468a40
push eax
push str.executable
push edi
call fcn.00468930
call fcn.004689e0
push eax
push 0x62eeb0
push edi
call fcn.00468930
push edi
push dword [ebp - 0x250]
call fcn.00468900
add esp, 0x44
push dword [ebp - 0x250]
push str.apprules
push dword [ebp - 0x25c]
call fcn.00468930
add esp, 0xc
push esi
call fcn.00468c90
add esp, 4
mov dword [ebp - 0x254], eax
test eax, eax
je 0x42e058
push dword [ebp - 0x258]
lea ecx, [ebp - 0x264]
call fcn.0042a720
mov dword [ebp - 0x25c], eax
mov edi, dword [eax]
mov byte [ebp - 4], 0x10
cmp dword [edi - 4], 1
jle 0x42e48b
push dword [edi - 0xc]
mov ecx, eax
call fcn.00420c70
mov edi, dword [ebp - 0x25c]
mov edi, dword [edi]
mov dword [ebp - 0x324], 0x633264
push 0
lea eax, [ebp - 0x320]
mov byte [ebp - 4], 0x11
push eax
lea ecx, [ebp - 0x2bc]
mov dword [ebp - 0x250], 5
mov dword [ebp - method.std::basic_ostream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov dword [ebp - 0x2c0], 0x60
call fcn.0043bc10
mov eax, dword [ebp - 0x324]
push 0
mov dword [ebp - 4], 0x13
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ofstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x324]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x328], eax
lea ecx, [ebp - 0x320]
call fcn.0042a8b0
push 0x40
push 2
push edi
lea ecx, [ebp - 0x320]
mov byte [ebp - 4], 0x14
call fcn.0043bcb0
test eax, eax
jne 0x42e58a
mov eax, dword [ebp - 0x324]
mov ecx, dword [eax + 4]
xor eax, eax
cmp dword [ebp + ecx - 0x2ec], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ebp + ecx - 0x318]
and eax, 0x17
mov dword [ebp + ecx - 0x318], eax
mov ecx, dword [ebp + ecx - 0x314]
and ecx, eax
je 0x42e58a
test cl, 4
je 0x42e56d
mov esi, str.ios_base::badbit_set
lea eax, [ebp - 0x260]
push 1
jmp 0x42e60c
test cl, 2
mov eax, str.ios_base::eofbit_set
mov esi, str.ios_base::failbit_set
cmove esi, eax
lea eax, [ebp - 0x260]
push 1
jmp 0x42e60c
mov edx, dword [ebp - 0x264]
or edi, 0xffffffff
mov byte [ebp - 4], 0x16
add edx, 0xfffffff0
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x42e5ae
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push dword [ebp - 0x254]
lea eax, [ebp - 0x324]
push eax
call fcn.00429b70
push dword [ebp - 0x254]
call fcn.005e9c13
add esp, 0xc
lea ecx, [ebp - 0x324]
call fcn.0042c410
jmp 0x42e05b
push 0x80004005
call fcn.00407030
test cl, 4
je 0x42e5f4
mov esi, str.ios_base::badbit_set
jmp 0x42e604
test cl, 2
mov esi, str.ios_base::failbit_set
mov eax, str.ios_base::eofbit_set
cmove esi, eax
push 1
lea eax, [ebp - 0x26c]
push eax
call fcn.00419990
add esp, 8
lea ecx, [ebp - 0x22c]
push eax
push esi
call fcn.0040eb10
push 0x679b20
lea eax, [ebp - 0x22c]
push eax
call fcn.005e26cc
int3