Function at 0x1401012b0
Capabilities:
Get file attributes

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x270
mov qword [rsp + 0x48], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
mov rax, qword [0x1402de400]
xor rax, rsp
mov qword [rsp + 0x260], rax
mov dword [rsp + 0x30], edx
mov r15, rcx
xor esi, esi
mov rdi, rsi
test rcx, rcx
je 0x1401016a7
mov word [rsp + 0x50], si
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x52]
call fcn.1401e42d0
mov rbx, rsi
xor r9d, r9d
xor r8d, r8d
or edx, 0xffffffff
mov rcx, r15
call qword [sym.imp.SHELL32.dll_DragQueryFileW]
mov r14d, eax
cmp dword [reloc.WS2_32.dll_accept], 1
jg 0x140101357
mov dword [rsp + 0x20], eax
lea r9, str.Get__u_files_from_clipboard.
mov r8d, 0x90
lea rdx, str..TShareApe.cpp
lea ecx, [rsi + 1]
call fcn.1400045a0
mov r13d, esi
test r14d, r14d
je 0x1401016a2
nop word [rax + rax]
mov r9d, 0x104
lea r8, [rsp + 0x50]
mov edx, r13d
mov rcx, r15
call qword [sym.imp.SHELL32.dll_DragQueryFileW]
mov dword [rsp + 0x40], 1
lea rcx, [rsp + 0x50]
call fcn.1400019d0
mov r12, rax
mov qword [rsp + 0x38], rax
lea rcx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
test al, 0x10
jne 0x1401013ba
cmp r14d, 1
je 0x1401015aa
test r13d, r13d
jne 0x1401014d0
lea edx, [r13 + 0x5c]
mov rcx, r12
call fcn.1401e70ac
mov rbp, rax
test rax, rax
je 0x14010163b
mov esi, r14d
mov eax, 0xc8
cmp r14d, eax
cmova esi, eax
inc esi
imul esi, esi, 0xfa
lea ecx, [rsi + 0x14]
add rcx, 0x20
call fcn.1401e3610
mov rdi, rax
test rax, rax
je 0x140101429
lea rax, vtable.TBufferImpl_class_TBufferAlloc__20_.0
mov qword [rdi], rax
mov dword [rdi + 0x18], r13d
mov dword [rdi + 0x1c], 1
mov dword [rdi + 0x10], esi
lea rax, [rdi + 0x34]
mov qword [rdi + 8], rax
xor esi, esi
jmp 0x14010142e
xor esi, esi
mov rdi, rsi
test rdi, rdi
je 0x14010162c
mov ecx, reloc.WS2_32.dll_recv
call fcn.1401e37b4
mov rbx, rax
test rax, rax
je 0x14010145b
mov rax, qword [rdi + 8]
mov qword [rbx], rax
mov dword [rbx + 8], esi
mov eax, dword [rdi + 0x10]
mov dword [rbx + 0xc], eax
jmp 0x14010145e
mov rbx, rsi
mov edx, dword [rbx + 8]
lea rcx, [rdx + 1]
mov eax, dword [rbx + 0xc]
cmp rcx, rax
ja 0x140101477
mov rax, qword [rbx]
mov byte [rdx + rax], socket
inc dword [rbx + 8]
mov edx, dword [rbx + 8]
lea rcx, [rdx + 1]
mov eax, dword [rbx + 0xc]
cmp rcx, rax
ja 0x140101493
mov rax, qword [rbx]
mov ecx, dword [rsp + 0x30]
mov byte [rdx + rax], cl
inc dword [rbx + 8]
sub ebp, dword [rsp + 0x38]
mov ecx, dword [rbx + 8]
lea eax, [rcx + rbp]
cmp eax, dword [rbx + 0xc]
ja 0x1401014b7
test ebp, ebp
je 0x1401014b7
mov r8d, ebp
add rcx, qword [rbx]
mov rdx, r12
call fcn.1401e3ed0
add dword [rbx + 8], ebp
mov edx, dword [rbx + 8]
lea rcx, [rdx + 1]
mov eax, dword [rbx + 0xc]
cmp rcx, rax
ja 0x1401014d0
mov rax, qword [rbx]
mov byte [rdx + rax], 0
inc dword [rbx + 8]
mov edx, 0x5c
mov rcx, r12
call fcn.1401e70ac
test rax, rax
je 0x14010158c
lea r8, [rax + 1]
mov r10d, dword [rbx + 8]
lea eax, [r10 + 1]
cmp eax, dword [rbx + 0xc]
ja 0x14010164a
mov r9, qword [rbx]
nop
mov ecx, dword [rbx + 8]
movzx eax, byte [r8]
mov byte [rcx + r9], al
mov eax, dword [rbx + 8]
mov r9, qword [rbx]
movzx ecx, byte [rax + r9]
lea edx, [rax + 1]
mov dword [rbx + 8], edx
inc r8
test cl, cl
je 0x140101530
inc edx
cmp edx, dword [rbx + 0xc]
ja 0x14010164a
jmp 0x140101500
lea eax, [rdx + 1]
cmp eax, dword [rbx + 0xc]
ja 0x14010164e
lea eax, [rdx - 1]
mov dword [rbx + 8], eax
lea rcx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
test al, 0x10
je 0x14010156a
mov edx, dword [rbx + 8]
lea rcx, [rdx + 1]
mov eax, dword [rbx + 0xc]
cmp rcx, rax
ja 0x14010156a
mov rax, qword [rbx]
mov byte [rdx + rax], 0x2f
inc dword [rbx + 8]
lea eax, [r13 + 1]
cmp eax, r14d
je 0x14010158c
mov edx, dword [rbx + 8]
lea rcx, [rdx + 1]
mov eax, dword [rbx + 0xc]
cmp rcx, rax
ja 0x14010158c
mov rax, qword [rbx]
mov byte [rdx + rax], 0xa
inc dword [rbx + 8]
test r12, r12
je 0x140101599
mov rcx, r12
call fcn.1401e36c8
inc r13d
cmp r13d, r14d
jae 0x140101667
jmp 0x140101370
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, r12
repne scasb al, byte [rdi]
not rcx
lea rsi, [rcx + 1]
lea ecx, [rsi + 0x14]
add rcx, 0x20
call fcn.1401e3610
mov rdi, rax
test rax, rax
je 0x1401015f5
lea rax, vtable.TBufferImpl_class_TBufferAlloc__20_.0
mov qword [rdi], rax
mov dword [rdi + 0x18], 0
mov dword [rdi + 0x1c], 1
mov dword [rdi + 0x10], esi
lea rax, [rdi + 0x34]
mov qword [rdi + 8], rax
jmp 0x1401015f7
xor edi, edi
test rdi, rdi
je 0x14010161d
mov rax, qword [rdi + 8]
mov ecx, dword [rsp + 0x30]
mov byte [rax], cl
mov r8d, dword [rdi + 0x10]
mov rcx, qword [rdi + 8]
dec r8d
inc rcx
mov rdx, r12
call fcn.1401e3ed0
nop
test r12, r12
je 0x140101667
mov rcx, r12
call fcn.1401e36c8
jmp 0x140101667
test r12, r12
je 0x140101667
mov rcx, r12
call fcn.1401e36c8
jmp 0x140101667
test r12, r12
je 0x140101667
mov rcx, r12
call fcn.1401e36c8
jmp 0x140101667
mov dword [rbx + 8], r10d
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.WS2_32.dll_htonl]
mov rdi, rsi
test r12, r12
je 0x140101667
mov rcx, r12
call fcn.1401e36c8
test rbx, rbx
je 0x14010169d
mov edx, dword [rbx + 8]
mov ecx, dword [rbx + 0xc]
lea rax, [rdx + 1]
cmp rax, rcx
ja 0x140101685
mov rax, qword [rbx]
mov byte [rdx + rax], 0
inc dword [rbx + 8]
test rdi, rdi
je 0x140101690
mov eax, dword [rbx + 8]
mov dword [rdi + 0x10], eax
mov rcx, rbx
call fcn.1401e32b0
mov rax, rdi
jmp 0x1401016aa
mov rax, rdi
jmp 0x1401016aa
mov rax, rdi
jmp 0x1401016aa
mov rax, rdi
mov rcx, qword [rsp + 0x260]
xor rcx, rsp
call fcn.1401e42a0
lea r11, [rsp + 0x270]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret