Function at 0x14000210c
Capabilities:
Terminate process

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xd8]
sub rsp, 0x1b0
mov rax, qword [0x14003a028]
xor rax, rsp
mov qword [rbp + 0xa8], rax
mov r15d, 0x80
mov r14, rdx
mov esi, ecx
lea r13d, [r15 - 0x7f]
mov ebx, r13d
lea r12d, [r15 - 0x70]
cmp ebx, esi
jge 0x1400022f1
movsxd rax, ebx
mov rcx, qword [r14 + rax*8]
test rcx, rcx
je 0x1400022e4
mov al, byte [rcx]
sub al, 0x2d
test al, 0xfd
jne 0x1400022e4
movsx ecx, byte [rcx + 1]
inc ebx
call qword [sym.imp.msvcrt.dll_toupper]
nop dword [rax + rax]
mov edi, eax
cmp al, 0x3f
je 0x1400022cf
cmp dil, 0x42
je 0x140002214
cmp dil, 0x46
jne 0x14000229d
cmp ebx, esi
jge 0x14000299c
movsxd rax, ebx
mov rcx, qword [r14 + rax*8]
test rcx, rcx
je 0x14000299c
lea r8, [rsp + 0x70]
inc ebx
lea rdx, [0x140014ed4]
call qword [sym.imp.msvcrt.dll_sscanf_s]
nop dword [rax + rax]
cmp eax, r13d
jne 0x14000299c
movzx r12d, word [rsp + 0x70]
cmp r12w, 8
je 0x140002159
mov eax, 0x10
cmp r12w, ax
je 0x140002159
cmp r12w, 0x20
jne 0x140002975
jmp 0x140002159
cmp ebx, esi
jge 0x1400029a9
movsxd rax, ebx
mov rcx, qword [r14 + rax*8]
test rcx, rcx
je 0x1400029a9
lea r8, [rsp + 0x6c]
inc ebx
lea rdx, [0x140014ed4]
call qword [sym.imp.msvcrt.dll_sscanf_s]
nop dword [rax + rax]
cmp eax, r13d
jne 0x1400029a9
movzx r15d, word [rsp + 0x6c]
cmp r15w, 0x20
je 0x140002159
cmp r15w, 0x40
je 0x140002159
mov eax, 0x80
cmp r15w, ax
je 0x140002159
mov eax, 0x100
cmp r15w, ax
je 0x140002159
mov eax, 0x200
cmp r15w, ax
jne 0x140002982
jmp 0x140002159
cmp dil, 0x48
je 0x1400022cf
call fcn.140001abc
movsx edx, dil
lea rcx, str._nUnrecognized_flag____c__n
call qword [sym.imp.msvcrt.dll_printf]
nop dword [rax + rax]
mov ecx, r13d
call qword [sym.imp.msvcrt.dll_exit]
nop dword [rax + rax]
int3
call fcn.140001abc
mov ecx, r13d
call qword [sym.imp.msvcrt.dll_exit]
nop dword [rax + rax]
int3
cmp ebx, esi
jge 0x1400022f1
movsxd rax, ebx
mov rcx, qword [r14 + rax*8]
jmp 0x1400022f3
xor ecx, ecx
inc ebx
mov qword [rbp - 0x58], rcx
cmp ebx, esi
jl 0x140002305
xor r14d, r14d
mov r13d, r14d
jmp 0x14000230f
movsxd rax, ebx
mov r13, qword [r14 + rax*8]
xor r14d, r14d
test rcx, rcx
je 0x14000298f
test r13, r13
je 0x14000298f
or qword [rbp + 0x64], 0xffffffffffffffff
lea rax, [0x140014928]
and qword [rbp - 0x30], 0
xorps xmm0, xmm0
and qword [rbp - 0x28], 0
mov rdx, rcx
and qword [rbp - 8], 0
lea rcx, [rbp + 0x48]
and qword [rbp], 0
mov esi, 1
or dword [rbp + 8], 0xffffffff
mov r8d, 0x80000000
mov qword [rbp + 0x48], rax
lea rax, [0x140014918]
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x20], rax
mov dword [rbp + 0x50], esi
movdqu xmmword [rbp + 0x54], xmm0
mov dword [rbp + 0x6c], r14d
movdqa xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x18], r14
mov qword [rbp - 0x10], r14
mov qword [rbp - 0x50], r14
mov qword [rbp + 0xc], r14
call fcn.140005b68
test eax, eax
js 0x140002968
lea rdx, [rbp + 0x48]
lea rcx, [rbp - 0x50]
call fcn.140006414
test eax, eax
js 0x140002968
mov rdx, qword [rbp + 0xc]
lea edi, [rsi + 0x31]
lea rcx, [rbp + 0x70]
movzx ebx, word [rdx + 0x10]
add ebx, 0x12
mov r8d, ebx
cmp ebx, edi
cmova r8d, edi
call sub.msvcrt.dll_memcpy
cmp ebx, edi
jae 0x1400023e9
sub edi, ebx
mov eax, ebx
lea rcx, [rbp + 0x70]
mov r8d, edi
add rcx, rax
xor edx, edx
call switch.0x140011f81
mov ebx, dword [rbp]
lea rcx, [rbp + 0x70]
call fcn.1400011dc
movzx ecx, ax
sub ecx, esi
je 0x14000240c
sub ecx, esi
je 0x140002497
cmp ecx, esi
jne 0x1400029b6
lea rcx, [rbp + 0x70]
call fcn.140001b44
test eax, eax
je 0x1400029d0
movzx ecx, word [rbp + 0x7c]
xor edx, edx
mov eax, ebx
div ecx
test edx, edx
jne 0x1400029dd
cmp word [rbp + 0x72], si
jne 0x14000243e
test sil, r15b
jne 0x1400029ea
mov edi, 0x80
cmp eax, edi
jb 0x1400029f7
mov dword [rsp + 0x78], r14d
lea r8, [rsp + 0x60]
mov dword [rsp + 0x68], r14d
lea rdx, [rsp + 0x68]
mov dword [rsp + 0x60], r14d
lea rcx, [rbp - 0x50]
mov dword [rsp + 0x70], esi
cmp dword [rbp + 8], r14d
jne 0x1400024b3
call fcn.140006a7c
mov esi, eax
test eax, eax
jns 0x1400024ba
lea r9, [rsp + 0x70]
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x68]
lea rcx, [rbp - 0x50]
call fcn.140006bb0
jmp 0x1400024b8
lea rcx, [rbp + 0x70]
call fcn.140001c30
test eax, eax
je 0x1400029c3
mov dword [rsp + 0x78], esi
mov edi, 0x80
jmp 0x140002450
call fcn.140006d0c
mov esi, eax
mov r14d, dword [rsp + 0x60]
not esi
shr esi, 0x1f
test esi, esi
je 0x1400024d1
cmp r14d, edi
jb 0x140002a04
mov eax, dword [rsp + 0x68]
mov rcx, rbx
and dword [rbp - 0x7c], 0
mov dword [rbp - 0x78], eax
mov eax, dword [rbp + 0x74]
mov dword [rbp - 0x80], eax
mov dword [rbp - 0x74], r14d
call qword [sym.imp.api_ms_win_core_com_l1_1_0.dll_CoTaskMemAlloc]
nop dword [rax + rax]
mov rdi, rax
test rax, rax
je 0x140002a11
lea rax, [rsp + 0x60]
mov dword [rsp + 0x60], ebx
mov r9d, ebx
mov qword [rsp + 0x20], rax
mov r8, rdi
lea rcx, [rbp - 0x20]
call fcn.140006370
test eax, eax
js 0x140002a52
mov rax, qword [rbp + 0xc]
mov r9d, 2
lea r8d, [r9 - 1]
cmp word [rax], r8w
jne 0x140002593
movzx ecx, word [rax + 0xe]
mov eax, dword [rbp + 8]
test eax, eax
je 0x140002593
cmp eax, r8d
jne 0x140002593
cmp cx, 8
je 0x14000257b
lea eax, [r9 + 0xe]
cmp cx, ax
jne 0x140002593
mov r8d, dword [rsp + 0x60]
mov rdx, rdi
shr r8d, 1
je 0x140002593
mov al, byte [rdx + 1]
mov cl, byte [rdx]
mov byte [rdx], al
mov byte [rdx + 1], cl
add rdx, r9
add r8d, 0xffffffff
jne 0x140002566
jmp 0x140002593
mov ecx, dword [rsp + 0x60]
test ecx, ecx
je 0x140002593
mov rax, rdi
mov edx, ecx
sub byte [rax], 0x80
add rax, r8
sub rdx, r8
jne 0x140002588
call qword [sym.imp.api_ms_win_mm_time_l1_1_0.dll_timeGetTime]
nop dword [rax + rax]
mov dword [rsp + 0x6c], eax
xor eax, eax
mov qword [rbp - 0x68], rax
mov dword [rsp + 0x60], eax
mov qword [rbp - 0x70], rax
cmp dword [rsp + 0x78], eax
jne 0x14000271e
mov r12d, dword [rsp + 0x68]
lea rcx, [rbp - 0x7c]
mov qword [rsp + 0x50], rcx
lea r9, [rbp + 0x70]
lea rcx, [rsp + 0x78]
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x48], rcx
mov r8d, ebx
lea rcx, [rbp - 0x74]
movzx eax, r15w
mov qword [rsp + 0x40], rcx
mov rdx, rdi
lea rcx, [rbp - 0x78]
mov qword [rsp + 0x38], rcx
lea rcx, [rbp - 0x80]
mov qword [rsp + 0x30], rcx
mov ecx, eax
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], r12d
call fcn.1400012f0
test eax, eax
js 0x140002a1e
cmp qword [rsp + 0x78], rdi
je 0x140002635
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_com_l1_1_0.dll_CoTaskMemFree]
nop dword [rax + rax]
mov rdi, qword [rsp + 0x78]
movzx eax, word [rbp + 0x7e]
lea rdx, str.stereo
mov r9d, dword [rbp + 0x74]
lea rcx, str.mono
mov r8d, 2
cmp word [rbp + 0x72], r8w
cmove rcx, rdx
movzx edx, r15w
mov dword [rsp + 0x38], edx
mov r8, rcx
mov rdx, qword [rbp - 0x58]
lea rcx, str.Encoding__s__PCM__s__dHz__dbit___lu_bytes__to__s__ADPCM__d_samples_block_._n
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], eax
call qword [sym.imp.msvcrt.dll_printf]
nop dword [rax + rax]
mov eax, dword [rbp - 0x80]
lea rdx, [rbp + 0x70]
mov r8d, dword [rbp - 0x7c]
mov r9, rdi
mov dword [rbp + 0x74], eax
movzx ecx, r15w
lea rax, [rbp - 0x70]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x68]
mov qword [rsp + 0x20], rax
call fcn.140001d08
mov r15d, dword [rsp + 0x60]
xorps xmm1, xmm1
xorps xmm0, xmm0
cvtsi2sd xmm0, rbx
cvtsi2sd xmm1, r15
mulsd xmm1, qword [0x140037948]
divsd xmm1, xmm0
cvttsd2si rbx, xmm1
call qword [sym.imp.api_ms_win_mm_time_l1_1_0.dll_timeGetTime]
nop dword [rax + rax]
sub eax, dword [rsp + 0x6c]
mov r9d, ebx
mov r8d, eax
lea rcx, str.Produced__lu_bytes_of_ADPCM_data_in__lums__compression_ratio___lu__._n
mov edx, r15d
call qword [sym.imp.msvcrt.dll_printf]
nop dword [rax + rax]
mov r12d, dword [rbp - 0x78]
mov r14d, dword [rbp - 0x74]
jmp 0x1400027d8
mov r8d, 2
movzx eax, r12w
cmp word [rbp + 0x72], r8w
lea rdx, str.stereo
movzx r8d, word [rbp + 0x82]
lea rcx, str.mono
mov dword [rsp + 0x38], eax
cmove rcx, rdx
mov eax, dword [rbp + 0x74]
mov r9d, ebx
mov rdx, qword [rbp - 0x58]
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], rcx
lea rcx, str.Decoding__s__ADPCM__d_samples_block___lu_bytes__to__s__PCM__s__dHz__dbit_._n
mov qword [rsp + 0x20], r13
call qword [sym.imp.msvcrt.dll_printf]
nop dword [rax + rax]
lea rax, [rbp - 0x70]
mov r9, rdi
mov qword [rsp + 0x30], rax
lea rdx, [rbp + 0x70]
lea rax, [rsp + 0x60]
mov r8d, ebx
mov qword [rsp + 0x28], rax
movzx ecx, r12w
lea rax, [rbp - 0x68]
mov qword [rsp + 0x20], rax
call fcn.140001f40
call qword [sym.imp.api_ms_win_mm_time_l1_1_0.dll_timeGetTime]
nop dword [rax + rax]
mov r15d, dword [rsp + 0x60]
lea rcx, str.Produced__lu_bytes_of_PCM_data_in__lums._n
sub eax, dword [rsp + 0x6c]
mov edx, r15d
mov r8d, eax
call qword [sym.imp.msvcrt.dll_printf]
nop dword [rax + rax]
mov r12d, dword [rsp + 0x68]
or qword [rbp + 0x3c], 0xffffffffffffffff
lea rax, [0x140014928]
xor ebx, ebx
mov qword [rbp + 0x20], rax
xorps xmm0, xmm0
mov dword [rbp + 0x28], 1
lea rax, [0x140014920]
mov dword [rbp + 0x44], ebx
mov r8d, 0x40000000
mov qword [rbp + 0x70], rax
mov rdx, r13
mov dword [rbp + 0x88], ebx
lea rcx, [rbp + 0x20]
mov qword [rbp + 0x8c], rbx
movdqu xmmword [rbp + 0x2c], xmm0
mov qword [rbp + 0x94], rbx
movdqu xmmword [rbp + 0x78], xmm0
mov dword [rbp + 0x9c], ebx
call fcn.140005b68
test eax, eax
js 0x140002a45
mov r8, qword [rbp - 0x68]
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0x70]
call fcn.140007100
test eax, eax
js 0x140002a45
mov rcx, qword [rbp + 0x78]
lea r9, [rbp - 0x60]
mov rdx, qword [rbp - 0x70]
mov r8d, r15d
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
call qword [case.0x140007fd3.0]
test eax, eax
js 0x140002a38
mov eax, dword [rbp - 0x60]
add dword [rbp + 0x98], eax
test esi, esi
je 0x1400028a6
mov r9d, dword [rsp + 0x70]
lea rcx, [rbp + 0x70]
mov r8d, r14d
mov edx, r12d
call fcn.140007290
test eax, eax
js 0x140002a2b
test rdi, rdi
je 0x1400028ba
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_com_l1_1_0.dll_CoTaskMemFree]
nop dword [rax + rax]
mov rcx, qword [rbp - 0x70]
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_]
nop dword [rax + rax]
mov rcx, qword [rbp - 0x68]
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_]
nop dword [rax + rax]
lea rcx, [rbp + 0x70]
call fcn.140007090
lea rdi, [0x140014928]
lea rcx, [rbp + 0x20]
mov qword [rbp + 0x20], rdi
call fcn.140005c54
mov rcx, qword [rbp - 0x50]
test rcx, rcx
je 0x140002909
call fcn.140005c54
mov qword [rbp - 0x50], rbx
mov rcx, qword [rbp + 0xc]
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_]
nop dword [rax + rax]
lea rax, [0x140014918]
mov qword [rbp + 0x48], rdi
lea rcx, [rbp + 0x48]
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x48], rax
call fcn.140005c54
xor eax, eax
mov rcx, qword [rbp + 0xa8]
xor rcx, rsp
call fcn.140011820
lea r11, [rsp + 0x1b0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
lea rcx, str.Couldnt_open_input_file
call fcn.140001b10
int3
lea rcx, str.The_output_format_bits_per_sample_must_be_8__16_or_32
call fcn.140001b10
int3
lea rcx, str.Samples_per_block_must_be_32__64__128__256_or_512
call fcn.140001b10
int3
lea rcx, str.Must_specify_two_filenames
call fcn.140001b10
int3
lea rcx, str._f_flag_must_be_followed_by_an_output_sample_size
call fcn.140001b10
int3
lea rcx, str._b_flag_must_be_followed_by_a_samples_per_block_value
call fcn.140001b10
int3
lea rcx, str.Input_wave_file_must_be_PCM_or_ADPCM
call fcn.140001b10
int3
lea rcx, str.Cannot_decode_this_ADPCM_format
call fcn.140001b10
int3
lea rcx, str.Cannot_encode_this_PCM_format
call fcn.140001b10
int3
lea rcx, str.Source_PCM_waves_byte_count_isnt_divisible_by_its_nBlockAlign
call fcn.140001b10
int3
lea rcx, str.Cannot_use_an_odd_number_of_samples_per_block_when_encoding_mono_data
call fcn.140001b10
int3
lea rcx, str.Source_PCM_wave_must_be_at_least_128_samples_in_length
call fcn.140001b10
int3
lea rcx, str.Loop_region_must_be_at_least_128_samples_in_length
call fcn.140001b10
int3
lea rcx, str.Insufficient_memory_for_input_data_buffer
call fcn.140001b10
int3
lea rcx, str.Failed_to_generate_intermediate_data_buffer
call fcn.140001b10
int3
lea rcx, str.Couldnt_write_loop_region_to_file
call fcn.140001b10
int3
lea rcx, str.Couldnt_write_output_file
call fcn.140001b10
int3
lea rcx, str.Couldnt_open_output_file
call fcn.140001b10
int3
lea rcx, str.Failed_to_read_input_audio_data
call fcn.140001b10
int3