Function at 0x452a08
Capabilities:
Create directory
Delete directory
Get common file path
Set current directory

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x250
mov rax, qword [0x004bf230]
xor rax, rsp
mov qword [rsp + 0x240], rax
mov r14, rcx
mov rbp, rdx
mov r13d, 0x208
lea rcx, [rsp + 0x32]
xor ebx, ebx
xor edx, edx
mov r8, r13
mov word [rsp + 0x30], bx
call fcn.00449860
mov r9d, 0x104
lea rcx, [rsp + 0x30]
lea edx, [r9 + 1]
mov r8, r14
call fcn.004461fc
lea rcx, [rsp + 0x30]
call qword [sym.imp.SHLWAPI.dll_PathRemoveBackslashW]
lea rcx, [rsp + 0x30]
mov rdx, r14
call fcn.00446160
cmp eax, ebx
je 0x452a8d
xor eax, eax
jmp 0x452d9b
lea rdx, [0x004a007c]
mov rcx, rbp
call fcn.00445330
cmp rax, rbx
je 0x452ab6
lea rcx, [rbp + 2]
lea rdx, [0x004a007c]
call fcn.00445330
cmp rax, rbx
jne 0x452a86
cmp r14, rbx
je 0x452a86
xor eax, eax
or r8, 0xffffffffffffffff
mov rdi, rbp
lea r12d, [rax + 1]
mov rcx, r8
repne scasw ax, word [rdi]
lea eax, [r8 + 3]
not rcx
sub rcx, r12
lea r15, [r12 + rcx]
mul r15
cmovo rax, r8
mov rcx, rax
call fcn.004444b0
mov rsi, rax
cmp rax, rbx
je 0x452a86
lea r8, [r15 + r15]
xor edx, edx
mov rcx, rax
call fcn.00449860
lea r9, [r15 - 1]
mov r8, rbp
mov rdx, r15
mov rcx, rsi
call fcn.004461fc
mov rcx, rsi
call qword [sym.imp.SHLWAPI.dll_PathStripToRootW]
cmp eax, ebx
jne 0x452b2d
mov rcx, rsi
call fcn.00444544
jmp 0x452a86
mov rcx, r13
call fcn.004444b0
mov rbp, rax
mov qword [rsp + 0x28], rax
cmp rax, rbx
je 0x452b20
mov r8, r13
xor edx, edx
mov rcx, rax
call fcn.00449860
mov rdx, rbp
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
movsxd r13, eax
cmp r13d, 0x104
jl 0x452baf
mov rcx, rbp
call fcn.00444544
mov rcx, 0xffffffffffffffff
mov eax, 2
mul r13
cmovo rax, rcx
mov rcx, rax
call fcn.004444b0
lea r8, [r13 + r13]
xor edx, edx
mov rcx, rax
mov rbp, rax
mov qword [rsp + 0x28], rax
call fcn.00449860
mov rdx, rbp
mov ecx, r13d
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
cmp eax, ebx
jne 0x452bc9
mov rcx, rbp
call fcn.00444544
jmp 0x452b20
or r8, 0xffffffffffffffff
xor eax, eax
mov rdi, r14
mov rcx, r8
repne scasw ax, word [rdi]
lea eax, [r8 + 3]
not rcx
sub rcx, r12
add rcx, r12
mul rcx
cmovo rax, r8
mov rcx, rax
call fcn.004444b0
mov r13, rax
cmp rax, rbx
jne 0x452c09
mov rcx, rbp
call fcn.00444544
jmp 0x452d91
xor eax, eax
or rbp, 0xffffffffffffffff
mov rdi, r14
mov rcx, rbp
xor edx, edx
repne scasw ax, word [rdi]
not rcx
sub rcx, r12
lea r8, [rcx + rcx + 2]
mov rcx, r13
call fcn.00449860
xor eax, eax
mov rcx, rbp
mov rdi, r14
mov r8, r14
repne scasw ax, word [rdi]
not rcx
sub rcx, r12
lea rdx, [r12 + rcx]
mov rcx, r13
call fcn.004444bc
xor eax, eax
mov rcx, rbp
mov rdi, r13
mov r14w, bx
mov ebp, eax
repne scasw ax, word [rdi]
not rcx
sub rcx, r12
lea rdi, [r13 + rcx*2]
mov r8, r13
mov rdx, r15
mov rcx, rsi
mov word [rdi], bx
call fcn.004444bc
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov word [rdi], r14w
cmp eax, ebx
mov eax, 0x5c
je 0x452c9f
mov ebp, r12d
cmp r14w, bx
je 0x452cad
add rdi, 2
jmp 0x452cad
sub rdi, 2
cmp rdi, r13
jbe 0x452cad
cmp word [rdi], ax
jne 0x452c9f
mov r14d, eax
cmp ebp, ebx
je 0x452c69
mov rbp, qword [rsp + 0x28]
mov r14, rdi
cmp word [rdi], bx
je 0x452d75
cmp r12d, ebx
je 0x452d70
jmp 0x452cd9
cmp word [rdi], ax
je 0x452cde
add rdi, 2
cmp word [rdi], bx
jne 0x452cd0
movzx eax, word [rdi]
mov r8, r13
mov rdx, r15
mov rcx, rsi
mov word [rdi], bx
mov word [rsp + 0x20], ax
call fcn.004444bc
xor edx, edx
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
cmp eax, ebx
mov ax, word [rsp + 0x20]
mov word [rdi], ax
je 0x452d39
cmp ax, bx
je 0x452d2d
add rdi, 2
cmp word [rdi], bx
je 0x452d26
mov eax, 0x5c
cmp word [rdi], ax
jne 0x452d2d
mov r12d, ebx
sub rdi, 2
mov eax, 0x5c
cmp word [rdi], bx
jne 0x452cc5
jmp 0x452d70
mov r12d, ebx
jmp 0x452d70
mov r8, r13
mov rdx, r15
mov rcx, rsi
mov word [rdi], bx
call fcn.004444bc
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
cmp rdi, r14
jbe 0x452d75
mov eax, 0x5c
cmp word [rdi], ax
je 0x452d70
sub rdi, 2
cmp rdi, r14
ja 0x452d62
cmp rdi, r14
ja 0x452d3e
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov rcx, rbp
call fcn.00444544
mov rcx, r13
call fcn.00444544
mov ebx, r12d
mov rcx, rsi
call fcn.00444544
mov eax, ebx
mov rcx, qword [rsp + 0x240]
xor rcx, rsp
call fcn.00443d60
mov rbx, qword [rsp + 0x2a0]
add rsp, 0x250
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret