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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x80
mov eax, dword [0x101db764]
mov ecx, dword [ebp + 8]
xor eax, ebp
mov dword [esp + 0x78], eax
mov eax, dword [ecx + 4]
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x10038087
mov edi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], 0
jle 0x10038053
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x1c], 0
mov eax, dword [eax + ecx*4 - 4]
mov ecx, dword [eax + 0xc]
lea edx, [eax + 0xb0]
mov dword [esp + 0x14], eax
lea eax, [eax + 0x40]
mov dword [esp + 0x24], eax
mov dword [esp + 0xc], edx
lea eax, [ecx + 0xd0]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x30], eax
cmp dword [edi + 0x30], 0
jne 0x10038053
xor eax, eax
mov dword [esp + 0x40], 0x64737473
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], eax
push 1
push eax
push eax
push edi
call fcn.1002daa0
add esp, 0x10
mov ebx, eax
mov dword [esp + 0x20], edx
push edi
call fcn.1002e4af
add esp, 4
mov esi, eax
push edi
call fcn.1002e3e0
add esp, 4
cmp esi, 0x10
mov dword [esp + 8], eax
jb 0x100375b2
push edi
call fcn.1002e4af
add esp, 4
push edi
call fcn.1002e453
add esp, 4
push edi
call fcn.1002e453
add esp, 4
jmp 0x100375c0
cmp esi, 8
mov eax, 1
jb 0x10038075
mov dword [esp + 0x18], eax
push 1
mov eax, edi
xor edi, edi
push edi
push edi
push eax
call fcn.1002daa0
add esp, 0x10
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x2c], ebx
add ebx, esi
mov dword [esp + 0x28], esi
mov esi, ebx
adc ecx, edi
sub esi, eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x38], esi
mov esi, dword [esp + 8]
mov dword [esp + 0x3c], ecx
sbb ecx, edx
mov dword [esp + 0x34], ecx
mov eax, dword [eax]
mov edi, dword [eax + 8]
push esi
push 0x1019e0e0
call fcn.10027330
add esp, 8
test edi, edi
je 0x10037632
cmp edi, esi
je 0x10037632
cmp esi, 0x70755641
jne 0x1003783f
cmp edi, 0x78315641
jne 0x1003783f
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, esi
mov eax, dword [edi + 0xb0]
cmp dword [eax + 8], 1
sbb eax, eax
not eax
or eax, dword [esp + 0x1c]
mov dword [ecx + 0xac], eax
mov eax, dword [esp + 0x18]
mov dword [ecx + 0xbc], eax
mov dword [ecx + 0x534], esi
mov ecx, edi
call fcn.1003808c
mov ecx, dword [edi + 0xb0]
mov edx, dword [ecx]
cmp edx, 3
je 0x10037a07
mov edi, dword [ebp + 0xc]
cmp edx, 1
je 0x10037868
test edx, edx
jne 0x10037a8b
pxor xmm0, xmm0
mov dword [ecx + 4], eax
movdqa xmmword [esp + 0x60], xmm0
movdqa xmmword [esp + 0x50], xmm0
push 1
xor eax, eax
push eax
push eax
push edi
call fcn.1002daa0
add esp, 0x10
add eax, 0xfffffff0
adc edx, 0xffffffff
mov dword [esp + 8], eax
mov dword [esp + 0x18], edx
push edi
call fcn.1002e453
add esp, 4
push edi
call fcn.1002e453
add esp, 4
push edi
call fcn.1002e4af
add esp, 4
push edi
call fcn.1002e4af
add esp, 4
push edi
call fcn.1002e4af
add esp, 4
push edi
call fcn.1002e453
add esp, 4
mov esi, dword [esp + 0xc]
mov ecx, dword [esi]
mov dword [ecx + 0x30], eax
push edi
call fcn.1002e453
add esp, 4
mov ecx, dword [esi]
mov dword [ecx + 0x34], eax
push edi
call fcn.1002e4af
add esp, 4
push edi
call fcn.1002e4af
add esp, 4
push edi
call fcn.1002e4af
add esp, 4
push edi
call fcn.1002e453
add esp, 4
push edi
call fcn.1002e14d
add esp, 4
mov esi, eax
mov eax, 0x1f
mov ebx, 0x1f
mov ecx, edi
cmp esi, eax
cmovb ebx, esi
mov edx, ebx
push 0x20
lea eax, [esp + 0x54]
push eax
call fcn.1003a2da
add esp, 8
cmp esi, 0x1e
ja 0x10037772
xor ebx, 0x1f
push 0
push ebx
push edi
call fcn.1002df4c
add esp, 0xc
cmp byte [esp + 0x50], 0
lea esi, [esp + 0x50]
je 0x10037791
push 0
push esi
push str.encoder
push dword [esp + 0x30]
call sym.ffmpeg.dll_av_dict_set
add esp, 0x10
push 0x19
push str.Planar_YCbCr_8_bit_4:2:0
push esi
call fcn.1016c340
add esp, 0xc
mov ebx, dword [esp + 0xc]
test eax, eax
jne 0x100377c1
mov eax, dword [ebx]
mov ecx, 0xfffffffe
mov dword [eax + 8], 0x30323449
mov eax, dword [ebx]
and dword [eax + 0x30], ecx
mov eax, dword [ebx]
and dword [eax + 0x34], ecx
mov esi, dword [ebx]
cmp dword [esi + 8], 0x33363248
jne 0x100377eb
push 0xd
push str.Sorenson_H263
lea eax, [esp + 0x58]
push eax
call fcn.1016c340
add esp, 0xc
test eax, eax
jne 0x100377eb
mov dword [esi + 4], 0x15
push edi
call fcn.1002e453
add esp, 4
mov ecx, dword [ebx]
mov dword [ecx + 0x20], eax
push 0
push dword [esp + 0x1c]
push dword [esp + 0x10]
push edi
call fcn.1002daa0
add esp, 0x10
mov eax, dword [ebx]
push dword [esp + 0x30]
push edi
push dword [eax + 4]
call fcn.1004a278
add esp, 0xc
test eax, eax
je 0x10037f1c
mov eax, dword [ebx]
and dword [eax + 0x20], 0x1f
mov eax, dword [esp + 0x10]
mov dword [eax + 0x4d0], 1
jmp 0x10037f1c
cmp edi, 0x70637663
jg 0x10037cac
cmp edi, 0x68637061
je 0x10037632
cmp edi, 0x6e637061
je 0x10037632
jmp 0x10037cc4
mov dword [ecx + 4], eax
push edi
call fcn.1002e453
add esp, 4
mov esi, edi
mov edi, dword [ebp + 8]
mov ebx, eax
mov eax, dword [edi + 4]
push 1
xor ecx, ecx
push ecx
push str.compatible_brands
push dword [eax + 0x48c]
call sym.ffmpeg.dll_av_dict_get
add esp, 0x10
mov dword [esp + 8], eax
push esi
call fcn.1002e453
add esp, 4
push esi
call fcn.1002e4af
add esp, 4
push esi
call fcn.1002e453
add esp, 4
mov edi, dword [esp + 0xc]
mov ecx, dword [edi]
mov dword [ecx + 0x68], eax
push esi
call fcn.1002e453
add esp, 4
mov ecx, dword [edi]
mov dword [ecx + 0x20], eax
push esi
call fcn.1002e453
add esp, 4
mov ecx, dword [esp + 0x10]
mov word [ecx + 0xb0], ax
push esi
call fcn.1002e453
add esp, 4
push esi
call fcn.1002e4af
add esp, 4
mov ecx, dword [edi]
mov esi, dword [ebp + 8]
shr eax, 0x10
xor edx, edx
mov dword [ecx + 0x6c], eax
mov eax, dword [esp + 8]
cmp dword [esi + 0x38], edx
je 0x10037928
test eax, eax
je 0x10037d5d
push str.qt
push dword [eax + 4]
call fcn.101622b0
add esp, 8
test eax, eax
je 0x10037d5d
test bx, bx
je 0x10037d3c
movzx eax, bx
cmp eax, 1
je 0x10037cf5
cmp eax, 2
jne 0x10037d5d
mov edi, dword [ebp + 0xc]
push edi
call fcn.1002e4af
add esp, 4
push edi
call fcn.1002e83f
add esp, 4
mov esi, dword [esp + 0xc]
movd xmm0, edx
movd xmm1, eax
punpckldq xmm1, xmm0
cvttsd2si eax, xmm1
mov ecx, dword [esi]
mov dword [ecx + 0x6c], eax
push edi
call fcn.1002e4af
add esp, 4
mov ecx, dword [esi]
mov dword [ecx + 0x68], eax
push edi
call fcn.1002e4af
add esp, 4
push edi
call fcn.1002e4af
add esp, 4
mov ecx, dword [esi]
mov dword [ecx + 0x20], eax
push edi
call fcn.1002e4af
add esp, 4
mov dword [esp + 8], eax
push edi
call fcn.1002e4af
add esp, 4
mov ebx, dword [esp + 0x10]
mov dword [ebx + 0xa0], eax
push edi
call fcn.1002e4af
add esp, 4
mov dword [ebx + 0xa4], eax
mov eax, dword [esi]
cmp dword [eax + 8], 0x6d63706c
jne 0x10037d5d
mov esi, dword [esp + 8]
mov ecx, esi
mov edx, esi
and esi, 1
shl ecx, 0x1d
and edx, 2
sar ecx, 0x1f
push ecx
push edx
push esi
push dword [eax + 0x20]
call fcn.100273a8
add esp, 0x10
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx]
mov dword [ecx + 4], eax
jmp 0x10037d5d
mov dword [ecx + 4], eax
push 1
xor edi, edi
push edi
push edi
mov esi, dword [ebp + 0xc]
push esi
call fcn.1002daa0
add esp, 0x10
sub ebx, eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x50], edi
mov edi, dword [esp + 0xc]
mov dword [esp + 0x58], ebx
sbb eax, edx
mov dword [esp + 0x5c], eax
mov eax, dword [edi]
cmp dword [eax + 8], 0x7334706d
je 0x10037a6e
sub esp, 0x18
movq xmm0, qword [esp + 0x68]
movq xmm1, qword [esp + 0x70]
mov eax, dword [ebp + 8]
movq qword [esp + 0x10], xmm1
movq qword [esp + 8], xmm0
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.1003a39b
add esp, 0x18
mov eax, dword [edi]
mov edx, dword [esp + 0x10]
mov ecx, dword [edx + 0xc4]
mov dword [eax + 0x30], ecx
mov eax, dword [edx + 0xc8]
mov ecx, dword [edi]
mov dword [ecx + 0x34], eax
jmp 0x10037f1c
push 1
xor esi, esi
push esi
push esi
push edi
call fcn.1002daa0
add esp, 0x10
mov ebx, dword [esp + 0x2c]
mov ecx, edi
mov edi, dword [esp + 0x20]
sub ebx, eax
mov eax, dword [esp + 0xc]
sbb edi, edx
add ebx, dword [esp + 0x28]
mov eax, dword [eax]
adc edi, esi
cmp dword [eax + 8], 0x64636d74
jne 0x10037ce5
mov ecx, ebx
mov esi, 0xfffffff4
sar ecx, 0x1f
xor ecx, edi
jne 0x10038060
push ebx
push dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 8]
push dword [eax + 4]
call fcn.10027505
add esp, 0x10
test eax, eax
js 0x1003807c
cmp ebx, 0x11
mov eax, edi
sbb eax, 0
jl 0x10037f1c
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0xc]
mov dword [esp + 8], eax
mov eax, dword [ecx + 0xb0]
mov eax, dword [eax + 0xc]
push dword [eax + 4]
call fcn.101688a0
add esp, 4
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x14]
mov dword [ecx + 0x4e0], eax
mov ecx, dword [edx + 0xb0]
mov eax, dword [edx + 8]
mov ecx, dword [ecx + 0xc]
mov dword [esp + 0x18], eax
mov eax, 1
movzx ecx, byte [ecx + 0x10]
mov dword [edx + 0x44], ecx
mov edx, dword [esp + 0x14]
mov dword [edx + 0x48], eax
mov edx, dword [esp + 0x18]
mov dword [edx + 0x50], ecx
xor ecx, ecx
inc ecx
mov dword [edx + 0x4c], ecx
mov ecx, dword [esp + 8]
test byte [ecx + 0x4e0], 8
je 0x10037bc9
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0xb0]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x18], eax
push dword [eax + 8]
call fcn.101688a0
add esp, 4
mov dword [esp + 8], eax
mov eax, dword [esp + 0x18]
push dword [eax + 0xc]
call fcn.101688a0
add esp, 4
mov edx, dword [esp + 0x14]
mov ecx, dword [edx + 0x44]
imul ecx, dword [esp + 8]
mov dword [edx + 0x44], ecx
mov ecx, dword [edx + 0x48]
imul ecx, eax
mov dword [edx + 0x48], ecx
mov ecx, dword [esp + 8]
mov edx, dword [edx + 8]
imul ecx, dword [edx + 0x50]
mov dword [edx + 0x50], ecx
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx + 8]
imul eax, dword [ecx + 0x4c]
mov dword [ecx + 0x4c], eax
cmp ebx, 0x1f
mov eax, edi
sbb eax, 0
jl 0x10037f1c
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x18], eax
push dword [eax + 0x16]
call fcn.101688a0
add esp, 4
mov dword [esp + 8], eax
push 0x656d616e
call fcn.101688a0
add esp, 4
cmp dword [esp + 8], eax
jne 0x10037f1c
mov eax, dword [esp + 0x18]
push dword [eax + 0x12]
call fcn.101688a0
add esp, 4
mov edx, 0x12
xor ecx, ecx
add eax, edx
mov edx, edi
setb cl
cmp ebx, eax
sbb edx, ecx
jl 0x10037f1c
mov eax, dword [esp + 0x18]
movzx eax, word [eax + 0x1a]
test ax, ax
je 0x10037f1c
rol ax, 8
movzx ecx, ax
lea eax, [ecx + 0x1a]
cmp ebx, eax
sbb edi, 0
jl 0x10037f1c
mov edi, ecx
lea eax, [ecx + 1]
push eax
call sym.ffmpeg.dll_av_malloc
add esp, 4
test eax, eax
je 0x10038060
mov ebx, eax
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add eax, 0x1e
push edi
push eax
push ebx
call fcn.101613e0
add esp, 0xc
xor eax, eax
mov byte [ebx + edi], al
cmp byte [ebx], al
je 0x10038045
push 8
push ebx
push str.reel_name
push dword [esp + 0x30]
call sym.ffmpeg.dll_av_dict_set
add esp, 0x10
jmp 0x10037f1c
cmp edi, 0x70637664
je 0x10037632
cmp edi, 0x70707664
je 0x10037632
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 4]
mov ecx, dword [ecx + 0x470]
test ecx, ecx
je 0x10037e9e
cmp eax, ecx
je 0x10037632
jmp 0x10037eaa
push edi
push ebx
push ecx
call fcn.1002df4c
add esp, 0xc
jmp 0x10037f1c
mov eax, dword [ebp + 0xc]
mov esi, eax
push eax
call fcn.1002e4af
add esp, 4
mov edi, dword [esp + 0x10]
mov dword [edi + 0xa4], eax
push esi
call fcn.1002e4af
add esp, 4
push esi
call fcn.1002e4af
add esp, 4
mov dword [edi + 0xa0], eax
push esi
call fcn.1002e4af
add esp, 4
movzx eax, word [edi + 0xb0]
cmp eax, 0xfffe
je 0x10037d5d
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
mov eax, dword [eax + 4]
and eax, 0xfffffffe
cmp eax, 0x15000
jne 0x10037d5d
mov eax, dword [esp + 0x14]
mov dword [eax + 0xe4], 1
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0xc]
cmp dword [eax + 0x534], 0
jne 0x10037d9d
mov eax, dword [edi]
mov eax, dword [eax + 0x20]
cmp eax, 0x10
je 0x10037d84
cmp eax, 8
jne 0x10037d9d
mov edx, 0x20776172
jmp 0x10037d89
mov edx, 0x736f7774
mov esi, dword [esp + 0x14]
mov ecx, esi
call fcn.1003808c
mov ecx, dword [esi + 0xb0]
mov dword [ecx + 4], eax
mov eax, dword [edi]
mov ecx, dword [eax + 4]
cmp ecx, 0x10fff
jg 0x10037dde
lea edx, [ecx - 0x10000]
cmp edx, 2
jb 0x10037e46
add ecx, 0xfffefffc
cmp ecx, 2
jae 0x10037eea
cmp dword [eax + 0x20], 0x10
jne 0x10037eea
mov dword [eax + 4], 0x10001
jmp 0x10037eea
cmp ecx, 0x15009
jg 0x10037e14
cmp ecx, 0x11000
je 0x10037e6d
cmp ecx, 0x15009
jne 0x10037eea
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0xa4], 6
mov eax, dword [edi]
mov eax, dword [eax + 0x68]
add eax, eax
jmp 0x10037e96
cmp ecx, 0x1500a
je 0x10037e83
cmp ecx, 0x15012
jne 0x10037eea
mov eax, dword [esp + 0x10]
mov ecx, 0xa0
mov dword [eax + 0xa4], ecx
mov dword [eax + 0xa0], 0x21
jmp 0x10037eea
mov edx, dword [eax + 0x20]
mov esi, 0x20
cmp edx, esi
je 0x10037ed6
cmp edx, 0x18
je 0x10037ec3
cmp edx, 8
jne 0x10037eea
mov dword [eax + 4], 0x10004
jmp 0x10037eea
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0xa4], 0x40
mov eax, dword [edi]
imul eax, dword [eax + 0x68], 0x22
jmp 0x10037e96
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0xa4], 6
mov eax, dword [edi]
mov eax, dword [eax + 0x68]
mov dword [ecx + 0xa0], eax
jmp 0x10037eea
cmp edi, 0x6765706a
je 0x10037632
push dword [esp + 0x34]
push dword [esp + 0x3c]
mov edi, dword [ebp + 0xc]
push edi
call fcn.1002df4c
add esp, 0xc
jmp 0x10038027
xor edx, edx
cmp ecx, 0x10001
sete dl
or edx, 0x1000c
jmp 0x10037ee7
xor edx, edx
cmp ecx, 0x10001
sete dl
or edx, 0x10008
mov dword [eax + 4], edx
mov eax, dword [edi]
push dword [eax + 4]
call fcn.10007ad8
add esp, 4
test eax, eax
je 0x10037f10
mov ecx, dword [edi]
mov edx, dword [esp + 0x10]
mov dword [ecx + 0x20], eax
sar eax, 3
mov ecx, dword [edi]
imul eax, dword [ecx + 0x68]
mov dword [edx + 0x54], eax
mov eax, dword [edi]
cmp dword [eax + 0x6c], 0
js 0x10038075
push 1
xor esi, esi
push esi
push esi
mov edi, dword [ebp + 0xc]
push edi
call fcn.1002daa0
add esp, 0x10
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x20]
sub ecx, eax
sbb ebx, edx
add ecx, dword [esp + 0x28]
adc ebx, esi
cmp ecx, 9
mov dword [esp + 0x48], ecx
mov eax, ebx
mov dword [esp + 0x4c], ebx
sbb eax, esi
jl 0x10037f8b
sub esp, 0x18
movq xmm0, qword [esp + 0x58]
movq xmm1, qword [esp + 0x60]
mov eax, dword [ebp + 8]
movq qword [esp + 0x10], xmm1
movq qword [esp + 8], xmm0
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.10038174
add esp, 0x18
mov edx, dword [esp + 0xc]
test eax, eax
jns 0x10037fa8
jmp 0x1003807c
mov edx, dword [esp + 0xc]
cmp ecx, 1
mov eax, ebx
sbb eax, 0
jl 0x10037fa8
push ebx
push ecx
push edi
mov esi, edx
call fcn.1002df4c
mov edx, esi
add esp, 0xc
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x508], 0
je 0x10038027
mov eax, dword [edx]
cmp dword [eax + 0xc], 0
je 0x10038027
mov ebx, dword [esp + 0x10]
mov esi, dword [eax + 0x10]
mov ecx, dword [esp + 0x1c]
mov eax, dword [ebx + 0x50c]
mov dword [eax + ecx*4], esi
lea eax, [esi + 0x40]
push eax
call sym.ffmpeg.dll_av_malloc
add esp, 4
mov ecx, dword [ebx + 0x508]
mov edx, dword [esp + 0x1c]
mov dword [ecx + edx*4], eax
mov eax, dword [ebx + 0x508]
mov eax, dword [eax + edx*4]
test eax, eax
je 0x10038080
mov ebx, dword [esp + 0xc]
mov ecx, dword [ebx]
push esi
push dword [ecx + 0xc]
push eax
call fcn.101613e0
add esp, 0xc
mov eax, dword [ebx]
add eax, 0xc
push eax
call fcn.10053962
mov edx, ebx
add esp, 4
mov eax, dword [ebx]
mov dword [eax + 0x10], 0
mov eax, dword [esp + 0x10]
inc dword [eax + 0x514]
mov eax, dword [esp + 0x1c]
inc eax
cmp eax, dword [ebp + 0x10]
mov dword [esp + 0x1c], eax
jl 0x10037549
jmp 0x10038053
push ebx
call sym.ffmpeg.dll_av_free
add esp, 4
jmp 0x10037f1c
mov eax, dword [edi + 0x30]
mov esi, 0xdfb9b0bb
test eax, eax
cmove esi, eax
mov ecx, dword [esp + 0x78]
xor ecx, ebp
call fcn.1015e65c
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov esi, 0xbebbb1b7
jmp 0x10038060
mov esi, eax
jmp 0x10038060
mov esi, 0xfffffff4
jmp 0x10038060
call fcn.1016a210