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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov eax, dword [ebp + 0xc]
push ebx
mov dword [ebp - 0xc], ecx
mov ecx, dword [0x1055e3b8]
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x10], eax
push esi
push edi
test cl, 1
jne 0x101d0bb4
or ecx, 1
mov dword [0x1055e3b8], ecx
mov ebx, dword [0x1054dfe0]
mov ebx, dword [ebx + 0x30]
mov dword [ebp - 8], ebx
test ebx, ebx
je 0x101d0b99
nop dword [eax]
mov esi, dword [ebx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x101d0b60
xor edx, edx
test ecx, ecx
je 0x101d0b89
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x101d0b70
cmp edi, 0x51c2378
je 0x101d0ba6
mov ebx, dword [ebx + 4]
mov dword [ebp - 8], ebx
test ebx, ebx
jne 0x101d0b50
mov ecx, dword [0x1055e3b8]
xor ebx, ebx
mov dword [ebp - 8], ebx
mov dword [0x1055e3b4], ebx
jmp 0x101d0bbc
mov ecx, dword [0x1055e3b8]
mov dword [0x1055e3b4], ebx
jmp 0x101d0bbc
mov eax, dword [0x1055e3b4]
mov dword [ebp - 8], eax
test cl, 2
jne 0x101d0c44
or ecx, 2
mov dword [0x1055e3b8], ecx
mov eax, dword [0x1054dfe0]
mov ebx, dword [eax + 0x30]
mov dword [ebp - 4], ebx
test ebx, ebx
je 0x101d0c29
nop dword [eax]
mov esi, dword [ebx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x101d0bf0
xor edx, edx
test ecx, ecx
je 0x101d0c19
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x101d0c00
cmp edi, 0x2d45f02d
je 0x101d0c36
mov ebx, dword [ebx + 4]
mov dword [ebp - 4], ebx
test ebx, ebx
jne 0x101d0be0
mov ecx, dword [0x1055e3b8]
xor ebx, ebx
mov dword [ebp - 4], ebx
mov dword [0x1055e3d4], ebx
jmp 0x101d0c4c
mov ecx, dword [0x1055e3b8]
mov dword [0x1055e3d4], ebx
jmp 0x101d0c4c
mov eax, dword [0x1055e3d4]
mov dword [ebp - 4], eax
test cl, 4
jne 0x101d0cae
or ecx, 4
mov dword [0x1055e3b8], ecx
mov eax, dword [0x1054dfe0]
mov edi, dword [eax + 0x30]
test edi, edi
je 0x101d0ca6
mov esi, dword [edi + 0xc]
mov ebx, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x101d0c70
xor edx, edx
test ecx, ecx
je 0x101d0c99
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, ebx
imul ebx, eax, 0x1000193
cmp edx, ecx
jb 0x101d0c80
cmp ebx, 0x874b1932
je 0x101d0cc6
mov edi, dword [edi + 4]
test edi, edi
jne 0x101d0c66
mov ecx, dword [0x1055e3b8]
xor edi, edi
mov dword [0x1055e39c], edi
test cl, 8
jne 0x101d0d16
or ecx, 8
mov dword [0x1055e3b8], ecx
mov eax, dword [0x1054dfe0]
mov ebx, dword [eax + 0x30]
jmp 0x101d0d0c
mov ecx, dword [0x1055e3b8]
jmp 0x101d0ca8
mov esi, dword [ebx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x101d0ce0
xor edx, edx
test ecx, ecx
je 0x101d0d09
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x101d0cf0
cmp edi, 0x227932f
je 0x101d0d10
mov ebx, dword [ebx + 4]
test ebx, ebx
jne 0x101d0cd0
mov dword [0x1055e3d0], ebx
mov eax, dword [0x1054e4bc]
mov esi, dword [ebp - 0xc]
add eax, 0xffffffd2
xor eax, 0xab5b2a
cmp dword [eax + esi], 3
jne 0x101d0d3c
mov ecx, dword [ebp - 8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0xc], eax
call dword [ebp - 0xc]
jmp 0x101d0d4a
mov ecx, dword [ebp - 4]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0xc], eax
call dword [ebp - 0xc]
mov eax, dword [0x1054e4bc]
add eax, 0xffffffd2
xor eax, 0xab5b2a
fstp dword [ebp - 8]
cmp dword [eax + esi], 3
jne 0x101d0d73
mov ecx, dword [0x1055e39c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0xc], eax
call dword [ebp - 0xc]
jmp 0x101d0d84
mov ecx, dword [0x1055e3d0]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0xc], eax
call dword [ebp - 0xc]
mov eax, dword [0x1054e534]
movss xmm2, dword [0x102c137c]
add eax, 0xffffffb4
movss xmm0, dword [ebp - 8]
xor eax, 0xab5b48
fstp dword [ebp - 4]
mov dl, byte [eax + esi]
mov eax, dword [0x1054e548]
add eax, 0xffffffaf
xor eax, 0xab5b4d
movd xmm3, dword [eax + esi]
cvtdq2ps xmm3, xmm3
test dl, dl
je 0x101d0dc1
mulss xmm0, xmm2
mov edi, dword [ebp - 0x14]
mov eax, dword [edi + 0x44]
dec eax
cmp eax, 9
ja case.0x101d0dd4.8
movzx eax, byte [eax + 0x101d0f3c]
jmp dword [eax*4 + 0x101d0f28]
mov ebx, dword [ebp - 0x10]
mulss xmm0, dword [0x102c1508]
mulss xmm0, dword [ebx]
movss dword [ebx], xmm0
jmp 0x101d0e39
movss xmm0, dword [ebp - 4]
mov ebx, dword [ebp - 0x10]
mulss xmm0, dword [0x102c13f4]
mulss xmm0, dword [ebx]
movss dword [ebx], xmm0
jmp 0x101d0e39
mov ebx, dword [ebp - 0x10]
movss xmm0, dword [ebp - 4]
mulss xmm0, dword [ebx]
movss dword [ebx], xmm0
jmp 0x101d0e39
movss xmm0, dword [ebp - 4]
mov ebx, dword [ebp - 0x10]
mulss xmm0, dword [0x102c13a4]
mulss xmm0, dword [ebx]
movss dword [ebx], xmm0
jmp 0x101d0e39
mov ebx, dword [ebp - 0x10]
mov eax, dword [0x1054e528]
add eax, 0xffffffb7
xor eax, 0xab5b45
mov cl, byte [eax + esi]
mov eax, dword [0x1054e548]
add eax, 0xffffffaf
xor eax, 0xab5b4d
cmp dword [eax + esi], 0
jle 0x101d0f03
mov eax, dword [edi + 0x44]
cmp eax, 0xa
ja case.0x101d0e6f.8
movzx eax, byte [eax + 0x101d0f54]
jmp dword [eax*4 + 0x101d0f48]
test cl, cl
jne case.0x101d0e6f.0
mov eax, dword [0x1054e534]
add eax, 0xffffffb4
xor eax, 0xab5b48
cmp byte [eax + esi], cl
jne case.0x101d0e6f.0
jmp 0x101d0f03
mov eax, dword [0x1054e534]
add eax, 0xffffffb4
xor eax, 0xab5b48
mov al, byte [eax + esi]
test al, al
je 0x101d0f03
mov eax, dword [ebp + 8]
movss xmm5, dword [0x102c13d0]
movss xmm0, dword [eax + 0xf0]
mulss xmm0, xmm2
test dl, dl
je 0x101d0ed5
mulss xmm0, dword [0x102c133c]
movss xmm2, dword [0x102c1354]
movss xmm5, dword [0x102c1348]
movss xmm4, dword [ebx]
movaps xmm1, xmm4
mulss xmm1, xmm0
movaps xmm0, xmm4
subss xmm0, xmm1
mulss xmm0, xmm5
mulss xmm0, xmm2
comiss xmm0, xmm3
jbe 0x101d0eff
divss xmm3, xmm2
movaps xmm1, xmm4
subss xmm1, xmm3
movss dword [ebx], xmm1
fld dword [ebx]
sub esp, 8
fstp qword [esp]
call fcn.10223aa0
add esp, 8
fstp dword [ebp - 0x14]
fld dword [ebp - 0x14]
fstp dword [ebp - 0x14]
movss xmm0, dword [ebp - 0x14]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret