Function at 0x401000
Capabilities:
Accept command line arguments
Create directory
Create process on windows
Get common file path
Get program files directory
Set file attributes
Terminate process
Write and execute a file
Write file on windows

Disassembly:
sub rsp, 8
sub rsp, 0x20
mov rcx, 0
mov rdx, section..data_1
mov r8, 0x26
mov r9, 0
call qword [sym.imp.SHELL32.DLL_SHGetSpecialFolderPathA]
add rsp, 0x20
sub rsp, 0x20
mov rcx, section..data_1
call qword [sym.imp.SHLWAPI.DLL_PathAddBackslashA]
add rsp, 0x20
sub rsp, 0x20
mov rcx, section..data_1
jmp 0x401057
lea rdx, [0x00401050]
call qword [sym.imp.KERNEL32.DLL_lstrcatA]
add rsp, 0x20
sub rsp, 0x20
mov rcx, section..data_1
call qword [sym.imp.SHLWAPI.DLL_PathAddBackslashA]
add rsp, 0x20
sub rsp, 0x20
mov rcx, section..data_1
jmp 0x401095
lea rdx, [0x0040108a]
call qword [sym.imp.KERNEL32.DLL_lstrcatA]
add rsp, 0x20
sub rsp, 0x20
mov rcx, section..data_1
mov rdx, 0x429210
call qword [sym.imp.KERNEL32.DLL_GetBinaryTypeA]
add rsp, 0x20
cmp eax, 0
je 0x401312
sub rsp, 0x20
call qword [sym.imp.KERNEL32.DLL_GetCommandLineA]
add rsp, 0x20
mov ebx, eax
cmp byte [ebx], 0
je 0x4012da
cmp byte [ebx], 0x20
je 0x4010ef
inc ebx
jmp 0x4010db
inc ebx
cmp byte [ebx], 0x20
je 0x4010ef
cmp byte [ebx], 0x3a
jne 0x4012d4
sub rsp, 0x20
mov rcx, 0
mov rdx, 0x429104
mov r8, 0x1a
mov r9, 0
call qword [sym.imp.SHELL32.DLL_SHGetSpecialFolderPathA]
add rsp, 0x20
sub rsp, 0x20
mov rcx, 0x429104
call qword [sym.imp.SHLWAPI.DLL_PathAddBackslashA]
add rsp, 0x20
sub rsp, 0x20
mov rcx, 0x429104
jmp 0x401157
lea rdx, [0x0040114d]
call qword [sym.imp.KERNEL32.DLL_lstrcatA]
add rsp, 0x20
sub rsp, 0x20
mov rcx, 0x429104
mov rdx, 0
call qword [sym.imp.KERNEL32.DLL_CreateDirectoryA]
add rsp, 0x20
sub rsp, 0x20
mov rcx, 0x429104
call qword [sym.imp.SHLWAPI.DLL_PathAddBackslashA]
add rsp, 0x20
sub rsp, 0x20
mov rcx, 0x429104
jmp 0x4011b3
lea rdx, [0x004011a6]
call qword [sym.imp.KERNEL32.DLL_lstrcatA]
add rsp, 0x20
sub rsp, 0x20
mov rcx, 0x429104
mov rdx, 0
call qword [sym.imp.KERNEL32.DLL_CreateDirectoryA]
add rsp, 0x20
sub rsp, 0x20
mov rcx, 0x429104
call qword [sym.imp.SHLWAPI.DLL_PathAddBackslashA]
add rsp, 0x20
sub rsp, 0x20
mov rcx, 0x429104
jmp 0x401216
lea rdx, [0x00401202]
call qword [sym.imp.KERNEL32.DLL_lstrcatA]
add rsp, 0x20
sub rsp, 0x20
mov rcx, 0x429104
mov rdx, 0
call qword [sym.imp.KERNEL32.DLL_SetFileAttributesA]
add rsp, 0x20
sub rsp, 0x40
mov rcx, 0x429104
mov rdx, 0x40000000
mov r8, 0
mov r9, 0
mov qword [rsp + 0x20], 4
mov qword [rsp + 0x28], pe_nt_image_headers64
mov qword [rsp + 0x30], 0
call qword [sym.imp.KERNEL32.DLL_CreateFileA]
add rsp, 0x40
mov dword [0x00429208], eax
sub rsp, 0x30
mov ecx, dword [0x00429208]
mov rdx, str.__xml_version_1.0__encoding_utf_8____r_n_UserPreferences__r_n____list_name_Entries__type_list___r_n_______item__r_n__________string_name_Group__value_UValueBox____r_n__________member_name_Values___r_n_____________int_name_Mouse_Mode__value_2____r_n___________member__r_n________item__r_n_______item__r_n__________string_name_Group__value_MIDI____r_n__________member_name_Values___r_n_____________int_name_Allow_Note_Context_Range__value_0____r_n_____________int_name_Default_Editor__value_0____r_n_____________int_name_TicksPerBeat__value_120____r_n_____________int_name_switch_editors_on_focus_change__value_1____r_n___________member__r_n________item__r_n_______item__r_n__________string_name_Group__value_MediaBay____r_n__________member_name_Values___r_n_____________int_name_edit_in_Viewer__value_0____r_n_____________int_name_max_Results__value_10000____r_n_____________int_name_scan_unknown_files__value_0____r_n_____________int_name_show_Extensions__value_0____r_n_____________int_name_stop_scanning_when_closing__value_0____r_n___________member__r_n________item__r_n_______item__r_n__________string_name_Group__value_VST____r_n__________member_name_Values___r_n_____________int_name_AskCreateMidiTrack__value_1____r_n_____________int_name_Default_Send_Level__value_0____r_n_____________float_name_Delay_Compensation_Threshold__value_0____r_n_____________int_name_Do_Not_Connect_Input_Output_Busses_When_Loading_External_Projects__value_0____r_n_____________int_name_Linked_Panner_Default__value_0____r_n_____________int_name_Mute_Group_Sources__value_1____r_n_____________int_name_Mute_Pre_Send_in_Mute__value_1____r_n_____________int_name_OpenEditorAfterInstanciate__value_1____r_n_____________int_name_OverloadWarnings__value_0____r_n_____________int_name_Stereo_Panner_Mode__value_2____r_n_____________int_name_SuspendWhenSilenceFlags__value_0____r_n_____________int_name_SyncSynthUnitSelection__value_1____r_n_____________int_name_SynthsUseAllReadWrite__value_1____r_n_____________int_name_WarnDiscardEffect__value_0____r_n_____________int_name_WarnMustExportRealtime__value_1____r_n_____________int_name_autoConnectedSend__value_0____r_n___________member__r_n________item__r_n_______item__r_n__________string_name_Group__value_Record____r_n__________member_name_Values___r_n_____________int_name_Deactivate_Punch_In_on_Stop__value_0____r_n_____________int_name_Enable_Record_on_Select_Audio_Track__value_1____r_n_____________int_name_Enable_Record_on_Select_MIDI_Track__value_1____r_n_____________int_name_Stop_after_Automatic_Punchout__value_0____r_n___________member__r_n________item__r_n_______item__r_n__________string_name_Group__value_Audio_Record____r_n__________member_name_Values___r_n_____________int_name_Create_Images_During_Record__value_1____r_n_____________int_name_Support_Bigger_4GB_Record_File__value_1____r_n___________member__r_n________item__r_n_______item__r_n__________string_name_Group__value_CustomSettingsProjectPageLowerZone____r_n__________member_name_Values___r_n_____________member_name_Setup___r_n________________member_name_showProjectLowerZone___r_n___________________int_name_Order__value_0____r_n_________________member__r_n________________member_name_MixerZoneID___r_n___________________int_name_Order__value_1____r_n___________________member_name_Children___r_n______________________member_name_MixerZoneFaderID___r_n_________________________int_name_Order__value_0____r_n_______________________member__r_n______________________member_name_MixerZoneInsertID___r_n_________________________int_name_Order__value_1____r_n_______________________member__r_n______________________member_name_MixerZoneSendID___r_n_________________________int_name_Order__value_2____r_n_______________________member__r_n____________________member__r_n_________________member__r_n________________member_name_EditorZoneID___r_n___________________int_name_Order__value_2____r_n_________________member__r_n________________member_name_SamplerTrackPage___r_n
mov r8, 0x26886
mov r9, 0x42920c
mov qword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.DLL_WriteFile]
add rsp, 0x30
sub rsp, 0x20
mov ecx, dword [0x00429208]
call qword [sym.imp.KERNEL32.DLL_CloseHandle]
add rsp, 0x20
cmp byte [ebx], 0x2a
je 0x401312
sub rsp, 0x30
mov rcx, 0
mov rdx, 0
mov r8, section..data_1
mov r9d, ebx
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x28], 1
call qword [sym.imp.SHELL32.DLL_ShellExecuteA]
add rsp, 0x30
sub rsp, 0x20
mov rcx, 0
call qword [sym.imp.KERNEL32.DLL_ExitProcess]