Function at 0x101b61f6
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x11c
mov eax, dword [0x102d4a48]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
xor ecx, ecx
mov dword [ebp - 0x54], eax
push ebx
push esi
mov eax, dword [eax + 0xc]
push edi
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x64], ecx
mov edx, dword [eax + 0x158]
mov dword [ebp - 0x40], edx
cmp dword [eax + 0x150], ecx
jle 0x101b7767
or dword [ebp - 0x4c], 0xffffffff
xor eax, eax
and dword [ebp - 0x58], eax
xor esi, esi
and dword [ebp - 0x50], eax
and dword [ebp - 0x28], eax
and dword [ebp - 0x48], eax
imul ebx, ecx, 0x5b0
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x30], esi
inc esi
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x44], eax
add ebx, edx
mov dword [ebp - 0x5c], ebx
mov ecx, dword [ebx + 0x10]
mov edi, dword [ebx + 0x174]
mov eax, dword [ebx + 0x14]
cmp ecx, esi
jne 0x101b6272
test eax, eax
je 0x101b6297
push 2
pop esi
cmp ecx, esi
jne 0x101b627d
test eax, eax
je 0x101b6297
cmp ecx, 0x11
jne 0x101b6286
test eax, eax
je 0x101b6297
cmp ecx, 0x21
jne 0x101b7737
test eax, eax
jne 0x101b7737
cmp dword [ebx + 0x1c], 0
je 0x101b7751
movsd xmm0, qword [ebx + 0x118]
xorps xmm1, xmm1
comisd xmm1, xmm0
ja 0x101b62d2
comisd xmm0, xmmword [0x10258228]
ja 0x101b62d2
push ecx
push ecx
movsd qword [esp], xmm0
call fcn.100ad7d1
pop ecx
pop ecx
push 2
pop edx
cmp ax, dx
jne 0x101b630b
movsd xmm0, qword [ebx + 0x118]
mov esi, dword [ebp - 0x34]
push ecx
push ecx
movsd qword [esp], xmm0
push str.Invalid_sample_rate__f__defaulting_to_8000_instead._n
push 0x18
push dword [esi + 4]
call fcn.101ceb2e
movsd xmm0, qword [0x10280a48]
add esp, 0x14
movsd qword [ebx + 0x118], xmm0
push 2
pop edx
jmp 0x101b630e
mov esi, dword [ebp - 0x34]
mov eax, dword [ebx + 0x14]
xor ecx, ecx
inc ecx
cmp dword [ebx + 0x10], ecx
jne 0x101b63d6
test eax, eax
jne 0x101b63d6
mov eax, dword [ebx + 0x48]
or eax, dword [ebx + 0x4c]
jne 0x101b6380
movsd xmm1, qword [ebx + 0x68]
xorps xmm2, xmm2
comisd xmm1, xmm2
jbe 0x101b6380
movsd xmm0, qword [0x10280a58]
divsd xmm0, xmm1
comisd xmm0, xmmword [0x10280a68]
ja 0x101b6364
comisd xmm2, xmm0
ja 0x101b6364
call fcn.10230fa0
mov dword [ebx + 0x48], eax
mov dword [ebx + 0x4c], edx
jmp 0x101b637d
push ecx
push ecx
movsd qword [esp], xmm1
push str.Invalid_frame_rate__e._Cannot_calculate_default_duration._n
push 0x18
push dword [esi + 4]
call fcn.101ceb2e
add esp, 0x14
xor ecx, ecx
inc ecx
mov eax, dword [ebx + 0x70]
and eax, dword [ebx + 0x74]
cmp eax, 0xffffffff
jne 0x101b639d
mov eax, dword [ebx + 0x80]
mov dword [ebx + 0x70], eax
mov eax, dword [ebx + 0x84]
mov dword [ebx + 0x74], eax
mov eax, dword [ebx + 0x78]
and eax, dword [ebx + 0x7c]
cmp eax, 0xffffffff
jne 0x101b63ba
mov eax, dword [ebx + 0x88]
mov dword [ebx + 0x78], eax
mov eax, dword [ebx + 0x8c]
mov dword [ebx + 0x7c], eax
cmp dword [ebx + 0x90], 4
push 2
pop edx
jne 0x101b6405
mov eax, dword [ebx + 0x98]
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x30], eax
jmp 0x101b6405
cmp dword [ebx + 0x10], edx
jne 0x101b6405
test eax, eax
jne 0x101b6405
movsd xmm0, qword [ebx + 0x120]
ucomisd xmm0, qword [0x1023fa60]
lahf
test ah, 0x44
jp 0x101b6405
movsd xmm0, qword [ebx + 0x118]
movsd qword [ebx + 0x120], xmm0
cmp dword [ebx + 0x16c], ecx
jle 0x101b6417
push str.Multiple_combined_encodings_not_supported
jmp 0x101b6527
jne 0x101b6539
mov eax, dword [edi + 8]
or eax, dword [edi + 0xc]
je 0x101b6467
mov eax, dword [edi + 0x38]
test eax, eax
jle 0x101b651b
add eax, 2
push 3
pop ecx
cdq
idiv ecx
lea esi, [eax*4 + 1]
push esi
call fcn.101d070f
mov dword [ebp - 0x48], eax
pop ecx
test eax, eax
je 0x101b6513
push dword [edi + 0x38]
push dword [edi + 0x40]
push esi
push eax
call fcn.101d8514
add esp, 0x10
jmp 0x101b6536
mov eax, dword [edi + 0x14]
cmp dword [edi + 0x10], edx
jne 0x101b6473
test eax, eax
je 0x101b6487
push 3
pop ecx
cmp dword [edi + 0x10], ecx
jne 0x101b651b
test eax, eax
jne 0x101b651b
lea ecx, [ebx + 0x20]
cmp dword [ecx], 0
je 0x101b6536
mov eax, dword [edi]
and eax, edx
or eax, 0
je 0x101b6536
push ebx
lea esi, [ebx + 0x28]
mov eax, dword [esi]
push ecx
push esi
mov dword [ebp - 0x38], eax
call fcn.101b4d3f
add esp, 0xc
test eax, eax
jns 0x101b64d5
and dword [esi], 0
and dword [ebx + 0x20], 0
push str.Failed_to_decode_codec_private_data_n
push 0x10
pop eax
push eax
mov eax, dword [ebp - 0x34]
push dword [eax + 4]
call fcn.101ceb2e
add esp, 0xc
mov eax, dword [ebp - 0x38]
cmp eax, dword [esi]
je 0x101b6536
lea eax, [ebx + 0x24]
push eax
call fcn.101d28e9
cmp dword [esi], 0
pop ecx
je 0x101b6536
xor eax, eax
push eax
push eax
push eax
mov eax, dword [ebx + 0x20]
add eax, 0x40
push eax
push dword [esi]
call fcn.101d2607
add esp, 0x14
mov dword [ebx + 0x24], eax
test eax, eax
jne 0x101b6536
push esi
call fcn.101d06dd
and dword [ebx + 0x20], 0
pop ecx
push 0xfffffffffffffff4
pop eax
jmp 0x101b7769
and dword [edi], 0
and dword [edi + 4], 0
push str.Unsupported_encoding_type
push 0x10
pop eax
push eax
push dword [esi + 4]
call fcn.101ceb2e
add esp, 0xc
xor ecx, ecx
inc ecx
test edi, edi
je 0x101b6566
mov eax, dword [edi + 8]
or eax, dword [edi + 0xc]
jne 0x101b6566
mov eax, dword [edi]
and eax, ecx
or eax, 0
je 0x101b6566
push 3
pop eax
cmp dword [edi + 0x10], eax
jne 0x101b6562
cmp dword [edi + 0x14], 0
jne 0x101b6562
cmp dword [edi + 0x18], 0
je 0x101b6566
mov eax, ecx
jmp 0x101b6568
xor eax, eax
xor edi, edi
mov dword [ebx + 0x19c], eax
cmp dword [0x10287b98], edi
je 0x101b65a8
xor eax, eax
lea esi, [eax + str.A_AAC]
push esi
call fcn.10232450
push eax
push dword [ebx + 0x1c]
push esi
call fcn.1009ca90
add esp, 0x10
test eax, eax
je 0x101b664d
inc edi
imul eax, edi, 0x1c
cmp dword [eax + 0x10287b98], 0
jne 0x101b657a
mov edi, dword [ebp - 0x2c]
push 0
push dword [ebp - 0x54]
call fcn.101a3764
mov esi, eax
mov dword [ebp - 0x38], esi
mov dword [ebx + 0x188], esi
pop ecx
pop ecx
mov ecx, dword [ebp - 0x48]
test esi, esi
je 0x101b7778
test ecx, ecx
je 0x101b65e7
push 8
pop edx
push edx
push ecx
lea eax, [esi + 0x40]
push str.enc_key_id
push eax
call fcn.101d3ae3
add esp, 0x10
push str.V_MS_VFW_FOURCC
push dword [ebx + 0x1c]
call fcn.10232390
pop ecx
pop ecx
test eax, eax
jne 0x101b6661
cmp dword [ebx + 0x20], 0x28
jl 0x101b6661
mov eax, dword [ebx + 0x28]
test eax, eax
je 0x101b6661
xor ecx, ecx
inc ecx
mov dword [ebx + 0x198], ecx
mov esi, dword [eax + 0x10]
movzx ecx, word [eax + 0xe]
push esi
push 0x10286a58
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x3c], esi
call fcn.101a5b61
mov edi, eax
mov dword [ebp - 0x2c], edi
pop ecx
pop ecx
test edi, edi
jne 0x101b6645
push esi
push 0x10285cb8
call fcn.101a5b61
pop ecx
mov edi, eax
pop ecx
mov dword [ebp - 0x2c], edi
push 0x28
pop eax
jmp 0x101b66d9
imul eax, edi, 0x1c
mov edi, dword [eax + 0x10287b98]
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x44], edi
jmp 0x101b65ab
push str.A_MS_ACM
push dword [ebx + 0x1c]
call fcn.10232390
pop ecx
pop ecx
test eax, eax
jne 0x101b66e1
cmp dword [ebx + 0x20], 0xe
jl 0x101b66e1
cmp dword [ebx + 0x28], eax
je 0x101b66e1
xor edi, edi
lea eax, [ebp - 0x11c]
push edi
push edi
push edi
push edi
push edi
push dword [ebx + 0x20]
push dword [ebx + 0x28]
push eax
call fcn.101ac81a
push edi
push dword [ebx + 0x20]
lea eax, [ebp - 0x11c]
push dword [esi + 0xb0]
push eax
push dword [ebp - 0x54]
call fcn.101ca55d
add esp, 0x34
test eax, eax
js 0x101b7769
mov eax, dword [esi + 0xb0]
push 0x12
pop ecx
mov edi, dword [eax + 4]
mov esi, dword [eax + 8]
mov eax, dword [ebx + 0x20]
cmp eax, ecx
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x3c], esi
cmovg eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x101b6769
push str.A_QUICKTIME
push dword [ebx + 0x1c]
call fcn.10232390
pop ecx
pop ecx
test eax, eax
jne 0x101b6907
cmp dword [ebx + 0x20], 0x20
jl 0x101b6907
cmp dword [ebx + 0x28], eax
je 0x101b6907
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x30]
push eax
push ebx
call fcn.101b47e5
add esp, 0xc
test eax, eax
js 0x101b7769
mov eax, dword [ebx + 0x28]
mov ax, word [eax + 0x1a]
ror ax, 8
movzx esi, ax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x3c], eax
test eax, eax
jne 0x101b68d3
push 8
pop eax
cmp si, ax
jne 0x101b68a5
mov eax, 0x20776172
push eax
push 0x10286360
mov dword [ebp - 0x3c], eax
call fcn.101a5b61
pop ecx
pop ecx
mov edi, eax
mov dword [ebp - 0x2c], edi
mov eax, dword [ebp - 0x28]
sub dword [ebx + 0x20], eax
mov esi, dword [ebp - 0x34]
test edi, edi
jne 0x101b6788
push dword [ebx + 0x1c]
push str.Unknown_unsupported_AVCodecID__s._n
push 0x20
push dword [esi + 4]
call fcn.101ceb2e
add esp, 0x10
movsd xmm0, qword [ebx + 0x40]
movsd xmm1, qword [0x102795a0]
comisd xmm1, xmm0
movsd qword [ebp - 0x60], xmm0
jbe 0x101b67b2
movsd xmm0, qword [0x102d0c08]
movsd qword [ebx + 0x40], xmm0
movsd qword [ebp - 0x60], xmm0
mov edx, dword [esi + 0x124]
mov ecx, dword [esi + 0x120]
push 0x3b9aca00
call fcn.10231100
mulsd xmm0, qword [ebp - 0x60]
call fcn.10230f20
mov edi, dword [ebp - 0x38]
push eax
push 0x40
push edi
call fcn.101a415c
push dword [edi + 0x14]
xor eax, eax
push dword [edi + 0x10]
inc eax
push 0x3b9aca00
push eax
push dword [ebx + 0x17c]
push dword [ebx + 0x178]
call fcn.101d142e
mov esi, dword [ebp - 0x2c]
mov dword [ebx + 0x180], eax
mov dword [ebx + 0x184], edx
mov eax, dword [edi + 0xb0]
push 0x1027fa44
mov dword [eax + 4], esi
lea eax, [edi + 0x40]
push dword [ebx + 0x38]
mov dword [ebp - 0x44], eax
call fcn.10232390
add esp, 0x30
test eax, eax
je 0x101b6846
push 0
push dword [ebx + 0x38]
lea eax, [edi + 0x40]
push str.language
push eax
call fcn.101d3ae3
add esp, 0x10
push 0
push dword [ebx + 0x18]
lea eax, [edi + 0x40]
push str.title
push eax
call fcn.101d3ae3
mov eax, dword [ebx + 0x50]
add esp, 0x10
or eax, dword [ebx + 0x54]
je 0x101b686a
xor eax, eax
inc eax
or dword [edi + 0x30], eax
mov eax, dword [ebx + 0x58]
or eax, dword [ebx + 0x5c]
je 0x101b6876
or dword [edi + 0x30], 0x40
mov eax, dword [edi + 0xb0]
cmp dword [eax + 0xc], 0
jne 0x101b71f7
mov ecx, dword [ebp - 0x58]
test ecx, ecx
je 0x101b71bd
mov dword [eax + 0xc], ecx
mov eax, dword [edi + 0xb0]
mov ecx, dword [ebp - 0x50]
mov dword [eax + 0x10], ecx
jmp 0x101b71f7
push 0x10
pop eax
cmp si, ax
jne 0x101b68cb
mov eax, 0x736f7774
push eax
mov ecx, eax
push 0x10286360
mov dword [ebp - 0x3c], ecx
call fcn.101a5b61
pop ecx
mov edi, eax
mov eax, dword [ebp - 0x3c]
pop ecx
jmp 0x101b68d6
mov edi, dword [ebp - 0x44]
jmp 0x101b6763
mov edi, dword [ebp - 0x44]
mov dword [ebp - 0x2c], edi
cmp eax, 0x736f7774
je 0x101b68eb
cmp eax, 0x74776f73
jne 0x101b6766
push 8
pop eax
cmp si, ax
mov eax, dword [ebp - 0x28]
jne 0x101b6769
mov edi, 0x10004
mov dword [ebp - 0x2c], edi
jmp 0x101b6769
push str.V_QUICKTIME
push dword [ebx + 0x1c]
call fcn.10232390
pop ecx
pop ecx
test eax, eax
jne 0x101b6a26
cmp dword [ebx + 0x20], 0x15
jl 0x101b6a26
cmp dword [ebx + 0x28], eax
je 0x101b6a26
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x30]
push eax
push ebx
call fcn.101b47e5
add esp, 0xc
test eax, eax
js 0x101b7769
mov edi, dword [ebp - 0x44]
mov dword [ebp - 0x2c], edi
test edi, edi
jne 0x101b69bb
mov eax, dword [ebx + 0x28]
cmp dword [eax + 4], 0x20494d53
jne 0x101b6982
mov eax, 0x33515653
push eax
mov esi, eax
push 0x10285cb8
mov dword [ebp - 0x3c], esi
call fcn.101a5b61
mov edi, eax
mov dword [ebp - 0x2c], edi
pop ecx
pop ecx
test edi, edi
jne 0x101b69c1
jmp 0x101b6988
mov esi, dword [ebp - 0x30]
mov dword [ebp - 0x3c], esi
push 8
pop eax
mov ecx, eax
lea edi, [ebp - 0x24]
xor eax, eax
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x24]
push esi
push eax
call fcn.101d3659
push eax
push str.mov_FourCC_not_found__s._n
push 0x10
pop eax
push eax
mov eax, dword [ebp - 0x34]
push dword [eax + 4]
call fcn.101ceb2e
mov edi, dword [ebp - 0x2c]
add esp, 0x18
jmp 0x101b69c1
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x3c], eax
cmp dword [ebx + 0x20], 0x56
jl 0x101b6766
mov ecx, dword [ebx + 0x28]
mov ax, word [ecx + 0x52]
ror ax, 8
movzx esi, ax
xor eax, eax
push eax
push eax
push eax
push eax
push eax
push dword [ebx + 0x20]
lea eax, [ebp - 0x11c]
mov dword [ebp - 0x4c], esi
push ecx
push eax
call fcn.101ac81a
lea eax, [ebx + 0x1a8]
push eax
lea eax, [ebp - 0x11c]
push eax
push edi
call fcn.101cbc00
add esp, 0x2c
test eax, eax
je 0x101b6766
and esi, 0x1f
xor eax, eax
inc eax
mov dword [ebp - 0x4c], esi
mov dword [ebx + 0x5a8], eax
jmp 0x101b6766
cmp edi, 0x10001
jne 0x101b6a80
mov ecx, dword [ebx + 0x128]
mov eax, dword [ebx + 0x12c]
push 8
pop edx
cmp ecx, edx
jne 0x101b6a4f
test eax, eax
jne 0x101b6a4f
mov edi, 0x10005
jmp 0x101b6763
cmp ecx, 0x18
jne 0x101b6a62
test eax, eax
jne 0x101b6a62
mov edi, 0x1000d
jmp 0x101b6763
cmp ecx, 0x20
jne 0x101b6766
test eax, eax
mov eax, dword [ebp - 0x28]
jne 0x101b6769
mov edi, 0x10009
jmp 0x101b68ff
cmp edi, 0x10000
jne 0x101b6ad0
mov ecx, dword [ebx + 0x128]
mov eax, dword [ebx + 0x12c]
push 8
pop edx
cmp ecx, edx
jne 0x101b6a9f
test eax, eax
je 0x101b6a45
cmp ecx, 0x18
jne 0x101b6ab2
test eax, eax
jne 0x101b6ab2
mov edi, 0x1000c
jmp 0x101b6763
cmp ecx, 0x20
jne 0x101b6766
test eax, eax
mov eax, dword [ebp - 0x28]
jne 0x101b6769
mov edi, 0x10008
jmp 0x101b68ff
cmp edi, 0x10015
jne 0x101b6afa
cmp dword [ebx + 0x128], 0x40
jne 0x101b7174
cmp dword [ebx + 0x12c], 0
jne 0x101b7174
add edi, 2
jmp 0x101b6763
cmp edi, 0x15002
jne 0x101b6beb
cmp dword [ebx + 0x20], 0
jne 0x101b7174
mov edi, dword [ebx + 0x1c]
xor esi, esi
push 3
pop ebx
push dword [esi*4 + 0x1027df2c]
push edi
call fcn.1008bb80
pop ecx
pop ecx
test eax, eax
jne 0x101b6b30
inc esi
cmp esi, ebx
jb 0x101b6b18
mov ebx, dword [ebp - 0x5c]
inc esi
xor eax, eax
mov dword [ebp - 0x30], esi
push 0x10
mov dword [ebp - 0x48], eax
cvttsd2si ecx, qword [ebx + 0x118]
pop edi
cmp dword [eax*4 + 0x10258278], ecx
je 0x101b6b55
inc eax
cmp eax, edi
jb 0x101b6b47
push 0x45
mov dword [ebp - 0x48], eax
call fcn.101d0768
mov esi, eax
mov dword [ebp - 0x58], esi
pop ecx
test esi, esi
je 0x101b6513
mov edx, dword [ebp - 0x48]
mov ecx, edx
mov eax, dword [ebp - 0x30]
sar ecx, 1
and cl, 7
shl al, 3
or cl, al
shl dl, 7
mov byte [esi], cl
mov ecx, dword [ebx + 0x130]
mov eax, dword [ebx + 0x134]
shld eax, ecx, 3
push 0x102804c4
shl ecx, 3
or cl, dl
mov byte [esi + 1], cl
push dword [ebx + 0x1c]
call fcn.1008bb80
pop ecx
pop ecx
test eax, eax
je 0x101b6be3
cvttsd2si ecx, qword [ebx + 0x120]
xor eax, eax
cmp dword [eax*4 + 0x10258278], ecx
je 0x101b6bc7
inc eax
cmp eax, edi
jb 0x101b6bb9
or al, 0xf0
mov word [esi + 2], 0xe556
shl al, 3
push 5
mov byte [esi + 4], al
pop eax
mov dword [ebp - 0x50], eax
mov edi, dword [ebp - 0x2c]
jmp 0x101b6766
push 2
pop esi
mov dword [ebp - 0x50], esi
jmp 0x101b6bdb
cmp edi, 0x15010
jne 0x101b6c61
mov eax, dword [ebx + 0x20]
test eax, eax
je 0x101b7174
cmp eax, 0x7fffffb3
jge 0x101b7174
add eax, 0xc
mov dword [ebp - 0x50], eax
add eax, 0x40
push eax
call fcn.101d0768
mov esi, eax
mov dword [ebp - 0x58], esi
pop ecx
test esi, esi
je 0x101b6513
push dword [ebp - 0x50]
call fcn.1023241c
push 4
mov dword [esi], eax
lea eax, [esi + 4]
push 0x10250ca4
push eax
call fcn.1008ded0
push 0
call fcn.1023241c
mov dword [esi + 8], eax
lea eax, [esi + 0xc]
push dword [ebx + 0x20]
push dword [ebx + 0x28]
push eax
call fcn.1008ded0
add esp, 0x20
jmp 0x101b6766
cmp edi, 0x15016
jne 0x101b6dbe
mov ecx, dword [ebx + 0x134]
mov eax, dword [ebx + 0x130]
test ecx, ecx
ja 0x101b6d81
jb 0x101b6c8e
cmp eax, 0xffff
ja 0x101b6d81
cmp dword [ebx + 0x12c], 0
ja 0x101b6d81
jb 0x101b6cad
cmp dword [ebx + 0x128], 0xffff
ja 0x101b6d81
movsd xmm0, qword [ebx + 0x120]
xorps xmm1, xmm1
comisd xmm1, xmm0
ja 0x101b6db4
comisd xmm0, xmmword [0x10258228]
ja 0x101b6db4
push 0x56
mov dword [ebp - 0x50], 0x16
call fcn.101d0768
mov esi, eax
mov dword [ebp - 0x58], esi
pop ecx
test esi, esi
je 0x101b6513
push 0x31415454
call fcn.1023241c
push eax
call fcn.1023241c
mov dword [esi], eax
add esi, 4
pop ecx
pop ecx
xor eax, eax
inc eax
mov word [esi], ax
mov ax, word [ebx + 0x130]
push 2
pop ecx
add esi, ecx
mov word [esi], ax
add esi, ecx
mov ax, word [ebx + 0x128]
mov word [esi], ax
add esi, ecx
movsd xmm0, qword [ebx + 0x120]
call fcn.10230f20
push 0
mov dword [esi], eax
movsd xmm0, qword [ebx + 0x120]
push 0x3b9aca00
call fcn.10231050
push edx
push eax
mov eax, dword [ebp - 0x34]
mov edx, dword [eax + 0x124]
mov ecx, dword [eax + 0x120]
call fcn.10231100
mov eax, dword [ebp - 0x34]
mulsd xmm0, qword [eax + 0x128]
call fcn.10231050
push edx
push eax
call fcn.101d140d
add esp, 0x18
mov dword [esi + 4], eax
jmp 0x101b6766
push dword [ebx + 0x12c]
push dword [ebx + 0x128]
mov ebx, dword [ebp - 0x34]
push ecx
push eax
push str.Too_large_audio_channel_number__llu_or_bitdepth__llu._Skipping_track._n
push 0x18
push dword [ebx + 4]
call fcn.101ceb2e
mov eax, dword [ebx + 4]
add esp, 0x1c
test byte [eax + 0x49c], 8
je 0x101b774e
mov eax, 0xbebbb1b7
jmp 0x101b7769
push 5
pop eax
cmp edi, eax
je 0x101b71ae
cmp edi, 6
je 0x101b71ae
cmp edi, 0x44
je 0x101b71ae
cmp edi, 0x45
je 0x101b71ae
cmp edi, 0x13000
jne 0x101b6e11
movsd xmm0, qword [0x10280a48]
xor eax, eax
inc eax
movsd qword [ebx + 0x120], xmm0
and dword [ebx + 0x134], 0
mov dword [ebx + 0x130], eax
jmp 0x101b6766
cmp edi, 0x13001
je 0x101b6e35
cmp edi, 0x15014
je 0x101b6e35
cmp edi, 0x1501f
je 0x101b6e35
cmp edi, 0x15029
jne 0x101b6fd4
cmp dword [ebx + 0x28], 0
je 0x101b6fd4
push 0
push 0
push 0
push 0
push 0
push dword [ebx + 0x20]
lea eax, [ebp - 0x11c]
push dword [ebx + 0x28]
push eax
call fcn.101ac81a
push 0
lea eax, [ebp - 0x11c]
push 0x16
push eax
call fcn.101ac3d6
lea eax, [ebp - 0x11c]
push eax
call fcn.101abe1c
mov edi, eax
lea eax, [ebp - 0x11c]
push eax
call fcn.101abe5c
push 0
mov dword [ebx + 0x138], eax
lea eax, [ebp - 0x11c]
push 0xc
push eax
call fcn.101ac3d6
add esp, 0x40
lea eax, [ebp - 0x11c]
push eax
call fcn.101abe1c
mov dword [ebx + 0x13c], eax
lea eax, [ebp - 0x11c]
push eax
call fcn.101abe1c
mov dword [ebx + 0x140], eax
lea eax, [ebp - 0x11c]
push eax
call fcn.101abe1c
mov edx, dword [ebx + 0x138]
add esp, 0xc
mov ecx, eax
mov dword [ebx + 0x144], ecx
test edx, edx
jle 0x101b6db4
mov eax, dword [ebx + 0x13c]
test eax, eax
jle 0x101b6db4
mov esi, dword [ebx + 0x140]
test esi, esi
jle 0x101b6db4
cmp dword [ebp - 0x2c], 0x13001
jne 0x101b6f46
test al, 1
jne 0x101b6db4
imul edx
mov ecx, eax
mov edi, edx
lea eax, [esi + esi]
cdq
cmp eax, ecx
jne 0x101b6db4
cmp edx, edi
jne 0x101b6db4
mov esi, dword [ebp - 0x38]
mov ecx, dword [ebx + 0x138]
mov eax, dword [esi + 0xb0]
mov dword [eax + 0x70], ecx
and dword [ebx + 0x20], 0
jmp 0x101b6fae
cmp dword [ebp - 0x2c], 0x15029
jne 0x101b6f86
push 3
pop eax
cmp edi, eax
jg 0x101b6db4
movzx eax, byte [edi + 0x10288648]
mov esi, dword [ebp - 0x38]
mov dword [ebx + 0x144], eax
mov eax, dword [edi*4 + 0x1027f968]
cdq
mov ecx, dword [esi + 0xb0]
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], edx
mov ecx, dword [ebx + 0x144]
jmp 0x101b6f9e
test ecx, ecx
jle 0x101b6db4
mov eax, esi
cdq
idiv ecx
test edx, edx
jne 0x101b6db4
mov esi, dword [ebp - 0x38]
mov eax, dword [esi + 0xb0]
mov dword [ebp - 0x28], 0x4e
mov dword [eax + 0x70], ecx
push dword [ebx + 0x140]
push dword [ebx + 0x13c]
call fcn.101d073f
mov dword [ebx + 0x158], eax
pop ecx
pop ecx
test eax, eax
je 0x101b6513
jmp 0x101b6bdb
cmp edi, 0x1500c
jne 0x101b7109
mov edi, dword [ebx + 0x20]
test edi, edi
je 0x101b7171
mov eax, dword [ebx + 0x188]
push 0x2a
pop ecx
mov dword [ebp - 0x5c], eax
cmp edi, ecx
jl 0x101b70ee
mov esi, dword [ebx + 0x28]
test byte [esi + 4], 0x7f
jne 0x101b70ee
push 8
sub edi, ecx
mov dword [ebx + 0x20], ecx
pop eax
add esi, ecx
mov dword [ebp - 0x28], eax
cmp edi, 4
jl 0x101b71b5
movzx edx, byte [esi]
sub edi, 4
movzx ecx, byte [esi + 1]
add esi, 4
shl ecx, 8
and edx, 0x7f
movzx eax, byte [esi - 2]
or ecx, eax
movzx eax, byte [esi - 1]
shl ecx, 8
or ecx, eax
mov dword [ebp - 0x44], ecx
cmp ecx, edi
jg 0x101b6bdb
cmp edx, 4
jne 0x101b70dc
and dword [ebp - 0x30], 0
lea eax, [ebp - 0x30]
push 0
push ecx
push esi
push eax
push dword [ebp - 0x54]
call fcn.101cb5c2
push 0
push 0
push str.WAVEFORMATEXTENSIBLE_CHANNEL_MASK
push dword [ebp - 0x30]
call fcn.101d3832
add esp, 0x24
test eax, eax
je 0x101b70cf
push 0
push 0
push dword [eax + 4]
call fcn.100a45a9
cdq
add esp, 0xc
mov ecx, eax
mov dword [ebp - 0x48], eax
or ecx, edx
je 0x101b70bd
mov ecx, eax
and ecx, 0xfffc0000
or ecx, edx
jne 0x101b70bd
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x48]
mov eax, dword [eax + 0xb0]
mov dword [eax + 0x60], ecx
mov dword [eax + 0x64], edx
jmp 0x101b70cf
push str.Invalid_value_of_WAVEFORMATEXTENSIBLE_CHANNEL_MASK_n
push 0x18
push dword [ebp - 0x54]
call fcn.101ceb2e
add esp, 0xc
lea eax, [ebp - 0x30]
push eax
call fcn.101d37d6
pop ecx
mov ecx, dword [ebp - 0x44]
sub edi, ecx
add esi, ecx
cmp edi, 4
jge 0x101b7022
jmp 0x101b6bdb
push str.Invalid_FLAC_private_data_n
push 0x18
push dword [ebp - 0x54]
call fcn.101ceb2e
add esp, 0xc
and dword [ebx + 0x20], 0
jmp 0x101b6bdb
cmp edi, 0x15019
jne 0x101b7152
push 2
pop esi
cmp dword [ebx + 0x20], esi
jge 0x101b7174
mov eax, dword [ebp - 0x34]
push str.Assuming_WavPack_version_4.10_in_absence_of_valid_CodecPrivate._n
push 0x20
push dword [eax + 4]
call fcn.101ceb2e
push 0x42
mov dword [ebp - 0x50], esi
call fcn.101d0768
mov esi, eax
add esp, 0x10
mov dword [ebp - 0x58], esi
test esi, esi
je 0x101b6513
mov eax, 0x410
mov word [esi], ax
jmp 0x101b6766
cmp edi, 0x93
jne 0x101b7174
cmp dword [ebx + 0x20], 4
jne 0x101b6766
mov eax, dword [ebx + 0x28]
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
jmp 0x101b6766
mov edi, dword [ebp - 0x2c]
mov eax, dword [ebx + 0x20]
cmp edi, 0xa7
jne 0x101b7193
test eax, eax
mov eax, dword [ebp - 0x28]
je 0x101b6769
and dword [ebx + 0x20], 0
jmp 0x101b6769
cmp edi, 0x801d
jne 0x101b6766
test eax, eax
je 0x101b6766
push 4
jmp 0x101b6647
push 0x1a
jmp 0x101b6647
mov edi, dword [ebp - 0x2c]
jmp 0x101b6769
cmp dword [ebx + 0x28], 0
je 0x101b71f7
cmp dword [ebx + 0x20], 0
jle 0x101b71f7
push dword [ebx + 0x20]
push eax
call fcn.101a5b0d
pop ecx
pop ecx
test eax, eax
jne 0x101b6513
push dword [ebx + 0x20]
mov eax, dword [ebx + 0x28]
add eax, dword [ebp - 0x28]
push eax
mov eax, dword [edi + 0xb0]
push dword [eax + 0xc]
call fcn.1008ded0
add esp, 0xc
mov eax, dword [ebx + 0x14]
xor edx, edx
inc edx
cmp dword [ebx + 0x10], edx
jne 0x101b759e
test eax, eax
jne 0x101b759e
mov eax, dword [ebx + 0x168]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x5c], eax
mov eax, dword [edi + 0xb0]
and dword [eax], 0
mov eax, dword [edi + 0xb0]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
js 0x101b723c
mov eax, dword [edi + 0xb0]
mov dword [eax + 0x20], ecx
mov ecx, dword [edi + 0xb0]
mov eax, dword [ebx + 0x80]
mov dword [ecx + 0x30], eax
mov ecx, dword [edi + 0xb0]
mov eax, dword [ebx + 0x88]
mov dword [ecx + 0x34], eax
mov ecx, dword [ebx + 0xb0]
mov eax, dword [ebx + 0xb4]
cmp ecx, edx
jne 0x101b7290
test eax, eax
jne 0x101b7290
push dword [ebx + 0xbc]
push dword [ebx + 0xb8]
push dword [ebp - 0x34]
call fcn.101b7c6f
mov ecx, dword [edi + 0xb0]
add esp, 0xc
mov dword [ecx + 0x40], eax
jmp 0x101b72a4
push 2
pop esi
cmp ecx, esi
jne 0x101b72a4
test eax, eax
jne 0x101b72a4
mov eax, dword [edi + 0xb0]
mov dword [eax + 0x40], edx
mov esi, dword [ebx + 0xc0]
xor ecx, ecx
mov edx, dword [ebx + 0xc4]
inc ecx
mov eax, esi
mov dword [ebp - 0x30], ecx
or eax, edx
mov edi, ecx
je case.0x101b72ed.3
xor eax, eax
inc eax
mov dword [ebp - 0x30], eax
test edx, edx
ja case.0x101b72ed.3
jb 0x101b72cf
cmp esi, 0xf
jae case.0x101b72ed.3
mov eax, dword [ebx + 0xc0]
xor edx, edx
inc edx
dec eax
mov dword [ebp - 0x30], edx
mov edi, edx
cmp eax, 0xa
ja case.0x101b72ed.3
movzx eax, byte [eax + 0x101b7792]
mov dword [ebp - 0x30], edx
jmp dword [eax*4 + 0x101b7786]
push 2
pop eax
mov dword [ebp - 0x30], eax
jmp case.0x101b72ed.3
push 2
pop eax
mov edi, eax
mov dword [ebp - 0x30], edx
cmp dword [ebx + 0xac], 0
ja 0x101b7377
jb 0x101b7318
cmp dword [ebx + 0xa8], 4
jae 0x101b7377
mov esi, dword [ebp - 0x38]
push 0
push 0xff
push dword [ebx + 0x7c]
mov esi, dword [esi + 0xb0]
push dword [ebx + 0x78]
mov eax, dword [esi + 0x30]
cdq
push edx
push eax
call fcn.10230a00
push 0
push edi
push edx
push eax
call fcn.10230a00
push edx
push eax
push dword [ebx + 0x74]
mov eax, dword [esi + 0x34]
push dword [ebx + 0x70]
cdq
push edx
push eax
call fcn.10230a00
push 0
push dword [ebp - 0x30]
push edx
push eax
call fcn.10230a00
mov ecx, dword [ebp - 0x38]
push edx
push eax
lea eax, [ecx + 0x3c]
push eax
lea eax, [ecx + 0x38]
push eax
call fcn.101d0dde
add esp, 0x20
mov ecx, dword [ebp - 0x38]
mov eax, dword [ecx + 0xb0]
cmp dword [eax + 4], 0xad
je 0x101b7392
push 2
pop eax
mov dword [ecx + 0xe4], eax
mov eax, dword [ebx + 0x48]
or eax, dword [ebx + 0x4c]
je 0x101b7400
push 0
push 0x7530
push dword [ebx + 0x4c]
lea esi, [ecx + 0x48]
push dword [ebx + 0x48]
lea edi, [ecx + 0x44]
push 0
push 0x3b9aca00
push esi
push edi
call fcn.101d0dde
mov eax, dword [edi]
add esp, 0x20
cdq
mov dword [ebp - 0x48], edx
mov ecx, eax
mov eax, dword [esi]
mov edx, 0x3e8
imul edx
cmp dword [ebp - 0x48], edx
jg 0x101b7400
jl 0x101b73da
cmp ecx, eax
jae 0x101b7400
mov eax, dword [esi]
push 5
pop edx
imul edx
cmp dword [ebp - 0x48], edx
jl 0x101b7400
jg 0x101b73ec
cmp ecx, eax
jbe 0x101b7400
mov ecx, dword [ebp - 0x38]
mov eax, dword [edi]
mov dword [ecx + 0xa4], eax
mov eax, dword [edi + 4]
mov dword [ecx + 0xa8], eax
mov edx, dword [ebx + 0xc0]
mov eax, edx
mov ecx, dword [ebx + 0xc4]
or eax, ecx
je 0x101b743f
test ecx, ecx
ja 0x101b743f
jb 0x101b741d
cmp edx, 0xf
jae 0x101b743f
mov eax, dword [ebx + 0xc0]
mov esi, dword [ebp - 0x44]
push 0
push dword [eax*4 + 0x10288458]
push str.stereo_mode
push esi
call fcn.101d3ae3
add esp, 0x10
jmp 0x101b7442
mov esi, dword [ebp - 0x44]
mov eax, dword [ebx + 0xc8]
or eax, dword [ebx + 0xcc]
je 0x101b7465
push 0
push 0x10278e60
push str.alpha_mode
push esi
call fcn.101d3ae3
add esp, 0x10
xor eax, eax
mov dword [ebp - 0x4c], eax
cmp dword [ebx + 0x160], eax
jle 0x101b7529
mov esi, dword [ebp - 0x5c]
push 0x10
add esi, 8
pop ecx
cmp dword [esi + 4], 0
ja 0x101b7517
jb 0x101b7496
push 3
pop edx
cmp dword [esi], edx
jae 0x101b7517
mov eax, dword [esi]
push dword [ebp - 0x64]
push dword [eax*4 + 0x10288494]
lea eax, [ebp - 0x24]
push str._s__d
push 0x20
push eax
call fcn.100b2cbf
mov eax, dword [ebp - 0x34]
add esp, 0x14
xor edx, edx
mov edi, dword [eax + 0x150]
test edi, edi
jle 0x101b7511
mov eax, dword [ebp - 0x40]
mov ecx, dword [esi - 8]
add eax, 0x188
cmp ecx, dword [eax - 0x180]
jne 0x101b74ee
mov ecx, dword [esi - 4]
cmp ecx, dword [eax - 0x17c]
mov ecx, dword [esi - 8]
jne 0x101b74ee
mov ecx, dword [eax]
test ecx, ecx
jne 0x101b74fa
mov ecx, dword [esi - 8]
inc edx
add eax, 0x5b0
cmp edx, edi
jl 0x101b74cf
jmp 0x101b7511
push 0
lea eax, [ebp - 0x24]
push eax
lea eax, [ecx + 0x40]
push str.stereo_mode
push eax
call fcn.101d3ae3
add esp, 0x10
mov eax, dword [ebp - 0x4c]
push 0x10
pop ecx
inc eax
add esi, ecx
mov dword [ebp - 0x4c], eax
cmp eax, dword [ebx + 0x160]
jl 0x101b747f
mov ecx, dword [ebx + 0xc4]
mov eax, dword [ebx + 0xc0]
test ecx, ecx
ja 0x101b756d
jb 0x101b7540
cmp eax, 0xf
jae 0x101b756d
cmp eax, 0xa
jne 0x101b7549
test ecx, ecx
je 0x101b756d
cmp eax, 0xc
jne 0x101b7552
test ecx, ecx
je 0x101b756d
push dword [ebx + 0xc0]
mov esi, dword [ebp - 0x38]
push esi
call fcn.101caf6d
pop ecx
pop ecx
test eax, eax
js 0x101b7769
jmp 0x101b7570
mov esi, dword [ebp - 0x38]
push ebx
push esi
call fcn.101b7d08
pop ecx
pop ecx
test eax, eax
js 0x101b7769
mov eax, dword [ebp - 0x34]
push dword [eax + 4]
push ebx
push esi
call fcn.101b8088
add esp, 0xc
test eax, eax
js 0x101b7769
jmp 0x101b774e
push 2
pop ecx
cmp dword [ebx + 0x10], ecx
jne 0x101b76b6
test eax, eax
jne 0x101b76b6
mov eax, dword [edi + 0xb0]
mov ecx, dword [ebp - 0x3c]
mov dword [eax], edx
mov eax, dword [edi + 0xb0]
mov dword [eax + 8], ecx
cvttsd2si ecx, qword [ebx + 0x120]
mov eax, dword [edi + 0xb0]
mov dword [eax + 0x6c], ecx
mov ecx, dword [edi + 0xb0]
mov eax, dword [ebx + 0x130]
mov dword [ecx + 0x68], eax
mov ecx, dword [edi + 0xb0]
cmp dword [ecx + 0x20], 0
jne 0x101b7601
mov eax, dword [ebx + 0x128]
mov dword [ecx + 0x20], eax
mov ecx, dword [edi + 0xb0]
mov eax, dword [ecx + 4]
cmp eax, 0x15001
je 0x101b762b
cmp eax, 0x1501d
je 0x101b762b
cmp eax, 0x1502c
je 0x101b762b
cmp eax, 0x15002
je 0x101b7631
push 2
pop eax
mov dword [edi + 0xe4], eax
jmp 0x101b7631
mov dword [edi + 0xe4], edx
mov esi, dword [ebx + 0x17c]
mov edx, dword [ebx + 0x178]
test esi, esi
jne 0x101b7645
test edx, edx
je 0x101b7674
cmp dword [ecx + 4], 0x1503c
mov eax, 0xbb80
je 0x101b7656
mov eax, dword [ecx + 0x6c]
push eax
xor eax, eax
inc eax
push eax
push 0x3b9aca00
push eax
push esi
push edx
call fcn.101d142e
mov ecx, dword [edi + 0xb0]
add esp, 0x18
mov dword [ecx + 0x78], eax
cmp dword [ebx + 0x64], 0
ja 0x101b7684
cmp dword [ebx + 0x60], 0
jbe 0x101b774e
mov eax, dword [edi + 0xb0]
push dword [eax + 0x6c]
xor eax, eax
inc eax
push eax
push 0x3b9aca00
push eax
push dword [ebx + 0x64]
push dword [ebx + 0x60]
call fcn.101d142e
mov ecx, dword [edi + 0xb0]
add esp, 0x18
mov dword [ecx + 0x80], eax
jmp 0x101b774e
cmp esi, 0x17809
jne 0x101b7720
mov eax, dword [edi + 0xb0]
push 3
pop ecx
push 0x1028058c
mov dword [eax], ecx
push dword [ebx + 0x1c]
call fcn.10232390
pop ecx
pop ecx
test eax, eax
jne 0x101b76e5
or dword [edi + 0x30], 0x10000
jmp 0x101b774e
push 0x102805a0
push dword [ebx + 0x1c]
call fcn.10232390
pop ecx
pop ecx
test eax, eax
jne 0x101b7701
or dword [edi + 0x30], 0x20000
jmp 0x101b774e
push 0x102805b8
push dword [ebx + 0x1c]
call fcn.10232390
mov edx, dword [ebp - 0x40]
pop ecx
pop ecx
test eax, eax
jne 0x101b7751
or dword [edi + 0x30], 0x40000
jmp 0x101b7751
cmp dword [ebx + 0x10], 0x11
jne 0x101b774e
test eax, eax
jne 0x101b774e
mov eax, dword [edi + 0xb0]
push 3
pop ecx
mov dword [eax], ecx
jmp 0x101b774e
push eax
mov eax, dword [ebp - 0x34]
push ecx
push str.Unknown_or_unsupported_track_type__llu_n
push 0x20
push dword [eax + 4]
call fcn.101ceb2e
add esp, 0x14
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x34]
inc ecx
mov dword [ebp - 0x64], ecx
cmp ecx, dword [eax + 0x150]
jl 0x101b6232
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1008a9cb
leave
ret
push ecx
call fcn.101d06d8
jmp 0x101b6512