Function at 0x180014a30
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x2d0]
sub rsp, 0x3d0
mov rax, qword [0x18007b358]
xor rax, rsp
mov qword [rbp + 0x2c0], rax
mov r10, qword [rsp + 0x58]
lea esi, [r8 + 0xb]
mov r11d, dword [rsp + 0x48]
mov r12, rcx
mov ebx, dword [rsp + 0x48]
mov r13d, r8d
mov qword [rsp + 0x70], rcx
mov r14, rdx
xor ecx, ecx
mov qword [rsp + 0x58], r10
mov dword [rsp + 0x54], r11d
cmp r8d, esi
jae 0x180014c7f
movzx eax, byte [rsp + 0x40]
lea edi, [r8 - 0xf8]
mov r8d, dword [rsp + 0x48]
mov r15, qword [rsp + 0x68]
mov byte [rsp + 0x40], al
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x44], eax
mov dword [rsp + 0x50], r8d
lea rdx, [0x180000000]
cmp edi, 0x24
ja case.default.0x180014ae6
movzx eax, byte [rdx + rdi + 0x14f30]
mov ecx, dword [rdx + rax*4 + 0x14f00]
add rcx, rdx
jmp rcx
mov dl, 1
xor ecx, ecx
mov byte [rsp + 0x40], dl
jmp 0x180014c69
movzx eax, word [r14]
mov word [r12 + 8], ax
jmp case.0x180014ae6.11
mov byte [rbp - 0x7f], 0x65
jmp case.0x180014ae6.11
mov r8d, 5
mov byte [rsp + 0x78], 0
lea rdx, [0x18006e1e4]
lea rcx, [rsp + 0x78]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncat]
mov r8d, 4
lea rdx, str.socket.backup_created
lea rcx, [rsp + 0x7d]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov r10, qword [rsp + 0x58]
mov r8d, dword [rsp + 0x50]
mov r11d, dword [rsp + 0x54]
jmp case.0x180014ae6.11
xor ecx, ecx
mov r10d, ecx
mov qword [rsp + 0x58], rcx
mov r8d, ecx
mov dword [rsp + 0x50], ecx
jmp case.default.0x180014ae6
xor r15d, r15d
mov dword [rsp + 0x54], 0x36
xor r8d, r8d
mov rcx, r12
lea edx, [r15 + 0xc]
call fcn.180057390
mov r10, qword [rsp + 0x58]
mov r8d, dword [rsp + 0x50]
mov r11d, dword [rsp + 0x54]
jmp case.0x180014ae6.11
mov eax, dword [r14]
mov r9d, r8d
add dword [r12 + 4], eax
mov r8, r10
lea rax, [rbp + 0xb0]
mov edx, r11d
mov rcx, r15
mov qword [rsp + 0x20], rax
call qword [sym.imp.SHELL32.dll_SHGetFolderPathW]
movzx edx, byte [rsp + 0x40]
xor ecx, ecx
mov r10, qword [rsp + 0x58]
mov r9d, eax
mov r8d, dword [rsp + 0x50]
mov r11d, dword [rsp + 0x54]
mov dword [rsp + 0x44], eax
jmp 0x180014c6e
xor edx, edx
mov dword [rsp + 0x48], 1
lea rax, [rsp + 0x48]
xor r9d, r9d
mov qword [rsp + 0x28], rax
lea r8, [0x18006b991]
mov qword [rsp + 0x20], r12
lea ecx, [rdx + 8]
call fcn.1800374a0
mov r10, qword [rsp + 0x58]
mov ebx, eax
mov r8d, dword [rsp + 0x50]
mov r11d, dword [rsp + 0x54]
jmp case.0x180014ae6.11
mov r8d, 1
mov byte [rbp - 0x7e], 0
lea rdx, [0x18006e211]
lea rcx, [rsp + 0x78]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncat]
mov r10, qword [rsp + 0x58]
mov r8d, dword [rsp + 0x50]
mov r11d, dword [rsp + 0x54]
mov dword [rbp - 0x78], 0x730077
jmp case.0x180014ae6.11
mov dword [rbp - 0x74], 0x5f0032
mov dword [rbp - 0x70], 0x320033
xor ecx, ecx
movzx edx, byte [rsp + 0x40]
mov r9d, dword [rsp + 0x44]
inc edi
lea eax, [rdi + 0xf8]
cmp eax, esi
jae 0x180014c9c
jmp 0x180014ac4
movzx edx, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x48]
mov r9d, dword [rsp + 0x48]
mov byte [rsp + 0x40], dl
mov dword [rsp + 0x50], r8d
mov dword [rsp + 0x44], r9d
lea eax, [r13 + 0x457]
mov dword [rsp + 0x60], eax
cmp r13d, eax
jae case.0x180014ae6.6
movzx esi, byte [rsp + 0x40]
mov r15, qword [rsp + 0x68]
mov r14d, dword [rsp + 0x60]
nop dword [rax + rax]
cmp r13d, 0x1e3
ja 0x180014dbe
je 0x180014d82
mov eax, r13d
sub eax, 0xf8
je 0x180014d6d
sub eax, 0x21
je 0x180014d5a
sub eax, 0x44
je 0x180014d34
sub eax, 0x21
je 0x180014d2b
cmp eax, 0x44
jne 0x180014ed5
mov eax, ebx
mov rcx, qword [rbp + 0x2c0]
xor rcx, rsp
call fcn.180069d20
lea r11, [rsp + 0x3d0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov word [rbp - 0x64], cx
jmp 0x180014ed5
test dl, dl
je 0x180014d50
lea r9, [rbp + 0xb0]
mov rdx, r10
mov ecx, r11d
call qword [sym.imp.SHELL32.dll_SHSetFolderPathW]
movzx edx, byte [rsp + 0x40]
mov ebx, dword [r12 + 4]
jmp 0x180014ed5
mov dword [rbp - 0x6c], 0x64002e
mov dword [rbp - 0x68], 0x6c006c
jmp 0x180014ed5
movzx eax, dl
test r9d, r9d
cmove ecx, eax
movzx edx, cl
mov byte [rsp + 0x40], cl
jmp 0x180014ed5
mov qword [rsp + 0x30], rcx
lea r8, [rsp + 0x78]
mov qword [rsp + 0x28], rcx
xor r9d, r9d
lea rcx, [rbp - 0x78]
mov dword [rsp + 0x20], 0x42
xor edx, edx
mov sil, 1
call fcn.18001a9e0
mov qword [rsp + 0x68], rax
call qword [sym.imp.WINMM.dll_midiInGetNumDevs]
mov dword [rsp + 0x64], eax
jmp 0x180014ed0
mov eax, r13d
sub eax, 0x248
je 0x180014e7d
sub eax, 0x65
je 0x180014e71
sub eax, 0x65
je 0x180014e67
sub eax, 0x65
je 0x180014df6
cmp eax, 0x65
jne 0x180014ed5
mov dword [r12 + 8], ecx
jmp 0x180014ed5
test sil, sil
je 0x180014ed5
mov edi, reloc.SHELL32.dll_SHSetInstanceExplorer
xor r12d, r12d
mov eax, edi
sub eax, 0xb0
je 0x180014e53
sub eax, 1
je 0x180014e34
cmp eax, 1
jne 0x180014e56
test sil, sil
je 0x180014e56
mov r8d, 0x104
lea rdx, [rbp - 0x60]
mov ecx, r14d
call qword [sym.imp.WINMM.dll_midiInGetErrorTextA]
jmp 0x180014e56
lea rdx, [rsp + 0x48]
mov dword [rsp + 0x48], r12d
mov rcx, r15
call qword [sym.imp.WINMM.dll_midiInGetID]
mov r14d, eax
test eax, eax
jne 0x180014e56
xor sil, sil
jmp 0x180014e56
mov r15, r12
inc edi
cmp edi, 0xb3
jb 0x180014e07
mov r12, qword [rsp + 0x70]
jmp 0x180014ed0
mov qword [r12], 0xffffffffffffffff
jmp 0x180014ed5
cmp dword [rsp + 0x64], 0
jne 0x180014ed5
xor sil, sil
jmp 0x180014ed5
mov qword [rsp + 0x28], rcx
xor r9d, r9d
xor ecx, ecx
mov qword [rsp + 0x20], r12
xor r8d, r8d
mov edx, 0xfd
call fcn.18001e9e0
test al, al
jne 0x180014ec8
mov edi, 0x80
mov eax, edi
sub eax, 0x80
je 0x180014eb6
cmp eax, 1
je case.0x180014ae6.6
jmp 0x180014ebe
xor ecx, ecx
call qword [sym.imp.GDI32.dll_UnrealizeObject]
inc edi
cmp edi, 0x82
jb 0x180014ea2
mov rcx, qword [r12]
call qword [rsp + 0x68]
movzx edx, byte [rsp + 0x40]
add r13d, 0x65
cmp r13d, dword [rsp + 0x60]
jae case.0x180014ae6.6
mov r10, qword [rsp + 0x58]
xor ecx, ecx
mov r8d, dword [rsp + 0x50]
mov r11d, dword [rsp + 0x54]
mov r9d, dword [rsp + 0x44]
jmp 0x180014cc0