Function at 0x180063580
Capabilities:
Check if file exists

Disassembly:
mov rax, rsp
push rbp
lea rbp, [rax - 0xc8]
sub rsp, 0x1c0
mov qword [rsp + 0x48], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r14
mov rax, qword [0x180332088]
xor rax, rsp
mov qword [rbp + 0xb0], rax
call fcn.180063430
test rax, rax
je 0x1800635d7
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
test al, al
jne 0x180063ddb
mov qword [rbp + 0x88], 7
xor r14d, r14d
mov qword [rbp + 0x80], r14
mov word [rbp + 0x70], r14w
lea r8d, [r14 + 9]
lea rdx, str.WMini.exe
lea rcx, [rbp + 0x70]
call fcn.18005c660
nop
mov qword [rbp + 0x48], 7
mov qword [rbp + 0x40], r14
mov word [rbp + 0x30], r14w
lea r8d, [r14 + 8]
lea rdx, str.WTip.exe
lea rcx, [rbp + 0x30]
call fcn.18005c660
nop
cmp qword [rbp + 0x80], r14
je 0x180063d93
cmp qword [rbp + 0x40], r14
je 0x180063d93
call fcn.180063e10
mov rcx, rax
call fcn.18005fb70
test al, al
jne 0x180063d93
call fcn.180063e10
mov rcx, rax
call fcn.18005fc40
test al, al
jne 0x180063d93
xor ecx, ecx
call fcn.18023b61c
mov rdi, rax
call fcn.180063e10
mov rcx, rax
lea r9d, [r14 + 1]
lea r8, str.8b9aa
call fcn.18005f640
test eax, eax
jne 0x180063752
call fcn.180063e10
xor r9d, r9d
lea r8, str.FirstInstallTime
mov rcx, rax
call fcn.18005f640
mov ebx, eax
xor ecx, ecx
call fcn.18023b61c
sub eax, ebx
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x93a80
jge 0x180063752
call fcn.180063e10
mov rcx, rax
xor r9d, r9d
lea r8, str.d4686
call fcn.18005f640
mov ebx, eax
cmp eax, 0x64
jg 0x180063752
call fcn.180063e10
mov rcx, rax
xor r9d, r9d
lea r8, str.6e4a0
call fcn.18005f640
mov ecx, edi
sub ecx, eax
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x708
jl 0x18006372f
call fcn.180063e10
mov rcx, rax
lea r9d, [rbx + 1]
lea r8, str.d4686
lea rdx, [0x1802abe90]
call fcn.18005f830
call fcn.180063e10
mov rcx, rax
mov r9d, edi
lea r8, str.6e4a0
lea rdx, [0x1802abe90]
call fcn.18005f830
jmp 0x180063d93
mov qword [rbp + 8], 7
mov qword [rbp], r14
mov word [rbp - 0x10], r14w
mov qword [rbp - 0x78], 7
mov qword [rbp - 0x80], r14
mov word [rsp + 0x70], r14w
xor sil, sil
call fcn.180063e10
mov rcx, rax
xor r9d, r9d
lea r8, str.d3617
call fcn.18005f640
mov ebx, eax
lea rcx, [rbp - 0x10]
test al, 1
jne 0x1800637b7
mov sil, 1
mov r8d, 9
lea rdx, str.WMini.exe
call fcn.18005c660
lea rdx, [0x1802ac0a4]
jmp 0x1800637d0
mov r8d, 8
lea rdx, str.WTip.exe
call fcn.18005c660
lea rdx, [0x1802ac0ac]
mov r8d, 2
lea rcx, [rsp + 0x70]
call fcn.18005c660
call fcn.180063e10
lea rdx, [rax + 0xa0]
cmp qword [rdx + 0x18], 8
jb 0x1800637f6
mov rdx, qword [rdx]
mov qword [rbp + 0x28], 7
mov qword [rbp + 0x20], r14
mov word [rbp + 0x10], r14w
cmp word [rdx], 0
jne 0x180063812
mov r8, r14
jmp 0x18006382b
or r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x180063820
lea rcx, [rbp + 0x10]
call fcn.18005c660
nop
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rbp - 0x10]
lea rcx, [rbp + 0x10]
call fcn.18005bc80
lea eax, [rbx + 1]
mov ebx, r14d
cmp eax, 0x3e8
cmovl ebx, eax
call fcn.180063e10
mov rcx, rax
mov r9d, ebx
lea r8, str.d3617
lea rdx, [0x1802abe90]
call fcn.18005f830
cmp qword [rbp], 0
je 0x180063d0f
mov qword [rbp - 0x38], 7
mov qword [rbp - 0x40], r14
mov word [rbp - 0x50], r14w
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x50]
call fcn.18005cbe0
nop
lea rcx, [rbp - 0x50]
cmp qword [rbp - 0x38], 8
cmovae rcx, qword [rbp - 0x50]
call fcn.180206438
test eax, eax
jne 0x180063cf4
mov qword [rsp + 0x68], 7
mov qword [rsp + 0x60], r14
mov word [rsp + 0x50], r14w
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rbp + 0x10]
lea rcx, [rsp + 0x50]
call fcn.18005cbe0
nop
lea rcx, [rsp + 0x50]
cmp qword [rsp + 0x68], 8
cmovae rcx, qword [rsp + 0x50]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x180063960
lea rbx, [rsp + 0x70]
cmp qword [rbp - 0x78], 8
cmovae rbx, qword [rsp + 0x70]
lea rdi, [rsp + 0x50]
cmp qword [rsp + 0x68], 8
cmovae rdi, qword [rsp + 0x50]
call fcn.180063e10
mov rdx, rbx
mov rcx, rdi
cmp byte [rax + 0x188], 0
je 0x180063948
mov r8b, 1
call fcn.180205240
movzx eax, al
jmp 0x180063958
mov qword [rsp + 0x20], r14
xor r9d, r9d
xor r8d, r8d
call fcn.180204fd0
test eax, eax
jne 0x180063cd6
mov qword [rbp + 0x68], 0xf
mov qword [rbp + 0x60], r14
mov byte [rbp + 0x50], 0
mov r8d, 0x20
lea rdx, str.96458727636006211039516264714645
lea rcx, [rbp + 0x50]
call fcn.18005a720
nop
mov r8d, 0x20
lea rcx, [rbp + 0x50]
test sil, sil
lea rdx, str.96458727636006211039516264714645
jne 0x1800639a4
lea rdx, str.29303040335717631211544820642926
call fcn.18005a720
lea rdx, [rbp + 0x50]
cmp qword [rbp + 0x68], 0x10
cmovae rdx, qword [rbp + 0x50]
lea rcx, [rbp + 0x90]
call fcn.180063f50
nop
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r14
mov qword [rbp - 0x18], 0xf
mov qword [rbp - 0x20], r14
mov byte [rbp - 0x30], 0
mov r8d, 1
lea rdx, [0x1802ac104]
lea rcx, [rbp - 0x30]
call fcn.18005a720
nop
lea rdx, [rbp + 0x90]
cmp qword [rbp + 0xa8], 0x10
cmovae rdx, qword [rbp + 0x90]
mov qword [rbp - 0x58], 0xf
mov qword [rbp - 0x60], r14
mov byte [rbp - 0x70], 0
cmp byte [rdx], 0
jne 0x180063a2a
mov r8, r14
jmp 0x180063a3a
or r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rdx + r8], 0
jne 0x180063a30
lea rcx, [rbp - 0x70]
call fcn.18005a720
nop
lea r8, [rsp + 0x30]
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x70]
call fcn.180206944
nop
lea rcx, [rbp - 0x70]
call fcn.18005ba50
nop
lea rcx, [rbp - 0x30]
call fcn.18005ba50
mov rbx, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
cmp rbx, rdi
je 0x180063c7d
nop dword [rax]
cmp qword [rbx + 0x18], 0x10
jb 0x180063a8c
mov rdx, qword [rbx]
jmp 0x180063a8f
mov rdx, rbx
mov qword [rbp - 0x18], 0xf
mov qword [rbp - 0x20], r14
mov byte [rbp - 0x30], 0
cmp byte [rdx], 0
jne 0x180063aa9
mov r8, r14
jmp 0x180063aba
or r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x180063ab0
lea rcx, [rbp - 0x30]
call fcn.18005a720
nop
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x70]
call fcn.180206b38
mov rdx, rax
lea rcx, [rbp - 0x50]
call fcn.18005bc10
mov r8, qword [rbp - 0x58]
cmp r8, 8
jb 0x180063af7
inc r8
mov rdx, qword [rbp - 0x70]
lea rcx, [rbp - 0x70]
call fcn.18005cac0
lea rcx, [rbp - 0x50]
cmp qword [rbp - 0x38], 8
cmovae rcx, qword [rbp - 0x50]
call fcn.180206438
nop
lea rcx, [rbp - 0x30]
call fcn.18005ba50
add rbx, 0x20
mov rdi, qword [rsp + 0x38]
cmp rbx, rdi
jne 0x180063a80
mov rbx, qword [rsp + 0x30]
cmp rbx, rdi
je 0x180063c7d
cmp qword [rbx + 0x18], 0x10
jb 0x180063b40
mov rdx, qword [rbx]
jmp 0x180063b43
mov rdx, rbx
mov qword [rbp - 0x58], 0xf
mov qword [rbp - 0x60], r14
mov byte [rbp - 0x70], 0
cmp byte [rdx], 0
jne 0x180063b5d
mov r8, r14
jmp 0x180063b6b
or r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], 0
jne 0x180063b61
lea rcx, [rbp - 0x70]
call fcn.18005a720
nop
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x30]
call fcn.180206b38
mov rdx, rax
lea rcx, [rbp - 0x50]
call fcn.18005bc10
mov r8, qword [rbp - 0x18]
cmp r8, 8
jb 0x180063ba8
inc r8
mov rdx, qword [rbp - 0x30]
lea rcx, [rbp - 0x30]
call fcn.18005cac0
call fcn.180063e10
lea rdx, [rax + 0xa0]
cmp qword [rdx + 0x18], 8
jb 0x180063bbe
mov rdx, qword [rdx]
cmp word [rdx], 0
jne 0x180063bc9
mov r8, r14
jmp 0x180063bdb
or r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x180063bd0
lea rcx, [rsp + 0x50]
call fcn.18005c660
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rbp - 0x50]
lea rcx, [rsp + 0x50]
call fcn.18005bc80
lea rdi, [rsp + 0x70]
cmp qword [rbp - 0x78], 8
cmovae rdi, qword [rsp + 0x70]
lea rsi, [rsp + 0x50]
cmp qword [rsp + 0x68], 8
cmovae rsi, qword [rsp + 0x50]
call fcn.180063e10
mov rdx, rdi
mov rcx, rsi
cmp byte [rax + 0x188], 0
je 0x180063c3c
mov r8b, 1
call fcn.180205240
movzx eax, al
jmp 0x180063c4d
mov qword [rsp + 0x20], r14
xor r9d, r9d
xor r8d, r8d
call fcn.180204fd0
nop
lea rcx, [rbp - 0x70]
test eax, eax
jne 0x180063c6e
call fcn.18005ba50
add rbx, 0x20
mov rdi, qword [rsp + 0x38]
cmp rbx, rdi
jne 0x180063b34
jmp 0x180063c78
call fcn.18005ba50
mov rdi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
test rbx, rbx
je 0x180063cbf
cmp rbx, rdi
je 0x180063c9d
mov rcx, rbx
call fcn.18005ba50
add rbx, 0x20
cmp rbx, rdi
jne 0x180063c87
mov rbx, qword [rsp + 0x30]
mov r8, qword [rsp + 0x40]
sub r8, rbx
sar r8, 5
mov rdx, rbx
call fcn.180063e70
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r14
lea rcx, [rbp + 0x90]
call fcn.18005ba50
nop
lea rcx, [rbp + 0x50]
call fcn.18005ba50
nop
mov r8, qword [rsp + 0x68]
cmp r8, 8
jb 0x180063cf4
inc r8
mov rdx, qword [rsp + 0x50]
lea rcx, [rsp + 0x50]
call fcn.18005cac0
nop
mov r8, qword [rbp - 0x38]
cmp r8, 8
jb 0x180063d0f
inc r8
mov rdx, qword [rbp - 0x50]
lea rcx, [rbp - 0x50]
call fcn.18005cac0
nop
mov r8, qword [rbp + 0x28]
cmp r8, 8
jb 0x180063d29
inc r8
mov rdx, qword [rbp + 0x10]
lea rcx, [rbp + 0x10]
call fcn.18005cac0
mov qword [rbp + 0x28], 7
mov qword [rbp + 0x20], r14
mov word [rbp + 0x10], r14w
mov r8, qword [rbp - 0x78]
cmp r8, 8
jb 0x180063d56
inc r8
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x70]
call fcn.18005cac0
mov qword [rbp - 0x78], 7
mov qword [rbp - 0x80], r14
mov word [rsp + 0x70], r14w
mov r8, qword [rbp + 8]
cmp r8, 8
jb 0x180063d82
inc r8
mov rdx, qword [rbp - 0x10]
lea rcx, [rbp - 0x10]
call fcn.18005cac0
mov qword [rbp + 8], 7
mov qword [rbp], r14
mov word [rbp - 0x10], r14w
mov r8, qword [rbp + 0x48]
cmp r8, 8
jb 0x180063dad
inc r8
mov rdx, qword [rbp + 0x30]
lea rcx, [rbp + 0x30]
call fcn.18005cac0
mov qword [rbp + 0x48], 7
mov qword [rbp + 0x40], r14
mov word [rbp + 0x30], r14w
mov r8, qword [rbp + 0x88]
cmp r8, 8
jb 0x180063ddb
inc r8
mov rdx, qword [rbp + 0x70]
lea rcx, [rbp + 0x70]
call fcn.18005cac0
mov rcx, qword [rbp + 0xb0]
xor rcx, rsp
call fcn.1802037a0
lea r11, [rsp + 0x1c0]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r14, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret