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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r14
push r15
sub rsp, 0x110
lea rbp, [rsp + 0x50]
and rbp, 0xffffffffffffffe0
lea r15, [0x180188fe0]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], r15
mov edx, 5
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetFolderPathW]
movabs rdi, 0xe1095c9c9383d20b
movabs rsi, 0x492b8cadbd534914
test eax, eax
jns 0x180081aec
movabs rax, 0x952938f9ffeab36d
movabs rcx, 0x3b5d3c51bf68d838
mov qword [rbp], rax
movabs r14, 0x5064fdde1f9f40f5
mov rax, qword [rbp]
movabs rbx, 0x48307d37848b3d2e
mov qword [rbp + 0x20], rax
movabs rax, 0x264facd9d834697b
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x28], rax
movabs rax, 0x701789b07af23596
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x30], rax
movabs rax, 0x3a5f0954e1f9544a
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x38], rax
movabs rax, 0xa1274de0651dde86
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x40], rax
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0x48], rax
mov qword [rbp], rdi
mov rax, qword [rbp]
mov qword [rbp + 0x20], rax
mov qword [rbp], rsi
mov rax, qword [rbp]
mov qword [rbp + 0x28], rax
mov qword [rbp], r14
mov rax, qword [rbp]
mov qword [rbp + 0x30], rax
mov qword [rbp], rbx
mov rax, qword [rbp]
mov qword [rbp + 0x38], rax
movabs rax, 0xa1274de0651ddeff
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x40], rax
mov qword [rbp], rcx
mov rax, qword [rbp]
xor al, al
jmp 0x180081e49
movabs rax, 0xe16a5cf293cad257
movabs rbx, 0x48307d37848b3d2e
mov qword [rbp], rax
movabs r14, 0x5064fdde1f9f40f5
mov rax, qword [rbp]
mov qword [rbp + 0xa0], rax
movabs rax, 0x49518cccbd364966
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xa8], rax
movabs rax, 0x5064fd821fed409a
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xb0], rax
mov qword [rbp], rbx
mov rax, qword [rbp]
mov qword [rbp + 0xb8], rax
mov qword [rbp], rdi
mov rax, qword [rbp]
mov qword [rbp + 0x20], rax
mov qword [rbp], rsi
mov rax, qword [rbp]
mov qword [rbp + 0x28], rax
mov qword [rbp], r14
mov rax, qword [rbp]
mov qword [rbp + 0x30], rax
mov qword [rbp], rbx
mov rax, qword [rbp]
cmp word [0x180188fe0], 0
mov qword [rbp + 0x38], rax
mov rax, r15
vmovdqu ymm0, ymmword [rbp + 0x20]
vpxor ymm0, ymm0, ymmword [rbp + 0xa0]
vmovdqu ymmword [rbp + 0xa0], ymm0
vzeroupper
je 0x180081bba
nop
add rax, 2
cmp word [rax], 0
jne 0x180081bb0
mov rdx, qword [rbp + 0xa0]
test dx, dx
je 0x180081be1
lea r8, [rbp + 0xa0]
sub r8, rax
mov word [rax], dx
add rax, 2
movzx edx, word [r8 + rax]
test dx, dx
jne 0x180081bd0
xor edx, edx
mov rcx, r15
mov word [rax], dx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x180081e47
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x180081e47
movabs rax, 0x952938f9ffeab36d
movabs rdx, 0x9e46aaa99a892d00
mov qword [rbp], rax
movabs rcx, 0x3b5d3c51bf68d838
mov rax, qword [rbp]
mov qword [rbp + 0x20], rax
movabs rax, 0x2c5fedc8cf30697b
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x28], rax
movabs rax, 0x240888bf79fa24d5
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x30], rax
movabs rax, 0x2f5e145cf6e44a0e
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x38], rax
movabs rax, 0xce532e851774badf
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x40], rax
movabs rax, 0x5a3e59339f44a14a
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x48], rax
movabs rax, 0x3991f2bd4ae8c4dc
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x50], rax
movabs rax, 0x93a0157439bfc42d
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x58], rax
movabs rax, 0xf519cd8690bba59a
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x60], rax
movabs rax, 0x3c2a465a3b37d75
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x68], rax
movabs rax, 0x16f9a9c419b5ee18
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x70], rax
movabs rax, 0x10da4a68de337e16
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x78], rax
movabs rax, 0x693264b8991f81ff
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x80], rax
mov qword [rbp], rdx
mov rax, qword [rbp]
mov qword [rbp + 0x88], rax
mov qword [rbp], rdi
mov rax, qword [rbp]
mov qword [rbp + 0x20], rax
mov qword [rbp], rsi
mov rax, qword [rbp]
mov qword [rbp + 0x28], rax
mov qword [rbp], r14
mov rax, qword [rbp]
mov qword [rbp + 0x30], rax
mov qword [rbp], rbx
mov rax, qword [rbp]
mov qword [rbp + 0x38], rax
movabs rax, 0xa1274de0651ddeff
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x40], rax
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0x48], rax
movabs rax, 0x19f49cd26a8db7a9
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x50], rax
movabs rax, 0xb3c5671b549fb642
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x58], rax
movabs rax, 0x917ca0f4f5cfcbf3
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x60], rax
movabs rax, 0x71abc045c6c71c1c
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x68], rax
movabs rax, 0x659cc0b676c18d7d
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x70], rax
movabs rax, 0x75fa3e4fb05c1a36
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x78], rax
movabs rax, 0x693264b8ed6ce887
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x80], rax
mov qword [rbp], rdx
mov rax, qword [rbp]
xor al, al
jmp 0x180081e49
mov al, 1
lea r11, [rsp + 0x110]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rbp
ret