Function at 0x14000d110
Capabilities:
Check if file exists

Disassembly:
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xd0
mov r12d, 5
mov dword [rsp + 0xb0], 0
mov rdi, rcx
mov rbx, rdx
mov qword [rsp + 0xb8], 0
mov qword [rsp + 0xc0], 0
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ebp, eax
cmp eax, 0xffffffff
je 0x14000d420
and eax, 0x410
cmp eax, 0x10
jne 0x14000d700
lea r14, [rsp + 0xb0]
lea r13, [rsp + 0x68]
xor r9d, r9d
mov rdx, rdi
mov qword [rsp + 0x20], r14
mov r8d, 0x10
mov rcx, r13
mov qword [rsp + 0x68], 0
call fcn.140002c20
mov rax, qword [rsp + 0xc0]
test al, 1
je 0x14000d1c6
mov edx, dword [rsp + 0xb0]
cmp rax, 1
jne 0x14000d2e8
test edx, edx
jne 0x14000d610
xor r12d, r12d
test rbx, rbx
je 0x14000d3e0
mov rsi, qword [rsp + 0x68]
test rsi, rsi
je 0x14000d280
cmp qword [rsi + 0x40], 0
je 0x14000d238
lea rcx, [rsi + 0x10]
mov rdx, rbx
call fcn.14000d110
mov rsi, rax
mov rax, qword [rbx + 0x10]
test al, 1
je 0x14000d2b4
cmp rax, 1
je 0x14000d2a8
mov rbx, qword [rsp + 0x68]
test rbx, rbx
je 0x14000d22c
lock sub dword [rbx], 1
jne 0x14000d22c
mov rcx, rbx
call fcn.1400022f0
mov rcx, rbx
call fcn.1400022c0
mov rax, 0xffffffffffffffff
jmp 0x14000d266
lock sub dword [rsi], 1
jne 0x14000d24e
mov rcx, rsi
call fcn.1400022f0
mov rcx, rsi
call fcn.1400022c0
mov r8, rbx
mov edx, ebp
mov rcx, rdi
call fcn.140005300
test rbx, rbx
jne 0x14000d28d
movzx eax, al
add rax, r12
add rsp, 0xd0
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
mov r8, rbx
mov edx, ebp
mov rcx, rdi
call fcn.140005300
mov rdx, qword [rbx + 0x10]
test dl, 1
je 0x14000d260
cmp rdx, 1
jne 0x14000d22c
mov edx, dword [rbx]
test edx, edx
je 0x14000d260
jmp 0x14000d22c
mov r8d, dword [rbx]
test r8d, r8d
jne 0x14000d20c
mov rdx, rbx
mov rcx, r13
call fcn.140002350
mov rax, qword [rbx + 0x10]
test al, 1
je 0x14000d2db
cmp rax, 1
jne 0x14000d20c
mov ecx, dword [rbx]
test ecx, ecx
jne 0x14000d20c
add r12, rsi
jmp 0x14000d1d2
mov rcx, qword [rsp + 0xb8]
lea rsi, str.PMP_
lea rbp, [0x1402ee610]
mov dword [rsp + 0x70], 0x14
mov qword [rsp + 0x78], rsi
mov rax, qword [rcx]
mov r9, qword [rax + 0x10]
cmp r9, rbp
jne 0x14000d480
lea r9, [rsp + 0x50]
mov r8d, edx
mov rdx, rcx
mov rcx, r9
call qword [rax + 8]
mov rax, qword [rsp + 0x58]
mov r8d, dword [rsp + 0x70]
cmp r8d, dword [rsp + 0x50]
jne 0x14000d4a6
mov rdx, qword [rsp + 0x78]
test rax, rax
je 0x14000d805
test rdx, rdx
je 0x14000d881
mov rcx, qword [rdx + 8]
test rcx, rcx
jne 0x14000d850
cmp rax, rdx
sete al
nop dword [rax + rax]
test al, al
je 0x14000d4a1
mov rsi, qword [rsp + 0x68]
test rsi, rsi
je 0x14000d3a0
lock sub dword [rsi], 1
jne 0x14000d3a0
mov rcx, rsi
call fcn.1400022f0
mov rcx, rsi
call fcn.1400022c0
nop dword [rax + rax]
sub r12d, 1
jne 0x14000d150
test rbx, rbx
je 0x14040d9ce
mov rax, qword [rsp + 0xc0]
movdqa xmm0, xmmword [rsp + 0xb0]
mov qword [rbx + 0x10], rax
mov rax, 0xffffffffffffffff
movups xmmword [rbx], xmm0
jmp 0x14000d266
mov rsi, qword [rsp + 0x68]
test rsi, rsi
je 0x14000da8b
cmp qword [rsi + 0x40], 0
je 0x14000d238
lea rcx, [rsi + 0x10]
xor edx, edx
call fcn.14000d110
xor edx, edx
mov rcx, r13
mov rsi, rax
call fcn.140002350
add r12, rsi
jmp 0x14000d3e0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
cmp eax, 0x57
je 0x14000d49a
ja 0x14000d460
lea eax, [rax - 2]
cmp eax, 0x13
ja 0x14000d490
mov eax, 0x20800c
bt rax, rcx
jb 0x14000d49a
lea r9, str.boost::filesystem::remove_all
mov r8, rbx
mov rdx, rdi
call fcn.140014c20
jmp 0x14000d22c
xor eax, eax
cmp ecx, 0x7b
je 0x14000d266
cmp ecx, 0xa1
jne 0x14000d442
jmp 0x14000d266
lea r8, [rsp + 0x70]
call r9
jmp 0x14000d370
cmp ecx, 0x35
je 0x14000d49a
cmp ecx, 0x43
jne 0x14000d442
xor eax, eax
jmp 0x14000d266
mov r8d, dword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
lea rax, str.PMP_
lea rdx, [0x1402ee5a0]
test rcx, rcx
cmove rcx, rax
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
cmp rax, rdx
jne 0x14000d834
mov rax, qword [rsp + 0xc0]
test rax, rax
je 0x14000d708
cmp rax, 1
je 0x14000d740
cmp r8d, dword [rsp + 0xb0]
je 0x14000d8e4
mov qword [rsp + 0x88], rsi
mov rdx, qword [rsp + 0xb8]
mov dword [rsp + 0x80], 0x72
mov rcx, rdx
mov rax, qword [rcx]
mov edx, dword [rsp + 0xb0]
mov r9, qword [rax + 0x10]
cmp r9, rbp
jne 0x14000d824
lea r9, [rsp + 0x50]
mov r8d, edx
mov rdx, rcx
mov rcx, r9
call qword [rax + 8]
mov rax, qword [rsp + 0x58]
mov r8d, dword [rsp + 0x80]
cmp r8d, dword [rsp + 0x50]
jne 0x14000d590
mov rdx, qword [rsp + 0x88]
test rax, rax
je 0x14000d91f
test rdx, rdx
je 0x14000d9c6
mov rcx, qword [rdx + 8]
test rcx, rcx
jne 0x14000d93e
cmp rax, rdx
sete al
test al, al
jne 0x14000d378
mov r8d, dword [rsp + 0x80]
mov rcx, qword [rsp + 0x88]
lea rax, str.PMP_
lea rdx, [0x1402ee5a0]
test rcx, rcx
cmove rcx, rax
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
cmp rax, rdx
jne 0x14000d94a
mov rax, qword [rsp + 0xc0]
test rax, rax
je 0x14000d8c2
cmp rax, 1
je 0x14000d960
cmp dword [rsp + 0xb0], r8d
je 0x14000da5d
test rbx, rbx
je 0x14000da9d
movdqa xmm1, xmmword [rsp + 0xb0]
mov rax, qword [rsp + 0xc0]
movups xmmword [rbx], xmm1
mov qword [rbx + 0x10], rax
jmp 0x14000d20c
lea rsi, str.PMP_
mov dword [rsp + 0x70], 0x14
mov rcx, rsi
mov qword [rsp + 0x78], rsi
call fcn.1402ee750
mov edx, dword [rsp + 0x70]
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0xc0]
mov dword [rsp + 0x90], edx
cmp rax, 1
je 0x14000d85c
test rax, rax
jne 0x14000d897
lea rcx, [0x1404280e0]
call fcn.1402ee750
xor edx, edx
mov dword [rsp + 0xa0], 0
mov qword [rsp + 0xa8], rax
mov rcx, rax
mov rax, qword [rcx]
lea r8, [rsp + 0x90]
call qword [rax + 0x30]
test al, al
jne 0x14000d378
mov rcx, qword [rsp + 0x98]
mov r8d, dword [rsp + 0x90]
lea rdx, [rsp + 0xa0]
mov rax, qword [rcx]
call qword [rax + 0x38]
test al, al
jne 0x14000d378
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x88], rsi
mov dword [rsp + 0x80], 0x72
cmp rax, 1
je 0x14000d767
lea rbp, [0x1402ee610]
test rax, rax
je 0x14000d734
mov rdx, qword [rsp + 0xb8]
lea rbp, [0x1402ee610]
jmp 0x14000d514
xor r12d, r12d
jmp 0x14000d24e
test r8d, r8d
jne 0x14000d721
movabs rax, 0xb2ab117a257edfd1
cmp qword [rcx + 8], rax
je 0x14000d378
mov dword [rsp + 0x80], 0x72
mov qword [rsp + 0x88], rsi
lea rcx, [0x1404280e0]
jmp 0x14000d517
movabs rax, 0xb2ab117a257edfd2
cmp qword [rcx + 8], rax
je 0x14000da07
mov dword [rsp + 0x80], 0x72
mov qword [rsp + 0x88], rsi
mov rcx, rsi
call fcn.1402ee750
mov edx, dword [rsp + 0x80]
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0xc0]
mov dword [rsp + 0x90], edx
cmp rax, 1
je 0x14000d9a1
test rax, rax
jne 0x14000d9dc
lea rcx, [0x1404280e0]
call fcn.1402ee750
xor edx, edx
mov dword [rsp + 0xa0], 0
mov qword [rsp + 0xa8], rax
mov rcx, rax
mov rax, qword [rcx]
lea r8, [rsp + 0x90]
call qword [rax + 0x30]
test al, al
jne 0x14000d378
mov rcx, qword [rsp + 0x98]
mov r8d, dword [rsp + 0x90]
lea rdx, [rsp + 0xa0]
mov rax, qword [rcx]
call qword [rax + 0x38]
test al, al
jne 0x14000d378
jmp 0x14000d5e6
test rdx, rdx
je 0x14000d378
movabs rax, 0xb2ab117a257edfd0
cmp qword [rdx + 8], rax
sete al
jmp 0x14000d370
lea r8, [rsp + 0x80]
call r9
jmp 0x14000d580
mov rdx, r14
call rax
test al, al
jne 0x14000d378
jmp 0x14000d6ba
cmp qword [rax + 8], rcx
sete al
jmp 0x14000d370
movdqa xmm2, xmmword [rsp + 0xb0]
movaps xmmword [rsp + 0xa0], xmm2
mov rcx, qword [rsp + 0xa8]
mov edx, dword [rsp + 0xa0]
jmp 0x14000d67e
movabs rdx, 0xb2ab117a257edfd0
cmp qword [rax + 8], rdx
sete al
jmp 0x14000d370
mov rcx, qword [rsp + 0xb8]
call fcn.1402ee750
mov edx, dword [rsp + 0xb0]
mov qword [rsp + 0xa8], rax
mov rcx, rax
mov dword [rsp + 0xa0], edx
jmp 0x14000d67e
test r8d, r8d
jne 0x14000d5e6
movabs rax, 0xb2ab117a257edfd1
cmp qword [rcx + 8], rax
jne 0x14000d5e6
jmp 0x14000d378
mov rdx, qword [rsp + 0xb8]
mov rax, qword [rdx + 8]
test rax, rax
jne 0x14000da51
cmp rcx, rdx
sete al
test al, al
jne 0x14000d378
mov dword [rsp + 0x80], 0x72
mov qword [rsp + 0x88], rsi
jmp 0x14000d514
test rdx, rdx
je 0x14000d378
movabs rax, 0xb2ab117a257edfd0
cmp qword [rdx + 8], rax
sete al
jmp 0x14000d580
cmp qword [rax + 8], rcx
sete al
jmp 0x14000d580
mov rdx, r14
call rax
test al, al
jne 0x14000d378
jmp 0x14000d5e6
movabs rax, 0xb2ab117a257edfd2
cmp qword [rcx + 8], rax
jne 0x14000d5e6
mov rax, qword [rsp + 0xb8]
mov ecx, 0x1ffff7
xor edx, edx
div rcx
imul eax, edx, 0x3e8
add eax, dword [rsp + 0xb0]
cmp eax, r8d
jne 0x14000d5e6
jmp 0x14000d378
movdqa xmm3, xmmword [rsp + 0xb0]
movaps xmmword [rsp + 0xa0], xmm3
mov rcx, qword [rsp + 0xa8]
mov edx, dword [rsp + 0xa0]
jmp 0x14000d7c4
movabs rdx, 0xb2ab117a257edfd0
cmp qword [rax + 8], rdx
sete al
jmp 0x14000d580
mov rcx, qword [rsp + 0xb8]
call fcn.1402ee750
mov edx, dword [rsp + 0xb0]
mov qword [rsp + 0xa8], rax
mov rcx, rax
mov dword [rsp + 0xa0], edx
jmp 0x14000d7c4
mov rcx, qword [rsp + 0xb8]
movabs rax, 0x4800144005b3
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 0x14
imul rax, rax, 0x1ffff7
sub rcx, rax
imul eax, ecx, 0x3e8
add eax, dword [rsp + 0xb0]
cmp eax, r8d
jne 0x14000d754
jmp 0x14000d378
cmp qword [rcx + 8], rax
sete al
jmp 0x14000d8ff
mov rdx, qword [rsp + 0xb8]
mov rax, qword [rdx + 8]
test rax, rax
jne 0x14000da7c
cmp rcx, rdx
je 0x14000d378
jmp 0x14000d5e6
cmp rax, qword [rcx + 8]
je 0x14000d378
jmp 0x14000d5e6
xor r8d, r8d
mov edx, ebp
mov rcx, rdi
call fcn.140005300
jmp 0x14000d260
jmp 0x14040da23
mov ecx, 0x30
call fcn.1403cd580
lea r9, [rsp + 0x30]
mov r8, rdi
movdqa xmm5, xmmword [rsp + 0xb0]
mov rbx, rax
mov rax, qword [rsp + 0xc0]
lea rdx, str.boost::filesystem::remove_all:_path_cannot_be_opened_as_a_directory
mov rcx, rbx
movaps xmmword [rsp + 0x30], xmm5
mov qword [rsp + 0x40], rax
call fcn.140014a70
lea r8, [0x140014380]
lea rdx, [0x1404e9370]
mov rcx, rbx
call fcn.1403cdb10
mov ecx, 0x30
call fcn.1403cd580
lea r9, [rsp + 0x30]
mov r8, rdi
movdqa xmm4, xmmword [rsp + 0xb0]
mov rsi, rax
mov rax, qword [rsp + 0xc0]
lea rdx, str.boost::filesystem::remove_all
mov rcx, rsi
movaps xmmword [rsp + 0x30], xmm4
mov qword [rsp + 0x40], rax
call fcn.140014a70
lea r8, [0x140014380]
lea rdx, [0x1404e9370]
mov rcx, rsi
call fcn.1403cdb10
mov rsi, rax
mov rcx, rbx
call fcn.1403cd7f0
mov rcx, rsi
call fcn.1401963f0
mov rbx, rax
jmp 0x14040da9b
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x14040daaa
call fcn.14025eb20
mov rcx, rbx
call fcn.1401963f0
nop
mov ecx, 0x30
call fcn.1403cd580
lea r9, [rsp + 0x70]
mov r8, rsi
movdqa xmm2, xmmword [rsp + 0xd0]
mov rbx, rax
mov rax, qword [rsp + 0xe0]
lea rdx, str.boost::filesystem::remove_all
mov rcx, rbx
movaps xmmword [rsp + 0x70], xmm2
mov qword [rsp + 0x80], rax
call fcn.140014a70
lea r8, [0x140014380]
lea rdx, [0x1404e9370]
mov rcx, rbx
call fcn.1403cdb10
mov rsi, rax
mov rcx, rbx
call fcn.1403cd7f0
mov rcx, rsi
call fcn.1401963f0
mov rcx, qword [rsp + 0x110]
cmp rcx, r13
je 0x14040db3f
mov rax, qword [rsp + 0x120]
lea rdx, [rax + 1]
add rdx, rdx
call fcn.1403cd470
mov rcx, qword [rsp + 0xa8]
cmp rcx, 0xffffffffffffffff
jne 0x14040dc08
mov rcx, qword [rsp + 0xf0]
cmp rcx, r14
je 0x14040db72
mov rax, qword [rsp + 0x100]
lea rdx, [rax + 1]
add rdx, rdx
call fcn.1403cd470
mov rcx, qword [rsp + 0xa0]
test rcx, rcx
je 0x14040dbee
call fcn.14025eb20
jmp 0x14040dbee
mov rcx, qword [rsp + 0x98]
test rcx, rcx
je 0x14040dc00
call fcn.14025eb20
mov rcx, rbx
call fcn.1401963f0
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x14040db51