Function at 0x14007e580
Capabilities:
Create directory

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x290]
sub rsp, 0x390
mov rax, qword [0x14022e2a0]
xor rax, rsp
mov qword [rbp + 0x280], rax
mov rsi, rdx
mov r14, rcx
xor r12d, r12d
mov dword [rsp + 0x20], r12d
xor r15b, r15b
test rdx, rdx
je 0x14007e5cc
cmp word [rdx], r12w
jne 0x14007e5dd
mov r15b, 1
lea rsi, [rcx + 0x48]
cmp qword [rsi + 0x18], 8
jb 0x14007e5dd
mov rsi, qword [rsi]
lea rdi, [rcx + 0x68]
mov rcx, rdi
call fcn.1400ec010
cmp qword [rdi + 0x10], r12
je 0x14007e62a
lea rdx, [0x1402674b0]
cmp qword [0x1402674c8], 8
cmovae rdx, qword [0x1402674b0]
mov r8, qword [0x1402674c0]
mov rcx, rdi
call fcn.14006b2d0
mov r8d, 1
lea rdx, [0x1401b8ff8]
mov rcx, rax
call fcn.14006b2d0
mov rdx, rdi
cmp qword [rdi + 0x18], 8
jb 0x14007e637
mov rdx, qword [rdi]
xorps xmm0, xmm0
movups xmmword [rbp + 0x50], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x60], xmm1
mov rbx, 0xffffffffffffffff
mov r8, rbx
inc r8
cmp word [rdx + r8*2], r12w
jne 0x14007e650
lea rcx, [rbp + 0x50]
call fcn.1400669a0
lea rcx, [rbp + 0x50]
cmp qword [rbp + 0x68], 8
cmovae rcx, qword [rbp + 0x50]
call qword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
sete r13b
mov rdx, qword [rbp + 0x68]
cmp rdx, 8
jb 0x14007e6bd
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14007e6b8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14007ea2e
call fcn.14013b70c
test r13b, r13b
je 0x14007e77a
cmp qword [rdi + 0x18], 8
jb 0x14007e6d0
mov rdi, qword [rdi]
xorps xmm0, xmm0
movups xmmword [rbp + 0x50], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x60], xmm1
nop
inc rbx
cmp word [rdi + rbx*2], r12w
jne 0x14007e6e0
mov r8, rbx
mov rdx, rdi
lea rcx, [rbp + 0x50]
call fcn.1400669a0
lea rdx, [rbp + 0x50]
cmp qword [rbp + 0x68], 8
cmovae rdx, qword [rbp + 0x50]
xor r8d, r8d
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
test eax, eax
je 0x14007e724
cmp eax, 0xb7
je 0x14007e724
mov bl, 1
cmp eax, 0x50
jne 0x14007e726
xor bl, bl
mov rdx, qword [rbp + 0x68]
cmp rdx, 8
jb 0x14007e766
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14007e761
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14007ea34
call fcn.14013b70c
test bl, bl
je 0x14007e9fc
mov byte [r14 + 0x1b0], r12b
jmp 0x14007e9fc
test r15b, r15b
jne 0x14007e7cb
xorps xmm0, xmm0
movups xmmword [rbp + 0x50], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x60], xmm1
mov r8, rbx
inc r8
cmp word [rsi + r8*2], r12w
jne 0x14007e791
mov rdx, rsi
lea rcx, [rbp + 0x50]
call fcn.1400669a0
mov r12d, 1
lea rcx, [rbp + 0x50]
cmp qword [rbp + 0x68], 8
cmovae rcx, qword [rbp + 0x50]
call qword [sym.imp.SHLWAPI.dll_PathIsFileSpecW]
test eax, eax
jne 0x14007e7cb
movzx r15d, r12b
jmp 0x14007e7ce
xor r15b, r15b
test r12b, 1
je 0x14007e814
mov rdx, qword [rbp + 0x68]
cmp rdx, 8
jb 0x14007e814
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14007e80f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14007ea3a
call fcn.14013b70c
test r15b, r15b
jne 0x14007e9f4
xorps xmm0, xmm0
movups xmmword [rbp + 0x50], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x60], xmm1
mov r8, rbx
nop
inc r8
cmp word [rsi + r8*2], 0
jne 0x14007e830
mov rdx, rsi
lea rcx, [rbp + 0x50]
call fcn.1400669a0
nop
mov r8, rdi
cmp qword [rdi + 0x18], 8
jb 0x14007e855
mov r8, qword [rdi]
mov edx, 0x104
lea rcx, [rbp + 0x70]
call fcn.140153318
lea rdx, [rbp + 0x50]
cmp qword [rbp + 0x68], 8
cmovae rdx, qword [rbp + 0x50]
lea rcx, [rbp + 0x70]
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
mov esi, eax
test eax, eax
je 0x14007e8a7
lea rax, [rbp + 0x70]
mov r8, rbx
nop dword [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x14007e890
lea rdx, [rbp + 0x70]
mov rcx, rdi
call fcn.14006e2f0
test esi, esi
setne sil
mov rdx, qword [rbp + 0x68]
cmp rdx, 8
jb 0x14007e8ed
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14007e8e8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14007ea28
call fcn.14013b70c
test sil, sil
je 0x14007e9f4
cmp qword [r14 + 0x130], 0
je 0x14007e92a
lea rsi, [r14 + 0x98]
lea rcx, [rsi + 0x18]
call fcn.140076c50
test rax, rax
jne 0x14007e92a
mov rax, qword [rsi]
movsxd rcx, dword [rax + 4]
add rcx, rsi
mov edx, dword [rcx + 0x10]
or edx, 2
call fcn.14006b920
lea rcx, [rsp + 0x30]
call fcn.14007f520
nop
cmp qword [rdi + 0x18], 8
jb 0x14007e93f
mov rdi, qword [rdi]
mov rcx, rdi
call qword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
nop dword [rax + rax]
inc rbx
cmp word [rax + rbx*2], 0
jne 0x14007e950
lea rcx, [r14 + 0x48]
mov r8, rbx
mov rdx, rax
call fcn.14006e2f0
mov rax, qword [r14]
mov r8, qword [rax]
mov rcx, r14
cmp byte [r14 + 0x1b1], 0
je 0x14007e98f
lea rdx, [r14 + 0x98]
call r8
mov byte [r14 + 0x1b0], al
jmp 0x14007e9dd
lea rdx, [rsp + 0x30]
call r8
mov byte [r14 + 0x1b0], al
cmp al, 0
je 0x14007e9dd
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
test byte [rsp + rcx + 0x40], 6
jne 0x14007e9dd
lea rcx, [rsp + 0x48]
call fcn.140076c50
test rax, rax
jne 0x14007e9dd
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
lea rax, [rsp + 0x30]
add rcx, rax
mov edx, dword [rcx + 0x10]
or edx, 2
call fcn.14006b920
movzx ebx, byte [r14 + 0x1b0]
lea rcx, [rsp + 0x30]
call fcn.14007cf00
movzx eax, bl
jmp 0x14007e9fe
mov byte [r14 + 0x1b0], 0
xor al, al
mov rcx, qword [rbp + 0x280]
xor rcx, rsp
call fcn.14013b390
mov rbx, qword [rsp + 0x3e0]
add rsp, 0x390
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1401408a0
int3
call fcn.1401408a0
int3
call fcn.1401408a0
int3
call fcn.1401408a0
int3