Function at 0x140093690
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, 0x678
movaps xmmword [rsp + 0x660], xmm6
mov ebx, r9d
mov ebp, r8d
mov rsi, rdx
mov r14, rcx
mov rax, qword [0x14021f030]
xor rax, rsp
mov qword [rsp + 0x658], rax
movabs r13, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x650], r13
movaps xmm6, xmmword [0x1401e7440]
movaps xmmword [rsp + 0x640], xmm6
movaps xmmword [rsp + 0x630], xmm6
movaps xmmword [rsp + 0x620], xmm6
movaps xmmword [rsp + 0x610], xmm6
lea rdx, str.DoCopyDirectory
lea r8, str....._base_files_file_util_win.cc
lea r15, [rsp + 0x340]
mov rcx, r15
mov r9d, 0xb1
call fcn.1400afa40
lea rcx, [rsp + 0x610]
xor edi, edi
mov rdx, r15
xor r8d, r8d
call fcn.14009d6e0
cmp byte [r14 + 0x17], 0
jns 0x140093750
cmp qword [r14 + 8], 0x103
ja 0x14009395a
cmp byte [rsi + 0x17], 0
jns 0x140093767
cmp qword [rsi + 8], 0x103
jbe 0x140093767
xor edi, edi
jmp 0x14009395a
mov qword [rsp + 0xc0], r13
movaps xmmword [rsp + 0xb0], xmm6
lea rdi, [rsp + 0xb0]
mov rcx, rdi
mov rdx, rsi
call fcn.1400b0170
mov qword [rsp + 0x380], r13
movaps xmmword [rsp + 0x370], xmm6
movaps xmmword [rsp + 0x360], xmm6
movaps xmmword [rsp + 0x350], xmm6
movaps xmmword [rsp + 0x340], xmm6
lea rdx, str.PathExists
lea r8, str....._base_files_file_util_win.cc
lea r12, [rsp + 0xf0]
mov rcx, r12
mov r9d, 0x209
call fcn.1400afa40
lea r15, [rsp + 0x340]
mov rcx, r15
mov rdx, r12
xor r8d, r8d
call fcn.14009d6e0
cmp byte [rsp + 0xc7], 0
jns 0x1400937fe
mov rdi, qword [rsp + 0xb0]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov edi, eax
mov rcx, r15
call fcn.14009d740
cmp edi, 0xffffffff
je 0x1400938e5
lea rdi, [rsp + 0x340]
lea r15, [rsp + 0xb0]
mov rcx, rdi
mov rdx, r15
call fcn.140093030
mov rcx, r15
mov rdx, rdi
call fcn.1400b02b0
mov rcx, rdi
call fcn.1400b0280
movzx eax, byte [rsp + 0xc7]
test al, al
jns 0x14009385c
mov rax, qword [rsp + 0xb8]
test rax, rax
je 0x14009394b
mov qword [rsp + 0xa0], r13
movaps xmmword [rsp + 0x90], xmm6
lea rcx, [rsp + 0x90]
mov rdx, r14
call fcn.140093030
movzx eax, byte [rsp + 0xa7]
test al, al
jns 0x140093899
mov rax, qword [rsp + 0x98]
test rax, rax
je 0x1400938d4
lea rcx, [rsp + 0xb0]
lea rdx, [rsp + 0x90]
call fcn.1400b02f0
test al, al
jne 0x1400938d4
lea rcx, [rsp + 0x90]
lea rdx, [rsp + 0xb0]
call fcn.1400b1040
test al, al
je 0x140093995
xor edi, edi
lea rcx, [rsp + 0x90]
call fcn.1400b0280
jmp 0x14009394d
lea rdi, [rsp + 0xb0]
lea r15, [rsp + 0xf0]
mov rcx, rdi
mov rdx, r15
call fcn.1400b0b20
lea r12, [rsp + 0x340]
mov rcx, r12
mov rdx, r15
call fcn.140093030
mov rcx, rdi
mov rdx, r12
call fcn.1400b02b0
mov rcx, r12
call fcn.1400b0280
mov rcx, r15
call fcn.1400b0280
movzx eax, byte [rsp + 0xc7]
test al, al
jns 0x140093942
mov rax, qword [rsp + 0xb8]
test rax, rax
jne 0x140093865
xor edi, edi
lea rcx, [rsp + 0xb0]
call fcn.1400b0280
lea rcx, [rsp + 0x610]
call fcn.14009d740
mov rcx, qword [rsp + 0x658]
xor rcx, rsp
call fcn.14019eb90
mov eax, edi
movaps xmm6, xmmword [rsp + 0x660]
add rsp, 0x678
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movzx eax, bpl
lea edi, [rax*2 + 1]
lea r15, [rsp + 0x340]
mov r8d, 0x2c8
mov rcx, r15
mov dl, 0xaa
call fcn.1401a0cc0
mov rcx, r15
mov rdx, r14
mov r8d, ebp
mov r9d, edi
call fcn.1400965b0
mov rcx, r14
call fcn.140093c70
test al, al
je 0x140093c35
mov qword [rsp + 0x80], r13
movaps xmmword [rsp + 0x70], xmm6
lea rcx, [rsp + 0x70]
mov rdx, r14
call fcn.1400b0170
mov rcx, r14
call fcn.140093ea0
mov byte [rsp + 0x2e], al
mov qword [rsp + 0x60], r13
movaps xmmword [rsp + 0x50], xmm6
lea rcx, [rsp + 0x50]
mov rdx, r14
call fcn.1400b0170
test bpl, bpl
je 0x140093a4f
mov rcx, rsi
call fcn.140093ea0
test al, al
je 0x140093a4f
lea rdi, [rsp + 0xf0]
mov rcx, r14
mov rdx, rdi
call fcn.1400b0b20
lea rcx, [rsp + 0x50]
mov rdx, rdi
call fcn.1400b02b0
mov rcx, rdi
call fcn.1400b0280
mov dil, 1
lea r14, [rsp + 0x30]
lea r15, [rsp + 0x50]
lea r12, [rsp + 0x70]
movzx ebp, byte [rsp + 0x2e]
mov byte [rsp + 0x2f], bl
jmp 0x140093a83
mov rcx, r14
call fcn.1400b0280
test dil, 1
movzx ebx, byte [rsp + 0x2f]
je 0x140093c45
movzx eax, byte [rsp + 0x87]
test al, al
jns 0x140093a94
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x140093c45
mov qword [rsp + 0x40], r13
movaps xmmword [rsp + 0x30], xmm6
mov rcx, r14
mov rdx, rsi
call fcn.1400b0170
mov rcx, r15
mov rdx, r12
call fcn.1400b0510
test al, al
je 0x140093ad7
mov rcx, r15
mov rdx, r12
mov r8, r14
call fcn.1400b1050
test al, al
je 0x140093c39
test bpl, 1
jne 0x140093afe
mov rcx, r12
mov rdx, r14
mov r8d, ebx
call fcn.140095790
movzx edi, dil
test al, al
mov eax, 0
cmove edi, eax
jmp 0x140093bc1
mov r15d, ebp
mov qword [rsp + 0x130], r13
movaps xmmword [rsp + 0x120], xmm6
movaps xmmword [rsp + 0x110], xmm6
movaps xmmword [rsp + 0x100], xmm6
movaps xmmword [rsp + 0xf0], xmm6
lea rbx, [rsp + 0xd0]
mov rcx, rbx
lea rdx, str.DirectoryExists
lea r8, str....._base_files_file_util_win.cc
mov r9d, 0x231
call fcn.1400afa40
lea rcx, [rsp + 0xf0]
mov rdx, rbx
xor r8d, r8d
call fcn.14009d6e0
cmp byte [rsp + 0x47], 0
mov r12, r14
jns 0x140093b6f
mov r14, qword [rsp + 0x30]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ebp, eax
lea rcx, [rsp + 0xf0]
call fcn.14009d740
cmp ebp, 0xffffffff
je 0x140093b91
and ebp, 0x10
jne 0x140093bb1
cmp byte [rsp + 0x47], 0
mov rcx, r12
jns 0x140093ba0
mov rcx, qword [rsp + 0x30]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
movzx edi, dil
cmove edi, eax
mov ebp, r15d
lea r15, [rsp + 0x50]
mov r14, r12
lea r12, [rsp + 0x70]
lea rcx, [rsp + 0x340]
lea rbx, [rsp + 0xf0]
mov rdx, rbx
call fcn.140096870
mov rcx, r12
mov rdx, rbx
call fcn.1400b02b0
mov rcx, rbx
call fcn.1400b0280
movzx eax, byte [rsp + 0x87]
test al, al
jns 0x140093bfd
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x140093a6c
lea rcx, [rsp + 0x340]
lea rbx, [rsp + 0xf0]
mov rdx, rbx
call fcn.140096820
mov rcx, rbx
call fcn.140096520
mov ebp, eax
mov rcx, rbx
call fcn.140024db0
jmp 0x140093a6c
xor edi, edi
jmp 0x140093c5d
lea rcx, [rsp + 0x30]
call fcn.1400b0280
xor edi, edi
and dil, 1
lea rcx, [rsp + 0x50]
call fcn.1400b0280
lea rcx, [rsp + 0x70]
call fcn.1400b0280
lea rcx, [rsp + 0x340]
call fcn.1400967b0
jmp 0x1400938d6