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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
lea rbp, [rsp - 0x57]
sub rsp, 0xa0
mov rax, qword [0x140177090]
xor rax, rsp
mov qword [rbp + 0x4f], rax
mov rbx, rcx
xor esi, esi
mov dword [rbp - 0x19], esi
cmp qword [rcx + 0x10], rsi
je 0x140023f0f
cmp qword [rcx + 0x18], 8
jb 0x140023d16
mov rcx, qword [rcx]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmp eax, 1
jne 0x140023ef2
mov rdx, rbx
cmp qword [rbx + 0x18], 8
jb 0x140023d32
mov rdx, qword [rbx]
mov qword [rbp + 0x3f], rsi
mov qword [rbp + 0x47], 7
mov word [rbp + 0x2f], si
mov rdi, 0xffffffffffffffff
mov r8, rdi
nop dword [rax]
inc r8
cmp word [rdx + r8*2], si
jne 0x140023d50
lea rcx, [rbp + 0x2f]
call fcn.1400088b0
nop
mov rcx, rbx
cmp qword [rbx + 0x18], 8
jb 0x140023d71
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140023d80
test al, 0x10
jne 0x140023dba
lea rdx, [rbp - 0x11]
mov rcx, rbx
call fcn.140024f90
nop
lea rcx, [rbp + 0x2f]
cmp rcx, rax
je 0x140023db1
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 8
jb 0x140023da4
mov rax, qword [rax]
mov rdx, rax
lea rcx, [rbp + 0x2f]
call fcn.1400088b0
nop
lea rcx, [rbp - 0x11]
call fcn.140008840
lea rdx, [rbp + 0x2f]
lea rcx, [rbp - 0x11]
call fcn.140023b00
nop
lea rcx, [rbp + 0x2f]
cmp rcx, rax
je 0x140023dec
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 8
jb 0x140023ddf
mov rax, qword [rax]
mov rdx, rax
lea rcx, [rbp + 0x2f]
call fcn.1400088b0
nop
lea rcx, [rbp - 0x11]
call fcn.140008840
lea rcx, [rbp + 0x2f]
cmp qword [rbp + 0x47], 8
cmovae rcx, qword [rbp + 0x2f]
call qword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
lea rdx, [0x14014ce5c]
test rax, rax
cmovne rdx, rax
mov qword [rbp - 1], rsi
mov qword [rbp + 7], 7
mov word [rbp - 0x11], si
nop word [rax + rax]
inc rdi
cmp word [rdx + rdi*2], 0
jne 0x140023e30
mov r8, rdi
lea rcx, [rbp - 0x11]
call fcn.1400088b0
nop
mov qword [rbp + 0x1f], rsi
mov qword [rbp + 0x27], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0xf], 0
mov dword [rbp - 0x19], 3
lea rdx, [rbp + 0xf]
lea rcx, [rbp - 0x11]
call fcn.14001a4c0
lea rdx, [rbp + 0xf]
cmp qword [rbp + 0x27], 0x10
cmovae rdx, qword [rbp + 0xf]
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rsi
xor r9d, r9d
mov r8, qword [rbp + 0x1f]
lea rcx, [rbp + 0x2f]
call fcn.140023910
movzx ebx, al
lea rcx, [rbp + 0xf]
call fcn.140008a50
nop
lea rcx, [rbp - 0x11]
call fcn.140008840
lea rcx, [rbp + 0x2f]
cmp qword [rbp + 0x47], 8
cmovae rcx, qword [rbp + 0x2f]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x140023ee4
mov edx, 0x80
lea rcx, [rbp + 0x2f]
call fcn.1400262d0
lea rcx, [rbp + 0x2f]
cmp qword [rbp + 0x47], 8
cmovae rcx, qword [rbp + 0x2f]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
nop
lea rcx, [rbp + 0x2f]
call fcn.140008840
movzx eax, bl
jmp 0x140023f11
mov rcx, rbx
call fcn.1400250c0
movzx edi, al
test al, al
je 0x140023f11
mov rcx, rbx
call fcn.1400261d0
movzx eax, dil
jmp 0x140023f11
xor al, al
mov rcx, qword [rbp + 0x4f]
xor rcx, rsp
call fcn.1400e9d60
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret