Function at 0x140038320
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, 0x628
mov r14d, r9d
mov r12d, r8d
mov r13, rdx
mov rdi, rcx
mov rax, qword [0x1401e3a68]
xor rax, rsp
mov qword [rsp + 0x620], rax
lea rdx, str.DoCopyDirectory
lea r8, str..._.._base_files_file_util_win.cc
lea rsi, [rsp + 0x310]
mov rcx, rsi
mov r9d, 0xd2
call fcn.14003bd00
lea rcx, [rsp + 0x30]
xor ebp, ebp
mov rdx, rsi
xor r8d, r8d
call fcn.14004f9f0
cmp qword [rdi + 0x10], 0x103
ja 0x140038504
cmp qword [r13 + 0x10], 0x103
jbe 0x1400383a6
xor ebp, ebp
jmp 0x140038504
lea rbp, [rsp + 0x600]
mov rcx, rbp
mov rdx, r13
call fcn.140032220
lea rdx, str.PathExists
lea r8, str..._.._base_files_file_util_win.cc
lea rbx, [rsp + 0x310]
mov rcx, rbx
mov r9d, 0x1ab
call fcn.14003bd00
lea rsi, [rsp + 0x60]
mov rcx, rsi
mov rdx, rbx
xor r8d, r8d
call fcn.14004f9f0
cmp qword [rsp + 0x618], 7
jbe 0x140038403
mov rbp, qword [rsp + 0x600]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ebx, eax
mov rcx, rsi
call fcn.14004fb20
cmp ebx, 0xffffffff
je 0x140038446
lea rsi, [rsp + 0x310]
lea rbx, [rsp + 0x600]
mov rcx, rsi
mov rdx, rbx
call fcn.140037b00
mov rcx, rbx
mov rdx, rsi
call fcn.1400324c0
mov rcx, rsi
jmp 0x140038487
lea rsi, [rsp + 0x600]
lea rbx, [rsp + 0x60]
mov rcx, rsi
mov rdx, rbx
call fcn.140033220
lea rbp, [rsp + 0x310]
mov rcx, rbp
mov rdx, rbx
call fcn.140037b00
mov rcx, rsi
mov rdx, rbp
call fcn.1400324c0
mov rcx, rbp
call fcn.1400323e0
mov rcx, rbx
call fcn.1400323e0
cmp qword [rsp + 0x610], 0
je 0x1400384f5
lea rcx, [rsp + 0x5e0]
mov rdx, rdi
call fcn.140037b00
cmp qword [rsp + 0x5f0], 0
je 0x1400384e4
lea rcx, [rsp + 0x600]
lea rdx, [rsp + 0x5e0]
call fcn.140032560
test al, al
jne 0x1400384e4
lea rcx, [rsp + 0x5e0]
lea rdx, [rsp + 0x600]
call fcn.1400339c0
test al, al
je 0x140038534
xor ebp, ebp
lea rcx, [rsp + 0x5e0]
call fcn.1400323e0
jmp 0x1400384f7
xor ebp, ebp
lea rcx, [rsp + 0x600]
call fcn.1400323e0
lea rcx, [rsp + 0x30]
call fcn.14004fb20
mov rcx, qword [rsp + 0x620]
xor rcx, rsp
call fcn.14014ac50
mov eax, ebp
add rsp, 0x628
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movzx eax, r12b
lea r9d, [rax + rax]
add r9d, 1
lea rcx, [rsp + 0x310]
mov rdx, rdi
mov r8d, r12d
call fcn.14005c4d0
lea rdx, str.PathExists
lea r8, str..._.._base_files_file_util_win.cc
lea rbx, [rsp + 0x60]
mov rcx, rbx
mov r9d, 0x1ab
call fcn.14003bd00
lea rsi, [rsp + 0x2f0]
xor ebp, ebp
mov rcx, rsi
mov rdx, rbx
xor r8d, r8d
call fcn.14004f9f0
cmp qword [rdi + 0x18], 7
mov rcx, rdi
jbe 0x140038599
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ebx, eax
mov rcx, rsi
call fcn.14004fb20
cmp ebx, 0xffffffff
je 0x140038896
lea rcx, [rsp + 0x2f0]
mov rdx, rdi
call fcn.140032220
lea rdx, str.DirectoryExists
lea r8, str..._.._base_files_file_util_win.cc
lea rbx, [rsp + 0x60]
mov rcx, rbx
mov r9d, 0x1bd
call fcn.14003bd00
lea rsi, [rsp + 0x2d0]
mov rcx, rsi
mov rdx, rbx
xor r8d, r8d
call fcn.14004f9f0
cmp qword [rdi + 0x18], 7
mov rcx, rdi
jbe 0x140038606
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ebp, eax
cmp eax, 0xffffffff
setne bl
and ebp, 0x10
shr ebp, 4
mov rcx, rsi
call fcn.14004fb20
lea rcx, [rsp + 0x2d0]
mov rdx, rdi
call fcn.140032220
test r12b, r12b
je 0x1400386c2
lea rdx, str.DirectoryExists
lea r8, str..._.._base_files_file_util_win.cc
lea rsi, [rsp + 0x60]
mov rcx, rsi
mov r9d, 0x1bd
call fcn.14003bd00
lea r15, [rsp + 0x2b0]
mov rcx, r15
mov rdx, rsi
xor r8d, r8d
call fcn.14004f9f0
cmp qword [r13 + 0x18], 7
mov rcx, r13
jbe 0x140038680
mov rcx, qword [r13]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov esi, eax
mov rcx, r15
call fcn.14004fb20
cmp esi, 0xffffffff
je 0x1400386c2
and esi, 0x10
je 0x1400386c2
lea rsi, [rsp + 0x60]
mov rcx, rdi
mov rdx, rsi
call fcn.140033220
lea rcx, [rsp + 0x2d0]
mov rdx, rsi
call fcn.1400324c0
mov rcx, rsi
call fcn.1400323e0
and bl, bpl
mov byte [rsp + 0x2f], bl
mov bpl, 1
lea rsi, [rsp + 0x2b0]
lea r15, [rsp + 0x2d0]
lea rdi, [rsp + 0x2f0]
lea rbx, [rsp + 0x310]
mov byte [rsp + 0x2e], r14b
nop word cs:[rax + rax]
nop dword [rax + rax]
cmp qword [rsp + 0x300], 0
je 0x140038878
mov rcx, rsi
mov rdx, r13
call fcn.140032220
mov rcx, r15
mov rdx, rdi
call fcn.1400327a0
test al, al
je 0x14003873f
mov rcx, r15
mov rdx, rdi
mov r8, rsi
call fcn.1400339d0
test al, al
je 0x140038869
movzx eax, byte [rsp + 0x2f]
test al, 1
jne 0x140038766
mov rcx, rdi
mov rdx, rsi
mov r12d, r14d
mov r8d, r14d
call fcn.140039f30
test al, al
je 0x14003875f
mov eax, ebp
mov ebp, eax
jmp 0x140038805
lea rdi, [rsp + 0x60]
mov rcx, rdi
lea rdx, str.DirectoryExists
lea r8, str..._.._base_files_file_util_win.cc
mov r9d, 0x1bd
call fcn.14003bd00
lea rcx, [rsp + 0x48]
mov rdx, rdi
xor r8d, r8d
call fcn.14004f9f0
cmp qword [rsp + 0x2c8], 7
mov r14, rsi
jbe 0x1400387ad
mov rsi, qword [rsp + 0x2b0]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov esi, eax
lea rcx, [rsp + 0x48]
call fcn.14004fb20
cmp esi, 0xffffffff
je 0x1400387cc
and esi, 0x10
jne 0x1400387f4
cmp qword [rsp + 0x2c8], 7
mov rcx, r14
jbe 0x1400387e2
mov rcx, qword [rsp + 0x2b0]
xor esi, esi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
je 0x1400387f2
mov esi, ebp
mov ebp, esi
lea rdi, [rsp + 0x2f0]
mov rsi, r14
movzx r12d, byte [rsp + 0x2e]
mov rcx, rbx
lea r14, [rsp + 0x60]
mov rdx, r14
call fcn.14005c8c0
mov rcx, rdi
mov rdx, r14
call fcn.1400324c0
mov rcx, r14
call fcn.1400323e0
cmp qword [rsp + 0x300], 0
je 0x140038852
mov rcx, rbx
mov rdx, r14
call fcn.14005c830
mov rcx, r14
call fcn.14005c450
mov byte [rsp + 0x2f], al
mov rcx, r14
call fcn.1400120e0
mov rcx, rsi
call fcn.1400323e0
test bpl, 1
mov r14d, r12d
jne 0x140038700
jmp 0x140038878
lea rcx, [rsp + 0x2b0]
call fcn.1400323e0
xor ebp, ebp
and bpl, 1
lea rcx, [rsp + 0x2d0]
call fcn.1400323e0
lea rcx, [rsp + 0x2f0]
call fcn.1400323e0
lea rcx, [rsp + 0x310]
call fcn.14005c760
jmp 0x1400384e6