Function at 0x164fbe880
Capabilities:
Check if file exists
Get file attributes

Disassembly:
mov r11, rsp
mov qword [r11 + 0x20], r9
mov qword [r11 + 0x18], r8
mov qword [r11 + 0x10], rdx
mov qword [r11 + 8], rcx
push rbx
push rsi
push rdi
sub rsp, 0xf0
mov rax, qword [0x16514b200]
xor rax, rsp
mov qword [rsp + 0xe8], rax
mov rsi, rcx
mov qword [rsp + 0x78], rcx
mov rbx, rdx
mov rdx, r8
mov rdi, r9
lea rcx, [r11 - 0x80]
call fcn.164e539c0
mov r8, rax
mov rdx, rbx
mov rcx, rsi
call fcn.164ed24e0
nop
lea rax, vtable.asw::projects::settings_av::RegFromIniAccessor.0
mov qword [rsi], rax
mov rcx, rdi
cmp qword [rdi + 0x18], 7
jbe 0x164fbe8ef
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x164fbebb8
test al, 0x10
jne 0x164fbebb8
call fcn.164f91610
test al, al
je 0x164fbebb1
mov rcx, rdi
cmp qword [rdi + 0x18], 7
jbe 0x164fbe920
mov rcx, qword [rdi]
mov rax, qword [rdi + 0x10]
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x48], rax
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x50], xmm0
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0xa8]
call fcn.164f9ea70
nop
lea rcx, str.avast5
cmp qword [0x16514d7a8], 7
cmova rcx, qword [str.avast5]
lea r8, [rsp + 0xa8]
mov r10, qword [rsp + 0xa8]
mov r11, qword [rsp + 0xc0]
cmp r11, 7
cmova r8, r10
mov r9, qword [rsp + 0xb8]
cmp r9, qword [0x16514d7a0]
jne 0x164fbe9e6
mov rdx, r9
test r9, r9
je 0x164fbe9b4
sub r8, rcx
nop
movzx eax, word [r8 + rcx]
cmp ax, word [rcx]
jne 0x164fbe9e6
add rcx, 2
sub rdx, 1
jne 0x164fbe9a0
mov r8d, 8
lea rdx, [0x1650a8710]
lea rcx, [rsp + 0xa8]
call fcn.164e54c60
mov r11, qword [rsp + 0xc0]
mov r9, qword [rsp + 0xb8]
mov r10, qword [rsp + 0xa8]
lea rax, [rsp + 0xa8]
cmp r11, 7
cmova rax, r10
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], r9
mov rcx, rdi
cmp qword [rdi + 0x18], 7
jbe 0x164fbea0d
mov rcx, qword [rdi]
mov rax, qword [rdi + 0x10]
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x58], rax
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm1, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x50], xmm1
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x50]
call fcn.164fcba60
mov rcx, qword [rdi + 0x10]
movabs rax, 0x7ffffffffffffffe
sub rax, rcx
cmp rax, 9
jb 0x164fbebd6
mov r9, rdi
cmp qword [rdi + 0x18], 7
jbe 0x164fbea68
mov r9, qword [rdi]
mov qword [rsp + 0x30], 9
lea rax, str..obsolete
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0xc8]
call fcn.164e589c0
nop
lea rcx, [rsp + 0xc8]
cmp qword [rsp + 0xe0], 7
cmova rcx, qword [rsp + 0xc8]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x164fbeabd
test al, 0x10
jne 0x164fbeabd
mov al, 1
jmp 0x164fbeabf
xor al, al
mov dword [rsp + 0x40], 0x34344438
mov dword [rsp + 0x44], 0x32383945
movsd xmm0, qword [str.settings_av]
mov r9, rdi
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x60]
movsd qword [rsp + 0x60], xmm0
test al, al
mov eax, dword [0x1650ec1b8]
mov dword [rsp + 0x68], eax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x6c], rax
je 0x164fbeb50
mov dword [rsp + 0x74], 0x21
lea rax, str.ini_file__merged_to_registry_.__this_should_not_happen_more_than_once
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 0x49
lea rax, [rsp + 0xa8]
mov qword [rsp + 0x20], rax
mov ecx, 5
call fcn.164fbf110
lea rdx, [rsp + 0xc8]
mov rcx, rdi
call fcn.164fbebe0
mov rcx, rdi
call fcn.164f9fa20
jmp 0x164fbeb95
mov dword [rsp + 0x74], 0x28
lea rax, str.ini_file__moved_to_registry_
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 0x20
lea rax, [rsp + 0xa8]
mov qword [rsp + 0x20], rax
mov ecx, 2
call fcn.164fbf110
lea rdx, [rsp + 0xc8]
mov rcx, rdi
call fcn.164f9f960
nop
lea rcx, [rsp + 0xc8]
call fcn.164e54bf0
nop
lea rcx, [rsp + 0xa8]
call fcn.164e54bf0
nop
jmp 0x164fbebb8
mov rax, rsi
mov rcx, qword [rsp + 0xe8]
xor rcx, rsp
call fcn.165001080
add rsp, 0xf0
pop rdi
pop rsi
pop rbx
ret
call fcn.164e43760
nop
int3