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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xbc
mov eax, dword [0x10188068]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
push esi
mov esi, dword [ebp + 8]
mov ebx, ecx
mov dword [ebp - 0xa4], ebx
mov dword [ebp - 0xa8], eax
push edi
test esi, esi
je 0x100b911b
cmp word [esi], 0
je 0x100b911b
push 0x80
lea eax, [ebp - 0x88]
push 0
push eax
call fcn.100fc650
lea ecx, [ebp - 0x88]
add esp, 0xc
mov eax, ecx
mov edx, 0x40
sub esi, eax
lea eax, [edx + 0x7fffffbe]
test eax, eax
je 0x100b8d3f
movzx eax, word [esi + ecx]
test ax, ax
je 0x100b8d3f
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x100b8d21
lea eax, [ecx - 2]
test edx, edx
push 0x40
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
lea eax, [ebp - 0x88]
push eax
call fcn.10129641
add esp, 8
cmp byte [ebx + 0x38], 0
jne 0x100b8d6a
mov ecx, ebx
call fcn.100b8080
xor eax, eax
mov dword [ebp - 0x90], 0
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x8c], 7
mov word [ebp - 0xa0], ax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x100b8d90
sub ecx, edx
lea eax, [ebp - 0x88]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0xa0]
call fcn.10043b50
mov eax, dword [ebp - 0x90]
lea esi, [ebp - 0xa0]
cmp dword [ebp - 0x8c], 8
mov edx, 0x811c9dc5
cmovae esi, dword [ebp - 0xa0]
xor ecx, ecx
lea edi, [eax + eax]
test edi, edi
je 0x100b8df1
nop word [eax + eax]
movzx eax, byte [ecx + esi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, edi
jb 0x100b8de0
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebx + 0xc]
and eax, edx
mov edx, dword [ebp - 0xa4]
mov esi, dword [ecx + eax*8]
add eax, eax
mov edx, dword [edx + 4]
mov dword [ebp - 0xac], edx
mov ebx, dword [ecx + eax*4]
inc eax
mov dword [ebp - 0xb0], ebx
lea eax, [ecx + eax*4]
mov dword [ebp - 0xb4], eax
cmp ebx, edx
jne 0x100b8e28
mov eax, edx
jmp 0x100b8e2c
mov eax, dword [eax]
mov eax, dword [eax]
cmp esi, eax
je 0x100b8eea
cmp dword [ebp - 0x8c], 8
lea ecx, [ebp - 0xa0]
mov ebx, dword [esi + 0x1c]
lea edi, [esi + 8]
cmovae ecx, dword [ebp - 0xa0]
mov dword [ebp - 0xb8], ebx
cmp ebx, 8
jb 0x100b8e5c
mov edi, dword [esi + 8]
mov ebx, dword [esi + 0x18]
cmp ebx, dword [ebp - 0x90]
jne 0x100b8ecc
mov edx, ebx
test ebx, ebx
je 0x100b8e81
sub edi, ecx
nop
mov ax, word [ecx + edi]
cmp ax, word [ecx]
jne 0x100b8ec6
add ecx, 2
sub edx, 1
jne 0x100b8e70
cmp dword [ebp - 0xb8], 8
lea ecx, [esi + 8]
jb 0x100b8e8f
mov ecx, dword [ecx]
cmp dword [ebp - 0x8c], 8
lea edx, [ebp - 0xa0]
mov edi, dword [ebp - 0x90]
cmovae edx, dword [ebp - 0xa0]
cmp edi, ebx
jne 0x100b8edf
test edi, edi
je 0x100b8eec
sub edx, ecx
mov ax, word [ecx + edx]
cmp ax, word [ecx]
jne 0x100b8edf
add ecx, 2
sub edi, 1
jne 0x100b8eb3
jmp 0x100b8eec
mov edx, dword [ebp - 0xac]
mov esi, dword [esi]
mov ebx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xb4]
jmp 0x100b8e20
mov eax, dword [ebp - 0xa4]
mov esi, dword [eax + 4]
jmp 0x100b8eec
mov esi, edx
lea ecx, [ebp - 0xa0]
call fcn.10043ac0
mov eax, dword [ebp - 0xa4]
cmp esi, dword [eax + 4]
je 0x100b8f32
push dword [ebp - 0xbc]
mov eax, dword [ebp - 0xa8]
mov ecx, eax
push dword [esi + 0x24]
push dword [esi + 0x20]
push dword [eax]
call fcn.100bcaa0
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100e278d
mov esp, ebp
pop ebp
ret 8
cmp dword [eax + 0x30], 0
je 0x100b9103
mov ebx, dword [ebp - 0xa8]
lea esi, [eax + 0x20]
push esi
mov eax, dword [ebx + 4]
cmp dword [ebx + 8], eax
je 0x100b8f5b
mov ecx, eax
call fcn.10045090
add dword [ebx + 4], 0x18
jmp 0x100b8f63
push eax
mov ecx, ebx
call fcn.1004d440
cmp dword [esi + 0x14], 8
jb 0x100b8f6b
mov esi, dword [esi]
push esi
lea ecx, [ebp - 0xa0]
call fcn.100477a0
mov ebx, dword [ebp - 0x90]
lea esi, [ebp - 0xa0]
cmp dword [ebp - 0x8c], 8
mov edx, 0x811c9dc5
cmovae esi, dword [ebp - 0xa0]
xor ecx, ecx
lea edi, [ebx + ebx]
test edi, edi
je 0x100b8fb1
nop
movzx eax, byte [ecx + esi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, edi
jb 0x100b8fa0
mov eax, dword [ebp - 0xa4]
and edx, dword [eax + 0x18]
mov ecx, dword [eax + 0xc]
lea eax, [edx + edx]
mov esi, dword [ecx + edx*8]
lea eax, [eax + 1]
mov edi, dword [ecx + eax*4 - 4]
lea eax, [ecx + eax*4]
mov edx, dword [ebp - 0xa4]
mov dword [ebp - 0xb4], edi
mov dword [ebp - 0xb0], eax
mov edx, dword [edx + 4]
mov dword [ebp - 0xb8], edx
cmp edi, edx
jne 0x100b8ff0
mov eax, edx
jmp 0x100b8ff4
mov eax, dword [eax]
mov eax, dword [eax]
cmp esi, eax
je 0x100b90ba
cmp dword [ebp - 0x8c], 8
lea ecx, [ebp - 0xa0]
mov ebx, dword [esi + 0x1c]
lea edi, [esi + 8]
cmovae ecx, dword [ebp - 0xa0]
cmp ebx, 8
mov dword [ebp - 0xbc], ebx
mov ebx, dword [ebp - 0x90]
jb 0x100b902a
mov edi, dword [esi + 8]
mov eax, dword [esi + 0x18]
mov dword [ebp - 0xac], eax
cmp eax, ebx
jne 0x100b909c
mov edx, eax
test eax, eax
je 0x100b9057
sub edi, ecx
nop
mov ax, word [ecx + edi]
cmp ax, word [ecx]
jne 0x100b9096
add ecx, 2
sub edx, 1
jne 0x100b9040
mov eax, dword [ebp - 0xac]
cmp dword [ebp - 0xbc], 8
lea ecx, [esi + 8]
jb 0x100b9065
mov ecx, dword [ecx]
cmp dword [ebp - 0x8c], 8
lea edx, [ebp - 0xa0]
cmovae edx, dword [ebp - 0xa0]
cmp ebx, eax
jne 0x100b90af
test ebx, ebx
je 0x100b90bc
sub edx, ecx
mov ax, word [ecx + edx]
cmp ax, word [ecx]
jne 0x100b90af
add ecx, 2
sub ebx, 1
jne 0x100b9083
jmp 0x100b90bc
mov edx, dword [ebp - 0xb8]
mov esi, dword [esi]
mov edi, dword [ebp - 0xb4]
mov eax, dword [ebp - 0xb0]
jmp 0x100b8fe8
mov eax, dword [ebp - 0xa4]
mov esi, dword [eax + 4]
jmp 0x100b90bc
mov esi, edx
lea ecx, [ebp - 0xa0]
call fcn.10043ac0
mov eax, dword [ebp - 0xa4]
cmp esi, dword [eax + 4]
je 0x100b90ee
push dword [esi + 0x24]
mov eax, dword [ebp - 0xa8]
lea ecx, [ebp - 0xbc]
push dword [esi + 0x20]
push dword [eax]
push ecx
mov ecx, eax
call fcn.100bb6a0
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100e278d
mov esp, ebp
pop ebp
ret 8
mov eax, 0x80004005
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100e278d
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [ebp - 4]
mov eax, 0x80070057
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.100e278d
mov esp, ebp
pop ebp
ret 8