Function at 0x18000af70
Capabilities:
Check if file exists

Disassembly:
mov rax, rsp
push rbp
lea rbp, [rax - 0xb8]
sub rsp, 0x1b0
mov qword [rsp + 0x38], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r14
mov rax, qword [0x18006d080]
xor rax, rsp
mov qword [rbp + 0xa0], rax
movzx esi, dl
call fcn.18000b710
test rax, rax
je 0x18000afcb
mov r8, qword [rax]
mov rcx, rax
call qword [r8 + 0x18]
test al, al
jne 0x18000b68f
mov qword [rbp + 0x58], 7
xor r14d, r14d
mov qword [rbp + 0x50], r14
mov word [rbp + 0x40], r14w
lea r8d, [r14 + 0xd]
lea rdx, str.WinPetrNs.exe
lea rcx, [rbp + 0x40]
call fcn.180004d60
nop
mov qword [rbp - 0x28], 7
mov qword [rbp - 0x30], r14
mov word [rbp - 0x40], r14w
lea r8d, [r14 + 0xc]
lea rdx, str.WinTpwer.exe
lea rcx, [rbp - 0x40]
call fcn.180004d60
nop
cmp qword [rbp + 0x50], r14
je 0x18000b64a
cmp qword [rbp - 0x30], r14
je 0x18000b64a
call fcn.18000b6c0
mov rcx, rax
call fcn.180003390
test al, al
jne 0x18000b64a
call fcn.18000b6c0
mov rcx, rax
call fcn.180003160
test al, al
jne 0x18000b64a
xor ecx, ecx
call fcn.180037a60
mov rdi, rax
call fcn.18000b6c0
mov rcx, rax
lea r9d, [r14 + 1]
lea r8, str.08b675
lea rdx, str.Setting
call fcn.180001af0
test eax, eax
jne 0x18000b135
call fcn.18000b6c0
mov rcx, rax
call fcn.180003350
test al, al
jne 0x18000b135
call fcn.18000b6c0
mov rcx, rax
xor r9d, r9d
lea r8, str.219d64
lea rdx, str.Setting
call fcn.180001af0
mov ebx, eax
cmp eax, 0x64
jg 0x18000b135
call fcn.18000b6c0
mov rcx, rax
xor r9d, r9d
lea r8, str.b96d63
lea rdx, str.Setting
call fcn.180001af0
mov ecx, edi
sub ecx, eax
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x708
jl 0x18000b112
call fcn.18000b6c0
mov rcx, rax
lea r9d, [rbx + 1]
lea r8, str.219d64
lea rdx, str.Setting
call fcn.1800042d0
call fcn.18000b6c0
mov rcx, rax
mov r9d, edi
lea r8, str.b96d63
lea rdx, str.Setting
call fcn.1800042d0
jmp 0x18000b64a
test sil, sil
jne 0x18000b18d
call fcn.18000b6c0
mov rcx, rax
or r9d, 0xffffffff
lea r8, str.2a4fe3
lea rdx, str.Setting
call fcn.180001af0
mov ecx, edi
sub ecx, eax
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x708
jle 0x18000b64a
call fcn.18000b6c0
mov rcx, rax
mov r9d, edi
lea r8, str.2a4fe3
lea rdx, str.Setting
call fcn.1800042d0
mov qword [rbp + 0x38], 7
mov qword [rbp + 0x30], r14
mov word [rbp + 0x20], r14w
mov qword [rbp - 0x48], 7
mov qword [rbp - 0x50], r14
mov word [rbp - 0x60], r14w
xor sil, sil
call fcn.18000b6c0
mov rcx, rax
xor r9d, r9d
lea r8, str.66918c
lea rdx, str.Setting
call fcn.180001af0
mov ebx, eax
lea rcx, [rbp + 0x20]
test al, 1
jne 0x18000b1f8
mov sil, 1
mov r8d, 0xd
lea rdx, str.WinPetrNs.exe
call fcn.180004d60
lea rdx, str.6b4fa8
jmp 0x18000b211
mov r8d, 0xc
lea rdx, str.WinTpwer.exe
call fcn.180004d60
lea rdx, str.9f10f3
mov r8d, 6
lea rcx, [rbp - 0x60]
call fcn.180004d60
call fcn.18000b6c0
mov rcx, rax
call fcn.18000de50
mov rdx, rax
lea rcx, [rbp + 0x80]
call fcn.18000ae80
nop
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0x80]
call fcn.180004850
lea eax, [rbx + 1]
mov ebx, r14d
cmp eax, 0x3e8
cmovl ebx, eax
call fcn.18000b6c0
mov rcx, rax
mov r9d, ebx
lea r8, str.66918c
lea rdx, str.Setting
call fcn.1800042d0
cmp qword [rbp + 0x30], 0
je 0x18000b629
mov qword [rbp - 0x68], 7
mov qword [rbp - 0x70], r14
mov word [rbp - 0x80], r14w
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rbp + 0x20]
lea rcx, [rbp - 0x80]
call fcn.180004c20
nop
lea rcx, [rbp - 0x80]
cmp qword [rbp - 0x68], 8
cmovae rcx, qword [rbp - 0x80]
call fcn.180006640
test eax, eax
jne 0x18000b61f
mov qword [rsp + 0x58], 7
mov qword [rsp + 0x50], r14
mov word [rsp + 0x40], r14w
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rbp + 0x80]
lea rcx, [rsp + 0x40]
call fcn.180004c20
nop
lea rcx, [rsp + 0x40]
cmp qword [rsp + 0x58], 8
cmovae rcx, qword [rsp + 0x40]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x18000b34e
lea rdi, [rbp - 0x60]
cmp qword [rbp - 0x48], 8
cmovae rdi, qword [rbp - 0x60]
lea rbx, [rsp + 0x40]
cmp qword [rsp + 0x58], 8
cmovae rbx, qword [rsp + 0x40]
call fcn.18000b6c0
mov rcx, rax
mov r8, rdi
mov rdx, rbx
call fcn.18000de40
test eax, eax
jne 0x18000b614
mov qword [rbp - 8], 0xf
mov qword [rbp - 0x10], r14
mov byte [rbp - 0x20], 0
mov r8d, 0x30
lea rdx, str.571666675036233952635040102130497025503242601616
lea rcx, [rbp - 0x20]
call fcn.180005160
nop
lea rcx, [rbp - 0x20]
test sil, sil
je 0x18000b38d
mov r8d, 0x30
lea rdx, str.571666675036233952635040102130497025503242601616
jmp 0x18000b39a
mov r8d, 0x28
lea rdx, str.5732432669255264694818310766546407664752
call fcn.180005160
lea rdx, [rbp - 0x20]
cmp qword [rbp - 8], 0x10
cmovae rdx, qword [rbp - 0x20]
lea rcx, [rbp + 0x60]
call fcn.18000c030
nop
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x78], 0xf
mov qword [rsp + 0x70], r14
mov byte [rsp + 0x60], 0
mov r8d, 1
lea rdx, [0x1800514bc]
lea rcx, [rsp + 0x60]
call fcn.180005160
nop
lea rdx, [rbp + 0x60]
cmp qword [rbp + 0x78], 0x10
cmovae rdx, qword [rbp + 0x60]
mov qword [rbp + 0x18], 0xf
mov qword [rbp + 0x10], r14
mov byte [rbp], 0
cmp byte [rdx], 0
jne 0x18000b418
mov r8, r14
jmp 0x18000b42a
or r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x18000b420
lea rcx, [rbp]
call fcn.180005160
nop
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x60]
lea rcx, [rbp]
call fcn.18000cda0
nop
lea rcx, [rbp]
call fcn.1800015b0
nop
lea rcx, [rsp + 0x60]
call fcn.1800015b0
mov rbx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x28]
cmp rbx, rax
je 0x18000b5f5
nop
cmp qword [rbx + 0x18], 0x10
jb 0x18000b47c
mov rdx, qword [rbx]
jmp 0x18000b47f
mov rdx, rbx
mov qword [rsp + 0x78], 0xf
mov qword [rsp + 0x70], r14
mov byte [rsp + 0x60], 0
cmp byte [rdx], 0
jne 0x18000b49c
mov r8, r14
jmp 0x18000b4aa
or r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], 0
jne 0x18000b4a0
lea rcx, [rsp + 0x60]
call fcn.180005160
nop
lea rdx, [rsp + 0x60]
lea rcx, [rbp]
call fcn.18000d1e0
mov rdx, rax
lea rcx, [rbp - 0x80]
call fcn.180001930
lea rcx, [rbp]
call fcn.180001640
lea rcx, [rbp - 0x80]
cmp qword [rbp - 0x68], 8
cmovae rcx, qword [rbp - 0x80]
call fcn.180006640
nop
lea rcx, [rsp + 0x60]
call fcn.1800015b0
add rbx, 0x20
mov rax, qword [rsp + 0x28]
cmp rbx, rax
jne 0x18000b470
mov rbx, qword [rsp + 0x20]
cmp rbx, rax
je 0x18000b5f5
cmp qword [rbx + 0x18], 0x10
jb 0x18000b522
mov rdx, qword [rbx]
jmp 0x18000b525
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.18000ae40
nop
lea rdx, [rsp + 0x60]
lea rcx, [rbp]
call fcn.18000d1e0
mov rdx, rax
lea rcx, [rbp - 0x80]
call fcn.180001930
lea rcx, [rbp]
call fcn.180001640
call fcn.18000b6c0
mov rcx, rax
call fcn.18000de50
cmp word [rax], 0
jne 0x18000b56b
mov r8, r14
jmp 0x18000b57b
or r8, 0xffffffffffffffff
nop
inc r8
cmp word [rax + r8*2], 0
jne 0x18000b570
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.180004d60
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x40]
call fcn.180004850
lea rsi, [rbp - 0x60]
cmp qword [rbp - 0x48], 8
cmovae rsi, qword [rbp - 0x60]
lea rdi, [rsp + 0x40]
cmp qword [rsp + 0x58], 8
cmovae rdi, qword [rsp + 0x40]
call fcn.18000b6c0
mov rcx, rax
mov r8, rsi
mov rdx, rdi
call fcn.18000de40
nop
lea rcx, [rsp + 0x60]
test eax, eax
jne 0x18000b5ef
call fcn.1800015b0
add rbx, 0x20
cmp rbx, qword [rsp + 0x28]
jne 0x18000b516
jmp 0x18000b5f5
call fcn.1800015b0
nop
lea rcx, [rsp + 0x20]
call fcn.18000aee0
nop
lea rcx, [rbp + 0x60]
call fcn.1800015b0
nop
lea rcx, [rbp - 0x20]
call fcn.1800015b0
nop
lea rcx, [rsp + 0x40]
call fcn.180001640
nop
lea rcx, [rbp - 0x80]
call fcn.180001640
nop
lea rcx, [rbp + 0x80]
call fcn.180001640
nop
lea rcx, [rbp - 0x60]
call fcn.180001640
nop
lea rcx, [rbp + 0x20]
call fcn.180001640
nop
mov r8, qword [rbp - 0x28]
cmp r8, 8
jb 0x18000b664
inc r8
mov rdx, qword [rbp - 0x40]
lea rcx, [rbp - 0x40]
call fcn.180004eb0
mov qword [rbp - 0x28], 7
mov qword [rbp - 0x30], r14
mov word [rbp - 0x40], r14w
mov r8, qword [rbp + 0x58]
cmp r8, 8
jb 0x18000b68f
inc r8
mov rdx, qword [rbp + 0x40]
lea rcx, [rbp + 0x40]
call fcn.180004eb0
mov rcx, qword [rbp + 0xa0]
xor rcx, rsp
call fcn.180011830
lea r11, [rsp + 0x1b0]
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