Function at 0x140002d70
Capabilities:
Delete file

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x90
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0x78], rax
xor eax, eax
mov r15, rdx
movsxd rsi, ecx
lea rdx, str..OCP
or r14, 0xffffffffffffffff
xor ecx, ecx
mov dword [rsp + 0x60], 0x540054
mov dword [rsp + 0x64], 0x580041
mov dword [rsp + 0x68], 0x580058
mov dword [rsp + 0x6c], 0x580058
mov dword [rsp + 0x70], 0x58
mov ebp, eax
mov edi, eax
mov r12d, eax
mov dword [rsp + 0x44], eax
mov dword [rsp + 0x48], 1
mov dword [rsp + 0x40], r14d
call qword [sym.imp.MSVCR120.dll_setlocale]
mov rax, qword [r15]
mov qword [0x1400106a0], rax
call qword [sym.imp.MSVCR120.dll___iob_func]
lea r8, [0x14000b860]
lea rcx, [rax + 0x60]
lea rdx, str._r_nTTA1_lossless_audio_encoder_decoder__version__s_n_n
call qword [sym.imp.MSVCR120.dll_fwprintf]
call sym.tta.exe_enum_CPU_ARCH_TYPE___cdecl_tta_binary_version_void_
mov r8d, eax
test eax, eax
je 0x140002e7a
xor ecx, ecx
mov eax, 1
cpuid
mov dword [rsp + 0x50], eax
mov dword [rsp + 0x54], ebx
bt edx, 0x1a
jae 0x140002e3d
cmp r8d, 1
je 0x140002e7a
test cl, 1
je 0x140002e48
cmp r8d, 2
je 0x140002e7a
bt ecx, 0x13
jae 0x140002e54
cmp r8d, 3
je 0x140002e7a
call qword [sym.imp.MSVCR120.dll___iob_func]
mov r8, qword [0x1400106a0]
lea rdx, str._r_s:_unsupported_architecture_type_n
lea rcx, [rax + 0x60]
call qword [sym.imp.MSVCR120.dll_fwprintf]
mov eax, r14d
jmp 0x1400032d9
mov qword [rsp + 0xe0], r13
cmp esi, 3
jle 0x1400032c8
mov r8, qword [r15 + rsi*8 - 0x10]
mov r13, qword [r15 + rsi*8 - 8]
lea ecx, [rsi - 2]
mov rdx, r15
mov qword [rsp + 0x50], r8
call fcn.140001dd0
cmp al, 0xff
je 0x14000329a
nop dword [rax]
movsx ecx, al
sub ecx, 0x62
je 0x140002f5e
sub ecx, 2
je 0x140002f4e
dec ecx
je 0x140002f3e
sub ecx, 3
je 0x140002fcc
cmp ecx, 8
jne 0x1400032b8
mov rbx, qword [0x1400106a8]
mov dword [rsp + 0x48], 2
mov rax, r14
nop dword [rax]
inc rax
cmp word [rbx + rax*2], 0
jne 0x140002ef0
mov dword [rsp + 0x4c], eax
lea eax, [rax + rax*2]
mov edx, 0x10
lea eax, [rax*2 + 1]
movsxd rcx, eax
call qword [sym.imp.MSVCR120.dll__aligned_malloc]
test rax, rax
je 0x140002fa9
lea rdx, [rsp + 0x4c]
mov r8, rax
mov rcx, rbx
call fcn.140002380
mov rbp, rax
test rax, rax
je 0x140002fa9
mov r12d, dword [rsp + 0x4c]
jmp 0x140002f6f
cmp edi, 2
je 0x140002fd6
mov edi, 1
jmp 0x140002f6f
cmp edi, 1
je 0x140002fe8
mov edi, 2
jmp 0x140002f6f
cmp edi, 2
je 0x14000328b
mov dword [rsp + 0x44], 1
lea ecx, [rsi - 2]
mov rdx, r15
call fcn.140001dd0
cmp al, 0xff
jne 0x140002eb0
test edi, edi
je 0x14000329a
mov rax, qword [rsp + 0x50]
cmp word [rax], 0x2d
jne 0x140002ffa
cmp word [rax + 2], 0
jne 0x140002ffa
mov ecx, 0xfffffff6
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
jmp 0x140003028
call qword [sym.imp.MSVCR120.dll___iob_func]
mov r8, qword [0x1400106a0]
lea rdx, str._r_s:_insufficient_memory_available_n
lea rcx, [rax + 0x60]
call qword [sym.imp.MSVCR120.dll_fwprintf]
jmp 0x1400032cd
call fcn.140002170
jmp 0x1400032b8
call qword [sym.imp.MSVCR120.dll___iob_func]
lea rdx, str._r_s:_cant_combine_two_options__e___d_n
jmp 0x1400032a7
call qword [sym.imp.MSVCR120.dll___iob_func]
lea rdx, str._r_s:_cant_combine_two_options__d___e_n
jmp 0x1400032a7
xor r9d, r9d
mov qword [rsp + 0x30], 0
mov edx, 0x80000000
lea r8d, [r9 + 3]
mov rcx, rax
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rsi, rax
cmp rax, 0xffffffffffffffff
jne 0x140003043
call qword [sym.imp.MSVCR120.dll___iob_func]
lea rdx, str._r_s:_cant_open_file_n
jmp 0x1400032a7
cmp word [r13], 0x2d
jne 0x140003060
cmp word [r13 + 2], 0
jne 0x140003060
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
jmp 0x14000308d
mov qword [rsp + 0x30], 0
xor r9d, r9d
xor r8d, r8d
mov edx, 0xc0000000
mov rcx, r13
mov dword [rsp + 0x28], 0x8000080
mov dword [rsp + 0x20], 2
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rbx, rax
cmp rax, 0xffffffffffffffff
jne 0x1400030a8
call qword [sym.imp.MSVCR120.dll___iob_func]
lea rdx, str._r_s:_cant_open_file_n
jmp 0x1400032a7
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r15d, eax
dec edi
je 0x1400030f9
dec edi
jne 0x1400031f9
call qword [sym.imp.MSVCR120.dll___iob_func]
mov r8, qword [rsp + 0x50]
lea rdx, str._rDecoding:___s__to___s__n
lea rcx, [rax + 0x60]
mov r9, r13
call qword [sym.imp.MSVCR120.dll_fwprintf]
mov r9d, r12d
mov r8, rbp
mov rdx, rbx
mov rcx, rsi
call fcn.140002a20
mov r12d, eax
mov dword [rsp + 0x40], eax
jmp 0x1400031fc
call qword [sym.imp.MSVCR120.dll___iob_func]
mov r8, qword [rsp + 0x50]
lea rdx, str._rEncoding:___s__to___s__n
lea rcx, [rax + 0x60]
mov r9, r13
call qword [sym.imp.MSVCR120.dll_fwprintf]
mov edi, dword [rsp + 0x44]
test edi, edi
je 0x14000318c
lea rcx, [rsp + 0x60]
mov edx, 0xa
call qword [sym.imp.MSVCR120.dll__wmktemp_s]
test eax, eax
jne 0x1400031d1
mov qword [rsp + 0x30], 0
lea rcx, [rsp + 0x60]
xor r9d, r9d
xor r8d, r8d
mov edx, 0xc0000000
mov dword [rsp + 0x28], 0x8000080
mov dword [rsp + 0x20], 2
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r14, rax
cmp rax, 0xffffffffffffffff
je 0x1400031d1
call qword [sym.imp.MSVCR120.dll___iob_func]
lea r8, [rsp + 0x60]
lea rdx, str._rTempfile:___s__n
lea rcx, [rax + 0x60]
call qword [sym.imp.MSVCR120.dll_fwprintf]
mov eax, dword [rsp + 0x48]
mov r9, rbp
mov r8, r14
mov dword [rsp + 0x28], eax
mov rdx, rbx
mov rcx, rsi
mov dword [rsp + 0x20], r12d
call fcn.140002580
mov r12d, eax
mov dword [rsp + 0x40], eax
test edi, edi
je 0x1400031fc
cmp r14, 0xffffffffffffffff
je 0x1400031fc
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
jmp 0x1400031fc
call qword [sym.imp.MSVCR120.dll___iob_func]
mov r9, qword [0x1400106a0]
lea r8, [rsp + 0x60]
lea rcx, [rax + 0x60]
lea rdx, str._r_s:_cant_create_tempfile:___s__n
call qword [sym.imp.MSVCR120.dll_fwprintf]
jmp 0x1400032b8
mov r12d, r14d
mov ecx, 0xfffffff6
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
cmp rsi, rax
je 0x140003215
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
cmp rbx, rax
je 0x14000323c
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test r12d, r12d
je 0x140003241
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test r12d, r12d
jne 0x1400032b8
movaps xmmword [rsp + 0x80], xmm6
call qword [sym.imp.KERNEL32.dll_GetTickCount]
xorps xmm6, xmm6
sub eax, r15d
cvtsi2sd xmm6, rax
divsd xmm6, qword [0x14000c9e0]
call qword [sym.imp.MSVCR120.dll___iob_func]
movaps xmm2, xmm6
lea rdx, str._rTime:__.3f_sec._n
lea rcx, [rax + 0x60]
movq r8, xmm2
call qword [sym.imp.MSVCR120.dll_fwprintf]
movaps xmm6, xmmword [rsp + 0x80]
jmp 0x1400032b8
call qword [sym.imp.MSVCR120.dll___iob_func]
lea rdx, str._r_s:_option__b_is_not_supported_by_decoder_n
jmp 0x1400032a7
call qword [sym.imp.MSVCR120.dll___iob_func]
lea rdx, str._r_s:_commandline_options_incomplete_n
mov r8, qword [0x1400106a0]
lea rcx, [rax + 0x60]
call qword [sym.imp.MSVCR120.dll_fwprintf]
test rbp, rbp
je 0x1400032cd
mov rcx, rbp
call qword [sym.imp.MSVCR120.dll__aligned_free]
jmp 0x1400032cd
call fcn.140002170
mov eax, dword [rsp + 0x40]
mov r13, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.140009190
add rsp, 0x90
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret