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

Disassembly:
mov eax, 0x2080
call fcn.1010d5c0
mov eax, dword [0x102e5cc0]
xor eax, esp
mov dword [esp + 0x207c], eax
mov eax, dword [esp + 0x2088]
push ebx
push ebp
push esi
mov esi, dword [esp + 0x2090]
xor ebx, ebx
mov dword [esp + 0x68], eax
xor ebp, ebp
xor eax, eax
mov dword [esp + 0xc], 0
push edi
mov dword [esp + 0x44], ebp
mov dword [esp + 0x18], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
cmp dword [esi + 0x1d54], eax
jl 0x1006cbe1
jg 0x1006cbd3
cmp dword [esi + 0x1d50], 0xffffffff
jbe 0x1006cbe1
push str.Warning_:_filelength___0xffffffff._This_is_bad_____n
push esi
call fcn.10069fd0
add esp, 8
mov edi, dword [esi + 0x1da8]
mov dword [esp + 0x40], edi
test edi, edi
je 0x1006defa
push 0
push 0x101fb3a4
push esi
mov dword [edi], ebx
mov dword [edi + 4], ebx
mov dword [edi + 8], ebx
mov dword [edi + 0xc], ebx
call fcn.10068580
mov eax, dword [esp + 0x78]
xorps xmm0, xmm0
add esp, 0xc
movups xmmword [eax], xmm0
movups xmmword [eax + 0x10], xmm0
mov dword [esi + 0x1ce8], 0x20000000
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esp + 0x18]
mov dword [esp + 0x14], 0
push ecx
and eax, 1
mov dword [esp + 0x1c], 0
push eax
push str.Ejm4
push esi
call fcn.10068580
add esp, 0x14
cmp dword [esp + 0x14], 0
je 0x1006df67
cmp dword [esi + 0x90c], 0x30
jne 0x1006cc73
test bl, 0x20
jne 0x1006dee0
push dword [esp + 0x10]
push esi
call fcn.1006b620
add esp, 4
push edx
push eax
push dword [esp + 0x20]
lea eax, [esi + 0x1e4c]
push eax
call fcn.1008df90
mov ecx, dword [esp + 0x28]
add esp, 0x14
cmp ecx, 0x4c505041
ja 0x1006d5bb
je 0x1006d4b6
cmp ecx, 0x454e4f4e
ja 0x1006cfdf
je 0x1006cfad
cmp ecx, 0x444e5353
ja 0x1006cf3c
je 0x1006cd76
cmp ecx, 0x20296328
je 0x1006cce8
cmp ecx, 0x21584653
je 0x1006d91d
jmp 0x1006d968
mov edi, dword [esp + 0x10]
test edi, edi
je 0x1006d833
cmp edi, 0x2000
jae 0x1006deea
mov eax, edi
and eax, 1
add eax, edi
push eax
lea eax, [esp + 0x88]
push eax
push 0x101fa550
push esi
call fcn.10068580
mov eax, dword [esp + 0x20]
mov byte [esp + eax + 0x94], 0
lea eax, [esp + 0x94]
push dword [esp + 0x20]
push eax
call fcn.1006ad60
lea eax, [esp + 0x9c]
push eax
push dword [esp + 0x30]
push str.__M_:__s_n
push esi
call fcn.10069fd0
lea eax, [esp + 0xac]
push eax
push 2
push esi
call fcn.1006aeb0
mov edi, dword [esp + 0x44]
add esp, 0x34
mov eax, edi
and eax, 1
add edi, eax
mov dword [esp + 0x10], edi
jmp 0x1006d833
mov eax, ebx
and al, 0xc
cmp al, 4
jne 0x1006cd8c
push str._Valid_AIFC_files_should_have_an_FVER_chunk._n
push esi
call fcn.10069fd0
add esp, 8
push esi
call fcn.1006b620
sub eax, 8
mov dword [edi + 8], eax
lea eax, [esp + 0x6c]
push eax
lea eax, [esp + 0x6c]
sbb edx, 0
push eax
push 0x101fb46c
mov dword [edi + 0xc], edx
mov edi, dword [esp + 0x20]
push esi
call fcn.10068580
lea eax, [edi - 8]
mov dword [esi + 0x1d74], 0
push esi
mov dword [esi + 0x1d70], eax
call fcn.1006b620
mov ecx, dword [esi + 0x1d50]
add esp, 0x18
mov ebx, dword [esi + 0x1d74]
sub ecx, eax
mov dword [esi + 0x1d68], eax
mov eax, dword [esi + 0x1d54]
sbb eax, edx
mov dword [esi + 0x1d6c], edx
mov edx, dword [esi + 0x1d70]
cmp ebx, eax
jg 0x1006ce2c
jl 0x1006ce05
cmp edx, ecx
ja 0x1006ce2c
test ebx, ebx
jl 0x1006ce2c
jg 0x1006ce0f
test edx, edx
jb 0x1006ce2c
push edi
push str._SSND_:__u_n
push esi
call fcn.10069fd0
mov edi, dword [esi + 0x1d68]
add esp, 0xc
mov ebx, dword [esi + 0x1d6c]
jmp 0x1006ce6b
add ecx, 8
adc eax, 0
push eax
push ecx
push edi
push str._SSND_:__u__should_be__D__n
push esi
call fcn.10069fd0
mov ecx, dword [esi + 0x1d50]
add esp, 0x14
mov edi, dword [esi + 0x1d68]
sub ecx, edi
mov eax, dword [esi + 0x1d54]
mov ebx, dword [esi + 0x1d6c]
sbb eax, ebx
mov dword [esi + 0x1d70], ecx
mov dword [esi + 0x1d74], eax
mov edx, dword [esp + 0x64]
test edx, edx
je 0x1006ce9c
xor ecx, ecx
mov eax, edx
add eax, edi
adc ecx, ebx
cmp eax, dword [esp + 0x68]
jne 0x1006ce85
test ecx, ecx
je 0x1006ce9c
push edx
push str.__Offset_____:__u_n
push esi
call fcn.10069fd0
push dword [esp + 0x74]
push str.__Block_Size_:__u_____n
jmp 0x1006ceb1
push edx
push str.__Offset_____:__u_n
push esi
call fcn.10069fd0
push dword [esp + 0x74]
push str.__Block_Size_:__u_n
push esi
call fcn.10069fd0
mov eax, dword [esp + 0x7c]
add esp, 0x18
add dword [esi + 0x1d68], eax
mov ecx, dword [esi + 0x1d68]
adc dword [esi + 0x1d6c], 0
sub dword [esi + 0x1d70], eax
mov eax, dword [esi + 0x1d70]
sbb dword [esi + 0x1d74], 0
add ecx, eax
mov edx, dword [esi + 0x1d6c]
mov edi, dword [esi + 0x1d74]
adc edx, edi
cmp edx, dword [esi + 0x1d54]
jg 0x1006cf12
jl 0x1006cf06
cmp ecx, dword [esi + 0x1d50]
jae 0x1006cf12
mov dword [esi + 0x1d78], ecx
mov dword [esi + 0x1d7c], edx
mov ebx, dword [esp + 0x18]
or ebx, 0x20
cmp dword [esi + 0x1d28], 0
mov dword [esp + 0x18], ebx
je 0x1006d82f
push 0
push edx
push ecx
push esi
call fcn.1006b560
add esp, 0x10
jmp 0x1006d82f
cmp ecx, 0x454d414e
jne 0x1006d968
mov edi, dword [esp + 0x10]
test edi, edi
je 0x1006d833
cmp edi, 0x1ffe
jae 0x1006deea
mov eax, edi
and eax, 1
add eax, edi
push eax
lea eax, [esp + 0x88]
push eax
push 0x101fa550
push esi
call fcn.10068580
mov eax, dword [esp + 0x20]
mov byte [esp + eax + 0x94], 0
lea eax, [esp + 0x94]
push eax
push dword [esp + 0x28]
push str.__M_:__s_n
push esi
call fcn.10069fd0
lea eax, [esp + 0xa4]
push eax
push 1
jmp 0x1006d499
mov eax, dword [esp + 0x10]
shr eax, 0x18
sub eax, 3
push eax
push ecx
push str.__M_:__d_n
push esi
mov dword [esp + 0x20], eax
call fcn.10069fd0
push dword [esp + 0x20]
push 0x101fb418
push esi
call fcn.10068580
add esp, 0x1c
jmp 0x1006d82f
cmp ecx, 0x48545541
je 0x1006d439
cmp ecx, 0x4b414550
je 0x1006d287
cmp ecx, 0x4b52414d
jne 0x1006d968
push dword [esp + 0x10]
push ecx
push str.__M_:__d_n
push esi
call fcn.10069fd0
lea eax, [esp + 0x2c]
mov dword [esp + 0x2c], 0
push eax
push 0x101fb5c0
push esi
call fcn.10068580
movzx ebp, word [esp + 0x38]
mov ebx, eax
push ebp
push str.__Count_:__u_n
push esi
mov dword [esp + 0x6c], ebp
call fcn.10069fd0
add esp, 0x28
cmp dword [edi + 0x14], 0
je 0x1006d061
push str._Second_MARK_chunk_found._Throwing_away_the_first._n
push esi
call fcn.10069fd0
push dword [edi + 0x14]
call fcn.10115694
add esp, 0xc
push 8
push ebp
call fcn.101128c3
add esp, 8
mov dword [edi + 0x14], eax
test eax, eax
je 0x1006df32
cmp ebp, 0x9c4
jbe 0x1006d0a4
push str.__More_than_2500_markers__skipping__n
push esi
call fcn.10069fd0
mov eax, dword [esp + 0x18]
sub eax, ebx
push eax
push 0x101fb418
push esi
call fcn.10068580
add esp, 0x14
jmp 0x1006d82b
mov eax, dword [esi + 0x1d38]
test eax, eax
je 0x1006d0c1
push eax
call fcn.10115694
add esp, 4
mov dword [esi + 0x1d38], 0
push ebp
call fcn.100699d0
add esp, 4
mov dword [esi + 0x1d38], eax
test eax, eax
je 0x1006df32
mov dword [esp + 0x1c], 0
test ebp, ebp
je 0x1006d269
nop dword [eax + eax]
mov eax, dword [esp + 0x10]
cmp ebx, eax
jae 0x1006d26d
lea eax, [esp + 0x2f]
push eax
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x38]
push eax
push str.E241
push esi
call fcn.10068580
push dword [esp + 0x60]
add ebx, eax
movzx eax, word [esp + 0x48]
push eax
push str.___Mark_ID__:__u_n___Position_:__u_n
push esi
call fcn.10069fd0
movzx eax, word [esp + 0x40]
add esp, 0x24
movzx edx, word [esp + 0x30]
imul ecx, eax, 0x118
mov eax, dword [esi + 0x1d38]
mov dword [ecx + eax + 4], edx
movzx eax, word [esp + 0x1c]
imul ecx, eax, 0x118
mov eax, dword [esi + 0x1d38]
mov dword [ecx + eax + 8], 0
movzx eax, word [esp + 0x1c]
imul ecx, eax, 0x118
mov eax, dword [esi + 0x1d38]
mov dword [ecx + eax + 0xc], 0x61746164
movzx eax, word [esp + 0x1c]
imul ecx, eax, 0x118
mov eax, dword [esi + 0x1d38]
mov dword [ecx + eax + 0x10], 0
movzx eax, word [esp + 0x1c]
imul ecx, eax, 0x118
mov eax, dword [esi + 0x1d38]
mov dword [ecx + eax + 0x14], 0
movzx eax, word [esp + 0x1c]
mov ecx, dword [esi + 0x1d38]
imul edx, eax, 0x118
mov eax, dword [esp + 0x4c]
mov dword [edx + ecx + 0x18], eax
mov al, byte [esp + 0x2f]
movzx edi, al
test al, 1
jne 0x1006d1d3
inc edi
push edi
lea eax, [esp + 0x88]
push eax
push 0x101fa550
push esi
call fcn.10068580
add ebx, eax
mov byte [esp + edi + 0x94], 0
lea eax, [esp + 0x94]
push eax
push str.___Name_____:__s_n
push esi
call fcn.10069fd0
lea eax, [esp + 0xa0]
push eax
movzx eax, word [esp + 0x3c]
imul ecx, eax, 0x118
mov eax, dword [esi + 0x1d38]
push 0x100
add ecx, 0x1c
add eax, ecx
push eax
call fcn.1006ad90
mov edi, dword [esp + 0x68]
add esp, 0x28
movzx edx, word [esp + 0x1c]
mov ax, word [esp + 0x30]
mov ecx, dword [edi + 0x14]
mov word [ecx + edx*8], ax
movzx edx, word [esp + 0x1c]
mov ecx, dword [edi + 0x14]
mov eax, dword [esp + 0x4c]
mov dword [ecx + edx*8 + 4], eax
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
movzx eax, ax
cmp eax, ebp
jb 0x1006d0f0
mov eax, dword [esp + 0x10]
inc dword [esp + 0x5c]
sub eax, ebx
push eax
push 0x101fb418
push esi
call fcn.10068580
add esp, 0xc
jmp 0x1006d82b
mov eax, ebx
and eax, 0x13
cmp al, 0x13
jne 0x1006df28
push dword [esp + 0x10]
push ecx
push str._M_:__d_n
push esi
call fcn.10069fd0
mov eax, dword [esi + 0x1d1c]
add esp, 0x10
mov ecx, dword [esp + 0x10]
lea eax, [eax*8 + 8]
cmp ecx, eax
jne 0x1006df04
cmp dword [esi + 0x1d34], 0
je 0x1006d2ec
push str._Found_existing_peak_info__using_last_one._n
push esi
call fcn.10069fd0
push dword [esi + 0x1d34]
call fcn.10115694
add esp, 0xc
mov dword [esi + 0x1d34], 0
mov eax, dword [esi + 0x1d1c]
inc eax
shl eax, 4
push eax
push 1
call fcn.101128c3
add esp, 8
mov dword [esi + 0x1d34], eax
test eax, eax
je 0x1006df32
lea ecx, [eax + 8]
add eax, 4
push ecx
push eax
push 0x101fb46c
push esi
call fcn.10068580
mov eax, dword [esi + 0x1d34]
mov ecx, str.__version____:__d_n
mov eax, dword [eax + 4]
cmp eax, 1
push eax
mov eax, str.__version____:__d___should_be_version_1__n
cmovne ecx, eax
push ecx
push esi
call fcn.10069fd0
mov eax, dword [esi + 0x1d34]
push dword [eax + 8]
push str.__time_stamp_:__d_n
push esi
call fcn.10069fd0
push str.____Ch___Position_______Value_n
push esi
call fcn.10069fd0
xor ebx, ebx
add esp, 0x30
cmp dword [esi + 0x1d1c], ebx
jle 0x1006d41a
xor edi, edi
lea eax, [esp + 0x74]
push eax
lea eax, [esp + 0x74]
push eax
push 0x101fb4e8
push esi
call fcn.10068580
movss xmm0, dword [esp + 0x80]
add esp, 8
mov eax, dword [esi + 0x1d34]
cvtps2pd xmm0, xmm0
movsd qword [edi + eax + 0x10], xmm0
mov ecx, dword [esi + 0x1d34]
mov eax, dword [esp + 0x7c]
mov dword [edi + ecx + 0x18], eax
mov dword [edi + ecx + 0x1c], 0
mov eax, dword [esi + 0x1d34]
movsd xmm0, qword [edi + eax + 0x10]
movsd qword [esp], xmm0
push dword [edi + eax + 0x1c]
push dword [edi + eax + 0x18]
lea eax, [esp + 0x94]
push ebx
push str._____2d_____12lld____g_n
push 0x2000
push eax
call fcn.10067f00
lea eax, [esp + 0xa4]
mov byte [esp + 0x20a3], 0
push eax
push 0x101fa514
push esi
call fcn.10069fd0
inc ebx
lea edi, [edi + 0x10]
add esp, 0x2c
cmp ebx, dword [esi + 0x1d1c]
jl 0x1006d375
mov ebx, dword [esp + 0x18]
mov ecx, ebx
mov eax, dword [esi + 0x1d34]
and ecx, 0x20
or ecx, 0x540
shr ecx, 5
mov dword [eax], ecx
jmp 0x1006d82f
mov edi, dword [esp + 0x10]
test edi, edi
je 0x1006d833
cmp edi, 0x1fff
jae 0x1006deea
mov eax, edi
and eax, 1
add eax, edi
push eax
lea eax, [esp + 0x88]
push eax
push 0x101fa550
push esi
call fcn.10068580
mov eax, dword [esp + 0x20]
mov byte [esp + eax + 0x94], 0
lea eax, [esp + 0x94]
push eax
push dword [esp + 0x28]
push str.__M_:__s_n
push esi
call fcn.10069fd0
lea eax, [esp + 0xa4]
push eax
push 4
push esi
call fcn.1006aeb0
mov edi, dword [esp + 0x3c]
add esp, 0x2c
mov eax, edi
and eax, 1
add edi, eax
mov dword [esp + 0x10], edi
jmp 0x1006d833
mov edi, dword [esp + 0x10]
test edi, edi
je 0x1006d833
cmp edi, 0x1fff
jb 0x1006d4f6
push edi
push ecx
push str.__M_:__u__too_big__skipping__n
push esi
call fcn.10069fd0
mov ecx, dword [esp + 0x20]
and ecx, 1
add ecx, dword [esp + 0x20]
push ecx
push 0x101fb418
push esi
call fcn.10068580
add esp, 0x1c
jmp 0x1006d82f
cmp edi, 4
jae 0x1006d504
push edi
push ecx
push str.__M_:__d__too_small__skipping__n
jmp 0x1006d4d1
mov eax, edi
add edi, 0xfffffffc
and eax, 1
add eax, edi
push eax
lea eax, [esp + 0x88]
push eax
lea eax, [esp + 0x80]
push eax
push 0x101fb68c
push esi
call fcn.10068580
mov eax, dword [esp + 0x24]
add esp, 0x14
xor edi, edi
mov byte [esp + eax + 0x84], 0
mov eax, dword [esp + 0x10]
test eax, eax
jle 0x1006d578
nop dword [eax]
nop word [eax + eax]
movsx eax, byte [esp + edi + 0x84]
push eax
call fcn.10069ef0
add esp, 4
test eax, eax
mov eax, dword [esp + 0x10]
je 0x1006d570
inc edi
cmp edi, eax
jl 0x1006d550
jmp 0x1006d578
mov byte [esp + edi + 0x84], 0
lea ecx, [esp + 0x84]
push ecx
push dword [esp + 0x7c]
push eax
push dword [esp + 0x20]
push str.__M_:__d_n__AppSig_:__M_n__Name___:__s_n
push esi
call fcn.10069fd0
lea eax, [esp + 0x9c]
push eax
push 3
push esi
call fcn.1006aeb0
mov edi, dword [esp + 0x34]
add esp, 0x24
mov eax, edi
and eax, 1
add edi, eax
mov dword [esp + 0x10], edi
jmp 0x1006d833
cmp ecx, 0x52455646
ja 0x1006d944
je 0x1006d916
cmp ecx, 0x4e414843
ja 0x1006d8a5
je 0x1006d736
cmp ecx, 0x4d4d4f43
je 0x1006d6f2
cmp ecx, 0x4d524f46
jne 0x1006d968
test ebx, ebx
jne 0x1006e1d5
mov edi, dword [esp + 0x10]
mov eax, 1
mov dword [esp + 0x18], eax
lea eax, [esp + 0x14]
push eax
push 0x101fb3d8
push esi
call fcn.10068580
mov ecx, dword [esp + 0x20]
add esp, 0xc
cmp ecx, 0x43464941
je 0x1006d633
cmp ecx, 0x46464941
jne 0x1006d649
xor eax, eax
cmp ecx, 0x43464941
sete al
lea eax, [eax*4 + 3]
mov dword [esp + 0x18], eax
cmp dword [esi + 0x1d5c], 0
jl 0x1006d6a5
jg 0x1006d65d
cmp dword [esi + 0x1d58], 0
jbe 0x1006d6a5
mov edx, dword [esi + 0x1d54]
lea eax, [edi + 8]
mov ebx, dword [esi + 0x1d50]
test edx, edx
jl 0x1006d6b1
jg 0x1006d676
cmp ebx, eax
jbe 0x1006d6b1
mov dword [esi + 0x1d50], eax
mov dword [esi + 0x1d54], 0
push ecx
push edi
push str.FORM_:__u_n__M_n
push esi
call fcn.10069fd0
mov ebx, dword [esp + 0x28]
add esp, 0x10
xor edi, edi
mov dword [esp + 0x10], edi
jmp 0x1006d833
mov ebx, dword [esi + 0x1d50]
mov edx, dword [esi + 0x1d54]
mov eax, ebx
mov dword [esp + 0x1c], 0
sub eax, 8
sbb edx, 0
cmp edi, eax
jne 0x1006d6cb
cmp dword [esp + 0x1c], edx
je 0x1006d686
push ecx
lea eax, [ebx - 8]
push eax
push edi
push str.FORM_:__u__should_be__u__n__M_n
push esi
mov dword [esp + 0x24], eax
call fcn.10069fd0
mov ebx, dword [esp + 0x2c]
add esp, 0x14
xor edi, edi
mov dword [esp + 0x10], edi
jmp 0x1006d833
push esi
call fcn.1006b620
sub eax, 8
mov dword [edi], eax
sbb edx, 0
mov dword [edi + 4], edx
mov ecx, dword [esp + 0x14]
mov eax, ecx
and eax, 1
add ecx, eax
mov eax, dword [esp + 0x70]
push eax
push esi
mov dword [esp + 0x1c], ecx
mov dword [eax], ecx
call fcn.1006c6a0
add esp, 0xc
test eax, eax
jne 0x1006e209
or ebx, 0x10
mov dword [esp + 0x18], ebx
jmp 0x1006d82f
mov eax, dword [esp + 0x10]
push eax
push ecx
cmp eax, 0xc
jae 0x1006d763
push str.__M_:__d__should_be___12__n
push esi
call fcn.10069fd0
push dword [esp + 0x20]
push 0x101fb418
push esi
call fcn.10068580
add esp, 0x1c
jmp 0x1006d82f
push str.__M_:__d_n
push esi
call fcn.10069fd0
mov edi, dword [esp + 0x20]
lea eax, [esp + 0x8c]
push eax
lea eax, [esp + 0x94]
push eax
lea eax, [esp + 0x68]
push eax
push 0x101fbd1c
push esi
call fcn.10068580
push dword [esp + 0x74]
mov ebp, eax
call fcn.1009b080
mov ebx, eax
add esp, 0x28
test ebx, ebx
je 0x1006d827
push dword [esp + 0x50]
push str.__Tag____:__x_n
push esi
call fcn.10069fd0
push dword [ebx + 8]
push str.__Layout_:__s_n
push esi
call fcn.10069fd0
add esp, 0x18
cmp ebp, edi
jae 0x1006d7df
sub edi, ebp
push edi
push 0x101fb418
push esi
call fcn.10068580
add esp, 0xc
cmp dword [ebx + 4], 0
je 0x1006d827
movzx eax, word [esp + 0x50]
mov edi, dword [esi + 0x1d1c]
cmp edi, eax
push dword [esi + 0x1d4c]
cmovge edi, eax
shl edi, 2
call fcn.10115694
push edi
call fcn.10115a2f
add esp, 8
mov dword [esi + 0x1d4c], eax
test eax, eax
je 0x1006df32
push edi
push dword [ebx + 4]
push eax
call fcn.1010efe0
add esp, 0xc
mov ebp, dword [esp + 0x44]
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x10]
mov ecx, dword [esi + 0x1d54]
xor edx, edx
mov eax, dword [esi + 0x1d50]
cmp edx, ecx
jg 0x1006df54
jl 0x1006d853
cmp edi, eax
jae 0x1006df54
cmp dword [esi + 0x1d28], edx
jne 0x1006d864
test bl, 0x20
jne 0x1006df7f
push esi
call fcn.1006b620
mov edi, dword [esi + 0x1d50]
add esp, 4
mov ecx, dword [esi + 0x1d54]
sub edi, 8
sbb ecx, 0
cmp edx, ecx
jg 0x1006df7f
jl 0x1006d891
cmp eax, edi
jae 0x1006df7f
cmp dword [esp + 0x54], 0
jne 0x1006df7f
mov edi, dword [esp + 0x40]
jmp 0x1006cc26
cmp ecx, 0x4f4e4e41
jne 0x1006d968
mov edi, dword [esp + 0x10]
test edi, edi
je 0x1006d833
cmp edi, 0x1ffe
jae 0x1006deea
mov eax, edi
and eax, 1
add eax, edi
push eax
lea eax, [esp + 0x88]
push eax
push 0x101fa550
push esi
call fcn.10068580
mov eax, dword [esp + 0x20]
mov byte [esp + eax + 0x94], 0
lea eax, [esp + 0x94]
push eax
push dword [esp + 0x28]
push str.__M_:__s_n
push esi
call fcn.10069fd0
lea eax, [esp + 0xa4]
push eax
push 5
jmp 0x1006d499
or ebx, 8
mov dword [esp + 0x18], ebx
push dword [esp + 0x10]
push ecx
push str.__M_:__d_n
push esi
call fcn.10069fd0
push dword [esp + 0x20]
push 0x101fb418
push esi
call fcn.10068580
add esp, 0x1c
jmp 0x1006d82f
cmp ecx, 0x544d4f43
je 0x1006dddf
cmp ecx, 0x54534e49
je 0x1006daad
cmp ecx, 0x63736162
je 0x1006da84
mov eax, dword [esp + 0x10]
cmp eax, 0xffff0000
jb 0x1006d9a4
push eax
push esi
mov dword [esp + 0x5c], 1
call fcn.1006b620
add esp, 4
sub eax, 8
sbb edx, 0
push edx
push eax
push dword [esp + 0x20]
push str._Unknown_chunk_marker___X__at_position__D_with_length__u._Exiting_parser._n
push esi
call fcn.10069fd0
add esp, 0x18
jmp 0x1006d82f
shr ecx, 0x18
push ecx
call fcn.10069ef0
add esp, 4
test eax, eax
je 0x1006da1e
mov eax, dword [esp + 0x14]
shr eax, 0x10
movzx eax, al
push eax
call fcn.10069ef0
add esp, 4
test eax, eax
je 0x1006da1e
mov eax, dword [esp + 0x14]
shr eax, 8
movzx eax, al
push eax
call fcn.10069ef0
add esp, 4
test eax, eax
je 0x1006da1e
movzx eax, byte [esp + 0x14]
push eax
call fcn.10069ef0
add esp, 4
test eax, eax
je 0x1006da1e
push dword [esp + 0x10]
push dword [esp + 0x18]
push 0x101fb908
push esi
call fcn.10069fd0
push dword [esp + 0x20]
push 0x101fb418
push esi
call fcn.10068580
add esp, 0x1c
jmp 0x1006d82f
push esi
call fcn.1006b620
add esp, 4
and eax, 3
xor edx, edx
or eax, edx
push esi
je 0x1006da5e
call fcn.1006b620
sub eax, 8
sbb edx, 0
push edx
push eax
push str.__Unknown_chunk_marker_at_position__D._Resynching._n
push esi
call fcn.10069fd0
push 0xfffffffffffffffd
push 0x101fb418
push esi
call fcn.10068580
add esp, 0x20
jmp 0x1006d82f
call fcn.1006b620
push edx
push eax
push dword [esp + 0x20]
push str._Unknown_chunk_marker__X_at_position__D._Exiting_parser._n
push esi
call fcn.10069fd0
add esp, 0x18
mov dword [esp + 0x54], 1
jmp 0x1006d82f
push dword [esp + 0x10]
push str._basc_:__u_n
push esi
call fcn.10069fd0
push dword [esp + 0x1c]
push esi
call fcn.1006c430
add esp, 0x14
test eax, eax
jne 0x1006e209
jmp 0x1006d82f
mov eax, dword [esp + 0x10]
push 0x14
cmp eax, 0x14
je 0x1006dadc
push eax
push ecx
push str.__M_:__d__should_be__d__n
push esi
call fcn.10069fd0
push dword [esp + 0x24]
push 0x101fb418
push esi
call fcn.10068580
add esp, 0x20
jmp 0x1006d82f
push ecx
push str.__M_:__d_n
push esi
call fcn.10069fd0
add esp, 0x10
cmp dword [esi + 0x1d40], 0
jne 0x1006db07
call fcn.10069ed0
mov dword [esi + 0x1d40], eax
test eax, eax
je 0x1006df32
push 6
lea eax, [esp + 0x2088]
push eax
push 0x101fa550
push esi
call fcn.10068580
movzx eax, byte [esp + 0x2099]
push eax
movzx eax, byte [esp + 0x209c]
push eax
movzx eax, byte [esp + 0x209f]
push eax
movzx eax, byte [esp + 0x20a2]
push eax
movzx eax, byte [esp + 0x20a5]
push eax
movzx eax, byte [esp + 0x20a8]
push eax
push str.__Base_Note_:__u_n__Detune____:__u_n__Low__Note_:__u_n__High_Note_:__u_n__Low__Vel._:__u_n__High_Vel._:__u_n
push esi
call fcn.10069fd0
mov ecx, dword [esi + 0x1d40]
movzx eax, byte [esp + 0x20b4]
mov byte [ecx + 4], al
mov ecx, dword [esi + 0x1d40]
movzx eax, byte [esp + 0x20b5]
mov byte [ecx + 5], al
mov ecx, dword [esi + 0x1d40]
movzx eax, byte [esp + 0x20b6]
mov byte [ecx + 8], al
mov ecx, dword [esi + 0x1d40]
movzx eax, byte [esp + 0x20b7]
mov byte [ecx + 9], al
mov ecx, dword [esi + 0x1d40]
movzx eax, byte [esp + 0x20b8]
mov byte [ecx + 6], al
mov ecx, dword [esi + 0x1d40]
movzx eax, byte [esp + 0x20b9]
mov byte [ecx + 7], al
lea eax, [esp + 0x6c]
push eax
push 0x101fb5c0
push esi
call fcn.10068580
mov eax, dword [esi + 0x1d40]
movsx ecx, word [esp + 0x78]
mov dword [eax], ecx
movsx eax, word [esp + 0x78]
push eax
push str.__Gain__dB__:__d_n
push esi
call fcn.10069fd0
add esp, 0x48
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x28]
push eax
push str.E222
push esi
call fcn.10068580
movsx eax, word [esp + 0x34]
add esp, 0x14
mov ecx, eax
sub ecx, 0
je 0x1006dca7
sub ecx, 1
je 0x1006dc51
sub ecx, 1
je 0x1006dc45
mov edx, str._unknown
sub eax, 0
je 0x1006dcac
sub eax, 1
je 0x1006dc56
sub eax, 1
je 0x1006dc4a
jmp 0x1006dcac
mov edx, str.backward
mov eax, 0x322
jmp 0x1006dc5b
mov edx, str.forward
mov eax, 0x321
mov ecx, dword [esi + 0x1d40]
movzx eax, ax
mov dword [esp + 0x20], eax
mov dword [ecx + 0xc], 1
mov eax, dword [esi + 0x1d40]
mov dword [eax + 0x10], 0x321
mov eax, dword [esi + 0x1d40]
movzx ecx, word [esp + 0x28]
mov dword [eax + 0x14], ecx
mov eax, dword [esi + 0x1d40]
movzx ecx, word [esp + 0x24]
mov dword [eax + 0x18], ecx
mov eax, dword [esi + 0x1d40]
mov dword [eax + 0x1c], 0
jmp 0x1006dcce
mov edx, str.none
mov eax, dword [esi + 0x1d40]
mov dword [esp + 0x20], 0x320
mov dword [eax + 0xc], 0
mov eax, dword [esi + 0x1d40]
mov dword [eax + 0x10], 0x320
movzx eax, word [esp + 0x24]
push eax
movzx eax, word [esp + 0x2c]
push eax
movsx eax, word [esp + 0x28]
push edx
push eax
push str.__Sustain_n___mode__:__d____s_n___begin_:__u_n___end___:__u_n
push esi
call fcn.10069fd0
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x40]
push eax
push str.E222
push esi
call fcn.10068580
movsx eax, word [esp + 0x4c]
add esp, 0x2c
mov ecx, eax
sub ecx, 0
je 0x1006dd97
sub ecx, 1
je 0x1006dd45
sub ecx, 1
je 0x1006dd39
mov edx, str._unknown
sub eax, 0
je 0x1006dd9c
sub eax, 1
je 0x1006dd4a
sub eax, 1
je 0x1006dd3e
jmp 0x1006dd9c
mov edx, str.backward
mov eax, 0x322
jmp 0x1006dd4f
mov edx, str.forward
mov eax, 0x321
mov ecx, dword [esi + 0x1d40]
movzx eax, ax
mov dword [esp + 0x20], eax
inc dword [ecx + 0xc]
mov eax, dword [esi + 0x1d40]
mov dword [eax + 0x20], 0x321
mov eax, dword [esi + 0x1d40]
movzx ecx, word [esp + 0x28]
mov dword [eax + 0x24], ecx
mov eax, dword [esi + 0x1d40]
movzx ecx, word [esp + 0x24]
mov dword [eax + 0x28], ecx
mov eax, dword [esi + 0x1d40]
mov dword [eax + 0x2c], 0
jmp 0x1006ddb5
mov edx, str.none
mov ecx, dword [esi + 0x1d40]
mov eax, 0x320
movzx eax, ax
mov dword [esp + 0x20], eax
mov dword [ecx + 0x20], 0x320
movzx eax, word [esp + 0x24]
push eax
movzx eax, word [esp + 0x2c]
push eax
movsx eax, word [esp + 0x28]
push edx
push eax
push str.__Release_n___mode__:__d____s_n___begin_:__u_n___end___:__u_n
push esi
call fcn.10069fd0
add esp, 0x18
inc dword [esp + 0x58]
jmp 0x1006d82f
mov edi, dword [esp + 0x10]
test edi, edi
je 0x1006d833
lea eax, [esp + 0x38]
push eax
push 0x101fb5c0
push esi
call fcn.10068580
sub edi, eax
movzx eax, word [esp + 0x44]
push eax
push dword [esp + 0x20]
push dword [esp + 0x28]
push str.__M_:__d_n__count__:__d_n
push esi
call fcn.10069fd0
xor eax, eax
add esp, 0x20
xor ebx, ebx
cmp ax, word [esp + 0x38]
jae 0x1006dec4
nop dword [eax + eax]
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x68]
push eax
push str.E422
push esi
call fcn.10068580
sub edi, eax
movzx eax, word [esp + 0x48]
push eax
movzx eax, word [esp + 0x60]
push eax
push dword [esp + 0x7c]
push str.___time___:_0x_x_n___marker_:__x_n___length_:__d_n
push esi
call fcn.10069fd0
movzx ecx, word [esp + 0x5c]
add esp, 0x28
lea eax, [ecx + 1]
push ecx
cmp eax, 0x2000
ja 0x1006df3c
lea eax, [esp + 0x88]
push eax
push 0x101fa550
push esi
call fcn.10068580
sub edi, eax
movzx eax, word [esp + 0x44]
mov byte [esp + eax + 0x94], 0
lea eax, [esp + 0x94]
push eax
push str.___string_:__s_n
push esi
call fcn.10069fd0
movzx eax, word [esp + 0x54]
inc ebx
add esp, 0x1c
cmp ebx, eax
jl 0x1006de30
test edi, edi
je 0x1006d82b
push edi
push 0x101fb418
push esi
call fcn.10068580
add esp, 0xc
jmp 0x1006d82b
mov eax, 0x5b
jmp 0x1006e209
push edi
push ecx
push str.__M_:__d__too_big__n
push esi
call fcn.10069fd0
add esp, 0x10
mov eax, 0x1d
jmp 0x1006e209
push ecx
push 0x101fb418
push esi
call fcn.10068580
push str._File_PEAK_chunk_too_big._n
push esi
call fcn.10069fd0
add esp, 0x14
mov eax, 0x43
jmp 0x1006e209
mov eax, 0x57
jmp 0x1006e209
mov eax, 0x11
jmp 0x1006e209
push str._nError_:_string_length___d__too_big._n
push esi
call fcn.10069fd0
add esp, 0xc
mov eax, 0x1d
jmp 0x1006e209
push ecx
push eax
push edi
push str._Chunk_size__u___file_length__D._Exiting_parser._n
push esi
call fcn.10069fd0
add esp, 0x14
jmp 0x1006df7f
push esi
call fcn.1006b620
push edx
push eax
push edx
push eax
push str.Have_0_marker_at_position__D__0x_x_._n
push esi
call fcn.10069fd0
add esp, 0x1c
cmp dword [esp + 0x58], 0
je 0x1006e1ad
cmp dword [esp + 0x5c], 0
je 0x1006e1ad
mov edi, dword [esi + 0x1d40]
xor ebx, ebx
cmp dword [edi + 0xc], ebx
jle 0x1006e031
xor edx, edx
cmp ebx, 0x10
jge 0x1006e01e
mov eax, dword [esp + 0x40]
xor ecx, ecx
mov eax, dword [eax + 0x14]
test ebp, ebp
jle 0x1006dfcf
movzx edi, word [edi + edx + 0x14]
nop
cmp word [eax + ecx*8], di
je 0x1006e175
inc ecx
cmp ecx, ebp
jl 0x1006dfc0
mov eax, dword [esi + 0x1d40]
xor ecx, ecx
mov dword [edx + eax + 0x14], 0
mov eax, dword [esp + 0x40]
mov edi, dword [eax + 0x14]
test ebp, ebp
jle 0x1006e004
mov eax, dword [esi + 0x1d40]
movzx eax, word [edx + eax + 0x18]
cmp word [edi + ecx*8], ax
je 0x1006e191
inc ecx
cmp ecx, ebp
jl 0x1006dff5
xor ecx, ecx
mov eax, dword [esi + 0x1d40]
mov dword [edx + eax + 0x18], ecx
mov eax, dword [esi + 0x1d40]
mov dword [edx + eax + 0x10], 0x321
mov edi, dword [esi + 0x1d40]
inc ebx
add edx, 0x10
cmp ebx, dword [edi + 0xc]
jl 0x1006dfa8
mov edx, dword [esi + 0x1d38]
mov ebp, dword [edi + 0xc]
add ebp, ebp
mov ecx, dword [edx]
cmp ecx, ebp
jbe 0x1006e19a
mov eax, ecx
xor ebx, ebx
sub eax, ebp
je 0x1006e16a
xor ebp, ebp
mov eax, dword [edi + 0xc]
lea eax, [ebx + eax*2]
imul eax, eax, 0x118
mov eax, dword [eax + edx + 4]
mov dword [edx + ebp + 4], eax
mov eax, dword [esi + 0x1d40]
mov ecx, dword [esi + 0x1d38]
mov eax, dword [eax + 0xc]
lea eax, [ebx + eax*2]
imul eax, eax, 0x118
mov eax, dword [eax + ecx + 8]
mov dword [ecx + ebp + 8], eax
mov eax, dword [esi + 0x1d40]
mov ecx, dword [esi + 0x1d38]
mov eax, dword [eax + 0xc]
lea eax, [ebx + eax*2]
imul eax, eax, 0x118
mov eax, dword [eax + ecx + 0xc]
mov dword [ecx + ebp + 0xc], eax
mov eax, dword [esi + 0x1d40]
mov ecx, dword [esi + 0x1d38]
mov eax, dword [eax + 0xc]
lea eax, [ebx + eax*2]
imul eax, eax, 0x118
mov eax, dword [eax + ecx + 0x10]
mov dword [ecx + ebp + 0x10], eax
mov eax, dword [esi + 0x1d40]
mov ecx, dword [esi + 0x1d38]
mov eax, dword [eax + 0xc]
lea eax, [ebx + eax*2]
imul eax, eax, 0x118
mov eax, dword [eax + ecx + 0x14]
mov dword [ecx + ebp + 0x14], eax
mov eax, dword [esi + 0x1d40]
mov ecx, dword [esi + 0x1d38]
mov eax, dword [eax + 0xc]
lea eax, [ebx + eax*2]
imul eax, eax, 0x118
xor edi, edi
mov eax, dword [eax + ecx + 0x18]
mov dword [ecx + ebp + 0x18], eax
nop word [eax + eax]
mov eax, dword [esi + 0x1d40]
lea ecx, [edi + ebp]
mov edx, dword [esi + 0x1d38]
mov eax, dword [eax + 0xc]
lea eax, [ebx + eax*2]
imul eax, eax, 0x118
add eax, edi
inc edi
mov al, byte [eax + edx + 0x1c]
mov byte [ecx + edx + 0x1c], al
cmp edi, 0x100
jl 0x1006e110
mov edi, dword [esi + 0x1d40]
inc ebx
mov edx, dword [esi + 0x1d38]
add ebp, 0x118
mov ecx, dword [edi + 0xc]
mov eax, dword [edx]
add ecx, ecx
mov dword [esp + 0x60], eax
sub eax, ecx
cmp ebx, eax
jb 0x1006e054
mov ecx, dword [esp + 0x60]
mov eax, dword [edi + 0xc]
add eax, eax
sub ecx, eax
mov dword [edx], ecx
jmp 0x1006e1ad
mov ecx, dword [eax + ecx*8 + 4]
mov eax, dword [esi + 0x1d40]
mov dword [edx + eax + 0x14], ecx
xor ecx, ecx
mov eax, dword [esp + 0x40]
mov edi, dword [eax + 0x14]
jmp 0x1006dfea
mov ecx, dword [edi + ecx*8 + 4]
jmp 0x1006e006
push edx
call fcn.10115694
add esp, 4
mov dword [esi + 0x1d38], 0
mov eax, dword [esi + 0x1d1c]
cmp eax, 1
jge 0x1006e1bf
mov eax, 0x20
jmp 0x1006e209
cmp eax, 0x400
jle 0x1006e1cd
mov eax, 0x21
jmp 0x1006e209
mov eax, dword [esp + 0x18]
test al, 1
jne 0x1006e1dc
mov eax, 0x50
jmp 0x1006e209
test al, 2
jne 0x1006e1e7
mov eax, 0x52
jmp 0x1006e209
test al, 0x10
jne 0x1006e1f2
mov eax, 0x53
jmp 0x1006e209
mov eax, dword [esi + 0x1d68]
or eax, dword [esi + 0x1d6c]
jne 0x1006e207
mov eax, 0x5a
jmp 0x1006e209
xor eax, eax
mov ecx, dword [esp + 0x208c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1010d06f
add esp, 0x2080
ret