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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push esi
push edi
mov edi, dword [ebp + 0xc]
mov ebx, ecx
cmp dword [edi + 0x14], 0x10
mov eax, dword [edi + 0x10]
mov dword [ebp - 4], eax
jb 0x44ccee
mov esi, dword [edi]
jmp 0x44ccf0
mov esi, edi
xor ecx, ecx
mov edx, 0x811c9dc5
test eax, eax
je 0x44cd14
mov edi, eax
nop dword [eax]
movzx eax, byte [esi + ecx]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, edi
jb 0x44cd00
mov edi, dword [ebp + 0xc]
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebx + 0xc]
and eax, edx
mov ebx, dword [ebx + 4]
mov dword [ebp - 8], ebx
mov edx, dword [ecx + eax*8]
add eax, eax
mov esi, dword [ecx + eax*4]
inc eax
mov dword [ebp - 0xc], esi
lea eax, [ecx + eax*4]
mov dword [ebp - 0x10], eax
mov dword [ebp + 0xc], edx
cmp esi, ebx
jne 0x44cd3f
mov eax, ebx
jmp 0x44cd43
mov eax, dword [eax]
mov eax, dword [eax]
cmp edx, eax
je 0x44ce96
cmp dword [edi + 0x14], 0x10
lea ecx, [edx + 8]
jb 0x44cd58
mov esi, dword [edi]
jmp 0x44cd5a
mov esi, edi
cmp dword [ecx + 0x14], 0x10
mov ebx, dword [ecx + 0x10]
jb 0x44cd65
mov ecx, dword [ecx]
mov eax, dword [ebp - 4]
cmp ebx, eax
mov edx, eax
cmovb edx, ebx
test edx, edx
je 0x44cdcb
sub edx, 4
jb 0x44cd89
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x44cd8e
add ecx, 4
add esi, 4
sub edx, 4
jae 0x44cd78
cmp edx, 0xfffffffc
je 0x44cdc2
mov al, byte [ecx]
cmp al, byte [esi]
jne 0x44cdbb
cmp edx, 0xfffffffd
je 0x44cdc2
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x44cdbb
cmp edx, 0xfffffffe
je 0x44cdc2
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x44cdbb
cmp edx, 0xffffffff
je 0x44cdc2
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
je 0x44cdc2
sbb eax, eax
or eax, 1
jmp 0x44cdc4
xor eax, eax
test eax, eax
jne 0x44cddb
mov eax, dword [ebp - 4]
cmp ebx, eax
jb 0x44cddb
xor eax, eax
cmp ebx, dword [ebp - 4]
setne al
test eax, eax
je 0x44cdee
mov edx, dword [ebp + 0xc]
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
mov edx, dword [edx]
jmp 0x44cd34
mov ecx, dword [ebp + 0xc]
add ecx, 8
cmp dword [ecx + 0x14], 0x10
mov esi, dword [ecx + 0x10]
jb 0x44cdff
mov ecx, dword [ecx]
cmp dword [edi + 0x14], 0x10
jb 0x44ce07
mov edi, dword [edi]
mov ebx, dword [ebp - 4]
mov edx, esi
cmp ebx, esi
cmovb edx, ebx
test edx, edx
je 0x44ce70
sub edx, 4
jb 0x44ce31
nop word [eax + eax]
mov eax, dword [edi]
cmp eax, dword [ecx]
jne 0x44ce36
add edi, 4
add ecx, 4
sub edx, 4
jae 0x44ce20
cmp edx, 0xfffffffc
je 0x44ce6a
mov al, byte [edi]
cmp al, byte [ecx]
jne 0x44ce63
cmp edx, 0xfffffffd
je 0x44ce6a
mov al, byte [edi + 1]
cmp al, byte [ecx + 1]
jne 0x44ce63
cmp edx, 0xfffffffe
je 0x44ce6a
mov al, byte [edi + 2]
cmp al, byte [ecx + 2]
jne 0x44ce63
cmp edx, 0xffffffff
je 0x44ce6a
mov al, byte [edi + 3]
cmp al, byte [ecx + 3]
je 0x44ce6a
sbb eax, eax
or eax, 1
jmp 0x44ce6c
xor eax, eax
test eax, eax
jne 0x44ce7f
cmp ebx, esi
jb 0x44ce7f
xor eax, eax
cmp ebx, esi
setne al
test eax, eax
je 0x44ce85
mov eax, dword [ebp - 8]
mov dword [ebp + 0xc], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
pop edi
pop esi
mov dword [eax], ecx
pop ebx
mov esp, ebp
pop ebp
ret 8
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax], ebx
pop ebx
mov esp, ebp
pop ebp
ret 8