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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x8c
mov eax, dword [0x100c0364]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [0x101cd8b4], 0
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp + 0x2c]
push ebx
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp + 0x30]
push esi
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp + 0x3c]
push edi
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x88], eax
jne 0x1008bda6
mov ebx, dword [0x101c5f7c]
mov ebx, dword [ebx + 0x30]
jmp 0x1008bd9c
mov edi, dword [ebx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x1008bd70
xor edx, edx
test ecx, ecx
je 0x1008bd99
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1008bd80
cmp esi, 0x8208957b
je 0x1008bda0
mov ebx, dword [ebx + 4]
test ebx, ebx
jne 0x1008bd60
mov dword [0x101cd8b4], ebx
cmp dword [0x101cd8ac], 0
jne 0x1008be06
mov eax, dword [0x101c5f7c]
mov ebx, dword [eax + 0x30]
jmp 0x1008bdfc
mov edi, dword [ebx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x1008bdd0
xor edx, edx
test ecx, ecx
je 0x1008bdf9
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1008bde0
cmp esi, 0xd0eb0af6
je 0x1008be00
mov ebx, dword [ebx + 4]
test ebx, ebx
jne 0x1008bdc0
mov dword [0x101cd8ac], ebx
mov ebx, dword [ebp - 0x74]
xor cl, cl
mov edx, dword [ebp - 0x7c]
mov esi, dword [ebp + 0xc]
mov bl, byte [ebx + 0x42]
mov edx, dword [edx]
shr bl, 7
and bl, 1
test edx, edx
jne 0x1008be40
mov eax, dword [ebp + 0x10]
cmp byte [eax], cl
jne 0x1008be40
test bl, bl
jne 0x1008be40
mov eax, dword [esi]
cmp eax, 0x59
je 0x1008be40
cmp eax, 0x47
movzx ecx, cl
mov edi, 1
cmovne ecx, edi
mov eax, dword [ebp + 8]
vxorps xmm0, xmm0, xmm0
vcomiss xmm0, dword [eax]
jae 0x1008be51
test edx, edx
jg 0x1008be53
mov cl, 1
vmovss dword [ebp - 0x10], xmm0
vmovss dword [ebp - 0xc], xmm0
vmovss dword [ebp - 8], xmm0
cmp cl, 1
je 0x1008c19e
push 0x30
lea eax, [ebp - 0x44]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
vxorps xmm0, xmm0, xmm0
add esp, 0xc
cmp byte [0x101c5ee4], 0
vmovups ymmword [ebp - 0x68], ymm0
vmovss dword [ebp - 0x48], xmm0
je 0x1008be9c
vmovss xmm0, dword [0x100b37e8]
jmp 0x1008bea4
vmovss xmm0, dword [0x100b37a0]
mov edx, dword [ebp - 0x74]
lea eax, [ebp - 0x68]
sub esp, 8
lea edi, [edx + 0xc]
vmovss dword [esp], xmm0
push eax
mov eax, dword [ebp + 0x18]
sub esp, 0xc
mov ecx, esp
sub esp, 0xc
vmovq xmm0, qword [eax]
mov eax, dword [eax + 8]
vmovq qword [ecx], xmm0
vmovq xmm0, qword [edi]
mov dword [ecx + 8], eax
mov ecx, esp
mov eax, dword [edi + 8]
vmovq qword [ecx], xmm0
mov dword [ecx + 8], eax
lea ecx, [ebp - 0x10]
vzeroupper
call fcn.1008aa20
add esp, 0x24
test al, al
jne 0x1008bf0f
mov ecx, dword [0x101c5f9c]
push 0x600400b
push edi
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
test eax, 0x600400b
je 0x1008c19e
mov ecx, dword [0x101c5fc0]
movsx edx, word [ebp - 0x28]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x14]
call eax
vmovss xmm0, dword [0x100b36d4]
mov dword [ebp - 0x80], eax
vmovss dword [ebp - 0x78], xmm0
movzx ecx, word [eax + 0x60]
mov eax, dword [ebp + 0x10]
mov edi, ecx
mov dword [ebp - 0x84], ecx
cmp byte [eax], 0
jne 0x1008c055
test bl, bl
jne 0x1008c055
mov eax, dword [esi]
cmp eax, 0x59
je 0x1008c078
cmp eax, 0x47
je 0x1008c055
cmp eax, 0x46
jne 0x1008c031
mov ecx, dword [0x101cd8b4]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x6c], eax
call dword [ebp - 0x6c]
fstp dword [ebp - 0x6c]
vmovss xmm0, dword [ebp - 0x6c]
vucomiss xmm0, dword [0x100b3670]
lahf
test ah, 0x44
jp 0x1008c031
mov ebx, dword [ebp - 0x74]
mov ecx, dword [ebx + 0x4c]
test ecx, ecx
je 0x1008c031
mov eax, dword [ecx]
mov eax, dword [eax + 0x260]
call eax
test al, al
je 0x1008c031
mov ecx, dword [0x101c61c8]
mov eax, dword [ebx + 0x4c]
add ecx, 0xffffffd4
mov edx, dword [ebp - 0x70]
xor ecx, 0x55
mov eax, dword [ecx + eax]
cmp eax, dword [ecx + edx]
jne 0x1008c031
mov ecx, dword [0x101cd8ac]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x70], eax
call dword [ebp - 0x70]
fstp dword [ebp - 0x70]
vmovss xmm0, dword [ebp - 0x70]
vucomiss xmm0, dword [0x100b3670]
lahf
test ah, 0x44
jnp 0x1008c19e
mov ecx, dword [0x101cd8ac]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x70], eax
call dword [ebp - 0x70]
mov ecx, dword [0x101cd8ac]
fstp dword [ebp + 0x20]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
vmovss xmm0, dword [ebp + 0x20]
vmovss dword [ebp - 0x6c], xmm0
vmovss xmm0, dword [0x100b3790]
fstp st(0)
jmp 0x1008c092
mov eax, dword [ebp - 0x80]
vmovss xmm0, dword [eax + 0x58]
vaddss xmm0, xmm0, dword [ebp + 0x20]
vmulss xmm0, xmm0, dword [0x100b3724]
vmovss dword [ebp - 0x6c], xmm0
vmovss xmm0, dword [0x100b3790]
jmp 0x1008c092
mov eax, dword [esi]
cmp eax, 0x59
je 0x1008c078
cmp eax, 0x47
je 0x1008c078
vmovss xmm0, dword [0x100b3758]
vmovss dword [ebp - 0x6c], xmm0
vmovss xmm0, dword [0x100b3790]
jmp 0x1008c092
vmovss xmm0, dword [0x100b3790]
vmovss xmm1, dword [0x100b36c0]
vmovss dword [ebp - 0x6c], xmm0
vmovss dword [ebp - 0x78], xmm1
mov eax, dword [ebp - 0x84]
cmp dword [esi], eax
jne 0x1008c0b8
cmp edi, 0x57
je 0x1008c0b3
cmp edi, 0x55
je 0x1008c0b3
cmp edi, 0x4c
jne 0x1008c0b8
vmovss xmm0, dword [0x100b3780]
vmovss dword [ebp - 0x6c], xmm0
mov eax, dword [ebp - 0x74]
vmovss xmm0, dword [ebp - 0x5c]
vmovss xmm1, dword [ebp - 0x54]
vsubss xmm3, xmm0, dword [eax + 0xc]
vmovss xmm0, dword [ebp - 0x58]
vsubss xmm0, xmm0, dword [eax + 0x10]
vsubss xmm2, xmm1, dword [eax + 0x14]
vmulss xmm1, xmm0, xmm0
vmulss xmm0, xmm3, xmm3
vaddss xmm1, xmm1, xmm0
vmulss xmm0, xmm2, xmm2
vaddss xmm0, xmm1, xmm0
call fcn.100228b0
vmovss xmm6, dword [0x100b3758]
vdivss xmm1, xmm6, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x88]
vmovaps xmm3, xmm0
vxorps xmm5, xmm5, xmm5
vmaxss xmm2, xmm1, xmm5
vmovss xmm1, dword [0x100b379c]
vdivss xmm1, xmm1, dword [ebp + 0x28]
vmovss xmm4, dword [eax]
vmaxss xmm0, xmm1, xmm5
vmulss xmm0, xmm0, xmm2
vmulss xmm1, xmm0, dword [0x100b3790]
vmulss xmm0, xmm4, dword [ebp - 0x78]
vaddss xmm1, xmm1, xmm0
vmulss xmm0, xmm3, xmm3
vmulss xmm0, xmm0, xmm2
vmulss xmm0, xmm0, dword [0x100b36bc]
vaddss xmm0, xmm1, xmm0
vmaxss xmm0, xmm0, xmm5
vsubss xmm0, xmm4, xmm0
vcomiss xmm6, xmm0
vmovss dword [eax], xmm0
ja 0x1008c19e
mov eax, dword [ebp - 0x8c]
vmovss xmm0, dword [ebp - 0x5c]
vmovss dword [eax], xmm0
vmovss xmm0, dword [ebp - 0x58]
vmovss dword [eax + 4], xmm0
vmovss xmm0, dword [ebp - 0x54]
vmovss dword [eax + 8], xmm0
mov eax, dword [ebp - 0x7c]
dec dword [eax]
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1009cc5f
mov esp, ebp
pop ebp
ret 0x38
mov ecx, dword [ebp - 4]
mov al, 1
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1009cc5f
mov esp, ebp
pop ebp
ret 0x38