Function at 0x413cc0
Capabilities:
Write file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
mov eax, 0x4cb8
call fcn.004122d0
sub rsp, rax
movaps xmmword [rsp + 0x4c90], xmm6
movaps xmmword [rsp + 0x4ca0], xmm7
mov edi, ecx
mov r13, rdx
call fcn.00410e50
mov ecx, 2
mov rbp, qword [fcn.00413b80]
call rbp
mov r9, rax
mov r8d, 0x54
mov edx, 1
lea rcx, str.mpcdec___Musepack__MPC__decoder_v1.0.0__C__2006_2009_MDT_nBuilt_Jun__8_2021_23:08:04_n
call sub.msvcrt.dll_fwrite
xor ebx, ebx
xor esi, esi
lea r15, [0x0041713c]
mov r12d, 1
jmp 0x413d35
cmp eax, 0x63
cmove ebx, r12d
mov r8, r15
mov rdx, r13
mov ecx, edi
call fcn.00412eb0
cmp eax, 0xffffffff
je 0x413da0
cmp eax, 0x68
je 0x413d59
cmp eax, 0x69
nop
jne 0x413d2e
mov esi, 1
jmp 0x413d35
mov rsi, qword [r13]
mov ecx, 2
call rbp
mov rcx, rax
mov r8, rsi
lea rdx, str.Usage:__s___i____h___infile.mpc____outfile.wav___n_i_:_print_file_information_on_stdout_n_c_:_check_the_file_for_stream_errors_n______doesnt_fully_decode__outfile_will_be_ignored__n_h_:_print_this_help_nyou_can_use_stdin_and_stdout_as_resp.__infile.mpc__and_n_outfile.wav__replacing_the_file_name_by_____n
call sub.msvcrt.dll_fprintf
xor r14d, r14d
mov eax, r14d
movaps xmm6, xmmword [rsp + 0x4c90]
movaps xmm7, xmmword [rsp + 0x4ca0]
add rsp, 0x4cb8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r14, qword [0x0041b160]
movsxd rcx, dword [r14]
mov edx, edi
sub edx, ecx
sub edx, 1
cmp edx, 1
ja 0x413d59
mov r12, qword [r13 + rcx*8]
lea rdx, [0x00417140]
mov rcx, r12
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x413efb
xor ecx, ecx
call rbp
mov rcx, rax
call sub.msvcrt.dll__fileno
mov ecx, eax
mov edx, 0x8000
call sub.msvcrt.dll__setmode
xor ecx, ecx
call rbp
mov rdx, rax
lea rcx, [rsp + 0xa0]
mov qword [rsp + 0x50], rcx
call fcn.00401634
test eax, eax
js 0x413ef0
mov rcx, qword [rsp + 0x50]
call fcn.00403729
mov r12, rax
test rax, rax
je 0x413ef0
lea r15, [rsp + 0xd0]
mov rdx, r15
mov rcx, rax
call 0x403e28
cmp sil, 1
je 0x413f15
test bl, bl
jne 0x413e52
movsxd rsi, dword [r14]
sub edi, esi
sub edi, 1
jg 0x4143c8
xor esi, esi
lea r13, [rsp + 0x490]
mov dword [rsp + 0x4c], 0
mov dword [rsp + 0x48], 0
lea r15, [rsp + 0x80]
lea rdx, [rsp + 0x240]
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x88], r13
test bl, bl
je 0x413e98
mov r14, qword [r12 + 8]
mov dword [r14 + 0x20], 0x661
call sub.msvcrt.dll_clock
mov edi, eax
mov rdx, r15
mov rcx, r12
call fcn.00403eae
mov r14d, eax
call sub.msvcrt.dll_clock
cmp dword [rsp + 0x84], 0xffffffff
je 0x4142b3
mov r8d, dword [rsp + 0x80]
add dword [rsp + 0x4c], r8d
sub eax, edi
add dword [rsp + 0x48], eax
test sil, sil
je 0x413e7f
imul r8d, dword [rsp + 0xd4]
mov rdx, r13
mov rcx, qword [rsp + 0x58]
call fcn.00410bc2
jmp 0x413e7f
mov r14d, 1
jmp 0x413d79
lea rcx, [rsp + 0xa0]
mov qword [rsp + 0x50], rcx
mov rdx, r12
call fcn.00401747
jmp 0x413e03
movsxd r11, dword [r14]
mov rdi, qword [r13 + r11*8]
mov rcx, r15
call fcn.00402658
cvttsd2si eax, xmm0
mov ecx, 0x3c
cdq
idiv ecx
mov r14d, edx
mov r13d, eax
mov ecx, 2
call rbp
mov rcx, rax
mov r8, rdi
lea rdx, str.file:__s_n
call sub.msvcrt.dll_fprintf
mov esi, dword [rsp + 0xd8]
mov ecx, 2
call rbp
mov rcx, rax
mov r8d, esi
lea rdx, str.stream_version__d_n
call sub.msvcrt.dll_fprintf
mov ecx, 2
call rbp
mov rcx, rax
lea r8, [rsp + 0x11c]
lea rdx, str.encoder:__s_n
call sub.msvcrt.dll_fprintf
movss xmm6, dword [rsp + 0x220]
subss xmm6, dword [0x00417358]
pxor xmm7, xmm7
cvtss2sd xmm7, xmm6
mov rbx, qword [rsp + 0x228]
mov ecx, 2
call rbp
mov rcx, rax
movapd xmm3, xmm7
movq r9, xmm7
mov r8, rbx
lea rdx, str.profile:__s__q_0.2f__n
call sub.msvcrt.dll_fprintf
movzx r8d, byte [rsp + 0x21c]
lea rdi, str.unknow
cmp r8b, 0xff
je 0x413ffc
test r8b, r8b
lea rdi, [0x00417007]
lea r9, [0x0041700a]
cmove rdi, r9
mov ecx, 2
call rbp
mov rcx, rax
mov r8, rdi
lea rdx, str.PNS:__s_n
call sub.msvcrt.dll_fprintf
lea rbx, [0x00417007]
lea rsi, [0x0041700a]
cmp dword [rsp + 0xec], 0
mov rdi, rsi
cmovne rdi, rbx
mov ecx, 2
call rbp
mov rcx, rax
mov r8, rdi
lea rdx, str.mid_side_stereo:__s_n
call sub.msvcrt.dll_fprintf
cmp dword [rsp + 0x100], 0
cmove rbx, rsi
mov ecx, 2
call rbp
mov rcx, rax
mov r8, rbx
lea rdx, str.gapless:__s_n
call sub.msvcrt.dll_fprintf
movsd xmm6, qword [0x00417360]
mulsd xmm6, qword [rsp + 0xe0]
mov ecx, 2
call rbp
mov rcx, rax
movapd xmm2, xmm6
movq r8, xmm6
lea rdx, str.average_bitrate:__6.1f_kbps_n
call sub.msvcrt.dll_fprintf
mov ebx, dword [rsp + 0xd0]
mov ecx, 2
call rbp
mov rcx, rax
mov r8d, ebx
lea rdx, str.samplerate:__d_Hz_n
call sub.msvcrt.dll_fprintf
mov esi, dword [rsp + 0xd4]
mov ecx, 2
call rbp
mov rcx, rax
mov r8d, esi
lea rdx, str.channels:__d_n
call sub.msvcrt.dll_fprintf
mov rcx, r15
call fcn.004026a4
mov r15, rax
mov ecx, 2
call rbp
mov rcx, rax
mov dword [rsp + 0x20], r15d
mov r9d, r14d
mov r8d, r13d
lea rdx, str.length:__d:_.2d___u_samples__n
call sub.msvcrt.dll_fprintf
mov r14d, dword [rsp + 0x238]
mov ecx, 2
call rbp
mov rcx, rax
mov r8d, r14d
lea rdx, str.file_size:__d_Bytes_n
call sub.msvcrt.dll_fprintf
movzx r10d, word [rsp + 0xfe]
pxor xmm2, xmm2
cvtsi2ss xmm2, r10d
movss xmm6, dword [0x00417368]
mulss xmm2, xmm6
pxor xmm7, xmm7
cvtss2sd xmm7, xmm2
mov ecx, 2
call rbp
mov rcx, rax
movapd xmm2, xmm7
movq r8, xmm7
lea rdx, str.track_peak:__2.2f_dB_n
call sub.msvcrt.dll_fprintf
movzx r13d, word [rsp + 0xf8]
test r13w, r13w
je 0x4144d1
pxor xmm0, xmm0
cvtsi2ss xmm0, r13d
mulss xmm0, xmm6
movss xmm3, dword [0x0041736c]
subss xmm3, xmm0
pxor xmm7, xmm7
cvtss2sd xmm7, xmm3
mov ecx, 2
call rbp
mov rcx, rax
pxor xmm1, xmm1
cvtsi2ss xmm1, r13d
mulss xmm1, xmm6
pxor xmm2, xmm2
cvtss2sd xmm2, xmm1
movapd xmm3, xmm7
movq r9, xmm7
movq r8, xmm2
lea rdx, str.track_gain:__2.2f_dB____2.2f_dB_n
call sub.msvcrt.dll_fprintf
movzx r11d, word [rsp + 0xfc]
pxor xmm4, xmm4
cvtsi2ss xmm4, r11d
mulss xmm4, xmm6
pxor xmm7, xmm7
cvtss2sd xmm7, xmm4
mov ecx, 2
call rbp
mov rcx, rax
movapd xmm2, xmm7
movq r8, xmm7
lea rdx, str.album_peak:__2.2f_dB_n
call sub.msvcrt.dll_fprintf
movzx edi, word [rsp + 0xfa]
test di, di
je 0x4144c6
pxor xmm5, xmm5
cvtsi2ss xmm5, edi
mulss xmm5, xmm6
movss xmm2, dword [0x0041736c]
subss xmm2, xmm5
pxor xmm7, xmm7
cvtss2sd xmm7, xmm2
mov ecx, 2
call rbp
mov rcx, rax
pxor xmm0, xmm0
cvtsi2ss xmm0, edi
mulss xmm0, xmm6
pxor xmm2, xmm2
cvtss2sd xmm2, xmm0
movapd xmm3, xmm7
movq r9, xmm7
movq r8, xmm2
lea rdx, str.album_gain:__2.2f_dB____2.2f_dB_n
call sub.msvcrt.dll_fprintf
mov ecx, 2
call rbp
mov rdx, rax
mov ecx, 0xa
call sub.msvcrt.dll_fputc
mov rcx, r12
call fcn.00403dee
mov rcx, qword [rsp + 0x50]
call fcn.00401781
xor r14d, r14d
jmp 0x413d79
test r14d, r14d
jne 0x414378
test bl, bl
nop
jne 0x4143a2
mov ecx, 2
call rbp
mov rcx, rax
mov r13d, dword [rsp + 0x4c]
mov r8d, r13d
lea rdx, str._u_samples
call sub.msvcrt.dll_fprintf
mov eax, dword [rsp + 0x48]
test eax, eax
mov ebx, 1
cmovg ebx, eax
movsxd r8, r13d
imul rax, r8, 0x186a0
mov r9d, dword [rsp + 0xd0]
movsxd r10, ebx
imul r9, r10
xor edx, edx
div r9
mov r15, rax
mov ecx, 2
call rbp
mov rcx, rax
mov ebp, 0x64
mov eax, r15d
cdq
idiv ebp
mov r9d, eax
mov dword [rsp + 0x20], edx
mov r8d, ebx
lea rdx, str.decoded_in__u_ms___u._02ux__n
call sub.msvcrt.dll_fprintf
mov rcx, r12
call fcn.00403dee
mov rcx, qword [rsp + 0x50]
call fcn.00401781
test sil, sil
je 0x413d79
lea rcx, [rsp + 0x240]
call fcn.00410cb8
mov rcx, qword [rsp + 0x250]
call sub.msvcrt.dll_fclose
jmp 0x413d79
mov ecx, 2
call rbp
mov r9, rax
mov r8d, 0x20
mov edx, 1
lea rcx, str.An_error_occured_while_decoding_n
call sub.msvcrt.dll_fwrite
test bl, bl
jne 0x41433e
jmp 0x4142c6
mov ecx, 2
call rbp
mov r9, rax
mov r8d, 0xf
mov edx, 1
lea rcx, str.No_error_found_n
call sub.msvcrt.dll_fwrite
jmp 0x41433e
lea r14, [rsp + 0x240]
mov ecx, 0x49
xor eax, eax
mov rdi, r14
rep stosq qword [rdi], rax
lea r8, [0x0040155c]
mov qword [rsp + 0x498], r8
lea r9, [0x00401540]
mov qword [rsp + 0x490], r9
mov r15, qword [r13 + rsi*8 + 8]
lea rdx, [0x00417140]
mov rcx, r15
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x4144b2
mov ecx, 1
call rbp
mov rcx, rax
call sub.msvcrt.dll__fileno
mov ecx, eax
mov edx, 0x8000
call sub.msvcrt.dll__setmode
mov ecx, 1
call rbp
test rax, rax
je 0x413ef0
mov r8d, dword [rsp + 0xd4]
mov r10d, dword [rsp + 0x108]
imul r10d, r8d
mov r11d, dword [rsp + 0xd0]
mov qword [rsp + 0x4a0], rax
lea rdx, [rsp + 0x60]
lea r13, [rsp + 0x490]
mov ecx, 6
mov rdi, rdx
mov rsi, r13
rep movsd dword [rdi], dword [rsi]
mov dword [rsp + 0x30], r10d
mov dword [rsp + 0x28], r11d
mov dword [rsp + 0x20], 0
mov r9d, 0x10
mov rcx, r14
call fcn.00410896
test eax, eax
je 0x413ef0
mov esi, 1
jmp 0x413e5a
lea rdx, [0x00417291]
mov rcx, r15
call sub.msvcrt.dll_fopen
jmp 0x414439
pxor xmm7, xmm7
xor edi, edi
jmp 0x41424d
pxor xmm7, xmm7
xor r13d, r13d
jmp 0x4141a6