Function at 0x18004b7f0
Capabilities:
Create directory
Get common file path

Disassembly:
push rbp
push rbx
push rdi
mov rbp, rsp
sub rsp, 0x80
mov rax, qword [0x18012d040]
xor rax, rsp
mov qword [rbp - 0x10], rax
xor edi, edi
lea r9, [rbp - 0x58]
xor r8d, r8d
mov qword [rbp - 0x58], rdi
mov edx, 0x8000
lea rcx, [0x180108618]
xor bl, bl
call qword [sym.imp.SHELL32.dll_SHGetKnownFolderPath]
test eax, eax
js 0x18004bb82
mov qword [rsp + 0xa0], rsi
lea r9, [0x18012f480]
mov qword [rsp + 0xa8], r12
movabs rax, 0x18e6e737675ae509
mov qword [rbp - 0x60], rax
movabs rsi, 0xa58959da21066bac
mov rax, qword [rbp - 0x60]
movabs r12, 0x89f43523b8185787
mov qword [rbp - 0x50], rax
movabs rax, 0x92635d5547500e42
mov qword [rbp - 0x60], rax
mov rax, qword [rbp - 0x60]
mov qword [rbp - 0x48], rax
movabs rax, 0x89f4357fb87657e8
mov qword [rbp - 0x60], rax
mov rax, qword [rbp - 0x60]
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x60], rsi
mov rax, qword [rbp - 0x60]
mov qword [rbp - 0x38], rax
mov qword [rsp + 0xb0], r14
movabs r14, 0x1887e7596774e555
mov qword [rbp - 0x60], r14
mov rax, qword [rbp - 0x60]
mov qword [rbp - 0x30], rax
mov qword [rsp + 0xb8], r15
movabs r15, 0x920f5d30473f0e32
mov qword [rbp - 0x60], r15
mov rax, qword [rbp - 0x60]
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x60], r12
mov rax, qword [rbp - 0x60]
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x60], rsi
mov rax, qword [rbp - 0x60]
movdqa xmm1, xmmword [rbp - 0x50]
movdqa xmm0, xmmword [rbp - 0x40]
mov rdx, qword [rbp - 0x58]
xorps xmm1, xmmword [rbp - 0x30]
mov qword [rbp - 0x18], rax
mov rax, r9
xorps xmm0, xmmword [rbp - 0x20]
movzx ecx, word [rdx]
movdqa xmmword [rbp - 0x50], xmm1
movdqa xmmword [rbp - 0x40], xmm0
test cx, cx
je 0x18004b940
sub rdx, r9
mov word [rax], cx
add rax, 2
movzx ecx, word [rdx + rax]
test cx, cx
jne 0x18004b930
movq rdx, xmm1
mov word [rax], di
test dx, dx
je 0x18004b971
lea r8, [rbp - 0x50]
sub r8, rax
nop dword [rax]
nop dword [rax + rax]
mov word [rax], dx
add rax, 2
movzx edx, word [r8 + rax]
test dx, dx
jne 0x18004b960
xor edx, edx
mov word [rax], di
mov rcx, r9
mov bl, 1
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x18004bb62
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x18004bb62
movabs rax, 0x6ca7833c0b1d8433
movabs rcx, 0x5d4f7f549c2f9c8e
mov qword [rbp - 0x60], rax
xor bl, bl
mov rax, qword [rbp - 0x60]
movabs rax, 0xf77b3c55355c2e5d
mov qword [rbp - 0x60], rax
mov rax, qword [rbp - 0x60]
movabs rax, 0xfd984042de7d33a7
mov qword [rbp - 0x60], rax
mov rax, qword [rbp - 0x60]
movabs rax, 0xc2e730b153691c8c
mov qword [rbp - 0x60], rax
mov rax, qword [rbp - 0x60]
movabs rax, 0x384320c06815e7d9
mov qword [rbp - 0x60], rax
mov rax, qword [rbp - 0x60]
movabs rax, 0xfea7f1ea6788154
mov qword [rbp - 0x60], rax
mov rax, qword [rbp - 0x60]
movabs rax, 0xf1b0a1d04cdfa75e
mov qword [rbp - 0x60], rax
mov rax, qword [rbp - 0x60]
movabs rax, 0xdc440779cd7afacf
mov qword [rbp - 0x60], rax
mov rax, qword [rbp - 0x60]
movabs rax, 0x9f313c03e342bb54
mov qword [rbp - 0x60], rax
mov rax, qword [rbp - 0x60]
movabs rax, 0x560cf7089aace713
mov qword [rbp - 0x60], rax
mov rax, qword [rbp - 0x60]
movabs rax, 0x2ba35b29c200c10a
mov qword [rbp - 0x60], rax
mov rax, qword [rbp - 0x60]
movabs rax, 0x8fe908b5d7198bb4
mov qword [rbp - 0x60], rax
mov rax, qword [rbp - 0x60]
movabs rax, 0x777569dd5aa2fed9
mov qword [rbp - 0x60], rax
mov rax, qword [rbp - 0x60]
mov qword [rbp - 0x60], rcx
mov rax, qword [rbp - 0x60]
mov qword [rbp - 0x60], r14
mov rax, qword [rbp - 0x60]
mov qword [rbp - 0x60], r15
mov rax, qword [rbp - 0x60]
mov qword [rbp - 0x60], r12
mov rax, qword [rbp - 0x60]
mov qword [rbp - 0x60], rsi
mov rax, qword [rbp - 0x60]
movabs rax, 0x573743a51a7c83f9
mov qword [rbp - 0x60], rax
mov rax, qword [rbp - 0x60]
movabs rax, 0x6e891a7c8654f826
mov qword [rbp - 0x60], rax
mov rax, qword [rbp - 0x60]
movabs rax, 0xd1d5cfbf6cbad42b
mov qword [rbp - 0x60], rax
mov rax, qword [rbp - 0x60]
movabs rax, 0xfc217516a05a88a0
mov qword [rbp - 0x60], rax
mov rax, qword [rbp - 0x60]
movabs rax, 0xfb5451718636d53d
mov qword [rbp - 0x60], rax
mov rax, qword [rbp - 0x60]
movabs rax, 0x24659328ffd8867a
mov qword [rbp - 0x60], rax
mov rax, qword [rbp - 0x60]
movabs rax, 0x58c6325bad74a26f
mov qword [rbp - 0x60], rax
mov rax, qword [rbp - 0x60]
movabs rax, 0xeac97c92b976ef94
mov qword [rbp - 0x60], rax
mov rax, qword [rbp - 0x60]
movabs rax, 0x777569dd2ed197a1
mov qword [rbp - 0x60], rax
mov rax, qword [rbp - 0x60]
mov qword [rbp - 0x60], rcx
mov rax, qword [rbp - 0x60]
mov r14, qword [rsp + 0xb0]
mov r12, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0xa0]
mov r15, qword [rsp + 0xb8]
mov rcx, qword [rbp - 0x58]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
movzx eax, bl
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.1800c4b70
add rsp, 0x80
pop rdi
pop rbx
pop rbp
ret