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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x60
mov rsi, rdx
mov rdi, rcx
test rdx, rdx
je 0x1401fe034
xorps xmm0, xmm0
mov qword [rsp + 0x50], 0
movups xmmword [rdx], xmm0
movsd xmm0, qword [rsp + 0x50]
movsd qword [rdx + 0x10], xmm0
mov eax, dword [0x140630cb0]
nop
test eax, eax
je 0x1401fe134
cmp qword [rcx + 0x18], 7
jbe 0x1401fe04d
mov rcx, qword [rcx]
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x2200000
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x110199
lea r8d, [r9 + 7]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rbx, rax
mov qword [rsp + 0x78], rax
cmp rax, 0xffffffffffffffff
jne 0x1401fe104
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x35
ja 0x1401fe0a1
movabs rdx, 0x2000000020800c
bt rdx, rax
jb 0x1401fe0c0
lea ecx, [rax - 0x43]
cmp ecx, 0x38
ja 0x1401fe0b9
movabs rdx, 0x100000000100001
bt rdx, rcx
jb 0x1401fe0c0
cmp eax, 0xa1
jne 0x1401fe0d5
xor eax, eax
mov rbx, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x80]
add rsp, 0x60
pop rdi
ret
lea r9, str.boost::filesystem::remove_all
mov r8, rsi
mov rdx, rdi
mov ecx, eax
call fcn.140201e10
nop
mov rax, 0xffffffffffffffff
mov rbx, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x80]
add rsp, 0x60
pop rdi
ret
mov r8, rsi
mov rdx, rdi
mov rcx, rbx
call fcn.1401fe650
mov rdi, rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rax, rdi
mov rbx, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x80]
add rsp, 0x60
pop rdi
ret
mov rbx, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x80]
add rsp, 0x60
pop rdi
jmp 0x1401fe150
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x10]
sub rsp, 0x110
mov rdi, rdx
mov r15, rcx
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
xor esi, esi
mov qword [rsp + 0x40], rsi
mov r12d, esi
lea r13, section..data
lea rbx, [0x140621048]
mov rcx, r15
cmp qword [r15 + 0x18], 7
jbe 0x1401fe19f
mov rcx, qword [r15]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov r14d, eax
cmp eax, 0xffffffff
je 0x1401fe570
and eax, 0x410
cmp eax, 0x10
jne 0x1401fe541
mov qword [rbp + 0x60], rsi
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
xor r9d, r9d
lea r8d, [r9 + 0x10]
mov rdx, r15
lea rcx, [rbp + 0x60]
call fcn.140203000
mov rdx, qword [rsp + 0x40]
test dl, 1
je 0x1401fe470
mov r9d, dword [rsp + 0x30]
cmp rdx, 1
jne 0x1401fe207
test r9d, r9d
setne al
test al, al
je 0x1401fe470
mov dword [rsp + 0x58], reloc.WS2_32.dll_sendto
mov qword [rsp + 0x60], r13
cmp rdx, 1
jne 0x1401fe2b1
mov rcx, r13
call fcn.1401fd330
mov rcx, rax
mov eax, dword [rsp + 0x58]
mov dword [rbp - 0x78], eax
mov qword [rbp - 0x70], rcx
mov rax, qword [rsp + 0x40]
cmp rax, 1
jne 0x1401fe259
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rsp + 0x48], xmm0
movd edx, xmm0
psrldq xmm0, 8
movq rcx, xmm0
jmp 0x1401fe288
test rax, rax
jne 0x1401fe26e
mov dword [rsp + 0x48], esi
mov rcx, rbx
mov qword [rsp + 0x50], rbx
mov edx, esi
jmp 0x1401fe288
mov rcx, qword [rsp + 0x38]
call fcn.1401fd330
mov rcx, rax
mov edx, dword [rsp + 0x30]
mov dword [rsp + 0x48], edx
mov qword [rsp + 0x50], rax
mov rax, qword [rcx]
lea r8, [rbp - 0x78]
call qword [rax + 0x28]
test al, al
jne 0x1401fe2ad
mov rcx, qword [rbp - 0x70]
mov rax, qword [rcx]
mov r8d, dword [rbp - 0x78]
lea rdx, [rsp + 0x48]
call qword [rax + 0x20]
test al, al
je 0x1401fe2f6
mov al, 1
jmp 0x1401fe2f6
lea rcx, [0x140629e90]
test rdx, rdx
cmovne rcx, qword [rsp + 0x38]
mov rax, qword [rcx]
lea r8, [rsp + 0x58]
mov edx, r9d
call qword [rax + 0x18]
test al, al
jne 0x1401fe3f1
mov rcx, r13
mov rax, qword [rsp + 0x60]
test rax, rax
cmovne rcx, rax
mov rax, qword [rcx]
mov r8d, dword [rsp + 0x58]
lea rdx, [rsp + 0x30]
call qword [rax + reloc.WS2_32.dll_recv]
test al, al
jne 0x1401fe3f1
mov dword [rsp + 0x78], WSAStartup
mov qword [rbp - 0x80], r13
mov rax, qword [rsp + 0x40]
cmp rax, 1
jne 0x1401fe3ac
mov rcx, r13
call fcn.1401fd330
mov rcx, rax
mov eax, dword [rsp + 0x78]
mov dword [rbp - 0x68], eax
mov qword [rbp - 0x60], rcx
mov rax, qword [rsp + 0x40]
cmp rax, 1
jne 0x1401fe354
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rsp + 0x68], xmm0
movd edx, xmm0
psrldq xmm0, 8
movq rcx, xmm0
jmp 0x1401fe383
test rax, rax
jne 0x1401fe369
mov dword [rsp + 0x68], esi
mov rcx, rbx
mov qword [rsp + 0x70], rbx
mov edx, esi
jmp 0x1401fe383
mov rcx, qword [rsp + 0x38]
call fcn.1401fd330
mov rcx, rax
mov edx, dword [rsp + 0x30]
mov dword [rsp + 0x68], edx
mov qword [rsp + 0x70], rax
mov rax, qword [rcx]
lea r8, [rbp - 0x68]
call qword [rax + 0x28]
test al, al
jne 0x1401fe3a8
mov rcx, qword [rbp - 0x60]
mov rax, qword [rcx]
mov r8d, dword [rbp - 0x68]
lea rdx, [rsp + 0x68]
call qword [rax + 0x20]
test al, al
je 0x1401fe3ed
mov al, 1
jmp 0x1401fe3ed
lea rcx, [0x140629e90]
test rax, rax
cmovne rcx, qword [rsp + 0x38]
mov rax, qword [rcx]
lea r8, [rsp + 0x78]
mov edx, dword [rsp + 0x30]
call qword [rax + 0x18]
test al, al
jne 0x1401fe3f1
mov rcx, r13
mov rax, qword [rbp - 0x80]
test rax, rax
cmovne rcx, rax
mov rax, qword [rcx]
mov r8d, dword [rsp + 0x78]
lea rdx, [rsp + 0x30]
call qword [rax + reloc.WS2_32.dll_recv]
test al, al
je 0x1401fe452
mov rbx, qword [rbp + 0x60]
test rbx, rbx
je 0x1401fe41d
mov eax, 0xffffffff
lock xadd dword [rbx], eax
cmp eax, 1
jne 0x1401fe41d
test rbx, rbx
je 0x1401fe41d
mov rcx, rbx
call fcn.140202440
mov rcx, rbx
call fcn.14012d380
inc r12d
cmp r12d, 5
jb 0x1401fe18b
movups xmm0, xmmword [rsp + 0x30]
movsd xmm1, qword [rsp + 0x40]
test rdi, rdi
je 0x1401fe615
movups xmmword [rdi], xmm0
movsd qword [rdi + 0x10], xmm1
mov rax, 0xffffffffffffffff
jmp 0x1401fe5c9
movups xmm0, xmmword [rsp + 0x30]
movsd xmm1, qword [rsp + 0x40]
test rdi, rdi
je 0x1401fe5e4
movups xmmword [rdi], xmm0
movsd qword [rdi + 0x10], xmm1
jmp 0x1401fe4d5
mov qword [rbp + 0x68], rsi
nop dword [rax]
nop dword [rax + rax]
mov rbx, qword [rbp + 0x60]
test rbx, rbx
je 0x1401fe519
cmp qword [rbx + 0x40], 0
je 0x1401fe519
lea rcx, [rbx + 0x10]
mov rdx, rdi
call 0x1401fe150
add rsi, rax
test rdi, rdi
je 0x1401fe4b8
mov rcx, rdi
call fcn.14016ece0
test al, al
jne 0x1401fe4d5
mov rdx, rdi
lea rcx, [rbp + 0x60]
call fcn.1402036e0
test rdi, rdi
je 0x1401fe480
mov rcx, rdi
call fcn.14016ece0
test al, al
je 0x1401fe480
mov rbx, qword [rbp + 0x60]
test rbx, rbx
je 0x1401fe5be
mov eax, 0xffffffff
lock xadd dword [rbx], eax
cmp eax, 1
jne 0x1401fe5be
test rbx, rbx
je 0x1401fe5be
mov rcx, rbx
call fcn.140202440
mov rcx, rbx
call fcn.14012d380
mov rax, 0xffffffffffffffff
jmp 0x1401fe5c9
test rbx, rbx
je 0x1401fe541
mov eax, 0xffffffff
lock xadd dword [rbx], eax
cmp eax, 1
jne 0x1401fe541
test rbx, rbx
je 0x1401fe541
mov rcx, rbx
call fcn.140202440
mov rcx, rbx
call fcn.14012d380
mov r8, rdi
mov edx, r14d
mov rcx, r15
call fcn.1401fee40
test rdi, rdi
je 0x1401fe568
mov rcx, qword [rdi + 0x10]
test cl, 1
je 0x1401fe568
cmp rcx, 1
jne 0x1401fe5be
cmp dword [rdi], 0
jne 0x1401fe5be
movzx eax, al
add rax, rsi
jmp 0x1401fe5c9
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x35
ja 0x1401fe58b
movabs rdx, 0x2000000020800c
bt rdx, rax
jb 0x1401fe5c7
lea ecx, [rax - 0x43]
cmp ecx, 0x38
ja 0x1401fe5a3
movabs rdx, 0x100000000100001
bt rdx, rcx
jb 0x1401fe5c7
cmp eax, 0xa1
je 0x1401fe5c7
lea r9, str.boost::filesystem::remove_all
mov r8, rdi
mov rdx, r15
mov ecx, eax
call fcn.140201e10
mov rax, 0xffffffffffffffff
jmp 0x1401fe5c9
xor eax, eax
mov rbx, qword [rsp + 0x150]
add rsp, 0x110
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
movaps xmmword [rbp - 0x50], xmm0
movsd qword [rbp - 0x40], xmm1
lea r9, [rbp - 0x50]
mov r8, r15
lea rdx, str.boost::filesystem::remove_all
lea rcx, [rbp - 0x30]
call fcn.140201880
lea rdx, [0x14061cad8]
lea rcx, [rbp - 0x30]
call fcn.1404a3394
nop
movaps xmmword [rbp - 0x50], xmm0
movsd qword [rbp - 0x40], xmm1
lea r9, [rbp - 0x50]
mov r8, r15
lea rdx, str.boost::filesystem::remove_all:_path_cannot_be_opened_as_a_directory
lea rcx, [rbp - 0x30]
call fcn.140201880
lea rdx, [0x14061cad8]
lea rcx, [rbp - 0x30]
call fcn.1404a3394
int3