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

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
sub rsp, 0x6a0
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rax + 0x20], rbx
mov rax, qword [0x180056150]
xor rax, rsp
mov qword [rsp + 0x690], rax
mov rdi, r8
mov rbx, rdx
mov rsi, rcx
mov qword [rsp + 0x58], 7
xor r12d, r12d
mov qword [rsp + 0x50], r12
mov word [rsp + 0x40], r12w
or ebp, 0xffffffff
mov r8d, ebp
lea rdx, [rsp + 0x38]
call fcn.180016980
lea r9, [0x1800442c4]
mov r8d, ebp
lea rdx, [rsp + 0x38]
mov rcx, rsi
call fcn.180016aa0
cmp eax, r12d
jne 0x18001758e
mov rcx, rbx
call fcn.18001c00c
nop
cmp qword [rsp + 0x58], 8
jb 0x180017587
mov rcx, qword [rsp + 0x40]
call fcn.1800228ac
xor eax, eax
jmp 0x1800177c9
mov r8d, 2
lea rdx, [0x1800442c8]
mov rcx, rbx
call fcn.180007420
mov r8d, 6
lea rdx, str._ieml.
mov rcx, rbx
call fcn.180013544
lea rcx, [0x180056020]
mov rax, qword [0x180056020]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x20], rax
cmp rdi, r12
je 0x1800175ed
mov r8, rdi
lea rdx, str.______s_
lea rcx, [rsp + 0x20]
call fcn.18000da7c
jmp 0x1800175fe
lea rdx, str.___
lea rcx, [rsp + 0x20]
call fcn.18000da7c
xor eax, eax
or rbp, 0xffffffffffffffff
mov rcx, rbp
mov rdx, qword [rsp + 0x20]
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea r13d, [rax + 1]
sub rcx, r13
mov r8, rcx
mov rcx, rbx
call fcn.180013544
lea rdx, [rsp + 0x270]
mov edi, 0x104
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
lea r9, [rsp + 0x60]
xor r8d, r8d
lea rdx, [0x180044308]
lea rcx, [rsp + 0x270]
call qword [sym.imp.KERNEL32.dll_GetTempFileNameW]
lea rcx, [rsp + 0x60]
call qword [sym.imp.SHLWAPI.dll_PathFindExtensionW]
mov word [rax], r12w
lea rcx, [0x180056020]
mov rax, qword [0x180056020]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x28], rax
lea rcx, [rsp + 0x28]
call fcn.1800132a4
mov r8, qword [rsp + 0x28]
mov rdx, rdi
lea rcx, [rsp + 0x60]
call fcn.180024a58
xor edx, edx
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
xor r9d, r9d
mov r8d, edi
lea rdx, [rsp + 0x480]
mov rcx, rsi
call fcn.180016160
lea rcx, [rsp + 0x480]
call qword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
mov rdx, rax
lea rcx, [rsp + 0x60]
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
lea rcx, [rsp + 0x60]
call fcn.180012d84
cmp eax, r12d
je 0x180017735
mov r8, r13
lea rdx, str.___a
mov rcx, rbx
call fcn.180013544
xor eax, eax
mov rcx, rbp
lea rdi, [rsp + 0x60]
repne scasw ax, word [rdi]
not rcx
sub rcx, r13
mov r8, rcx
lea rdx, [rsp + 0x60]
mov rcx, rbx
call fcn.180013544
mov r8, r13
lea rdx, [0x180044314]
mov rcx, rbx
call fcn.180013544
jmp 0x180017758
xor eax, eax
mov rcx, rbp
lea rdi, [rsp + 0x60]
repne scasw ax, word [rdi]
not rcx
sub rcx, r13
mov r8, rcx
lea rdx, [rsp + 0x60]
mov rcx, rbx
call fcn.180013544
lea rdx, [rsp + 0x40]
cmp qword [rsp + 0x58], 8
cmovae rdx, qword [rsp + 0x40]
mov rcx, rbx
call fcn.1800168b0
nop
mov rdx, qword [rsp + 0x28]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, ebp
cmp eax, r12d
jg 0x180017793
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x20]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, ebp
cmp eax, r12d
jg 0x1800177b4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
cmp qword [rsp + 0x58], 8
jb 0x1800177c6
mov rcx, qword [rsp + 0x40]
call fcn.1800228ac
mov eax, r13d
mov rcx, qword [rsp + 0x690]
xor rcx, rsp
call fcn.180022fd0
mov rbx, qword [rsp + 0x6e8]
add rsp, 0x6a0
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret