Function at 0x14013a490
Capabilities:
Get file attributes

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0xf8
mov qword [rbp - 0x21], 0xfffffffffffffffe
mov rbx, rcx
call fcn.1401e6f50
lea r15, [rbx + 0x28]
mov rcx, qword [r15]
mov qword [rbp + 0x6f], rcx
xor r13d, r13d
mov qword [r15], r13
or r12d, 0xffffffff
test rcx, rcx
je 0x14013a4ed
mov eax, r12d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14013a4ed
mov rcx, qword [rbp + 0x6f]
mov rax, qword [rcx]
lea edx, [r13 + 1]
call qword [rax]
lea rdi, [rbx + 0x30]
mov qword [rsp + 0x30], rdi
mov rax, qword [rdi]
mov qword [rbp - 0x19], rax
lea rcx, [rax - 0x10]
lea rax, [0x1402901c8]
cmp rcx, rax
je 0x14013a51d
mov eax, r12d
lock xadd dword [rcx], eax
test eax, eax
jne 0x14013a51d
call fcn.1400bd658
lea rax, [0x1402901d8]
mov qword [rdi], rax
lea r9, [rbx - 0xc8]
mov qword [rbp - 0x51], r9
lea rdx, [rbp + 7]
mov rcx, r9
call fcn.140161d00
mov r8b, 1
mov rdx, rax
mov rcx, r9
call fcn.14015c220
mov ecx, 0x28
call fcn.1400bd614
mov qword [rbp - 0x29], rax
lea rdi, [rbx + 0x20]
mov qword [rbp + 0x7f], rdi
mov rdx, rdi
mov rcx, rax
call fcn.140185940
mov r14, rax
mov rax, qword [rax + 0x20]
cmp byte [rax], 0
je 0x14013a589
mov rax, qword [r14]
mov edx, 1
mov rcx, r14
call qword [rax]
mov r14, r13
mov qword [rbp - 0x29], r14
test r14, r14
je 0x14013a88c
lea rdx, [r14 + 8]
mov rax, qword [rdx]
cmp byte [rax], 0
je 0x14013a88c
lea rcx, [rbp - 0x11]
call fcn.140040d80
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
nop
test al, 0x10
jne 0x14013a88c
mov rcx, r14
call fcn.1401d9400
mov rbx, rax
test rax, rax
je 0x14013a88c
mov r9, qword [rax]
mov r8, r14
lea rdx, [rbp + 0x77]
mov rcx, rax
call qword [r9 + 0x20]
mov rdx, qword [r15]
mov qword [rbp - 9], rdx
mov rcx, qword [rax]
mov qword [r15], rcx
mov qword [rax], rdx
mov rcx, qword [rbp + 0x77]
test rcx, rcx
je 0x14013a616
mov eax, r12d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14013a616
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
cmp qword [r15], 0
je 0x14013a88c
mov rax, qword [r15]
test rax, rax
jne 0x14013a62e
mov dword [rbp + 0x67], r13d
jmp 0x14013a634
mov eax, dword [rax + 0x14]
mov dword [rbp + 0x67], eax
mov rax, qword [r15]
test rax, rax
je 0x14013a640
mov r13d, dword [rax + 0x18]
mov rcx, rdi
call fcn.140184540
mov rdx, rax
lea rcx, [rbp - 0x59]
call fcn.1401843e0
mov rsi, rax
mov r8, qword [rbx]
lea rdx, [rbp - 0x61]
mov rcx, rbx
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
mov rdi, rax
lea rdx, [rbp - 0x69]
mov rcx, qword [rbp + 0x7f]
call fcn.140184390
nop
mov rdx, rax
mov rcx, qword [rsp + 0x30]
call fcn.14018b020
mov rbx, rax
lea rax, [0x14028bd2d]
mov qword [rsp + 0x38], rax
lea rax, [0x14028bd2c]
mov qword [rsp + 0x40], rax
lea r8, [rsp + 0x38]
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.140177790
mov rdx, rdi
mov rcx, rbx
call fcn.14018b020
mov rbx, rax
lea rax, [0x14028bd05]
mov qword [rsp + 0x48], rax
lea rax, [0x14028bd04]
mov qword [rsp + 0x50], rax
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x50]
mov rcx, rbx
call fcn.140177790
mov edi, dword [rbp + 0x67]
mov edx, edi
mov rcx, rbx
call fcn.140184db0
mov rbx, rax
lea rax, [0x14028bcf7]
mov qword [rbp + 0x67], rax
lea rax, [0x14028bcf4]
mov qword [rsp + 0x58], rax
lea r8, [rbp + 0x67]
lea rdx, [rsp + 0x58]
mov rcx, rbx
call fcn.140177790
mov edx, r13d
mov rcx, rbx
call fcn.140184db0
mov rbx, rax
lea rax, [0x14028bf98]
mov qword [rbp - 0x79], rax
lea rax, str._pixels_n
mov qword [rbp - 0x71], rax
lea r8, [rbp - 0x79]
lea rdx, [rbp - 0x71]
mov rcx, rbx
call fcn.140177790
mov rdx, rsi
mov rcx, rbx
call fcn.14018b020
nop
mov rcx, qword [rbp - 0x69]
add rcx, 0xfffffffffffffff0
lea rbx, [0x1402901c8]
cmp rcx, rbx
je 0x14013a785
mov eax, r12d
lock xadd dword [rcx], eax
test eax, eax
jne 0x14013a785
call fcn.1400bd658
nop
mov rcx, qword [rbp - 0x61]
add rcx, 0xfffffffffffffff0
cmp rcx, rbx
je 0x14013a7a3
mov eax, r12d
lock xadd dword [rcx], eax
test eax, eax
jne 0x14013a7a3
call fcn.1400bd658
nop
mov rcx, qword [rbp - 0x59]
add rcx, 0xfffffffffffffff0
cmp rcx, rbx
je 0x14013a7c0
mov eax, r12d
lock xadd dword [rcx], eax
test eax, eax
jne 0x14013a7c0
call fcn.1400bd658
mov rax, qword [rbp - 0x51]
movd xmm0, dword [rax + 0x28]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x140437274]
cvtps2pd xmm1, xmm0
movsd xmm4, qword [0x1404376d0]
addsd xmm1, xmm4
movsd qword [rbp - 0x49], xmm1
mov eax, dword [rax + 0x2c]
add eax, 0xffffffcc
movd xmm2, r13d
cvtdq2pd xmm2, xmm2
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm0, xmm2
movd xmm1, edi
cvtdq2pd xmm1, xmm1
movd xmm3, dword [rbp - 0x49]
cvtdq2pd xmm3, xmm3
divsd xmm3, xmm1
movsd xmm5, qword [0x140437440]
comisd xmm5, xmm3
jbe 0x14013a82c
minsd xmm0, xmm3
jmp 0x14013a830
minsd xmm0, xmm5
mulsd xmm1, xmm0
addsd xmm1, xmm4
movsd qword [rbp - 0x39], xmm1
mulsd xmm2, xmm0
addsd xmm2, xmm4
movsd qword [rbp - 0x41], xmm2
mov r9d, dword [rbp - 0x41]
mov r8d, dword [rbp - 0x39]
lea rdx, [rbp - 0x31]
mov rcx, r15
call fcn.1401d6ee0
mov rdx, qword [r15]
mov qword [rbp - 1], rdx
mov rcx, qword [rax]
mov qword [r15], rcx
mov qword [rax], rdx
mov rcx, qword [rbp - 0x31]
test rcx, rcx
je 0x14013a88c
lock xadd dword [rcx + 8], r12d
cmp r12d, 1
jne 0x14013a88c
mov rax, qword [rcx]
mov edx, r12d
call qword [rax]
nop
test r14, r14
je 0x14013a89e
mov rax, qword [r14]
mov edx, 1
mov rcx, r14
call qword [rax]
add rsp, 0xf8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret