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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xc
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
movss xmm1, dword [ebx + 4]
movss xmm2, dword [ebx]
movss xmm0, dword [ebx + 8]
mulss xmm2, xmm2
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm2, xmm1
xorps xmm1, xmm1
addss xmm2, xmm0
cvtps2pd xmm0, xmm2
ucomisd xmm1, xmm0
ja 0x10112433
sqrtsd xmm0, xmm0
jmp 0x10112438
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
xorps xmm3, xmm3
cvtsd2ss xmm3, xmm0
movss xmm0, dword [0x101bc1a0]
comiss xmm0, xmm3
movss dword [esp + 0xc], xmm3
jae 0x10112628
mov ecx, dword [0x105d9fe0]
xorps xmm2, xmm2
mov eax, dword [0x102f2748]
add ecx, 0xffffffcd
xor ecx, 0x58f652e1
xorps xmm1, xmm1
test byte [ecx + eax], 1
je 0x101125ee
mov eax, dword [0x105d9ce4]
mov ebx, dword [eax + 0x30]
jmp 0x101124bc
mov edi, dword [ebx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [edi + ecx], 0
jne 0x10112490
xor edx, edx
test ecx, ecx
je 0x101124b9
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x101124a0
cmp esi, 0xad8af3df
je 0x101124c0
mov ebx, dword [ebx + 4]
test ebx, ebx
jne 0x10112484
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x30]
mov dword [esp + 0x10], eax
call dword [esp + 0x10]
mov ecx, dword [0x105da048]
mov eax, dword [0x102f2748]
add ecx, 0xffffffb3
xor ecx, 0x58f652fb
fstp dword [esp + 0x10]
movss xmm0, dword [esp + 0x10]
mulss xmm0, dword [ecx + eax]
mov eax, dword [0x105d9ce4]
movss dword [esp + 0x14], xmm0
mov ebx, dword [eax + 0x30]
jmp 0x1011253c
mov esi, dword [ebx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x10112510
xor edx, edx
test ecx, ecx
je 0x10112539
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10112520
cmp edi, 0xa84213b4
je 0x10112540
mov ebx, dword [ebx + 4]
test ebx, ebx
jne 0x10112502
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x30]
mov dword [esp + 0x10], eax
call dword [esp + 0x10]
movss xmm3, dword [esp + 0xc]
fstp dword [esp + 0x10]
movss xmm0, dword [esp + 0x10]
comiss xmm0, xmm3
jbe 0x101125d1
mov eax, dword [0x105d9ce4]
mov ebx, dword [eax + 0x30]
jmp 0x101125ac
mov esi, dword [ebx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x10112580
xor edx, edx
test ecx, ecx
je 0x101125a9
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10112590
cmp edi, 0xa84213b4
je 0x101125b0
mov ebx, dword [ebx + 4]
test ebx, ebx
jne 0x10112570
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x30]
mov dword [esp + 0x10], eax
call dword [esp + 0x10]
movss xmm3, dword [esp + 0xc]
fstp dword [esp + 0x10]
movss xmm1, dword [esp + 0x10]
jmp 0x101125d4
movaps xmm1, xmm3
mulss xmm1, dword [esp + 0x14]
xorps xmm2, xmm2
mov eax, dword [0x105d9d44]
mov ebx, dword [ebp + 8]
mulss xmm1, dword [eax + 0x14]
addss xmm1, xmm2
movaps xmm0, xmm3
subss xmm0, xmm1
maxss xmm2, xmm0
ucomiss xmm2, xmm3
lahf
test ah, 0x44
jnp 0x10112628
divss xmm2, xmm3
movaps xmm0, xmm2
mulss xmm0, dword [ebx]
movss dword [ebx], xmm0
movaps xmm0, xmm2
mulss xmm0, dword [ebx + 4]
mulss xmm2, dword [ebx + 8]
movss dword [ebx + 4], xmm0
movss dword [ebx + 8], xmm2
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret