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

Disassembly:
sub esp, 0x2d4
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x2cc], eax
mov eax, dword [esp + 0x2e0]
push ebx
push ebp
push esi
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x2f4]
xor ebx, ebx
push edi
mov edi, dword [esp + 0x2ec]
mov dword [esp + 0x20], eax
or eax, 0xffffffff
mov dword [esp + 0x18], edx
mov dword [esp + 0x44], edi
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x24], ebx
mov ebp, eax
mov esi, eax
test edi, edi
je 0x402117
mov eax, dword [str.UNKNOWN]
mov dword [edi], eax
mov eax, dword [0x40cc24]
mov dword [edi + 4], eax
test edx, edx
je 0x402153
mov edx, dword [esp + 0x2e8]
test edx, edx
jne 0x40215a
push 0x40cc28
push str.webcache
call dword [sym.imp.libav.dll_Ordinal_44332]
pop ecx
pop ecx
test eax, eax
je 0x40214c
movzx eax, word [eax + 8]
push eax
call dword [sym.imp.libav.dll_Ordinal_44319]
movzx edx, ax
jmp 0x40215a
mov edx, 0x1f90
jmp 0x40215a
push 0x50
mov dword [esp + 0x1c], ecx
pop edx
push 8
pop ecx
push edx
xor eax, eax
lea edi, [esp + 0x54]
rep stosd dword es:[edi], eax
push 0x40cc38
lea eax, [esp + 0x27c]
push 6
push eax
mov dword [esp + 0x64], 2
mov dword [esp + 0x68], 1
call dword [sym.imp.libav.dll_Ordinal_44276]
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x64]
push eax
lea ecx, [esp + 0x28c]
push ecx
push dword [esp + 0x34]
mov byte [esp + 0x299], bl
call dword [sym.imp.libav.dll_Ordinal_44333]
add esp, 0x20
test eax, eax
je 0x4021bd
or eax, 0xffffffff
jmp 0x4024a0
mov edi, dword [esp + 0x1c]
test edi, edi
je 0x40223b
cmp ebx, 0x80
jae 0x40220c
push 0x400
call dword [sym.imp.libav.dll_Ordinal_44218]
mov dword [edi], eax
mov dword [esp + ebx*4 + 0x74], edi
cmp dword [edi + 4], 2
pop ecx
jne 0x4021ee
cmp ebp, 0xffffffff
jne 0x4021fa
mov ebp, ebx
jmp 0x4021fa
cmp esi, 0xffffffff
jne 0x4021fa
cmp ebp, esi
je 0x4021fa
lea esi, [ebx - 1]
mov edi, dword [edi + 0x1c]
test edi, edi
jne 0x402207
cmp esi, 0xffffffff
cmove esi, ebx
inc ebx
test edi, edi
jne 0x4021c5
mov dword [esp + 0x24], ebx
cmp esi, 0xffffffff
je 0x40223b
cmp ebp, 0xffffffff
je 0x40223b
sub esi, ebp
inc esi
cmp esi, 1
jle 0x40223b
push 0x402091
push 4
lea eax, [esp + 0x78]
push esi
lea eax, [eax + ebp*4]
push eax
call dword [sym.imp.MSVCR110.dll_qsort]
add esp, 0x10
xor edi, edi
inc edi
xor eax, eax
cmp dword [esp + 0x304], edi
cmova edi, eax
xor ebp, ebp
mov dword [esp + 0x38], edi
test ebx, ebx
je 0x402468
mov ebx, dword [esp + ebp*4 + 0x70]
inc dword [esp + 0x30]
lea esi, [ebx + 0x18]
mov dword [esp + 0x2c], esi
mov esi, dword [esi]
push 0x2e
lea eax, [esp + 0x280]
push eax
add esi, 4
push esi
push dword [ebx + 4]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x38], esi
call dword [sym.imp.libav.dll_Ordinal_44335]
add esp, 0x10
test eax, eax
je 0x4024fb
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4023ab
mov edx, dword [ebx + 4]
lea ecx, [esp + 0x4c]
push ecx
push eax
mov ecx, esi
call fcn.004055e8
pop ecx
pop ecx
test eax, eax
je 0x4022ce
inc dword [esp + 0x34]
test edi, edi
je 0x4022c8
mov esi, dword [esp + 0x24]
lea ecx, [ebp + 1]
cmp ecx, esi
jae 0x4022d2
inc ebp
jmp 0x40245e
mov esi, dword [esp + 0x24]
test edi, edi
je 0x4023ab
test eax, eax
jne 0x40235a
mov eax, dword [esp + 0x4c]
test eax, eax
jne 0x402307
push 0x2e
lea eax, [esp + 0x280]
push eax
lea eax, [esp + 0x2b4]
push eax
mov dword [esp + 0x20], ebx
call dword [sym.imp.MSVCR110.dll_strncpy]
add esp, 0xc
jmp 0x40235e
mov ecx, dword [esp + 0x3c]
cmp dword [eax + 8], ecx
ja 0x402348
mov ecx, dword [esp + 0x40]
cmp dword [eax + 0xc], ecx
ja 0x402348
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x40], eax
push 0x2e
lea eax, [esp + 0x280]
push eax
lea eax, [esp + 0x2b4]
push eax
mov dword [esp + 0x48], ecx
mov dword [esp + 0x20], ebx
call dword [sym.imp.MSVCR110.dll_strncpy]
add esp, 0xc
jmp 0x40234c
mov ebx, dword [esp + 0x14]
lea eax, [ebp + 1]
cmp eax, esi
jae 0x40235e
mov ebp, eax
jmp 0x40245e
mov ebx, dword [esp + 0x14]
test ebx, ebx
jne 0x40237a
lea eax, [ebp + 1]
cmp eax, esi
jne 0x40245e
xor edi, edi
mov dword [esp + 0x38], edi
xor ebp, ebp
jmp 0x40245e
push 0x2e
lea eax, [esp + 0x2b0]
push eax
lea eax, [esp + 0x284]
push eax
mov dword [esp + 0x24], ebx
call dword [sym.imp.MSVCR110.dll_strncpy]
mov edi, dword [esp + 0x20]
add edi, 0x18
add esp, 0xc
mov eax, dword [edi]
add eax, 4
mov dword [esp + 0x28], eax
jmp 0x4023b9
cmp dword [esp + 0x14], ebx
je 0x4022c8
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x44]
test eax, eax
je 0x4023d8
lea ecx, [esp + 0x27c]
mov edx, eax
mov eax, ecx
sub edx, eax
mov al, byte [ecx]
mov byte [edx + ecx], al
inc ecx
test al, al
jne 0x4023ce
mov ecx, dword [esp + 0x48]
call fcn.00401fe8
mov dword [esp + 0x2c], eax
test eax, eax
js 0x4024e9
mov esi, dword [ebx + 0x10]
mov edi, dword [edi]
mov ecx, eax
call fcn.00405eda
push dword [esp + 0x2f4]
mov edx, edi
mov edi, dword [esp + 0x30]
push esi
mov ecx, edi
mov ebx, eax
call fcn.00405bcf
pop ecx
pop ecx
mov edx, ebx
mov ecx, edi
mov esi, eax
call fcn.00405f56
cmp esi, 0xffffffff
jne 0x4024b9
push edi
call dword [sym.imp.libav.dll_Ordinal_44331]
mov edi, dword [esp + 0x3c]
pop ecx
test edi, edi
je 0x402440
xor edi, edi
mov dword [esp + 0x38], edi
xor ebp, ebp
jmp 0x402441
inc ebp
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
push 0
mov edx, dword [edx + 4]
push ecx
mov ecx, dword [esp + 0x30]
push 2
push eax
call fcn.00405763
add esp, 0x10
cmp ebp, dword [esp + 0x24]
jb 0x402258
push dword [esp + 0x1c]
call dword [sym.imp.libav.dll_Ordinal_44334]
mov eax, dword [esp + 0x24]
pop ecx
test eax, eax
je 0x40249d
cmp dword [esp + 0x300], 0
je 0x40249d
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x40249d
cmp ecx, dword [esp + 0x34]
jne 0x40249d
xor edx, edx
inc edx
mov ecx, eax
call fcn.00405a23
push 0xfffffffffffffffe
pop eax
mov ecx, dword [esp + 0x2dc]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00407bf7
add esp, 0x2d4
ret
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x4024ec
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x28]
cmp dword [edx + 4], 2
jne 0x4024d6
mov eax, dword [esi]
mov dword [ecx + 8], eax
jmp 0x4024e1
lea edi, [ecx + 8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x2c]
mov eax, dword [edx + 4]
mov dword [ecx + 0x18], eax
jmp 0x4024ec
or edi, 0xffffffff
push dword [esp + 0x1c]
call dword [sym.imp.libav.dll_Ordinal_44334]
pop ecx
mov eax, edi
jmp 0x4024a0
push dword [esp + 0x1c]
call dword [sym.imp.libav.dll_Ordinal_44334]
pop ecx
jmp 0x4021b5