Function at 0x100eb4e0
Capabilities:
Encrypt data using speck

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x54
mov esi, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov eax, dword [0x10305014]
xor eax, ebp
mov dword [ebp - 0x10], eax
xor eax, eax
mov edi, dword [ecx + 0xc]
mov ecx, dword [ecx + 0x10]
mov dword [ebp - 0x2c], ecx
mov ebx, dword [edi + 0x30]
imul edx, dword [esi + 0x20], 0x568
mov ecx, dword [ebx + edx + 0x50]
mov dword [ebp - 0x34], ecx
mov ecx, dword [esi + 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x20], 0xffffffff
mov ecx, dword [ebx + edx + 4]
test ecx, ecx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x48], edi
je 0x100eb550
mov eax, dword [ebp - 0x28]
mov edx, dword [ebx + eax + 0x64]
shl ecx, 6
mov eax, dword [ecx + edx - 0x38]
mov ecx, dword [ecx + edx - 0x34]
mov edx, dword [ebp - 0x28]
jmp 0x100eb585
mov eax, dword [ebx + edx + 0x80]
mov ecx, dword [ebx + edx + 0x84]
mov edx, ecx
mov esi, 0x80000000
xor edx, esi
or edx, eax
mov edx, dword [ebp - 0x28]
je 0x100eb57c
cmp dword [ebx + edx + 0xf8], 0
je 0x100eb912
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x10]
mov ecx, dword [ecx + 0x14]
mov edi, dword [ebx + edx + 0xa0]
mov dword [ebp - 0x30], ebx
mov edx, dword [ebx + edx + 0xa4]
mov ebx, edx
mov esi, 0x80000000
xor ebx, esi
xor esi, esi
or ebx, edi
cmove edx, esi
cmove edi, esi
sub eax, edi
sbb ecx, edx
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebx + 0x10]
mov edx, dword [ebx + 0x14]
sub edi, eax
sbb edx, ecx
jl 0x100eb5c7
cmp edi, 0x7fffffff
sbb edx, 0
jb 0x100eb5e2
add eax, 1
adc ecx, 0
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], ecx
mov eax, 0x80000000
mov dword [ebx + 0xc], eax
mov dword [ebx + 8], 0
xor eax, eax
mov ecx, 0x7fffffff
cmp ecx, dword [ebx + 0x30]
mov esi, 0xffffffea
sbb eax, dword [ebx + 0x34]
jb 0x100ec9e5
mov esi, dword [ebp - 0x30]
mov edx, dword [ebp - 0x28]
lea eax, [esi + edx]
mov dword [ebp - 0x44], eax
lea eax, [esi + edx]
add eax, 4
mov dword [ebp - 0x3c], eax
mov edi, dword [ebp - 0x48]
mov eax, dword [edi + 0x34]
test al, 2
jne 0x100eb622
cmp dword [edi + 4], 0x100
jne 0x100eb695
and eax, 4
or eax, dword [edi + 0x48]
jne 0x100eb635
lea ebx, [edi + 0x60]
cmp dword [edi + 0x60], 0
jne 0x100eb68d
jmp 0x100eb679
mov eax, dword [edi + 0x90]
test eax, eax
je 0x100eb66b
cmp dword [edi + 0x4c], 0
jle 0x100eb66b
mov ecx, dword [ebp - 0x3c]
mov ecx, dword [ecx]
sub ecx, dword [esi + edx + 0xfc]
cmp ecx, eax
jl 0x100eb66b
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x44]
call fcn.100ecc70
mov edx, dword [ebp - 0x28]
test eax, eax
js 0x100eb91f
lea ebx, [esi + edx]
add ebx, 0xe8
cmp dword [ebx], 0
jne 0x100eb68d
push ebx
call fcn.10174fd0
mov edx, dword [ebp - 0x28]
add esp, 4
test eax, eax
js 0x100eb91f
mov eax, dword [ebx]
mov dword [ebp - 0x2c], eax
mov ebx, dword [ebp + 0xc]
lea eax, [esi + edx]
add eax, 0x50
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax + 4]
cmp ecx, 0x11001
je 0x100eb70b
cmp ecx, 0x11006
je 0x100eb70b
cmp ecx, 0x12000
jne 0x100eb715
cmp dword [ebp - 0x38], 0
jle 0x100eb75c
mov eax, dword [ebx + 0x18]
xor ebx, ebx
xor edi, edi
mov edx, ebx
movzx esi, byte [eax + ebx]
shr esi, 2
and esi, 0x1e
movzx ebx, word [esi + 0x102e1fd8]
add ebx, edx
lea edx, [edi + 1]
cmp ebx, dword [ebp - 0x38]
jge 0x100eb6f1
cmp edi, 0x63
mov edi, edx
jb 0x100eb6cd
cmp edx, 1
jne 0x100eba50
xor eax, eax
inc eax
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebp - 0x48]
mov esi, dword [ebp - 0x30]
mov edx, dword [ebp - 0x28]
jmp 0x100eb737
mov eax, dword [ebp - 0x50]
mov eax, dword [eax]
mov eax, dword [eax + 0x74]
jmp 0x100eb733
mov eax, esi
mov esi, edi
mov edi, dword [eax + edx + 0x28]
test edi, edi
je 0x100eb9e4
mov eax, dword [ebp - 0x38]
cdq
idiv edi
mov edx, dword [ebp - 0x28]
mov edi, esi
mov esi, dword [ebp - 0x30]
test eax, eax
je 0x100eb75c
mov dword [ebp - 0x60], eax
add esi, edx
add esi, 0x5c
cmp dword [esi], 0
je 0x100eb81d
cmp ecx, 0xac
jg 0x100eb766
cmp ecx, 0x1b
je 0x100eb776
cmp ecx, 0x63
je 0x100eb776
jmp 0x100eb77f
mov esi, 0xbaa8beb0
jmp 0x100ec9e5
cmp ecx, 0x1502c
je 0x100eb776
cmp ecx, 0xad
jne 0x100eb77f
cmp dword [esi], 0
je 0x100eb87c
xor eax, eax
cmp ecx, 0x15001
jle 0x100eb7ba
cmp ecx, 0x15027
jg 0x100eb8c2
cmp ecx, 0x15002
mov esi, dword [ebp - 0x30]
je 0x100eba22
mov edx, 0
cmp ecx, 0x15003
je 0x100eb926
jmp 0x100ebccc
cmp ecx, 0x1b
mov edx, dword [ebp - 0x28]
je 0x100eba58
cmp ecx, 0xad
je 0x100eba7a
mov edx, 0
cmp ecx, 0xe2
mov esi, dword [ebp - 0x30]
jne 0x100ebccc
mov eax, dword [ebp - 0x28]
mov eax, dword [esi + eax + 0xa8]
test eax, eax
js 0x100ebb41
cmp eax, dword [edi + 0x10]
jge 0x100ebb41
lea eax, [ebp - 0x1c]
lea ecx, [ebp - 0x18]
lea edx, [ebp - 0x24]
push eax
push ecx
push edx
push dword [ebx + 0x18]
call fcn.100e5270
add esp, 0x10
jmp 0x100ebaea
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x38], eax
test eax, eax
jle 0x100eb748
mov eax, edi
mov edi, edx
mov edx, dword [ebp - 0x30]
mov edx, dword [edx + edi + 0x48]
cmp edx, 0x36356960
jg 0x100ebb0a
cmp edx, 0x33356960
jle 0x100ebc02
cmp edx, 0x35356960
mov edi, eax
jg 0x100ebf64
cmp edx, 0x33356961
je 0x100eb748
cmp edx, 0x35316961
je 0x100eb748
jmp 0x100ebf96
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x28]
mov eax, dword [eax + edx + 0x48]
cmp eax, 0x36356960
jg 0x100eb9f1
cmp eax, 0x33356960
jle 0x100ebbac
cmp eax, 0x35356960
jg 0x100ebdeb
cmp eax, 0x33356961
je 0x100eb77f
cmp eax, 0x35316961
je 0x100eb77f
jmp 0x100ebe19
cmp ecx, 0x15028
mov esi, dword [ebp - 0x30]
je 0x100eb926
mov edx, 0
cmp ecx, 0x1700a
jne 0x100ebccc
mov dword [ebp - 0x18], 8
mov eax, dword [ebx + 0x1c]
test eax, eax
jle 0x100ebc58
mov edx, dword [ebx + 0x18]
xor esi, esi
mov ecx, 8
cmp byte [edx + esi], 0xfc
jne 0x100eb906
add ecx, 2
mov dword [ebp - 0x18], ecx
add esi, 3
cmp esi, eax
jl 0x100eb8fa
jmp 0x100ebc5d
add eax, dword [ebx + edx + 0x18]
adc ecx, dword [ebx + edx + 0x1c]
jmp 0x100eb585
mov esi, eax
jmp 0x100ec9e5
mov dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x28]
mov ecx, dword [esi + eax + 0x128]
test ecx, ecx
jne 0x100eb95d
add esi, eax
add esi, 0x128
push 0x14
call fcn.100602f0
add esp, 4
mov dword [esi], eax
test eax, eax
je 0x100ebbf8
mov byte [eax + 8], 0xff
mov ecx, dword [esi]
cmp dword [ecx], 0
mov esi, ecx
jne 0x100eb973
call sym.ffmpeg.dll_av_packet_alloc
mov dword [esi], eax
test eax, eax
je 0x100ebbf8
lea eax, [ebp - 0x14]
push dword [ebx + 0x1c]
push dword [ebx + 0x18]
push eax
call fcn.1003a020
add esp, 0xc
test eax, eax
js 0x100ebb8a
mov ecx, dword [ebp - 0x14]
mov eax, 0x10624dd3
mul dword [ecx + 0x28]
movzx eax, word [esi + 6]
shr edx, 6
cmp edx, eax
cmovbe edx, eax
mov word [esi + 6], dx
mov eax, dword [esi + 8]
mov edx, dword [ecx + 0x38]
cmp al, dl
cmovg edx, eax
mov byte [esi + 8], dl
mov eax, dword [ecx + 0x1c]
mov dword [ebp - 0x58], eax
cmp byte [esi + 4], 0
je 0x100ebd7e
movzx eax, byte [esi + 5]
test eax, eax
jne 0x100ebe81
cmp dword [ebp - 0x58], 6
jne 0x100ebe81
mov esi, dword [ebx + 0x1c]
jmp 0x100ec17a
xor eax, eax
inc eax
mov edi, esi
mov esi, dword [ebp - 0x30]
jmp 0x100eb737
cmp eax, 0x70356960
jle 0x100ebbd2
cmp eax, 0x71356960
jg 0x100ebe03
cmp eax, 0x70356961
je 0x100eb77f
cmp eax, 0x71316961
je 0x100eb77f
jmp 0x100ebe19
cmp dword [ebx + 0x1c], 3
jl 0x100eba4c
mov eax, dword [ebx + 0x18]
movzx eax, word [eax]
rol ax, 8
cmp ax, 0xfff0
jb 0x100eba4c
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x1c]
mov ecx, dword [ebx + 0x20]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax + 0x28]
or ecx, dword [eax + 0x2c]
je 0x100eba50
xor eax, eax
jmp 0x100eba73
xor esi, esi
dec esi
jmp 0x100ec9e5
mov al, 1
cmp dword [esi], 0
jle 0x100ebcc7
mov esi, dword [ebp - 0x30]
mov ecx, dword [esi + edx + 0x60]
cmp byte [ecx], 1
jne 0x100ebf1d
xor edx, edx
jmp 0x100ebccc
mov dl, 1
cmp dword [esi], 7
jl 0x100ebb83
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x28]
mov eax, dword [eax + ecx + 0x60]
movzx ecx, byte [eax]
shl ecx, 0x10
movzx esi, byte [eax + 1]
shl esi, 8
or esi, ecx
movzx ecx, byte [eax + 2]
or ecx, esi
cmp ecx, 1
je 0x100ebab5
cmp dword [eax], 0x1000000
jne 0x100ebb83
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x28]
mov eax, dword [ecx + edx + 0xa8]
test eax, eax
js 0x100ec006
cmp eax, dword [edi + 0x10]
jge 0x100ec006
xor eax, eax
lea ecx, [ebp - 0x18]
lea edx, [ebp - 0x24]
push eax
push eax
push ecx
push edx
push dword [ebx + 0x18]
call fcn.100e7b80
add esp, 0x14
mov esi, eax
test eax, eax
js 0x100ec9e5
push dword [ebp - 0x18]
push dword [ebp - 0x24]
push dword [ebp - 0x2c]
call fcn.10173ae0
add esp, 0xc
jmp 0x100ec1a7
cmp edx, 0x70356960
jle 0x100ebc2d
cmp edx, 0x71356960
mov edi, eax
jg 0x100ebf7e
cmp edx, 0x70356961
je 0x100eb748
cmp edx, 0x71316961
je 0x100eb748
jmp 0x100ebf96
push dword [ebx + 0x1c]
push dword [ebx + 0x18]
push dword [ebp - 0x2c]
call fcn.100e51a0
add esp, 0xc
mov dword [ebp - 0x18], eax
xor esi, esi
mov ecx, dword [ebp - 0x44]
cmp dword [ecx], 0x100
jne 0x100ec1a7
mov ecx, dword [ebx + 0x20]
cmp dword [edi + ecx*4 + 0xe0], 0
jne 0x100ec1a7
mov dword [edi + ecx*4 + 0xe0], eax
jmp 0x100ec1a7
xor eax, eax
jmp 0x100ebcc9
mov esi, 0xfffffff4
cmp eax, 0xfffffff4
je 0x100ec17a
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
test eax, eax
mov esi, 0xbebbb1b7
cmove esi, eax
jmp 0x100ec17a
cmp eax, 0x32316961
je 0x100eb77f
cmp eax, 0x32356961
je 0x100eb77f
cmp eax, 0x33316961
je 0x100eb77f
jmp 0x100ebe19
cmp eax, 0x36356961
je 0x100eb77f
cmp eax, 0x6e695641
je 0x100eb77f
cmp eax, 0x70316961
je 0x100eb77f
jmp 0x100ebe19
mov esi, 0xfffffff4
jmp 0x100ec9e5
cmp edx, 0x32316961
mov edi, eax
je 0x100eb748
cmp edx, 0x32356961
je 0x100eb748
cmp edx, 0x33316961
je 0x100eb748
jmp 0x100ebf96
cmp edx, 0x36356961
mov edi, eax
je 0x100eb748
cmp edx, 0x6e695641
je 0x100eb748
cmp edx, 0x70316961
je 0x100eb748
jmp 0x100ebf96
mov ecx, 8
push ecx
mov esi, dword [ebp - 0x2c]
push esi
call fcn.10173d70
add esp, 8
push 0x74616463
push esi
call fcn.10173ce0
add esp, 8
mov eax, dword [ebx + 0x1c]
test eax, eax
jle 0x100ec1a5
xor esi, esi
mov edx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x2c]
mov ecx, dword [ebx + 0x18]
cmp byte [ecx + esi], 0xfc
jne 0x100ebcbb
movzx eax, byte [ecx + esi + 1]
push eax
push edi
call fcn.10173990
add esp, 8
mov eax, dword [ebx + 0x18]
movzx eax, byte [eax + esi + 2]
push eax
push edi
call fcn.10173990
mov edx, dword [ebp - 0x28]
add esp, 8
mov eax, dword [ebx + 0x1c]
add esi, 3
cmp esi, eax
jl 0x100ebc8b
jmp 0x100ebd77
xor edx, edx
mov esi, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x28]
cmp dword [esi + ebx + 0x12c], 0
je 0x100ebd3b
lea ecx, [esi + ebx]
add ecx, 0x12c
test al, al
je 0x100ebd05
mov eax, dword [ebp - 0x34]
cmp dword [eax + 0x10], 5
jl 0x100ebd05
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 0xc]
movzx eax, byte [eax + 4]
and eax, 3
inc eax
push dword [ebp - 0x18]
mov ebx, dword [ebp + 0xc]
jmp 0x100ebd26
test dl, dl
mov ebx, dword [ebp + 0xc]
je 0x100ebd58
mov eax, dword [ebp - 0x34]
cmp dword [eax + 0x10], 0x16
jl 0x100ebd58
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 0xc]
movzx eax, byte [eax + 0x15]
and eax, 3
inc eax
push dword [ebp - 0x18]
push dword [ebx + 0x18]
push dword [ebp - 0x2c]
push eax
push ecx
push dword [ebp + 8]
call fcn.100fd200
add esp, 0x18
jmp 0x100ebd6a
push dword [ebp - 0x18]
mov eax, dword [ebp + 0xc]
push dword [eax + 0x18]
push dword [ebp - 0x2c]
call fcn.10173ae0
add esp, 0xc
xor esi, esi
mov edx, ebx
jmp 0x100ec1aa
push dword [ebp - 0x18]
push dword [ebx + 0x18]
push dword [ebp - 0x2c]
push ecx
call fcn.100fcda0
add esp, 0x10
mov esi, eax
test eax, eax
mov edx, dword [ebp - 0x28]
jne 0x100ec9d4
xor esi, esi
jmp 0x100ec1aa
mov dword [ebp - 0x40], esi
cmp byte [ecx + 5], 0xa
ja 0x100ebd96
mov esi, 0xffffffea
cmp dword [ecx + 0xc], 0
jne 0x100ec17a
movzx eax, byte [ecx + 9]
test al, 0xfd
jne 0x100ec09f
mov eax, dword [ecx + 0xc]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 9]
lea esi, [edx + 1]
cmp eax, esi
mov esi, 0xffffffea
jg 0x100ec17a
mov esi, 0xbaa8beb0
je 0x100ec17a
cmp eax, edx
mov esi, dword [ebp - 0x40]
jl 0x100ec100
test eax, eax
jne 0x100ec0b3
cmp byte [esi + 0xb], 0
jne 0x100ec100
xor eax, eax
jmp 0x100ec0b3
cmp eax, 0x35356961
je 0x100eb77f
cmp eax, 0x36316961
je 0x100eb77f
jmp 0x100ebe19
cmp eax, 0x71356961
je 0x100eb77f
cmp eax, 0x78766961
je 0x100eb77f
mov eax, dword [ebp - 0x18]
mov dword [esi], eax
mov eax, dword [ebp - 0x18]
add eax, 0x40
push eax
call sym.ffmpeg.dll_av_malloc
add esp, 4
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x28]
mov dword [ecx + edx + 0x60], eax
test eax, eax
je 0x100ec095
lea edi, [ecx + edx]
add edi, 0x60
mov ebx, dword [ebp - 0x18]
push ebx
mov ecx, dword [ebp + 0xc]
push dword [ecx + 0x18]
push eax
call fcn.10132610
add esp, 0xc
mov eax, dword [edi]
mov edi, dword [ebp - 0x48]
xorps xmm0, xmm0
movups xmmword [eax + ebx], xmm0
movups xmmword [eax + ebx + 0x10], xmm0
movups xmmword [eax + ebx + 0x20], xmm0
movups xmmword [eax + ebx + 0x30], xmm0
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax + 4]
jmp 0x100eb77f
mov dword [ebp - 0x40], esi
mov ecx, dword [ebp - 0x58]
add ecx, eax
mov esi, 0xbebbb1b7
cmp ecx, 6
jg 0x100ec17a
test eax, eax
je 0x100ec15b
push dword [ebx + 0x1c]
mov eax, dword [ebp - 0x40]
push dword [eax]
call fcn.1003af40
add esp, 8
mov esi, eax
test eax, eax
js 0x100ec17a
mov eax, dword [ebp - 0x40]
mov eax, dword [eax]
mov ecx, dword [eax + 0x18]
add ecx, dword [eax + 0x1c]
mov eax, dword [ebx + 0x1c]
sub ecx, eax
push eax
push dword [ebx + 0x18]
push ecx
call fcn.10132610
add esp, 0xc
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x40]
add byte [ecx + 5], al
mov eax, dword [ebx + 0x30]
mov edx, dword [ebx + 0x34]
mov dword [ebp - 0x38], edx
mov edx, dword [ecx]
add dword [edx + 0x30], eax
mov eax, dword [ebp - 0x38]
adc dword [edx + 0x34], eax
cmp byte [ecx + 5], 6
jne 0x100ec17a
push ebx
call sym.ffmpeg.dll_av_packet_unref
add esp, 4
mov esi, dword [ebp - 0x40]
push dword [esi]
push ebx
call fcn.1003b3f0
add esp, 8
mov byte [esi + 5], 0
jmp 0x100eb9dc
mov ecx, dword [esi + edx + 0x48]
xor edx, edx
cmp ecx, 0x36356960
jg 0x100ec042
cmp ecx, 0x33356960
jle 0x100ec109
cmp ecx, 0x35356960
jg 0x100eca39
cmp ecx, 0x33356961
je 0x100ebccc
cmp ecx, 0x35316961
je 0x100ebccc
jmp 0x100eca6b
cmp edx, 0x35356961
je 0x100eb748
cmp edx, 0x36316961
je 0x100eb748
jmp 0x100ebf96
cmp edx, 0x71356961
je 0x100eb748
cmp edx, 0x78766961
je 0x100eb748
cmp ecx, 0x63
mov ecx, 0x63
je 0x100eb776
mov eax, dword [ebp - 0x38]
mov dword [esi], eax
add eax, 0x40
push eax
call sym.ffmpeg.dll_av_malloc
add esp, 4
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x28]
mov dword [ecx + edx + 0x60], eax
test eax, eax
je 0x100ec095
lea edi, [ecx + edx]
add edi, 0x60
push dword [esi]
mov ecx, dword [ebp - 0x34]
push dword [ecx + 0xc]
push eax
call fcn.10132610
add esp, 0xc
mov eax, dword [edi]
mov edi, dword [ebp - 0x48]
mov ecx, dword [esi]
xorps xmm0, xmm0
movups xmmword [eax + ecx + 0x30], xmm0
movups xmmword [eax + ecx + 0x20], xmm0
movups xmmword [eax + ecx + 0x10], xmm0
movups xmmword [eax + ecx], xmm0
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax + 4]
jmp 0x100eb748
cmp dword [ecx + edx + 0x12c], 0
mov eax, dword [ebx + 0x18]
je 0x100ec077
add ecx, edx
add ecx, 0x12c
push dword [ebp - 0x18]
push eax
push dword [ebp - 0x2c]
push ecx
call fcn.100fcfd0
mov edx, dword [ebp - 0x28]
add esp, 0x10
mov dword [ebp - 0x18], eax
xor esi, esi
test eax, eax
jns 0x100ec1aa
mov esi, eax
jmp 0x100ec34d
cmp ecx, 0x70356960
jle 0x100ec132
cmp ecx, 0x71356960
jg 0x100eca53
cmp ecx, 0x70356961
je 0x100ebccc
cmp ecx, 0x71316961
je 0x100ebccc
jmp 0x100eca6b
xor esi, esi
push esi
push esi
push dword [ebx + 0x1c]
push eax
push dword [ebp - 0x2c]
call fcn.100e7a60
mov edx, dword [ebp - 0x28]
add esp, 0x14
mov dword [ebp - 0x18], eax
jmp 0x100ec1aa
mov esi, 0xfffffff4
jmp 0x100ec9d4
mov esi, 0xbaa8beb0
cmp dword [ecx + 0xc], 0
jne 0x100ec17a
xor eax, eax
mov esi, dword [ebp - 0x40]
mov cl, byte [ecx + 4]
mov byte [esi + eax*8 + 0xa], cl
mov eax, dword [ebp - 0x14]
mov cl, byte [eax + 5]
mov eax, dword [eax + 0xc]
mov byte [esi + eax*8 + 0xb], cl
mov eax, dword [ebp - 0x14]
mov cl, byte [eax + 6]
mov eax, dword [eax + 0xc]
mov byte [esi + eax*8 + 0xc], cl
mov eax, dword [ebp - 0x14]
mov cl, byte [eax + 7]
mov eax, dword [eax + 0xc]
mov byte [esi + eax*8 + 0xd], cl
mov eax, dword [ebp - 0x14]
mov cl, byte [eax + 8]
mov eax, dword [eax + 0xc]
mov byte [esi + eax*8 + 0xe], cl
mov eax, dword [ebp - 0x50]
mov eax, dword [eax]
cmp dword [eax + 4], 0x15003
jne 0x100eca9e
mov byte [esi + 4], 1
jmp 0x100eb9c6
cmp ecx, 0x32316961
je 0x100ebccc
cmp ecx, 0x32356961
je 0x100ebccc
cmp ecx, 0x33316961
je 0x100ebccc
jmp 0x100eca6b
cmp ecx, 0x36356961
je 0x100ebccc
cmp ecx, 0x6e695641
je 0x100ebccc
cmp ecx, 0x70316961
je 0x100ebccc
jmp 0x100eca6b
push ebx
mov eax, dword [ebp - 0x40]
push dword [eax]
call sym.ffmpeg.dll_av_packet_ref
add esp, 8
mov esi, eax
test eax, eax
jne 0x100ec17a
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x58]
mov byte [eax + 5], cl
xor esi, esi
push dword [ebp - 0x14]
call sym.ffmpeg.dll_av_free
add esp, 4
mov dword [ebp - 0x18], esi
test esi, esi
js 0x100ec9e5
je 0x100ec716
push esi
push dword [ebx + 0x18]
push dword [ebp - 0x2c]
call fcn.10173ae0
add esp, 0xc
xor esi, esi
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x50], esi
mov ebx, dword [ebp - 0x3c]
mov esi, dword [ebx]
mov eax, dword [ebp - 0x30]
cmp esi, dword [eax + edx + 0x68]
jb 0x100ec1ed
add esi, 0x400
push 0x40
push esi
mov eax, dword [ebp - 0x30]
push dword [eax + edx + 0x64]
mov edi, edx
call fcn.10060350
add esp, 0xc
test eax, eax
je 0x100ec348
mov ecx, dword [ebp - 0x30]
add ecx, edi
add ecx, 0x68
mov dword [ecx - 4], eax
mov dword [ecx], esi
mov ebx, dword [ebp - 0x3c]
xor eax, eax
push 1
push eax
push eax
push dword [ebp - 0x2c]
call fcn.100433e0
add esp, 0x10
mov ecx, dword [ebp - 0x18]
mov edi, ecx
sar edi, 0x1f
sub eax, ecx
sbb edx, edi
mov ecx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x30]
add esi, ecx
add esi, 0x64
mov ecx, dword [ebx]
shl ecx, 6
mov edi, dword [esi]
mov dword [edi + ecx], eax
mov dword [edi + ecx + 4], edx
mov eax, dword [esi]
mov ecx, dword [ebx]
shl ecx, 6
mov edi, dword [ebp - 0x60]
mov dword [eax + ecx + 0x1c], edi
mov eax, dword [esi]
mov ecx, dword [ebx]
shl ecx, 6
xor edx, edx
mov dword [eax + ecx + 0x20], edx
mov eax, dword [ebp - 0x18]
mov ecx, dword [esi]
mov edx, dword [ebx]
shl edx, 6
mov dword [ecx + edx + 0x18], eax
mov edx, dword [ebp - 0x28]
mov eax, dword [esi]
mov ecx, dword [ebx]
shl ecx, 6
mov dword [eax + ecx + 0x24], edi
mov edi, dword [ebp + 0xc]
movsd xmm0, qword [edi + 0x10]
mov eax, dword [esi]
mov ecx, dword [ebx]
shl ecx, 6
movsd qword [eax + ecx + 8], xmm0
movsd xmm0, qword [edi + 8]
mov eax, dword [esi]
mov ecx, dword [ebx]
shl ecx, 6
movsd qword [eax + ecx + 0x10], xmm0
mov dword [ebp - 0x38], esi
xor eax, eax
cmp dword [esi + 0x4f8], eax
mov esi, dword [ebp - 0x30]
mov edi, 0x80000000
je 0x100ec2e1
cmp dword [ebx], 0
jne 0x100ec2e6
mov eax, dword [esi + edx + 0x84]
xor eax, edi
or eax, dword [esi + edx + 0x80]
jne 0x100ec2e6
mov eax, dword [ebp - 0x48]
cmp dword [eax + 0x88], 0
jne 0x100ec2e6
mov eax, dword [ebp + 8]
cmp dword [eax + 0xc4], 2
jne 0x100ec2e6
lea eax, [esi + edx]
add eax, 0x80
xor ecx, ecx
mov dword [eax + 4], ecx
mov dword [eax], ecx
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
mov dword [eax + 0xc], ecx
mov dword [eax + 8], ecx
jmp 0x100ec2e6
cmp dword [ebx], 0
je 0x100ec355
mov ebx, dword [esi + edx + 0x80]
mov ecx, dword [esi + edx + 0x84]
mov eax, edx
mov edx, ecx
xor edx, edi
or edx, ebx
jne 0x100ec3b2
lea edx, [esi + eax]
add edx, 0x80
mov ecx, dword [ebp + 0xc]
mov ebx, dword [ecx + 0x10]
mov ecx, dword [ecx + 0x14]
mov dword [edx], ebx
mov dword [edx + 4], ecx
cmp dword [edx + 0x78], 0
je 0x100ec3b2
add esi, eax
add esi, 0xf8
mov eax, dword [ebp - 0x48]
cmp dword [eax + 0x88], 0
je 0x100ec39d
mov eax, dword [ebp + 0xc]
mov ebx, dword [eax + 0x10]
sub ebx, dword [eax + 8]
mov ecx, dword [eax + 0x14]
sbb ecx, dword [eax + 0xc]
jmp 0x100ec3a1
mov esi, 0xfffffff4
mov ebx, dword [ebp + 0xc]
jmp 0x100ec9d4
mov eax, dword [esi + edx + 0x80]
mov ecx, dword [esi + edx + 0x84]
mov edx, ecx
xor edx, edi
or edx, eax
mov edx, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x3c]
je 0x100ec296
cmp dword [esi + edx + 0xf8], 0
je 0x100ec837
lea eax, [esi + edx]
add eax, 0xf8
xor ecx, ecx
mov dword [eax - 0x68], ecx
mov dword [eax - 0x64], edi
mov dword [eax], ecx
mov ebx, dword [ebp - 0x3c]
jmp 0x100ec296
xor ebx, ebx
xor ecx, ecx
mov dword [edx], ebx
mov dword [edx + 4], ecx
mov dword [esi], 0
mov esi, dword [ebp - 0x30]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], ebx
mov ebx, dword [ebp + 0xc]
mov edx, dword [ebx + 0x10]
mov edi, esi
mov esi, dword [ebx + 0x14]
sub edx, dword [ebp - 0x2c]
sbb esi, ecx
add edx, dword [ebx + 0x30]
adc esi, dword [ebx + 0x34]
mov dword [edi + eax + 0x18], edx
mov dword [edi + eax + 0x1c], esi
mov dword [edi + eax + 0x20], 0
mov ecx, dword [ebx + 8]
mov eax, dword [ebx + 0x10]
mov edx, dword [ebx + 0xc]
mov esi, edx
mov edi, 0x80000000
xor esi, edi
or esi, ecx
mov esi, dword [ebx + 0x14]
jne 0x100ec401
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], esi
mov ecx, eax
mov edi, dword [ebp - 0x3c]
jmp 0x100ec41f
xor eax, ecx
xor esi, edx
or esi, eax
mov eax, ecx
mov esi, dword [ebp - 0x30]
mov edi, dword [ebp - 0x3c]
je 0x100ec41f
mov eax, dword [ebp - 0x28]
or byte [esi + eax + 0x38], 1
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 0x10]
sub eax, ecx
mov ecx, dword [ebp - 0x38]
mov esi, dword [ecx]
mov dword [ebp - 0x2c], esi
mov edx, dword [edi]
shl edx, 6
mov esi, dword [ebp - 0x2c]
mov dword [esi + edx + 0x28], eax
mov esi, dword [ebp - 0x30]
mov eax, dword [ecx]
mov ecx, dword [edi]
shl ecx, 6
mov dword [eax + ecx + 0x2c], 0
mov ecx, dword [ebp - 0x28]
mov eax, dword [esi + ecx + 0x8c]
mov edx, 0x80000000
xor eax, edx
or eax, dword [esi + ecx + 0x88]
jne 0x100ec480
mov eax, dword [ebx + 8]
sub eax, dword [ebx + 0x10]
mov ecx, dword [ebx + 0xc]
sbb ecx, dword [ebx + 0x14]
mov edx, dword [ebp - 0x28]
add edx, esi
add edx, 0x88
mov dword [edx], eax
mov dword [edx + 4], ecx
mov ecx, dword [ebp - 0x28]
mov ecx, dword [esi + ecx + 0x94]
mov eax, 0x80000000
xor eax, ecx
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
mov dword [ebp - 0x54], eax
mov edi, eax
shl edi, 6
mov eax, dword [ebp - 0x38]
mov edx, dword [eax]
mov esi, dword [edx + edi + 0x28]
mov eax, esi
sar eax, 0x1f
add esi, dword [edx + edi + 8]
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x4c], edi
adc eax, dword [edx + edi + 0xc]
add esi, dword [ebx + 0x30]
adc eax, dword [ebx + 0x34]
mov edx, dword [ebp - 0x30]
mov edi, dword [ebp - 0x28]
mov edi, dword [edx + edi + 0x90]
cmp edi, esi
mov edx, esi
cmova edx, edi
cmp ecx, eax
mov ebx, esi
cmovg ebx, edi
cmove ebx, edx
cmovle ecx, eax
or dword [ebp - 0x2c], edi
cmove ebx, esi
mov edx, dword [ebp - 0x30]
cmove ecx, eax
mov eax, dword [ebp - 0x28]
mov dword [edx + eax + 0x94], ecx
mov eax, dword [ebp - 0x28]
mov dword [edx + eax + 0x90], ebx
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax + 4]
cmp ecx, 0x1502c
je 0x100ec61b
cmp ecx, 0x46
jne 0x100ec665
mov eax, dword [ebp + 0xc]
mov esi, dword [eax + 0x1c]
mov ecx, dword [eax + 0x24]
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x2c], 0
cmp esi, 4
jl 0x100ec70d
mov eax, dword [eax + 0x18]
add esi, eax
lea ebx, [ebp - 0x14]
mov dword [ebx], 0xffffffff
push ebx
push esi
push eax
call fcn.1016b510
add esp, 0xc
mov ecx, 0xffffff00
and ecx, dword [ebx]
cmp ecx, 0x100
jne 0x100ec740
add eax, 0xfffffffc
mov dword [ebp - 0x34], 0
cmp eax, esi
mov edx, dword [ebp - 0x28]
jae 0x100ec74a
mov ecx, dword [ebp - 0x30]
add ecx, edx
add ecx, 0x124
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x44], esi
mov edi, 0xffffff00
mov ebx, eax
add eax, 4
mov ecx, esi
sub ecx, eax
cmp ecx, 4
jl 0x100ec5db
mov dword [ebp - 0x14], 0xffffffff
lea ecx, [ebp - 0x14]
push ecx
push esi
push eax
call fcn.1016b510
mov edx, dword [ebp - 0x28]
add esp, 0xc
mov ecx, dword [ebp - 0x14]
and ecx, edi
mov esi, dword [ebp - 0x44]
cmp ecx, 0x100
jne 0x100ec5db
add eax, 0xfffffffc
jmp 0x100ec5dd
mov eax, esi
mov ecx, dword [ebx]
bswap ecx
cmp ecx, 0x10b
je 0x100ec601
cmp ecx, 0x10e
je 0x100ec60c
cmp ecx, 0x10f
jne 0x100ec612
xor ecx, ecx
inc ecx
mov dword [ebp - 0x2c], ecx
jmp 0x100ec612
mov ecx, dword [ebp - 0x4c]
mov dword [ecx], 1
jmp 0x100ec612
xor ecx, ecx
inc ecx
mov dword [ebp - 0x34], ecx
cmp eax, esi
jb 0x100ec5a0
jmp 0x100ec74a
mov ebx, dword [ebp + 0xc]
mov ecx, dword [ebx + 0x1c]
cmp ecx, 8
jl 0x100ec928
mov esi, dword [ebx + 0x18]
movzx eax, word [esi]
rol ax, 8
add eax, eax
and eax, 0x1ffe
cmp ax, 8
jb 0x100ec928
cmp ecx, eax
jb 0x100ec928
cmp dword [esi + 4], 0xba6f72f8
jne 0x100ec928
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x4c]
jmp 0x100ec919
mov ebx, dword [ebp + 0xc]
test byte [ebx + 0x24], 1
je 0x100ec928
mov eax, dword [ebp - 0x48]
cmp dword [eax + 4], 2
mov esi, dword [ebp - 0x44]
mov eax, dword [ebp - 0x4c]
lea eax, [esi + eax + 0x2c]
jne 0x100ec71d
cmp ecx, 2
jne 0x100ec71d
cmp dword [ebp - 0x54], 0
jle 0x100ec71d
mov ecx, dword [ebx + 0x1c]
mov dword [ebp - 0x2c], ecx
cmp ecx, 5
jl 0x100ec6f4
mov dword [ebp - 0x4c], eax
mov eax, dword [ebx + 0x18]
mov dword [ebp - 0x34], eax
xor esi, esi
xor edx, edx
dec edx
mov ecx, 4
mov edi, dword [ebp - 0x34]
mov eax, edx
shl eax, 8
movzx edx, byte [edi + ecx - 4]
or edx, eax
cmp edx, 0x1b8
je 0x100ec6de
cmp edx, 0x100
jne 0x100ec6e8
jmp 0x100ec9f9
movzx esi, byte [edi + ecx]
shr esi, 6
and esi, 1
inc ecx
cmp dword [ebp - 0x2c], ecx
jne 0x100ec6bd
mov edx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x54]
mov eax, ecx
shl eax, 6
test byte [esi + eax + 0x2c], 2
je 0x100ec72d
mov eax, dword [ebp - 0x30]
or byte [eax + edx + 0x38], 2
jmp 0x100ec72d
mov dword [ebp - 0x34], 0
jmp 0x100ec74a
xor esi, esi
jmp 0x100ec9d4
mov dword [eax], 1
mov eax, dword [ebp - 0x38]
mov esi, dword [eax]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax]
shl ecx, 6
test byte [esi + ecx + 0x2c], 1
jne 0x100ec921
jmp 0x100ec928
mov dword [ebp - 0x34], 0
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
test eax, eax
mov esi, dword [ebp - 0x30]
jne 0x100ec776
lea ecx, [esi + edx]
add ecx, 0x118
cmp dword [ecx - 4], 0
je 0x100ec76d
mov dword [ecx], 1
jmp 0x100ec776
cmp dword [ecx], 0
je 0x100ec8ae
cmp dword [ebp - 0x2c], 0
je 0x100ec786
cmp dword [esi + edx + 0x11c], 0
je 0x100ec79e
cmp dword [ebp - 0x34], 0
je 0x100ec8c8
cmp dword [esi + edx + 0x120], 0
jne 0x100ec8c8
test eax, eax
mov ebx, dword [ebp - 0x3c]
mov edi, dword [ebp - 0x38]
jle 0x100ec7bd
xor eax, eax
mov ecx, 0x2c
mov edx, dword [edi]
and dword [edx + ecx], 0xfffffffe
inc eax
add ecx, 0x40
cmp eax, dword [ebx]
jl 0x100ec7af
mov edx, dword [ebp - 0x28]
mov dword [esi + edx + 0x30], 0
cmp dword [ebp - 0x2c], 0
je 0x100ec7d9
mov dword [esi + edx + 0x11c], 1
cmp dword [ebp - 0x34], 0
je 0x100ec7ea
mov dword [esi + edx + 0x120], 1
cmp dword [esi + edx + 0x118], 0
jne 0x100ec8c8
cmp dword [ebp - 0x2c], 0
je 0x100ec80f
lea eax, [esi + edx]
add eax, 0x10c
cmp dword [eax], 0
je 0x100ec8c8
cmp dword [ebp - 0x34], 0
je 0x100ec823
cmp dword [esi + edx + 0x110], 0
je 0x100ec8c8
lea eax, [esi + edx]
add eax, 0x30
mov ecx, dword [ebp - 0x38]
mov ecx, dword [ecx]
or dword [ecx + 0x2c], 1
jmp 0x100ec8c2
add eax, dword [esi + edx + 0x18]
adc ecx, dword [esi + edx + 0x1c]
mov edx, dword [ebp - 0x38]
mov edx, dword [edx]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov edx, dword [ebp - 0x28]
mov eax, 0x204800
mov ecx, dword [ebp - 0x48]
and eax, dword [ecx + 0x34]
cmp eax, 0x800
mov ebx, dword [ebp - 0x3c]
je 0x100ec86f
mov eax, dword [ebp - 0x48]
cmp dword [eax + 4], 0x40
jne 0x100ec296
mov eax, dword [esi + edx + 0x90]
mov ecx, dword [esi + edx + 0x94]
mov edi, dword [ebp + 0xc]
add eax, dword [edi + 0x10]
adc ecx, dword [edi + 0x14]
mov edx, dword [ebp - 0x38]
mov edx, dword [edx]
mov esi, dword [ebx]
shl esi, 6
sub eax, dword [edx + esi + 8]
sbb ecx, dword [edx + esi + 0xc]
mov edx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x30]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
mov edi, 0x80000000
jmp 0x100ec296
lea eax, [esi + edx]
add eax, 0x114
mov ecx, dword [ebp - 0x2c]
mov dword [eax - 8], ecx
mov ecx, dword [ebp - 0x34]
mov dword [eax - 4], ecx
mov dword [eax], 1
cmp dword [esi + edx + 0x11c], 0
mov eax, dword [esi + edx + 0x120]
mov ebx, dword [ebp + 0xc]
je 0x100ec8f5
test eax, eax
je 0x100ec905
cmp dword [ebp - 0x2c], 0
setne al
cmp dword [ebp - 0x34], 0
setne cl
and cl, al
movzx eax, cl
jmp 0x100ec908
mov ecx, dword [ebp - 0x54]
and ecx, 1
test eax, eax
mov eax, dword [ebp - 0x34]
cmove eax, ecx
jmp 0x100ec908
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x100ec928
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x3c]
mov ecx, dword [ecx]
shl ecx, 6
add eax, ecx
add eax, 0x2c
or byte [eax], 1
mov eax, dword [ebp - 0x30]
inc dword [eax + edx + 0x30]
test byte [ebx + 0x24], 0x10
mov esi, dword [ebp - 0x30]
je 0x100ec947
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x3c]
mov ecx, dword [ecx]
shl ecx, 6
or dword [eax + ecx + 0x2c], 4
inc dword [esi + edx + 0x34]
lea eax, [ebp - 0x20]
push eax
push 0x1b
push ebx
call sym.ffmpeg.dll_av_packet_get_side_data
add esp, 0xc
mov ecx, dword [ebp - 0x3c]
mov ecx, dword [ecx]
shl ecx, 6
mov edx, dword [ebp - 0x38]
mov edx, dword [edx]
add ecx, edx
add ecx, 0x30
test eax, eax
je 0x100ec977
cmp dword [ebp - 0x20], 0x10
jne 0x100ec977
movups xmm0, xmmword [eax]
jmp 0x100ec97a
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x3c]
inc dword [eax]
mov eax, dword [ebp - 0x60]
add dword [esi + edx + 0x24], eax
mov eax, dword [ebp - 0x18]
mov ecx, eax
sar ecx, 0x1f
mov edi, dword [ebp - 0x48]
add dword [edi + 0x28], eax
adc dword [edi + 0x2c], ecx
mov ecx, dword [esi + edx + 0xa8]
test ecx, ecx
js 0x100ec9d1
mov edx, dword [ebp - 0x48]
cmp ecx, dword [edx + 0x10]
jge 0x100ec9d1
mov edx, dword [ebp - 0x24]
mov esi, dword [ebp - 0x1c]
add esi, edx
test edx, edx
cmove esi, edx
push eax
push esi
mov eax, dword [ebp - 0x3c]
push dword [eax]
push ecx
push ebx
push dword [ebp + 8]
call fcn.100fd990
add esp, 0x18
mov esi, dword [ebp - 0x50]
mov eax, dword [ebp - 0x24]
cmp dword [ebx + 0x18], eax
je 0x100ec9e5
push eax
call sym.ffmpeg.dll_av_free
add esp, 4
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10130483
mov eax, esi
add esp, 0x54
pop esi
pop edi
pop ebx
pop ebp
ret
mov edx, dword [ebp - 0x34]
movzx eax, byte [edx + ecx - 3]
movzx ecx, byte [edx + ecx - 2]
shl eax, 2
shr ecx, 6
or ecx, eax
sete al
test esi, esi
setne cl
or cl, al
movzx eax, cl
mov ecx, 2
sub ecx, eax
mov eax, dword [ebp - 0x4c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x38]
mov esi, dword [eax]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x28]
jmp 0x100ec6f7
cmp ecx, 0x35356961
je 0x100ebccc
cmp ecx, 0x36316961
je 0x100ebccc
jmp 0x100eca6b
cmp ecx, 0x71356961
je 0x100ebccc
cmp ecx, 0x78766961
je 0x100ebccc
mov ecx, dword [ebp - 0x28]
mov eax, dword [esi + ecx + 0xa8]
test eax, eax
js 0x100ecc25
cmp eax, dword [edi + 0x10]
jge 0x100ecc25
lea eax, [ebp - 0x18]
lea ecx, [ebp - 0x24]
push eax
push ecx
push dword [ebx + 0x18]
call fcn.100e6300
add esp, 0xc
jmp 0x100ebaea
mov eax, dword [ebx + 0x1c]
mov ecx, dword [ebp - 0x14]
movzx edx, word [ecx + 0x2e]
cmp eax, edx
je 0x100eb9c6
mov ecx, dword [ecx + 0xc]
mov dword [ebp - 0x5c], ecx
sub eax, edx
mov ecx, dword [ebx + 0x18]
mov dword [ebp - 0x4c], edx
add ecx, edx
push eax
push ecx
lea eax, [ebp - 0x14]
push eax
call fcn.1003a020
add esp, 0xc
mov esi, eax
test eax, eax
js 0x100ec17a
mov eax, dword [ebp - 0x14]
cmp byte [eax + 9], 1
jne 0x100ecc59
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x5c]
inc byte [eax + ecx*8 + 0xf]
shr esi, 3
mov eax, dword [ebx + 0x1c]
mov edx, dword [ebp - 0x4c]
sub eax, esi
sub eax, edx
mov edi, dword [ebx + 0x18]
add edi, edx
add edi, esi
lea edx, [eax*8]
cmp eax, 0x10000000
mov eax, 0xfffffff8
cmovae edx, eax
cmp edx, 0x7ffffdff
setb al
test edi, edi
setne cl
add edx, 8
test al, cl
mov esi, edi
mov eax, 0
cmove esi, eax
mov eax, 8
cmove edx, eax
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax + 7]
mov al, 1
mov dword [ebp - 0x44], eax
mov edi, 5
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x50], esi
add edi, 5
mov ecx, dword [ebp - 0x38]
mov edx, ecx
cmp ecx, edi
jb 0x100ecb64
mov edx, edi
mov ecx, edx
shr ecx, 3
xor eax, eax
mov esi, dword [ebp - 0x38]
cmp edx, esi
setl al
mov edi, dword [ebp - 0x50]
movzx ebx, byte [edi + ecx]
mov ecx, edx
and cl, 7
shl ebx, cl
lea ecx, [edx + eax]
add ecx, 8
mov edi, esi
cmp esi, ecx
jb 0x100ecb8f
mov edi, ecx
test bl, 0x80
mov ecx, dword [ebp - 0x54]
jne 0x100ecb9b
add edx, eax
mov edi, edx
mov ebx, dword [ebp + 0xc]
mov edx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x50]
test cl, cl
jne 0x100ecbb5
test byte [ebp - 0x44], 1
mov dword [ebp - 0x44], 0
jne 0x100ecb56
mov ecx, edi
mov eax, edi
shr eax, 3
movzx eax, byte [esi + eax]
mov edi, esi
mov esi, ecx
and cl, 7
shl eax, cl
test al, 0x80
je 0x100ecbf9
xor ecx, ecx
cmp esi, dword [ebp - 0x38]
setl cl
add ecx, esi
mov eax, ecx
shr eax, 3
mov eax, dword [edi + eax]
bswap eax
and cl, 7
shl eax, cl
mov ecx, eax
shr ecx, 0xf0
shr ecx, 5
and ecx, 0x1f
mov esi, dword [ebp - 0x40]
mov eax, dword [ebp - 0x5c]
jmp 0x100ecc02
mov esi, dword [ebp - 0x40]
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x54]
or cx, word [esi + eax*8 + 0x10]
mov word [esi + eax*8 + 0x10], cx
mov eax, dword [ebp - 0x14]
movzx eax, word [eax + 0x2e]
add edx, eax
mov eax, dword [ebx + 0x1c]
cmp eax, edx
jne 0x100ecab6
jmp 0x100eb9c6
cmp dword [esi + ecx + 0x12c], 0
mov eax, dword [ebx + 0x18]
je 0x100ecc3f
add ecx, esi
add ecx, 0x12c
jmp 0x100ec01b
push dword [ebx + 0x1c]
push eax
push dword [ebp - 0x2c]
call fcn.100e61e0
mov edx, dword [ebp - 0x28]
add esp, 0xc
mov dword [ebp - 0x18], eax
jmp 0x100ebd77
mov esi, 0xffffffea
jmp 0x100ec17a