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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov eax, dword [0x101c3408]
push ebx
push esi
push edi
mov ebx, dword [eax + 0x30]
mov dword [ebp - 0xc], ecx
test ebx, ebx
jne 0x1006a134
xor edi, edi
mov dword [ebp - 4], ebx
xor esi, esi
jmp 0x1006a27a
mov eax, ebx
mov dword [ebp - 4], ebx
nop dword [eax]
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [edi + ecx], 0
jne 0x1006a150
xor edx, edx
test ecx, ecx
je 0x1006a180
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1006a160
cmp esi, 0xe3d20ca0
je 0x1006a3c7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov dword [ebp - 4], eax
test eax, eax
jne 0x1006a140
mov dword [ebp - 4], eax
mov eax, ebx
mov dword [ebp - 8], ebx
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [edi + ecx], 0
jne 0x1006a1a0
xor edx, edx
test ecx, ecx
je 0x1006a1d0
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1006a1b0
cmp esi, 0x2f82ccee
je 0x1006a3d1
mov eax, dword [ebp - 8]
mov eax, dword [eax + 4]
mov dword [ebp - 8], eax
test eax, eax
jne 0x1006a192
mov dword [ebp - 8], eax
mov eax, ebx
mov dword [ebp - 0x10], ebx
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x1006a1f0
xor edx, edx
test ecx, ecx
je 0x1006a21c
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1006a200
cmp esi, 0xb488961c
je 0x1006a230
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 4]
mov dword [ebp - 0x10], eax
test eax, eax
jne 0x1006a1e2
mov dword [ebp - 0x10], eax
nop dword [eax]
mov edi, dword [ebx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [edi + ecx], 0
jne 0x1006a240
xor edx, edx
test ecx, ecx
je 0x1006a26d
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1006a250
cmp esi, 0x1da69e46
je 0x1006a3db
mov ebx, dword [ebx + 4]
test ebx, ebx
jne 0x1006a230
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 8]
xor ebx, ebx
mov ecx, dword [0x101c34d4]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
mov dword [ebp - 8], eax
call dword [ebp - 8]
mov ecx, dword [ebp - 4]
fstp dword [ebp - 0x1c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
mov dword [ebp - 4], eax
call dword [ebp - 4]
mov eax, dword [edi]
mov ecx, edi
fstp dword [ebp - 0x18]
mov eax, dword [eax + 0x30]
mov dword [ebp - 4], eax
call dword [ebp - 4]
mov eax, dword [esi]
mov ecx, esi
fstp dword [ebp - 0x20]
mov eax, dword [eax + 0x30]
mov dword [ebp - 4], eax
call dword [ebp - 4]
mov eax, dword [ebx]
mov ecx, ebx
fstp dword [ebp - 8]
mov eax, dword [eax + 0x30]
mov dword [ebp - 4], eax
call dword [ebp - 4]
mov ecx, dword [0x101c34cc]
fstp dword [ebp - 0x10]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
mov dword [ebp - 4], eax
call dword [ebp - 4]
mov ecx, dword [0x101c34d0]
fstp dword [ebp - 0x14]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
mov dword [ebp - 4], eax
call dword [ebp - 4]
movss xmm0, dword [ebp - 8]
fstp dword [ebp - 4]
movss xmm1, dword [ebp - 4]
comiss xmm0, xmm1
ja 0x1006a310
movaps xmm0, xmm1
minss xmm0, dword [ebp - 0x10]
ucomiss xmm0, dword [0x100e0900]
lahf
test ah, 0x44
jp 0x1006a325
movss xmm0, dword [0x100e0a18]
movss xmm1, dword [ebp - 0x18]
movss xmm2, dword [ebp - 0x1c]
comiss xmm1, xmm2
ja 0x1006a33d
movss xmm1, dword [ebp - 0x20]
minss xmm1, xmm2
divss xmm0, xmm1
sub esp, 8
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x14]
movss dword [esp], xmm0
call dword [sym.imp.ucrtbased.dll_fmaxf]
mov ebx, dword [ebp - 0xc]
add esp, 8
fstp dword [ebp - 0x14]
movss xmm0, dword [ebp - 0x14]
mov eax, dword [ebx + 0xc]
movss dword [eax + 0xc], xmm0
mov ecx, dword [0x101c340c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x138]
call eax
mov esi, eax
push 0
mov ecx, esi
mov eax, dword [esi]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0xc], eax
call dword [ebp - 0xc]
mov eax, dword [ebx + 0xc]
mov ecx, esi
fstp dword [ebp - 0xc]
movss xmm0, dword [ebp - 0xc]
push 1
movss dword [eax + 0x10], xmm0
mov eax, dword [esi]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0xc], eax
call dword [ebp - 0xc]
mov eax, dword [ebx + 0xc]
pop edi
fstp dword [ebp - 0xc]
movss xmm0, dword [ebp - 0xc]
pop esi
movss dword [eax + 0x14], xmm0
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, ebx
mov dword [ebp - 8], eax
jmp 0x1006a192
mov eax, ebx
mov dword [ebp - 0x10], eax
jmp 0x1006a1e2
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 8]
jmp 0x1006a27c