Function at 0x100a809b
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x624
mov eax, dword [0x101c0814]
xor eax, esp
mov dword [esp + 0x620], eax
push ebx
push esi
push edi
xor ecx, ecx
mov eax, ecx
cdq
push 3
pop esi
idiv esi
shl eax, 2
or eax, edx
mov word [ecx*2 + 0x1033ed38], ax
inc ecx
cmp ecx, 0x40
jl 0x100a80ba
push 2
pop ecx
mov dword [esp + 0x14], ecx
mov ebx, 0x1033edbc
mov dword [esp + 0x10], 0xf
xor eax, eax
xor edi, edi
inc eax
bts edi, ecx
shl eax, cl
xor esi, esi
dec eax
cmp ecx, 0x20
cdq
cmovae esi, edi
xor edi, esi
cmp ecx, 0x40
push edx
cmovae esi, edi
shld esi, edi, 0x17
push eax
push esi
shl edi, 0x17
push edi
call fcn.10132970
mov ecx, eax
mov edx, 0x1000000
imul edx
shrd eax, edx, 0x17
sar edx, 0x17
mov dword [ebx - 4], eax
mov edx, 0xcb2ff5
mov eax, ecx
imul edx
shrd eax, edx, 0x17
mov dword [ebx], eax
mov eax, ecx
sar edx, 0x17
lea ebx, [ebx + 0xc]
mov ecx, 0xa14518
imul ecx
mov ecx, dword [esp + 0x14]
shrd eax, edx, 0x17
sar edx, 0x17
inc ecx
sub dword [esp + 0x10], 1
mov dword [ebx - 8], eax
mov dword [esp + 0x14], ecx
jne 0x100a80e9
push 0x1033ee70
call fcn.100ab1be
and dword [esp + 0x20], 0
mov ebx, 0x1030079c
pop ecx
mov dword [esp + 0x14], 0x1019c864
mov esi, 0x1019c5a4
mov dword [esp + 0x18], ebx
push 0x200
lea eax, [esp + 0x2c]
push 0
push eax
call fcn.10134340
push 0x400
lea eax, [esp + 0x238]
push 0
push eax
call fcn.10134340
and dword [esp + 0x28], 0
xor edi, edi
add esp, 0x18
cmp dword [esi - 8], edi
jle 0x100a822f
mov eax, dword [esi]
mov ebx, dword [esp + 0x10]
lea eax, [eax + ebx*2]
xor edx, edx
lea ecx, [edi + edi]
mov dword [esp + 0x10], eax
test edi, edi
je 0x100a81d9
test edx, edx
je 0x100a81d9
xor eax, eax
inc eax
jmp 0x100a81db
xor eax, eax
or ecx, eax
mov eax, dword [esi - 4]
shl ecx, 4
or ecx, edx
mov al, byte [eax + ebx]
mov byte [esp + ecx + 0x28], al
test edi, edi
je 0x100a81f9
test edx, edx
je 0x100a81f9
xor eax, eax
inc eax
jmp 0x100a81fb
xor eax, eax
lea ecx, [edi + edi]
or ecx, eax
mov eax, dword [esp + 0x10]
add dword [esp + 0x10], 2
shl ecx, 4
or ecx, edx
inc ebx
mov ax, word [eax]
inc edx
mov word [esp + ecx*2 + 0x228], ax
lea ecx, [edi + edi]
cmp edx, dword [esi - 8]
jl 0x100a81cc
mov eax, dword [esi]
inc edi
cmp edi, dword [esi - 8]
jl 0x100a81c0
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
push 4
push 0
push 0
push 0
lea eax, [edi*4 + 0x10300880]
mov dword [ebx - 8], eax
mov eax, dword [esp + 0x24]
push 2
push 2
mov eax, dword [eax]
mov dword [ebx], eax
lea eax, [esp + 0x240]
push eax
push 1
push 1
lea eax, [esp + 0x4c]
push eax
push 0x200
push 7
pop eax
push eax
lea eax, [ebx - 0xc]
push eax
call fcn.1003f48c
mov eax, dword [esp + 0x48]
add esi, 0xc
add ebx, 0x10
add esp, 0x34
mov dword [esp + 0x18], ebx
add edi, dword [eax]
add eax, 4
mov dword [esp + 0x1c], edi
mov dword [esp + 0x14], eax
cmp esi, 0x1019c658
jl 0x100a8186
cmp edi, 0xea2
jne 0x100a85b3
xor ebx, ebx
xor edi, edi
xor esi, esi
push 4
push 0
push 0
push 0
xor ecx, ecx
lea eax, [ebx*4 + 0x10304328]
inc ecx
mov dword [esi + 0x1030430c], eax
mov eax, dword [edi*4 + 0x1019c8a0]
test edi, edi
push ecx
push ecx
mov dword [esi + 0x10304314], eax
lea eax, [esi + 0x1019c690]
push eax
push ecx
push ecx
lea eax, [esi + 0x1019c6b0]
push eax
push 0x10
push 4
pop eax
push 7
pop ecx
cmove eax, ecx
push eax
lea eax, [esi + 0x10304308]
push eax
call fcn.1003f48c
add ebx, dword [edi*4 + 0x1019c8a0]
lea esi, [esi + 0x10]
add esp, 0x34
inc edi
cmp edi, 2
jl 0x100a82b0
cmp ebx, 0x90
je 0x100a8330
push 0x148
push str.c:userselectronworkspacelibchromiumcontent_win_ia32_src_third_party_ffmpeglibavcodecmpegaudiodec_template.c
push str.offset___sizeof_huff_quad_vlc_tables____sizeof__huff_quad_vlc_tables__0___
jmp 0x100a85c2
mov ecx, 0x10304594
mov edx, 0x1019c6d0
xor esi, esi
lea ebx, [ecx - 0x2c]
xor edi, edi
movzx eax, byte [edx + edi]
mov word [ebx], si
add esi, eax
inc edi
lea ebx, [ebx + 2]
cmp edi, 0x16
jl 0x100a8341
mov word [ecx], si
add edx, 0x16
add ecx, 0x2e
cmp edx, 0x1019c796
jl 0x100a833a
call fcn.100aaa57
xor edi, edi
mov eax, dword [edi + 0x1015f888]
test eax, eax
jns 0x100a83ca
xor ecx, ecx
xor ebx, ebx
inc ecx
sub ecx, eax
xor eax, eax
inc eax
shl eax, cl
test eax, eax
jle 0x100a83ca
mov eax, dword [edi + 0x1019c8c8]
mov dword [esp + 0x18], eax
mov ecx, dword [edi + 0x1015f840]
mov eax, ebx
cdq
idiv ecx
mov esi, edx
cdq
idiv ecx
mov ecx, dword [esp + 0x18]
shl eax, 4
add eax, edx
shl eax, 4
add eax, esi
inc ebx
mov word [ecx], ax
add ecx, 2
mov dword [esp + 0x18], ecx
xor eax, eax
xor ecx, ecx
inc eax
inc ecx
sub ecx, dword [edi + 0x1015f888]
shl eax, cl
cmp ebx, eax
jl 0x100a838f
add edi, 4
cmp edi, 0x10
jl 0x100a836b
xor esi, esi
cmp esi, 6
je 0x100a8426
movd xmm0, esi
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x10168e38]
divsd xmm0, qword [0x10174bc8]
call fcn.101432f0
cvtsd2ss xmm0, xmm0
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
movaps xmm0, xmm1
addsd xmm0, qword [0x10174bb0]
divsd xmm1, xmm0
mulsd xmm1, qword [0x1019cb88]
addsd xmm1, qword [0x10168e30]
cvttsd2si edx, xmm1
jmp 0x100a842b
mov edx, 0x800000
mov ecx, esi
mov eax, 0x1033d910
shl ecx, 2
sub eax, ecx
inc esi
push 7
mov dword [ecx + 0x1033d8b8], edx
mov dword [eax], edx
pop eax
cmp esi, eax
jl 0x100a83d4
mov eax, 0x1033d8d4
and dword [eax + 0x40], 0
and dword [eax], 0
add eax, 4
cmp eax, 0x1033d8f8
jl 0x100a844c
xor esi, esi
and dword [esp + 0x1c], 0
mov ebx, esi
and ebx, 1
mov eax, ebx
xor eax, 1
mov dword [esp + 0x14], eax
lea eax, [esi + 1]
mov edi, eax
mov dword [esp + 0x10], eax
sar edi, 1
neg edi
mov eax, edi
mov dword [esp + 0x18], edi
movd xmm0, eax
cvtdq2pd xmm0, xmm0
push ecx
push ecx
mulsd xmm0, qword [0x1019cb78]
movsd qword [esp], xmm0
call fcn.101399cc
fmul qword [0x1019cb88]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
add eax, edx
pop ecx
fadd qword [0x10168e30]
shl eax, 4
pop ecx
add eax, esi
fstp qword [esp + 0x20]
cvttsd2si ecx, qword [esp + 0x20]
mov dword [eax*4 + 0x1033d938], ecx
lea eax, [edx + ebx]
shl eax, 4
add edx, 2
add eax, esi
mov dword [esp + 0x1c], edx
mov dword [eax*4 + 0x1033d938], 0x800000
mov eax, dword [esp + 0x18]
add eax, edi
mov dword [esp + 0x18], eax
cmp edx, 4
jl 0x100a8485
mov esi, dword [esp + 0x10]
cmp esi, 0x10
jl 0x100a845f
mov esi, 0x1033da3c
mov edi, 0x1019c83c
movss xmm1, dword [edi]
cvtps2pd xmm1, xmm1
movaps xmm0, xmm1
mulsd xmm0, xmm1
addsd xmm0, qword [0x10174bb0]
call fcn.10139690
movsd xmm1, qword [0x10174bb0]
divsd xmm1, xmm0
movaps xmm0, xmm1
mulsd xmm0, qword [0x1019cb78]
mulsd xmm0, qword [0x1019cb98]
addsd xmm0, qword [0x10168e30]
cvttsd2si edx, xmm0
movss xmm0, dword [edi]
add edi, 4
cvtps2pd xmm0, xmm0
mov dword [esi - 4], edx
mulsd xmm1, xmm0
mulsd xmm1, qword [0x1019cb78]
mulsd xmm1, qword [0x1019cb98]
addsd xmm1, qword [0x10168e30]
cvttsd2si ecx, xmm1
mov dword [esi], ecx
lea eax, [ecx + edx]
sub ecx, edx
mov dword [esi + 4], eax
mov dword [esi + 8], ecx
add esi, 0x10
cmp edi, 0x1019c85c
jl 0x100a850f
mov ecx, dword [esp + 0x62c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.10132731
mov esp, ebp
pop ebp
ret
push 0x13d
push str.c:userselectronworkspacelibchromiumcontent_win_ia32_src_third_party_ffmpeglibavcodecmpegaudiodec_template.c
push str.offset___sizeof_huff_vlc_tables____sizeof__huff_vlc_tables__0___
push str.Assertion__s_failed_at__s:_d_n
push 0
push 0
call fcn.1006b450
add esp, 0x18
call fcn.10136f67
int3