Function at 0x140006484
Capabilities:
Create directory

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x60
mov rax, qword [0x140057010]
xor rax, rsp
mov qword [rbp - 8], rax
mov rdi, rcx
call fcn.14000144c
xor r15d, r15d
mov rcx, rax
test rax, rax
je 0x14000678d
mov rax, qword [rax]
call qword [rax + 0x18]
lea r13d, [r15 + 1]
mov edx, 0x104
mov ecx, r13d
lea rbx, [rax + 0x18]
mov eax, dword [rbx - 0xc]
sub ecx, dword [rbx - 8]
sub eax, edx
or ecx, eax
mov qword [rbp - 0x40], rbx
jge 0x1400064fb
lea rcx, [rbp - 0x40]
call fcn.140001a54
mov rbx, qword [rbp - 0x40]
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_PathCanonicalizeW]
test eax, eax
sete dil
test rbx, rbx
jne 0x140006517
mov eax, r15d
jmp 0x14000652b
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
call fcn.140031f70
test eax, eax
js 0x140006798
cmp eax, dword [rbx - 0xc]
jg 0x140006798
mov dword [rbx - 0x10], eax
or r12d, 0xffffffff
cdqe
mov word [rbx + rax*2], r15w
test dil, dil
je 0x140006551
mov esi, 0x80004005
jmp 0x140006744
movsxd rdi, dword [rbx - 0x10]
mov sil, r15b
mov eax, r15d
mov edx, 0x5c
test edi, edi
jle 0x1400065c4
movsxd r14, eax
cmp word [rbx + r14*2], 0x2f
jne 0x14000659f
test sil, sil
jne 0x14000659a
mov eax, dword [rbx - 0xc]
mov ecx, r13d
sub ecx, dword [rbx - 8]
sub eax, edi
or ecx, eax
mov sil, r13b
jge 0x14000659a
mov edx, edi
lea rcx, [rbp - 0x40]
call fcn.140001a54
mov rbx, qword [rbp - 0x40]
mov edx, 0x5c
mov word [rbx + r14*2], dx
lea rax, [r14*2 + 2]
sar rax, 1
cmp eax, edi
jl 0x140006564
test sil, sil
je 0x1400065c4
cmp edi, dword [rbx - 0xc]
jg 0x140006798
mov dword [rbx - 0x10], edi
mov word [rbx + rdi*2], r15w
lea r14, [rbx - 0x10]
cmp dword [r14], r15d
jle 0x1400065fe
movzx ecx, word [rbx]
mov rsi, rbx
test cx, cx
je 0x1400065ec
cmp cx, dx
je 0x1400065f9
add rsi, 2
movzx ecx, word [rsi]
test cx, cx
jne 0x1400065d8
mov ecx, r15d
cmp cx, dx
mov rax, r15
cmove rax, rsi
mov rsi, rax
test rsi, rsi
jne 0x140006603
mov esi, r12d
jmp 0x140006609
sub rsi, rbx
sar rsi, 1
mov r13d, 0x5c
cmp esi, r12d
jne 0x140006619
mov r8d, dword [r14]
jmp 0x14000661c
mov r8d, esi
lea rdx, [rbp - 0x38]
lea rcx, [rbp - 0x40]
call fcn.140005188
mov rdi, qword [rbp - 0x38]
lea r8, [rbp - 0x30]
xorps xmm0, xmm0
xor eax, eax
mov rcx, rdi
mov dword [rbp - 0x10], eax
xor edx, edx
movups xmmword [rbp - 0x30], xmm0
movups xmmword [rbp - 0x20], xmm0
call qword [sym.imp.KERNEL32.dll_GetFileAttributesExW]
test eax, eax
jne 0x140006675
xor edx, edx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x140006675
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x50
je 0x140006675
cmp eax, 0xb7
jne 0x1400066f5
cmp esi, r12d
je 0x140006721
lea eax, [rsi + 1]
test eax, eax
js 0x1400066cd
cmp eax, dword [r14]
jge 0x1400066cd
cdqe
lea rsi, [rbx + rax*2]
test rsi, rsi
je 0x1400066cd
movzx ecx, word [rsi]
test cx, cx
je 0x1400066b2
cmp cx, r13w
je 0x1400066c0
add rsi, 2
movzx ecx, word [rsi]
test cx, cx
jne 0x14000669d
mov ecx, r15d
cmp cx, r13w
mov rax, r15
cmove rax, rsi
mov rsi, rax
test rsi, rsi
je 0x1400066cd
sub rsi, rbx
sar rsi, 1
jmp 0x1400066d0
mov esi, r12d
lea rdx, [rdi - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, r12d
test eax, eax
jg 0x1400066ec
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rbx, qword [rbp - 0x40]
jmp 0x14000660f
movzx esi, ax
lea rdx, [rdi - 0x18]
or esi, 0x80070000
test eax, eax
cmovle esi, eax
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, r12d
test eax, eax
jg 0x140006740
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
jmp 0x140006740
lea rdx, [rdi - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, r12d
test eax, eax
jg 0x14000673d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov esi, r15d
mov rbx, qword [rbp - 0x40]
lea rdx, [rbx - 0x18]
mov ecx, r12d
lock xadd dword [rdx + 0x10], ecx
add ecx, r12d
test ecx, ecx
jg 0x140006761
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [r8 + 8]
mov eax, esi
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.140021680
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov ecx, 0x80004005
call fcn.1400017a4
int3
mov ecx, 0x80070057
call fcn.1400017a4
int3