Function at 0x1002b5ff
Capabilities:
Encrypt data using speck

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x44
mov eax, dword [0x101db764]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x30], ecx
mov eax, dword [edx + 0xb0]
mov esi, dword [eax + 4]
cmp esi, 0x1b
mov dword [ebp - 0x44], esi
setne byte [ebp - 0x36]
cmp esi, 0xad
setne byte [ebp - 0x35]
test byte [ecx + 0x448], 0x10
jne 0x1002c009
mov esi, dword [ebp + 0xc]
cmp dword [eax], 0
mov edi, 0x80000000
mov dword [ebp - 0x20], edx
jne 0x1002b74c
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x10]
mov ebx, 0x80000000
mov edi, eax
xor edi, ebx
or edi, ecx
mov edi, 0x80000000
je 0x1002b74c
mov ebx, dword [esi + 8]
mov edi, dword [esi + 0xc]
xor ebx, ecx
xor edi, eax
or edi, ebx
jne 0x1002b70b
mov ebx, dword [edx + 0x2a4]
mov edi, dword [edx + 0x2a0]
mov edx, 0x80000000
mov dword [ebp - 0x24], ebx
xor ebx, edx
mov edx, dword [ebp - 0x20]
or ebx, edi
je 0x1002b70b
cmp ecx, edi
sbb eax, dword [ebp - 0x24]
jge 0x1002b6ca
lea eax, [edx + 0x2a9]
mov cl, byte [edx + 0x2a8]
lea edi, [edx + 0x2a8]
mov dword [ebp - 0x24], eax
mov al, byte [edx + 0x2a9]
inc al
mov byte [edx + 0x2a9], al
jmp 0x1002b6ed
mov cl, byte [edx + 0x2a8]
mov al, byte [edx + 0x2a9]
lea edi, [edx + 0x2a8]
inc cl
mov byte [edx + 0x2a8], cl
lea edx, [edx + 0x2a9]
mov dword [ebp - 0x24], edx
movzx ebx, cl
movzx edx, al
add edx, ebx
cmp edx, 0xfb
mov edx, dword [ebp - 0x20]
jb 0x1002b70b
shr cl, 1
shr al, 1
mov byte [edi], cl
mov edi, dword [ebp - 0x24]
mov byte [edi], al
movq xmm0, qword [esi + 0x10]
mov edi, 0x80000000
movq qword [edx + 0x2a0], xmm0
movzx ecx, byte [edx + 0x2a9]
movzx eax, byte [edx + 0x2a8]
shl ecx, 3
cmp ecx, eax
jbe 0x1002b74c
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
xor ecx, dword [esi + 0xc]
xor eax, dword [esi + 8]
or eax, ecx
jne 0x1002b74c
mov dword [esi + 0x14], edi
mov dword [esi + 0x10], 0
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp + 8]
test byte [eax + 0x448], 8
je 0x1002b76f
mov eax, dword [esi + 0xc]
xor eax, edi
or eax, dword [esi + 8]
je 0x1002b76f
mov dword [esi + 0x14], edi
mov dword [esi + 0x10], 0
test ecx, ecx
je 0x1002b795
cmp dword [ecx + 0x20], 3
jne 0x1002b795
mov eax, dword [edx + 0x2b8]
mov eax, dword [eax + 0x10]
cmp dword [eax + 0x8c], 0
jne 0x1002b795
mov dword [eax + 0x8c], 1
mov eax, dword [edx + 0x2b8]
xor ebx, ebx
test ecx, ecx
mov eax, dword [eax + 0x10]
mov edx, dword [eax + 0x8c]
je 0x1002b7b7
test edx, edx
je 0x1002b7b7
xor ebx, ebx
cmp dword [ecx + 0x20], 3
setne bl
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 8]
mov dword [ebp - 0x40], ebx
xor ebx, ebx
mov dword [ebp - 0x24], edx
mov esi, ecx
xor ecx, edi
mov edi, 0x80000000
or ecx, eax
je 0x1002b8b3
mov ecx, dword [ebp + 0xc]
mov edx, 0x80000000
mov ebx, dword [ecx + 0x14]
mov edi, dword [ecx + 0x10]
mov ecx, ebx
xor ecx, edx
or ecx, edi
je 0x1002b8ac
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ecx + 0xb8]
cmp ecx, 0x3e
jg 0x1002b8ac
mov dword [ebp - 0x2c], ebx
xor ebx, ebx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x1c], edi
dec ecx
xor edi, edi
mov dword [ebp - 0x34], esi
inc ebx
mov edx, ebx
shld edi, ebx, cl
shl edx, cl
test cl, 0x20
mov ecx, 0
cmovne edi, edx
cmovne edx, ecx
mov ecx, dword [ebp - 0x1c]
sub ecx, edx
mov edx, dword [ebp - 0x2c]
sbb edx, edi
mov edi, ecx
cmp eax, ecx
mov ecx, esi
sbb ecx, edx
jge 0x1002b892
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x3c], edx
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x34], edi
xor edi, edi
shld edi, ebx, cl
shl ebx, cl
test cl, 0x20
mov ecx, 0
cmovne edi, ebx
cmovne ebx, ecx
mov ecx, dword [edx + 0xcc]
cmp ecx, 0x7ffdffff
jg 0x1002b899
mov dword [ebp - 0x28], ecx
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x20]
cmp dword [ecx + 0xc8], edx
mov edx, dword [ebp - 0x28]
sbb edx, dword [ebp - 0x3c]
jl 0x1002b899
mov ecx, dword [ebp + 0xc]
add ebx, eax
adc edi, esi
mov dword [ecx + 8], ebx
mov dword [ecx + 0xc], edi
jmp 0x1002b8b0
mov edi, dword [ebp - 0x34]
mov ebx, eax
jmp 0x1002b8b0
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp + 0xc]
sub edx, ebx
mov ebx, dword [ebp - 0x2c]
mov dword [ecx + 0x10], edx
sbb ebx, edi
mov dword [ecx + 0x14], ebx
mov ebx, eax
mov edi, esi
mov edx, dword [ebp - 0x24]
mov esi, dword [ebp + 0xc]
cmp edx, 1
jne 0x1002b915
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
xor eax, ebx
xor ecx, edi
or ecx, eax
jne 0x1002b915
cmp dword [ebp - 0x40], 0
je 0x1002b915
mov eax, 0x80000000
xor edi, eax
or ebx, edi
je 0x1002b915
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 4]
mov edi, dword [eax]
push str.mov_mp4_m4a_3gp_3g2_mj2
push edi
call fcn.1016bef0
add esp, 8
test eax, eax
je 0x1002b915
push 0x1019ca89
push edi
call fcn.1016bef0
add esp, 8
test eax, eax
je 0x1002b915
mov eax, 0x80000000
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], eax
mov eax, esi
mov esi, dword [esi + 0x30]
mov ebx, dword [ebp - 0x20]
mov edi, dword [eax + 0x34]
push dword [ebx + 0x14]
push dword [ebx + 0x10]
push 1
push esi
call fcn.10056b46
add esp, 0x10
or edi, esi
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x50], edx
je 0x1002b942
mov eax, esi
mov esi, dword [ebp + 0xc]
jmp 0x1002b9b5
mov esi, dword [ebp + 0xc]
lea edi, [ebp - 0x18]
lea eax, [ebp - 0x14]
push esi
push dword [ebp + 8]
push ebx
push edi
push eax
push dword [ebp - 0x30]
call fcn.10024ee3
add esp, 0x18
mov edi, dword [edi]
test edi, edi
je 0x1002b9a7
mov ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x1002b9a7
mov eax, edi
mov dword [ebp - 0x1c], ecx
imul dword [ebx + 0x10]
mov ebx, edx
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
mov eax, ecx
imul dword [edx + 0x14]
push 2
push ebx
push dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x20]
push edx
push eax
push 0
push 1
call fcn.100531f7
add esp, 0x1c
mov ecx, dword [ebp - 0x1c]
mov dword [esi + 0x34], edx
mov dword [esi + 0x30], eax
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x3c], ecx
jmp 0x1002b9ad
mov eax, dword [esi + 0x30]
mov edx, dword [esi + 0x34]
or edx, eax
je 0x1002bbda
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x50c]
mov edx, dword [eax + 4]
test edx, edx
jne 0x1002b9d3
mov edx, dword [eax + 0x20]
test edx, edx
je 0x1002bbda
mov eax, dword [ebx + 0xc4]
mov ecx, dword [ebx + 0xc0]
mov edi, 0x80000000
mov dword [ebp - 0x4c], eax
xor eax, edi
mov dword [ebp - 0x48], ecx
or eax, ecx
mov ecx, dword [esi + 0x20]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x28], ecx
jne 0x1002bb17
mov eax, dword [ebx + 0xc8]
mov ecx, dword [ebx + 0xcc]
mov edi, 0x7ffeffff
xor ecx, edi
not eax
or eax, ecx
jne 0x1002bbd7
xor eax, eax
dec eax
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x28]
mov esi, dword [ebp + 0xc]
cmp dword [edx + 0x20], ecx
jne 0x1002bae1
mov ecx, dword [edx + 0xc]
mov dword [ebp - 0x34], edi
mov edi, dword [edx + 8]
mov esi, 0x80000000
mov eax, dword [edx + 0x14]
mov ebx, ecx
xor ebx, esi
or ebx, edi
mov ebx, dword [edx + 0x10]
je 0x1002ba57
xor edi, ebx
xor ecx, eax
or ecx, edi
jne 0x1002bbd4
mov ecx, eax
mov esi, 0x80000000
xor ecx, esi
or ecx, ebx
je 0x1002ba8f
xor esi, esi
mov ecx, ebx
mov edi, eax
dec esi
xor ecx, esi
mov esi, 0x7ffeffff
xor edi, esi
or edi, ecx
je 0x1002ba8f
mov ecx, dword [ebp - 0x20]
xor ebx, dword [ecx + 0xc0]
xor eax, dword [ecx + 0xc4]
or eax, ebx
jne 0x1002bbd4
mov eax, dword [edx + 0x30]
or eax, dword [edx + 0x34]
jne 0x1002bbd4
mov ecx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x34]
mov ebx, dword [ebp - 0x20]
mov dword [edx + 0x10], ecx
mov dword [edx + 0x14], esi
mov eax, dword [ebx + 0x2b8]
mov eax, dword [eax + 0x10]
cmp dword [eax + 0x8c], 0
jne 0x1002bac2
mov dword [edx + 8], ecx
mov dword [edx + 0xc], esi
mov edi, ecx
mov ecx, dword [ebp - 0x2c]
mov eax, ecx
mov dword [edx + 0x30], ecx
sar eax, 0x1f
add edi, ecx
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x1c], edi
mov edi, esi
mov esi, dword [ebp + 0xc]
mov dword [edx + 0x34], eax
adc edi, eax
mov eax, dword [edx + 0x48]
test eax, eax
jne 0x1002baf9
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x50c]
cmp dword [eax + 8], edx
jne 0x1002bb03
mov eax, dword [eax + 0x20]
test eax, eax
mov edx, eax
jne 0x1002ba26
mov eax, dword [ebp - 0x1c]
mov dword [ebx + 0xcc], edi
mov dword [ebx + 0xc8], eax
jmp 0x1002bbda
cmp dword [ebx + 0x1fc], 0
jne 0x1002bbd7
mov esi, dword [ebp - 0x48]
sar eax, 0x1f
mov dword [ebx + 0x1fc], 1
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x1c], esi
mov esi, dword [ebp - 0x4c]
cmp dword [edx + 0x20], ecx
jne 0x1002bb7d
mov eax, dword [edx + 0x10]
mov edi, dword [edx + 8]
mov ebx, dword [edx + 0x14]
mov ecx, dword [edx + 0xc]
xor ecx, ebx
xor edi, eax
or edi, ecx
mov edi, 0x80000000
jne 0x1002bb9d
mov ecx, ebx
xor ecx, edi
or ecx, eax
jne 0x1002bb9d
mov ecx, dword [edx + 0x30]
or ecx, dword [edx + 0x34]
jne 0x1002bb9d
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x28]
sub eax, dword [ebp - 0x2c]
sbb esi, dword [ebp - 0x34]
mov dword [ebp - 0x1c], eax
mov eax, dword [edx + 0x48]
test eax, eax
jne 0x1002bb95
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x50c]
cmp dword [eax + 8], edx
jne 0x1002bbd7
mov eax, dword [eax + 0x20]
test eax, eax
mov edx, eax
jne 0x1002bb3d
jmp 0x1002bbd7
xor eax, dword [ebp - 0x48]
xor ebx, dword [ebp - 0x4c]
or ebx, eax
jne 0x1002bbd4
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x50c]
mov edx, dword [eax + 4]
test edx, edx
je 0x1002c01b
mov ebx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov edi, esi
mov dword [ebx + 0xc0], eax
mov dword [ebx + 0xc4], esi
jmp 0x1002ba20
mov ebx, dword [ebp - 0x20]
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 8], 0
je 0x1002bc56
cmp dword [ebx + 0xe4], 3
jne 0x1002bc56
mov eax, dword [esi + 0x1c]
test eax, eax
je 0x1002bc56
mov ecx, eax
sar ecx, 0x1f
push ecx
push eax
push dword [esi + 0x34]
push dword [esi + 0x30]
mov eax, dword [ebp + 8]
push dword [eax + 0xbc]
push dword [eax + 0xb8]
call fcn.1005350b
add esp, 0x18
mov edi, dword [esi + 0xc]
mov dword [ebp - 0x1c], edx
mov edx, dword [esi + 8]
mov ecx, 0x80000000
mov ebx, edi
xor ebx, ecx
or ebx, edx
je 0x1002bc35
add edx, eax
adc edi, dword [ebp - 0x1c]
mov dword [esi + 8], edx
mov dword [esi + 0xc], edi
mov edi, dword [esi + 0x14]
mov ecx, dword [esi + 0x10]
mov edx, 0x80000000
mov ebx, edi
xor ebx, edx
or ebx, ecx
mov ebx, dword [ebp - 0x20]
je 0x1002bc56
add ecx, eax
adc edi, dword [ebp - 0x1c]
mov dword [esi + 0x10], ecx
mov dword [esi + 0x14], edi
mov ecx, dword [esi + 0x14]
mov eax, dword [esi + 0x10]
mov edx, 0x80000000
mov edi, ecx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x2c], ecx
xor edi, edx
mov edx, eax
or edx, edi
je 0x1002bc9f
mov edx, dword [esi + 8]
mov esi, dword [esi + 0xc]
mov dword [ebp - 0x1c], edx
mov edx, eax
mov eax, 0x80000000
mov ebx, esi
xor ebx, eax
xor eax, eax
inc eax
cmp edx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x40]
sbb ecx, esi
cmovge eax, edx
or ebx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x20]
cmovne edx, eax
mov dword [ebp - 0x40], edx
mov edx, dword [ebp - 0x24]
test edx, edx
je 0x1002bcc7
mov ah, byte [ebp - 0x36]
and ah, byte [ebp - 0x35]
cmp edx, 1
sete al
cmp dword [ebp + 8], 0
setne dl
and dl, al
test ah, dl
mov edx, dword [ebp - 0x24]
jne 0x1002bcde
jmp 0x1002bef0
cmp dword [ebp - 0x44], 0x1b
je 0x1002bef0
cmp dword [ebp - 0x44], 0xad
je 0x1002bef0
cmp dword [ebp - 0x40], 0
je 0x1002be1c
mov eax, dword [ebp - 0x28]
mov esi, dword [ebp + 0xc]
or edi, eax
jne 0x1002bd07
mov eax, dword [ebx + 0xd0]
mov ecx, dword [ebx + 0xd4]
mov dword [ebp - 0x2c], ecx
mov dword [esi + 0x14], ecx
mov dword [esi + 0x10], eax
mov ecx, dword [ebp - 0x30]
mov edx, dword [esi + 0x20]
push esi
push dword [esi + 0xc]
push dword [esi + 8]
push dword [ebp - 0x2c]
push eax
call fcn.1002c045
add esp, 0x14
mov ecx, dword [esi + 0x14]
mov eax, dword [esi + 0x10]
mov edi, 0x80000000
mov edx, ecx
xor edx, edi
or edx, eax
jne 0x1002bd45
mov eax, dword [ebx + 0xc8]
mov ecx, dword [ebx + 0xcc]
mov dword [esi + 0x14], ecx
mov dword [esi + 0x10], eax
mov edx, dword [ebx + 0xd8]
test edx, edx
mov dword [ebp - 0x1c], edx
jne 0x1002bd64
mov eax, dword [esi + 0x30]
mov dword [ebx + 0xd8], eax
mov dword [ebp - 0x1c], eax
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
mov edi, ecx
mov edx, 0x80000000
xor edi, edx
or edi, eax
je 0x1002bdfe
mov edx, dword [ebp - 0x1c]
mov edi, edx
sar edi, 0x1f
add eax, edx
mov edx, 0x80000000
adc ecx, edi
mov dword [ebx + 0xc8], eax
mov dword [ebx + 0xcc], ecx
mov edi, dword [esi + 0x14]
xor edi, edx
or edi, dword [esi + 0x10]
je 0x1002bdfe
mov edi, dword [esi + 0xc]
mov edx, 0x80000000
xor edi, edx
or edi, dword [esi + 8]
jne 0x1002bdfe
cmp dword [ebp - 0x1c], 0
jle 0x1002bdfe
xor ebx, ebx
xor edx, edx
mov edi, 0
inc edx
sub edx, dword [ebp + 0x10]
sbb edi, dword [ebp + 0x14]
add edx, eax
mov eax, 2
adc edi, ecx
cmp eax, edx
sbb ebx, edi
mov ebx, dword [ebp - 0x20]
jb 0x1002bdfe
mov eax, dword [ebp + 0x1c]
mov edi, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x10]
xor edx, ecx
xor edi, eax
or edi, edx
je 0x1002bdfe
mov edx, 0x80000000
xor eax, edx
or ecx, eax
je 0x1002bdfe
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
mov dword [esi + 8], eax
mov dword [esi + 0xc], ecx
mov eax, dword [esi + 0x30]
mov edx, dword [ebp - 0x24]
mov dword [ebx + 0xd8], eax
movq xmm0, qword [esi + 8]
movq qword [ebx + 0xd0], xmm0
jmp 0x1002bef0
mov ebx, dword [ebp + 0xc]
mov esi, 0x80000000
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
mov dword [ebp - 0x1c], eax
xor eax, esi
or eax, ecx
mov eax, ecx
jne 0x1002be65
or edi, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x20]
jne 0x1002be4e
mov eax, dword [ebp + 0xc]
mov ecx, eax
mov eax, dword [eax + 0x30]
or eax, dword [ecx + 0x34]
je 0x1002bef0
mov ecx, dword [ebp - 0x2c]
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x28]
mov esi, 0x80000000
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], ecx
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebx + 0x20]
push ebx
mov edi, dword [ebp - 0x1c]
push edi
push eax
push edi
push eax
call fcn.1002c045
add esp, 0x14
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 8]
mov edi, 0x80000000
mov edx, ecx
xor edx, esi
mov esi, ebx
or edx, eax
jne 0x1002bebe
mov ebx, dword [ebp - 0x20]
mov ecx, dword [ebx + 0xcc]
mov eax, dword [ebx + 0xc8]
movq xmm0, qword [ebx + 0xc8]
mov edx, ecx
pshufd xmm0, xmm0, 0x44
xor edx, edi
movdqu xmmword [esi + 8], xmm0
or edx, eax
mov edx, dword [ebp - 0x24]
jne 0x1002bec7
jmp 0x1002bef0
mov ebx, dword [ebp - 0x20]
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], ecx
push 0
push 1
push dword [ebp - 0x50]
push dword [ebp - 0x3c]
push ecx
push eax
push dword [ebx + 0x14]
push dword [ebx + 0x10]
call fcn.100536db
add esp, 0x20
mov dword [ebx + 0xcc], edx
mov edx, dword [ebp - 0x24]
mov dword [ebx + 0xc8], eax
mov esi, dword [ebp + 0xc]
cmp edx, 0x10
jg 0x1002bf84
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 8]
mov edi, 0x80000000
xor edi, ecx
or edi, eax
je 0x1002bf84
test edx, edx
mov dword [ebx + 0x100], eax
mov dword [ebx + 0x104], ecx
jle 0x1002bf5a
xor edx, edx
mov edi, dword [ebx + edx*8 + 0x108]
mov esi, dword [ebx + edx*8 + 0x10c]
cmp edi, eax
mov ebx, esi
sbb ebx, ecx
mov ebx, dword [ebp - 0x20]
jge 0x1002bf5a
mov dword [ebx + edx*8 + 0x108], eax
mov dword [ebx + edx*8 + 0x10c], ecx
mov dword [ebx + edx*8 + 0x100], edi
mov dword [ebx + edx*8 + 0x104], esi
inc edx
cmp edx, dword [ebp - 0x24]
jl 0x1002bf1f
mov ecx, ebx
call fcn.1002a4da
mov esi, dword [ebp + 0xc]
test eax, eax
je 0x1002bf84
lea edx, [ebx + 0x100]
mov ecx, ebx
push dword [esi + 0x14]
push dword [esi + 0x10]
call fcn.1002c2b8
add esp, 8
mov dword [esi + 0x14], edx
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0x44]
cmp eax, 0xad
je 0x1002bf93
cmp eax, 0x1b
jne 0x1002bfae
mov edx, dword [esi + 0x20]
mov ecx, dword [ebp - 0x30]
push esi
push dword [esi + 0xc]
push dword [esi + 8]
push dword [esi + 0x14]
push dword [esi + 0x10]
call fcn.1002c045
add esp, 0x14
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
mov edx, dword [ebx + 0xcc]
cmp dword [ebx + 0xc8], eax
sbb edx, ecx
jge 0x1002bfd0
mov dword [ebx + 0xc8], eax
mov dword [ebx + 0xcc], ecx
mov eax, dword [ebx + 0xb0]
push dword [eax + 4]
call sym.ffmpeg.dll_avcodec_descriptor_get
add esp, 4
test eax, eax
je 0x1002bff5
cmp dword [eax + 4], 0
jne 0x1002bff1
test byte [eax + 0x10], 1
je 0x1002bff5
or byte [esi + 0x24], 1
mov eax, dword [ebp + 8]
test eax, eax
je 0x1002c009
movq xmm0, qword [eax + 0xe8]
movq qword [esi + 0x40], xmm0
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1015e65c
add esp, 0x44
pop esi
pop edi
pop ebx
pop ebp
ret
mov ebx, dword [ebp - 0x20]
mov edx, dword [eax + 0x20]
mov eax, dword [ebp - 0x1c]
mov edi, esi
mov ecx, dword [ebp - 0x28]
mov dword [ebx + 0xc4], esi
mov esi, dword [ebp + 0xc]
test edx, edx
mov dword [ebx + 0xc0], eax
jne 0x1002ba26
jmp 0x1002bb03