Function at 0x14017c050
Capabilities:
Create directory
Get file attributes

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r14
mov rbp, rsp
sub rsp, 0x40
mov r14, rdx
mov rbx, rcx
mov dword [rbp - 0x20], 0
mov rdx, rcx
lea rcx, [rbp + 0x48]
call fcn.140015780
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
nop
test al, 0x10
je 0x14017c0a2
cmp eax, 0xffffffff
je 0x14017c0a2
lea rsi, [0x140379908]
mov qword [r14], rsi
mov rax, r14
add rsp, 0x40
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
lea rdx, [rbp + 0x40]
mov rcx, rbx
call fcn.1401786f0
nop
mov rdx, qword [rbx]
mov rcx, qword [rbp + 0x40]
cmp rcx, rdx
je 0x14017c22a
call fcn.140019450
test eax, eax
je 0x14017c22a
lea rdx, [rbp + 0x30]
lea rcx, [rbp + 0x40]
call fcn.14017c050
nop
lea rsi, [0x140379908]
mov edi, 0xffffffff
mov rax, qword [rbp + 0x30]
cmp byte [rax], 0
jne 0x14017c1f7
lea r8, [0x1403791a8]
lea rdx, [rbp - 0x10]
mov rcx, rbx
call fcn.140166a00
nop
mov rdx, rax
lea rcx, [rbp + 0x48]
call fcn.140015780
xor edx, edx
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
je 0x14017c134
mov qword [rbp + 0x48], rsi
lea rcx, [rbp + 0x48]
mov eax, 2
mov rbx, rsi
jmp 0x14017c148
lea rcx, [rbp - 0x18]
call fcn.14014d930
mov rcx, rax
mov eax, 4
mov rbx, qword [rcx]
mov qword [rcx], rsi
or eax, 8
mov dword [rbp - 0x20], eax
test al, 4
je 0x14017c182
and eax, 0xfffffffb
mov dword [rbp - 0x20], eax
mov rcx, qword [rbp - 0x18]
add rcx, 0xfffffffffffffff0
mov eax, dword [rcx]
nop
test eax, 0x30000000
jne 0x14017c17f
mov eax, edi
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x14017c17f
call fcn.1400da0f0
mov eax, dword [rbp - 0x20]
test al, 2
je 0x14017c1aa
mov rcx, qword [rbp + 0x48]
add rcx, 0xfffffffffffffff0
mov eax, dword [rcx]
nop
test eax, 0x30000000
jne 0x14017c1aa
mov eax, edi
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x14017c1aa
call fcn.1400da0f0
mov rcx, qword [rbp + 0x30]
mov qword [rbp + 0x30], rbx
add rcx, 0xfffffffffffffff0
mov eax, dword [rcx]
nop
test eax, 0x30000000
jne 0x14017c1d3
mov eax, edi
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x14017c1d3
call fcn.1400da0f0
nop
mov rcx, qword [rbp - 0x10]
add rcx, 0xfffffffffffffff0
mov eax, dword [rcx]
nop
test eax, 0x30000000
jne 0x14017c1f7
mov eax, edi
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x14017c1f7
call fcn.1400da0f0
mov rax, qword [rbp + 0x30]
mov qword [r14], rax
mov qword [rbp + 0x30], rsi
mov eax, dword [0x1403798f8]
nop
test eax, 0x30000000
jne 0x14017c26f
mov eax, edi
lock xadd dword [0x1403798f8], eax
dec eax
cmp eax, 0xffffffff
jne 0x14017c26f
lea rcx, [0x1403798f8]
jmp 0x14017c269
lea rdx, [0x140378070]
lea rcx, [rbp + 0x48]
call fcn.140019df0
lea rdx, [rbp + 0x48]
mov rcx, r14
call fcn.1401715a0
mov rcx, qword [rbp + 0x48]
add rcx, 0xfffffffffffffff0
mov eax, dword [rcx]
nop
mov edi, 0xffffffff
test eax, 0x30000000
jne 0x14017c26f
mov eax, edi
lock xadd dword [rcx], eax
dec eax
cmp eax, edi
jne 0x14017c26f
call fcn.1400da0f0
nop
mov rcx, qword [rbp + 0x40]
add rcx, 0xfffffffffffffff0
mov eax, dword [rcx]
test eax, 0x30000000
nop
jne 0x14017c291
lock xadd dword [rcx], edi
dec edi
cmp edi, 0xffffffff
jne 0x14017c291
call fcn.1400da0f0
mov rax, r14
add rsp, 0x40
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret