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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
mov eax, dword [0x100f2040]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x10138564]
push ebx
push esi
push edi
test al, 1
jne 0x100d00f8
or eax, 1
mov dword [0x10138564], eax
mov eax, dword [0x10132fb4]
mov ebx, dword [eax + 0x30]
jmp 0x100d00ec
mov edi, dword [ebx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x100d00c0
xor edx, edx
test ecx, ecx
je 0x100d00e9
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x100d00d0
cmp esi, 0x90f473ab
je 0x100d00f0
mov ebx, dword [ebx + 4]
test ebx, ebx
jne 0x100d00b0
mov dword [0x1013856c], ebx
jmp 0x100d00fe
mov ebx, dword [0x1013856c]
cmp byte [0x100fbed4], 0
je 0x100d0128
mov ecx, dword [0x10133220]
mov eax, dword [0x100f20ac]
add ecx, 0xffffffb7
xor ecx, 0xe282ef77
cmp byte [ecx + eax], 0
jne 0x100d0128
mov ecx, 3
jmp 0x100d012a
xor ecx, ecx
mov eax, dword [ebx]
push ecx
mov ecx, ebx
mov eax, dword [eax + 0x40]
call eax
push 0
push dword [0x101049bc]
push dword [0x101049b8]
call fcn.100d78a0
cmp eax, dword [0x101049bc]
je 0x100d0631
mov eax, dword [0x10133014]
movss xmm1, dword [eax + 0x10]
comiss xmm1, dword [0x101381cc]
ja 0x100d0631
movss xmm2, dword [0x101381d0]
xorps xmm0, xmm0
comiss xmm0, xmm2
jae 0x100d0631
subss xmm1, dword [0x101381c8]
movss xmm0, dword [0x100e65d4]
mov ecx, dword [0x10132fc4]
divss xmm1, xmm2
subss xmm0, xmm1
mulss xmm0, dword [0x100e6714]
cvttss2si eax, xmm0
mov byte [0x101381bb], al
mov eax, dword [0x100f3f98]
push dword [0x101381b8]
cdq
sub eax, edx
mov edi, eax
mov eax, dword [0x100f3f94]
cdq
sub eax, edx
sar edi, 1
mov edx, dword [ecx]
mov ebx, eax
sar ebx, 1
mov dword [ebp - 0xc], edi
lea esi, [edi + 2]
mov dword [ebp - 8], ebx
mov edx, dword [edx + 0x38]
lea eax, [ebx + 2]
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x2c], eax
call edx
mov ecx, dword [0x10132fc4]
lea edx, [esi + 1]
push edx
lea edx, [ebx + 3]
push edx
mov eax, dword [ecx]
lea edx, [ebx + 2]
push esi
push edx
mov eax, dword [eax + 0x40]
call eax
mov ecx, dword [0x10132fc4]
lea eax, [ebx + 3]
push dword [0x101381b8]
mov dword [ebp - 0x30], eax
mov esi, edi
add esi, 3
mov eax, dword [ecx]
mov dword [ebp - 0x1c], esi
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x10132fc4]
lea edx, [esi + 1]
push edx
lea edx, [ebx + 4]
push edx
mov eax, dword [ecx]
lea edx, [ebx + 3]
push esi
push edx
mov eax, dword [eax + 0x40]
call eax
mov ecx, dword [0x10132fc4]
lea eax, [ebx + 4]
push dword [0x101381b8]
mov dword [ebp - 0x34], eax
mov esi, edi
add esi, 4
mov eax, dword [ecx]
mov dword [ebp - 0x20], esi
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x10132fc4]
lea edx, [esi + 1]
push edx
lea edx, [ebx + 5]
push edx
mov eax, dword [ecx]
lea edx, [ebx + 4]
push esi
push edx
mov eax, dword [eax + 0x40]
call eax
mov ecx, dword [0x10132fc4]
lea eax, [ebx + 5]
push dword [0x101381b8]
mov dword [ebp - 0x38], eax
mov esi, edi
add esi, 5
mov eax, dword [ecx]
mov dword [ebp - 0x24], esi
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x10132fc4]
lea edx, [esi + 1]
push edx
lea edx, [ebx + 6]
push edx
mov eax, dword [ecx]
lea edx, [ebx + 5]
push esi
push edx
mov eax, dword [eax + 0x40]
call eax
mov ecx, dword [0x10132fc4]
lea eax, [ebx + 6]
push dword [0x101381b8]
mov dword [ebp - 0x3c], eax
mov esi, edi
add esi, 6
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x10132fc4]
lea edx, [esi + 1]
push edx
lea edx, [ebx + 7]
push edx
mov eax, dword [ecx]
lea edx, [ebx + 6]
push esi
push edx
mov eax, dword [eax + 0x40]
call eax
mov ecx, dword [0x10132fc4]
add edi, 0xfffffffe
push dword [0x101381b8]
add ebx, 0xfffffffe
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x10132fc4]
lea esi, [edi + 1]
push esi
lea edx, [ebx + 1]
push edx
mov eax, dword [ecx]
push edi
push ebx
mov eax, dword [eax + 0x40]
call eax
mov ecx, dword [0x10132fc4]
mov edi, dword [ebp - 0xc]
mov ebx, dword [ebp - 8]
add edi, 0xfffffffd
push dword [0x101381b8]
mov eax, dword [ecx]
add ebx, 0xfffffffd
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x10132fc4]
lea esi, [edi + 1]
push esi
lea edx, [ebx + 1]
push edx
mov eax, dword [ecx]
push edi
push ebx
mov eax, dword [eax + 0x40]
call eax
mov edi, dword [ebp - 0xc]
mov esi, dword [ebp - 8]
add edi, 0xfffffffc
add esi, 0xfffffffc
mov ecx, dword [0x10132fc4]
push dword [0x101381b8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x10132fc4]
lea edx, [edi + 1]
push edx
lea ebx, [esi + 1]
push ebx
mov eax, dword [ecx]
push edi
push esi
mov dword [ebp - 0x28], ebx
mov eax, dword [eax + 0x40]
call eax
mov ecx, dword [0x10132fc4]
mov esi, dword [ebp - 8]
push dword [0x101381b8]
mov ebx, dword [ebp - 0xc]
add esi, 0xfffffffb
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x10132fc4]
lea edx, [ebx - 4]
push edx
lea edi, [esi + 1]
push edi
mov eax, dword [ecx]
lea edx, [ebx - 5]
push edx
push esi
mov eax, dword [eax + 0x40]
call eax
mov ecx, dword [0x10132fc4]
lea eax, [ebx - 6]
mov esi, dword [ebp - 8]
push dword [0x101381b8]
mov dword [ebp - 0x10], eax
add esi, 0xfffffffb
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x10132fc4]
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 8]
inc edx
push edx
mov eax, dword [ecx]
push esi
push dword [ebp - 0x10]
lea edx, [ebx - 6]
mov eax, dword [eax + 0x40]
push edx
call eax
mov ecx, dword [0x10132fc4]
push dword [0x101381b8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x10132fc4]
lea edx, [ebx - 1]
mov eax, dword [ebp - 0x18]
inc eax
push eax
mov eax, dword [ecx]
push edx
push dword [ebp - 0x18]
mov edx, ebx
mov eax, dword [eax + 0x40]
add edx, 0xfffffffe
push edx
call eax
mov ecx, dword [0x10132fc4]
push dword [0x101381b8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x10132fc4]
mov eax, dword [ebp - 0x1c]
inc eax
mov edx, ebx
push eax
mov eax, dword [ecx]
add edx, 0xfffffffe
push edx
push dword [ebp - 0x1c]
mov edx, ebx
mov eax, dword [eax + 0x40]
add edx, 0xfffffffd
push edx
call eax
mov ecx, dword [0x10132fc4]
push dword [0x101381b8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x10132fc4]
mov edx, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x28]
inc edx
push edx
mov eax, dword [ecx]
mov edx, dword [ebp - 8]
push ebx
push dword [ebp - 0x20]
mov eax, dword [eax + 0x40]
add edx, 0xfffffffc
push edx
call eax
mov ecx, dword [0x10132fc4]
push dword [0x101381b8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x10132fc4]
mov edx, dword [ebp - 0x24]
inc edx
push edx
mov eax, dword [ecx]
mov edx, dword [ebp - 8]
push edi
push dword [ebp - 0x24]
mov eax, dword [eax + 0x40]
add edx, 0xfffffffb
push edx
call eax
mov ecx, dword [0x10132fc4]
push dword [0x101381b8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov edi, dword [ebp - 0xc]
mov ecx, dword [0x10132fc4]
add edi, 6
mov eax, dword [ecx]
lea edx, [edi + 1]
push edx
mov edx, dword [ebp - 8]
push esi
mov eax, dword [eax + 0x40]
add edx, 0xfffffffa
push edi
push edx
call eax
mov ecx, dword [0x10132fc4]
push dword [0x101381b8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov edi, dword [ebp - 0xc]
mov ebx, dword [ebp - 0x2c]
mov ecx, dword [0x10132fc4]
lea esi, [edi - 2]
lea edx, [esi + 1]
mov eax, dword [ecx]
push edx
lea edx, [ebx + 1]
push edx
push esi
push ebx
mov eax, dword [eax + 0x40]
call eax
mov ecx, dword [0x10132fc4]
push dword [0x101381b8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov ebx, dword [ebp - 0x30]
lea esi, [edi - 3]
mov ecx, dword [0x10132fc4]
lea edx, [esi + 1]
push edx
lea edx, [ebx + 1]
mov eax, dword [ecx]
push edx
push esi
push ebx
mov eax, dword [eax + 0x40]
call eax
mov ecx, dword [0x10132fc4]
push dword [0x101381b8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov ebx, dword [ebp - 0x34]
lea esi, [edi - 4]
mov ecx, dword [0x10132fc4]
lea edx, [esi + 1]
push edx
lea edx, [ebx + 1]
mov eax, dword [ecx]
push edx
push esi
push ebx
mov eax, dword [eax + 0x40]
call eax
mov ecx, dword [0x10132fc4]
push dword [0x101381b8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov esi, dword [ebp - 0x38]
lea ebx, [edi - 5]
mov ecx, dword [0x10132fc4]
lea edx, [ebx + 1]
push edx
lea edx, [esi + 1]
mov eax, dword [ecx]
push edx
push ebx
push esi
mov eax, dword [eax + 0x40]
call eax
mov ecx, dword [0x10132fc4]
push dword [0x101381b8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov ebx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x3c]
mov ecx, dword [0x10132fc4]
lea edx, [ebx + 1]
push edx
mov eax, dword [ecx]
lea edx, [esi + 1]
push edx
push ebx
push esi
mov eax, dword [eax + 0x40]
call eax
mov eax, dword [0x10133014]
mov esi, 1
cmp dword [eax + 0x18], esi
jl 0x100d0631
mov ecx, dword [0x10132fbc]
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov edx, 0x10133c64
mov ecx, 0x10133c4c
call fcn.100cc150
test al, al
je 0x100d0626
mov edx, 0x10133c6c
mov ecx, 0x10133c58
call fcn.100cc150
mov eax, dword [0x10133014]
inc esi
cmp esi, dword [eax + 0x18]
jle 0x100d05f6
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.100d7aa6
mov esp, ebp
pop ebp
ret