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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push ebx
mov ebx, ecx
mov dword [ebp - 0x18], edx
push esi
push edi
movss dword [ebp - 4], xmm1
mov eax, dword [ebx]
mov dword [ebp - 0x10], ebx
mov eax, dword [eax + 0x260]
call eax
test al, al
je 0x1010327b
mov eax, dword [0x101fdc08]
mov ecx, dword [0x10203b9c]
add eax, 0xffffffd4
xor eax, 0x9a5f6e26
mov eax, dword [eax + ebx]
mov dword [ebp - 0x14], eax
test cl, 1
jne 0x10102e24
or ecx, 1
mov dword [0x10203b9c], ecx
mov ebx, dword [0x101fd9e4]
mov ebx, dword [ebx + 0x30]
mov dword [ebp - 8], ebx
test ebx, ebx
je 0x10102e09
mov edi, dword [ebx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x10102dd0
xor edx, edx
test ecx, ecx
je 0x10102df9
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10102de0
cmp esi, 0x51c2378
je 0x10102e16
mov ebx, dword [ebx + 4]
mov dword [ebp - 8], ebx
test ebx, ebx
jne 0x10102dc3
mov ecx, dword [0x10203b9c]
xor ebx, ebx
mov dword [ebp - 8], ebx
mov dword [0x10203b98], ebx
jmp 0x10102e2c
mov ecx, dword [0x10203b9c]
mov dword [0x10203b98], ebx
jmp 0x10102e2c
mov eax, dword [0x10203b98]
mov dword [ebp - 8], eax
test cl, 2
jne 0x10102eb4
or ecx, 2
mov dword [0x10203b9c], ecx
mov eax, dword [0x101fd9e4]
mov ebx, dword [eax + 0x30]
mov dword [ebp - 0xc], ebx
test ebx, ebx
je 0x10102e99
nop dword [eax]
mov edi, dword [ebx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x10102e60
xor edx, edx
test ecx, ecx
je 0x10102e89
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10102e70
cmp esi, 0x2d45f02d
je 0x10102ea6
mov ebx, dword [ebx + 4]
mov dword [ebp - 0xc], ebx
test ebx, ebx
jne 0x10102e50
mov ecx, dword [0x10203b9c]
xor ebx, ebx
mov dword [ebp - 0xc], ebx
mov dword [0x10203ba4], ebx
jmp 0x10102ebc
mov ecx, dword [0x10203b9c]
mov dword [0x10203ba4], ebx
jmp 0x10102ebc
mov eax, dword [0x10203ba4]
mov dword [ebp - 0xc], eax
test cl, 4
jne 0x10102f1e
or ecx, 4
mov dword [0x10203b9c], ecx
mov eax, dword [0x101fd9e4]
mov ebx, dword [eax + 0x30]
test ebx, ebx
je 0x10102f16
mov esi, dword [ebx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10102ee0
xor edx, edx
test ecx, ecx
je 0x10102f09
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10102ef0
cmp edi, 0x874b1932
je 0x10102f36
mov ebx, dword [ebx + 4]
test ebx, ebx
jne 0x10102ed6
mov ecx, dword [0x10203b9c]
xor ebx, ebx
mov dword [0x10203b94], ebx
test cl, 8
jne 0x10102f86
or ecx, 8
mov dword [0x10203b9c], ecx
mov eax, dword [0x101fd9e4]
mov ebx, dword [eax + 0x30]
jmp 0x10102f7c
mov ecx, dword [0x10203b9c]
jmp 0x10102f18
mov edi, dword [ebx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x10102f50
xor edx, edx
test ecx, ecx
je 0x10102f79
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10102f60
cmp esi, 0x227932f
je 0x10102f80
mov ebx, dword [ebx + 4]
test ebx, ebx
jne 0x10102f40
mov dword [0x10203bb8], ebx
cmp dword [ebp - 0x14], 3
jne 0x10102f9c
mov ecx, dword [ebp - 8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x14], eax
call dword [ebp - 0x14]
jmp 0x10102faa
mov ecx, dword [ebp - 0xc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x14], eax
call dword [ebp - 0x14]
mov ecx, dword [0x10203b94]
fstp dword [ebp - 0xc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x14], eax
call dword [ebp - 0x14]
mov eax, dword [0x101fdc78]
mov edx, dword [ebp - 0x10]
add eax, 0xffffffb8
xor eax, 0x9a5f6e42
mov edi, dword [ebp - 0x18]
dec edi
fstp dword [ebp - 8]
mov cl, byte [eax + edx]
mov eax, dword [0x101fdc80]
add eax, 0xffffffb6
xor eax, 0x9a5f6e44
mov bh, byte [eax + edx]
mov eax, dword [0x101fdc94]
add eax, 0xffffffb1
xor eax, 0x9a5f6e49
movd xmm0, dword [eax + edx]
cvtdq2ps xmm0, xmm0
comiss xmm0, dword [0x101283b0]
jbe 0x10103026
cmp edi, 4
ja case.default.0x1010300b
jmp dword [edi*4 + 0x1010328c]
mov bl, 1
jmp 0x10103028
test cl, cl
jne case.0x1010300b.1
test bh, bh
je 0x10103026
mov bl, 1
jmp 0x10103028
mov bl, bh
jmp 0x10103028
xor bl, bl
mov ecx, dword [0x101fdcd4]
mov eax, dword [0x10142740]
add ecx, 0xffffffa1
xor ecx, 0x9a5f6e59
mov eax, dword [ecx + eax]
mov ecx, dword [0x101fd9ec]
push ecx
mov edx, dword [ecx]
mov esi, dword [edx + 0x10]
mov edx, esp
mov dword [edx], eax
call esi
test eax, eax
je 0x10103096
mov ecx, dword [0x101fdcd4]
mov eax, dword [0x10142740]
add ecx, 0xffffffa1
xor ecx, 0x9a5f6e59
mov eax, dword [ecx + eax]
mov ecx, dword [0x101fd9ec]
push ecx
mov edx, dword [ecx]
mov esi, dword [edx + 0x10]
mov edx, esp
mov dword [edx], eax
call esi
mov ecx, dword [0x101fdcec]
add ecx, 0xffffff9b
xor ecx, 0x9a5f6e5f
cmp dword [ecx + eax], 0x1f
sete cl
jmp 0x10103098
xor cl, cl
mov eax, dword [0x101fdc94]
mov edx, dword [ebp - 0x10]
add eax, 0xffffffb1
movss xmm1, dword [ebp - 0xc]
xor eax, 0x9a5f6e49
movd xmm0, dword [eax + edx]
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x18], xmm0
test bh, bh
je 0x101030c6
mulss xmm1, dword [0x1012848c]
test cl, cl
jne case.0x101030cf.1
cmp edi, 6
ja case.0x101030cf.1
jmp dword [edi*4 + 0x101032a0]
movss xmm0, dword [ebp - 4]
mulss xmm0, dword [0x10128540]
mulss xmm0, xmm1
jmp 0x1010310a
movss xmm0, dword [ebp - 4]
mulss xmm0, dword [0x101284c8]
jmp 0x10103105
movss xmm0, dword [ebp - 4]
mulss xmm0, dword [0x101284a8]
mulss xmm0, dword [ebp - 8]
movss dword [ebp - 4], xmm0
mov ecx, dword [0x10142740]
test ecx, ecx
je 0x1010327b
mov eax, dword [0x101fdcd4]
add eax, 0xffffffa1
xor eax, 0x9a5f6e59
mov eax, dword [eax + ecx]
mov ecx, dword [0x101fd9ec]
push ecx
mov edx, dword [ecx]
mov esi, dword [edx + 0x10]
mov edx, esp
mov dword [edx], eax
call esi
test eax, eax
je 0x1010327b
mov ecx, dword [0x101fdcd4]
mov eax, dword [0x10142740]
add ecx, 0xffffffa1
xor ecx, 0x9a5f6e59
mov eax, dword [ecx + eax]
mov ecx, dword [0x101fd9ec]
push ecx
mov edx, dword [ecx]
mov esi, dword [edx + 0x10]
mov edx, esp
mov dword [edx], eax
call esi
mov ecx, dword [eax]
mov edx, dword [ecx + 0x6f8]
mov ecx, eax
call edx
test eax, eax
je 0x1010327b
mov ecx, dword [0x101fdcd4]
mov eax, dword [0x10142740]
add ecx, 0xffffffa1
xor ecx, 0x9a5f6e59
mov eax, dword [ecx + eax]
mov ecx, dword [0x101fd9ec]
push ecx
mov edx, dword [ecx]
mov esi, dword [edx + 0x10]
mov edx, esp
mov dword [edx], eax
call esi
mov ecx, dword [eax]
mov edx, dword [ecx + 0x6f8]
mov ecx, eax
call edx
movss xmm0, dword [eax + 0xf0]
test bl, bl
je 0x10103225
test bh, bh
je 0x101031e3
movss xmm2, dword [0x10128534]
movss xmm3, dword [0x1012842c]
mulss xmm0, dword [0x1012844c]
jmp 0x101031f7
movss xmm3, dword [0x1012848c]
movss xmm2, dword [0x101284fc]
mulss xmm0, xmm3
movss xmm1, dword [ebp - 4]
movaps xmm4, xmm1
mulss xmm4, xmm0
movaps xmm0, xmm1
subss xmm0, xmm4
mulss xmm0, xmm3
movss xmm3, dword [ebp - 0x18]
comiss xmm0, xmm3
jbe 0x1010322a
mulss xmm2, xmm3
movaps xmm4, xmm1
subss xmm4, xmm2
jmp 0x1010322a
movss xmm4, dword [ebp - 4]
movss xmm2, dword [0x10128688]
movaps xmm0, xmm4
movss xmm1, dword [0x1012867c]
andps xmm2, xmm4
xorps xmm0, xmm2
movss xmm3, dword [0x101284c0]
cmpltss xmm0, xmm1
andps xmm1, xmm0
movaps xmm0, xmm4
orps xmm1, xmm2
addss xmm0, xmm1
subss xmm0, xmm1
movaps xmm1, xmm0
subss xmm1, xmm4
cmpnless xmm1, xmm2
andps xmm1, xmm3
subss xmm0, xmm1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movss xmm0, dword [0x101284c0]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret