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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
vmovss xmm0, dword [0x100b3724]
mov eax, dword [0x101cd8b8]
mov dword [ebp - 0x14], ecx
mov dword [ebp - 8], eax
push ebx
vmovss dword [ebp - 0x18], xmm0
push esi
vmulss xmm0, xmm1, xmm0
push edi
vmovss dword [ebp - 4], xmm3
vmovss dword [ebp - 0x10], xmm0
test eax, eax
jne 0x1008ad5e
mov ebx, dword [0x101c5f7c]
mov ebx, dword [ebx + 0x30]
jmp 0x1008ad4c
mov esi, dword [ebx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1008ad20
xor edx, edx
test ecx, ecx
je 0x1008ad49
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1008ad30
cmp edi, 0x874b1932
je 0x1008ad58
mov ebx, dword [ebx + 4]
mov dword [ebp - 8], ebx
test ebx, ebx
jne 0x1008ad10
xor ebx, ebx
mov dword [ebp - 8], ebx
mov dword [0x101cd8b8], ebx
cmp dword [0x101cd8b0], 0
jne 0x1008adb6
mov eax, dword [0x101c5f7c]
mov edi, dword [eax + 0x30]
jmp 0x1008adac
mov esi, dword [edi + 0xc]
mov ebx, 0x811c9dc5
xor ecx, ecx
nop dword [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1008ad80
xor edx, edx
test ecx, ecx
je 0x1008ada9
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, ebx
imul ebx, eax, 0x1000193
cmp edx, ecx
jb 0x1008ad90
cmp ebx, 0x51c2378
je 0x1008adb0
mov edi, dword [edi + 4]
test edi, edi
jne 0x1008ad71
mov dword [0x101cd8b0], edi
mov eax, dword [0x101cd8a8]
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x1008ae1e
mov eax, dword [0x101c5f7c]
mov ebx, dword [eax + 0x30]
jmp 0x1008ae0c
mov esi, dword [ebx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1008ade0
xor edx, edx
test ecx, ecx
je 0x1008ae09
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1008adf0
cmp edi, 0x227932f
je 0x1008ae18
mov ebx, dword [ebx + 4]
mov dword [ebp - 0xc], ebx
test ebx, ebx
jne 0x1008add0
xor ebx, ebx
mov dword [ebp - 0xc], ebx
mov dword [0x101cd8a8], ebx
cmp dword [0x101cd8bc], 0
jne 0x1008ae76
mov eax, dword [0x101c5f7c]
mov edi, dword [eax + 0x30]
jmp 0x1008ae6c
mov esi, dword [edi + 0xc]
mov ebx, 0x811c9dc5
xor ecx, ecx
nop dword [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1008ae40
xor edx, edx
test ecx, ecx
je 0x1008ae69
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, ebx
imul ebx, eax, 0x1000193
cmp edx, ecx
jb 0x1008ae50
cmp ebx, 0x2d45f02d
je 0x1008ae70
mov edi, dword [edi + 4]
test edi, edi
jne 0x1008ae31
mov dword [0x101cd8bc], edi
mov eax, dword [0x101c61c8]
mov ebx, dword [ebp - 0x14]
add eax, 0xffffffd4
xor eax, 0x55
cmp dword [eax + ebx], 3
jne 0x1008ae9a
mov ecx, dword [ebp - 8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x14], eax
call dword [ebp - 0x14]
jmp 0x1008aea8
mov ecx, dword [ebp - 0xc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x14], eax
call dword [ebp - 0x14]
mov eax, dword [0x101c61c8]
add eax, 0xffffffd4
xor eax, 0x55
fstp dword [ebp - 0xc]
cmp dword [eax + ebx], 3
jne 0x1008aecf
mov ecx, dword [0x101cd8b0]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x14], eax
call dword [ebp - 0x14]
jmp 0x1008aee0
mov ecx, dword [0x101cd8bc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x14], eax
call dword [ebp - 0x14]
mov eax, dword [0x101c6240]
vmovss xmm2, dword [ebp - 0x10]
add eax, 0xffffffb6
xor eax, 0x73
fstp dword [ebp - 8]
cmp byte [eax + ebx], 0
je 0x1008af18
vmovss xmm1, dword [0x100b3724]
vmovss xmm5, dword [0x100b36fc]
vmulss xmm2, xmm2, xmm1
vmulss xmm1, xmm1, dword [ebp - 8]
vmovaps xmm6, xmm5
jmp 0x1008af2a
vmovss xmm1, dword [ebp - 8]
vmovss xmm5, dword [ebp - 0x18]
vmovss xmm6, dword [0x100b3758]
mov ecx, dword [ebp + 8]
lea eax, [ecx - 1]
cmp eax, 6
ja case.default.0x1008af35
jmp dword [eax*4 + 0x1008b008]
vmovss xmm4, dword [ebp - 4]
vmulss xmm0, xmm4, dword [0x100b37a0]
vmulss xmm4, xmm0, xmm1
jmp 0x1008af88
vmovss xmm4, dword [ebp - 4]
vmulss xmm4, xmm4, dword [ebp - 0xc]
jmp 0x1008af88
vmovss xmm4, dword [ebp - 4]
vmulss xmm0, xmm4, dword [0x100b3760]
vmulss xmm4, xmm0, dword [ebp - 0xc]
jmp 0x1008af88
vmovss xmm4, dword [ebp - 4]
vmulss xmm0, xmm4, dword [0x100b3740]
vmulss xmm4, xmm0, dword [ebp - 0xc]
jmp 0x1008af88
vmovss xmm4, dword [ebp - 4]
cmp byte [ebp + 0xc], 0
jne case.default.0x1008afb7
mov eax, dword [0x101c6254]
add eax, 0xffffffb1
xor eax, 0x78
vxorps xmm3, xmm3, xmm3
mov eax, dword [eax + ebx]
vcvtsi2ss xmm3, xmm3, eax
vcomiss xmm3, dword [0x100b3670]
jbe case.default.0x1008afb7
test eax, eax
jle case.default.0x1008afb7
cmp ecx, 5
ja case.default.0x1008afb7
jmp dword [ecx*4 + 0x1008b024]
mov eax, dword [0x101c6238]
add eax, 0xffffffb8
xor eax, 0x71
cmp byte [eax + ebx], 0
je case.default.0x1008afb7
vmulss xmm2, xmm2, xmm4
vmulss xmm1, xmm6, xmm5
vsubss xmm0, xmm4, xmm2
vmulss xmm0, xmm1, xmm0
vcomiss xmm0, xmm3
jbe 0x1008afed
vdivss xmm0, xmm3, xmm5
vsubss xmm2, xmm4, xmm0
vmovaps xmm0, xmm2
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
pop edi
pop esi
vmovaps xmm0, xmm4
pop ebx
mov esp, ebp
pop ebp
ret 8