Function at 0x140013860
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x28
mov rax, qword [0x140103ad0]
cmp dword [rax + 0x143672c], 0
je 0x140013a94
test byte [rax + 0xbb0b44], 4
jne 0x140013a94
call qword [sym.imp.WINMM.dll_timeGetTime]
mov rdx, qword [0x140103ad0]
mov ecx, eax
sub ecx, dword [0x140103ac8]
cmp ecx, dword [rdx + 0x12cc320]
jb 0x140013a94
mov dword [0x140103ac8], eax
mov eax, dword [rdx + 0x12cc3b8]
test eax, eax
jne 0x140013b7d
cmp dword [rdx + 0x1436738], 1
lea rcx, [rdx + 0xbb0ee0]
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x20], rdi
jne 0x140013a99
lea rdx, [0x140043b90]
call fcn.1400254a0
mov rdi, rax
test rax, rax
je 0x140013aad
mov rcx, qword [0x140103ad0]
mov edx, 0x80
add rcx, 0xbb12e0
mov r9, rax
lea r8d, [rdx - 0x7f]
call fcn.140026900
mov rcx, qword [0x140103ad0]
xor esi, esi
mov eax, dword [rcx + 0x12cc38c]
inc eax
test eax, eax
jle 0x140013a47
nop dword [rax]
nop word [rax + rax]
mov edx, 0x20
add rcx, 0xbb12e0
mov r9, rdi
lea r8d, [rdx - 0x1f]
call fcn.140026900
cmp eax, 1
jl 0x140013a06
mov rcx, qword [0x140103ad0]
mov r9, rdi
mov r8d, 1
movzx eax, byte [rcx + 0xbb12e9]
movzx ebx, byte [rcx + 0xbb12e8]
shl ebx, 8
or ebx, eax
movzx eax, byte [rcx + 0xbb12ea]
shl ebx, 8
or ebx, eax
movzx eax, byte [rcx + 0xbb12eb]
shl ebx, 8
or ebx, eax
movzx eax, byte [rcx + 0xbb12fc]
mov byte [rsp + 0x30], al
movzx eax, byte [rcx + 0xbb12fd]
mov byte [rsp + 0x31], al
movzx eax, byte [rcx + 0xbb12fe]
mov byte [rsp + 0x32], al
movzx eax, byte [rcx + 0xbb12ff]
mov byte [rsp + 0x33], al
lea eax, [rbx - 0x20]
movss xmm0, dword [rsp + 0x30]
cvtps2pd xmm0, xmm0
movsxd rdx, eax
movsd qword [rcx + 0x12cc3e8], xmm0
add rcx, 0xbb1300
call fcn.140026900
mov rcx, qword [0x140103ad0]
inc esi
mov eax, dword [rcx + 0x12cc38c]
inc eax
cmp esi, eax
jl 0x140013940
jmp 0x140013a4b
mov rcx, rdi
call fcn.1400259b8
mov rax, qword [0x140103ad0]
mov rsi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x20]
mov dword [rax + 0x143672c], 0
or dword [rax + 0xbb0b44], 0x400
or dword [rax + 0xbb0b48], 0x80000
add rsp, 0x28
ret
mov ebx, dword [rsp + 0x30]
mov rcx, rdi
call fcn.1400259b8
mov rdi, qword [0x140103ad0]
add ebx, 0xffffffe0
movsxd r8, ebx
lea rdx, [rdi + 0xbb1300]
lea rcx, [rdi + 0xa0]
call fcn.14001d580
mov eax, ebx
cdq
sub eax, edx
sar eax, 1
mov dword [rdi + 0x12cc2e0], eax
call fcn.140014100
mov rsi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x20]
add rsp, 0x28
ret
lea rdx, [0x140043d0c]
call fcn.1400254a0
mov rsi, rax
test rax, rax
jne 0x140013ad2
mov rax, qword [0x140103ad0]
mov rsi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x20]
mov dword [rax + 0x143672c], 0
add rsp, 0x28
ret
mov rcx, qword [0x140103ad0]
mov r8, rsi
add rcx, 0x12b12e0
mov edx, 0x18000
call fcn.140025e08
mov rbx, qword [0x140103ad0]
xor edi, edi
cmp dword [rbx + 0x12cc38c], edi
jle 0x140013b25
nop
lea rcx, [rbx + 0x12b12e0]
mov r8, rsi
mov edx, 0x18000
call fcn.140025e08
mov rbx, qword [0x140103ad0]
inc edi
cmp edi, dword [rbx + 0x12cc38c]
jl 0x140013b00
xor edx, edx
lea rcx, [rbx + 0x12b12e0]
mov r8d, 0x18000
call fcn.14001b440
mov r8, rsi
lea rcx, [rbx + 0x12b12e0]
mov edx, 0x18000
call fcn.140025e08
mov rcx, rsi
test rax, rax
je 0x140013a09
call fcn.1400259b8
mov rdx, qword [0x140103ad0]
lea r8, [rdx + 0xa0]
add rdx, 0x12b12e0
call fcn.1400111a0
jmp 0x140013a80
cmp eax, 3
jne 0x140013b8b
add rsp, 0x28
jmp 0x140013ba0
add rsp, 0x28
jmp 0x140013ef0
push rbp
sub rsp, 0xa0
mov rax, qword [0x14004b010]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov rcx, qword [0x140103ad0]
lea rdx, [0x140043d0c]
add rcx, 0xbb0ee0
call fcn.1400254a0
mov rbp, rax
test rax, rax
jne 0x140013bef
mov rax, qword [0x140103ad0]
mov dword [rax + 0x143672c], ebp
jmp 0x140013ea1
mov qword [rsp + 0xb0], rbx
mov rbx, qword [0x140103ad0]
mov qword [rsp + 0xb8], rsi
mov qword [rsp + 0xc0], rdi
mov eax, dword [rbx + 0x58]
cmp dword [rbx + 0x1436730], 1
lea ecx, [rax + 1]
cmovne ecx, eax
add ecx, 3
imul ecx, dword [rbx + 0x12cc38c]
test ecx, ecx
jle 0x140013c51
mov edi, ecx
nop
lea rcx, [rbx + 0x12b12e0]
mov r8, rbp
mov edx, 0x18000
call fcn.140025e08
mov rbx, qword [0x140103ad0]
sub rdi, 1
jne 0x140013c30
cmp dword [rbx + 0x1436730], 1
jne 0x140013d48
lea rcx, [rbx + 0x12b12e0]
mov r8, rbp
mov edx, 0x18000
call fcn.140025e08
mov rbx, qword [0x140103ad0]
lea rdx, [rsp + 0x50]
add rbx, 0x12b12e0
movabs rdi, 0x100100002401
xor r8d, r8d
movzx ecx, byte [rbx]
cmp cl, 0x2c
ja 0x140013ca0
bt rdi, rcx
jb 0x140013cb6
mov byte [rdx], cl
inc rbx
inc rdx
inc r8d
cmp r8d, 0x100
jl 0x140013c92
jmp 0x140013cb9
mov byte [rdx], 0
lea rcx, [rsp + 0x50]
call fcn.140021b3c
inc rbx
lea rdx, [rsp + 0x50]
xor r8d, r8d
nop
movzx ecx, byte [rbx]
cmp cl, 0x2c
ja 0x140013cde
bt rdi, rcx
jb 0x140013cf4
mov byte [rdx], cl
inc rbx
inc rdx
inc r8d
cmp r8d, 0x100
jl 0x140013cd0
jmp 0x140013cf7
mov byte [rdx], 0
lea rcx, [rsp + 0x50]
call fcn.140021b3c
xor r8d, r8d
lea rax, [rsp + 0x70]
sub rbx, rax
lea rcx, [rsp + 0x70]
movzx edx, byte [rbx + rcx + 1]
cmp dl, 0x2c
ja 0x140013d21
bt rdi, rdx
jb 0x140013d34
mov byte [rcx], dl
inc r8d
inc rcx
cmp r8d, 0x100
jl 0x140013d11
jmp 0x140013d37
mov byte [rcx], 0
lea rcx, [rsp + 0x70]
call fcn.140021b3c
mov rbx, qword [0x140103ad0]
xor edi, edi
xor esi, esi
cmp dword [rbx + 0x58], esi
jle 0x140013d98
lea rcx, [rbx + 0x12b12e0]
mov r8, rbp
mov edx, 0x18000
call fcn.140025e08
test rax, rax
je 0x140013eba
mov rbx, qword [0x140103ad0]
movsxd rax, edi
lea r8, [rbx + 0x12cc674]
add r8, rax
lea rdx, [rbx + 0x12b12e0]
call fcn.1400110e0
add edi, dword [rbx + 0x50]
inc esi
cmp esi, dword [rbx + 0x58]
jl 0x140013d51
mov rcx, rbp
call fcn.1400259b8
mov r8, qword [0x140103ad0]
or dword [r8 + 0xbb0b44], 4
lea rdx, [r8 + 0x12cc674]
mov eax, dword [r8 + 0x2c]
lea rcx, [r8 + 0xbb0b50]
movsd xmm0, qword [r8 + 0x78]
mov r9d, dword [r8 + 0x58]
mov dword [rsp + 0x30], eax
mov eax, dword [r8 + 0x28]
mov r8d, dword [r8 + 0x50]
mov dword [rsp + 0x28], eax
movsd qword [rsp + 0x20], xmm0
call fcn.140002ec0
mov rdx, qword [0x140103ad0]
movd xmm0, dword [rdx + 0xbb0b50]
lea r8, [rdx + 0xbb10e0]
mov eax, dword [rdx + 0xbb0b5c]
lea rcx, [rdx + 0xbb0a44]
mov r9d, dword [rdx + 0x12cc38c]
movsd xmm1, qword [rdx + 0x18]
inc r9d
mov dword [rsp + 0x48], eax
mov eax, dword [rdx + 0xbb0b54]
mov dword [rsp + 0x40], eax
mov eax, dword [rdx + 0x1436734]
cvtdq2pd xmm0, xmm0
divsd xmm0, qword [0x140045000]
movsd qword [rsp + 0x38], xmm0
movsd xmm0, qword [rdx + 0x80]
lea rdx, str.Playback__s__No._d__d_max_.3lfm___.3lfm_bin__peak_pos_.3lf_angle_d__ddB
movsd qword [rsp + 0x30], xmm0
movsd qword [rsp + 0x28], xmm1
mov dword [rsp + 0x20], eax
call fcn.140001190
mov rax, qword [0x140103ad0]
or dword [rax + 0xbb0b44], 0x10
inc dword [rax + 0x12cc38c]
call qword [sym.imp.WINMM.dll_timeGetTime]
mov rcx, qword [0x140103ad0]
mov dword [rcx + 0x12cc390], eax
mov rsi, qword [rsp + 0xb8]
mov rbx, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.140019b70
add rsp, 0xa0
pop rbp
ret
mov rcx, rbp
call fcn.1400259b8
mov rax, qword [0x140103ad0]
mov dword [rax + 0x143672c], 0
or dword [rax + 0xbb0b44], 0x400
or dword [rax + 0xbb0b48], 0x80000
jmp 0x140013e89
push rsi
sub rsp, 0x30
mov rcx, qword [0x140103ad0]
lea rdx, [0x140043d0c]
add rcx, 0xbb0ee0
call fcn.1400254a0
mov rsi, rax
test rax, rax
jne 0x140013f2b
mov rax, qword [0x140103ad0]
mov dword [rax + 0x143672c], esi
add rsp, 0x30
pop rsi
ret
mov rcx, qword [0x140103ad0]
mov r8, rsi
add rcx, 0x12b12e0
mov qword [rsp + 0x40], rbx
mov edx, 0x18000
mov qword [rsp + 0x48], rdi
call fcn.140025e08
mov rbx, qword [0x140103ad0]
xor edi, edi
cmp dword [rbx + 0x12cc38c], edi
jle 0x140013f86
lea rcx, [rbx + 0x12b12e0]
mov r8, rsi
mov edx, 0x18000
call fcn.140025e08
mov rbx, qword [0x140103ad0]
inc edi
cmp edi, dword [rbx + 0x12cc38c]
jl 0x140013f61
xor edx, edx
lea rcx, [rbx + 0x12b12e0]
mov r8d, 0x18000
call fcn.14001b440
mov r8, rsi
lea rcx, [rbx + 0x12b12e0]
mov edx, 0x18000
call fcn.140025e08
mov rcx, rsi
test rax, rax
jne 0x140013ff0
call fcn.1400259b8
mov rax, qword [0x140103ad0]
mov rbx, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
mov dword [rax + 0x143672c], 0
or dword [rax + 0xbb0b44], 0x400
or dword [rax + 0xbb0b48], 0x80000
add rsp, 0x30
pop rsi
ret
call fcn.1400259b8
mov rbx, qword [0x140103ad0]
xor r10d, r10d
lea rdi, [rbx + 0x12b12e0]
mov r11, rdi
nop dword [rax]
xor r8d, r8d
xor r9d, r9d
xor eax, eax
nop dword [rax + rax]
movzx edx, byte [rax + r11]
lea ecx, [rdx - 0x30]
cmp cl, 9
ja 0x14001403a
movsx ecx, cl
lea edx, [r8 + r8*4]
lea r8d, [rcx + rdx*2]
jmp 0x140014045
cmp dl, 0x2d
jne 0x140014050
mov r9d, 1
inc rax
cmp rax, 0x10
jl 0x140014020
jmp 0x140014058
cmp dl, 0x2c
jne 0x140014058
inc rax
add r11, rax
mov eax, r8d
neg eax
cmp r9d, 1
cmovne eax, r8d
mov dword [rbx + r10*4 + 0xbb0b50], eax
movzx ecx, byte [r11]
lea eax, [rcx - 0x30]
cmp al, 9
jbe 0x140014083
sub cl, 0x2c
cmp cl, 1
ja 0x14001408f
inc r10
cmp r10, 0x1000
jl 0x140014010
or dword [rbx + 0xbb0b44], 4
lea r8, [rbx + 0xbb10e0]
mov r9d, dword [rbx + 0x12cc38c]
lea rcx, [rbx + 0xbb0a44]
mov eax, dword [rbx + 0x1436734]
lea rdx, str.Playback__s__No._d__d__s
inc r9d
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], eax
call fcn.140001190
mov rax, qword [0x140103ad0]
or dword [rax + 0xbb0b44], 0x10
inc dword [rax + 0x12cc38c]
call qword [sym.imp.WINMM.dll_timeGetTime]
mov rcx, qword [0x140103ad0]
mov rbx, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
mov dword [rcx + 0x12cc390], eax
add rsp, 0x30
pop rsi
ret