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

Disassembly:
mov eax, 0x2080
call fcn.100a0400
mov eax, dword [0x10259b00]
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 0x1000d8a1
jg 0x1000d893
cmp dword [esi + 0x1d50], 0xffffffff
jbe 0x1000d8a1
push str.Warning_:_filelength___0xffffffff._This_is_bad_____n
push esi
call fcn.1000ac80
add esp, 8
mov edi, dword [esi + 0x1da8]
mov dword [esp + 0x40], edi
test edi, edi
je 0x1000ebba
push 0
push 0x101742e4
push esi
mov dword [edi], ebx
mov dword [edi + 4], ebx
mov dword [edi + 8], ebx
mov dword [edi + 0xc], ebx
call fcn.10009230
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.10009230
add esp, 0x14
cmp dword [esp + 0x14], 0
je 0x1000ec27
cmp dword [esi + 0x90c], 0x30
jne 0x1000d933
test bl, 0x20
jne 0x1000eba0
push dword [esp + 0x10]
push esi
call fcn.1000c2d0
add esp, 4
push edx
push eax
push dword [esp + 0x20]
lea eax, [esi + 0x1e4c]
push eax
call fcn.1002ec70
mov ecx, dword [esp + 0x28]
add esp, 0x14
cmp ecx, 0x4c505041
ja 0x1000e27b
je 0x1000e176
cmp ecx, 0x454e4f4e
ja 0x1000dc9f
je 0x1000dc6d
cmp ecx, 0x444e5353
ja 0x1000dbfc
je 0x1000da36
cmp ecx, 0x20296328
je 0x1000d9a8
cmp ecx, 0x21584653
je 0x1000e5dd
jmp 0x1000e628
mov edi, dword [esp + 0x10]
test edi, edi
je 0x1000e4f3
cmp edi, 0x2000
jae 0x1000ebaa
mov eax, edi
and eax, 1
add eax, edi
push eax
lea eax, [esp + 0x88]
push eax
push 0x10173450
push esi
call fcn.10009230
mov eax, dword [esp + 0x20]
mov byte [esp + eax + 0x94], 0
lea eax, [esp + 0x94]
push dword [esp + 0x20]
push eax
call fcn.1000ba10
lea eax, [esp + 0x9c]
push eax
push dword [esp + 0x30]
push str.__M_:__s_n
push esi
call fcn.1000ac80
lea eax, [esp + 0xac]
push eax
push 2
push esi
call fcn.1000bb60
mov edi, dword [esp + 0x44]
add esp, 0x34
mov eax, edi
and eax, 1
add edi, eax
mov dword [esp + 0x10], edi
jmp 0x1000e4f3
mov eax, ebx
and al, 0xc
cmp al, 4
jne 0x1000da4c
push str._Valid_AIFC_files_should_have_an_FVER_chunk._n
push esi
call fcn.1000ac80
add esp, 8
push esi
call fcn.1000c2d0
sub eax, 8
mov dword [edi + 8], eax
lea eax, [esp + 0x6c]
push eax
lea eax, [esp + 0x6c]
sbb edx, 0
push eax
push 0x101743ac
mov dword [edi + 0xc], edx
mov edi, dword [esp + 0x20]
push esi
call fcn.10009230
lea eax, [edi - 8]
mov dword [esi + 0x1d74], 0
push esi
mov dword [esi + 0x1d70], eax
call fcn.1000c2d0
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 0x1000daec
jl 0x1000dac5
cmp edx, ecx
ja 0x1000daec
test ebx, ebx
jl 0x1000daec
jg 0x1000dacf
test edx, edx
jb 0x1000daec
push edi
push str._SSND_:__u_n
push esi
call fcn.1000ac80
mov edi, dword [esi + 0x1d68]
add esp, 0xc
mov ebx, dword [esi + 0x1d6c]
jmp 0x1000db2b
add ecx, 8
adc eax, 0
push eax
push ecx
push edi
push str._SSND_:__u__should_be__D__n
push esi
call fcn.1000ac80
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 0x1000db5c
xor ecx, ecx
mov eax, edx
add eax, edi
adc ecx, ebx
cmp eax, dword [esp + 0x68]
jne 0x1000db45
test ecx, ecx
je 0x1000db5c
push edx
push str.__Offset_____:__u_n
push esi
call fcn.1000ac80
push dword [esp + 0x74]
push str.__Block_Size_:__u_____n
jmp 0x1000db71
push edx
push str.__Offset_____:__u_n
push esi
call fcn.1000ac80
push dword [esp + 0x74]
push str.__Block_Size_:__u_n
push esi
call fcn.1000ac80
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 0x1000dbd2
jl 0x1000dbc6
cmp ecx, dword [esi + 0x1d50]
jae 0x1000dbd2
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 0x1000e4ef
push 0
push edx
push ecx
push esi
call fcn.1000c210
add esp, 0x10
jmp 0x1000e4ef
cmp ecx, 0x454d414e
jne 0x1000e628
mov edi, dword [esp + 0x10]
test edi, edi
je 0x1000e4f3
cmp edi, 0x1ffe
jae 0x1000ebaa
mov eax, edi
and eax, 1
add eax, edi
push eax
lea eax, [esp + 0x88]
push eax
push 0x10173450
push esi
call fcn.10009230
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.1000ac80
lea eax, [esp + 0xa4]
push eax
push 1
jmp 0x1000e159
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.1000ac80
push dword [esp + 0x20]
push 0x10174358
push esi
call fcn.10009230
add esp, 0x1c
jmp 0x1000e4ef
cmp ecx, 0x48545541
je 0x1000e0f9
cmp ecx, 0x4b414550
je 0x1000df47
cmp ecx, 0x4b52414d
jne 0x1000e628
push dword [esp + 0x10]
push ecx
push str.__M_:__d_n
push esi
call fcn.1000ac80
lea eax, [esp + 0x2c]
mov dword [esp + 0x2c], 0
push eax
push 0x10174500
push esi
call fcn.10009230
movzx ebp, word [esp + 0x38]
mov ebx, eax
push ebp
push str.__Count_:__u_n
push esi
mov dword [esp + 0x6c], ebp
call fcn.1000ac80
add esp, 0x28
cmp dword [edi + 0x14], 0
je 0x1000dd21
push str._Second_MARK_chunk_found._Throwing_away_the_first._n
push esi
call fcn.1000ac80
push dword [edi + 0x14]
call fcn.100a80a4
add esp, 0xc
push 8
push ebp
call fcn.100a52d3
add esp, 8
mov dword [edi + 0x14], eax
test eax, eax
je 0x1000ebf2
cmp ebp, 0x9c4
jbe 0x1000dd64
push str.__More_than_2500_markers__skipping__n
push esi
call fcn.1000ac80
mov eax, dword [esp + 0x18]
sub eax, ebx
push eax
push 0x10174358
push esi
call fcn.10009230
add esp, 0x14
jmp 0x1000e4eb
mov eax, dword [esi + 0x1d38]
test eax, eax
je 0x1000dd81
push eax
call fcn.100a80a4
add esp, 4
mov dword [esi + 0x1d38], 0
push ebp
call fcn.1000a680
add esp, 4
mov dword [esi + 0x1d38], eax
test eax, eax
je 0x1000ebf2
mov dword [esp + 0x1c], 0
test ebp, ebp
je 0x1000df29
nop dword [eax + eax]
mov eax, dword [esp + 0x10]
cmp ebx, eax
jae 0x1000df2d
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.10009230
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.1000ac80
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 0x1000de93
inc edi
push edi
lea eax, [esp + 0x88]
push eax
push 0x10173450
push esi
call fcn.10009230
add ebx, eax
mov byte [esp + edi + 0x94], 0
lea eax, [esp + 0x94]
push eax
push str.___Name_____:__s_n
push esi
call fcn.1000ac80
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.1000ba40
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 0x1000ddb0
mov eax, dword [esp + 0x10]
inc dword [esp + 0x5c]
sub eax, ebx
push eax
push 0x10174358
push esi
call fcn.10009230
add esp, 0xc
jmp 0x1000e4eb
mov eax, ebx
and eax, 0x13
cmp al, 0x13
jne 0x1000ebe8
push dword [esp + 0x10]
push ecx
push str._M_:__d_n
push esi
call fcn.1000ac80
mov eax, dword [esi + 0x1d1c]
add esp, 0x10
mov ecx, dword [esp + 0x10]
lea eax, [eax*8 + 8]
cmp ecx, eax
jne 0x1000ebc4
cmp dword [esi + 0x1d34], 0
je 0x1000dfac
push str._Found_existing_peak_info__using_last_one._n
push esi
call fcn.1000ac80
push dword [esi + 0x1d34]
call fcn.100a80a4
add esp, 0xc
mov dword [esi + 0x1d34], 0
mov eax, dword [esi + 0x1d1c]
inc eax
shl eax, 4
push eax
push 1
call fcn.100a52d3
add esp, 8
mov dword [esi + 0x1d34], eax
test eax, eax
je 0x1000ebf2
lea ecx, [eax + 8]
add eax, 4
push ecx
push eax
push 0x101743ac
push esi
call fcn.10009230
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.1000ac80
mov eax, dword [esi + 0x1d34]
push dword [eax + 8]
push str.__time_stamp_:__d_n
push esi
call fcn.1000ac80
push str.____Ch___Position_______Value_n
push esi
call fcn.1000ac80
xor ebx, ebx
add esp, 0x30
cmp dword [esi + 0x1d1c], ebx
jle 0x1000e0da
xor edi, edi
lea eax, [esp + 0x74]
push eax
lea eax, [esp + 0x74]
push eax
push 0x10174428
push esi
call fcn.10009230
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.10008bb0
lea eax, [esp + 0xa4]
mov byte [esp + 0x20a3], 0
push eax
push 0x10173414
push esi
call fcn.1000ac80
inc ebx
lea edi, [edi + 0x10]
add esp, 0x2c
cmp ebx, dword [esi + 0x1d1c]
jl 0x1000e035
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 0x1000e4ef
mov edi, dword [esp + 0x10]
test edi, edi
je 0x1000e4f3
cmp edi, 0x1fff
jae 0x1000ebaa
mov eax, edi
and eax, 1
add eax, edi
push eax
lea eax, [esp + 0x88]
push eax
push 0x10173450
push esi
call fcn.10009230
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.1000ac80
lea eax, [esp + 0xa4]
push eax
push 4
push esi
call fcn.1000bb60
mov edi, dword [esp + 0x3c]
add esp, 0x2c
mov eax, edi
and eax, 1
add edi, eax
mov dword [esp + 0x10], edi
jmp 0x1000e4f3
mov edi, dword [esp + 0x10]
test edi, edi
je 0x1000e4f3
cmp edi, 0x1fff
jb 0x1000e1b6
push edi
push ecx
push str.__M_:__u__too_big__skipping__n
push esi
call fcn.1000ac80
mov ecx, dword [esp + 0x20]
and ecx, 1
add ecx, dword [esp + 0x20]
push ecx
push 0x10174358
push esi
call fcn.10009230
add esp, 0x1c
jmp 0x1000e4ef
cmp edi, 4
jae 0x1000e1c4
push edi
push ecx
push str.__M_:__d__too_small__skipping__n
jmp 0x1000e191
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 0x101745cc
push esi
call fcn.10009230
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 0x1000e238
nop dword [eax]
nop word [eax + eax]
movsx eax, byte [esp + edi + 0x84]
push eax
call fcn.1000aba0
add esp, 4
test eax, eax
mov eax, dword [esp + 0x10]
je 0x1000e230
inc edi
cmp edi, eax
jl 0x1000e210
jmp 0x1000e238
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.1000ac80
lea eax, [esp + 0x9c]
push eax
push 3
push esi
call fcn.1000bb60
mov edi, dword [esp + 0x34]
add esp, 0x24
mov eax, edi
and eax, 1
add edi, eax
mov dword [esp + 0x10], edi
jmp 0x1000e4f3
cmp ecx, 0x52455646
ja 0x1000e604
je 0x1000e5d6
cmp ecx, 0x4e414843
ja 0x1000e565
je 0x1000e3f6
cmp ecx, 0x4d4d4f43
je 0x1000e3b2
cmp ecx, 0x4d524f46
jne 0x1000e628
test ebx, ebx
jne 0x1000ee95
mov edi, dword [esp + 0x10]
mov eax, 1
mov dword [esp + 0x18], eax
lea eax, [esp + 0x14]
push eax
push 0x10174318
push esi
call fcn.10009230
mov ecx, dword [esp + 0x20]
add esp, 0xc
cmp ecx, 0x43464941
je 0x1000e2f3
cmp ecx, 0x46464941
jne 0x1000e309
xor eax, eax
cmp ecx, 0x43464941
sete al
lea eax, [eax*4 + 3]
mov dword [esp + 0x18], eax
cmp dword [esi + 0x1d5c], 0
jl 0x1000e365
jg 0x1000e31d
cmp dword [esi + 0x1d58], 0
jbe 0x1000e365
mov edx, dword [esi + 0x1d54]
lea eax, [edi + 8]
mov ebx, dword [esi + 0x1d50]
test edx, edx
jl 0x1000e371
jg 0x1000e336
cmp ebx, eax
jbe 0x1000e371
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.1000ac80
mov ebx, dword [esp + 0x28]
add esp, 0x10
xor edi, edi
mov dword [esp + 0x10], edi
jmp 0x1000e4f3
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 0x1000e38b
cmp dword [esp + 0x1c], edx
je 0x1000e346
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.1000ac80
mov ebx, dword [esp + 0x2c]
add esp, 0x14
xor edi, edi
mov dword [esp + 0x10], edi
jmp 0x1000e4f3
push esi
call fcn.1000c2d0
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.1000d350
add esp, 0xc
test eax, eax
jne 0x1000eec9
or ebx, 0x10
mov dword [esp + 0x18], ebx
jmp 0x1000e4ef
mov eax, dword [esp + 0x10]
push eax
push ecx
cmp eax, 0xc
jae 0x1000e423
push str.__M_:__d__should_be___12__n
push esi
call fcn.1000ac80
push dword [esp + 0x20]
push 0x10174358
push esi
call fcn.10009230
add esp, 0x1c
jmp 0x1000e4ef
push str.__M_:__d_n
push esi
call fcn.1000ac80
mov edi, dword [esp + 0x20]
lea eax, [esp + 0x8c]
push eax
lea eax, [esp + 0x94]
push eax
lea eax, [esp + 0x68]
push eax
push 0x10174c5c
push esi
call fcn.10009230
push dword [esp + 0x74]
mov ebp, eax
call fcn.1003bd60
mov ebx, eax
add esp, 0x28
test ebx, ebx
je 0x1000e4e7
push dword [esp + 0x50]
push str.__Tag____:__x_n
push esi
call fcn.1000ac80
push dword [ebx + 8]
push str.__Layout_:__s_n
push esi
call fcn.1000ac80
add esp, 0x18
cmp ebp, edi
jae 0x1000e49f
sub edi, ebp
push edi
push 0x10174358
push esi
call fcn.10009230
add esp, 0xc
cmp dword [ebx + 4], 0
je 0x1000e4e7
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.100a80a4
push edi
call fcn.100a843f
add esp, 8
mov dword [esi + 0x1d4c], eax
test eax, eax
je 0x1000ebf2
push edi
push dword [ebx + 4]
push eax
call fcn.100a1aa0
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 0x1000ec14
jl 0x1000e513
cmp edi, eax
jae 0x1000ec14
cmp dword [esi + 0x1d28], edx
jne 0x1000e524
test bl, 0x20
jne 0x1000ec3f
push esi
call fcn.1000c2d0
mov edi, dword [esi + 0x1d50]
add esp, 4
mov ecx, dword [esi + 0x1d54]
sub edi, 8
sbb ecx, 0
cmp edx, ecx
jg 0x1000ec3f
jl 0x1000e551
cmp eax, edi
jae 0x1000ec3f
cmp dword [esp + 0x54], 0
jne 0x1000ec3f
mov edi, dword [esp + 0x40]
jmp 0x1000d8e6
cmp ecx, 0x4f4e4e41
jne 0x1000e628
mov edi, dword [esp + 0x10]
test edi, edi
je 0x1000e4f3
cmp edi, 0x1ffe
jae 0x1000ebaa
mov eax, edi
and eax, 1
add eax, edi
push eax
lea eax, [esp + 0x88]
push eax
push 0x10173450
push esi
call fcn.10009230
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.1000ac80
lea eax, [esp + 0xa4]
push eax
push 5
jmp 0x1000e159
or ebx, 8
mov dword [esp + 0x18], ebx
push dword [esp + 0x10]
push ecx
push str.__M_:__d_n
push esi
call fcn.1000ac80
push dword [esp + 0x20]
push 0x10174358
push esi
call fcn.10009230
add esp, 0x1c
jmp 0x1000e4ef
cmp ecx, 0x544d4f43
je 0x1000ea9f
cmp ecx, 0x54534e49
je 0x1000e76d
cmp ecx, 0x63736162
je 0x1000e744
mov eax, dword [esp + 0x10]
cmp eax, 0xffff0000
jb 0x1000e664
push eax
push esi
mov dword [esp + 0x5c], 1
call fcn.1000c2d0
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.1000ac80
add esp, 0x18
jmp 0x1000e4ef
shr ecx, 0x18
push ecx
call fcn.1000aba0
add esp, 4
test eax, eax
je 0x1000e6de
mov eax, dword [esp + 0x14]
shr eax, 0x10
movzx eax, al
push eax
call fcn.1000aba0
add esp, 4
test eax, eax
je 0x1000e6de
mov eax, dword [esp + 0x14]
shr eax, 8
movzx eax, al
push eax
call fcn.1000aba0
add esp, 4
test eax, eax
je 0x1000e6de
movzx eax, byte [esp + 0x14]
push eax
call fcn.1000aba0
add esp, 4
test eax, eax
je 0x1000e6de
push dword [esp + 0x10]
push dword [esp + 0x18]
push 0x10174848
push esi
call fcn.1000ac80
push dword [esp + 0x20]
push 0x10174358
push esi
call fcn.10009230
add esp, 0x1c
jmp 0x1000e4ef
push esi
call fcn.1000c2d0
add esp, 4
and eax, 3
xor edx, edx
or eax, edx
push esi
je 0x1000e71e
call fcn.1000c2d0
sub eax, 8
sbb edx, 0
push edx
push eax
push str.__Unknown_chunk_marker_at_position__D._Resynching._n
push esi
call fcn.1000ac80
push 0xfffffffffffffffd
push 0x10174358
push esi
call fcn.10009230
add esp, 0x20
jmp 0x1000e4ef
call fcn.1000c2d0
push edx
push eax
push dword [esp + 0x20]
push str._Unknown_chunk_marker__X_at_position__D._Exiting_parser._n
push esi
call fcn.1000ac80
add esp, 0x18
mov dword [esp + 0x54], 1
jmp 0x1000e4ef
push dword [esp + 0x10]
push str._basc_:__u_n
push esi
call fcn.1000ac80
push dword [esp + 0x1c]
push esi
call fcn.1000d0e0
add esp, 0x14
test eax, eax
jne 0x1000eec9
jmp 0x1000e4ef
mov eax, dword [esp + 0x10]
push 0x14
cmp eax, 0x14
je 0x1000e79c
push eax
push ecx
push str.__M_:__d__should_be__d__n
push esi
call fcn.1000ac80
push dword [esp + 0x24]
push 0x10174358
push esi
call fcn.10009230
add esp, 0x20
jmp 0x1000e4ef
push ecx
push str.__M_:__d_n
push esi
call fcn.1000ac80
add esp, 0x10
cmp dword [esi + 0x1d40], 0
jne 0x1000e7c7
call fcn.1000ab80
mov dword [esi + 0x1d40], eax
test eax, eax
je 0x1000ebf2
push 6
lea eax, [esp + 0x2088]
push eax
push 0x10173450
push esi
call fcn.10009230
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.1000ac80
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 0x10174500
push esi
call fcn.10009230
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.1000ac80
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.10009230
movsx eax, word [esp + 0x34]
add esp, 0x14
mov ecx, eax
sub ecx, 0
je 0x1000e967
sub ecx, 1
je 0x1000e911
sub ecx, 1
je 0x1000e905
mov edx, str._unknown
sub eax, 0
je 0x1000e96c
sub eax, 1
je 0x1000e916
sub eax, 1
je 0x1000e90a
jmp 0x1000e96c
mov edx, str.backward
mov eax, 0x322
jmp 0x1000e91b
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 0x1000e98e
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.1000ac80
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.10009230
movsx eax, word [esp + 0x4c]
add esp, 0x2c
mov ecx, eax
sub ecx, 0
je 0x1000ea57
sub ecx, 1
je 0x1000ea05
sub ecx, 1
je 0x1000e9f9
mov edx, str._unknown
sub eax, 0
je 0x1000ea5c
sub eax, 1
je 0x1000ea0a
sub eax, 1
je 0x1000e9fe
jmp 0x1000ea5c
mov edx, str.backward
mov eax, 0x322
jmp 0x1000ea0f
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 0x1000ea75
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.1000ac80
add esp, 0x18
inc dword [esp + 0x58]
jmp 0x1000e4ef
mov edi, dword [esp + 0x10]
test edi, edi
je 0x1000e4f3
lea eax, [esp + 0x38]
push eax
push 0x10174500
push esi
call fcn.10009230
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.1000ac80
xor eax, eax
add esp, 0x20
xor ebx, ebx
cmp ax, word [esp + 0x38]
jae 0x1000eb84
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.10009230
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.1000ac80
movzx ecx, word [esp + 0x5c]
add esp, 0x28
lea eax, [ecx + 1]
push ecx
cmp eax, 0x2000
ja 0x1000ebfc
lea eax, [esp + 0x88]
push eax
push 0x10173450
push esi
call fcn.10009230
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.1000ac80
movzx eax, word [esp + 0x54]
inc ebx
add esp, 0x1c
cmp ebx, eax
jl 0x1000eaf0
test edi, edi
je 0x1000e4eb
push edi
push 0x10174358
push esi
call fcn.10009230
add esp, 0xc
jmp 0x1000e4eb
mov eax, 0x5b
jmp 0x1000eec9
push edi
push ecx
push str.__M_:__d__too_big__n
push esi
call fcn.1000ac80
add esp, 0x10
mov eax, 0x1d
jmp 0x1000eec9
push ecx
push 0x10174358
push esi
call fcn.10009230
push str._File_PEAK_chunk_too_big._n
push esi
call fcn.1000ac80
add esp, 0x14
mov eax, 0x43
jmp 0x1000eec9
mov eax, 0x57
jmp 0x1000eec9
mov eax, 0x11
jmp 0x1000eec9
push str._nError_:_string_length___d__too_big._n
push esi
call fcn.1000ac80
add esp, 0xc
mov eax, 0x1d
jmp 0x1000eec9
push ecx
push eax
push edi
push str._Chunk_size__u___file_length__D._Exiting_parser._n
push esi
call fcn.1000ac80
add esp, 0x14
jmp 0x1000ec3f
push esi
call fcn.1000c2d0
push edx
push eax
push edx
push eax
push str.Have_0_marker_at_position__D__0x_x_._n
push esi
call fcn.1000ac80
add esp, 0x1c
cmp dword [esp + 0x58], 0
je 0x1000ee6d
cmp dword [esp + 0x5c], 0
je 0x1000ee6d
mov edi, dword [esi + 0x1d40]
xor ebx, ebx
cmp dword [edi + 0xc], ebx
jle 0x1000ecf1
xor edx, edx
cmp ebx, 0x10
jge 0x1000ecde
mov eax, dword [esp + 0x40]
xor ecx, ecx
mov eax, dword [eax + 0x14]
test ebp, ebp
jle 0x1000ec8f
movzx edi, word [edi + edx + 0x14]
nop
cmp word [eax + ecx*8], di
je 0x1000ee35
inc ecx
cmp ecx, ebp
jl 0x1000ec80
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 0x1000ecc4
mov eax, dword [esi + 0x1d40]
movzx eax, word [edx + eax + 0x18]
cmp word [edi + ecx*8], ax
je 0x1000ee51
inc ecx
cmp ecx, ebp
jl 0x1000ecb5
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 0x1000ec68
mov edx, dword [esi + 0x1d38]
mov ebp, dword [edi + 0xc]
add ebp, ebp
mov ecx, dword [edx]
cmp ecx, ebp
jbe 0x1000ee5a
mov eax, ecx
xor ebx, ebx
sub eax, ebp
je 0x1000ee2a
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 0x1000edd0
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 0x1000ed14
mov ecx, dword [esp + 0x60]
mov eax, dword [edi + 0xc]
add eax, eax
sub ecx, eax
mov dword [edx], ecx
jmp 0x1000ee6d
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 0x1000ecaa
mov ecx, dword [edi + ecx*8 + 4]
jmp 0x1000ecc6
push edx
call fcn.100a80a4
add esp, 4
mov dword [esi + 0x1d38], 0
mov eax, dword [esi + 0x1d1c]
cmp eax, 1
jge 0x1000ee7f
mov eax, 0x20
jmp 0x1000eec9
cmp eax, 0x400
jle 0x1000ee8d
mov eax, 0x21
jmp 0x1000eec9
mov eax, dword [esp + 0x18]
test al, 1
jne 0x1000ee9c
mov eax, 0x50
jmp 0x1000eec9
test al, 2
jne 0x1000eea7
mov eax, 0x52
jmp 0x1000eec9
test al, 0x10
jne 0x1000eeb2
mov eax, 0x53
jmp 0x1000eec9
mov eax, dword [esi + 0x1d68]
or eax, dword [esi + 0x1d6c]
jne 0x1000eec7
mov eax, 0x5a
jmp 0x1000eec9
xor eax, eax
mov ecx, dword [esp + 0x208c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1009fd88
add esp, 0x2080
ret