Function at 0x140166940
Capabilities:
Create directory

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x638
movaps xmmword [rsp + 0x620], xmm6
mov ebx, r9d
mov ebp, r8d
mov rsi, rdx
mov r14, rcx
mov rax, qword [0x14024f038]
xor rax, rsp
mov qword [rsp + 0x618], rax
movaps xmm6, xmmword [0x1402103c0]
lea r15, [rsp + 0xc0]
movaps xmmword [r15 + 0x30], xmm6
movaps xmmword [r15 + 0x20], xmm6
movaps xmmword [r15 + 0x10], xmm6
movaps xmmword [r15], xmm6
lea rdx, str.DoCopyDirectory
lea r8, str....._base_files_file_util_win.cc
lea r12, [rsp + 0x350]
mov rcx, r12
mov r9d, 0xb8
call fcn.1400dc390
xor edi, edi
mov rcx, r15
mov rdx, r12
xor r8d, r8d
call fcn.1400d1670
cmp byte [r14 + 0x17], 0
jns 0x1401669e0
cmp qword [r14 + 8], 0x103
ja 0x1401669f2
cmp byte [rsi + 0x17], 0
jns 0x140166a31
cmp qword [rsi + 8], 0x103
jbe 0x140166a31
xor edi, edi
lea rcx, [rsp + 0xc0]
call fcn.1400d16f0
and dil, 1
mov rcx, qword [rsp + 0x618]
xor rcx, rsp
call fcn.1400fd9d0
mov eax, edi
movaps xmm6, xmmword [rsp + 0x620]
add rsp, 0x638
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movabs r13, 0xaaaaaaaaaaaaaaaa
lea rdi, [rsp + 0xa0]
mov qword [rdi + 0x10], r13
movaps xmmword [rdi], xmm6
mov rcx, rdi
mov rdx, rsi
call fcn.1400dc580
mov rcx, rdi
call fcn.14005d240
test al, al
jne 0x140166ab1
lea rdi, [rsp + 0xa0]
lea r15, [rsp + 0x100]
mov rcx, rdi
mov rdx, r15
call fcn.1400dc720
lea r12, [rsp + 0x350]
mov rcx, r12
mov rdx, r15
call fcn.14005cca0
mov rcx, rdi
mov rdx, r12
call fcn.140068ec0
mov rcx, r12
call fcn.1400dc710
mov rcx, r15
call fcn.1400dc710
movsx rax, byte [rdi + 0x17]
jmp 0x140166ae4
lea rdi, [rsp + 0x350]
lea r15, [rsp + 0xa0]
mov rcx, rdi
mov rdx, r15
call fcn.14005cca0
mov rcx, r15
mov rdx, rdi
call fcn.140068ec0
mov rcx, rdi
call fcn.1400dc710
movsx rax, byte [r15 + 0x17]
test rax, rax
jns 0x140166af1
mov rax, qword [rsp + 0xa8]
test rax, rax
je 0x140166b7e
lea rdi, [rsp + 0x80]
mov qword [rdi + 0x10], r13
movaps xmmword [rdi], xmm6
mov rcx, rdi
mov rdx, r14
call fcn.14005cca0
movsx rax, byte [rdi + 0x17]
test rax, rax
jns 0x140166b26
mov rax, qword [rsp + 0x88]
test rax, rax
je 0x140166b5d
lea rcx, [rsp + 0xa0]
lea rdx, [rsp + 0x80]
call fcn.140068f00
test al, al
jne 0x140166b5d
lea rcx, [rsp + 0x80]
lea rdx, [rsp + 0xa0]
call fcn.1400697b0
test al, al
je 0x140166b93
xor edi, edi
lea rcx, [rsp + 0x80]
call fcn.1400dc710
lea rcx, [rsp + 0xa0]
call fcn.1400dc710
jmp 0x1401669f2
xor edi, edi
jmp 0x140166b6c
xor edi, edi
lea rcx, [rsp + 0x350]
call fcn.14005f4b0
jmp 0x140166b5f
movzx eax, bpl
lea edi, [rax*2 + 1]
lea r15, [rsp + 0x350]
mov r8d, 0x2c8
mov rcx, r15
mov dl, 0xaa
call fcn.1400ffb20
mov rcx, r15
mov rdx, r14
mov r8d, ebp
mov r9d, edi
call fcn.14005f2d0
mov rcx, r14
call fcn.14005d240
test al, al
je 0x140166b82
lea rcx, [rsp + 0x60]
mov qword [rcx + 0x10], r13
movaps xmmword [rcx], xmm6
mov rdx, r14
call fcn.1400dc580
mov rcx, r14
call fcn.14005d440
mov r15d, eax
lea rcx, [rsp + 0x40]
mov qword [rcx + 0x10], r13
movaps xmmword [rcx], xmm6
mov rdx, r14
call fcn.1400dc580
test bpl, bpl
je 0x140166c3f
mov rcx, rsi
call fcn.14005d440
test al, al
je 0x140166c3f
lea rdi, [rsp + 0x100]
mov rcx, r14
mov rdx, rdi
call fcn.1400dc720
lea rcx, [rsp + 0x40]
mov rdx, rdi
call fcn.140068ec0
mov rcx, rdi
call fcn.1400dc710
mov dil, 1
lea r14, [rsp + 0x20]
lea rbp, [rsp + 0x40]
lea r13, [rsp + 0x60]
lea r12, [rsp + 0x100]
jmp 0x140166d24
lea rcx, [rsp + 0x20]
call fcn.1400dc710
xor edi, edi
lea rcx, [rsp + 0x40]
call fcn.1400dc710
lea rcx, [rsp + 0x60]
call fcn.1400dc710
jmp 0x140166b84
mov rcx, r13
mov rdx, r14
mov r8d, ebx
call fcn.140167130
movzx edi, dil
test al, al
mov eax, 0
cmove edi, eax
jmp 0x140166cb7
mov rcx, qword [rsp + 0x20]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
movzx edi, dil
cmove edi, eax
lea rcx, [rsp + 0x350]
mov rdx, r12
call fcn.14005f570
mov rcx, r13
mov rdx, r12
call fcn.140068ec0
mov rcx, r12
call fcn.1400dc710
movsx rax, byte [rsp + 0x77]
test rax, rax
jns 0x140166cea
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x140166d12
lea rcx, [rsp + 0x350]
mov rdx, r12
call fcn.14005f520
mov rcx, r12
call fcn.14005f2a0
mov r15d, eax
mov rcx, r12
call fcn.1400248b0
mov rcx, r14
call fcn.1400dc710
test dil, 1
je 0x140166c6a
movsx rax, byte [rsp + 0x77]
test rax, rax
jns 0x140166d34
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x140166c6a
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x30], rax
movaps xmmword [rsp + 0x20], xmm6
mov rcx, r14
mov rdx, rsi
call fcn.1400dc580
mov rcx, rbp
mov rdx, r13
call fcn.1400691e0
test al, al
je 0x140166d81
mov rcx, rbp
mov rdx, r13
mov r8, r14
call fcn.1400697c0
test al, al
je 0x140166c5e
test r15b, 1
je 0x140166c83
mov rcx, r14
call fcn.14005d440
test al, al
jne 0x140166cb7
cmp byte [rsp + 0x37], 0
mov rcx, r14
jns 0x140166ca6
jmp 0x140166ca1