Function at 0xb0dde75
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
push ebx
mov ebx, edx
push esi
mov esi, ecx
test ebx, ebx
jne 0xb0dde8c
xor eax, eax
jmp 0xb0de120
push edi
mov edi, dword [ebp + 8]
not esi
cmp edi, 0x17
jb 0xb0de04b
test bl, 3
je 0xb0ddeb8
movzx eax, byte [ebx]
xor eax, esi
shr esi, 8
movzx eax, al
xor esi, dword [eax*4 + 0xb0939d0]
inc ebx
sub edi, 1
jne 0xb0dde9b
xor edx, edx
mov eax, edi
push 0x14
pop ecx
div ecx
mov edx, eax
xor eax, eax
imul ecx, edx, 0xffffffec
mov dword [ebp - 0x10], eax
mov dword [ebp - 4], eax
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], eax
add edi, ecx
sub edx, 1
mov dword [ebp + 8], edi
mov ecx, eax
mov dword [ebp - 0x24], edx
je 0xb0de009
xor edi, edi
jmp 0xb0ddef1
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0xc]
mov edx, dword [ebx]
xor edx, esi
mov esi, dword [ebx + 4]
xor esi, edi
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x14], esi
mov esi, dword [ebx + 8]
xor esi, ecx
mov ecx, dword [ebx + 0xc]
xor ecx, dword [ebp - 8]
mov dword [ebp - 0x18], esi
mov esi, dword [ebx + 0x10]
add ebx, 0x14
xor esi, eax
mov dword [ebp - 0x30], ebx
movzx eax, dl
mov edx, 0x100
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x2c], ecx
mov esi, dword [eax*4 + 0xb0941d0]
mov eax, dword [ebp - 0x14]
movzx eax, al
mov edi, dword [eax*4 + 0xb0941d0]
mov eax, dword [ebp - 0x18]
movzx eax, al
mov eax, dword [eax*4 + 0xb0941d0]
mov dword [ebp - 4], eax
mov ebx, dword [ebp - 4]
movzx eax, cl
mov eax, dword [eax*4 + 0xb0941d0]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x1c]
movzx eax, al
mov eax, dword [eax*4 + 0xb0941d0]
mov dword [ebp - 0xc], eax
xor eax, eax
inc eax
mov dword [ebp - 0x20], eax
mov ecx, eax
mov eax, dword [ebp - 0x28]
shl ecx, 3
shr eax, cl
movzx eax, al
add eax, edx
xor esi, dword [eax*4 + 0xb0941d0]
mov eax, dword [ebp - 0x14]
shr eax, cl
movzx eax, al
add eax, edx
xor edi, dword [eax*4 + 0xb0941d0]
mov eax, dword [ebp - 0x18]
shr eax, cl
movzx eax, al
add eax, edx
mov dword [ebp - 0x10], edi
mov edi, dword [ebp - 8]
xor ebx, dword [eax*4 + 0xb0941d0]
mov eax, dword [ebp - 0x2c]
shr eax, cl
movzx eax, al
add eax, edx
xor edi, dword [eax*4 + 0xb0941d0]
mov eax, dword [ebp - 0x1c]
shr eax, cl
mov ecx, dword [ebp - 0xc]
movzx eax, al
add eax, edx
mov dword [ebp - 8], edi
mov edi, dword [ebp - 0x10]
add edx, 0x100
xor ecx, dword [eax*4 + 0xb0941d0]
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x20], eax
cmp edx, 0x400
jl 0xb0ddf71
sub dword [ebp - 0x24], 1
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 0x30]
jne 0xb0ddeeb
mov edi, dword [ebp + 8]
mov ecx, dword [ebx]
xor ecx, esi
call fcn.0b0dde5d
xor eax, dword [ebx + 4]
xor eax, dword [ebp - 0x10]
mov ecx, eax
call fcn.0b0dde5d
xor eax, dword [ebx + 8]
xor eax, dword [ebp - 4]
mov ecx, eax
call fcn.0b0dde5d
xor eax, dword [ebx + 0xc]
xor eax, dword [ebp - 8]
mov ecx, eax
call fcn.0b0dde5d
xor eax, dword [ebx + 0x10]
xor eax, dword [ebp - 0xc]
mov ecx, eax
call fcn.0b0dde5d
mov esi, eax
add ebx, 0x14
cmp edi, 8
jb 0xb0de0ff
mov ecx, edi
shr ecx, 3
movzx eax, byte [ebx]
sub edi, 8
xor eax, esi
shr esi, 8
movzx eax, al
xor esi, dword [eax*4 + 0xb0939d0]
movzx eax, byte [ebx + 1]
xor eax, esi
shr esi, 8
movzx eax, al
xor esi, dword [eax*4 + 0xb0939d0]
movzx eax, byte [ebx + 2]
xor eax, esi
shr esi, 8
movzx eax, al
xor esi, dword [eax*4 + 0xb0939d0]
movzx eax, byte [ebx + 3]
xor eax, esi
shr esi, 8
movzx eax, al
xor esi, dword [eax*4 + 0xb0939d0]
movzx eax, byte [ebx + 4]
xor eax, esi
shr esi, 8
movzx eax, al
xor esi, dword [eax*4 + 0xb0939d0]
movzx eax, byte [ebx + 5]
xor eax, esi
shr esi, 8
movzx eax, al
xor esi, dword [eax*4 + 0xb0939d0]
movzx eax, byte [ebx + 6]
xor eax, esi
shr esi, 8
movzx eax, al
xor esi, dword [eax*4 + 0xb0939d0]
movzx eax, byte [ebx + 7]
add ebx, 8
xor eax, esi
shr esi, 8
movzx eax, al
xor esi, dword [eax*4 + 0xb0939d0]
sub ecx, 1
jne 0xb0de059
test edi, edi
je 0xb0de11b
movzx eax, byte [ebx]
xor eax, esi
shr esi, 8
movzx eax, al
xor esi, dword [eax*4 + 0xb0939d0]
inc ebx
sub edi, 1
jne 0xb0de103
not esi
mov eax, esi
pop edi
pop esi
pop ebx
leave
ret