Function at 0x140064860
Capabilities:
Check if file exists
Create directory
Get file attributes

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x638
mov r14d, r9d
mov r13d, r8d
mov r15, rdx
mov rdi, rcx
mov rax, qword [0x14020eb28]
xor rax, rsp
mov qword [rsp + 0x630], rax
lea rdx, str.DoCopyDirectory
lea r8, str..._.._base_files_file_util_win.cc
lea rbx, [rsp + 0x368]
mov rcx, rbx
mov r9d, 0xdd
call fcn.140054e50
lea rcx, [rsp + 0xa8]
xor ebp, ebp
mov rdx, rbx
xor r8d, r8d
call fcn.14009ceb0
movzx eax, byte [rdi + 0x17]
test al, al
jns 0x1400648d6
mov rax, qword [rdi + 8]
cmp rax, 0x103
ja 0x140064a71
movzx eax, byte [r15 + 0x17]
test al, al
jns 0x1400648ef
mov rax, qword [r15 + 8]
cmp rax, 0x103
jbe 0x1400648fe
xor ebp, ebp
jmp 0x140064a71
lea rbp, [rsp + 0x90]
mov rcx, rbp
mov rdx, r15
call fcn.140050570
lea rdx, str.PathExists
lea r8, str..._.._base_files_file_util_win.cc
lea rsi, [rsp + 0x118]
mov rcx, rsi
mov r9d, 0x1cd
call fcn.140054e50
lea rbx, [rsp + 0x368]
mov rcx, rbx
mov rdx, rsi
xor r8d, r8d
call fcn.14009ceb0
cmp byte [rbp + 0x17], 0
jns 0x140064959
mov rbp, qword [rsp + 0x90]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov esi, eax
mov rcx, rbx
call fcn.14009cfd0
cmp esi, 0xffffffff
je 0x1400649a5
lea rsi, [rsp + 0x368]
lea rbx, [rsp + 0x90]
mov rcx, rsi
mov rdx, rbx
call fcn.1400640d0
mov rcx, rbx
mov rdx, rsi
call fcn.1400506c0
mov rcx, rsi
call fcn.140050690
movzx eax, byte [rbx + 0x17]
jmp 0x1400649f2
lea rsi, [rsp + 0x90]
lea rbx, [rsp + 0x118]
mov rcx, rsi
mov rdx, rbx
call fcn.140051160
lea rbp, [rsp + 0x368]
mov rcx, rbp
mov rdx, rbx
call fcn.1400640d0
mov rcx, rsi
mov rdx, rbp
call fcn.1400506c0
mov rcx, rbp
call fcn.140050690
mov rcx, rbx
call fcn.140050690
movzx eax, byte [rsi + 0x17]
test al, al
jns 0x1400649fe
mov rax, qword [rsp + 0x98]
test rax, rax
je 0x140064a62
lea rsi, [rsp + 0x78]
mov rcx, rsi
mov rdx, rdi
call fcn.1400640d0
movzx eax, byte [rsi + 0x17]
test al, al
jns 0x140064a23
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x140064a54
lea rcx, [rsp + 0x90]
lea rdx, [rsp + 0x78]
call fcn.140050730
test al, al
jne 0x140064a54
lea rcx, [rsp + 0x78]
lea rdx, [rsp + 0x90]
call fcn.1400518f0
test al, al
je 0x140064aa4
xor ebp, ebp
lea rcx, [rsp + 0x78]
call fcn.140050690
jmp 0x140064a64
xor ebp, ebp
lea rcx, [rsp + 0x90]
call fcn.140050690
lea rcx, [rsp + 0xa8]
call fcn.14009cfd0
mov rcx, qword [rsp + 0x630]
xor rcx, rsp
call fcn.140180700
mov eax, ebp
add rsp, 0x638
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movzx eax, r13b
lea r9d, [rax + rax]
add r9d, 1
lea rcx, [rsp + 0x368]
mov rdx, rdi
mov r8d, r13d
call fcn.14006b960
lea rdx, str.PathExists
lea r8, str..._.._base_files_file_util_win.cc
lea rsi, [rsp + 0xf8]
mov rcx, rsi
mov r9d, 0x1cd
call fcn.140054e50
lea rbx, [rsp + 0x118]
xor ebp, ebp
mov rcx, rbx
mov rdx, rsi
xor r8d, r8d
call fcn.14009ceb0
cmp byte [rdi + 0x17], 0
mov rcx, rdi
jns 0x140064b0b
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov esi, eax
mov rcx, rbx
call fcn.14009cfd0
cmp esi, 0xffffffff
je 0x140064de2
lea rcx, [rsp + 0x60]
mov rdx, rdi
call fcn.140050570
lea rdx, str.DirectoryExists
lea r8, str..._.._base_files_file_util_win.cc
lea rsi, [rsp + 0xf8]
mov rcx, rsi
mov r9d, 0x1df
call fcn.140054e50
lea r12, [rsp + 0x118]
mov rcx, r12
mov rdx, rsi
xor r8d, r8d
call fcn.14009ceb0
cmp byte [rdi + 0x17], 0
mov rcx, rdi
jns 0x140064b77
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ebp, eax
cmp eax, 0xffffffff
setne sil
and ebp, 0x10
shr ebp, 4
mov rcx, r12
call fcn.14009cfd0
lea rcx, [rsp + 0x48]
mov rdx, rdi
call fcn.140050570
test r13b, r13b
je 0x140064c33
lea rdx, str.DirectoryExists
lea r8, str..._.._base_files_file_util_win.cc
lea rbx, [rsp + 0xf8]
mov rcx, rbx
mov r9d, 0x1df
call fcn.140054e50
lea r12, [rsp + 0x118]
mov rcx, r12
mov rdx, rbx
xor r8d, r8d
call fcn.14009ceb0
cmp byte [r15 + 0x17], 0
mov rcx, r15
jns 0x140064bf1
mov rcx, qword [r15]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ebx, eax
mov rcx, r12
call fcn.14009cfd0
cmp ebx, 0xffffffff
je 0x140064c33
and ebx, 0x10
je 0x140064c33
lea rbx, [rsp + 0x118]
mov rcx, rdi
mov rdx, rbx
call fcn.140051160
lea rcx, [rsp + 0x48]
mov rdx, rbx
call fcn.1400506c0
mov rcx, rbx
call fcn.140050690
mov ebx, esi
and bl, bpl
mov bpl, 1
lea r13, [rsp + 0x30]
lea rsi, [rsp + 0x48]
lea rdi, [rsp + 0x60]
lea r12, [rsp + 0x118]
mov byte [rsp + 0x2f], r14b
movzx eax, byte [rsp + 0x77]
test al, al
jns 0x140064c65
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x140064dca
mov rcx, r13
mov rdx, r15
call fcn.140050570
mov rcx, rsi
mov rdx, rdi
call fcn.140050970
test al, al
je 0x140064c9e
mov rcx, rsi
mov rdx, rdi
mov r8, r13
call fcn.140051900
test al, al
je 0x140064dbe
test bl, 1
jne 0x140064cc4
mov rcx, rdi
mov rdx, r13
mov r8d, r14d
call fcn.140065fe0
movzx ebp, bpl
test al, al
mov eax, 0
cmove ebp, eax
jmp 0x140064d52
lea r14, [rsp + 0xf8]
mov rcx, r14
lea rdx, str.DirectoryExists
lea r8, str..._.._base_files_file_util_win.cc
mov r9d, 0x1df
call fcn.140054e50
mov rcx, r12
mov rdx, r14
xor r8d, r8d
call fcn.14009ceb0
cmp byte [rsp + 0x47], 0
mov r14, r13
jns 0x140064d05
mov r13, qword [rsp + 0x30]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov r13d, eax
mov rcx, r12
call fcn.14009cfd0
cmp r13d, 0xffffffff
je 0x140064d2a
and r13d, 0x10
je 0x140064d2a
mov r13, r14
jmp 0x140064d4d
cmp byte [rsp + 0x47], 0
mov r13, r14
mov rcx, r14
jns 0x140064d3c
mov rcx, qword [rsp + 0x30]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
movzx ebp, bpl
cmove ebp, eax
mov r14b, byte [rsp + 0x2f]
lea rcx, [rsp + 0x368]
mov rdx, r12
call fcn.14006bc30
mov rcx, rdi
mov rdx, r12
call fcn.1400506c0
mov rcx, r12
call fcn.140050690
movzx eax, byte [rsp + 0x77]
test al, al
jns 0x140064d83
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x140064daa
lea rcx, [rsp + 0x368]
mov rdx, r12
call fcn.14006bba0
mov rcx, r12
call fcn.14006b8d0
mov ebx, eax
mov rcx, r12
call fcn.140011890
mov rcx, r13
call fcn.140050690
test bpl, 1
jne 0x140064c57
jmp 0x140064dca
lea rcx, [rsp + 0x30]
call fcn.140050690
xor ebp, ebp
and bpl, 1
lea rcx, [rsp + 0x48]
call fcn.140050690
lea rcx, [rsp + 0x60]
call fcn.140050690
lea rcx, [rsp + 0x368]
call fcn.14006bb30
jmp 0x140064a56