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

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x250
mov rax, qword [0x1400592a0]
xor rax, rsp
mov qword [rsp + 0x240], rax
xor r14d, r14d
mov rdi, rdx
mov rbx, rcx
mov ebp, r14d
test rdx, rdx
jne 0x14002b25e
mov eax, 0x80004003
jmp 0x14002b4ba
mov edx, 0x5c
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll_wcsrchr]
nop dword [rax + rax]
mov rcx, qword [rbx + 0x18]
test rax, rax
mov rsi, rax
cmove rsi, rdi
test rcx, rcx
je 0x14002b28e
call fcn.140001454
mov qword [rbx + 0x18], r14
or r15, 0xffffffffffffffff
mov rdi, r15
inc rdi
cmp word [rsi + rdi*2], r14w
jne 0x14002b295
mov r12d, 2
inc rdi
mov eax, r12d
mul rdi
cmovo rax, r15
mov rcx, rax
call fcn.1400014a0
mov qword [rbx + 0x18], rax
test rax, rax
jne 0x14002b2cd
mov eax, 0x8007000e
jmp 0x14002b4ba
mov r8, rsi
mov rdx, rdi
mov rcx, rax
call fcn.140010dd0
cmp qword [rbx + 0x30], r14
jne 0x14002b4b8
mov esi, 0x104
lea rdx, [rsp + 0x30]
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
nop dword [rax + rax]
test eax, eax
je 0x14002b4b8
mov rcx, qword [rbx + 0x30]
test rcx, rcx
je 0x14002b317
call fcn.140001454
mov qword [rbx + 0x30], r14
lea rcx, [rsp + 0x30]
call qword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
nop dword [rax + rax]
mov r8, qword [rbx + 0x18]
lea rcx, [rsp + 0x30]
mov rdx, rsi
call fcn.140010d0c
lea rax, [rsp + 0x30]
mov rdi, r15
inc rdi
cmp word [rax + rdi*2], r14w
jne 0x14002b341
inc rdi
mov rax, r12
mul rdi
cmovo rax, r15
mov rcx, rax
call fcn.1400014a0
mov qword [rbx + 0x30], rax
test rax, rax
je 0x14002b4b8
lea r8, [rsp + 0x30]
mov rdx, rdi
mov rcx, rax
call fcn.140010dd0
mov rcx, qword [rbx + 0x30]
call fcn.14001ab20
test eax, eax
jne 0x14002b4b8
lea rdx, [rsp + 0x30]
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_GetTempPath2W]
nop dword [rax + rax]
test eax, eax
je 0x14002b4b8
mov rcx, qword [rbx + 0x30]
test rcx, rcx
je 0x14002b3bb
call fcn.140001454
mov qword [rbx + 0x30], r14
lea rcx, [rsp + 0x30]
call qword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
nop dword [rax + rax]
mov rax, qword [rbx + 0x18]
mov rcx, r15
inc rcx
cmp word [rax + rcx*2], r14w
jne 0x14002b3d3
lea rdx, [rsp + 0x30]
mov rax, r15
inc rax
cmp word [rdx + rax*2], r14w
jne 0x14002b3e5
lea rdi, [rax + 0x41]
mov rax, r12
add rdi, rcx
mul rdi
cmovo rax, r15
mov rcx, rax
call fcn.1400014a0
mov qword [rbx + 0x30], rax
mov r10, rax
test rax, rax
je 0x14002b4b8
mov ecx, dword [0x14005a76c]
mov dword [rsp + 0x20], ecx
mov dword [rbx + 0x7c], 1
lea eax, [rcx + 1]
mov rcx, r10
lea r9, [rsp + 0x30]
mov dword [0x14005a76c], eax
lea r8, str._sWMC_4.4lu.tmp
mov rdx, rdi
call fcn.140010e44
mov rcx, qword [rbx + 0x30]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
nop dword [rax + rax]
test eax, eax
jne 0x14002b493
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
test eax, eax
je 0x14002b48e
cmp eax, 0xb7
jne 0x14002b48e
mov ecx, dword [0x14005a76c]
cmp ecx, 0xffffffff
jae 0x14002b48e
lea eax, [rcx + 1]
mov dword [rsp + 0x20], ecx
mov rcx, qword [rbx + 0x30]
jmp 0x14002b42f
mov ebp, 0x80004005
mov rcx, qword [rbx + 0x30]
test rcx, rcx
je 0x14002b4ac
call qword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
nop dword [rax + rax]
mov rcx, qword [rbx + 0x30]
mov r8, qword [rbx + 0x18]
mov rdx, rdi
call fcn.140010d0c
mov eax, ebp
mov rcx, qword [rsp + 0x240]
xor rcx, rsp
call fcn.1400017f0
lea r11, [rsp + 0x250]
mov rbx, qword [r11 + 0x40]
mov rbp, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret