Function at 0x100a9c90
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x7c
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp + 0x20]
mov dword [ebp - 0x14], edx
mov eax, 0x10346e20
mov edx, 0x1026dc20
mov edi, 0x900
mov esi, 0x80
mov ebx, dword [ebp + 0x18]
movaps xmm1, xmmword [0x10210920]
test ecx, ecx
cmovne edx, eax
mov eax, 0x480
shr esi, cl
shr eax, cl
mov dword [ebp - 0x88], edx
sub edi, eax
shl eax, 2
mov dword [ebp - 0x44], eax
mov eax, 0x40
mov dword [ebp - 0x1c], edi
mov edi, 0x200
shr eax, cl
shr edi, cl
mov dword [ebp - 0x10], eax
mov eax, 0xc0
mov dword [ebp - 0x84], edi
shr eax, cl
mov dword [ebp - 0x30], eax
mov eax, 0x100
shr eax, cl
mov dword [ebp - 0x2c], eax
mov eax, 0x1c0
shr eax, cl
mov dword [ebp - 0x28], eax
mov eax, 0x140
shr eax, cl
lea eax, [edx + eax*4]
mov dword [ebp - 0x80], eax
mov eax, 0x2c0
shr eax, cl
mov dword [ebp - 0x7c], eax
mov eax, 0x180
shr eax, cl
lea eax, [edx + eax*4]
mov dword [ebp - 0x78], eax
mov eax, 0x300
shr eax, cl
mov dword [ebp - 0x74], eax
mov eax, 0x3c0
shr eax, cl
mov dword [ebp - 0x70], eax
mov eax, 0x400
shr eax, cl
mov dword [ebp - 0x6c], eax
mov eax, 0x240
shr eax, cl
lea eax, [edx + eax*4]
mov dword [ebp - 0x68], eax
mov eax, 0x4c0
shr eax, cl
mov ecx, esi
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x34], ecx
lea eax, [ebx + eax*4]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp + 0x14]
lea eax, [eax + 0x100]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x10]
lea eax, [edx + eax*4]
mov dword [ebp - 0x60], eax
lea eax, [edx + ecx*4]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x30]
lea eax, [edx + eax*4]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x2c]
lea eax, [edx + eax*4]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x28]
lea eax, [edx + eax*4]
mov dword [ebp - 0x50], eax
lea eax, [edx + edi*4]
mov edi, dword [ebp + 0x10]
mov dword [ebp - 0x4c], eax
lea eax, [edi + 0x267c]
add edi, 0x80
mov dword [ebp - 0x38], eax
xor eax, eax
mov ebx, dword [ebp + 0x1c]
mov dword [ebp - 0x18], eax
mov eax, dword [ebx]
cmp eax, ecx
jge 0x100a9df8
push dword [ebp - 0x44]
push dword [ebp + 0x18]
push dword [ebp - 0x40]
call fcn.101e35e0
movaps xmm1, xmmword [0x10210920]
mov ecx, dword [ebp - 0x34]
add esp, 0xc
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp + 0x18]
sub eax, ecx
cmp dword [ebp + 0x20], 0
mov dword [ebx], eax
lea eax, [edx + eax*4]
mov dword [ebp - 0x3c], eax
je 0x100a9e5b
mov ecx, dword [ebp - 0x38]
mov eax, 0xffffff80
movss xmm0, dword [edi + eax]
xorps xmm0, xmm1
movss dword [edi + eax], xmm0
mov edx, dword [ecx]
add ecx, 0xfffffffc
mov dword [edi + eax + 0x80], edx
add eax, 4
jne 0x100a9e13
mov eax, dword [ebp - 0x18]
shl eax, 8
add eax, dword [ebp + 0x10]
push eax
mov ebx, dword [ebp + 0x14]
push ebx
mov eax, dword [ebp - 0x24]
push eax
call dword [eax + 0x2c]
add esp, 0xc
push ebx
mov eax, dword [ebp - 0x3c]
mov ebx, eax
push eax
mov eax, dword [ebp - 0x14]
call dword [eax + 0x14]
add esp, 8
jmp 0x100a9eac
mov ebx, dword [ebp - 0x18]
mov eax, dword [ebp + 0x10]
shl ebx, 8
lea eax, [eax + ebx + 0x2600]
mov dword [ebp - 0x48], eax
push eax
mov eax, dword [ebp - 0x14]
call dword [eax + 8]
add esp, 4
add ebx, dword [ebp + 0x10]
push ebx
mov ebx, dword [ebp - 0x24]
mov eax, dword [ebp + 0x14]
push eax
push ebx
call dword [ebx + 0x2c]
add esp, 0xc
push dword [ebp - 0x48]
push dword [ebp - 0x20]
push ebx
call dword [ebx + 0x2c]
add esp, 0xc
push dword [ebp + 0x14]
push dword [ebp - 0x20]
mov eax, dword [ebp - 0x3c]
mov ebx, eax
push eax
mov eax, dword [ebp - 0x14]
call dword [eax + 0x18]
add esp, 0xc
push dword [ebp - 0x10]
push dword [ebp - 0x88]
push ebx
push esi
mov eax, dword [ebp + 8]
call dword [eax]
add esp, 0x10
mov eax, dword [ebp - 0x30]
lea eax, [ebx + eax*4]
push dword [ebp - 0x10]
push esi
push dword [ebp - 0x60]
push eax
push esi
mov eax, dword [ebp + 8]
call dword [eax + 0x18]
add esp, 0x14
mov eax, dword [ebp - 0x2c]
lea eax, [ebx + eax*4]
push dword [ebp - 0x10]
push esi
push dword [ebp - 0x5c]
push eax
push esi
mov eax, dword [ebp + 8]
call dword [eax + 0x18]
add esp, 0x14
mov eax, dword [ebp - 0x28]
lea eax, [ebx + eax*4]
push dword [ebp - 0x10]
push esi
push dword [ebp - 0x58]
push eax
push esi
mov eax, dword [ebp + 8]
call dword [eax + 0x18]
add esp, 0x14
mov eax, dword [ebp - 0x84]
lea eax, [ebx + eax*4]
push dword [ebp - 0x10]
push esi
push dword [ebp - 0x54]
push eax
push esi
mov eax, dword [ebp + 8]
call dword [eax + 0x18]
add esp, 0x14
mov eax, dword [ebp - 0x7c]
lea eax, [ebx + eax*4]
push dword [ebp - 0x10]
push esi
push dword [ebp - 0x80]
push eax
push esi
mov eax, dword [ebp + 8]
call dword [eax + 0x18]
add esp, 0x14
mov eax, dword [ebp - 0x74]
lea eax, [ebx + eax*4]
push dword [ebp - 0x10]
push esi
push dword [ebp - 0x78]
push eax
push esi
mov eax, dword [ebp + 8]
call dword [eax + 0x18]
add esp, 0x14
mov eax, dword [ebp - 0x70]
lea eax, [ebx + eax*4]
push dword [ebp - 0x10]
push esi
push dword [ebp - 0x50]
push eax
push esi
mov eax, dword [ebp + 8]
call dword [eax + 0x18]
add esp, 0x14
mov eax, dword [ebp - 0x6c]
lea eax, [ebx + eax*4]
push dword [ebp - 0x10]
push esi
push dword [ebp - 0x4c]
push eax
push esi
mov eax, dword [ebp + 8]
call dword [eax + 0x18]
add esp, 0x14
mov eax, dword [ebp - 0x64]
lea eax, [ebx + eax*4]
mov ebx, dword [ebp - 0x10]
push ebx
push esi
push dword [ebp - 0x68]
push eax
push esi
mov eax, dword [ebp + 8]
call dword [eax + 0x18]
add esp, 0x14
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x34]
movaps xmm1, xmmword [0x10210920]
add dword [ebp - 0x38], 0x100
lea esi, [esi + ebx*4]
add edi, 0x100
inc eax
cmp eax, 0x20
jne 0x100a9dce
add esp, 0x7c
pop esi
pop edi
pop ebx
pop ebp
ret