Function at 0x140057e70
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 [0x1400bca20]
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 0x1400581bf
mov rax, qword [rcx + rsi*8]
mov qword [rsp + 0xa90], r15
lea r15, [rcx + rsi*8]
test rax, rax
je 0x140057ef0
mov qword [r8], rax
xor eax, eax
mov r15, qword [rsp + 0xa90]
mov rcx, qword [rsp + 0xa80]
xor rcx, rsp
call fcn.14007a950
add rsp, 0xa98
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov ecx, 0x400
call fcn.14007aed8
xor edx, edx
mov qword [rbx], rax
mov r8d, 0x400
mov rcx, rax
call main
lea rdx, [0x140000000]
mov ecx, dword [rdx + rsi*4 + 0x581cc]
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, [0x14009df34]
mov edx, 0x400
mov edi, eax
call fcn.140060ab0
jmp 0x140057f86
mov r8d, 0x1c
jmp 0x140057f26
mov r8d, 0x26
jmp 0x140057f26
mov r8d, 0x2a
jmp 0x140057f26
mov r8d, 0x20
jmp 0x140057f26
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 0x1400581aa
lea eax, [rsi - 7]
cmp eax, 2
jbe 0x140058167
jmp 0x14005805d
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 0x1400581aa
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.140087ffc
mov rcx, qword [rbx]
lea r8, [rsp + 0x670]
mov edx, 0x400
call fcn.140060ab0
mov rcx, qword [rbx]
lea r8, [rsp + 0x50]
mov edx, 0x400
call fcn.140060ab0
cmp dword [r14 + 0x50], 1
lea r8, str.RoomConnector
lea rax, str.Zoom
cmovne r8, rax
jmp 0x14005816e
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 0x1400580b4
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 0x1400580b7
mov edi, r12d
lea r9, [rsp + 0x260]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x670]
call fcn.140057b60
test al, al
jne 0x1400580fb
lea r9, [rsp + 0x260]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x878]
call fcn.140057b60
test al, al
jne 0x1400580fb
test edi, edi
je 0x1400581aa
lea rax, [rsp + 0x260]
mov rcx, 0xffffffffffffffff
nop word [rax + rax]
cmp word [rax + rcx*2 + 2], r12w
lea rcx, [rcx + 1]
jne 0x140058110
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, str.ZoomVDI
call fcn.1400801b0
test rax, rax
je 0x140058167
mov byte [rax + 1], r12b
lea r8, [0x1400ac6d0]
mov rcx, qword [rbx]
mov edx, 0x400
call fcn.140060ab0
test bpl, bpl
je 0x14005818b
mov rcx, qword [rbx]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov rcx, qword [rbx]
lea r8, [0x14009df34]
mov edx, 0x400
call fcn.140060ab0
mov rax, qword [rbx]
mov qword [r15], rax
jmp 0x140057ec6
mov rcx, qword [rbx]
call fcn.140027b00
mov eax, 3
mov qword [rbx], r12
jmp 0x140057ec8
mov eax, 1
jmp 0x140057ed0