Function at 0x40a260
Capabilities:
Enumerate pe sections

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0x218
cmp dword [0x938594], 0
mov dword [esp + 0x214], ecx
mov esi, eax
mov dword [esp + 0x210], edx
jne 0x40a291
mov eax, edx
mov edx, dword [eax + 0xa4]
mov dword [esp + 0xc], edx
jmp 0x40a299
mov dword [esp + 0xc], 0
mov edx, dword [0x426464]
mov eax, dword [esi + 8]
mov edi, dword [eax + 8]
cmp edx, 0xfffffffe
je 0x40a2b9
mov eax, dword [edi + 0x34]
mov dword [esp + 0x20c], eax
mov dword [edi + 0x34], edx
jmp 0x40a2c0
mov dword [esp + 0x20c], eax
cmp dword [esp + 0x238], 0
je 0x40a805
mov edx, dword [edi + 0x28]
mov eax, dword [edi + 0x2c]
shl edx, 2
shl eax, 2
push eax
push edx
push dword [edi + 0x34]
call sub.avcodec.dll_avpicture_get_size
push eax
call sub.avutil.dll_av_malloc
add esp, 0x10
mov ebp, eax
test ebp, ebp
je 0x40a7a7
lea ebx, [esp + 0x1ec]
push dword [edi + 0x2c]
push dword [edi + 0x28]
push dword [edi + 0x34]
push ebp
push ebx
call sub.avcodec.dll_avpicture_fill
add esp, 0x14
cmp dword [0x9384c4], 0
jne 0x40a343
cmp dword [esp + 0xc], 1
je 0x40a343
push dword [edi + 0x2c]
push dword [edi + 0x28]
push dword [edi + 0x34]
push dword [esp + 0x21c]
lea eax, [esp + 0x1fc]
push eax
call sub.avcodec.dll_av_picture_copy
add esp, 0x14
jmp 0x40a36b
push dword [edi + 0x2c]
push dword [edi + 0x28]
push dword [edi + 0x34]
push dword [esp + 0x21c]
lea eax, [esp + 0x1fc]
push eax
call sub.avcodec.dll_avpicture_deinterlace
add esp, 0x14
test eax, eax
jl 0x40a7ef
cmp dword [esp + 0x238], 0
je 0x40a3b7
push dword [0x4264d0]
push dword [0x4264cc]
push dword [0x4264bc]
push dword [0x4264b8]
push dword [esi + 0x3c]
push dword [esi + 0x38]
call sub.avutil.dll_av_rescale_q
add esp, 0x18
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x238]
mov ecx, dword [eax + 4]
xor eax, eax
sub ecx, dword [esp + 0xc]
sbb eax, edx
jl 0x40a3c1
or ecx, eax
je 0x40a3c1
mov eax, dword [0x426478]
jmp 0x40a615
mov eax, dword [esp + 0x238]
mov eax, dword [eax + 0x1c]
movzx ecx, word [eax]
mov dword [esp + 0x10], edi
mov dword [esp + 0x1c], ebx
movzx ebx, word [eax + 2]
mov dword [esp + 0x38], ebp
movzx ebp, word [eax + 6]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x2c], ebp
lea edx, [ebp + ebx]
movzx ebp, word [eax + 4]
mov dword [esp + 0x20], edx
mov edi, ebp
shr edi, 1
add edi, ecx
mov ecx, dword [eax + 0x14]
and ebp, 1
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x10]
mov dword [esp + 0x34], ebp
mov ebp, dword [esp + 0x38]
mov dword [esp + 0x28], ecx
cmp edx, ebx
mov ebx, dword [esp + 0x1c]
jle 0x40a3b7
mov dword [esp + 0x38], ebp
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], esi
xor edx, edx
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x20]
mov edi, dword [ebx]
mov ebp, dword [ebx + 0x10]
imul ebp, edx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x3c], ecx
add edi, eax
add edi, ebp
mov ebp, dword [ebx + 0x14]
mov ecx, edx
mov dword [esp + 0x40], edi
mov edi, dword [ebx + 4]
shr ecx, 0x1f
add ecx, edx
sar ecx, 1
imul ebp, ecx
mov esi, eax
shr esi, 1
add edi, esi
add edi, ebp
mov ebp, dword [ebx + 8]
add ebp, esi
mov esi, dword [ebx + 0x18]
imul esi, ecx
add ebp, esi
cmp eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
jge 0x40a5dd
mov esi, edx
and esi, reloc.avcodec.dll_Ordinal_1
jge 0x40a49a
sub esi, 1
or esi, 0xfffffffe
inc esi
test esi, esi
jne 0x40a566
mov esi, dword [esp + 0x30]
sub esi, eax
je 0x40a5dd
mov dword [esp + 0x14], esi
mov dword [esp + 0x1c], ebx
xor eax, eax
mov dword [esp + 0x20], edx
mov ebx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
movzx esi, byte [ebx + eax*8 + 3]
movzx edx, byte [ecx + eax*2]
movzx ebx, byte [ebx + eax*8]
imul ebx, esi
mov dword [esp + 0x44], ebp
mov ebp, esi
neg ebp
add ebp, 0xff
imul edx, ebp
add edx, ebx
shr edx, 8
mov byte [ecx + eax*2], dl
mov edx, dword [esp + 0x3c]
movzx ebx, byte [edi]
imul ebx, ebp
movzx ecx, byte [edx + eax*8 + 1]
imul ecx, esi
add ebx, ecx
shr ebx, 8
mov byte [edi], bl
mov ebx, dword [esp + 0x44]
movzx ecx, byte [ebx]
imul ecx, ebp
movzx ebp, byte [edx + eax*8 + 2]
imul esi, ebp
inc edi
add ecx, esi
mov esi, dword [esp + 0x40]
shr ecx, 8
mov byte [ebx], cl
movzx ebp, byte [edx + eax*8 + 7]
inc ebx
mov ecx, ebp
mov dword [esp + 0x44], ebx
movzx ebx, byte [esi + eax*2 + 1]
neg ecx
add ecx, 0xff
imul ecx, ebx
movzx ebx, byte [edx + eax*8 + 4]
imul ebp, ebx
add ecx, ebp
shr ecx, 8
mov ebp, dword [esp + 0x44]
mov byte [esi + eax*2 + 1], cl
lea ecx, [edx + eax*8 + 8]
inc eax
cmp eax, dword [esp + 0x14]
jb 0x40a4bc
jmp 0x40a5d5
mov esi, dword [esp + 0x30]
sub esi, eax
je 0x40a5dd
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x40]
xor ebp, ebp
mov dword [esp + 0x20], edx
movzx edx, byte [edi + ebp*8 + 3]
movzx ecx, byte [ebx + ebp*2]
mov eax, edx
neg eax
add eax, 0xff
imul eax, ecx
movzx ecx, byte [edi + ebp*8]
imul edx, ecx
add eax, edx
shr eax, 8
mov byte [ebx + ebp*2], al
movzx ecx, byte [edi + ebp*8 + 7]
movzx eax, byte [ebx + ebp*2 + 1]
mov edx, ecx
neg edx
add edx, 0xff
imul edx, eax
movzx eax, byte [edi + ebp*8 + 4]
imul ecx, eax
add edx, ecx
shr edx, 8
mov byte [ebx + ebp*2 + 1], dl
lea ecx, [edi + ebp*8 + 8]
inc ebp
cmp ebp, esi
jb 0x40a580
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
cmp dword [esp + 0x34], 0
mov ebp, dword [esp + 0x24]
lea eax, [ecx + 4]
cmovne ecx, eax
dec edx
inc ebp
cmp ebp, dword [esp + 0x2c]
mov dword [esp + 0x24], ebp
jae 0x40a604
mov eax, dword [esp + 0x18]
movzx eax, word [eax]
jmp 0x40a43c
mov ebp, dword [esp + 0x38]
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0xc]
mov eax, dword [0x426478]
test eax, eax
jne 0x40a628
push dword [esi + 0x3c]
push dword [esi + 0x38]
push ebx
call sub.avcodec.dll_ass_render
add esp, 0xc
imul edx, dword [esi], 0x320
mov eax, dword [edx + 0x569380]
mov edx, dword [eax + 0x17a0]
mov eax, dword [eax + 0x17a4]
lea ecx, [eax - 0x80000000]
or ecx, edx
jne 0x40a64e
xor edx, edx
xor eax, eax
mov ecx, dword [esi + 0x3c]
mov dword [esp + 0x38], ebp
mov ebp, dword [esi + 0x38]
sub ebp, edx
sbb ecx, eax
push ecx
push ebp
push dword [edi + 0x2c]
push dword [edi + 0x28]
push dword [edi + 0x34]
push ebx
mov ebp, dword [esp + 0x50]
call sub.avformat.dll_Ordinal_97
add esp, 0x18
cmp dword [0x9384f0], 0
jne 0x40a695
cmp dword [0x9384fc], 0
mov eax, dword [0x938500]
jne 0x40a6bb
test eax, eax
je 0x40a74d
jmp 0x40a6bf
push dword [0x42648c]
push dword [0x938608]
push dword [0x93860c]
push dword [0x9385c4]
call dword [0x938610]
add esp, 0x10
mov eax, dword [0x938500]
test eax, eax
je 0x40a6f4
fild qword [esi + 0x38]
fdiv qword [0x41e650]
mov eax, dword [0x9385c4]
mov dword [esp], eax
fnstcw word [esp + 0xc]
movzx eax, word [esp + 0xc]
or eax, 0xc00
mov dword [esp + 0x14], eax
fldcw word [esp + 0x14]
fistp qword [esp + 4]
fldcw word [esp + 0xc]
call dword [0x9386a8]
mov eax, dword [esi + 8]
mov edx, dword [eax + 8]
cmp dword [edx + 0x34], 0
jne 0x40a704
xor esi, esi
jmp 0x40a735
lea esi, [esp + 0xfc]
push dword [edi + 0x2c]
push dword [edi + 0x28]
push 0
push esi
call sub.avcodec.dll_avpicture_alloc
push dword [edi + 0x2c]
push dword [edi + 0x28]
push dword [edi + 0x34]
push ebx
push 0
push esi
call sub.avcodec.dll_Ordinal_77
add esp, 0x28
mov ebx, esi
mov esi, 1
push 0
push dword [ebx]
push dword [0x9385c4]
call dword [0x9386ac]
add esp, 0xc
cmp esi, 1
je 0x40a7b2
cmp ebx, dword [esp + 0x210]
je 0x40a78b
mov eax, dword [esp + 0x210]
mov edx, dword [ebx]
mov dword [eax], edx
mov ecx, dword [ebx + 4]
mov dword [eax + 4], ecx
mov esi, dword [ebx + 8]
mov dword [eax + 8], esi
mov edx, dword [ebx + 0xc]
mov dword [eax + 0xc], edx
mov ecx, dword [ebx + 0x10]
mov dword [eax + 0x10], ecx
mov esi, dword [ebx + 0x14]
mov dword [eax + 0x14], esi
mov edx, dword [ebx + 0x18]
mov dword [eax + 0x18], edx
mov ebx, dword [ebx + 0x1c]
mov dword [eax + 0x1c], ebx
cmp dword [0x426464], 0xfffffffe
mov eax, dword [esp + 0x214]
mov dword [eax], ebp
je 0x40a7a7
mov eax, dword [esp + 0x20c]
mov dword [edi + 0x34], eax
add esp, 0x218
pop ebx
pop ebp
pop esi
pop edi
ret
lea esi, [esp + 0xc]
push dword [edi + 0x2c]
push dword [edi + 0x28]
push dword [edi + 0x34]
push ebp
push esi
call sub.avcodec.dll_avpicture_fill
push dword [edi + 0x2c]
push dword [edi + 0x28]
push 0
push ebx
push dword [edi + 0x34]
push esi
call sub.avcodec.dll_Ordinal_77
lea eax, [esp + 0x128]
push eax
mov ebx, esi
call sub.avcodec.dll_avpicture_free
add esp, 0x30
jmp 0x40a74d
push ebp
call dword [sym.imp.avutil.dll_av_free]
pop ecx
mov ebx, dword [esp + 0x210]
xor ebp, ebp
jmp 0x40a36b
cmp dword [0x9384c4], 0
jne 0x40a2ce
cmp dword [0x938690], 0
jne 0x40a2ce
cmp dword [0x938500], 0
jne 0x40a2ce
cmp dword [esp + 0xc], 1
je 0x40a2ce
cmp dword [0x426478], 0
je 0x40a2ce
mov ebx, dword [esp + 0x210]
xor ebp, ebp
jmp 0x40a628