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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
mov ebx, ecx
mov esi, edx
mov edx, ebx
push edi
lea ecx, [edx + 1]
nop
mov al, byte [edx]
inc edx
test al, al
jne 0x10137e90
sub edx, ecx
mov edi, 0x811c9dc5
xor ecx, ecx
test edx, edx
je 0x10137eb5
movzx eax, byte [ecx + ebx]
inc ecx
xor eax, edi
imul edi, eax, 0x1000193
cmp ecx, edx
jb 0x10137ea4
mov eax, dword fs:[0x2c]
mov ecx, dword [0x102999e4]
mov ebx, dword [eax + ecx*4]
mov eax, dword [0x102bb224]
cmp eax, dword [ebx + 4]
jle 0x10137f18
push 0x102bb224
call fcn.101e23b9
add esp, 4
cmp dword [0x102bb224], 0xffffffff
jne 0x10137f18
mov edx, 0x811c9dc5
xor ecx, ecx
nop
movzx eax, byte [ecx + str.models_weapons_v_knife_butterfly.mdl]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, 0x24
jb 0x10137ef0
push 0x102bb224
mov dword [0x102bb228], edx
call fcn.101e236f
add esp, 4
mov eax, dword [0x102bb22c]
cmp eax, dword [ebx + 4]
jle 0x10137f6a
push 0x102bb22c
call fcn.101e23b9
add esp, 4
cmp dword [0x102bb22c], 0xffffffff
jne 0x10137f6a
mov edx, 0x811c9dc5
xor ecx, ecx
movzx eax, byte [ecx + str.models_weapons_v_knife_falchion_advanced.mdl]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, 0x2c
jb 0x10137f42
push 0x102bb22c
mov dword [0x102bb230], edx
call fcn.101e236f
add esp, 4
mov eax, dword [0x102bb234]
cmp eax, dword [ebx + 4]
jle 0x10137fbc
push 0x102bb234
call fcn.101e23b9
add esp, 4
cmp dword [0x102bb234], 0xffffffff
jne 0x10137fbc
mov edx, 0x811c9dc5
xor ecx, ecx
movzx eax, byte [ecx + str.models_weapons_v_knife_push.mdl]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, 0x1f
jb 0x10137f94
push 0x102bb234
mov dword [0x102bb238], edx
call fcn.101e236f
add esp, 4
mov eax, dword [0x102bb23c]
cmp eax, dword [ebx + 4]
jle 0x1013800e
push 0x102bb23c
call fcn.101e23b9
add esp, 4
cmp dword [0x102bb23c], 0xffffffff
jne 0x1013800e
mov edx, 0x811c9dc5
xor ecx, ecx
movzx eax, byte [ecx + str.models_weapons_v_knife_survival_bowie.mdl]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, 0x29
jb 0x10137fe6
push 0x102bb23c
mov dword [0x102bb240], edx
call fcn.101e236f
add esp, 4
mov eax, dword [0x102bb244]
cmp eax, dword [ebx + 4]
jle 0x10138068
push 0x102bb244
call fcn.101e23b9
add esp, 4
cmp dword [0x102bb244], 0xffffffff
jne 0x10138068
mov edx, 0x811c9dc5
xor ecx, ecx
nop dword [eax + eax]
movzx eax, byte [ecx + str.models_weapons_v_knife_ursus.mdl]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, 0x20
jb 0x10138040
push 0x102bb244
mov dword [0x102bb248], edx
call fcn.101e236f
add esp, 4
mov eax, dword [0x102bb24c]
cmp eax, dword [ebx + 4]
jle 0x101380ba
push 0x102bb24c
call fcn.101e23b9
add esp, 4
cmp dword [0x102bb24c], 0xffffffff
jne 0x101380ba
mov edx, 0x811c9dc5
xor ecx, ecx
movzx eax, byte [ecx + str.models_weapons_v_knife_stiletto.mdl]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, 0x23
jb 0x10138092
push 0x102bb24c
mov dword [0x102bb250], edx
call fcn.101e236f
add esp, 4
mov eax, dword [0x102bb254]
cmp eax, dword [ebx + 4]
jle 0x1013810c
push 0x102bb254
call fcn.101e23b9
add esp, 4
cmp dword [0x102bb254], 0xffffffff
jne 0x1013810c
mov edx, 0x811c9dc5
xor ecx, ecx
movzx eax, byte [ecx + str.models_weapons_v_knife_widowmaker.mdl]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, 0x25
jb 0x101380e4
push 0x102bb254
mov dword [0x102bb258], edx
call fcn.101e236f
add esp, 4
mov eax, dword [0x102bb25c]
cmp eax, dword [ebx + 4]
jle 0x1013815e
push 0x102bb25c
call fcn.101e23b9
add esp, 4
cmp dword [0x102bb25c], 0xffffffff
jne 0x1013815e
mov edx, 0x811c9dc5
xor ecx, ecx
movzx eax, byte [ecx + str.models_weapons_v_knife_css.mdl]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, 0x1e
jb 0x10138136
push 0x102bb25c
mov dword [0x102bb260], edx
call fcn.101e236f
add esp, 4
mov eax, dword [0x102bb264]
cmp eax, dword [ebx + 4]
jle 0x101381b8
push 0x102bb264
call fcn.101e23b9
add esp, 4
cmp dword [0x102bb264], 0xffffffff
jne 0x101381b8
mov edx, 0x811c9dc5
xor ecx, ecx
nop dword [eax + eax]
movzx eax, byte [ecx + str.models_weapons_v_knife_cord.mdl]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, 0x1f
jb 0x10138190
push 0x102bb264
mov dword [0x102bb268], edx
call fcn.101e236f
add esp, 4
mov eax, dword [0x102bb26c]
cmp eax, dword [ebx + 4]
jle 0x1013820a
push 0x102bb26c
call fcn.101e23b9
add esp, 4
cmp dword [0x102bb26c], 0xffffffff
jne 0x1013820a
mov edx, 0x811c9dc5
xor ecx, ecx
movzx eax, byte [ecx + str.models_weapons_v_knife_canis.mdl]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, 0x20
jb 0x101381e2
push 0x102bb26c
mov dword [0x102bb270], edx
call fcn.101e236f
add esp, 4
mov eax, dword [0x102bb274]
cmp eax, dword [ebx + 4]
jle 0x1013825c
push 0x102bb274
call fcn.101e23b9
add esp, 4
cmp dword [0x102bb274], 0xffffffff
jne 0x1013825c
mov edx, 0x811c9dc5
xor ecx, ecx
movzx eax, byte [ecx + str.models_weapons_v_knife_outdoor.mdl]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, 0x22
jb 0x10138234
push 0x102bb274
mov dword [0x102bb278], edx
call fcn.101e236f
add esp, 4
mov eax, dword [0x102bb27c]
cmp eax, dword [ebx + 4]
jle 0x101382ae
push 0x102bb27c
call fcn.101e23b9
add esp, 4
cmp dword [0x102bb27c], 0xffffffff
jne 0x101382ae
mov edx, 0x811c9dc5
xor ecx, ecx
movzx eax, byte [ecx + str.models_weapons_v_knife_skeleton.mdl]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, 0x23
jb 0x10138286
push 0x102bb27c
mov dword [0x102bb280], edx
call fcn.101e236f
add esp, 4
cmp edi, dword [0x102bb228]
jne 0x1013833c
test esi, esi
je 0x101382ff
cmp esi, 0xc
jne 0x1013861d
cmp byte [0x102b6114], 0
jne 0x101382ea
push 0
call fcn.101f2060
add esp, 4
push eax
call fcn.101ef3a4
add esp, 4
mov byte [0x102b6114], 1
call fcn.101ef383
cdq
mov ecx, 3
idiv ecx
lea eax, [edx + 0xd]
pop edi
pop esi
pop ebx
pop ebp
ret
cmp byte [0x102b6114], 0
jne 0x10138322
push 0
call fcn.101f2060
add esp, 4
push eax
call fcn.101ef3a4
add esp, 4
mov byte [0x102b6114], 1
call fcn.101ef383
and eax, 0x80000001
jns 0x10138517
dec eax
or eax, 0xfffffffe
inc eax
pop edi
pop esi
pop ebx
pop ebp
ret
cmp edi, dword [0x102bb260]
jne 0x1013835e
cmp esi, 0xc
jne case.0x1013840d.0
mov edx, dword [ebp + 8]
push esi
call fcn.10137cf0
add esp, 4
pop edi
pop esi
pop ebx
pop ebp
ret
cmp edi, dword [0x102bb230]
jne 0x101383f9
cmp esi, 0xc
ja case.0x1013837a.3
movzx eax, byte [esi + 0x1013863c]
jmp dword [eax*4 + 0x10138628]
cmp byte [0x102b6114], 0
jne 0x101383a4
push 0
call fcn.101f2060
add esp, 4
push eax
call fcn.101ef3a4
add esp, 4
mov byte [0x102b6114], 1
call fcn.101ef383
and eax, 0x80000001
jns 0x101383b5
dec eax
or eax, 0xfffffffe
inc eax
add eax, 8
pop edi
pop esi
pop ebx
pop ebp
ret
cmp byte [0x102b6114], 0
jne 0x101383e0
push 0
call fcn.101f2060
add esp, 4
push eax
call fcn.101ef3a4
add esp, 4
mov byte [0x102b6114], 1
call fcn.101ef383
and eax, 0x80000001
jns 0x101383f1
dec eax
or eax, 0xfffffffe
inc eax
add eax, 0xc
pop edi
pop esi
pop ebx
pop ebp
ret
cmp edi, dword [0x102bb238]
jne 0x10138460
cmp esi, 0xc
ja case.0x1013840d.3
movzx eax, byte [esi + 0x10138660]
jmp dword [eax*4 + 0x1013864c]
cmp byte [0x102b6114], 0
jne 0x10138437
push 0
call fcn.101f2060
add esp, 4
push eax
call fcn.101ef3a4
add esp, 4
mov byte [0x102b6114], 1
call fcn.101ef383
and eax, 0x80000001
jns 0x10138448
dec eax
or eax, 0xfffffffe
inc eax
add eax, 0xb
pop edi
pop esi
pop ebx
pop ebp
ret
lea eax, [esi + 3]
pop edi
pop esi
pop ebx
pop ebp
ret
lea eax, [esi + 2]
pop edi
pop esi
pop ebx
pop ebp
ret
cmp edi, dword [0x102bb240]
jne 0x10138493
mov eax, esi
sub eax, 0
je case.0x1013840d.0
sub eax, 1
je case.0x1013840d.0
sub eax, 1
je case.0x1013840d.2
lea eax, [esi - 1]
pop edi
pop esi
pop ebx
pop ebp
ret
mov eax, 1
pop edi
pop esi
pop ebx
pop ebp
ret
cmp edi, dword [0x102bb248]
jne 0x10138504
test esi, esi
je 0x101384ac
cmp esi, 0xc
je 0x101384d4
lea eax, [esi + 1]
pop edi
pop esi
pop ebx
pop ebp
ret
cmp byte [0x102b6114], 0
jne 0x101384cf
push 0
call fcn.101f2060
add esp, 4
push eax
call fcn.101ef3a4
add esp, 4
mov byte [0x102b6114], 1
call fcn.101ef383
cmp byte [0x102b6114], 0
jne 0x101384f7
push 0
call fcn.101f2060
add esp, 4
push eax
call fcn.101ef3a4
add esp, 4
mov byte [0x102b6114], 1
call fcn.101ef383
lea eax, [esi + 1]
pop edi
pop esi
pop ebx
pop ebp
ret
cmp edi, dword [0x102bb250]
jne 0x1013851c
cmp esi, 0xc
je case.0x1013837a.12
mov eax, esi
pop edi
pop esi
pop ebx
pop ebp
ret
cmp edi, dword [0x102bb258]
jne 0x10138565
cmp esi, 0xc
jne case.0x1013840d.0
cmp byte [0x102b6114], 0
jne 0x1013854c
push 0
call fcn.101f2060
add esp, 4
push eax
call fcn.101ef3a4
add esp, 4
mov byte [0x102b6114], 1
call fcn.101ef383
and eax, 0x80000001
jns 0x1013855d
dec eax
or eax, 0xfffffffe
inc eax
add eax, 0xe
pop edi
pop esi
pop ebx
pop ebp
ret
cmp edi, dword [0x102bb268]
jne 0x101385ba
test esi, esi
je 0x101382ff
cmp esi, 0xc
jne 0x1013861d
cmp byte [0x102b6114], 0
jne 0x101385a1
push 0
call fcn.101f2060
add esp, 4
push eax
call fcn.101ef3a4
add esp, 4
mov byte [0x102b6114], 1
call fcn.101ef383
and eax, 0x80000001
jns 0x101385b2
dec eax
or eax, 0xfffffffe
inc eax
add eax, 0xd
pop edi
pop esi
pop ebx
pop ebp
ret
cmp edi, dword [0x102bb270]
jne 0x101385f4
test esi, esi
jne 0x10138575
cmp byte [0x102b6114], 0
jne 0x101385e8
push esi
call fcn.101f2060
add esp, 4
push eax
call fcn.101ef3a4
add esp, 4
mov byte [0x102b6114], 1
call fcn.101ef383
xor eax, eax
pop edi
pop esi
pop ebx
pop ebp
ret
cmp edi, dword [0x102bb278]
je 0x1013856d
cmp edi, dword [0x102bb280]
jne case.0x1013840d.0
test esi, esi
je 0x101382ff
cmp esi, 0xc
je 0x1013857e
pop edi
lea eax, [esi + 1]
pop esi
pop ebx
pop ebp
ret