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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0xb4
mov ecx, dword [ebp + 8]
push ebx
push esi
xor ebx, ebx
push edi
mov dword [esp + 0x14], ebx
mov byte [esp + 0x1b], bl
mov dword [esp + 0x44], ebx
call fcn.00434e90
test al, al
jne 0x4520c1
lea edi, [ebx - 0x2b]
jmp 0x452b02
push 4
call fcn.00554b50
mov esi, dword [ebp + 0xc]
add esp, 4
push 1
push 4
mov ecx, esi
mov dword [esp + 0x5c], eax
mov dword [esp + 0x58], ebx
call fcn.00433e60
mov eax, dword [eax + 4]
push 0x8000100
push eax
push ebx
call fcn.00555050
lea ecx, [esp + 0x5c]
push ecx
lea edx, [esp + 0x64]
push edx
push ebx
push ebx
push eax
call fcn.005549d0
mov edx, dword [esp + 0x70]
lea eax, [esp + 0x34]
push eax
mov eax, dword [esp + 0x78]
lea ecx, [esp + 0x68]
push ecx
push 0x90000000
push 0xffffffffffffffff
push 0x54564f44
push edx
push eax
call fcn.00554950
movzx edi, ax
add esp, 0x3c
cmp di, bx
je 0x452157
movsx ecx, di
push ecx
mov ecx, esi
call fcn.004354e0
mov edx, dword [ebp + 0x24]
push eax
mov eax, dword [edx + 8]
push str.__qtref_create_err__s___d__n
push eax
call fcn.00437100
add esp, 0x10
jmp 0x452b02
mov esi, dword [ebp + 0x18]
mov edi, 2
cmp dword [esi + 0xa0], edi
jne 0x452175
mov ecx, dword [esi + 0x1c0]
mov edx, dword [esp + 0x14]
push ecx
push edx
jmp 0x45218b
mov eax, dword [esi]
mov edx, dword [eax + 0x30]
lea ecx, [esp + 0x70]
push ecx
mov ecx, esi
call edx
mov eax, dword [eax]
mov ecx, dword [esp + 0x14]
push eax
push ecx
call fcn.00554330
mov eax, dword [esi + 0xa0]
mov ecx, dword [ebp + 0x24]
add esp, 8
mov dword [esp + 0x28], ebx
mov dword [esp + 0x4c], ebx
cmp eax, 3
jne 0x4521ba
push ecx
lea edx, [esp + 0x50]
push edx
push esi
call fcn.00453e60
add esp, 0xc
jmp 0x4521c8
cmp eax, edi
jne 0x4521cc
push ecx
push esi
call fcn.004553e0
add esp, 8
mov dword [esp + 0x28], eax
cmp dword [esi + 0x170], 0x414a5047
jne 0x452296
mov ax, word [esi + 0x178]
imul ax, word [esi + 0x154]
movzx ecx, ax
push 1
push ecx
call fcn.005551a0
movzx edx, word [esi + 0x150]
mov edi, eax
push 1
push edx
mov dword [esp + 0x50], edi
call fcn.005551a0
mov ecx, dword [esi + 0x174]
mov ebx, eax
mov eax, dword [ebp + 0x24]
push eax
push ecx
mov dword [esp + 0x60], ebx
call fcn.004539c0
add esp, 0x18
test al, al
je 0x4522d9
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x9c]
push edx
push eax
call fcn.00554370
push 1
push 0
call fcn.005551a0
add esp, 0x10
push eax
push 1
push 0
call fcn.005551a0
add esp, 8
push eax
push 1
push 2
call fcn.005551a0
add esp, 8
push eax
push 1
push 1
call fcn.005551a0
add esp, 8
push eax
lea ecx, [esp + 0xac]
push ecx
call fcn.00555180
mov eax, dword [esp + 0x28]
lea edx, [esp + 0xb0]
push edx
push eax
call fcn.00554390
add esp, 0x1c
jmp 0x4522d9
cmp dword [esi + 0xa0], edi
jne 0x4522ac
xor edi, edi
xor ebx, ebx
mov dword [esp + 0x40], edi
mov dword [esp + 0x48], ebx
jmp 0x4522d9
mov ecx, dword [ebp + 0x14]
sub ecx, dword [ebp + 0x10]
push 1
inc ecx
push ecx
call fcn.005551a0
mov edx, dword [ebp + 0x16]
sub edx, dword [ebp + 0x12]
mov edi, eax
inc edx
push 1
push edx
mov dword [esp + 0x50], edi
call fcn.005551a0
add esp, 0x10
mov ebx, eax
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0x14]
xor eax, eax
cmp dword [esi + 0xa0], 2
setne al
dec eax
and eax, 0x100
push eax
push edi
push ebx
push ecx
call fcn.005547f0
mov ebx, eax
add esp, 0x10
mov dword [esp + 0x5c], ebx
call fcn.005542d0
movzx edi, ax
test di, di
jne 0x452b02
cmp dword [esi + 0xa0], 2
push 0
push 0
jne 0x45232d
mov edx, dword [esi + 0x1c0]
push edx
push 0x736f756e
jmp 0x452337
push 0x258
push 0x76696465
push ebx
call fcn.00554810
add esp, 0x14
mov dword [esp + 0xc], eax
call fcn.005542d0
movzx edi, ax
test di, di
jne 0x452b02
cmp dword [esi + 0x170], 0x414a5047
jne 0x4523a4
call fcn.00555120
mov edi, eax
test edi, edi
je 0x4523a4
mov ax, word [esi + 0x178]
imul ax, word [esi + 0x154]
movzx edx, word [esi + 0x140]
movzx ecx, ax
mov eax, dword [esp + 0x4c]
push ecx
push edx
push eax
push 0
push edi
call fcn.00555160
push edi
push ebx
call fcn.005546f0
push edi
call fcn.00555140
add esp, 0x20
cmp dword [esi + 0xa0], 2
jne 0x4523b5
mov eax, dword [esi + 0x1c0]
jmp 0x4523c5
mov edx, dword [esi]
mov edx, dword [edx + 0x30]
lea eax, [esp + 0x70]
push eax
mov ecx, esi
call edx
mov eax, dword [eax]
push eax
mov eax, dword [esp + 0x10]
push eax
call fcn.00554490
add esp, 8
cmp dword [esp + 0x28], 0
je 0x452b2a
mov ecx, dword [esp + 0xc]
push ecx
call fcn.00554510
movzx edi, ax
add esp, 4
test di, di
jne 0x452b02
jmp 0x452400
xor ebx, ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x2c], ebx
mov edx, dword [esi]
mov eax, dword [edx + 0x48]
mov ecx, esi
xor edi, edi
call eax
cmp dword [esi + 0xa0], 2
mov dword [esp + 0x1c], eax
jne 0x45271c
mov edx, dword [esi]
mov edx, dword [edx + 0x30]
mov edi, dword [esi + 0x1c0]
lea eax, [esp + 0x78]
mov dword [esp + 0x24], ebx
push eax
mov ecx, esi
mov ebx, 1
call edx
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x78]
push eax
push ecx
push ebx
push edi
call fcn.0043d570
fstp qword [esp + 0x40]
mov edx, dword [esi]
mov eax, dword [edx + 0x48]
add esp, 0x10
mov ecx, esi
call eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], edx
fild qword [esp + 0x70]
sub esp, 8
fmul qword [esp + 0x38]
fadd qword [0x6eed50]
fstp qword [esp]
call fcn.00640800
add esp, 8
call fcn.00640060
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 0x5c]
mov ecx, eax
shr ecx, 0x14
test bl, cl
jne 0x4524a9
shr eax, 0x15
mov byte [esp + 0x1a], 0
test bl, al
je 0x4524ad
mov byte [esp + 0x1a], bl
fld qword [esp + 0x30]
mov edx, dword [esi + 0x1d8]
fmul qword [0x6ee5b8]
sub esp, 8
mov dword [esp + 0x44], edx
mov dword [esp + 0x28], 0
fadd qword [0x6eed50]
fstp qword [esp]
call fcn.00640800
add esp, 8
call fcn.00640060
cmp byte [esp + 0x1a], 0
mov ebx, eax
je 0x45256f
mov ebx, dword [esi + 0x1dc]
mov eax, dword [esi + 0x1e0]
mov dword [esp + 0x30], 0
mov dword [esp + 0x1c], eax
test ebx, ebx
jle 0x452561
mov eax, dword [esi + 0x1c8]
add eax, 7
cdq
and edx, 7
add eax, edx
mov edi, eax
sar edi, 3
imul edi, dword [esi + 0x1c4]
imul edi, ebx
push edi
call fcn.00554b70
mov edx, dword [esp + 0x2c]
lea ecx, [esp + 0x28]
push ecx
push 1
push ebx
push edx
push 1
push edi
push 0
push eax
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x30]
push eax
call fcn.005545d0
mov ecx, dword [esp + 0x48]
push ecx
call fcn.00554c10
add esp, 0x2c
add dword [esp + 0x24], ebx
mov edx, dword [esi + 0x1e4]
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x20], edx
mov edi, dword [esp + 0x1c]
cmp ebx, edi
mov byte [esp + 0x64], 1
jge 0x45268a
mov ecx, dword [esi + 0x1c0]
mov eax, edi
sub eax, ebx
cmp eax, ecx
mov dword [esp + 0x30], eax
jl 0x452596
mov dword [esp + 0x30], ecx
xor eax, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x2c], eax
mov ecx, dword [esi + 0xb8]
cmp ecx, eax
jne 0x4525ac
mov ecx, esi
mov eax, dword [esp + 0x64]
push eax
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x34]
push eax
mov eax, dword [esp + 0x48]
lea edx, [esp + 0x3c]
push edx
push edi
push ebx
push eax
call fcn.0044b2a0
test al, al
je 0x45265f
mov eax, dword [esp + 0x10]
mov byte [esp + 0x64], 0
test eax, eax
je 0x45268a
mov edx, dword [esp + 0x30]
lea ecx, [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x2c]
push 1
push edx
mov edx, dword [esp + 0x38]
push ecx
push 1
push edx
push 0
push eax
mov eax, dword [esp + 0x2c]
push eax
call fcn.005545d0
mov ecx, dword [esp + 0x34]
push ecx
movzx edi, ax
call fcn.00554c10
add esp, 0x28
test di, di
je 0x452641
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
push edx
mov edx, dword [ebp + 0x24]
push eax
mov eax, dword [edx + 8]
movsx ecx, di
push ecx
push str._AddMediaSample___failed__d___d___d__n
push eax
call fcn.00437100
add esp, 0x14
mov eax, dword [esp + 0x30]
add dword [esp + 0x24], eax
test di, di
jne 0x45268a
add ebx, eax
cmp ebx, dword [esp + 0x1c]
jge 0x45268a
mov edi, dword [esp + 0x1c]
jmp 0x452580
cmp ebx, edi
jge 0x45268a
mov ecx, dword [ebp + 0x24]
mov edx, dword [ecx + 8]
mov eax, edi
sub eax, ebx
push eax
push edi
push ebx
push str._insufficient_audio__d____d_padding__d_n
push edx
mov dword [esp + 0x44], eax
call fcn.00437100
mov eax, dword [esp + 0x44]
add esp, 0x14
add dword [esp + 0x20], eax
cmp dword [esp + 0x20], 0
jle 0x4526f1
mov eax, dword [esi + 0x1c8]
add eax, 7
cdq
and edx, 7
add eax, edx
mov edi, eax
sar edi, 3
imul edi, dword [esi + 0x1c4]
imul edi, dword [esp + 0x20]
push edi
call fcn.00554b70
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x14]
push 1
push edx
mov ebx, eax
mov eax, dword [esp + 0x38]
push eax
push 1
push edi
push 0
push ebx
push ecx
call fcn.005545d0
push ebx
call fcn.00554c10
mov ecx, dword [esp + 0x50]
add esp, 0x2c
add ecx, dword [esp + 0x20]
mov dword [esp + 0x24], ecx
jmp 0x4526f5
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
cmp ecx, eax
jge 0x4529b0
mov edx, dword [ebp + 0x24]
push eax
mov eax, dword [edx + 8]
push ecx
push str._insufficient_audio__d____d_n
push eax
call fcn.00437100
add esp, 0x10
jmp 0x4529b0
mov eax, dword [esi + 0x2d8]
cmp eax, ebx
je 0x452760
mov edi, dword [esi + 0x438]
mov edx, dword [esi]
sub edi, dword [eax + 0x438]
mov eax, dword [edx + 0x48]
mov ecx, esi
call eax
mov edx, dword [esi]
add eax, edi
mov dword [esp + 0x1c], eax
mov eax, dword [edx + 0x48]
mov ecx, esi
call eax
mov ecx, dword [ebp + 0x24]
mov edx, dword [ecx + 8]
push eax
push edi
push str._footage_start_frame__d___d__n
push edx
call fcn.00437100
add esp, 0x10
mov eax, dword [esi + 0xb8]
cmp eax, ebx
mov ebx, eax
jne 0x45276e
mov ebx, esi
mov eax, dword [ebx + 0x5c]
shr eax, 0xf
mov byte [esp + 0x58], 1
test al, 1
je 0x4528bb
push 1
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x34]
push edx
lea eax, [esp + 0x48]
push eax
push 1
push edi
push 0
mov ecx, ebx
mov dword [esp + 0x58], 1
call fcn.0044b2a0
test al, al
je 0x4528a3
cmp dword [esp + 0x10], 0
je 0x4527fb
mov edx, dword [esp + 0x28]
mov eax, dword [ebx]
lea ecx, [esp + 0x68]
push ecx
push 1
push 1
push edx
mov edx, dword [eax + 0x30]
lea ecx, [esp + 0xa4]
push ecx
mov ecx, ebx
call edx
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x20]
push ecx
push 0
push edx
push eax
call fcn.005545d0
mov ecx, dword [esp + 0x34]
push ecx
call fcn.00554c10
add esp, 0x28
mov edx, dword [esp + 0x68]
xor eax, eax
push eax
push eax
push 1
push eax
push eax
push eax
push eax
push edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x80], eax
lea eax, [esp + 0x80]
push eax
lea ecx, [esp + 0x90]
push ecx
push edx
call fcn.00554630
add esp, 0x2c
test ax, ax
jne 0x4529be
mov eax, dword [ebx]
mov edx, dword [eax + 0x48]
mov ecx, ebx
call edx
dec eax
cmp edi, eax
mov dword [esp + 0x1c], eax
jge 0x45298a
mov ecx, dword [esp + 0x28]
mov edx, dword [ebx]
mov edx, dword [edx + 0x30]
lea eax, [esp + 0x68]
push eax
push 1
push 1
push ecx
lea eax, [esp + 0x9c]
push eax
mov ecx, ebx
call edx
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x7c]
push eax
mov eax, dword [esp + 0x20]
push ecx
push edx
push eax
call fcn.005545f0
add esp, 0x20
test ax, ax
jne 0x45298a
inc edi
cmp edi, dword [esp + 0x1c]
jl 0x452854
jmp 0x45298a
mov ecx, dword [ebx + 0x18]
mov edx, dword [ebp + 0x24]
mov eax, dword [edx + 8]
push 1
push edi
push ecx
push str._foot__d__sample_req_failed__d__d__n
push eax
jmp 0x452982
cmp edi, dword [esp + 0x1c]
jge 0x45298a
mov ecx, dword [esp + 0x58]
push ecx
lea edx, [esp + 0x14]
push edx
lea ecx, [esp + 0x34]
push ecx
lea edx, [esp + 0x48]
push edx
push 1
xor eax, eax
push edi
push eax
mov ecx, ebx
mov dword [esp + 0x58], 1
mov dword [esp + 0x2c], eax
mov dword [esp + 0x48], eax
call fcn.0044b2a0
test al, al
je 0x45296f
cmp dword [esp + 0x10], 0
mov byte [esp + 0x58], 0
je 0x45298a
mov ecx, dword [esp + 0x28]
mov edx, dword [esi]
mov edx, dword [edx + 0x30]
lea eax, [esp + 0x80]
push eax
push 1
push 1
push ecx
lea eax, [esp + 0x94]
push eax
mov ecx, esi
call edx
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x20]
push ecx
push 0
push edx
push eax
call fcn.005545d0
mov edx, dword [esp + 0x34]
movzx ecx, ax
push edx
mov dword [esp + 0x48], ecx
call fcn.00554c10
add esp, 0x28
cmp word [esp + 0x20], 0
jne 0x45298a
inc edi
cmp edi, dword [esp + 0x1c]
jl 0x4528c5
jmp 0x45298a
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ecx + 8]
push 1
push edi
push eax
push str._foot__d__sample_req_failed__d__d__n
push edx
call fcn.00437100
add esp, 0x14
cmp dword [esi + 0xa0], 3
jne 0x4529b0
cmp edi, 1
jne 0x4529b0
mov eax, dword [esi]
mov edx, dword [eax + 0x48]
mov ecx, esi
call edx
test edx, edx
jl 0x4529b0
jg 0x4529ab
cmp eax, edi
jbe 0x4529b0
mov byte [esp + 0x1b], 1
mov esi, dword [esi + 0xb0]
test esi, esi
jne 0x452400
mov eax, dword [esp + 0xc]
push eax
call fcn.00554530
mov esi, dword [esp + 0x2c]
mov ecx, dword [esi]
mov edx, dword [ecx + 4]
mov ecx, dword [ebp + 0x18]
add esp, 4
push edx
movzx edi, ax
call fcn.0044afc0
push esi
call fcn.00554c10
add esp, 4
test di, di
jne 0x452b02
mov eax, dword [esp + 0xc]
push eax
call fcn.005544b0
mov ebx, dword [esp + 0x60]
push 0x10000
mov esi, eax
push esi
push 0
push 0
push ebx
call fcn.005547b0
add esp, 0x18
cmp byte [esp + 0x1b], 0
movzx edi, ax
je 0x452a3c
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx]
mov eax, dword [edx + 0x48]
call eax
imul eax, esi
push eax
push esi
push 0
push ebx
call fcn.00554650
add esp, 0x10
movzx edi, ax
test di, di
jne 0x452b02
mov ecx, dword [esp + 0x5c]
push 0x100
push 0
push 0
push 0
push ecx
call fcn.00554890
mov esi, dword [ebp + 0x18]
mov edx, dword [esp + 0x60]
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x10]
add esp, 0x14
push esi
push edx
mov edx, dword [esp + 0x14]
push eax
push ecx
push edx
call fcn.005544b0
mov ecx, dword [esp + 0x5c]
mov edx, dword [ebp + 0x1c]
add esp, 4
push eax
mov eax, dword [esp + 0x54]
push 0
push eax
mov eax, dword [esp + 0x30]
push ecx
push 1
push edx
push eax
call fcn.00452b60
mov edx, dword [esi]
mov edx, dword [edx + 0x30]
mov edi, dword [esi + 0x7c]
add esp, 0x2c
lea eax, [esp + 0x84]
push eax
mov ecx, esi
call edx
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
mov ecx, dword [esi + 0xa0]
sub ecx, 2
push edx
mov edx, dword [esp + 0x1c]
neg ecx
sbb ecx, ecx
lea eax, [esi + 0x438]
push eax
and ecx, 0x2f9eef7
push edi
add ecx, 0x736f756e
push ecx
push edx
call fcn.00455e50
mov eax, dword [esp + 0x2c]
push esi
push eax
call fcn.004511a0
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x34]
push ecx
push edx
call fcn.00554990
add esp, 0x28
movzx edi, ax
mov eax, dword [esp + 0x44]
push eax
call fcn.00554970
mov eax, dword [esp + 0x18]
add esp, 4
test eax, eax
je 0x452b20
push eax
call fcn.005542f0
add esp, 4
mov ax, di
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x170]
push eax
call fcn.00440e90
mov ecx, dword [ebp + 0x24]
mov edx, dword [ecx + 8]
push eax
push str._could_NOT_get_a_sampleDesc__s_n
push edx
call fcn.00437100
add esp, 0x10
mov edi, 0xffffff94
jmp 0x452b02