Function at 0x100b3360
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100c8f5b
mov eax, dword fs:[0]
push eax
sub esp, 0x7c
mov eax, dword [0x102a000c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x54], edi
mov ebx, dword [0x102a5264]
mov ecx, dword [0x102a525c]
mov eax, dword [0x102a5258]
dec ecx
mov dword [ebp - 0x30], ebx
mov ebx, dword [0x102a5260]
dec ebx
mov dword [ebp - 0x34], eax
sub ebx, ecx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x50], ebx
cmp ebx, 1
jl 0x100b36e6
xorps xmm0, xmm0
mov dword [ebp - 0x18], 0
lea esi, [ebx + 1]
mov dword [ebp - 0x14], 0
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 4], 0
lea eax, [esi + 1]
mov dword [ebp - 0x2c], ecx
lea ecx, [ebp - 0x28]
push eax
call fcn.1001c410
push esi
lea ecx, [ebp - 0x1c]
call fcn.1001c410
mov eax, dword [ebp - 0x38]
lea ecx, [esi*4]
add eax, 0x78
mov dword [ebp - 0x58], ecx
add eax, edi
push ecx
push eax
push dword [ebp - 0x28]
mov dword [ebp - 0x44], eax
call fcn.10022500
movsd xmm1, qword [0x10293e28]
add esp, 0xc
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
mov eax, dword [ebp - 0x34]
mov ebx, dword [ebp - 0x30]
mov esi, ebx
mov edx, dword [ebp - 0x38]
mov ecx, ebx
sar eax, 0x10
mov dword [ebp - 0x3c], eax
mov eax, ebx
cvtps2pd xmm0, xmm0
mov ebx, dword [ebp - 0x34]
sar ebx, 8
sar eax, 8
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x30]
mov dword [edi + edx*4 + 0x78], ebx
divsd xmm1, xmm0
sar ecx, 0x10
movzx edx, cl
movzx ecx, al
movzx eax, bl
mov ebx, dword [ebp - 0x34]
movzx ebx, bl
sub ebx, eax
shr esi, 0x18
mov dword [ebp - 0x84], ebx
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 0x40]
movd xmm4, ecx
movd xmm5, eax
movzx eax, bl
sub eax, ecx
movd xmm3, edx
mov dword [ebp - 0x80], eax
mov ecx, eax
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x3c]
movzx eax, al
sub eax, edx
movd xmm2, esi
mov dword [ebp - 0x7c], eax
mov edx, eax
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x34]
shr eax, 0x18
sub eax, esi
cvtpd2ps xmm1, xmm1
mov dword [ebp - 0x34], eax
mov esi, eax
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm3, xmm3
cvtdq2ps xmm4, xmm4
cvtdq2ps xmm5, xmm5
mov dword [ebp - 0x4c], eax
mov ebx, edi
mov eax, dword [ebp - 0x38]
add ebx, 0x7c
lea eax, [ebx + eax*4]
mov ebx, eax
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
addss xmm0, xmm2
cvttss2si edi, xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
shl edi, 0x18
mulss xmm0, xmm1
addss xmm0, xmm3
cvttss2si eax, xmm0
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movzx esi, al
shl esi, 0x10
mulss xmm0, xmm1
addss xmm0, xmm4
cvttss2si eax, xmm0
movd xmm0, dword [ebp - 0x30]
cvtdq2ps xmm0, xmm0
movzx edx, al
shl edx, 8
mulss xmm0, xmm1
addss xmm0, xmm5
cvttss2si eax, xmm0
movzx ecx, al
mov eax, dword [ebx]
or ecx, edx
mov edx, dword [ebp - 0x3c]
or ecx, esi
mov esi, dword [ebp - 0x4c]
and eax, edi
add esi, dword [ebp - 0x34]
xor eax, ecx
mov ecx, dword [ebp - 0x40]
add edx, dword [ebp - 0x7c]
add ecx, dword [ebp - 0x80]
mov dword [ebx], eax
add ebx, 4
mov eax, dword [ebp - 0x84]
add dword [ebp - 0x30], eax
sub dword [ebp - 0x50], 1
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x40], ecx
jne 0x100b34d4
push dword [ebp - 0x58]
push dword [ebp - 0x44]
push dword [ebp - 0x1c]
call fcn.10022500
mov edi, dword [ebp - 0x24]
lea eax, [ebp - 0x78]
mov ebx, dword [ebp - 0x54]
add esp, 0xc
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x44], eax
cmp eax, edi
je 0x100b35de
mov esi, edi
sub esi, eax
sar esi, 2
push esi
call fcn.10009050
mov ecx, dword [ebp - 0x44]
sub edi, ecx
push edi
push ecx
lea esi, [eax + esi*4]
mov dword [ebp - 0x74], eax
push eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], esi
call fcn.10022500
add esp, 0xc
mov dword [ebp - 0x70], esi
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x44], eax
cmp eax, edi
je 0x100b3630
mov esi, edi
sub esi, eax
sar esi, 2
push esi
call fcn.10009050
mov ecx, dword [ebp - 0x44]
sub edi, ecx
push edi
push ecx
lea esi, [eax + esi*4]
mov dword [ebp - 0x68], eax
push eax
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], esi
call fcn.10022500
add esp, 0xc
mov dword [ebp - 0x64], esi
mov ecx, ebx
mov byte [ebp - 4], 2
call fcn.100b63f0
mov eax, dword [ebx + 0x89c]
lea esi, [ebx + 0x898]
sub eax, dword [esi]
lea ecx, [ebx + 0x880]
sar eax, 2
imul edx, eax, 0xb6db6db7
mov eax, dword [ecx + 4]
mov dword [ebp - 0x48], 1
mov dword [ebp - 0x44], edx
cmp eax, dword [ecx + 8]
je 0x100b3679
mov dword [eax], 1
mov dword [eax + 4], edx
add dword [ecx + 4], 8
jmp 0x100b3683
lea edx, [ebp - 0x48]
push edx
push eax
call fcn.1001c950
mov edi, dword [esi + 4]
cmp edi, dword [esi + 8]
je 0x100b36b5
mov eax, dword [ebp - 0x78]
lea ecx, [edi + 4]
mov dword [edi], eax
lea eax, [ebp - 0x74]
push eax
mov dword [ebp - 0x44], edi
call fcn.10011b70
lea eax, [ebp - 0x68]
mov byte [ebp - 4], 3
push eax
lea ecx, [edi + 0x10]
call fcn.10011b70
add dword [esi + 4], 0x1c
jmp 0x100b36c1
lea eax, [ebp - 0x78]
mov ecx, esi
push eax
push edi
call fcn.1001c570
inc dword [ebx + 0x8a4]
lea ecx, [ebp - 0x78]
call fcn.1001bee0
push dword [ebx + 0x68]
lea eax, [ebx + 0x78]
push dword [ebx + 0x74]
push eax
call fcn.100be3a0
lea ecx, [ebp - 0x2c]
call fcn.1001bee0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1001ed23
mov esp, ebp
pop ebp
ret 0x10