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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r14
lea rbp, [rsp - 0x60]
sub rsp, 0x160
mov rax, qword [0x14008b020]
xor rax, rsp
mov qword [rbp + 0x58], rax
mov rsi, r9
mov rbx, rdx
mov qword [rsp + 0x50], rdx
xor r14d, r14d
mov dword [rsp + 0x40], r14d
mov eax, 0x5c
mov word [rsp + 0x48], ax
mov rax, qword [r8 + 0x10]
movabs rcx, 0x7ffffffffffffffe
cmp rax, rcx
je 0x140029146
cmp qword [r8 + 0x18], 8
jb 0x140028c2f
mov r8, qword [r8]
mov qword [rsp + 0x30], 1
lea rcx, [rsp + 0x48]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
mov r9, r8
lea rcx, [rbp - 8]
call fcn.14001e1d0
mov edi, 2
mov dword [rsp + 0x40], edi
mov r8, rsi
lea rdx, [rbp - 8]
lea rcx, [rbp - 0x68]
call fcn.14001bea0
nop
and edi, 0xfffffffd
mov dword [rsp + 0x40], edi
mov rdx, qword [rbp + 0x10]
cmp rdx, 8
jb 0x140028cb4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140028caf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002914c
call fcn.14003d1f0
movdqa xmm0, xmmword [0x14007dc60]
movdqu xmmword [rbp + 8], xmm0
mov word [rbp - 8], r14w
xorps xmm0, xmm0
movups xmmword [rbp - 0x48], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x38], xmm1
mov r8d, 0x13
lea rdx, str.WorkingDirectorySys
lea rcx, [rbp - 0x48]
call fcn.140004560
nop
lea r9, [rbp - 0x48]
lea r8, [rbp - 0x68]
mov rdx, 0xffffffff80000002
lea rcx, [rbp + 0x18]
call fcn.14002ed80
nop
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.1400038b0
nop
mov rdx, qword [rbp + 0x30]
cmp rdx, 8
jb 0x140028d53
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140028d4e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140029152
call fcn.14003d1f0
movdqa xmm0, xmmword [0x14007dc60]
movdqu xmmword [rbp + 0x28], xmm0
mov word [rbp + 0x18], r14w
mov rdx, qword [rbp - 0x30]
cmp rdx, 8
jb 0x140028da5
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140028da0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140029158
call fcn.14003d1f0
movdqa xmm0, xmmword [0x14007dc60]
movdqu xmmword [rbp - 0x38], xmm0
mov word [rbp - 0x48], r14w
lea rcx, [rsp + 0x58]
cmp qword [rsp + 0x70], 8
cmovae rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140028e8e
test al, 0x10
je 0x140028e8e
movups xmm0, xmmword [rsp + 0x58]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rsp + 0x68]
movups xmmword [rbx + 0x10], xmm1
movdqa xmm0, xmmword [0x14007dc60]
movdqu xmmword [rsp + 0x68], xmm0
mov word [rsp + 0x58], r14w
or edi, 1
mov dword [rsp + 0x40], edi
movdqa xmm0, xmmword [0x14007dc60]
movdqu xmmword [rsp + 0x68], xmm0
mov word [rsp + 0x58], r14w
mov rdx, qword [rbp - 0x50]
cmp rdx, 8
jb 0x140028e5f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140028e5a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140029140
call fcn.14003d1f0
movdqa xmm0, xmmword [0x14007dc60]
movdqu xmmword [rbp - 0x58], xmm0
mov word [rbp - 0x68], r14w
mov rax, rbx
mov rcx, qword [rbp + 0x58]
xor rcx, rsp
call fcn.14003d1d0
add rsp, 0x160
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x18], xmm1
mov r8d, 0x13
lea rdx, str.WorkingDirectoryUwp
lea rcx, [rbp - 0x28]
call fcn.140004560
nop
lea r9, [rbp - 0x28]
lea r8, [rbp - 0x68]
mov rdx, 0xffffffff80000002
lea rcx, [rbp + 0x38]
call fcn.14002ed80
nop
mov rdx, rax
lea rcx, [rsp + 0x78]
call fcn.1400038b0
nop
mov rdx, qword [rbp + 0x50]
cmp rdx, 8
jb 0x140028f1b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140028f16
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002915e
call fcn.14003d1f0
movdqa xmm0, xmmword [0x14007dc60]
movdqu xmmword [rbp + 0x48], xmm0
mov word [rbp + 0x38], r14w
mov rdx, qword [rbp - 0x10]
cmp rdx, 8
jb 0x140028f6d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140028f68
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140029164
call fcn.14003d1f0
movdqa xmm0, xmmword [0x14007dc60]
movdqu xmmword [rbp - 0x18], xmm0
mov word [rbp - 0x28], r14w
lea rcx, [rsp + 0x78]
cmp qword [rbp - 0x70], 8
cmovae rcx, qword [rsp + 0x78]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140029026
test al, 0x10
je 0x140029026
movups xmm0, xmmword [rsp + 0x78]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rbp - 0x78]
movups xmmword [rbx + 0x10], xmm1
movdqa xmm0, xmmword [0x14007dc60]
movdqu xmmword [rbp - 0x78], xmm0
mov word [rsp + 0x78], r14w
or edi, 1
mov dword [rsp + 0x40], edi
movdqu xmmword [rbp - 0x78], xmm0
mov word [rsp + 0x78], r14w
mov rdx, qword [rsp + 0x70]
cmp rdx, 8
jb 0x140028e0b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002901c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002913a
call fcn.14003d1f0
jmp 0x140028e0b
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], r14
mov r8d, 4
lea rdx, str.none
mov rcx, rbx
call fcn.140004560
or edi, 1
mov dword [rsp + 0x40], edi
mov rdx, qword [rbp - 0x70]
cmp rdx, 8
jb 0x140029091
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002908c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002916a
call fcn.14003d1f0
movdqa xmm0, xmmword [0x14007dc60]
movdqu xmmword [rbp - 0x78], xmm0
mov word [rsp + 0x78], r14w
mov rdx, qword [rsp + 0x70]
cmp rdx, 8
jb 0x1400290e2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400290dd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002913a
call fcn.14003d1f0
movdqa xmm0, xmmword [0x14007dc60]
movdqu xmmword [rsp + 0x68], xmm0
mov word [rsp + 0x58], r14w
mov rdx, qword [rbp - 0x50]
cmp rdx, 8
jb 0x140028e5f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140028e5a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140029140
jmp 0x140028e5a
call fcn.14004930c
nop
call fcn.14004930c
nop
call fcn.140002a10
nop
call fcn.14004930c
nop
call fcn.14004930c
nop
call fcn.14004930c
nop
call fcn.14004930c
nop
call fcn.14004930c
nop
call fcn.14004930c
int3