Function at 0x140019960
Capabilities:
Create directory

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xb0
mov r14, rcx
xor r12d, r12d
mov qword [rbp + 0x77], r12
mov qword [rbp + 0x6f], r12
mov qword [rbp + 0x7f], r12
xorps xmm0, xmm0
movups xmmword [rbp - 9], xmm0
movups xmmword [rbp + 7], xmm0
movups xmmword [rbp + 0x17], xmm0
mov esi, r12d
mov r15d, r12d
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
jne 0x140019b0e
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 3
jne 0x140019b0e
xorps xmm0, xmm0
movups xmmword [rbp - 0x49], xmm0
mov qword [rbp - 0x39], r12
mov qword [rbp - 0x31], r12
mov r8, 0xffffffffffffffff
inc r8
cmp byte [r14 + r8], sil
jne 0x1400199d3
mov rdx, r14
lea rcx, [rbp - 0x49]
call fcn.140005640
nop
mov rbx, r12
mov rdx, qword [rbp - 0x39]
mov rcx, qword [rbp - 0x31]
mov r9, qword [rbp - 0x49]
test rdx, rdx
je 0x140019ad7
nop dword [rax]
nop word [rax + rax]
lea rax, [rbp - 0x49]
cmp rcx, 0x10
setae r10b
cmovae rax, r9
cmp byte [rax + rbx], 0x5c
jne 0x140019acb
xorps xmm0, xmm0
movups xmmword [rbp - 0x29], xmm0
mov qword [rbp - 0x19], r12
mov qword [rbp - 0x11], r12
mov r8, rbx
cmp rdx, rbx
cmovb r8, rdx
lea rdx, [rbp - 0x49]
test r10b, r10b
cmovne rdx, r9
lea rcx, [rbp - 0x29]
call fcn.140005640
lea rcx, [rbp - 0x29]
cmp qword [rbp - 0x11], 0x10
cmovae rcx, qword [rbp - 0x29]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov edi, eax
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x140019aaa
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140019aa5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140019c7f
call fcn.140022644
test edi, edi
jne 0x140019abf
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
cmp eax, 3
je 0x140019c43
mov rcx, qword [rbp - 0x31]
mov rdx, qword [rbp - 0x39]
mov r9, qword [rbp - 0x49]
inc rbx
cmp rbx, rdx
jb 0x140019a10
cmp rcx, 0x10
jb 0x140019b0e
lea rdx, [rcx + 1]
mov rax, r9
cmp rdx, 0x1000
jb 0x140019b06
add rdx, 0x27
mov r9, qword [r9 - 8]
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140019c85
mov rcx, r9
call fcn.140022644
xor edx, edx
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
jne 0x140019b2e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
cmp eax, 3
je 0x140019bf7
lea rax, [rbp + 0x7f]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r12
lea rax, [rbp + 0x77]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r12
xor r9d, r9d
lea edx, [r9 + 1]
lea r8d, [r9 + 4]
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_GetNamedSecurityInfoA]
mov edi, eax
test eax, eax
jne 0x140019bf7
lea ecx, [rax + 9]
call fcn.14002264c
mov rsi, rax
mov word [rax + 7], 0x65
mov dword [rax], 0x72657645
mov word [rax + 4], 0x6f79
mov byte [rax + 6], 0x6e
mov dword [rbp - 9], 0x1f01ff
mov dword [rbp - 5], 1
mov dword [rbp - 1], 3
mov dword [rbp + 0x13], 1
mov qword [rbp + 0x1f], rax
lea r9, [rbp + 0x6f]
mov r8, qword [rbp + 0x77]
lea rdx, [rbp - 9]
lea ecx, [rdi + 1]
call qword [sym.imp.ADVAPI32.dll_SetEntriesInAclA]
mov edi, eax
test eax, eax
jne 0x140019bf7
mov rcx, r14
call fcn.1400038a0
mov r15, rax
mov qword [rsp + 0x30], r12
mov rcx, qword [rbp + 0x6f]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], r12
xor r9d, r9d
lea edx, [rdi + 1]
lea r8d, [rdi + 4]
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_SetNamedSecurityInfoA]
mov edi, eax
mov rcx, qword [rbp + 0x7f]
test rcx, rcx
je 0x140019c06
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, qword [rbp + 0x6f]
test rcx, rcx
je 0x140019c15
call qword [sym.imp.KERNEL32.dll_LocalFree]
test rsi, rsi
je 0x140019c22
mov rcx, rsi
call fcn.140022644
test r15, r15
je 0x140019c2f
mov rcx, r15
call fcn.140022644
mov eax, edi
add rsp, 0xb0
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rdx, qword [rbp - 0x31]
cmp rdx, 0x10
jb 0x140019bf7
inc rdx
mov rcx, qword [rbp - 0x49]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140019c75
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140019c85
call fcn.140022644
jmp 0x140019bf7
call fcn.140029174
nop
call fcn.140029174
int3