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

Disassembly:
mov eax, dword [0x101df6d4]
push ebx
push esi
push edi
test al, 1
jne 0x100ecfd1
or eax, 1
mov dword [0x101df6d4], eax
mov ebx, dword [0x101d4430]
mov ebx, dword [ebx + 0x30]
test ebx, ebx
je 0x100ecfc9
mov edi, dword [ebx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop dword [eax + eax]
inc ecx
cmp byte [edi + ecx], 0
jne 0x100ecf90
xor edx, edx
test ecx, ecx
je 0x100ecfbd
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x100ecfa0
cmp esi, 0x7c0ae72b
je 0x100ed0c3
mov ebx, dword [ebx + 4]
test ebx, ebx
jne 0x100ecf81
mov eax, dword [0x101df6d4]
xor ebx, ebx
mov dword [0x101df6c4], ebx
test al, 2
jne 0x100ed041
or eax, 2
mov dword [0x101df6d4], eax
mov ecx, dword [0x101d4430]
mov ebx, dword [ecx + 0x30]
test ebx, ebx
je 0x100ed039
nop word [eax + eax]
mov esi, dword [ebx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x100ed000
xor edx, edx
test ecx, ecx
je 0x100ed02d
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100ed010
cmp edi, 0x642f682f
je 0x100ed0cd
mov ebx, dword [ebx + 4]
test ebx, ebx
jne 0x100ecff0
mov eax, dword [0x101df6d4]
xor ebx, ebx
mov dword [0x101df6bc], ebx
test al, 4
jne 0x100ed0ad
or eax, 4
mov dword [0x101df6d4], eax
mov ecx, dword [0x101d4430]
mov ebx, dword [ecx + 0x30]
test ebx, ebx
je 0x100ed0a5
nop word [eax + eax]
mov esi, dword [ebx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x100ed070
xor edx, edx
test ecx, ecx
je 0x100ed099
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100ed080
cmp edi, 0xe7b7bf01
je 0x100ed0d7
mov ebx, dword [ebx + 4]
test ebx, ebx
jne 0x100ed060
mov eax, dword [0x101df6d4]
xor ebx, ebx
mov dword [0x101df6c0], ebx
test al, 8
jne 0x100ed126
or eax, 8
mov dword [0x101df6d4], eax
mov eax, dword [0x101d4430]
mov ebx, dword [eax + 0x30]
jmp 0x100ed11c
mov eax, dword [0x101df6d4]
jmp 0x100ecfcb
mov eax, dword [0x101df6d4]
jmp 0x100ed03b
mov eax, dword [0x101df6d4]
jmp 0x100ed0a7
mov esi, dword [ebx + 0xc]
mov edi, 0x811c9dc5
xor eax, eax
nop word [eax + eax]
inc eax
cmp byte [esi + eax], 0
jne 0x100ed0f0
xor edx, edx
test eax, eax
je 0x100ed119
nop dword [eax]
movsx ecx, byte [esi + edx]
inc edx
xor ecx, edi
imul edi, ecx, 0x1000193
cmp edx, eax
jb 0x100ed100
cmp edi, 0xe6b7bd6e
je 0x100ed120
mov ebx, dword [ebx + 4]
test ebx, ebx
jne 0x100ed0e0
mov dword [0x101df6c8], ebx
push 2
push dword [0x101af840]
push dword [0x101af83c]
call fcn.100ed6b0
cmp eax, dword [0x101af840]
jne 0x100ed154
mov ecx, dword [0x101df6c4]
push 0
mov eax, dword [ecx]
mov eax, dword [eax + 0x40]
call eax
pop edi
pop esi
pop ebx
ret
mov ecx, dword [0x101df6bc]
push 0x320
mov eax, dword [ecx]
mov eax, dword [eax + 0x40]
call eax
mov ecx, dword [0x101df6c4]
push 1
mov eax, dword [ecx]
mov eax, dword [eax + 0x40]
call eax
mov ecx, dword [0x101df6c0]
push 0
mov eax, dword [ecx]
mov eax, dword [eax + 0x40]
call eax
mov ecx, dword [0x101df6c8]
push 0
mov eax, dword [ecx]
mov eax, dword [eax + 0x40]
call eax
pop edi
pop esi
pop ebx
ret