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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x1a8
movaps xmmword [rsp + 0x190], xmm7
movaps xmmword [rsp + 0x180], xmm6
mov rsi, rcx
mov rax, qword [0x140174028]
xor rax, rsp
mov qword [rsp + 0x178], rax
lea rcx, str.EnforceNoExecutableFileHandles
call fcn.140086b00
mov dil, 1
test al, al
je 0x14001054f
movabs r15, 0xaaaaaaaaaaaaaaa
mov ecx, 4
call fcn.1400babfc
mov r14, rax
mov dword [rax], 6
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rcx, [rsp + 0x60]
mov qword [rcx + 0x10], rax
movaps xmm6, xmmword [0x14015bb90]
movaps xmmword [rcx], xmm6
mov qword [rsp + 0x38], rsi
mov rdx, rsi
call fcn.140019960
xor r13d, r13d
xorps xmm7, xmm7
lea rbx, [rsp + 0x130]
xor edi, edi
xor esi, esi
mov rbp, r14
mov qword [rsp + 0x30], r14
jmp 0x1400105c4
mov rcx, qword [rdi - 0x18]
call fcn.1400bab7c
mov rdi, rsi
cmp rsi, r13
je 0x140010514
lea rsi, [rdi - 0x18]
cmp byte [rdi - 1], 0
js 0x1400104d5
jmp 0x1400104de
xor bpl, 1
mov r13, rbx
cmp byte [rsp + 0x57], 0
jns 0x14001050a
mov rcx, qword [rsp + 0x40]
call fcn.1400bab7c
test r13, r13
je 0x140010526
cmp r13, rdi
jne 0x1400104e6
mov rcx, r13
call fcn.1400bab7c
movabs rsi, 0xaaaaaaaaaaaaaaaa
cmp byte [rsp + 0x77], 0
jns 0x140010537
mov rcx, qword [rsp + 0x60]
call fcn.1400bab7c
test r14, r14
je 0x140010544
mov rcx, r14
call fcn.1400bab7c
test bpl, bpl
je 0x140010cc7
xor edi, edi
mov rcx, qword [rsp + 0x178]
xor rcx, rsp
call fcn.1400bce30
mov eax, edi
movaps xmm6, xmmword [rsp + 0x180]
movaps xmm7, xmmword [rsp + 0x190]
add rsp, 0x1a8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
test rdi, rdi
je 0x140010ee8
mov rcx, rdi
mov rdx, rbx
call fcn.14008bf20
add rdi, 0x18
cmp byte [rsp + 0x147], 0
jns 0x1400105b4
mov rcx, qword [rsp + 0x130]
call fcn.1400bab7c
lea rax, [rbp + 4]
cmp rbp, r14
mov rbp, rax
je 0x140010719
mov ecx, dword [rbp]
movaps xmmword [rsp + 0x130], xmm7
mov qword [rsp + 0x140], 0
mov rdx, rbx
call fcn.14002d0e0
test al, al
je 0x14001059d
cmp rdi, rsi
jne 0x140010585
mov rbx, rdi
sub rbx, r13
sar rbx, 3
movabs rax, 0xaaaaaaaaaaaaaaab
imul rbx, rax
lea rsi, [rbx + 1]
cmp rsi, r15
ja 0x140010ef3
lea rax, [rbx + rbx]
cmp rax, rsi
cmova rsi, rax
movabs rax, 0x555555555555555
cmp rbx, rax
cmovae rsi, r15
test rsi, rsi
je 0x140010eeb
cmp rsi, r15
ja 0x140010ef6
lea rax, [rsi*8]
lea rcx, [rax + rax*2]
call fcn.1400babfc
mov r15, rax
lea r12, [rbx + rbx*2]
shl r12, 3
add r12, r15
je 0x140010ef9
mov rcx, r12
lea rdx, [rsp + 0x130]
call fcn.14008bf20
mov rbx, r12
cmp rdi, r13
je 0x1400106d1
mov rax, rdi
mov rbx, r12
mov rdx, r13
mov rcx, qword [rax - 8]
mov qword [rbx - 8], rcx
movups xmm0, xmmword [rax - 0x18]
movups xmmword [rbx - 0x18], xmm0
add rbx, 0xffffffffffffffe8
movups xmmword [rax - 0x18], xmm7
mov qword [rax - 8], 0
lea rcx, [rax - 0x18]
mov rax, rcx
cmp rcx, rdx
jne 0x140010685
lea r14, [rdi - 0x18]
cmp byte [rdi - 1], 0
jns 0x1400106c4
mov rcx, qword [rdi - 0x18]
call fcn.1400bab7c
mov rdi, r14
cmp r14, r13
jne 0x1400106b1
mov r14, qword [rsp + 0x30]
lea rax, [rsi + rsi*2]
lea rsi, [r15 + rax*8]
add r12, 0x18
test r13, r13
je 0x1400106ea
mov rcx, r13
call fcn.1400bab7c
mov r13, rbx
mov rdi, r12
movabs r15, 0xaaaaaaaaaaaaaaa
lea rbx, [rsp + 0x130]
jmp 0x14001059d
mov rcx, qword [rsp + 0x80]
call fcn.1400bab7c
jmp 0x14001084e
xorps xmm7, xmm7
movaps xmmword [rsp + 0x40], xmm7
mov qword [rsp + 0x50], 0
call qword [sym.imp.SHELL32.dll_IsUserAnAdmin]
test eax, eax
je 0x14001098e
lea r15, [rsp + 0xc0]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [r15 + 0x40], rax
movaps xmmword [r15 + 0x30], xmm6
movaps xmmword [r15 + 0x20], xmm6
movaps xmmword [r15 + 0x10], xmm6
movaps xmmword [r15], xmm6
lea rdx, str.GetSecureSystemTemp
lea r8, str....._base_files_file_util_win.cc
lea r12, [rsp + 0x130]
mov rcx, r12
mov r9d, 0x2b3
call fcn.140093320
mov rcx, r15
mov rdx, r12
xor r8d, r8d
call fcn.1400987b0
lea r15, [rsp + 0x80]
movaps xmmword [r15], xmm7
mov qword [r15 + 0x10], 0
mov ecx, 0x65
mov rdx, r15
call fcn.14002d0e0
test al, al
je 0x140010c6b
lea rax, str.SystemTemp
lea rdx, [rsp + 0xa0]
mov qword [rdx], rax
mov qword [rdx + 8], 0xa
mov rcx, r12
call fcn.1400aad10
movzx eax, byte [rsp + 0x147]
mov ecx, eax
and ecx, 0x7f
test al, al
cmovs r12, qword [rsp + 0x130]
lea r8, [rsp + 0xb0]
mov qword [r8], r12
cmovs rcx, qword [rsp + 0x138]
mov qword [r8 + 8], rcx
lea r12, [rsp + 0x80]
lea rdx, [rsp + 0x110]
mov rcx, r12
call fcn.1400aba60
cmp byte [rsp + 0x147], 0
jns 0x14001083d
mov rcx, qword [rsp + 0x130]
call fcn.1400bab7c
mov rbx, r13
cmp byte [rsp + 0x97], 0
js 0x140010707
lea rbp, [rsp + 0x110]
mov rax, qword [rbp + 0x10]
mov qword [rsp + 0x90], rax
movups xmm0, xmmword [rbp]
movaps xmmword [rsp + 0x80], xmm0
lea r13, [rsp + 0x130]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [r13 + 0x40], rax
movaps xmmword [r13 + 0x30], xmm6
movaps xmmword [r13 + 0x20], xmm6
movaps xmmword [r13 + 0x10], xmm6
movaps xmmword [r13], xmm6
lea rdx, str.PathExists
lea r8, str....._base_files_file_util_win.cc
mov rcx, rbp
mov r9d, 0x209
call fcn.140093320
mov rcx, r13
mov rdx, rbp
xor r8d, r8d
call fcn.1400987b0
cmp byte [rsp + 0x97], 0
jns 0x1400108d4
mov r12, qword [rsp + 0x80]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ebp, eax
mov rcx, r13
call fcn.14007d9b0
cmp ebp, 0xffffffff
je 0x140010a2c
lea rcx, [rsp + 0x80]
call fcn.140035860
test al, al
je 0x140010a2c
cmp byte [rsp + 0x57], 0
movzx eax, byte [rsp + 0x97]
mov r13, rbx
js 0x140010c34
test al, al
movabs rbx, 0xaaaaaaaaaaaaaaa
jns 0x1400109b7
mov rdx, qword [rsp + 0x80]
mov r8, qword [rsp + 0x88]
lea rcx, [rsp + 0x40]
call fcn.1400079d0
cmp byte [rsp + 0x97], 0
jns 0x14001095e
mov rcx, qword [rsp + 0x80]
call fcn.1400bab7c
lea rcx, [rsp + 0xc0]
call fcn.14007d9b0
cmp rdi, rsi
je 0x140010b42
test rdi, rdi
je 0x140010c8f
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.14008bf20
add rdi, 0x18
movabs rsi, 0xaaaaaaaaaaaaaaaa
cmp r13, rdi
je 0x1400109af
lea r15, [rsp + 0x130]
lea r12, [rsp + 0x60]
mov rbx, r13
jmp 0x1400109f5
mov bpl, 1
jmp 0x1400104f9
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x50], rax
movaps xmm0, xmmword [rsp + 0x80]
movaps xmmword [rsp + 0x40], xmm0
jmp 0x14001095e
mov rcx, qword [rsp + 0x130]
call fcn.1400bab7c
add r13, 0x18
cmp r13, rdi
sete al
or al, bpl
cmp al, 1
je 0x1400104f2
mov qword [rsp + 0x140], rsi
movaps xmmword [rsp + 0x130], xmm6
mov rcx, r15
mov rdx, r13
call fcn.140019960
mov rcx, r15
mov rdx, r12
xor r8d, r8d
call fcn.14002f180
mov ebp, eax
cmp byte [rsp + 0x147], 0
js 0x1400109d3
jmp 0x1400109e0
cmp byte [rsp + 0x97], 0
jns 0x140010a43
mov rcx, qword [rsp + 0x80]
call fcn.1400bab7c
xorps xmm0, xmm0
lea r12, [rsp + 0x80]
movaps xmmword [r12], xmm0
mov qword [r12 + 0x10], 0
mov ecx, 0x67
mov rdx, r12
call fcn.14002d0e0
test al, al
je 0x140010c99
lea r13, [rsp + 0x130]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [r13 + 0x40], rax
movaps xmmword [r13 + 0x30], xmm6
movaps xmmword [r13 + 0x20], xmm6
movaps xmmword [r13 + 0x10], xmm6
movaps xmmword [r13], xmm6
lea rdx, str.PathExists
lea r8, str....._base_files_file_util_win.cc
lea rbp, [rsp + 0x110]
mov rcx, rbp
mov r9d, 0x209
call fcn.140093320
mov rcx, r13
mov rdx, rbp
xor r8d, r8d
call fcn.1400987b0
cmp byte [rsp + 0x97], 0
jns 0x140010adf
mov r12, qword [rsp + 0x80]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ebp, eax
mov rcx, r13
call fcn.14007d9b0
cmp ebp, 0xffffffff
je 0x140010b0c
lea rcx, [rsp + 0x80]
call fcn.140035860
test al, al
jne 0x140010905
cmp byte [rsp + 0x97], 0
mov r13, rbx
jns 0x140010b26
mov rcx, qword [rsp + 0x80]
call fcn.1400bab7c
movabs rsi, 0xaaaaaaaaaaaaaaaa
lea rcx, [rsp + 0xc0]
call fcn.14007d9b0
jmp 0x140010998
mov rsi, rdi
sub rsi, r13
sar rsi, 3
movabs rax, 0xaaaaaaaaaaaaaaab
imul rsi, rax
lea rax, [rsi + 1]
cmp rax, rbx
ja 0x140010efc
lea rcx, [rsi + rsi]
cmp rcx, rax
cmova rax, rcx
movabs rcx, 0x555555555555555
cmp rsi, rcx
cmovae rax, rbx
test rax, rax
je 0x140010c92
cmp rax, rbx
ja 0x140010eff
shl rax, 3
lea rcx, [rax + rax*2]
call fcn.1400babfc
lea r15, [rsi + rsi*2]
shl r15, 3
add r15, rax
je 0x140010f02
lea rdx, [rsp + 0x40]
mov rcx, r15
call fcn.14008bf20
mov rsi, r15
cmp rdi, r13
je 0x140010c18
xorps xmm0, xmm0
mov rax, rdi
mov rsi, r15
mov rcx, qword [rax - 8]
mov qword [rsi - 8], rcx
movups xmm1, xmmword [rax - 0x18]
movups xmmword [rsi - 0x18], xmm1
add rsi, 0xffffffffffffffe8
movups xmmword [rax - 0x18], xmm0
mov qword [rax - 8], 0
lea rcx, [rax - 0x18]
mov rax, rcx
cmp rcx, r13
jne 0x140010bd1
lea rbx, [rdi - 0x18]
cmp byte [rdi - 1], 0
jns 0x140010c10
mov rcx, qword [rdi - 0x18]
call fcn.1400bab7c
mov rdi, rbx
cmp rbx, r13
jne 0x140010bfd
add r15, 0x18
test r13, r13
je 0x140010c29
mov rcx, r13
call fcn.1400bab7c
mov r13, rsi
mov rdi, r15
jmp 0x14001098e
mov r8d, eax
and r8d, 0x7f
test al, al
cmovs r8, qword [rsp + 0x88]
cmovs r15, qword [rsp + 0x80]
lea rcx, [rsp + 0x40]
mov rdx, r15
call fcn.140007a50
movabs rbx, 0xaaaaaaaaaaaaaaa
jmp 0x140010947
mov rbx, r13
cmp byte [rsp + 0x97], 0
jns 0x140010c85
mov rcx, qword [rsp + 0x80]
call fcn.1400bab7c
mov r14, qword [rsp + 0x30]
jmp 0x140010a43
int3
xor eax, eax
jmp 0x140010ba2
cmp byte [rsp + 0x97], 0
jns 0x140010cb0
mov rcx, qword [rsp + 0x80]
call fcn.1400bab7c
movabs rsi, 0xaaaaaaaaaaaaaaaa
mov r14, qword [rsp + 0x30]
mov r13, rbx
jmp 0x140010b30
mov qword [rsp + 0x150], rsi
movaps xmmword [rsp + 0x140], xmm6
movaps xmmword [rsp + 0x130], xmm6
lea rdx, [0x140160640]
lea rcx, [rsp + 0x110]
call fcn.140012010
mov ecx, 0x18
call fcn.1400babfc
mov qword [rsp + 0xc0], rax
lea rsi, [rax + 0x18]
mov qword [rsp + 0xd0], rsi
test rax, rax
je 0x140010f05
mov rdi, rax
cmp byte [rsp + 0x127], 0
jns 0x140010d80
mov r14, qword [rsp + 0x110]
mov rbx, qword [rsp + 0x118]
cmp rbx, 0xa
jbe 0x140010d99
movabs r15, 0x7fffffffffffffef
cmp rbx, r15
ja 0x140010f08
mov r12, rbx
or r12, 7
inc r12
js 0x140010f0b
lea rcx, [r12 + r12]
call fcn.1400babfc
mov qword [rdi], rax
add r15, 0x11
or r15, r12
mov qword [rdi + 0x10], r15
mov qword [rdi + 8], rbx
mov rdi, rax
jmp 0x140010d9c
mov rax, qword [rsp + 0x120]
mov qword [rdi + 0x10], rax
movups xmm0, xmmword [rsp + 0x110]
movups xmmword [rdi], xmm0
jmp 0x140010dc6
mov byte [rdi + 0x17], bl
cmp rdi, r14
ja 0x140010db2
lea rax, [rdi + rbx*2]
add rax, 2
cmp rax, r14
ja 0x140010ee5
inc rbx
add rbx, rbx
mov rcx, rdi
mov rdx, r14
mov r8, rbx
call fcn.1400be8b0
lea rdi, [rsp + 0xc0]
mov qword [rdi + 8], rsi
lea rcx, [rsp + 0x130]
mov rdx, rdi
call fcn.140028c10
mov rsi, qword [rdi]
test rsi, rsi
je 0x140010e2e
mov rax, qword [rsp + 0xc8]
mov rcx, rsi
cmp rax, rsi
jne 0x140010e0d
jmp 0x140010e21
mov rcx, qword [rax - 0x18]
call fcn.1400bab7c
mov rax, rdi
cmp rdi, rsi
je 0x140010e19
lea rdi, [rax - 0x18]
cmp byte [rax - 1], 0
jns 0x140010e05
jmp 0x140010dfc
mov rcx, qword [rsp + 0xc0]
mov qword [rsp + 0xc8], rsi
call fcn.1400bab7c
cmp byte [rsp + 0x127], 0
jns 0x140010e45
mov rcx, qword [rsp + 0x110]
call fcn.1400bab7c
cmp byte [rsp + 0x130], 0
mov rcx, qword [rsp + 0x38]
je 0x140010ee3
lea rbx, [rsp + 0x138]
mov dword [rsp + 0x28], 2
mov byte [rsp + 0x20], 0
mov rdx, rbx
mov r8d, 0x20
xor r9d, r9d
call fcn.140019c70
mov edi, eax
cmp byte [rbx - 8], 0
je 0x14001054f
mov rsi, qword [rsp + 0x138]
test rsi, rsi
je 0x14001054f
mov rax, qword [rsp + 0x140]
mov rcx, rsi
cmp rax, rsi
je 0x140010ed1
lea rbx, [rax - 0x18]
mov rcx, qword [rax - 0x18]
test rcx, rcx
je 0x140010ec1
mov qword [rax - 0x10], rcx
call fcn.1400bab7c
mov rax, rbx
cmp rbx, rsi
jne 0x140010eab
mov rcx, qword [rsp + 0x138]
mov qword [rsp + 0x140], rsi
call fcn.1400bab7c
jmp 0x14001054f
ud2
int3
int3
xor r15d, r15d
jmp 0x140010653
int3
int3
int3
int3
int3
int3
int3
int3
int3