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

Disassembly:
sub esp, 0x17c
mov edx, dword [ebx + 4]
push ebp
mov ebp, dword [esp + 0x184]
mov eax, dword [ebp + 0xc]
test eax, eax
push esi
mov esi, dword [ebx]
push edi
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], esi
je 0x46101
lea esp, [esp]
cmp dword [eax + 0xc], esi
jne 0x460fa
cmp dword [eax + 0x10], edx
je 0x46170
mov eax, dword [eax + 0x68]
test eax, eax
jne 0x460f0
push 0x70
push 0x527e10
call fcn.000b7380
mov ebp, eax
mov eax, dword [esp + 0x18c]
sub esp, 0x70
lea esi, [ebx + 0x10018]
lea edi, [ebp + 8]
mov ecx, 0x14
rep movsd dword es:[edi], dword [esi]
mov edi, esp
mov dword [ebp + 0x68], 0
mov ecx, 0x1c
mov esi, ebp
push eax
rep movsd dword es:[edi], dword [esi]
call fcn.00045f50
mov edi, eax
mov esi, 0x527e10
mov eax, ebp
call fcn.000b7610
test edi, edi
je 0x46161
mov eax, edi
pop edi
pop esi
pop ebp
add esp, 0x17c
ret 4
mov ebp, dword [esp + 0x18c]
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x46188
cmp dword [eax + 0xc], esi
jne 0x46181
cmp dword [eax + 0x10], edx
je 0x46197
mov eax, dword [eax + 0x68]
test eax, eax
jne 0x46177
or eax, 0xffffffff
pop edi
pop esi
pop ebp
add esp, 0x17c
ret 4
lea ecx, [esp + 0xc]
push ecx
mov ecx, ebp
call fcn.00046000
test eax, eax
jne 0x46304
mov edi, dword [esp + 0xc]
add edi, dword [ebx + 0xc]
mov eax, dword [ebp + 4]
mov ecx, dword [ebx + 8]
add eax, dword [ebp]
lea esi, [ecx + edi]
cmp esi, eax
mov dword [esp + 0xc], edi
jbe 0x461d7
mov eax, 0xfffffff7
pop edi
pop esi
pop ebp
add esp, 0x17c
ret 4
test byte [ebx + 0x10054], 2
je 0x4628f
lea edi, [esp + 0x18]
call fcn.000b0e70
mov ecx, dword [ebx + 0xc]
shr ecx, 4
or eax, 0xffffffff
xor edx, edx
jmp 0x46200
movzx esi, byte [ebx + edx + 0x10024]
movzx edi, al
xor esi, edi
shr eax, 8
xor eax, dword [esi*4 + 0x4e5a98]
add edx, 1
cmp edx, 0x28
jb 0x46200
mov esi, dword [ebx + 0x10050]
mov edi, dword [ebx + 0x1004c]
mov edx, ecx
mov ebp, ecx
shr ebp, 0x10
and edx, 0xff0000
or edx, ebp
mov ebp, ecx
shl ecx, 0x10
and ebp, 0xff00
or ebp, ecx
mov ecx, dword [ebx + 8]
shr edx, 8
shl ebp, 8
or edx, ebp
not eax
mov dword [esp + 0x184], edx
push ecx
lea edx, [ebx + 0x10]
mov dword [esp + 0x17c], eax
mov eax, dword [esp + 0x10]
push edx
lea ecx, [esp + 0x20]
mov dword [esp + 0x184], esi
mov dword [esp + 0x188], edi
call fcn.000b1540
mov edx, dword [esp + 0x10]
mov ebp, dword [esp + 0x18c]
jmp 0x462a0
mov eax, ecx
shr ecx, 2
lea esi, [ebx + 0x10]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
test byte [ebx + 0x10054], 4
je 0x46302
mov ecx, dword [ebx + 0xc]
add ecx, dword [ebx + 8]
mov edi, dword [ebx + 0x10050]
cmp ecx, edi
jne 0x46302
mov esi, dword [esp + 0x14]
lea eax, [esp + 0xc]
push eax
mov ecx, ebp
call fcn.00046000
mov esi, dword [esp + 0xc]
mov edx, edi
call fcn.000b1950
cmp eax, dword [ebx + 0x1004c]
je 0x46302
mov ecx, edi
shr ecx, 2
mov eax, 0xcdcdcdcd
mov edi, esi
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov eax, 0xfffffffa
pop edi
pop esi
pop ebp
add esp, 0x17c
ret 4
xor eax, eax
pop edi
pop esi
pop ebp
add esp, 0x17c
ret 4