Function at 0x100a7cc0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10224f29
mov eax, dword fs:[0]
push eax
sub esp, 0x4c
push ebx
push esi
push edi
mov eax, dword [0x102d2084]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x3c], ecx
mov eax, dword [0x10bbb620]
add eax, 0x91761abb
xor eax, 0xfd410b50
cmp byte [eax + 7], 0
je 0x100a836f
mov ecx, dword [eax + 0x134]
mov dword [ebp - 0x30], ecx
test ecx, ecx
je 0x100a836f
cmp dword [eax + 0x138], 0
je 0x100a836f
mov eax, dword [0x1036f68c]
test al, 1
jne 0x100a7e72
or eax, 1
mov dword [0x1036f68c], eax
mov dword [ebp - 4], 0
mov ebx, dword [0x1036cbb0]
cmp ebx, dword [0x1036cbb4]
je 0x100a7d94
nop dword [eax]
mov eax, dword [ebx]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x100a7d89
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x100a7d63
xor edx, edx
test ecx, ecx
je 0x100a7d89
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x100a7d70
cmp esi, 0x4e9f1122
je 0x100a7daa
add ebx, 4
cmp ebx, dword [0x1036cbb4]
jne 0x100a7d50
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x30]
mov dword [0x1036f690], eax
jmp 0x100a7e77
mov eax, dword [ebp - 0x10]
xor esi, esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x20], esi
cmp dword [eax + 4], esi
jle 0x100a7e48
xor ecx, ecx
mov dword [ebp - 0x28], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x100a7df4
cmp dword [ecx + 4], 0
jle 0x100a7df4
push 0
mov edx, 0x1c93bcf0
call fcn.10138e60
add esp, 4
test eax, eax
je 0x100a7df1
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x18], esi
mov eax, dword [ebp - 0x10]
mov edi, dword [ebx]
mov esi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x100a7e00
xor edx, edx
test ecx, ecx
je 0x100a7e2c
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x100a7e10
cmp esi, 0x1c93bcf0
je 0x100a7e5b
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x28]
inc edx
mov esi, dword [ebp - 0x18]
add ecx, 0x3c
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x28], ecx
cmp edx, dword [eax + 4]
jl 0x100a7dc3
mov eax, esi
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x30]
mov dword [0x1036f690], eax
jmp 0x100a7e77
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x30]
mov dword [0x1036f690], eax
jmp 0x100a7e77
mov eax, dword [0x1036f690]
mov eax, dword [ecx + eax]
mov dword [ebp - 0x38], eax
mov eax, dword [0x10370fac]
test al, 1
jne 0x100a7fd2
or eax, 1
mov dword [0x10370fac], eax
mov dword [ebp - 4], 1
mov ebx, dword [0x1036cbb0]
cmp ebx, dword [0x1036cbb4]
je 0x100a7ef4
mov eax, dword [ebx]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x100a7ee9
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x100a7ec0
xor edx, edx
test ecx, ecx
je 0x100a7ee9
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x100a7ed0
cmp esi, 0x72e242a1
je 0x100a7f0a
add ebx, 4
cmp ebx, dword [0x1036cbb4]
jne 0x100a7ea7
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x30]
mov dword [0x10370f6c], eax
jmp 0x100a7fd7
mov eax, dword [ebp - 0x18]
xor esi, esi
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x28], esi
cmp dword [eax + 4], esi
jle 0x100a7fa8
xor ecx, ecx
mov dword [ebp - 0x20], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x100a7f54
cmp dword [ecx + 4], 0
jle 0x100a7f54
push 0
mov edx, 0x84cdad2
call fcn.10138e60
add esp, 4
test eax, eax
je 0x100a7f51
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x10], esi
mov eax, dword [ebp - 0x18]
mov edi, dword [ebx]
mov esi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x100a7f60
xor edx, edx
test ecx, ecx
je 0x100a7f8c
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x100a7f70
cmp esi, 0x84cdad2
je 0x100a7fbb
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x20]
inc edx
mov esi, dword [ebp - 0x10]
add ecx, 0x3c
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x20], ecx
cmp edx, dword [eax + 4]
jl 0x100a7f23
mov eax, esi
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x30]
mov dword [0x10370f6c], eax
jmp 0x100a7fd7
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x10]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x30]
mov dword [0x10370f6c], eax
jmp 0x100a7fd7
mov eax, dword [0x10370f6c]
cmp dword [ebp - 0x38], 2
je 0x100a836f
cmp dword [ecx + eax], 0
jle 0x100a836f
cmp byte [0x10355c70], 0
je 0x100a836f
mov esi, dword [ebp - 0x3c]
lea ecx, [esi + 0x64]
call fcn.100a5c80
test al, al
je 0x100a836f
mov eax, dword [esi + 0xac]
mov ecx, dword [esi + 0xa8]
sub eax, ecx
sar eax, 4
cmp eax, 1
jb 0x100a836f
movss xmm0, dword [ecx]
movss xmm1, dword [0x102baa58]
movss dword [ebp - 0x58], xmm0
movss xmm0, dword [ecx + 4]
movss dword [ebp - 0x54], xmm0
movss xmm0, dword [ecx + 8]
movss dword [ebp - 0x50], xmm0
movss xmm0, dword [0x10355c80]
mulss xmm0, xmm1
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x34], 0
cvttss2si ebx, xmm0
mov dword [ebp - 0x30], 0
movss xmm0, dword [0x10355c7c]
mulss xmm0, xmm1
movzx ebx, bl
shl ebx, 8
cvttss2si eax, xmm0
movss xmm0, dword [0x10355c78]
mulss xmm0, xmm1
movzx eax, al
or ebx, eax
shl ebx, 8
cvttss2si edx, xmm0
movss xmm0, dword [0x10355c74]
mulss xmm0, xmm1
movzx eax, dl
or ebx, eax
shl ebx, 8
cvttss2si ecx, xmm0
movzx eax, cl
or ebx, eax
mov eax, dword [0x103bb7e4]
add eax, 0x5f05664a
xor eax, 0xc1d56fa6
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx + 0x24]
add ecx, 0x24
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x48], eax
or eax, 3
mov dword [ebp - 4], 2
mov dword [ecx], eax
mov eax, dword [esi + 0xac]
mov edi, dword [esi + 0xa8]
mov dword [ebp - 0x3c], eax
cmp edi, eax
je 0x100a836a
movss xmm6, dword [0x102ba7b4]
movss xmm7, dword [0x102ba73c]
mov esi, dword [0x103bb7e4]
lea eax, [ebp - 0x2c]
push 0
push eax
add esi, 0x5f05664a
lea eax, [ebp - 0x58]
xor esi, 0xc1d56fa6
push eax
mov ecx, esi
call fcn.101685b0
test al, al
je 0x100a834c
push 0
lea eax, [ebp - 0x34]
mov ecx, esi
push eax
push edi
call fcn.101685b0
test al, al
je 0x100a834c
cmp byte [edi + 0xc], 0
je 0x100a821c
movss xmm0, dword [ebp - 0x34]
lea eax, [ebp - 0x24]
mov esi, dword [esi + 0xc]
xorps xmm3, xmm3
movss xmm2, dword [0x102ba878]
push 0xe
push ecx
movss dword [ebp - 0x24], xmm0
mov ecx, esi
movss xmm0, dword [ebp - 0x30]
mov dword [esp], 0x40bba867
push eax
movss dword [ebp - 0x20], xmm0
call fcn.100cb160
push 0xc81e1e1e
push dword [esi + 0x58]
mov ecx, esi
push dword [esi + 0x60]
call fcn.100ca670
movss xmm0, dword [ebp - 0x34]
xorps xmm3, xmm3
movss xmm2, dword [0x102ba84c]
mov dword [esi + 0x58], 0
mov eax, dword [0x103bb7e4]
add eax, 0x5f05664a
movss dword [ebp - 0x1c], xmm0
movss xmm0, dword [ebp - 0x30]
xor eax, 0xc1d56fa6
push 0xe
push ecx
mov dword [esp], 0x40bba867
mov esi, dword [eax + 0xc]
lea eax, [ebp - 0x1c]
push eax
mov ecx, esi
movss dword [ebp - 0x18], xmm0
call fcn.100cb160
push 0xffffffffffffffff
push dword [esi + 0x58]
mov ecx, esi
push dword [esi + 0x60]
call fcn.100ca670
movss xmm6, dword [0x102ba7b4]
movss xmm7, dword [0x102ba73c]
mov dword [esi + 0x58], 0
mov eax, dword [0x103bb7e4]
add eax, 0x5f05664a
movss xmm4, dword [0x102ba64c]
xor eax, 0xc1d56fa6
mov edx, dword [eax + 0xc]
movzx eax, bl
movd xmm2, eax
mov eax, ebx
shr eax, 8
movzx eax, al
cvtdq2ps xmm2, xmm2
movd xmm1, eax
mov eax, ebx
shr eax, 0x10
movzx eax, al
cvtdq2ps xmm1, xmm1
movd xmm0, eax
mov eax, ebx
shr eax, 0x18
cvtdq2ps xmm0, xmm0
movd xmm3, eax
cvtdq2ps xmm3, xmm3
mulss xmm2, xmm4
mulss xmm1, xmm4
mulss xmm0, xmm4
mulss xmm3, xmm4
xorps xmm4, xmm4
comiss xmm4, xmm2
jbe 0x100a8287
xorps xmm2, xmm2
jmp 0x100a828b
minss xmm2, xmm6
movss xmm5, dword [0x102baa58]
mulss xmm2, xmm5
addss xmm2, xmm7
cvttss2si ecx, xmm2
shl ecx, 0x10
comiss xmm4, xmm1
jbe 0x100a82ac
xorps xmm1, xmm1
jmp 0x100a82b0
minss xmm1, xmm6
mulss xmm1, xmm5
addss xmm1, xmm7
cvttss2si eax, xmm1
shl eax, 8
or ecx, eax
comiss xmm4, xmm0
jbe 0x100a82cb
xorps xmm0, xmm0
jmp 0x100a82cf
minss xmm0, xmm6
mulss xmm0, xmm5
addss xmm0, xmm7
cvttss2si eax, xmm0
or ecx, eax
comiss xmm4, xmm3
jbe 0x100a82e7
xorps xmm3, xmm3
jmp 0x100a82eb
minss xmm3, xmm6
movss xmm0, dword [ebp - 0x34]
mulss xmm3, xmm5
push ecx
movss dword [ebp - 0x14], xmm0
movss xmm0, dword [ebp - 0x30]
addss xmm3, xmm7
mov dword [esp], 0x3f800000
movss dword [ebp - 0x10], xmm0
movss xmm0, dword [ebp - 0x2c]
movss dword [ebp - 0x44], xmm0
movss xmm0, dword [ebp - 0x28]
cvttss2si eax, xmm3
movss dword [ebp - 0x40], xmm0
shl eax, 0x18
or eax, ecx
mov ecx, edx
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x44]
push eax
call fcn.100cb5d0
movss xmm6, dword [0x102ba7b4]
movss xmm7, dword [0x102ba73c]
movq xmm0, qword [edi]
mov eax, dword [edi + 8]
add edi, 0x10
movq qword [ebp - 0x58], xmm0
mov dword [ebp - 0x50], eax
cmp edi, dword [ebp - 0x3c]
jne 0x100a8115
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x38]
mov dword [ecx], eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret