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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100c875d
mov eax, dword fs:[0]
push eax
sub esp, 0x2c
mov eax, dword [0x100de364]
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 eax, dword [0x1019c9b4]
test al, 1
jne 0x100acd28
or eax, 1
mov dword [0x1019c9b4], eax
mov eax, dword [0x10196c6c]
mov ebx, dword [eax + 0x30]
jmp 0x100acd1c
mov edi, dword [ebx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x100accf0
xor edx, edx
test ecx, ecx
je 0x100acd19
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x100acd00
cmp esi, 0x90f473ab
je 0x100acd20
mov ebx, dword [ebx + 4]
test ebx, ebx
jne 0x100acce6
mov dword [0x1019c9d4], ebx
jmp 0x100acd2e
mov ebx, dword [0x1019c9d4]
cmp byte [0x1014bc90], 0
je 0x100acd58
mov ecx, dword [0x10196efc]
mov eax, dword [0x10141fc8]
add ecx, 0xffffffb8
xor ecx, 0x39528c57
cmp byte [ecx + eax], 0
jne 0x100acd58
mov ecx, 3
jmp 0x100acd5a
xor ecx, ecx
mov eax, dword [ebx]
push ecx
mov ecx, ebx
mov eax, dword [eax + 0x40]
call eax
cmp byte [0x1014b238], 0
je 0x100acf99
mov eax, dword [0x10196cd0]
movss xmm1, dword [eax + 0x10]
comiss xmm1, dword [0x1019c3a8]
ja 0x100acf99
movss xmm2, dword [0x1019c3ac]
xorps xmm0, xmm0
comiss xmm0, xmm2
jae 0x100acf99
subss xmm1, dword [0x1019c3a4]
movss xmm0, dword [0x100d2a88]
lea ecx, [ebp - 0x28]
push 0x10197994
mov edx, 0x100d2724
divss xmm1, xmm2
subss xmm0, xmm1
mulss xmm0, dword [0x100d2c74]
cvttss2si ebx, xmm0
mov dword [ebp - 0x2c], ebx
call fcn.100b8570
add esp, 4
mov dword [ebp - 4], 0
mov edi, 1
mov eax, dword [0x10196cd0]
cmp dword [eax + 0x18], edi
jl 0x100acf63
mov ecx, dword [0x10196c74]
push edi
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov edx, 0x101979c0
mov ecx, 0x101979a8
call fcn.100a4a60
test al, al
je 0x100acf54
mov edx, 0x101979c8
mov ecx, 0x101979b4
call fcn.100a4a60
test al, al
je 0x100acf54
movss xmm3, dword [0x101979c4]
movaps xmm0, xmm3
mov cl, byte [0x10197999]
subss xmm0, dword [0x101979cc]
cvttss2si eax, xmm0
movd xmm2, eax
cvtdq2ps xmm2, xmm2
subss xmm3, xmm2
movaps xmm0, xmm2
mulss xmm0, dword [0x100d2a48]
cvttss2si edx, xmm0
movss xmm0, dword [0x101979c0]
mov dword [ebp - 0x38], edx
cvttss2si esi, xmm3
movd xmm1, edx
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [0x100d2a48]
subss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [ebp - 0x30], eax
test cl, cl
jne 0x100aced7
mov ecx, esi
lea eax, [ebp - 0x28]
sub ecx, dword [0x10199818]
push 2
push eax
sub ecx, 0xa
push ecx
mov eax, esp
mov word [eax], 0xffff
mov byte [eax + 2], 0xff
mov byte [eax + 3], bl
mov ebx, edx
test ebx, ebx
jns 0x100acebb
add ebx, 1
sar ebx, 1
cvttss2si eax, xmm0
push ecx
mov ecx, 0x10199840
add eax, ebx
push eax
call fcn.100a5150
mov cl, byte [0x10197999]
jmp 0x100acee0
mov eax, edx
cdq
sub eax, edx
mov ebx, eax
sar ebx, 1
cmp cl, 1
jne 0x100acf1f
mov edx, dword [ebp - 0x2c]
lea eax, [ebp - 0x28]
push 2
push eax
mov ecx, esi
sub ecx, dword [0x10199818]
sub ecx, 0xa
push ecx
mov eax, esp
push ecx
mov ecx, 0x10199840
mov word [eax], 0xffff
mov byte [eax + 2], 0xff
mov byte [eax + 3], dl
mov eax, dword [ebp - 0x38]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x30]
push eax
call fcn.100a5150
sub esi, dword [0x10199818]
lea eax, [ebp - 0x28]
push 2
push eax
push ecx
mov ecx, dword [ebp - 0x2c]
mov eax, esp
sub esi, 0xa
push esi
mov byte [eax + 3], cl
mov ecx, 0x10199840
mov word [eax], 0xffff
mov byte [eax + 2], 0xff
mov eax, dword [ebp - 0x30]
add eax, ebx
push eax
call fcn.100a5150
mov ebx, dword [ebp - 0x2c]
mov eax, dword [0x10196cd0]
inc edi
cmp edi, dword [eax + 0x18]
jle 0x100acdf2
mov ecx, dword [ebp - 0x14]
cmp ecx, 0x10
jb 0x100acf99
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100acf8f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100acf8f
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100bc9e1
add esp, 8
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.100bc566
mov esp, ebp
pop ebp
ret