Function at 0x437ef0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x478dbc
mov eax, dword fs:[0]
push eax
sub esp, 0xac
mov eax, dword [0x4a100c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x84], edi
mov eax, dword [ebp + 8]
push 0x40
mov dword [ebp - 0x68], eax
call fcn.004717ef
push 0x40
mov esi, eax
push 0
push esi
mov dword [ebp - 0x98], esi
call fcn.00474f2d
add esp, 0x10
mov ecx, esi
push 0x7374626c
call fcn.0041edb0
mov ecx, dword [ebp - 0x68]
push 0x50
mov dword [ecx], eax
call fcn.004717ef
mov esi, eax
mov dword [ebp - 0x80], esi
push 0x50
push 0
push esi
mov dword [ebp - 4], 0
call fcn.00474f2d
mov dword [esi + 8], 0x73747364
add esp, 0x10
mov dword [esi + 0xc], 0xc
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov word [esi + 0x18], 1
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
mov dword [esi + 0x28], vtable.AP4_AtomParent.0
mov dword [esi + 0x2c], vtable.AP4_List_class_AP4_Atom_.0
mov dword [esi + 0x30], 0
mov dword [esi + 0x34], 0
mov dword [esi + 0x38], 0
mov dword [esi], vtable.AP4_StsdAtom.0
mov dword [esi + 0x28], vtable.AP4_StsdAtom.1.0
mov dword [esi + 0x40], vtable.AP4_Array_class_AP4_SampleDescription__.0
mov dword [esi + 0x44], 0
mov dword [esi + 0x48], 0
mov dword [esi + 0x4c], 0
mov eax, esi
mov byte [ebp - 4], 2
mov ecx, edi
add dword [eax + 0xc], 4
mov eax, dword [edi]
mov eax, dword [eax + 0x14]
call eax
push eax
lea ecx, [esi + 0x40]
mov dword [ebp - 0x78], eax
call fcn.00409950
xor edi, edi
mov dword [ebp - 0x7c], edi
cmp dword [ebp - 0x78], edi
jbe 0x4380c0
mov eax, dword [esi + 0x48]
mov ecx, dword [esi + 0x44]
inc eax
cmp ecx, eax
jae 0x43804b
test ecx, ecx
je 0x438034
add ecx, ecx
jmp 0x438039
mov ecx, 0x40
cmp ecx, eax
cmovae eax, ecx
lea ecx, [esi + 0x40]
push eax
call fcn.00409950
test eax, eax
jne 0x438060
mov ecx, dword [esi + 0x48]
mov eax, dword [esi + 0x4c]
lea edx, [eax + ecx*4]
lea eax, [ecx + 1]
mov dword [esi + 0x48], eax
mov dword [edx], 0
mov ecx, dword [ebp - 0x84]
push edi
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
mov ecx, eax
mov edx, dword [eax]
mov eax, dword [edx + 0xc]
call eax
mov edi, eax
mov ecx, edi
mov edx, dword [edi]
mov edx, dword [edx + 0x24]
call edx
test eax, eax
jne 0x4380b0
mov ecx, dword [ebp - 0x80]
push edi
lea ecx, [ecx + 0x2c]
call fcn.00404870
test eax, eax
jne 0x4380b0
mov ecx, dword [ebp - 0x80]
mov eax, dword [edi]
add ecx, 0x28
push ecx
mov ecx, edi
call dword [eax + 0x20]
mov ecx, dword [ebp - 0x80]
add ecx, 0x28
push edi
mov eax, dword [ecx]
call dword [eax + 0x20]
mov edi, dword [ebp - 0x7c]
inc edi
mov dword [ebp - 0x7c], edi
cmp edi, dword [ebp - 0x78]
jb 0x438021
push 0x48
mov dword [ebp - 4], 0xffffffff
call fcn.004717ef
push 0x48
mov esi, eax
push 0
push esi
mov dword [ebp - 0x94], esi
call fcn.00474f2d
mov dword [esi + 8], 0x73747473
mov dword [esi + 0xc], 0x10
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov word [esi + 0x18], 1
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
mov dword [esi], vtable.AP4_SttsAtom.0
mov dword [esi + 0x28], vtable.AP4_Array_class_AP4_SttsTableEntry_.0
mov dword [esi + 0x2c], 0
mov dword [esi + 0x30], 0
mov dword [esi + 0x34], 0
push 0x40
mov dword [esi + 0x38], 0
mov dword [esi + 0x3c], 0
mov dword [esi + 0x40], 0
mov dword [esi + 0x44], 0
call fcn.004717ef
push 0x40
mov esi, eax
push 0
push esi
mov dword [ebp - 0x78], esi
call fcn.00474f2d
mov dword [esi + 8], 0x73747363
mov dword [esi + 0xc], 0x10
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov word [esi + 0x18], 1
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
mov dword [esi], vtable.AP4_StscAtom.0
mov dword [esi + 0x28], vtable.AP4_Array_class_AP4_StscTableEntry_.0
mov dword [esi + 0x2c], 0
mov dword [esi + 0x30], 0
mov dword [esi + 0x34], 0
push 0x40
mov dword [esi + 0x38], 0
call fcn.004717ef
push 0x40
mov esi, eax
push 0
push esi
mov dword [ebp - 0xb8], esi
call fcn.00474f2d
mov dword [esi + 8], 0x7374737a
mov dword [esi + 0xc], 0x14
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov word [esi + 0x18], 1
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
mov dword [esi], vtable.AP4_StszAtom.0
mov dword [esi + 0x28], 0
mov dword [esi + 0x2c], 0
push 0x40
mov dword [esi + 0x30], vtable.AP4_Array_unsigned_int_.0
mov dword [esi + 0x34], 0
mov dword [esi + 0x38], 0
mov dword [esi + 0x3c], 0
call fcn.004717ef
push 0x40
mov esi, eax
push 0
push esi
mov dword [ebp - 0x7c], esi
call fcn.00474f2d
add esp, 0x40
mov dword [esi + 8], 0x73747373
mov dword [esi + 0xc], 0x10
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
lea ecx, [esi + 0x28]
mov word [esi + 0x18], 1
mov dword [esi + 0x1c], 0
xorps xmm0, xmm0
mov dword [esi + 0x20], 0
xor edi, edi
mov dword [esi], vtable.AP4_StssAtom.0
xor esi, esi
movups xmmword [ebp - 0x20], xmm0
mov dword [ebp - 0x9c], ecx
mov dword [ecx], vtable.AP4_Array_unsigned_int_.0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov dword [ebp - 0xb0], esi
mov dword [ebp - 0x88], esi
movlpd qword [ebp - 0xac], xmm0
mov dword [ebp - 0x64], esi
mov dword [ebp - 0xa4], esi
mov dword [ebp - 0xa0], esi
mov dword [ebp - 0x8c], esi
mov dword [ebp - 0x90], esi
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x20], vtable.AP4_Array_unsigned_long_long_unsigned___int64__.0
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x14], esi
mov ecx, dword [ebp - 0x84]
mov dword [ebp - 4], 3
mov byte [ebp - 0x59], 0
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov dword [ebp - 0xb4], eax
test eax, eax
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0x6c], edi
mov dword [ebp - 0x74], eax
je 0x43865d
push 0x30
lea eax, [ebp - 0x58]
push 0
push eax
call fcn.00474f2d
xorps xmm0, xmm0
mov dword [ebp - 0x58], 0
add esp, 0xc
movlpd qword [ebp - 0x50], xmm0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0
movlpd qword [ebp - 0x38], xmm0
mov dword [ebp - 0x30], 0
mov byte [ebp - 0x2c], 1
mov edx, dword [ebp - 0x84]
lea ecx, [ebp - 0x58]
push ecx
mov ecx, dword [ebp - 0x6c]
mov byte [ebp - 4], 4
mov eax, dword [edx]
push ecx
mov ecx, edx
call dword [eax + 0xc]
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x8c]
mov dword [ebp - 0x98], eax
cmp eax, edx
je 0x4383c6
test ecx, ecx
je 0x4383c6
mov eax, dword [ebp - 0x94]
push edx
push ecx
mov ecx, dword [ebp - 0x94]
mov eax, dword [eax]
call dword [eax + 0x34]
mov eax, dword [ebp - 0x98]
xor ecx, ecx
inc ecx
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x8c], ecx
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0x98], eax
cmp eax, dword [ebp - 0x90]
je 0x4384d3
test ecx, ecx
je 0x4384d3
test esi, esi
jne 0x438473
push 0x40
call fcn.004717ef
push 0x40
mov esi, eax
push 0
push esi
mov dword [ebp - 0xa8], esi
call fcn.00474f2d
mov dword [esi + 8], 0x63747473
add esp, 0x10
mov dword [esi + 0xc], 0x10
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov word [esi + 0x18], 1
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
mov dword [esi], vtable.AP4_CttsAtom.0
mov dword [esi + 0x28], vtable.AP4_Array_class_AP4_CttsTableEntry_.0
mov dword [esi + 0x2c], 0
mov dword [esi + 0x30], 0
mov dword [esi + 0x34], 0
mov dword [esi + 0x38], 0
mov dword [esi + 0x3c], 0
mov eax, dword [esi + 0x30]
lea edx, [esi + 0x28]
mov ecx, dword [edx + 4]
inc eax
cmp ecx, eax
jae 0x4384a2
test ecx, ecx
je 0x438489
add ecx, ecx
jmp 0x43848e
mov ecx, 0x40
cmp ecx, eax
cmovae eax, ecx
mov ecx, edx
push eax
call fcn.0041f8c0
test eax, eax
jne 0x4384bf
lea edx, [esi + 0x28]
mov ecx, dword [edx + 8]
mov eax, dword [edx + 0xc]
lea edx, [eax + ecx*8]
lea eax, [ecx + 1]
mov dword [esi + 0x30], eax
mov eax, dword [ebp - 0x60]
mov dword [edx], eax
mov eax, dword [ebp - 0x90]
mov dword [edx + 4], eax
add dword [esi + 0xc], 8
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x60], 0
mov ecx, dword [ebp - 0x60]
push dword [ebp - 0x48]
inc ecx
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x60], ecx
mov ecx, dword [ebp - 0xb8]
mov eax, dword [ecx]
call dword [eax + 0x3c]
cmp byte [ebp - 0x2c], 0
je 0x438554
mov edx, dword [ebp - 0x9c]
mov eax, dword [edx + 8]
mov ecx, dword [edx + 4]
inc eax
cmp ecx, eax
jae 0x438526
test ecx, ecx
je 0x43850a
add ecx, ecx
jmp 0x43850f
mov ecx, 0x40
cmp ecx, eax
cmovae eax, ecx
mov ecx, edx
push eax
call fcn.00409950
test eax, eax
jne 0x438541
mov edx, dword [ebp - 0x9c]
mov ecx, dword [edx + 8]
mov eax, dword [edx + 0xc]
lea edx, [eax + ecx*4]
lea eax, [ecx + 1]
mov ecx, dword [ebp - 0x9c]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x6c]
inc eax
mov dword [edx], eax
mov eax, dword [ebp - 0x7c]
add dword [eax + 0xc], 4
cmp dword [ebp - 0x6c], 0
jne 0x438558
mov byte [ebp - 0x59], 1
jmp 0x438558
mov byte [ebp - 0x59], 0
mov ecx, dword [ebp - 0x84]
lea edx, [ebp - 0x28]
push edx
lea edx, [ebp - 0x24]
mov dword [ebp - 0x24], 0
push edx
mov eax, dword [ecx]
push dword [ebp - 0x6c]
mov dword [ebp - 0x28], 0
mov eax, dword [eax + 0x10]
call eax
test eax, eax
jne 0x43861b
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0xb0]
je 0x438615
cmp dword [ebp - 0x64], 0
je 0x438615
mov ecx, dword [ebp - 0x1c]
lea eax, [edi + 1]
cmp ecx, eax
jae 0x4385c7
test ecx, ecx
je 0x4385ad
add ecx, ecx
jmp 0x4385b2
mov ecx, 0x40
cmp ecx, eax
cmovae eax, ecx
lea ecx, [ebp - 0x20]
push eax
call fcn.0041f8c0
mov edi, dword [ebp - 0x18]
test eax, eax
jne 0x4385dc
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x74]
lea eax, [eax + edi*8]
inc edi
mov dword [eax], ecx
mov ecx, dword [ebp - 0x70]
mov dword [ebp - 0x18], edi
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x74]
add eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x78]
adc dword [ebp - 0x70], 0
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0xa4]
mov edx, dword [ecx]
inc eax
push eax
push dword [ebp - 0x64]
push 1
call dword [edx + 0x34]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x88], 0
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0x40]
inc dword [ebp - 0x64]
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0x88]
add eax, dword [ebp - 0x48]
mov dword [ebp - 0x88], eax
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x58]
test ecx, ecx
je 0x438646
mov eax, dword [ecx]
call dword [eax + 8]
mov eax, dword [ebp - 0x6c]
inc eax
mov byte [ebp - 4], 3
mov dword [ebp - 0x6c], eax
cmp eax, dword [ebp - 0xb4]
jb 0x438331
cmp dword [ebp - 0xb4], 0
je 0x43867d
mov ecx, dword [ebp - 0x94]
push dword [ebp - 0xa0]
push dword [ebp - 0x8c]
mov eax, dword [ecx]
call dword [eax + 0x34]
test esi, esi
je 0x4386d1
mov eax, dword [esi + 0x30]
lea edx, [esi + 0x28]
mov ecx, dword [edx + 4]
inc eax
cmp ecx, eax
jae 0x4386b0
test ecx, ecx
je 0x438697
add ecx, ecx
jmp 0x43869c
mov ecx, 0x40
cmp ecx, eax
cmovae eax, ecx
mov ecx, edx
push eax
call fcn.0041f8c0
test eax, eax
jne 0x4386cd
lea edx, [esi + 0x28]
mov ecx, dword [edx + 8]
mov eax, dword [edx + 0xc]
lea edx, [eax + ecx*8]
lea eax, [ecx + 1]
mov dword [esi + 0x30], eax
mov eax, dword [ebp - 0x60]
mov dword [edx], eax
mov eax, dword [ebp - 0x90]
mov dword [edx + 4], eax
add dword [esi + 0xc], 8
cmp dword [ebp - 0x64], 0
je 0x43872d
mov ecx, dword [ebp - 0x1c]
lea eax, [edi + 1]
cmp ecx, eax
jae 0x438703
test ecx, ecx
je 0x4386e9
add ecx, ecx
jmp 0x4386ee
mov ecx, 0x40
cmp ecx, eax
cmovae eax, ecx
lea ecx, [ebp - 0x20]
push eax
call fcn.0041f8c0
mov edi, dword [ebp - 0x18]
test eax, eax
jne 0x438718
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x74]
lea eax, [eax + edi*8]
inc edi
mov dword [eax], ecx
mov ecx, dword [ebp - 0x70]
mov dword [ebp - 0x18], edi
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x78]
mov eax, dword [ebp - 0xa4]
inc eax
push eax
push dword [ebp - 0x64]
mov edx, dword [ecx]
push 1
call dword [edx + 0x34]
mov eax, dword [ebp - 0x68]
push 0xffffffffffffffff
push dword [ebp - 0x80]
mov ecx, dword [eax]
mov eax, dword [ecx + 0x28]
add ecx, 0x28
call dword [eax + 4]
mov ecx, dword [ebp - 0x68]
push 0xffffffffffffffff
push dword [ebp - 0x94]
mov ecx, dword [ecx]
add ecx, 0x28
mov eax, dword [ecx]
call dword [eax + 4]
test esi, esi
je 0x43876a
mov eax, dword [ebp - 0x68]
push 0xffffffffffffffff
push esi
mov ecx, dword [eax]
mov eax, dword [ecx + 0x28]
add ecx, 0x28
call dword [eax + 4]
mov esi, dword [ebp - 0x68]
push 0xffffffffffffffff
push dword [ebp - 0x78]
mov ecx, dword [esi]
add ecx, 0x28
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [esi]
add ecx, 0x28
push 0xffffffffffffffff
push dword [ebp - 0xb8]
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0x59], 0
mov edx, dword [ebp - 0x7c]
jne 0x4387ac
cmp dword [edx + 0x30], 0
je 0x4387ac
mov ecx, dword [esi]
add ecx, 0x28
push 0xffffffffffffffff
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x4387b4
mov eax, dword [edx]
mov ecx, edx
push 1
call dword [eax]
cmp dword [ebp - 0x70], 0
ja 0x4388a8
jb 0x4387ca
cmp dword [ebp - 0x74], 0xffffffff
ja 0x4388a8
xor ecx, ecx
mov eax, edi
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004717e6
add esp, 4
mov dword [ebp - 0x28], eax
xor edx, edx
test edi, edi
je 0x4387fc
mov esi, dword [ebp - 0x14]
mov ecx, dword [esi + edx*8]
mov dword [eax + edx*4], ecx
inc edx
cmp edx, edi
jb 0x4387f1
push 0x30
call fcn.004717ef
mov esi, eax
mov dword [ebp - 0xa8], esi
push 0x30
push 0
push esi
call fcn.00474f2d
lea ecx, [edi*4 + 0x10]
mov dword [esi + 8], 0x7374636f
mov dword [esi + 0xc], ecx
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov word [esi + 0x18], 1
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
xor ecx, ecx
mov byte [ebp - 4], 7
mov eax, edi
mov dword [esi], vtable.AP4_StcoAtom.0
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004717e6
lea ecx, [edi*4]
mov dword [esi + 0x2c], edi
mov edi, dword [ebp - 0x28]
push ecx
push edi
push eax
mov dword [esi + 0x28], eax
call fcn.00474f39
mov eax, dword [ebp - 0x68]
add esp, 0x20
mov byte [ebp - 4], 3
mov ecx, dword [eax]
mov eax, dword [ecx + 0x28]
add ecx, 0x28
push 0xffffffffffffffff
push esi
call dword [eax + 4]
push edi
call fcn.004717e1
add esp, 4
jmp 0x438945
push 0x30
call fcn.004717ef
mov esi, eax
mov dword [ebp - 0xa8], esi
push 0x30
push 0
push esi
call fcn.00474f2d
lea ecx, [edi*8 + 0x10]
mov dword [esi + 8], 0x636f3634
mov dword [esi + 0xc], ecx
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov word [esi + 0x18], 1
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
xor ecx, ecx
mov byte [ebp - 4], 9
mov eax, edi
mov dword [esi], vtable.AP4_Co64Atom.0
mov edx, 8
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004717e6
lea ecx, [edi*8]
mov dword [esi + 0x28], eax
push ecx
push dword [ebp - 0x14]
mov dword [esi + 0x2c], edi
push eax
call fcn.00474f39
mov eax, dword [ebp - 0x68]
add esp, 0x20
mov byte [ebp - 4], 3
mov ecx, dword [eax]
mov eax, dword [ecx + 0x28]
add ecx, 0x28
push 0xffffffffffffffff
push esi
call dword [eax + 4]
push dword [ebp - 0x14]
call fcn.0047181f
add esp, 4
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0047179f
mov esp, ebp
pop ebp
ret 4