Function at 0x1400a85e0
Capabilities:
Read file on windows

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r15
lea rbp, [rsp - 0x4f8]
sub rsp, 0x5f8
mov rbx, rdx
mov rdi, rcx
mov rcx, rbx
lea rdx, [0x140152f7c]
call fcn.1400ba6a4
test rax, rax
jne 0x1400a8662
lea rdx, [rdi + 0x14]
lea r8, [rbp - 0x80]
sub r8, rdx
nop dword [rax]
movzx eax, word [rdx]
mov word [r8 + rdx], ax
lea rdx, [rdx + 2]
test ax, ax
jne 0x1400a8620
mov rax, qword [rdi + 0x220]
lea rcx, [rbp - 0x80]
sub rax, rdi
sub rax, 0x14
sar rax, 1
add rax, rax
sub rax, rbx
add rcx, rax
nop
movzx eax, word [rbx]
mov word [rcx + rbx], ax
lea rbx, [rbx + 2]
test ax, ax
jne 0x1400a8650
jmp 0x1400a8680
lea rcx, [rbp - 0x80]
sub rcx, rbx
nop dword [rax]
movzx eax, word [rbx]
mov word [rcx + rbx], ax
lea rbx, [rbx + 2]
test ax, ax
jne 0x1400a8670
lea rcx, [rbp - 0x80]
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x1400a8690
movsxd rbx, eax
cmp eax, 5
jl 0x1400a86b7
mov rdx, qword [rdi + 0x230]
lea rcx, [rsp + rbx*2 + 0x78]
call fcn.1400f579c
test eax, eax
je 0x1400a86e0
mov rcx, qword [rdi + 0x230]
lea rax, [rbx + rbx]
sub rax, rcx
lea rdx, [rbp - 0x80]
add rdx, rax
nop dword [rax]
movzx eax, word [rcx]
mov word [rdx + rcx], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x1400a86d0
xor r15d, r15d
lea rcx, [rbp - 0x80]
mov qword [rsp + 0x30], r15
mov esi, 1
mov dword [rsp + 0x28], pe_nt_image_headers64
xor r9d, r9d
mov r8d, esi
mov dword [rsp + 0x20], 3
mov edx, 0x80000000
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [rsp + 0x68], rax
mov r12, rax
cmp rax, 0xffffffffffffffff
je 0x1400a96b4
lea r9, [0x1401a9400]
mov qword [rsp + 0x20], r15
lea r8d, [r15 + 8]
mov rcx, rax
lea rdx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_ReadFile]
lea r9, [0x1401a9400]
mov qword [rsp + 0x20], r15
lea r8d, [r15 + 4]
mov rcx, r12
lea rdx, [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_ReadFile]
cmp dword [rsp + 0x50], 0x46464952
jne 0x1400a96b4
cmp dword [rsp + 0x58], 0x50417741
jne 0x1400a96b4
mov rax, qword [0x1401a9710]
mov ebx, 0x1b60
mov qword [rsp + 0x630], r13
mov r13d, recv
mov qword [rsp + 0x5f0], r14
mov r14d, dword [rsp + 0x54]
add r14d, 8
mov dword [rbp + 0x548], r13d
mov dword [rsp + 0x5c], r14d
mov byte [rax + 0xbe0], r15b
nop word [rax + rax]
mov rcx, qword [rbx + rax + 8]
lea rdi, [rbx + rax]
test rcx, rcx
je 0x1400a87e0
mov rax, qword [rcx]
mov edx, esi
call qword [rax]
mov rax, qword [0x1401a9710]
mov qword [rdi + 8], r15
add rbx, 0x10
mov word [rdi], r15w
cmp rbx, 0x1bc0
jl 0x1400a87c0
cmp r14d, r13d
jbe 0x1400a969b
movaps xmmword [rsp + 0x5e0], xmm6
movss xmm6, dword [0x140150fe8]
movaps xmmword [rsp + 0x5d0], xmm7
movss xmm7, dword [0x140154610]
movaps xmmword [rsp + 0x5c0], xmm8
movss xmm8, dword [0x1401545ec]
movaps xmmword [rsp + 0x5b0], xmm9
movss xmm9, dword [0x14012f29c]
movaps xmmword [rsp + 0x5a0], xmm10
xorps xmm10, xmm10
movaps xmmword [rsp + 0x590], xmm11
movss xmm11, dword [0x1401545f8]
nop dword [rax]
mov ebx, r13d
lea r8, [rsp + 0x48]
xor r9d, r9d
mov edx, r13d
mov rcx, r12
mov qword [rsp + 0x48], rbx
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
lea r9, [0x1401a9400]
mov qword [rsp + 0x20], r15
mov r8d, 8
lea rdx, [rsp + 0x50]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov rax, qword [rsp + 0x50]
cmp eax, 0x33374141
ja 0x1400a88d9
je 0x1400a88ff
cmp eax, 0x31384141
je 0x1400a88ff
cmp eax, 0x30384141
je 0x1400a88ff
cmp eax, 0x30394141
je 0x1400a88ff
cmp eax, 0x31374141
je 0x1400a88ff
cmp eax, 0x32384141
je 0x1400a88ff
cmp eax, 0x32394141
je 0x1400a88ff
jmp 0x1400a964d
cmp eax, 0x36414141
ja 0x1400a945e
je 0x1400a88ff
cmp eax, 0x33384141
je 0x1400a88ff
cmp eax, 0x33394141
je 0x1400a88ff
cmp eax, 0x36374141
jne 0x1400a964d
mov eax, dword [rsp + 0x54]
cmp eax, 0xbde
jbe 0x1400a890f
mov eax, 0xbde
mov rdx, qword [0x1401a9710]
lea r9, [0x1401a9400]
mov r8d, eax
mov qword [rsp + 0x20], r15
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov rax, qword [rsp + 0x50]
lea r8, [rsp + 0x40]
mov dword [rsp + 0x40], eax
lea r9, [rsp + 0x48]
mov dword [rsp + 0x48], 0x31374141
mov rcx, r15
nop dword [rax]
movzx edx, byte [r8 + rcx]
inc rcx
cmp dl, byte [r9 + rcx - 1]
jne 0x1400a8965
cmp rcx, 4
jne 0x1400a8950
mov rdi, qword [0x1401a9710]
cmp dl, byte [r9 + rcx - 1]
jae 0x1400a8989
mov byte [rdi + 0x13c], 0
mov dword [rdi + 0x13d], 0x41200000
mov rax, qword [rsp + 0x50]
mov dword [rsp + 0x40], 0x36374141
lea r8, [rsp + 0x48]
mov dword [rsp + 0x48], eax
lea r9, [rsp + 0x40]
mov rcx, r15
nop dword [rax]
nop word [rax + rax]
movzx edx, byte [r8 + rcx]
inc rcx
cmp dl, byte [r9 + rcx - 1]
jne 0x1400a89ca
cmp rcx, 4
jne 0x1400a89b0
cmp dl, byte [r9 + rcx - 1]
jae 0x1400a89f1
movd xmm0, dword [rdi + 0x1a]
movd xmm1, dword [rdi + 0x14]
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
movss dword [rdi + 0x145], xmm0
movss dword [rdi + 0xbd8], xmm1
mov rax, qword [rsp + 0x50]
mov dword [rsp + 0x40], 0x30384141
lea r8, [rsp + 0x48]
mov dword [rsp + 0x48], eax
lea r9, [rsp + 0x40]
mov rcx, r15
nop word [rax + rax]
movzx edx, byte [r8 + rcx]
inc rcx
cmp dl, byte [r9 + rcx - 1]
jne 0x1400a8a2a
cmp rcx, 4
jne 0x1400a8a10
cmp dl, byte [r9 + rcx - 1]
jae 0x1400a8ca2
mov ecx, dword [rdi + 4]
bt ecx, 0x1a
jae 0x1400a8a45
mov dword [rdi + 0x149], 0xffffffff
jmp 0x1400a8a69
bt ecx, 0x19
jae 0x1400a8a57
mov dword [rdi + 0x149], 2
jmp 0x1400a8a69
bt ecx, 0x18
mov eax, 0xffffffff
cmovb eax, esi
mov dword [rdi + 0x149], eax
test cl, 1
je 0x1400a8a9e
movsd xmm0, qword [0x14012f1c8]
movsd qword [rdi + 0x14d], xmm0
movzx eax, word [0x14012f1d0]
mov word [rdi + 0x155], ax
movzx eax, byte [0x14012f1d2]
mov byte [rdi + 0x157], al
jmp 0x1400a8c7a
test cl, 2
je 0x1400a8ac6
movsd xmm0, qword [0x14012f1f8]
movsd qword [rdi + 0x14d], xmm0
movzx eax, word [reloc.WSOCK32.dll_WSACleanup]
mov word [rdi + 0x155], ax
jmp 0x1400a8c7a
test cl, 4
je 0x1400a8afb
movsd xmm0, qword [str.PCM_12_bit]
movsd qword [rdi + 0x14d], xmm0
movzx eax, word [0x140153a68]
mov word [rdi + 0x155], ax
movzx eax, byte [0x140153a6a]
mov byte [rdi + 0x157], al
jmp 0x1400a8c7a
test cl, 8
je 0x1400a8b30
movsd xmm0, qword [str.PCM_20_bit]
movsd qword [rdi + 0x14d], xmm0
movzx eax, word [0x140153a78]
mov word [rdi + 0x155], ax
movzx eax, byte [0x140153a7a]
mov byte [rdi + 0x157], al
jmp 0x1400a8c7a
test cl, 0x10
je 0x1400a8b65
movsd xmm0, qword [0x14012f1d8]
movsd qword [rdi + 0x14d], xmm0
movzx eax, word [0x14012f1e0]
mov word [rdi + 0x155], ax
movzx eax, byte [0x14012f1e2]
mov byte [rdi + 0x157], al
jmp 0x1400a8c7a
test cl, 0x20
je 0x1400a8b9a
movsd xmm0, qword [0x14012f1e8]
movsd qword [rdi + 0x14d], xmm0
movzx eax, word [0x14012f1f0]
mov word [rdi + 0x155], ax
movzx eax, byte [0x14012f1f2]
mov byte [rdi + 0x157], al
jmp 0x1400a8c7a
test cl, 0x40
je 0x1400a8bcd
movsd xmm0, qword [0x14012f260]
movsd qword [rdi + 0x14d], xmm0
mov eax, dword [0x14012f268]
mov dword [rdi + 0x155], eax
movzx eax, byte [0x14012f26c]
mov byte [rdi + 0x159], al
jmp 0x1400a8c7a
test cl, cl
jns 0x1400a8bfc
movsd xmm0, qword [0x14012f270]
movsd qword [rdi + 0x14d], xmm0
mov eax, dword [0x14012f278]
mov dword [rdi + 0x155], eax
movzx eax, byte [0x14012f27c]
mov byte [rdi + 0x159], al
jmp 0x1400a8c7a
bt ecx, 8
jae 0x1400a8c2b
mov eax, dword [0x14012f280]
mov dword [rdi + 0x14d], eax
movzx eax, word [0x14012f284]
mov word [rdi + 0x151], ax
movzx eax, byte [0x14012f286]
mov byte [rdi + 0x153], al
jmp 0x1400a8c7a
bt ecx, 9
jae 0x1400a8c4d
mov eax, dword [0x14012f288]
mov dword [rdi + 0x14d], eax
movzx eax, word [0x14012f28c]
mov word [rdi + 0x151], ax
jmp 0x1400a8c7a
bt ecx, 0xb
jae 0x1400a8c73
movsd xmm0, qword [0x14013f6e0]
movsd qword [rdi + 0x14d], xmm0
movzx eax, word [0x14013f6e8]
mov word [rdi + 0x155], ax
jmp 0x1400a8c7a
mov byte [rdi + 0x14d], 0
lea rdx, [rdi + 0x38]
mov word [rdi + 0x194], 0
lea rcx, [rdi + 0x33]
mov byte [rdi + 0x18e], 0
mov r8d, 0x104
call fcn.1400b9e30
mov rax, qword [rsp + 0x50]
mov dword [rsp + 0x40], 0x31384141
lea r8, [rsp + 0x48]
mov dword [rsp + 0x48], eax
lea r9, [rsp + 0x40]
mov rcx, r15
nop dword [rax + rax]
movzx edx, byte [r8 + rcx]
inc rcx
cmp dl, byte [r9 + rcx - 1]
jne 0x1400a8cda
cmp rcx, 4
jne 0x1400a8cc0
cmp dl, byte [r9 + rcx - 1]
jae 0x1400a8ce8
mov byte [rdi + 0x196], 0
mov rax, qword [rsp + 0x50]
mov dword [rsp + 0x40], 0x32384141
lea r8, [rsp + 0x48]
mov dword [rsp + 0x48], eax
lea r9, [rsp + 0x40]
mov rcx, r15
movzx edx, byte [r8 + rcx]
inc rcx
cmp dl, byte [r9 + rcx - 1]
jne 0x1400a8d1b
cmp rcx, 4
jne 0x1400a8d01
cmp dl, byte [r9 + rcx - 1]
jae 0x1400a8db3
lea r9, [rsp + 0x60]
mov dword [rdi + 0x197], esi
lea r8, [rsp + 0x70]
mov rdx, rdi
lea rcx, [0x1401a9708]
call fcn.140023350
test al, al
je 0x1400a8d68
mov rcx, qword [0x1401a9710]
mov r9d, 0xffffffff
mov rdx, qword [rsp + 0x60]
add rcx, 0x19b
mov r8d, pe_nt_image_headers64
call fcn.14008f180
mov rdi, qword [0x1401a9710]
mov rdx, rdi
lea rcx, [rdi + 0x14d]
sub rdx, rcx
nop dword [rax]
movzx eax, byte [rcx]
mov byte [rdx + rcx + 0x21b], al
lea rcx, [rcx + 1]
test al, al
jne 0x1400a8d80
mov eax, dword [rdi + 0x149]
mov dword [rdi + 0x25b], eax
mov eax, dword [rdi + 8]
mov dword [rdi + 0x25f], eax
mov byte [rdi + 0x9bb], 1
mov rax, qword [rsp + 0x50]
mov dword [rsp + 0x40], 0x33384141
lea r8, [rsp + 0x48]
mov dword [rsp + 0x48], eax
lea r9, [rsp + 0x40]
mov rcx, r15
nop dword [rax]
movzx edx, byte [r8 + rcx]
inc rcx
cmp dl, byte [r9 + rcx - 1]
jne 0x1400a8dea
cmp rcx, 4
jne 0x1400a8dd0
cmp dl, byte [r9 + rcx - 1]
jae 0x1400a8e01
mov word [rdi + 0x9bc], 0
mov byte [rdi + 0x9be], 0
mov rax, qword [rsp + 0x50]
mov dword [rsp + 0x40], 0x30394141
lea r8, [rsp + 0x48]
mov dword [rsp + 0x48], eax
lea r9, [rsp + 0x40]
mov rcx, r15
nop word [rax + rax]
movzx edx, byte [r8 + rcx]
inc rcx
cmp dl, byte [r9 + rcx - 1]
jne 0x1400a8e3a
cmp rcx, 4
jne 0x1400a8e20
cmp dl, byte [r9 + rcx - 1]
jae 0x1400a8e52
mov byte [rdi + 0x9c4], 0
mov dword [rdi + 0x9c5], 0x3d4ccccd
mov rax, qword [rsp + 0x50]
mov dword [rsp + 0x48], eax
lea rdx, [rsp + 0x48]
mov rax, r15
mov dword [rsp + 0x40], 0x32394141
lea r8, [rsp + 0x40]
nop dword [rax + rax]
movzx ecx, byte [rdx + rax]
inc rax
cmp cl, byte [r8 + rax - 1]
jne 0x1400a8e89
cmp rax, 4
jne 0x1400a8e70
cmp cl, byte [r8 + rax - 1]
jae 0x1400a8e92
mov byte [rdi + 0x9c9], 0
cmp byte [rdi + 0x9c4], 0
jne 0x1400a8ec6
cmp byte [rdi + 0x18], 0
jne 0x1400a8ec6
cmp byte [rdi + 0x9c9], 0
jne 0x1400a8ec6
cmp byte [rdi + 0x9be], 0
jne 0x1400a8ec6
cmp byte [rdi + 0x19], 0
jne 0x1400a8ec6
cmp byte [rdi + 0x13c], 0
jne 0x1400a8ec6
xor al, al
jmp 0x1400a8ec8
mov al, 1
mov byte [rdi + 0xbe1], al
lea r8, [rsp + 0x48]
mov rax, qword [rsp + 0x50]
lea r9, [rsp + 0x40]
mov dword [rsp + 0x48], eax
mov rcx, r15
mov dword [rsp + 0x40], 0x33394141
nop dword [rax]
movzx edx, byte [r8 + rcx]
inc rcx
cmp dl, byte [r9 + rcx - 1]
jne 0x1400a8f0a
cmp rcx, 4
jne 0x1400a8ef0
cmp dl, byte [r9 + rcx - 1]
jae 0x1400a8f5b
lea rdx, [rdi + 0x33]
mov r9d, 0xffffffff
lea rcx, [rdi + 0x9ca]
mov r8d, 0x104
call fcn.14008ef00
mov rdi, qword [0x1401a9710]
cmp byte [rdi + 0xf], 0
je 0x1400a8f4a
movss xmm0, dword [rdi + 0xbd8]
subss xmm0, xmm8
movss dword [rdi + 0xbd8], xmm0
mov eax, 0x3e7
mov word [rdi + 0xbd2], ax
mov rax, qword [rsp + 0x50]
mov dword [rsp + 0x48], eax
lea rdx, [rsp + 0x48]
mov rax, r15
mov dword [rsp + 0x40], 0x36414141
lea r8, [rsp + 0x40]
nop dword [rax]
nop dword [rax + rax]
movzx ecx, byte [rdx + rax]
inc rax
cmp cl, byte [r8 + rax - 1]
jne 0x1400a8f99
cmp rax, 4
jne 0x1400a8f80
cmp cl, byte [r8 + rax - 1]
jae case.default.0x1400a8ff7
cmp byte [rdi + 0xf], 0
je case.default.0x1400a8ff7
movss xmm0, dword [rdi + 0x141]
mulss xmm0, xmm9
comiss xmm0, xmm10
ja 0x1400a8fc1
movaps xmm0, xmm7
jmp 0x1400a8fca
call fcn.1400fcde0
mulss xmm0, xmm6
movsxd rax, dword [rdi + 0x10]
movss dword [rdi + 0xbd8], xmm0
mov byte [rdi + 0x194], 1
cmp eax, 0xd
ja case.default.0x1400a8ff7
lea rdx, [0x140000000]
mov ecx, dword [rdx + rax*4 + 0xa96c4]
add rcx, rdx
jmp rcx
mov qword [rdi + 0xbd4], 1
mov byte [rdi + 0xbdc], 0
jmp case.default.0x1400a8ff7
mov dword [rdi + 0xbd4], 2
mov byte [rdi + 0xbdc], 0
jmp case.default.0x1400a8ff7
mov dword [rdi + 0xbd4], 3
mov byte [rdi + 0xbdc], 0
jmp case.default.0x1400a8ff7
mov qword [rdi + 0xbd4], 0
mov byte [rdi + 0xbdc], 0
mov byte [rdi + 0x18], 1
jmp case.default.0x1400a8ff7
mov dword [rdi + 0xbd4], r15d
mov byte [rdi + 0xbdc], 0
jmp case.default.0x1400a8ff7
mov dword [rdi + 0xbd4], 0xa
addss xmm0, xmm11
mov byte [rdi + 0xbdc], 0
jmp 0x1400a9123
mov dword [rdi + 0xbd4], 0xa
addss xmm0, xmm11
jmp 0x1400a911c
mov dword [rdi + 0xbd4], esi
mov byte [rdi + 0xbdc], 0
jmp case.default.0x1400a8ff7
mov dword [rdi + 0xbd4], 0xb
addss xmm0, xmm11
mov byte [rdi + 0xbdc], 0
jmp 0x1400a9123
mov dword [rdi + 0xbd4], 0xb
addss xmm0, xmm11
jmp 0x1400a911c
mov dword [rdi + 0xbd4], 0x14
subss xmm0, xmm6
mov byte [rdi + 0xbdc], 0
jmp 0x1400a9123
mov dword [rdi + 0xbd4], 0x14
jmp 0x1400a9118
mov dword [rdi + 0xbd4], 0x15
subss xmm0, xmm6
mov byte [rdi + 0xbdc], 0
jmp 0x1400a9123
mov dword [rdi + 0xbd4], 0x15
subss xmm0, xmm6
mov byte [rdi + 0xbdc], 1
movss dword [rdi + 0xbd8], xmm0
mov rsi, r15
mov r14, r15
mov r15d, 0xa
movabs r12, 0x20005200420043
movabs r13, 0x20005200420041
nop dword [rax + rax]
lea rbx, [rdi + 0xbe4]
mov r9d, 0xffffffff
add rbx, r14
lea rdx, [rdi + 0x19b]
mov rcx, rbx
add rdx, rsi
mov r8d, pe_nt_image_headers64
call fcn.14008ef00
mov rdx, qword [0x1401a9710]
lea rdi, [rbx + 0x100]
mov r9d, 0xffffffff
add rdx, 0x21b
add rdx, rsi
mov rcx, rdi
lea r8d, [r9 + 0x41]
call fcn.14008ef00
mov rdx, rbx
lea rcx, str.Microsoft_wave_format
call fcn.140028240
test al, al
jne 0x1400a93d6
mov rdx, rbx
lea rcx, str.Microsoft_wave_format__most_common_type__
call fcn.140028240
test al, al
jne 0x1400a93d6
mov rdx, rbx
lea rcx, [0x14012f220]
call fcn.140028240
test al, al
jne 0x1400a9381
mov rdx, rbx
lea rcx, str.MPEG_audio_layer_II___Constant_bit_rate
call fcn.140028240
test al, al
jne 0x1400a9381
mov rdx, rbx
lea rcx, [0x14012f208]
call fcn.140028240
test al, al
je 0x1400a923d
movups xmm0, xmmword [str.MPEG_layer_III]
movups xmmword [rbx], xmm0
movsd xmm1, qword [0x140144ce8]
movsd qword [rbx + 0x10], xmm1
mov eax, dword [0x140144cf0]
mov dword [rbx + 0x18], eax
movzx eax, word [0x140144cf4]
jmp 0x1400a93fd
mov rdx, rbx
lea rcx, str.MPEG_audio_layer_III___Constant_bit_rate
call fcn.140028240
test al, al
je 0x1400a929f
movups xmm0, xmmword [str.MPEG_layer_III]
movups xmmword [rbx], xmm0
movsd xmm1, qword [0x140144ce8]
movsd qword [rbx + 0x10], xmm1
mov eax, dword [0x140144cf0]
mov dword [rbx + 0x18], eax
movzx eax, word [0x140144cf4]
mov word [rbx + 0x1c], ax
cmp word [rdi], 0x43
je 0x1400a9401
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp word [rdi + rax*2], 0
jne 0x1400a9290
jmp 0x1400a93ba
mov rdx, rbx
lea rcx, str.MPEG_audio_layer_III___Average_bit_rate
call fcn.140028240
test al, al
je 0x1400a9319
movups xmm0, xmmword [str.MPEG_layer_III]
movups xmmword [rbx], xmm0
movsd xmm1, qword [0x140144ce8]
movsd qword [rbx + 0x10], xmm1
mov eax, dword [0x140144cf0]
mov dword [rbx + 0x18], eax
movzx eax, word [0x140144cf4]
mov word [rbx + 0x1c], ax
cmp word [rdi], 0x41
je 0x1400a9401
mov rax, 0xffffffffffffffff
nop
inc rax
cmp word [rdi + rax*2], 0
jne 0x1400a92f0
inc eax
lea rcx, [rbx + 0x110]
movsxd r8, eax
mov rdx, rdi
add r8, r8
call fcn.1400b9e30
mov qword [rdi], r13
jmp 0x1400a9401
mov rdx, rbx
lea rcx, str.MPEG_audio_layer_III___Variable_bit_rate
call fcn.140028240
test al, al
je 0x1400a9401
movups xmm0, xmmword [str.MPEG_layer_III]
movups xmmword [rbx], xmm0
movsd xmm1, qword [0x140144ce8]
movsd qword [rbx + 0x10], xmm1
mov eax, dword [0x140144cf0]
mov dword [rbx + 0x18], eax
movzx eax, word [0x140144cf4]
mov word [rbx + 0x1c], ax
cmp word [rdi], 0x56
je 0x1400a9401
movzx r8d, word [rbx + 0x11c]
lea rdx, str.VBR_Quality__c
mov rcx, rdi
call fcn.140010090
jmp 0x1400a9401
movups xmm0, xmmword [str.MPEG_layer_II]
movups xmmword [rbx], xmm0
movsd xmm1, qword [0x1401449d8]
movsd qword [rbx + 0x10], xmm1
mov eax, dword [0x1401449e0]
mov dword [rbx + 0x18], eax
cmp word [rdi], 0x43
je 0x1400a9401
mov rax, 0xffffffffffffffff
nop
inc rax
cmp word [rdi + rax*2], 0
jne 0x1400a93b0
inc eax
lea rcx, [rbx + 0x110]
movsxd r8, eax
mov rdx, rdi
add r8, r8
call fcn.1400b9e30
mov qword [rdi], r12
jmp 0x1400a9401
movups xmm0, xmmword [str.Microsoft_wave]
movups xmmword [rbx], xmm0
movsd xmm1, qword [0x14014a5f8]
movsd qword [rbx + 0x10], xmm1
mov eax, dword [0x14014a600]
mov dword [rbx + 0x18], eax
movzx eax, word [0x14014a604]
mov word [rbx + 0x1c], ax
mov rdi, qword [0x1401a9710]
add r14, 0x18c
mov eax, dword [rsi + rdi + 0x25b]
mov dword [rbx + 0x180], eax
mov eax, dword [rsi + rdi + 0x25f]
mov dword [rbx + 0x184], eax
movzx eax, byte [rsi + rdi + 0x263]
add rsi, 0xd0
mov byte [rbx + 0x188], al
sub r15, 1
jne 0x1400a9150
mov r12, qword [rsp + 0x68]
mov r13d, dword [rbp + 0x548]
mov r14d, dword [rsp + 0x5c]
jmp 0x1400a9648
cmp eax, 0x53444141
je 0x1400a9470
cmp eax, 0x53564141
jne 0x1400a964d
lea r9, [0x1401a9400]
mov qword [rsp + 0x20], r15
mov r8d, 4
lea rdx, [rbp + 0x540]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_ReadFile]
cmp byte [rbp + 0x542], 0
je 0x1400a964d
movzx eax, byte [rbp + 0x541]
cmp al, 6
jae 0x1400a964d
mov ecx, eax
mov rax, qword [0x1401a9710]
add rcx, rcx
cmp qword [rax + rcx*8 + 0x1b68], 0
jne 0x1400a964d
movzx edx, byte [rbp + 0x540]
lea r8, [rbp + 0x548]
add rdx, 8
xor r9d, r9d
add rdx, rbx
mov rcx, r12
mov qword [rbp + 0x548], rdx
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
movzx r8d, byte [rbp + 0x543]
lea r9, [0x1401a9400]
lea rdx, [rbp + 0x190]
mov qword [rsp + 0x20], r15
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_ReadFile]
movzx eax, byte [rbp + 0x543]
lea rdx, [rbp + 0x190]
mov r9d, 0xffffffff
lea rcx, [rbp + 0x290]
mov r8d, 0x100
mov byte [rbp + rax + 0x190], 0
call fcn.14008ef00
movzx edi, byte [rbp + 0x541]
mov rax, qword [rsp + 0x50]
add rdi, 0x1b6
mov rsi, qword [0x1401a9710]
shl rdi, 4
cmp eax, 0x53564141
jne 0x1400a9576
mov rbx, qword [0x14018d230]
mov eax, 1
jmp 0x1400a958d
cmp eax, 0x53444141
jne 0x1400a9648
mov rbx, qword [0x14018d178]
mov eax, 2
mov rcx, rbx
mov word [rdi + rsi], ax
call fcn.1400a5ef0
shr eax, 0x1f
test al, al
jne 0x1400a9648
mov rax, qword [rbx]
lea rdx, [rbp + 0x290]
mov rcx, rbx
call qword [rax + 0x30]
test eax, eax
js 0x1400a9648
mov word [rdi + rsi + 2], ax
mov rcx, rbx
mov r9, qword [rbx]
add rsi, rdi
movsx edx, ax
lea r8, [rsi + 8]
call qword [r9 + 0x38]
shr eax, 0x1f
test al, al
jne 0x1400a9648
movzx eax, byte [rbp + 0x543]
mov ebx, dword [rsp + 0x54]
sub ebx, eax
movzx eax, byte [rbp + 0x540]
sub ebx, eax
je 0x1400a9648
mov ecx, ebx
call fcn.1400b609c
mov rdi, rax
test rax, rax
je 0x1400a9648
lea r9, [0x1401a9400]
mov qword [rsp + 0x20], r15
mov r8d, ebx
mov rdx, rax
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov rcx, qword [rsi + 8]
mov r8d, ebx
mov rdx, rdi
mov r9, qword [rcx]
call qword [r9 + pe_nt_image_headers64]
mov rcx, rdi
call fcn.1400b60a4
mov rax, qword [0x1401a9710]
mov byte [rax + 0xbe0], 1
mov esi, 1
mov eax, dword [rsp + 0x54]
add eax, 8
add r13d, eax
mov dword [rbp + 0x548], r13d
cmp r13d, r14d
jb 0x1400a8860
movaps xmm11, xmmword [rsp + 0x590]
movaps xmm10, xmmword [rsp + 0x5a0]
movaps xmm9, xmmword [rsp + 0x5b0]
movaps xmm8, xmmword [rsp + 0x5c0]
movaps xmm7, xmmword [rsp + 0x5d0]
movaps xmm6, xmmword [rsp + 0x5e0]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov r14, qword [rsp + 0x5f0]
mov r13, qword [rsp + 0x630]
add rsp, 0x5f8
pop r15
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret