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

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xd0
mov rax, qword [0x140231ec8]
xor rax, rsp
mov qword [rbp + 0x1f], rax
mov r15, rdx
mov r14, rcx
xor r12d, r12d
mov dword [rsp + 0x20], r12d
mov byte [rdx], r12b
mov rdx, rcx
lea rcx, [rsp + 0x28]
call fcn.1400e393c
nop
mov qword [rbp - 0x41], r12
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x31], xmm0
lea esi, [r12 + 3]
mov r8d, esi
lea rdx, [0x1401f2ca0]
lea rcx, [rbp - 0x41]
call fcn.1400041b8
nop
lea edi, [rsi - 2]
mov ebx, edi
mov dword [rsp + 0x20], ebx
lea rdx, [rbp - 0x41]
lea r13d, [r12 + 8]
cmp qword [rbp - 0x29], r13
cmovae rdx, qword [rbp - 0x41]
lea rcx, [rsp + 0x28]
cmp qword [rbp - 0x69], r13
cmovae rcx, qword [rsp + 0x28]
mov r8d, esi
call fcn.140105fc8
test eax, eax
je 0x14018491a
mov qword [rbp - 0x61], r12
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x51], xmm0
mov r8d, esi
lea rdx, [0x1401f2ca8]
lea rcx, [rbp - 0x61]
call fcn.1400041b8
nop
mov ebx, esi
mov dword [rsp + 0x20], ebx
lea rdx, [rbp - 0x61]
cmp qword [rbp - 0x49], r13
cmovae rdx, qword [rbp - 0x61]
lea rcx, [rsp + 0x28]
cmp qword [rbp - 0x69], r13
cmovae rcx, qword [rsp + 0x28]
mov r8d, esi
call fcn.140105fc8
test eax, eax
jne 0x140184968
lea rax, [rsp + 0x28]
cmp qword [rbp - 0x69], r13
cmovae rax, qword [rsp + 0x28]
movzx ecx, word [rax + 6]
call fcn.1401c1e10
test eax, eax
je 0x140184968
lea rax, [rsp + 0x28]
cmp qword [rbp - 0x69], r13
setae cl
cmovae rax, qword [rsp + 0x28]
cmp word [rax + 8], 0x2e
je 0x140184963
lea rax, [rsp + 0x28]
test cl, cl
cmovne rax, qword [rsp + 0x28]
cmp word [rax + 8], r12w
jne 0x140184968
mov sil, dil
jmp 0x14018496b
mov sil, r12b
test bl, 2
je 0x1401849c8
and ebx, 0xfffffffd
mov dword [rsp + 0x20], ebx
mov rdx, qword [rbp - 0x49]
cmp rdx, r13
jb 0x1401849b6
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x61]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401849b1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140184cf8
call fcn.1401af9bc
movdqa xmm0, xmmword [0x1401dc090]
movdqu xmmword [rbp - 0x51], xmm0
mov word [rbp - 0x61], r12w
test dil, bl
je 0x140184a25
and ebx, 0xfffffffe
mov dword [rsp + 0x20], ebx
mov rdx, qword [rbp - 0x29]
cmp rdx, r13
jb 0x140184a13
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x41]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140184a0e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140184cfe
call fcn.1401af9bc
movdqa xmm0, xmmword [0x1401dc090]
movdqu xmmword [rbp - 0x31], xmm0
mov word [rbp - 0x41], r12w
test sil, sil
jne 0x140184cbb
mov qword [rbp - 0x61], r12
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x51], xmm0
mov esi, 3
mov r8d, esi
lea rdx, [0x1401ee630]
lea rcx, [rbp - 0x61]
call fcn.1400041b8
nop
or ebx, 4
mov dword [rsp + 0x20], ebx
lea rdx, [rbp - 0x61]
cmp qword [rbp - 0x49], r13
cmovae rdx, qword [rbp - 0x61]
lea rcx, [rsp + 0x28]
cmp qword [rbp - 0x69], r13
cmovae rcx, qword [rsp + 0x28]
mov r8d, esi
call fcn.140105fc8
test eax, eax
je 0x140184b77
mov qword [rbp - 0x41], r12
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x31], xmm0
mov r8d, esi
lea rdx, [0x1401ee638]
lea rcx, [rbp - 0x41]
call fcn.1400041b8
nop
or ebx, r13d
mov dword [rsp + 0x20], ebx
lea rdx, [rbp - 0x41]
cmp qword [rbp - 0x29], r13
cmovae rdx, qword [rbp - 0x41]
lea rcx, [rsp + 0x28]
cmp qword [rbp - 0x69], r13
cmovae rcx, qword [rsp + 0x28]
mov r8d, esi
call fcn.140105fc8
test eax, eax
je 0x140184b77
mov qword [rbp - 1], r12
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xf], xmm0
mov r8d, esi
lea rdx, [0x1401ee640]
lea rcx, [rbp - 1]
call fcn.1400041b8
nop
or ebx, 0x10
mov dword [rsp + 0x20], ebx
lea rdx, [rbp - 1]
cmp qword [rbp + 0x17], r13
cmovae rdx, qword [rbp - 1]
lea rcx, [rsp + 0x28]
cmp qword [rbp - 0x69], r13
cmovae rcx, qword [rsp + 0x28]
mov r8d, esi
call fcn.140105fc8
test eax, eax
je 0x140184b77
mov qword [rbp - 0x21], r12
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x11], xmm0
mov r8d, esi
lea rdx, [0x1401edd10]
lea rcx, [rbp - 0x21]
call fcn.1400041b8
nop
or ebx, 0x20
mov dword [rsp + 0x20], ebx
lea rdx, [rbp - 0x21]
cmp qword [rbp - 9], r13
cmovae rdx, qword [rbp - 0x21]
lea rcx, [rsp + 0x28]
cmp qword [rbp - 0x69], r13
cmovae rcx, qword [rsp + 0x28]
mov r8d, esi
call fcn.140105fc8
test eax, eax
jne 0x140184ba4
lea rax, [rsp + 0x28]
cmp qword [rbp - 0x69], r13
setae cl
cmovae rax, qword [rsp + 0x28]
cmp word [rax + 6], 0x2e
je 0x140184ba9
lea rax, [rsp + 0x28]
test cl, cl
cmovne rax, qword [rsp + 0x28]
cmp word [rax + 6], r12w
je 0x140184ba9
mov sil, r12b
jmp 0x140184bac
mov sil, dil
test bl, 0x20
je 0x140184bc2
and ebx, 0xffffffdf
mov dword [rsp + 0x20], ebx
lea rcx, [rbp - 0x21]
call fcn.140006b94
nop
test bl, 0x10
je 0x140184bd8
and ebx, 0xffffffef
mov dword [rsp + 0x20], ebx
lea rcx, [rbp - 1]
call fcn.140006b94
nop
test r13b, bl
je 0x140184c35
and ebx, 0xfffffff7
mov dword [rsp + 0x20], ebx
mov rdx, qword [rbp - 0x29]
cmp rdx, r13
jb 0x140184c23
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x41]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140184c1e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140184d04
call fcn.1401af9bc
movdqa xmm0, xmmword [0x1401dc090]
movdqu xmmword [rbp - 0x31], xmm0
mov word [rbp - 0x41], r12w
test bl, 4
je 0x140184c8e
and ebx, 0xfffffffb
mov dword [rsp + 0x20], ebx
mov rdx, qword [rbp - 0x49]
cmp rdx, r13
jb 0x140184c7c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x61]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140184c77
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140184cf2
call fcn.1401af9bc
movdqa xmm0, xmmword [0x1401dc090]
movdqu xmmword [rbp - 0x51], xmm0
mov word [rbp - 0x61], r12w
test sil, sil
jne 0x140184cbb
mov rcx, r14
cmp qword [r14 + 0x18], r13
jb 0x140184c9f
mov rcx, qword [r14]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x140184cb6
mov rcx, r14
call fcn.1400cbff4
test al, al
jne 0x140184cbe
mov dil, r12b
jmp 0x140184cbe
mov byte [r15], dil
lea rcx, [rsp + 0x28]
call fcn.140006b94
mov al, dil
mov rcx, qword [rbp + 0x1f]
xor rcx, rsp
call fcn.1401afad0
mov rbx, qword [rsp + 0x120]
add rsp, 0xd0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1401b6b94
nop
call fcn.1401b6b94
nop
call fcn.1401b6b94
nop
call fcn.1401b6b94
int3