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

Disassembly:
mov rcx, qword [rcx + 8]
jmp 0x1402235b0
push rbp
push rbx
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x38]
sub rsp, 0x138
mov rdi, rcx
xor esi, esi
mov dword [rbp + 0x70], esi
cmp byte [rcx + 0x188], sil
je 0x14022362a
mov rax, qword [rcx + 0x180]
mov rcx, qword [rax + 0xe8]
mov eax, dword [rcx + 0x138]
shr eax, 1
test al, 1
je 0x14022362a
xor r8d, r8d
lea rdx, [rbp - 0x78]
call fcn.1402272e0
mov esi, 1
mov rcx, qword [rax]
cmp byte [rcx], 0
je 0x14022362a
mov rdx, rax
lea rcx, [rbp - 0x60]
call fcn.140016140
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
nop
cmp eax, 0xffffffff
je 0x14022362a
movzx r14d, sil
jmp 0x14022362d
xor r14b, r14b
mov ebx, 0xffffffff
lea r15, [0x140592ec8]
test sil, 1
je 0x14022365d
mov rcx, qword [rbp - 0x78]
add rcx, 0xfffffffffffffff0
cmp rcx, r15
je 0x14022365d
mov eax, ebx
lock xadd dword [rcx], eax
dec eax
cmp eax, ebx
jne 0x14022365d
call fcn.1400c9d7c
test r14b, r14b
je 0x1402239f7
lea rdx, [0x1404fe1a4]
lea rcx, [rbp + 0x78]
call fcn.140018a20
nop
lea rdx, [rbp + 0x78]
lea rcx, [rbp - 0x80]
call fcn.140137110
nop
mov rcx, qword [rbp + 0x78]
add rcx, 0xfffffffffffffff0
cmp rcx, r15
je 0x1402236a5
mov eax, ebx
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x1402236a5
call fcn.1400c9d7c
nop
lea rdx, str.Overwrite
lea rcx, [rbp + 0x80]
call fcn.140018a20
nop
lea rdx, [rbp + 0x80]
lea rcx, [rsp + 0x78]
call fcn.140137110
nop
mov rcx, qword [rbp + 0x80]
add rcx, 0xfffffffffffffff0
cmp rcx, r15
je 0x1402236ee
mov eax, ebx
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x1402236ee
call fcn.1400c9d7c
nop
lea rdx, str.Are_you_sure_you_want_to_overwrite_it_
lea rcx, [rbp + 0x88]
call fcn.140018a20
nop
lea rdx, [rbp + 0x88]
lea rcx, [rsp + 0x70]
call fcn.140137110
nop
mov rcx, qword [rbp + 0x88]
add rcx, 0xfffffffffffffff0
cmp rcx, r15
je 0x140223737
mov eax, ebx
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x140223737
call fcn.1400c9d7c
nop
lea rdx, str.Theres_already_a_file_called:_FLNM
lea rcx, [rsp + 0x48]
call fcn.140018a20
nop
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x68]
call fcn.140137110
nop
mov rcx, qword [rsp + 0x48]
add rcx, 0xfffffffffffffff0
cmp rcx, r15
je 0x14022377a
mov eax, ebx
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x14022377a
call fcn.1400c9d7c
nop
mov rax, qword [rdi + 0x180]
xor r8d, r8d
lea rdx, [rbp - 0x68]
mov rcx, qword [rax + 0xe8]
call fcn.1402272e0
nop
mov r9, qword [rax]
lea r8, str.FLNM
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x68]
call fcn.140134100
mov rsi, rax
mov qword [rsp + 0x40], rax
lea r8, [0x1404fe28a]
lea rdx, [0x1404fe288]
mov rcx, rax
call fcn.140135520
mov rcx, qword [rsi]
mov qword [rbp + 0x70], rcx
add rcx, 0xfffffffffffffff0
cmp rcx, r15
je 0x1402237de
lock inc dword [rcx]
mov rcx, qword [rsi]
add rcx, 0xfffffffffffffff0
cmp rcx, r15
je 0x1402237fc
mov eax, ebx
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x1402237fc
call fcn.1400c9d7c
lea rax, [rbp + 0x70]
mov qword [rsp + 0x40], rax
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x70]
call fcn.1401353e0
mov rcx, qword [rax]
mov qword [rsp + 0x60], rcx
add rcx, 0xfffffffffffffff0
cmp rcx, r15
je 0x140223827
lock inc dword [rcx]
mov rcx, qword [rbp + 0x70]
add rcx, 0xfffffffffffffff0
cmp rcx, r15
je 0x140223847
mov eax, ebx
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x140223847
call fcn.1400c9d7c
nop
lea rdx, str.File_already_exists
lea rcx, [rsp + 0x50]
call fcn.140018a20
nop
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x58]
call fcn.140137110
nop
mov rcx, qword [rsp + 0x50]
add rcx, 0xfffffffffffffff0
cmp rcx, r15
je 0x14022388a
mov eax, ebx
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x14022388a
call fcn.1400c9d7c
nop
mov qword [rsp + 0x30], rdi
lea rax, [rbp - 0x80]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x60]
lea r8, [rsp + 0x58]
mov edx, 2
lea rcx, [rbp - 0x10]
call fcn.1401c5b80
nop
mov rcx, qword [rsp + 0x58]
add rcx, 0xfffffffffffffff0
cmp rcx, r15
je 0x1402238dc
mov eax, ebx
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x1402238dc
call fcn.1400c9d7c
nop
mov rcx, qword [rsp + 0x60]
add rcx, 0xfffffffffffffff0
cmp rcx, r15
je 0x1402238fd
mov eax, ebx
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x1402238fd
call fcn.1400c9d7c
nop
mov rcx, qword [rbp - 0x68]
add rcx, 0xfffffffffffffff0
cmp rcx, r15
je 0x14022391d
mov eax, ebx
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x14022391d
call fcn.1400c9d7c
nop
mov rcx, qword [rsp + 0x68]
add rcx, 0xfffffffffffffff0
cmp rcx, r15
je 0x14022393e
mov eax, ebx
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x14022393e
call fcn.1400c9d7c
nop
mov rcx, qword [rsp + 0x70]
add rcx, 0xfffffffffffffff0
cmp rcx, r15
je 0x14022395f
mov eax, ebx
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x14022395f
call fcn.1400c9d7c
nop
mov rcx, qword [rsp + 0x78]
add rcx, 0xfffffffffffffff0
cmp rcx, r15
je 0x140223980
mov eax, ebx
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x140223980
call fcn.1400c9d7c
nop
mov rcx, qword [rbp - 0x80]
add rcx, 0xfffffffffffffff0
cmp rcx, r15
je 0x14022399d
lock xadd dword [rcx], ebx
dec ebx
cmp ebx, 0xffffffff
jne 0x14022399d
call fcn.1400c9d7c
lea rax, vtable.std::_Func_impl_no_alloc_class__lambda_fe4189efb5105c91b7efe0066063f119___void__int_.0
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rdi
lea rax, [rbp - 0x50]
mov qword [rbp - 0x18], rax
lea r8, [rbp - 0x50]
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x60]
call fcn.1401ca290
lea rcx, [rdi + 0x190]
mov rdx, rax
call fcn.1401c3b90
lea rcx, [rbp - 0x60]
call fcn.1401c3c50
nop
lea rcx, [rbp - 0x10]
call fcn.140057680
add rsp, 0x138
pop r15
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov edx, 1
mov rcx, rdi
add rsp, 0x138
pop r15
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
jmp fcn.140237ed0