Function at 0x18000c8f0
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 [0x180079370]
xor rax, rsp
mov qword [rbp + 0xa0], rax
movzx esi, dl
call fcn.18000d0a0
test rax, rax
je 0x18000c94b
mov r8, qword [rax]
mov rcx, rax
call qword [r8 + 0x18]
test al, al
jne 0x18000d00f
mov qword [rbp + 0x58], 7
xor r14d, r14d
mov qword [rbp + 0x50], r14
mov word [rbp + 0x40], r14w
lea r8d, [r14 + 0xb]
lea rdx, str.HPPHdis.exe
lea rcx, [rbp + 0x40]
call fcn.180009bb0
nop
mov qword [rbp - 0x28], 7
mov qword [rbp - 0x30], r14
mov word [rbp - 0x40], r14w
lea r8d, [r14 + 0xd]
lea rdx, str.HPPCdiuso.exe
lea rcx, [rbp - 0x40]
call fcn.180009bb0
nop
cmp qword [rbp + 0x50], r14
je 0x18000cfca
cmp qword [rbp - 0x30], r14
je 0x18000cfca
call fcn.18000d050
mov rcx, rax
call fcn.180008310
test al, al
jne 0x18000cfca
call fcn.18000d050
mov rcx, rax
call fcn.1800080e0
test al, al
jne 0x18000cfca
xor ecx, ecx
call fcn.1800418f4
mov rdi, rax
call fcn.18000d050
mov rcx, rax
lea r9d, [r14 + 1]
lea r8, str.5a54d1
lea rdx, str.AppSetting
call fcn.180006a70
test eax, eax
jne 0x18000cab5
call fcn.18000d050
mov rcx, rax
call fcn.1800082d0
test al, al
jne 0x18000cab5
call fcn.18000d050
mov rcx, rax
xor r9d, r9d
lea r8, str.8ed067
lea rdx, str.AppSetting
call fcn.180006a70
mov ebx, eax
cmp eax, 0x64
jg 0x18000cab5
call fcn.18000d050
mov rcx, rax
xor r9d, r9d
lea r8, str.8dd391
lea rdx, str.AppSetting
call fcn.180006a70
mov ecx, edi
sub ecx, eax
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x708
jl 0x18000ca92
call fcn.18000d050
mov rcx, rax
lea r9d, [rbx + 1]
lea r8, str.8ed067
lea rdx, str.AppSetting
call fcn.1800093d0
call fcn.18000d050
mov rcx, rax
mov r9d, edi
lea r8, str.8dd391
lea rdx, str.AppSetting
call fcn.1800093d0
jmp 0x18000cfca
test sil, sil
jne 0x18000cb0d
call fcn.18000d050
mov rcx, rax
or r9d, 0xffffffff
lea r8, str.e35b4c
lea rdx, str.AppSetting
call fcn.180006a70
mov ecx, edi
sub ecx, eax
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x708
jle 0x18000cfca
call fcn.18000d050
mov rcx, rax
mov r9d, edi
lea r8, str.e35b4c
lea rdx, str.AppSetting
call fcn.1800093d0
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.18000d050
mov rcx, rax
xor r9d, r9d
lea r8, str.f8507b
lea rdx, str.AppSetting
call fcn.180006a70
mov ebx, eax
lea rcx, [rbp + 0x20]
test al, 1
jne 0x18000cb78
mov sil, 1
mov r8d, 0xb
lea rdx, str.HPPHdis.exe
call fcn.180009bb0
lea rdx, str.19afa5
jmp 0x18000cb91
mov r8d, 0xd
lea rdx, str.HPPCdiuso.exe
call fcn.180009bb0
lea rdx, str.dc70cb
mov r8d, 6
lea rcx, [rbp - 0x60]
call fcn.180009bb0
call fcn.18000d050
mov rcx, rax
call fcn.180014970
mov rdx, rax
lea rcx, [rbp + 0x80]
call fcn.18000c7c0
nop
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0x80]
call fcn.1800097d0
lea eax, [rbx + 1]
mov ebx, r14d
cmp eax, 0x3e8
cmovl ebx, eax
call fcn.18000d050
mov rcx, rax
mov r9d, ebx
lea r8, str.f8507b
lea rdx, str.AppSetting
call fcn.1800093d0
cmp qword [rbp + 0x30], 0
je 0x18000cfa9
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.180009a70
nop
lea rcx, [rbp - 0x80]
cmp qword [rbp - 0x68], 8
cmovae rcx, qword [rbp - 0x80]
call fcn.180011450
test eax, eax
jne 0x18000cf9f
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.180009a70
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 0x18000ccce
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.18000d050
mov rcx, rax
mov r8, rdi
mov rdx, rbx
call fcn.180014940
test eax, eax
jne 0x18000cf94
mov qword [rbp - 8], 0xf
mov qword [rbp - 0x10], r14
mov byte [rbp - 0x20], 0
mov r8d, 0x28
lea rdx, str.9632400112216410120011566947256067001432
lea rcx, [rbp - 0x20]
call fcn.180004f50
nop
lea rcx, [rbp - 0x20]
test sil, sil
je 0x18000cd0d
mov r8d, 0x28
lea rdx, str.9632400112216410120011566947256067001432
jmp 0x18000cd1a
mov r8d, 0x30
lea rdx, str.765735344166243333623756096121630244535469332626
call fcn.180004f50
lea rdx, [rbp - 0x20]
cmp qword [rbp - 8], 0x10
cmovae rdx, qword [rbp - 0x20]
lea rcx, [rbp + 0x60]
call fcn.18000e190
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, [0x18005941c]
lea rcx, [rsp + 0x60]
call fcn.180004f50
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 0x18000cd98
mov r8, r14
jmp 0x18000cdaa
or r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x18000cda0
lea rcx, [rbp]
call fcn.180004f50
nop
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x60]
lea rcx, [rbp]
call fcn.180012c80
nop
lea rcx, [rbp]
call fcn.180004630
nop
lea rcx, [rsp + 0x60]
call fcn.180004630
mov rbx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x28]
cmp rbx, rax
je 0x18000cf75
nop
cmp qword [rbx + 0x18], 0x10
jb 0x18000cdfc
mov rdx, qword [rbx]
jmp 0x18000cdff
mov rdx, rbx
mov qword [rsp + 0x78], 0xf
mov qword [rsp + 0x70], r14
mov byte [rsp + 0x60], 0
cmp byte [rdx], 0
jne 0x18000ce1c
mov r8, r14
jmp 0x18000ce2a
or r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], 0
jne 0x18000ce20
lea rcx, [rsp + 0x60]
call fcn.180004f50
nop
lea rdx, [rsp + 0x60]
lea rcx, [rbp]
call fcn.180013a80
mov rdx, rax
lea rcx, [rbp - 0x80]
call fcn.1800067b0
lea rcx, [rbp]
call fcn.1800064c0
lea rcx, [rbp - 0x80]
cmp qword [rbp - 0x68], 8
cmovae rcx, qword [rbp - 0x80]
call fcn.180011450
nop
lea rcx, [rsp + 0x60]
call fcn.180004630
add rbx, 0x20
mov rax, qword [rsp + 0x28]
cmp rbx, rax
jne 0x18000cdf0
mov rbx, qword [rsp + 0x20]
cmp rbx, rax
je 0x18000cf75
cmp qword [rbx + 0x18], 0x10
jb 0x18000cea2
mov rdx, qword [rbx]
jmp 0x18000cea5
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.18000c780
nop
lea rdx, [rsp + 0x60]
lea rcx, [rbp]
call fcn.180013a80
mov rdx, rax
lea rcx, [rbp - 0x80]
call fcn.1800067b0
lea rcx, [rbp]
call fcn.1800064c0
call fcn.18000d050
mov rcx, rax
call fcn.180014970
cmp word [rax], 0
jne 0x18000ceeb
mov r8, r14
jmp 0x18000cefb
or r8, 0xffffffffffffffff
nop
inc r8
cmp word [rax + r8*2], 0
jne 0x18000cef0
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.180009bb0
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x40]
call fcn.1800097d0
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.18000d050
mov rcx, rax
mov r8, rsi
mov rdx, rdi
call fcn.180014940
nop
lea rcx, [rsp + 0x60]
test eax, eax
jne 0x18000cf6f
call fcn.180004630
add rbx, 0x20
cmp rbx, qword [rsp + 0x28]
jne 0x18000ce96
jmp 0x18000cf75
call fcn.180004630
nop
lea rcx, [rsp + 0x20]
call fcn.18000c820
nop
lea rcx, [rbp + 0x60]
call fcn.180004630
nop
lea rcx, [rbp - 0x20]
call fcn.180004630
nop
lea rcx, [rsp + 0x40]
call fcn.1800064c0
nop
lea rcx, [rbp - 0x80]
call fcn.1800064c0
nop
lea rcx, [rbp + 0x80]
call fcn.1800064c0
nop
lea rcx, [rbp - 0x60]
call fcn.1800064c0
nop
lea rcx, [rbp + 0x20]
call fcn.1800064c0
nop
mov r8, qword [rbp - 0x28]
cmp r8, 8
jb 0x18000cfe4
inc r8
mov rdx, qword [rbp - 0x40]
lea rcx, [rbp - 0x40]
call fcn.180009d00
mov qword [rbp - 0x28], 7
mov qword [rbp - 0x30], r14
mov word [rbp - 0x40], r14w
mov r8, qword [rbp + 0x58]
cmp r8, 8
jb 0x18000d00f
inc r8
mov rdx, qword [rbp + 0x40]
lea rcx, [rbp + 0x40]
call fcn.180009d00
mov rcx, qword [rbp + 0xa0]
xor rcx, rsp
call fcn.18001b720
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