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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x68
movss xmm0, dword [0x1206f170]
push ebx
mov ebx, dword [0x1054ade8]
push esi
push edi
mov edi, dword [ebp + 8]
mov eax, dword [ebx + 0x19b0]
movss dword [ebp - 0x18], xmm0
mov dword [ebp - 0x2c], ebx
mov byte [eax + 0xa4], 1
mov esi, dword [ebx + 0x19b0]
mov dword [ebp - 0xc], esi
cmp byte [esi + 0xa7], 0
jne 0x10139f89
mov ecx, dword [esi + 0xec]
xor edx, edx
mov eax, dword [esi + 0xf4]
push dword [eax + ecx*4 - 4]
mov ecx, edi
call fcn.100d21c0
add esp, 4
mov dword [ebp - 0x14], eax
cmp dword [ebx + 0x19ec], eax
jne 0x10139ae2
mov dword [ebx + 0x19f0], eax
cmp dword [ebx + 0x1a20], eax
jne 0x10139af1
mov byte [ebx + 0x1a24], 1
mov ecx, edi
cmp edi, 0xffffffff
jae 0x10139b0e
mov dl, byte [ecx]
test dl, dl
je 0x10139b0e
cmp dl, 0x23
jne 0x10139b08
cmp byte [ecx + 1], dl
je 0x10139b0e
inc ecx
cmp ecx, 0xffffffff
jb 0x10139af8
movss xmm2, dword [ebx + 0x18c4]
cmp edi, ecx
jne 0x10139b28
mov dword [ebp - 0x34], 0
movss dword [ebp - 0x30], xmm2
jmp 0x10139b69
push ecx
push ecx
push edi
push ecx
mov ecx, dword [ebx + 0x18c0]
lea eax, [ebp - 0x28]
mov dword [esp], 0xbf800000
push eax
call fcn.100f07f0
movss xmm0, dword [ebp - 0x28]
addss xmm0, dword [0x1046f0f4]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x34], xmm0
movss xmm0, dword [ebp - 0x24]
movss dword [ebp - 0x30], xmm0
movss xmm0, dword [esi + 0xf8]
lea ecx, [ebp - 0x28]
addss xmm0, dword [0x1046f1e8]
movss xmm2, dword [esi + 0xfc]
xorps xmm1, xmm1
movaps xmm7, xmm2
mov dword [ebp - 0x28], 0x435c0000
addss xmm7, dword [0x1046f29c]
mov dword [ebp - 0x24], 0x42100000
movaps xmm3, xmm0
movss dword [ebp + 8], xmm0
addss xmm0, dword [0x1046f210]
addss xmm3, dword [0x1046f3a0]
movss dword [ebp - 0x10], xmm2
movss dword [ebp - 0x54], xmm0
movaps xmm0, xmm3
movss dword [ebp - 0x1c], xmm3
addss xmm0, dword [0x1046f210]
movss dword [ebp - 0x4c], xmm0
movaps xmm0, xmm2
addss xmm0, dword [0x1046f204]
movss dword [ebp - 0x50], xmm0
movaps xmm0, xmm7
addss xmm0, dword [0x1046f204]
movss dword [ebp - 0x48], xmm0
call fcn.100d4b30
movss xmm0, dword [ebp + 8]
xorps xmm2, xmm2
mov eax, dword [ebp + 0x14]
movss xmm1, dword [ebp - 0x1c]
movss dword [ebp - 0x44], xmm0
movss xmm0, dword [ebp - 0x10]
movss dword [ebp - 0x40], xmm0
movss xmm0, dword [eax]
ucomiss xmm0, xmm2
movss dword [ebp - 0x3c], xmm1
movss dword [ebp - 0x38], xmm7
lahf
test ah, 0x44
jp 0x10139c3c
addss xmm1, dword [esi + 0x4c]
movss dword [ebp - 0x3c], xmm1
mov esi, dword [ebp - 0x14]
lea ecx, [ebp - 0x44]
push 0
mov edx, esi
call fcn.100d4c60
add esp, 4
test al, al
je 0x10139f89
push 0
lea eax, [ebp - 5]
mov edx, esi
push eax
lea eax, [ebp + 0x17]
push eax
lea ecx, [ebp - 0x44]
call fcn.100f6340
add esp, 0xc
mov byte [ebp + 0xb], al
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x10139c77
xor edx, edx
test ecx, ecx
je 0x10139c95
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10139c84
mov eax, dword [ebp + 0x18]
mov ecx, 0x1206f124
add eax, esi
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.101326b0
mov ecx, dword [0x1055d084]
movss xmm0, dword [eax + 4]
add ecx, 0x8227453d
mov dword [ebp + 0x18], eax
xor ecx, 0xb5eaaa9f
lea esi, [eax + 4]
movzx eax, byte [ebp + 0x17]
movss xmm2, dword [ecx + 4]
mulss xmm2, dword [0x1046f1e0]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
call fcn.10049560
movss xmm1, dword [0x1046f104]
lea ecx, [ebp - 0x20]
xorps xmm2, xmm2
movss dword [esi], xmm0
comiss xmm0, xmm2
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0x3f800000
mov dword [ebp - 0x20], 0
movss dword [ebp - 0x10], xmm1
cmovae ecx, esi
comiss xmm1, xmm0
cmovae eax, ecx
mov eax, dword [eax]
mov dword [esi], eax
mov eax, dword [0x1055d084]
mov esi, dword [ebp + 0x18]
add eax, 0x8227453d
xor eax, 0xb5eaaa9f
add esi, 8
movss xmm2, dword [eax + 4]
movzx eax, byte [ebp + 0xb]
mulss xmm2, dword [0x1046f1ac]
movss xmm0, dword [esi]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
call fcn.10049560
xorps xmm1, xmm1
movss dword [esi], xmm0
comiss xmm0, xmm1
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x20], 0x3f800000
lea eax, [ebp - 0x20]
mov dword [ebp - 0x24], 0
movss xmm1, dword [ebp - 0x10]
cmovae ecx, esi
comiss xmm1, xmm0
cmovae eax, ecx
cmp byte [ebp + 0xb], 0
mov eax, dword [eax]
mov dword [esi], eax
mov esi, dword [ebp - 0xc]
je 0x10139dee
cmp byte [ebx + 0x1b63], 0
jne 0x10139dd3
cmp dword [ebx + 0x1b00], esi
jne 0x10139dd3
mov eax, dword [ebx + 0x1b58]
cmp eax, dword [esi + 0x168]
jne 0x10139dd3
mov eax, dword [0x1054ade8]
mov edx, dword [ebp - 0x14]
mov byte [ebx + 0x1b62], 1
mov ecx, dword [esi + 0x168]
mov dword [eax + 0x1b04], edx
mov eax, dword [eax + 0x1b00]
mov dword [eax + ecx*4 + 0x35c], edx
mov eax, dword [0x1054ade8]
mov word [eax + 0x19fb], 0x101
mov eax, dword [eax + 0x19b0]
or dword [eax + 0x144], 4
cmp byte [ebp + 0xc], 0
mov eax, dword [ebp + 0x18]
jne 0x10139e11
movss xmm0, dword [eax + 4]
mulss xmm0, dword [0x1046f084]
addss xmm0, dword [0x1046f0a0]
movss dword [ebp - 0x10], xmm0
cmp byte [ebp + 0x17], 0
je 0x10139e27
cmp byte [ebp - 5], 0
je 0x10139e27
movss xmm2, dword [0x1046f2fc]
jmp 0x10139e2f
movss xmm2, dword [0x1046f244]
movss xmm1, dword [eax + 4]
lea ecx, [ebp + 0xc]
movaps xmm0, xmm1
mov dword [ebp + 0x18], 0xff
mulss xmm1, dword [0x1046f280]
mov bl, 0xd9
mov dword [ebp + 0xc], 0
mulss xmm0, dword [0x1046f4e4]
push 0xf
addss xmm1, xmm2
cvttss2si eax, xmm0
mulss xmm1, dword [ebp - 0x18]
sub bl, al
lea eax, [ebp + 0x14]
cvttss2si edx, xmm1
test edx, edx
mov dword [ebp + 0x14], edx
cmovns ecx, eax
cmp edx, 0xff
lea eax, [ebp + 0x18]
cmovle eax, ecx
mov cl, byte [eax]
movzx eax, bl
push ecx
mov dword [esp], 0x40800000
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movzx eax, cl
lea ecx, [ebp - 0x64]
mulss xmm0, dword [0x1046efa4]
movss dword [ebp - 0x64], xmm0
movss dword [ebp - 0x60], xmm0
movss dword [ebp - 0x5c], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x1046efa4]
movss dword [ebp - 0x58], xmm0
movss xmm0, dword [ebp - 0x3c]
movss dword [ebp - 0x28], xmm0
movss xmm0, dword [ebp - 0x38]
subss xmm0, dword [0x1046f1d8]
movss dword [ebp - 0x24], xmm0
call fcn.1004a1d0
mov ecx, dword [esi + 0x2cc]
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x44]
push eax
call fcn.100ece10
mov esi, dword [0x1054ade8]
lea eax, [ebp - 0x68]
push eax
mov dword [ebp - 0x68], 0
movups xmm0, xmmword [esi + 0x15c0]
lea ecx, [esi + 0x1aac]
movups xmmword [ebp - 0x64], xmm0
call fcn.100e1e70
movss xmm0, dword [ebp - 0x10]
lea eax, [ebp - 0x44]
push eax
mov eax, dword [ebp - 0x2c]
lea edx, [ebp - 0x4c]
movss dword [esi + 0x15c0], xmm0
lea ecx, [ebp - 0x54]
add eax, 0x159c
movss dword [esi + 0x15c4], xmm0
push eax
movss dword [esi + 0x15c8], xmm0
lea eax, [ebp - 0x34]
mulss xmm0, dword [ebp - 0x18]
push eax
push 0
push edi
movss dword [esi + 0x15cc], xmm0
call fcn.100d34b0
add esp, 0x14
mov ecx, 1
call fcn.100dc190
mov al, byte [ebp + 0xb]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret 0x14