Function at 0x441ed0
Capabilities:
Access peb ldr_data
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x618621
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xcc
push ebx
push ebp
push esi
mov esi, dword [esp + 0xec]
push edi
mov ebp, ecx
lea ecx, [ebp + 8]
push esi
call fcn.00440fd0
mov eax, dword [esp + 0xec]
mov ecx, dword [eax + 0x40]
cmp dword [ecx + 0x14], 0xff
mov byte [esp + 0x16], 0
sete byte [esp + 0x15]
sub esp, 0x2f0
mov ecx, esp
mov byte [ebp + 0x691], 0
mov byte [ebp + 0x693], 0
mov dword [esp + 0x30c], esp
call fcn.0043ce90
mov ecx, dword [esp + 0x3e4]
push esi
call fcn.00441760
xor ebx, ebx
test esi, esi
mov dword [esp + 0x2c], ebx
jbe 0x442214
lea esp, [esp]
mov edx, dword [esp + 0xf4]
mov esi, ebx
mov edi, ebx
imul esi, esi, 0x2f0
add esi, dword [edx]
imul edi, edi, 0xf8
add edi, dword [esp + 0xec]
lea eax, [esi + 0x1c4]
push edi
mov ecx, esi
mov dword [esp + 0x14], esi
mov dword [esp + 0x1c], eax
call fcn.0043c8e0
lea ecx, [esi + 0xf8]
push edi
call fcn.0043c8e0
cmp byte [esp + 0x15], 0
je 0x441fb9
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0x14], 8
jmp 0x4421ee
test ebx, ebx
jne 0x4421ee
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x14]
cmp eax, 0x10001
mov dword [esp + 0x1c], eax
je 0x441fda
cmp eax, 0x10002
jne 0x441fdf
mov eax, 8
cmp eax, 0x39
sbb ebx, ebx
and ebx, eax
imul ebx, ebx, 0x34
add ebx, 0x6b0240
mov edi, dword [ebx + 0x10]
mov ecx, dword [ebx + 0x20]
mov edx, dword [ebx + 0x14]
add ecx, edi
mov eax, 1
shl eax, cl
mov ecx, dword [ebx + 0x24]
add ecx, edx
mov edx, 1
shl edx, cl
sub eax, 1
not eax
sub edx, 1
cmp byte [ebp + 0x36a], 0
not edx
je 0x442052
mov ecx, dword [ebp + 0x370]
or ecx, dword [ebp + 0x36c]
mov esi, eax
not esi
test esi, ecx
je 0x442039
mov byte [esp + 0x16], 1
mov ecx, dword [ebp + 0x378]
or ecx, dword [ebp + 0x374]
mov esi, edx
not esi
test esi, ecx
je 0x442052
mov byte [esp + 0x16], 1
mov esi, dword [ebp + 0x36c]
and esi, eax
mov ecx, edi
mov edi, dword [ebp + 0x370]
sar esi, cl
mov ecx, dword [ebx + 0x14]
and edi, edx
sar edi, cl
mov ecx, dword [ebp + 0x374]
and ecx, eax
mov dword [esp + 0x18], ecx
mov ecx, dword [ebx + 0x10]
mov eax, dword [esp + 0x18]
sar eax, cl
mov ecx, dword [ebx + 0x14]
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], eax
mov eax, dword [ebp + 0x378]
and eax, edx
mov edx, dword [esp + 0xec]
sar eax, cl
mov ecx, dword [ebx + 0x10]
mov dword [esp + 0x18], eax
mov eax, dword [edx + 0x10]
mov edx, dword [edx + 0x14]
sar eax, cl
mov ecx, dword [ebx + 0x14]
sar edx, cl
cmp esi, eax
jl 0x4420bf
lea esi, [eax - 1]
mov dword [esp + 0x20], esi
cmp edi, edx
jl 0x4420ca
lea edi, [edx - 1]
mov dword [esp + 0x24], edi
mov ecx, dword [esp + 0x28]
add ecx, esi
cmp ecx, eax
jl 0x4420dd
sub eax, esi
sub eax, 1
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x18]
add eax, edi
cmp eax, edx
jl 0x4420f0
sub edx, edi
sub edx, 1
mov dword [esp + 0x18], edx
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
add edi, 0x1c4
cmp eax, 0x10001
jne 0x442149
mov eax, dword [esp + 0x20]
mov dword [edi + 0x14], 8
mov ecx, dword [ebx + 0x14]
shl edx, cl
mov ecx, dword [ebx + 0x10]
shl eax, cl
lea ecx, [esp + 0x64]
push edx
push eax
push edi
push ecx
call fcn.005571c0
mov esi, eax
mov eax, dword [esp + 0x20]
add esp, 0x10
mov ecx, 0xa
add eax, 0x1c4
rep movsd dword es:[edi], dword [esi]
mov dword [eax + 0x14], 0x10001
jmp 0x4421b9
cmp eax, 0x10002
mov eax, dword [esp + 0x20]
jne 0x442193
mov dword [edi + 0x14], 8
mov ecx, dword [ebx + 0x14]
shl edx, cl
mov ecx, dword [ebx + 0x10]
shl eax, cl
lea ecx, [esp + 0x8c]
push edx
push eax
push edi
push ecx
call fcn.005571c0
mov esi, eax
mov eax, dword [esp + 0x20]
add esp, 0x10
mov ecx, 0xa
add eax, 0x1c4
rep movsd dword es:[edi], dword [esi]
mov dword [eax + 0x14], 0x10002
jmp 0x4421b9
mov ecx, dword [ebx + 0x14]
shl edx, cl
mov ecx, dword [ebx + 0x10]
shl eax, cl
lea ecx, [esp + 0xb4]
push edx
push eax
push edi
push ecx
call fcn.005571c0
mov ecx, 0xa
mov esi, eax
add esp, 0x10
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebx + 0x10]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x10]
add edx, eax
mov eax, dword [esp + 0x10]
shl edx, cl
mov ecx, dword [esp + 0x18]
add eax, 0x1c4
sub dword [eax + 8], edx
mov edx, dword [esp + 0x24]
add edx, ecx
mov ecx, dword [ebx + 0x14]
mov ebx, dword [esp + 0x2c]
shl edx, cl
sub dword [eax + 0xc], edx
lea ecx, [esi + 0xf8]
call fcn.0043cab0
add ebx, 1
cmp ebx, dword [esp + 0xf0]
mov byte [esi + 0x2e8], 0
mov dword [esp + 0x2c], ebx
jb 0x441f60
lea eax, [ebp + 0x6a8]
xor ecx, ecx
mov dword [ebp + 0x30], eax
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], ecx
mov dword [eax + 0x18], ecx
mov dword [eax + 0x1c], ecx
mov dword [ebp + 0x3c], ecx
mov dword [ebp + 0x40], ecx
mov dword [esp + 0x10], 1
jmp 0x442250
xor ebx, ebx
cmp dword [esp + 0xf0], ebx
jbe 0x4422fd
nop
mov eax, dword [esp + 0xf4]
mov edi, ebx
imul edi, edi, 0x2f0
add edi, dword [eax]
test ebx, ebx
je 0x44228c
mov edx, dword [ebp + 0x358]
mov ecx, ebx
imul ecx, ecx, 0xf8
lea esi, [edx + ecx - 0xf8]
jmp 0x44228f
lea esi, [ebp + 0x60]
lea eax, [edi + 0xf8]
push eax
mov ecx, esi
call fcn.0043c8e0
cmp byte [edi + 0x2e8], 0
je 0x4422d3
mov ecx, dword [esi + 0xd8]
mov edx, dword [esi + 0xd4]
mov eax, dword [esi + 0xe0]
push 0x10
push ecx
push edx
push eax
lea ecx, [esi + 0xcc]
push ecx
call fcn.00557280
add esp, 0x14
mov ecx, esi
call fcn.0043cab0
xor eax, eax
push esi
lea ecx, [edi + 0x1f0]
mov dword [esi + 0x28], eax
mov dword [esi + 0x2c], eax
mov dword [esi + 0x74], eax
mov dword [esi + 0x78], eax
call fcn.0043c8e0
add ebx, 1
cmp ebx, dword [esp + 0xf0]
jb 0x442260
lea esi, [ebp + 0x60]
push esi
lea ecx, [ebp + 0x3a8]
call fcn.0043c8e0
push esi
lea ecx, [ebp + 0x250]
call fcn.0043c8e0
xor edi, edi
push esi
lea ecx, [ebp + 0x158]
mov dword [ebp + 0x278], edi
mov dword [ebp + 0x27c], edi
call fcn.0043c8e0
mov cl, byte [esp + 0x15]
test cl, cl
mov dword [ebp + 0x180], edi
mov dword [ebp + 0x184], edi
mov dword [ebp + 0x1cc], edi
mov dword [ebp + 0x1d0], edi
je 0x442363
mov eax, 0xff
mov dword [ebp + 0x140], eax
mov dword [ebp + 0x238], eax
cmp dword [ebp + 0x6f8], 0x10
jl 0x442378
mov dword [ebp + 0x164], edi
mov dword [ebp + 0x234], edi
mov edx, dword [ebp + 8]
cmp dword [edx + 0x2c], edi
lea esi, [ebp + 8]
je 0x442487
mov eax, dword [ebp + 0x70c]
push 0x438
push str.._sourceFilterInstance.cpp
push eax
lea ecx, [esp + 0x4c]
call fcn.00415790
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
lea ecx, [esp + 0x30]
push ecx
lea ecx, [esp + 0x50]
mov dword [esp + 0xe8], 0
mov dword [esp + 0x34], str.._sourceFilterInstance.cpp
mov dword [esp + 0x38], 0x43a
mov dword [esp + 0x3c], str.preparing_filter___s_
mov dword [esp + 0x40], eax
call fcn.004f98b0
mov edi, dword fs:[0x14]
lea edx, [ebp + 0xb00]
mov dword [esp + 0x1c], edi
mov dword fs:[0x14], edx
mov eax, dword [esi]
mov ecx, dword [eax + 0x2c]
push 0x6af2dc
push esi
mov byte [esp + 0xec], 2
call ecx
mov edx, dword [esp + 0x58]
mov ebx, eax
push edx
mov dword [esp + 0x1c], ebx
mov dword fs:[0x14], edi
mov byte [esp + 0xf0], 0
mov dword [esp + 0x58], 0x627c10
call dword [0x6affb8]
add esp, 0xc
cmp dword [ebp + 0x6f8], 0x10
jl 0x442471
cmp ebx, 0xffffffff
je 0x442471
test bl, 2
je 0x442459
and ebx, 0xfffffffd
push str.A_V16_filter_cannot_request_a_last_frame_buffer.
mov ecx, ebp
mov dword [esp + 0x14], ebx
call fcn.0043e7d0
test bl, 4
jne 0x442471
or ebx, 4
push str.A_V16_filter_must_set_the_ALTFORMATS_flag.
mov ecx, ebp
mov dword [esp + 0x14], ebx
call fcn.0043e7d0
lea ecx, [esp + 0x40]
mov dword [esp + 0xe4], 0xffffffff
call fcn.004157c0
jmp 0x442497
test cl, cl
je 0x442493
mov dword [esp + 0x10], 0xffffffff
mov ebx, dword [esp + 0x10]
cmp byte [esp + 0x16], 0
je 0x4424aa
mov dword [esp + 0x10], 0xffffffff
mov ebx, dword [esp + 0x10]
mov eax, dword [ebp + 0x140]
push eax
call fcn.0043bf20
add esp, 4
test al, al
je 0x4424ca
cmp byte [ebp + 0x369], 0
jne 0x44256a
cmp ebx, 0xffffffff
je 0x442576
test bl, 8
je 0x44257d
xor edi, edi
cmp dword [esp + 0xf0], edi
mov byte [esp + 0x17], 0
jbe 0x44257d
mov ecx, dword [esp + 0xf4]
mov esi, edi
imul esi, esi, 0x2f0
add esi, dword [ecx]
test edi, edi
je 0x44251c
mov eax, dword [ebp + 0x358]
mov edx, edi
imul edx, edx, 0xf8
lea ecx, [edx + eax - 0xf8]
jmp 0x44251f
lea ecx, [ebp + 0x60]
mov edx, dword [ecx + 0xe0]
push edx
call fcn.0043bf20
add esp, 4
test al, al
jne 0x442551
add ecx, 0xcc
push ecx
call fcn.0043c5e0
add esp, 4
test al, al
jne 0x442551
mov byte [esi + 0x2e8], 1
mov byte [esp + 0x17], 1
add edi, 1
cmp edi, dword [esp + 0xf0]
jb 0x4424f0
cmp byte [esp + 0x17], 0
jne 0x442250
jmp 0x44257d
mov dword [esp + 0x10], 0xffffffff
mov ebx, dword [esp + 0x10]
mov byte [ebp + 0x691], 1
cmp byte [esp + 0x15], 0
mov edi, 8
je 0x442595
mov dword [ebp + 0x140], edi
mov dword [ebp + 0x238], edi
mov eax, dword [ebp + 0x140]
mov dword [ebp + 0x6f0], ebx
shr ebx, 0x10
push eax
mov dword [ebp + 0x6f4], ebx
mov byte [ebp + 0x690], 0
call fcn.0043bf20
add esp, 4
test al, al
je 0x4425c5
mov byte [ebp + 0x690], 1
cmp dword [ebp + 0x164], 0
je 0x442682
mov eax, dword [ebp + 0x168]
mov ecx, dword [ebp + 0x16c]
mov edx, eax
or edx, ecx
jl 0x44260f
cmp eax, 0x100000
ja 0x44260f
cmp ecx, 0x100000
ja 0x44260f
cdq
mov esi, eax
mov edi, edx
mov eax, ecx
cdq
push edx
push eax
push edi
push esi
call fcn.005f8550
test edx, edx
ja 0x44260f
cmp eax, 0x8000000
jbe 0x44263b
mov eax, 0x80
mov dword [ebp + 0x168], eax
mov dword [ebp + 0x16c], eax
mov dword [ebp + 0x17c], 0
mov dword [ebp + 0x170], 0x200
mov byte [ebp + 0x693], 1
mov ecx, dword [ebp + 0x168]
mov eax, dword [ebp + 0x170]
add ecx, ecx
add ecx, ecx
mov edx, eax
sub edx, ecx
test eax, eax
mov dword [ebp + 0x174], edx
jge 0x44265b
neg eax
mov ecx, dword [ebp + 0x16c]
imul ecx, eax
add ecx, dword [ebp + 0x17c]
lea ebx, [ebp + 0x158]
mov dword [ebp + 0x178], ecx
mov ecx, ebx
call fcn.0043bf90
jmp 0x44276a
mov eax, dword [ebp + 0x22c]
mov ecx, dword [ebp + 0x230]
mov edx, eax
or edx, ecx
jl 0x4426c1
cmp eax, 0x100000
ja 0x4426c1
cmp ecx, 0x100000
ja 0x4426c1
cdq
mov esi, eax
mov ebx, edx
mov eax, ecx
cdq
push edx
push eax
push ebx
push esi
call fcn.005f8550
xor esi, esi
cmp edx, esi
ja 0x4426c1
cmp eax, 0x8000000
jbe 0x4426eb
mov eax, 0x80
xor esi, esi
mov dword [ebp + 0x22c], eax
mov dword [ebp + 0x230], eax
mov dword [ebp + 0x224], esi
mov dword [ebp + 0x234], 0x200
mov byte [ebp + 0x693], 1
cmp dword [ebp + 0x234], esi
jne 0x44275d
mov ecx, dword [ebp + 0x238]
push ecx
call fcn.0043bf20
add esp, 4
test al, al
je 0x44272c
mov dword [ebp + 0x224], esi
mov dword [ebp + 0x23c], esi
mov dword [ebp + 0x244], esi
mov dword [ebp + 0x234], esi
mov dword [ebp + 0x240], esi
mov dword [ebp + 0x248], esi
jmp 0x44275d
mov eax, dword [ebp + 0x230]
mov edx, dword [ebp + 0x22c]
push 0x10
push eax
push edx
push ecx
lea esi, [ebp + 0x224]
push esi
call fcn.00557280
add esp, 0x14
cmp dword [ebp + 0x238], edi
jne 0x44275d
push esi
call fcn.00557360
add esp, 4
lea ebx, [ebp + 0x158]
mov ecx, ebx
call fcn.0043cab0
mov esi, dword [ebp + 0xa0]
mov edi, dword [ebp + 0x290]
mov ecx, 0xa
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp + 0x250]
call fcn.0043cab0
mov eax, dword [ebp + 0x94]
test eax, eax
fild dword [ebp + 0x94]
jge 0x44279e
fadd qword [0x628518]
mov ecx, dword [ebp + 0x90]
fild dword [ebp + 0x90]
test ecx, ecx
jge 0x4427b4
fadd qword [0x628518]
fdivp st(1)
sub esp, 8
fmul qword [0x628560]
fstp qword [esp]
call fcn.00519e42
mov edx, dword [ebp + 0x18c]
fild dword [ebp + 0x18c]
test edx, edx
mov dword [ebp + 0x6b4], eax
jge 0x4427e3
fadd qword [0x628518]
mov eax, dword [ebp + 0x188]
fild dword [ebp + 0x188]
test eax, eax
jge 0x4427f9
fadd qword [0x628518]
fdivp st(1)
fmul qword [0x628560]
fstp qword [esp]
call fcn.00519e42
add esp, 8
cmp byte [esp + 0x15], 0
mov dword [ebp + 0x6ac], eax
je 0x442829
cmp dword [esp + 0x10], 0xffffffff
je 0x442869
mov byte [ebp + 0x692], 1
jmp 0x442869
test byte [ebp + 0x88], 1
je 0x442849
mov eax, dword [ebp + 0x118]
test eax, eax
je 0x442849
cmp eax, 8
je 0x442849
mov dword [esp + 0x10], 0xffffffff
test byte [ebp + 0x180], 1
je 0x442869
mov eax, dword [ebp + 0x210]
test eax, eax
je 0x442869
cmp eax, 8
je 0x442869
mov dword [esp + 0x10], 0xffffffff
cmp byte [ebp + 0x691], 0
je 0x44288a
mov esi, dword [esp + 0xec]
push esi
lea ecx, [ebp + 0x60]
call fcn.0043c8e0
push esi
mov ecx, ebx
call fcn.0043c8e0
mov ecx, dword [esp + 0x10]
test cl, 2
mov eax, dword [esp + 0xf4]
mov dword [eax + 0xc], 0
je 0x4428b0
mov edx, dword [ebp + 0x274]
add edx, dword [ebp + 0x270]
mov dword [eax + 0xc], edx
pop edi
pop esi
mov eax, ecx
mov ecx, dword [esp + 0xd4]
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0xd8
ret 0xc