Function at 0x470cf0
Capabilities:
Create process on windows
Get common file path

Disassembly:
sub rsp, 0xa38
mov qword [rsp + 0xa30], rbx
mov qword [rsp + 0xa28], rsi
mov qword [rsp + 0xa20], rdi
mov rbx, rdx
mov rsi, rcx
mov qword [rsp + 0x38], 0xfffffffffffffffe
call fcn.004545a0
test eax, eax
je 0x470da1
xor r8d, r8d
lea rdx, str.CSetupApp::AudioDeviceCleanup_n
lea rcx, [rsp + 0x360]
call fcn.00486850
movabs rdx, 0x203a5952544e45
mov qword [rsp + 0x150], rdx
lea rdi, [rsp + 0x150]
xor eax, eax
mov rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
lea rdx, [rsp + 0x360]
xor ecx, ecx
nop
movzx eax, byte [rdx + rcx]
mov byte [rdi + rcx - 1], al
inc rcx
test al, al
jne 0x470d70
call fcn.004546e0
mov rcx, rax
call fcn.004545b0
call fcn.004546e0
mov rcx, rax
lea rdx, [rsp + 0x150]
call fcn.004548a0
call fcn.0047fa50
cmp eax, 0xb
je 0x471003
cmp eax, 0xc
je 0x471003
lea rcx, [rsp + 0x460]
call fcn.004048d0
nop
mov rdi, qword [rbx + 8]
test rdi, rdi
je 0x470f58
mov rdx, rdi
mov rdi, qword [rdi]
add rdx, 0x10
lea rcx, [rsp + 0x460]
call fcn.00404c70
lea rdx, str.MEDIA
mov rcx, qword [rsp + 0x468]
call fcn.004868e0
test eax, eax
je 0x470e0c
test rdi, rdi
jne 0x470dd3
jmp 0x470f58
mov edx, 0x104
lea rcx, [rsp + 0x250]
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
lea r8, [rsp + 0x250]
lea rdx, str._sSYSTEMwstream.dll
lea rcx, [rsp + 0x40]
call fcn.00486850
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x30]
call fcn.00422170
lea r8, [rsp + 0x250]
lea rdx, str._sSYSTEMwstrm32.dll
lea rcx, [rsp + 0x40]
call fcn.00486850
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x30]
call fcn.00422170
lea r8, [rsp + 0x250]
lea rdx, str._sSYSTEMgenmidi.wsl
lea rcx, [rsp + 0x40]
call fcn.00486850
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x30]
call fcn.00422170
lea r8, [rsp + 0x250]
lea rdx, str._sSYSTEMgmram.ewa
lea rcx, [rsp + 0x40]
call fcn.00486850
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x30]
call fcn.00422170
lea r8, [rsp + 0x250]
lea rdx, str._sSYSTEMmsg32.exe
lea rcx, [rsp + 0x40]
call fcn.00486850
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x30]
call fcn.00422170
mov dword [rsp + 0x28], 5
xor edi, edi
mov qword [rsp + 0x20], rdi
xor r9d, r9d
lea r8, str.systray.exe
lea rdx, str.open
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_ShellExecuteA]
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
mov dword [rsp + 0x28], 5
mov qword [rsp + 0x20], rdi
lea r9, str.mmsys.cpl
lea r8, str.control.exe
lea rdx, str.open
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_ShellExecuteA]
mov ecx, 0x5dc
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, rsi
call fcn.00470ba0
nop
lea rcx, [rsp + 0x4f8]
call fcn.0049b1dc
nop
lea rcx, [rsp + 0x4f0]
call fcn.0049b1dc
nop
lea rcx, [rsp + 0x4e8]
call fcn.0049b1dc
nop
lea r9, [0x00402490]
mov r8d, 5
mov edx, InitCommonControls
lea rcx, [rsp + 0x498]
call fcn.00486c80
nop
lea rcx, [rsp + 0x490]
call fcn.0049b1dc
nop
lea rcx, [rsp + 0x488]
call fcn.0049b1dc
nop
lea rcx, [rsp + 0x480]
call fcn.0049b1dc
nop
lea rcx, [rsp + 0x478]
call fcn.0049b1dc
nop
lea rcx, [rsp + 0x470]
call fcn.0049b1dc
nop
lea rcx, [rsp + 0x468]
call fcn.0049b1dc
nop
lea rcx, [rsp + 0x460]
call fcn.0049b1dc
call fcn.004545a0
test eax, eax
je 0x471091
xor r8d, r8d
lea rdx, str.CSetupApp::AudioDeviceCleanup_n
lea rcx, [rsp + 0x360]
call fcn.00486850
movabs rdx, 0x20203a54495845
mov qword [rsp + 0x150], rdx
lea rdi, [rsp + 0x150]
xor eax, eax
mov rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
lea rdx, [rsp + 0x360]
xor ecx, ecx
nop
nop
nop
movzx eax, byte [rdx + rcx]
mov byte [rdi + rcx - 1], al
inc rcx
test al, al
jne 0x471060
call fcn.004546e0
mov rcx, rax
lea rdx, [rsp + 0x150]
call fcn.004548a0
call fcn.004546e0
mov rcx, rax
call fcn.004545c0
mov rbx, qword [rsp + 0xa30]
mov rsi, qword [rsp + 0xa28]
mov rdi, qword [rsp + 0xa20]
add rsp, 0xa38
ret