Function at 0x18001c4f0
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 [0x1800a7120]
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.18001b8a0
lea r9, [0x180088604]
mov r8d, ebp
lea rdx, [rsp + 0x38]
mov rcx, rsi
call fcn.18001b9c0
cmp eax, r12d
jne 0x18001c58e
mov rcx, rbx
call fcn.180020944
nop
cmp qword [rsp + 0x58], 8
jb 0x18001c587
mov rcx, qword [rsp + 0x40]
call fcn.18005bda0
xor eax, eax
jmp 0x18001c7c9
mov r8d, 2
lea rdx, [0x18008867c]
mov rcx, rbx
call fcn.180003900
mov r8d, 6
lea rdx, str._ieml.
mov rcx, rbx
call fcn.180017e9c
lea rcx, case.0x18003191c.6
mov rax, qword [case.0x18003191c.6]
call qword [rax + Ordinal_26]
add rax, 0x18
mov qword [rsp + 0x20], rax
cmp rdi, r12
je 0x18001c5ed
mov r8, rdi
lea rdx, str.______s_
lea rcx, [rsp + 0x20]
call fcn.180010c18
jmp 0x18001c5fe
lea rdx, [0x1800886b0]
lea rcx, [rsp + 0x20]
call fcn.180010c18
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.180017e9c
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, [0x1800886c0]
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, case.0x18003191c.6
mov rax, qword [case.0x18003191c.6]
call qword [rax + Ordinal_26]
add rax, 0x18
mov qword [rsp + 0x28], rax
lea rcx, [rsp + 0x28]
call fcn.1800176ec
mov r8, qword [rsp + 0x28]
mov rdx, rdi
lea rcx, [rsp + 0x60]
call fcn.18005e494
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.18001aa20
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.1800171cc
cmp eax, r12d
je 0x18001c735
mov r8, r13
lea rdx, str.___a
mov rcx, rbx
call fcn.180017e9c
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.180017e9c
mov r8, r13
lea rdx, [0x1800886cc]
mov rcx, rbx
call fcn.180017e9c
jmp 0x18001c758
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.180017e9c
lea rdx, [rsp + 0x40]
cmp qword [rsp + 0x58], 8
cmovae rdx, qword [rsp + 0x40]
mov rcx, rbx
call fcn.18001b7d0
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 0x18001c793
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
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 0x18001c7b4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
nop
cmp qword [rsp + 0x58], 8
jb 0x18001c7c6
mov rcx, qword [rsp + 0x40]
call fcn.18005bda0
mov eax, r13d
mov rcx, qword [rsp + 0x690]
xor rcx, rsp
call fcn.18005c4c0
mov rbx, qword [rsp + 0x6e8]
add rsp, 0x6a0
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret