Function at 0x14006d890
Capabilities:
Read file on windows

Disassembly:
push rbp
push rbx
push rsi
push r14
lea rbp, [rsp - 0x338]
sub rsp, 0x438
xor ebx, ebx
lea r8, [rbp + 0x368]
mov rsi, rcx
mov qword [rbp + 0x368], rbx
mov rcx, qword [rcx + 0x70]
mov edx, ebx
lea r9d, [rbx + 1]
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
mov rcx, 0xffffffffffffffff
mov qword [rsp + 0x20], rbx
test eax, eax
lea r9, [rbp + 0x368]
mov r14d, 0x400
lea rdx, [rsp + 0x30]
cmovne rcx, qword [rbp + 0x368]
mov r8d, r14d
mov qword [rsi + 0x2e8], rcx
mov rcx, qword [rsi + 0x70]
mov dword [rbp + 0x368], ebx
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x14006ddae
cmp dword [rbp + 0x368], r14d
jne 0x14006ddae
cmp dword [rsp + 0x30], 0x5453494e
je 0x14006d93b
mov eax, 0x8004020c
add rsp, 0x438
pop r14
pop rsi
pop rbx
pop rbp
ret
lea r8, [rbp + 0x330]
mov qword [rsp + 0x470], rdi
lea rdx, [rsp + 0x30]
mov rcx, rsi
call fcn.14006d830
lea r8, [rbp + 0x360]
mov rcx, rax
lea rdx, [0x14012ccb8]
mov rdi, rax
call fcn.140010150
movsxd rdx, dword [rbp + 0x360]
cmp edx, r14d
mov dword [rsi + 0x2d0], ebx
mov ecx, edx
cmovg ecx, r14d
add qword [rsi + 0x2e8], rdx
movsxd rcx, ecx
lea r14, [rsp + 0x30]
add r14, rcx
mov rdx, rdi
mov r8, r14
mov rcx, rsi
call fcn.14006d830
mov rdi, rax
test rax, rax
je 0x14006dce9
mov qword [rsp + 0x478], r12
lea r12, [0x14012f280]
mov qword [rsp + 0x430], r15
lea r15, [0x14012f288]
lea r9, [rbp + 0x368]
mov rdx, rdi
lea r8, str.end_head
mov rcx, rsi
call fcn.14006d7b0
test al, al
jne 0x14006dcd9
lea r9, [rbp + 0x368]
mov rdx, rdi
lea r8, [0x1401453b8]
mov rcx, rsi
call fcn.14006d7b0
test al, al
je 0x14006da39
mov rcx, qword [rbp + 0x368]
lea r8, [rbp + 0x360]
lea rdx, [0x14012ccb8]
call fcn.140010150
mov eax, dword [rbp + 0x360]
mov dword [rsi + 0x2c8], eax
jmp 0x14006dcbf
lea r9, [rbp + 0x368]
mov rdx, rdi
lea r8, str.channel_count
mov rcx, rsi
call fcn.14006d7b0
test al, al
je 0x14006da81
mov rcx, qword [rbp + 0x368]
lea r8, [rbp + 0x360]
lea rdx, [0x14012ccb8]
call fcn.140010150
mov eax, dword [rbp + 0x360]
mov dword [rsi + 0x2cc], eax
jmp 0x14006dcbf
lea r9, [rbp + 0x368]
mov rdx, rdi
lea r8, str.sample_count
mov rcx, rsi
call fcn.14006d7b0
test al, al
je 0x14006dac9
mov rcx, qword [rbp + 0x368]
lea r8, [rbp + 0x360]
lea rdx, [0x14012ccb8]
call fcn.140010150
mov eax, dword [rbp + 0x360]
mov dword [rsi + 0x2d0], eax
jmp 0x14006dcbf
lea r9, [rbp + 0x368]
mov rdx, rdi
lea r8, str.sample_n_bytes
mov rcx, rsi
call fcn.14006d7b0
test al, al
je 0x14006db11
mov rcx, qword [rbp + 0x368]
lea r8, [rbp + 0x360]
lea rdx, [0x14012ccb8]
call fcn.140010150
mov eax, dword [rbp + 0x360]
mov dword [rsi + 0x2d4], eax
jmp 0x14006dcbf
cmp dword [rsi + 0x2d4], 0
jne 0x14006db65
lea r9, [rbp + 0x368]
mov rdx, rdi
lea r8, str.sample_sig_bits
mov rcx, rsi
call fcn.14006d7b0
test al, al
je 0x14006db65
mov rcx, qword [rbp + 0x368]
lea r8, [rbp + 0x360]
lea rdx, [0x14012ccb8]
call fcn.140010150
mov eax, dword [rbp + 0x360]
sar eax, 3
mov dword [rsi + 0x2d4], eax
jmp 0x14006dcbf
lea r9, [rbp + 0x368]
mov rdx, rdi
lea r8, str.sample_byte_format
mov rcx, rsi
call fcn.14006d7b0
test al, al
je 0x14006dbc6
mov rax, qword [rbp + 0x368]
movzx ecx, byte [rax]
cmp cl, 0x30
jne 0x14006dba7
cmp byte [rax + 1], 0x31
jne 0x14006dcbf
mov byte [rsi + 0x2d8], 0
jmp 0x14006dcbf
cmp cl, 0x31
jne 0x14006dcbf
cmp byte [rax + 1], 0x30
jne 0x14006dcbf
mov byte [rsi + 0x2d8], 1
jmp 0x14006dcbf
lea r9, [rbp + 0x368]
mov rdx, rdi
lea r8, str.sample_coding
mov rcx, rsi
call fcn.14006d7b0
test al, al
je 0x14006dcbf
mov rbx, qword [rbp + 0x368]
lea rdx, [0x140145430]
mov rcx, rbx
mov r8d, 3
call fcn.1400f4ab4
test eax, eax
je 0x14006dcbf
mov r8d, 6
lea rdx, str.mu_law
mov rcx, rbx
call fcn.1400f4ab4
test eax, eax
je 0x14006dcae
mov r8d, 5
lea rdx, str.mulaw
mov rcx, rbx
call fcn.1400f4ab4
test eax, eax
je 0x14006dcae
mov r8d, 4
lea rdx, [0x140145444]
mov rcx, rbx
call fcn.1400f4ab4
test eax, eax
je 0x14006dcae
mov r8d, 6
lea rdx, str.pculaw
mov rcx, rbx
call fcn.1400f4ab4
test eax, eax
je 0x14006dcae
mov r8d, 5
lea rdx, str.a_law
mov rcx, rbx
call fcn.1400f4ab4
test eax, eax
je 0x14006dca5
mov r8d, 4
lea rdx, [0x14014545c]
mov rcx, rbx
call fcn.1400f4ab4
test eax, eax
jne 0x14006dcbf
mov qword [rsi + 0x2e0], r15
jmp 0x14006dcb5
mov qword [rsi + 0x2e0], r12
mov dword [rsi + 0x2d4], 1
mov r8, r14
mov rdx, rdi
mov rcx, rsi
call fcn.14006d830
mov rdi, rax
test rax, rax
jne 0x14006d9d0
mov r12, qword [rsp + 0x478]
mov r15, qword [rsp + 0x430]
mov ecx, dword [rsi + 0x2d4]
mov rdi, qword [rsp + 0x470]
test ecx, ecx
jne 0x14006dd06
mov ecx, 2
mov dword [rsi + 0x2d4], ecx
cmp qword [rsi + 0x2e0], 0
jne 0x14006dd9f
sub ecx, 1
je 0x14006dd91
sub ecx, 1
je 0x14006dd74
sub ecx, 1
je 0x14006dd57
cmp ecx, 1
je 0x14006dd3a
mov eax, 0x80040208
add rsp, 0x438
pop r14
pop rsi
pop rbx
pop rbp
ret
lea rax, [0x14012f1e8]
mov qword [rsi + 0x2e0], rax
xor eax, eax
add rsp, 0x438
pop r14
pop rsi
pop rbx
pop rbp
ret
lea rax, [0x14012f1d8]
mov qword [rsi + 0x2e0], rax
xor eax, eax
add rsp, 0x438
pop r14
pop rsi
pop rbx
pop rbp
ret
lea rax, [0x14012f1c8]
mov qword [rsi + 0x2e0], rax
xor eax, eax
add rsp, 0x438
pop r14
pop rsi
pop rbx
pop rbp
ret
lea rax, [0x14012f1f8]
mov qword [rsi + 0x2e0], rax
xor eax, eax
add rsp, 0x438
pop r14
pop rsi
pop rbx
pop rbp
ret
mov eax, 0x80040205
add rsp, 0x438
pop r14
pop rsi
pop rbx
pop rbp
ret