Function at 0x140053b80
Capabilities:
Create directory
Get common file path
Get startup folder

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r14
sub rsp, 0xa98
mov rax, qword [0x1400c4a20]
xor rax, rsp
mov qword [rsp + 0xa80], rax
xor r12d, r12d
movsxd rsi, edx
mov qword [r8], r12
movzx ebp, r9b
mov rbx, r8
mov r14, rcx
cmp esi, 9
ja 0x140053ecf
mov rax, qword [rcx + rsi*8]
mov qword [rsp + 0xa90], r15
lea r15, [rcx + rsi*8]
test rax, rax
je 0x140053c00
mov qword [r8], rax
xor eax, eax
mov r15, qword [rsp + 0xa90]
mov rcx, qword [rsp + 0xa80]
xor rcx, rsp
call fcn.140080bf0
add rsp, 0xa98
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov ecx, 0x400
call fcn.140081178
xor edx, edx
mov qword [rbx], rax
mov r8d, 0x400
mov rcx, rax
call main
lea rdx, [0x140000000]
mov ecx, dword [rdx + rsi*4 + 0x53edc]
add rcx, rdx
jmp rcx
mov r8d, 0x1a
mov rdx, qword [rbx]
mov r9d, 1
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
mov rcx, qword [rbx]
lea r8, [0x1400a4fd4]
mov edx, 0x400
mov edi, eax
call fcn.140066d00
jmp 0x140053c96
mov r8d, 0x1c
jmp 0x140053c36
mov r8d, 0x26
jmp 0x140053c36
mov r8d, 0x2a
jmp 0x140053c36
mov r8d, 0x20
jmp 0x140053c36
mov rdx, qword [rbx]
mov ecx, 0x103
call qword [sym.imp.KERNEL32.dll_GetTempPathA]
test eax, eax
mov edi, r12d
setne dil
test edi, edi
je 0x140053eba
lea eax, [rsi - 7]
cmp eax, 2
jbe 0x140053e77
jmp 0x140053d6d
xor edx, edx
lea rcx, [rsp + 0x260]
mov r8d, 0x104
call main
mov r8d, 0x104
lea rdx, [rsp + 0x260]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x140053eba
xor edx, edx
lea rcx, [rsp + 0x670]
mov r8d, 0x104
call main
xor edx, edx
lea rcx, [rsp + 0x50]
mov r8d, 0x104
call main
mov qword [rsp + 0x40], r12
lea r9, [rsp + 0x50]
mov qword [rsp + 0x38], r12
lea rdx, [rsp + 0x670]
mov qword [rsp + 0x30], r12
lea rcx, [rsp + 0x260]
mov qword [rsp + 0x28], r12
mov r8d, 0x104
mov qword [rsp + 0x20], 0x104
call fcn.14008e31c
mov rcx, qword [rbx]
lea r8, [rsp + 0x670]
mov edx, 0x400
call fcn.140066d00
mov rcx, qword [rbx]
lea r8, [rsp + 0x50]
mov edx, 0x400
call fcn.140066d00
cmp dword [r14 + 0x50], 1
lea r8, str.RoomConnector
lea rax, str.Zoom
cmovne r8, rax
jmp 0x140053e7e
mov edi, 1
lea rdx, [rsp + 0x670]
mov r9d, edi
xor ecx, ecx
lea r8d, [rdi + 0xf]
call qword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
je 0x140053dc4
mov r9d, edi
lea r8d, [rdi + 0x18]
lea rdx, [rsp + 0x878]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
jne 0x140053dc7
mov edi, r12d
lea r9, [rsp + 0x260]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x670]
call fcn.140053870
test al, al
jne 0x140053e0b
lea r9, [rsp + 0x260]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x878]
call fcn.140053870
test al, al
jne 0x140053e0b
test edi, edi
je 0x140053eba
lea rax, [rsp + 0x260]
mov rcx, 0xffffffffffffffff
nop word [rax + rax]
cmp word [rax + rcx*2 + 2], r12w
lea rcx, [rcx + 1]
jne 0x140053e20
mov rax, qword [rbx]
lea r9d, [rcx + 1]
mov qword [rsp + 0x38], r12
lea r8, [rsp + 0x260]
mov qword [rsp + 0x30], r12
xor edx, edx
mov dword [rsp + 0x28], 0x400
mov ecx, 0xfde9
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov rcx, qword [rbx]
lea rdx, [0x1400b3bb0]
call fcn.140086480
test rax, rax
je 0x140053e77
mov byte [rax + 1], r12b
lea r8, str.ZoomVDI
mov rcx, qword [rbx]
mov edx, 0x400
call fcn.140066d00
test bpl, bpl
je 0x140053e9b
mov rcx, qword [rbx]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov rcx, qword [rbx]
lea r8, [0x1400a4fd4]
mov edx, 0x400
call fcn.140066d00
mov rax, qword [rbx]
mov qword [r15], rax
jmp 0x140053bd6
mov rcx, qword [rbx]
call fcn.1400222c0
mov eax, 3
mov qword [rbx], r12
jmp 0x140053bd8
mov eax, 1
jmp 0x140053be0