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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x50
mov eax, dword [0x100c9040]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x1013dba8]
push esi
push edi
test al, 1
jne 0x1009f11b
or eax, 1
mov dword [0x1013dba8], eax
mov eax, dword [0x10137b54]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x1009f106
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [edi + ecx], 0
jne 0x1009f0d0
xor edx, edx
test ecx, ecx
je 0x1009f0fc
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1009f0e0
cmp esi, 0xcc254ccd
je 0x1009f110
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 4]
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x1009f0c2
xor ecx, ecx
mov dword [0x1013dba0], ecx
jmp 0x1009f121
mov ecx, dword [ebp - 0x14]
mov dword [0x1013dba0], ecx
jmp 0x1009f121
mov ecx, dword [0x1013dba0]
mov eax, dword [ecx]
movss xmm0, dword [0x100d4c08]
push ecx
movss dword [esp], xmm0
mov eax, dword [eax + 0x3c]
call eax
mov eax, dword [0x1013dba8]
test al, 2
jne 0x1009f1ab
or eax, 2
mov dword [0x1013dba8], eax
mov eax, dword [0x10137b54]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x1009f196
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x1009f160
xor edx, edx
test ecx, ecx
je 0x1009f18c
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1009f170
cmp esi, 0x90f473ab
je 0x1009f1a0
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 4]
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x1009f156
xor edx, edx
mov dword [0x1013dbb4], edx
jmp 0x1009f1b1
mov edx, dword [ebp - 0x14]
mov dword [0x1013dbb4], edx
jmp 0x1009f1b1
mov edx, dword [0x1013dbb4]
cmp byte [0x100d4094], 0
je 0x1009f1db
mov ecx, dword [0x10137e04]
mov eax, dword [0x100c92b0]
add ecx, 0xffffffb8
xor ecx, 0xcdb53aa4
cmp byte [ecx + eax], 0
jne 0x1009f1db
mov ecx, 3
jmp 0x1009f1dd
xor ecx, ecx
mov eax, dword [edx]
push ecx
mov ecx, edx
mov eax, dword [eax + 0x40]
call eax
cmp byte [0x100d026c], 0
je 0x1009f6a9
mov eax, dword [0x10137bb8]
movss xmm1, dword [eax + 0x10]
comiss xmm1, dword [0x1013d24c]
ja 0x1009f6a9
movss xmm2, dword [0x1013d250]
xorps xmm0, xmm0
comiss xmm0, xmm2
jae 0x1009f6a9
cmp byte [0x101388f8], 0
subss xmm1, dword [0x1013d248]
movss xmm0, dword [0x100be8c4]
divss xmm1, xmm2
subss xmm0, xmm1
mulss xmm0, dword [0x100bea64]
je 0x1009f25e
cmp byte [0x100d041c], 0
je 0x1009f25e
mov eax, dword [0x100d04c0]
mov cl, byte [0x100d04c2]
jmp 0x1009f269
mov eax, dword [0x100d057c]
mov cl, byte [0x100d057e]
mov edx, eax
mov byte [ebp - 0x10], al
cvttss2si eax, xmm0
shr edx, 8
mov byte [ebp - 0xf], dl
mov byte [ebp - 0xe], cl
mov ecx, dword [0x10137b64]
mov byte [ebp - 0xd], al
mov eax, dword [0x100cb190]
mov esi, dword [ebp - 0x10]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0xc], eax
add eax, 5
mov dword [ebp - 0x18], eax
mov eax, dword [0x100cb18c]
cdq
sub eax, edx
mov edx, dword [ecx]
mov edi, eax
sar edi, 1
push esi
mov edx, dword [edx + 0x38]
mov dword [ebp - 8], edi
lea eax, [edi + 5]
mov dword [ebp - 0x2c], eax
call edx
mov edx, dword [ebp - 0x18]
mov ecx, dword [0x10137b64]
inc edx
push edx
mov edx, dword [ebp - 0x2c]
inc edx
mov eax, dword [ecx]
push edx
push dword [ebp - 0x18]
push dword [ebp - 0x2c]
mov eax, dword [eax + 0x40]
call eax
mov eax, dword [ebp - 0xc]
mov ecx, dword [0x10137b64]
add eax, 6
mov dword [ebp - 0x1c], eax
mov eax, edi
add eax, 6
mov dword [ebp - 0x30], eax
mov eax, dword [ecx]
push esi
mov eax, dword [eax + 0x38]
call eax
mov edx, dword [ebp - 0x1c]
mov ecx, dword [0x10137b64]
inc edx
push edx
mov edx, dword [ebp - 0x30]
inc edx
mov eax, dword [ecx]
push edx
push dword [ebp - 0x1c]
push dword [ebp - 0x30]
mov eax, dword [eax + 0x40]
call eax
mov eax, dword [ebp - 0xc]
mov ecx, dword [0x10137b64]
add eax, 7
mov dword [ebp - 0x20], eax
mov eax, edi
add eax, 7
mov dword [ebp - 0x34], eax
mov eax, dword [ecx]
push esi
mov eax, dword [eax + 0x38]
call eax
mov edx, dword [ebp - 0x20]
mov ecx, dword [0x10137b64]
inc edx
push edx
mov edx, dword [ebp - 0x34]
inc edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x40]
push edx
push dword [ebp - 0x20]
push dword [ebp - 0x34]
call eax
mov eax, dword [ebp - 0xc]
mov ecx, dword [0x10137b64]
add eax, 8
mov dword [ebp - 0x24], eax
mov eax, edi
add eax, 8
mov dword [ebp - 0x14], eax
mov eax, dword [ecx]
push esi
mov eax, dword [eax + 0x38]
call eax
mov edx, dword [ebp - 0x24]
mov ecx, dword [0x10137b64]
inc edx
push edx
mov edx, dword [ebp - 0x14]
inc edx
mov eax, dword [ecx]
push edx
push dword [ebp - 0x24]
push dword [ebp - 0x14]
mov eax, dword [eax + 0x40]
call eax
mov eax, dword [ebp - 0xc]
mov ecx, dword [0x10137b64]
add eax, 9
mov dword [ebp - 0x28], eax
mov eax, edi
add eax, 9
mov dword [ebp - 0x3c], eax
mov eax, dword [ecx]
push esi
mov eax, dword [eax + 0x38]
call eax
mov edx, dword [ebp - 0x28]
mov ecx, dword [0x10137b64]
inc edx
push edx
mov edx, dword [ebp - 0x3c]
inc edx
mov eax, dword [ecx]
push edx
push dword [ebp - 0x28]
push dword [ebp - 0x3c]
mov eax, dword [eax + 0x40]
call eax
mov ecx, dword [0x10137b64]
add edi, 0xfffffffb
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov eax, dword [ebp - 0xc]
lea edx, [edi + 1]
mov ecx, dword [0x10137b64]
add eax, 0xfffffffc
mov dword [ebp - 0x40], eax
push dword [ebp - 0x40]
mov eax, dword [ecx]
push edx
mov edx, dword [ebp - 0xc]
add edx, 0xfffffffb
mov eax, dword [eax + 0x40]
push edx
push edi
call eax
mov ecx, dword [0x10137b64]
mov edi, dword [ebp - 8]
push esi
add edi, 0xfffffffa
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov eax, dword [ebp - 0xc]
mov ecx, dword [0x10137b64]
add eax, 0xfffffffb
mov dword [ebp - 0x44], eax
lea edx, [edi + 1]
push dword [ebp - 0x44]
mov eax, dword [ecx]
push edx
mov edx, dword [ebp - 0xc]
add edx, 0xfffffffa
mov eax, dword [eax + 0x40]
push edx
push edi
call eax
mov ecx, dword [0x10137b64]
mov edi, dword [ebp - 8]
push esi
add edi, 0xfffffff9
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov eax, dword [ebp - 0xc]
lea edx, [edi + 1]
mov ecx, dword [0x10137b64]
add eax, 0xfffffffa
mov dword [ebp - 0x48], eax
push dword [ebp - 0x48]
mov eax, dword [ecx]
push edx
mov edx, dword [ebp - 0xc]
add edx, 0xfffffff9
mov eax, dword [eax + 0x40]
push edx
push edi
call eax
mov ecx, dword [0x10137b64]
mov edi, dword [ebp - 8]
push esi
add edi, 0xfffffff8
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov eax, dword [ebp - 0xc]
lea edx, [edi + 1]
mov ecx, dword [0x10137b64]
add eax, 0xfffffff9
mov dword [ebp - 0x4c], eax
push dword [ebp - 0x4c]
mov eax, dword [ecx]
push edx
mov edx, dword [ebp - 0xc]
add edx, 0xfffffff8
mov eax, dword [eax + 0x40]
push edx
push edi
call eax
mov ecx, dword [0x10137b64]
mov eax, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
add eax, 0xfffffff7
mov dword [ebp - 0x38], eax
add edi, 0xfffffff8
mov eax, dword [ecx]
push esi
mov eax, dword [eax + 0x38]
call eax
mov edx, dword [ebp - 0x38]
mov ecx, dword [0x10137b64]
inc edx
push edx
push edi
push dword [ebp - 0x38]
mov eax, dword [ecx]
mov dword [ebp - 0x50], edi
mov edi, dword [ebp - 8]
mov eax, dword [eax + 0x40]
lea edx, [edi - 9]
push edx
call eax
mov ecx, dword [0x10137b64]
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov edx, dword [ebp - 0x18]
mov ecx, dword [0x10137b64]
inc edx
push edx
lea edx, [edi - 4]
push edx
mov eax, dword [ecx]
mov edx, edi
push dword [ebp - 0x18]
add edx, 0xfffffffb
push edx
mov eax, dword [eax + 0x40]
call eax
mov ecx, dword [0x10137b64]
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov edx, dword [ebp - 0x1c]
mov ecx, dword [0x10137b64]
inc edx
push edx
mov edx, edi
add edx, 0xfffffffb
mov eax, dword [ecx]
push edx
push dword [ebp - 0x1c]
mov edx, edi
mov eax, dword [eax + 0x40]
add edx, 0xfffffffa
push edx
call eax
mov ecx, dword [0x10137b64]
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov edx, dword [ebp - 0x20]
mov ecx, dword [0x10137b64]
inc edx
push edx
mov edx, edi
add edx, 0xfffffffa
mov eax, dword [ecx]
push edx
push dword [ebp - 0x20]
mov edx, edi
mov eax, dword [eax + 0x40]
add edx, 0xfffffff9
push edx
call eax
mov ecx, dword [0x10137b64]
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov edx, dword [ebp - 0x24]
mov ecx, dword [0x10137b64]
inc edx
push edx
mov edx, edi
add edx, 0xfffffff9
mov eax, dword [ecx]
push edx
push dword [ebp - 0x24]
mov edx, edi
mov eax, dword [eax + 0x40]
add edx, 0xfffffff8
push edx
call eax
mov ecx, dword [0x10137b64]
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x10137b64]
mov edx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x50]
inc edx
push edx
mov eax, dword [ecx]
mov edx, dword [ebp - 8]
mov eax, dword [eax + 0x40]
add edx, 0xfffffff7
push edi
push dword [ebp - 0x28]
push edx
call eax
mov ecx, dword [0x10137b64]
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
push dword [ebp - 0x40]
mov edx, dword [ebp - 0x2c]
mov ecx, dword [0x10137b64]
inc edx
push edx
mov edx, dword [ebp - 0xc]
add edx, 0xfffffffb
mov eax, dword [ecx]
push edx
push dword [ebp - 0x2c]
mov eax, dword [eax + 0x40]
call eax
mov ecx, dword [0x10137b64]
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
push dword [ebp - 0x44]
mov edx, dword [ebp - 0x30]
mov ecx, dword [0x10137b64]
inc edx
push edx
mov edx, dword [ebp - 0xc]
add edx, 0xfffffffa
mov eax, dword [ecx]
push edx
push dword [ebp - 0x30]
mov eax, dword [eax + 0x40]
call eax
mov ecx, dword [0x10137b64]
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
push dword [ebp - 0x48]
mov edx, dword [ebp - 0x34]
mov ecx, dword [0x10137b64]
inc edx
push edx
mov edx, dword [ebp - 0xc]
add edx, 0xfffffff9
mov eax, dword [ecx]
push edx
push dword [ebp - 0x34]
mov eax, dword [eax + 0x40]
call eax
mov ecx, dword [0x10137b64]
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
push dword [ebp - 0x4c]
mov edx, dword [ebp - 0x14]
mov ecx, dword [0x10137b64]
inc edx
push edx
mov edx, dword [ebp - 0xc]
add edx, 0xfffffff8
mov eax, dword [ecx]
push edx
push dword [ebp - 0x14]
mov eax, dword [eax + 0x40]
call eax
mov ecx, dword [0x10137b64]
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x10137b64]
mov esi, dword [ebp - 0x38]
mov edi, dword [ebp - 0x3c]
mov eax, dword [ecx]
lea edx, [esi + 1]
push edx
mov eax, dword [eax + 0x40]
lea edx, [edi + 1]
push edx
push esi
push edi
call eax
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.100a9e5c
mov esp, ebp
pop ebp
ret