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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
push esi
push edi
push ebx
sub esp, 0x44
mov edx, dword [0x6480b4]
xor edx, esp
mov dword [esp + 0x3c], edx
mov edx, dword [ebp + 8]
and edx, 0xf
mov ecx, edx
neg ecx
mov eax, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x10]
not ebx
lea esi, [ecx + 0x20]
cmp eax, esi
jge 0x462cf8
xor esi, esi
jmp 0x463044
movaps xmm1, xmmword [0x61ada0]
mov edi, 0xffffffff
movdqa xmm0, xmmword [0x61b1e0]
movdqa xmm7, xmmword [0x61b1f0]
movdqa xmm4, xmmword [0x61b200]
movdqa xmm3, xmmword [0x61b210]
movd xmm6, edi
movaps xmmword [esp], xmm1
movaps xmm2, xmmword [0x61adb0]
movaps xmmword [esp + 0x10], xmm2
movaps xmm5, xmmword [0x61adc0]
movaps xmmword [esp + 0x20], xmm5
mov dword [esp + 0x30], ecx
lea ecx, [esp]
mov dword [esp + 0x38], esi
mov esi, ecx
sub esi, edx
mov edi, dword [ebp + 8]
sub edi, edx
movdqu xmm5, xmmword [esi + 0x20]
pand xmm5, xmmword [edi]
mov dword [edx + ecx], ebx
lea edx, [eax - 0x20]
movdqa xmm2, xmmword [edi + 0x10]
mov esi, dword [esp + 0x38]
cmp esi, edx
pxor xmm5, xmmword [ecx]
pxor xmm2, xmmword [esp + 0x10]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x34], edx
jg 0x462eb6
mov ebx, dword [ebp + 8]
cdq
movdqa xmm1, xmmword [esi + ebx]
movdqa xmmword [esp + 0x20], xmm1
movdqa xmm1, xmmword [esi + ebx + 0x10]
lea esi, [ecx + 0x40]
mov ebx, eax
sub ebx, esi
mov dword [esp + 0x30], esi
sbb edx, 0
jns 0x462db5
add ebx, 0x3f
adc edx, 0
shrd ebx, edx, 6
lea edx, [eax - 0x40]
cmp esi, edx
jg 0x462e7c
mov esi, dword [ebp + 8]
xor edx, edx
movdqa xmmword [esp], xmm4
movdqa xmmword [esp + 0x10], xmm7
movdqa xmm4, xmmword [esp + 0x20]
lea ecx, [esi + ecx + 0x40]
mov edi, dword [esp + 0x30]
movdqa xmm7, xmm5
mov esi, edx
pclmulqdq xmm7, xmm0, 0
inc edx
pclmulqdq xmm5, xmm0, 0x11
pxor xmm7, xmm5
movdqa xmm5, xmm7
movdqa xmm7, xmm2
pclmulqdq xmm7, xmm0, 0
pclmulqdq xmm2, xmm0, 0x11
pxor xmm7, xmm2
movdqa xmm2, xmm7
movdqa xmm7, xmm4
pclmulqdq xmm7, xmm0, 0
pclmulqdq xmm4, xmm0, 0x11
pxor xmm7, xmm4
movdqa xmm4, xmm7
movdqa xmm7, xmm1
shl esi, 6
pclmulqdq xmm7, xmm0, 0
cmp edx, ebx
pclmulqdq xmm1, xmm0, 0x11
pxor xmm7, xmm1
movdqa xmm1, xmm7
pxor xmm5, xmmword [ecx + esi]
pxor xmm2, xmmword [ecx + esi + 0x10]
pxor xmm4, xmmword [ecx + esi + 0x20]
pxor xmm1, xmmword [ecx + esi + 0x30]
lea esi, [edi + esi + 0x40]
jb 0x462de2
movdqa xmmword [esp + 0x20], xmm4
movdqa xmm4, xmmword [esp]
movdqa xmm7, xmmword [esp + 0x10]
movdqa xmm0, xmm5
pclmulqdq xmm0, xmm7, 0
pclmulqdq xmm5, xmm7, 0x11
pxor xmm0, xmm5
movdqa xmm5, xmmword [esp + 0x20]
pxor xmm5, xmm0
movdqa xmm0, xmm2
pclmulqdq xmm0, xmm7, 0
pclmulqdq xmm2, xmm7, 0x11
pxor xmm0, xmm2
movdqa xmm2, xmm1
pxor xmm2, xmm0
cmp esi, dword [esp + 0x34]
jg 0x462efd
movdqa xmm0, xmm5
movdqa xmm1, xmm2
pclmulqdq xmm0, xmm7, 0
pclmulqdq xmm5, xmm7, 0x11
pclmulqdq xmm1, xmm7, 0
pxor xmm0, xmm5
pclmulqdq xmm2, xmm7, 0x11
movdqa xmm5, xmm0
mov edx, dword [ebp + 8]
pxor xmm1, xmm2
movdqa xmm2, xmm1
pxor xmm5, xmmword [esi + edx]
pxor xmm2, xmmword [esi + edx + 0x10]
add esi, 0x20
movdqa xmm0, xmm5
lea edx, [eax - 0x10]
pclmulqdq xmm0, xmm4, 0
cmp esi, edx
pclmulqdq xmm5, xmm4, 0x11
pxor xmm0, xmm5
pxor xmm0, xmm2
jg 0x462f3f
movdqa xmm1, xmm0
pclmulqdq xmm1, xmm4, 0
pclmulqdq xmm0, xmm4, 0x11
mov edx, dword [ebp + 8]
pxor xmm1, xmm0
movdqa xmm0, xmm1
pxor xmm0, xmmword [esi + edx]
add esi, 0x10
movdqa xmm2, xmm0
movdqa xmm1, xmm0
pand xmm2, xmm6
psrlq xmm0, 0x20
pclmulqdq xmm2, xmm3, 0
lea edx, [eax - 8]
psrldq xmm1, 8
cmp esi, edx
pclmulqdq xmm0, xmm3, 0x10
pxor xmm2, xmm1
pxor xmm2, xmm0
jg 0x462f9c
pand xmm6, xmm2
psrlq xmm2, 0x20
mov edx, dword [ebp + 8]
pclmulqdq xmm6, xmm3, 0
pclmulqdq xmm2, xmm3, 0x10
pxor xmm6, xmm2
movq xmm0, qword [esi + edx]
movdqa xmm2, xmm6
pxor xmm2, xmm0
add esi, 8
movd edx, xmm2
psrlq xmm2, 0x20
movd ecx, xmm2
movzx ebx, dl
mov edi, edx
shr edi, 8
mov ebx, dword [ebx*4 + 0x61ade0]
xor edi, ebx
and edi, 0xff
shr ebx, 8
xor ebx, dword [edi*4 + 0x61ade0]
mov edi, edx
shr edi, 0x10
xor edi, ebx
and edi, 0xff
shr ebx, 8
shr edx, 0x18
xor ebx, dword [edi*4 + 0x61ade0]
mov edi, ecx
xor edx, ebx
movzx edx, dl
shr ebx, 8
xor ebx, dword [edx*4 + 0x61ade0]
mov edx, ecx
xor edi, ebx
and edi, 0xff
shr ebx, 8
shr edx, 8
xor ebx, dword [edi*4 + 0x61ade0]
mov edi, ecx
xor edx, ebx
movzx edx, dl
shr ebx, 8
shr edi, 0x10
shr ecx, 0x18
xor ebx, dword [edx*4 + 0x61ade0]
xor edi, ebx
and edi, 0xff
shr ebx, 8
xor ebx, dword [edi*4 + 0x61ade0]
xor ecx, ebx
movzx ecx, cl
shr ebx, 8
xor ebx, dword [ecx*4 + 0x61ade0]
cmp esi, eax
jge 0x4630ba
sub eax, esi
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
test ecx, ecx
jbe 0x4630d3
mov edx, dword [ebp + 8]
xor edi, edi
mov dword [esp + 0x38], esi
add edx, esi
movzx esi, byte [edx + edi*2]
xor esi, ebx
and esi, 0xff
shr ebx, 8
xor ebx, dword [esi*4 + 0x61ade0]
movzx esi, byte [edx + edi*2 + 1]
inc edi
xor esi, ebx
and esi, 0xff
shr ebx, 8
xor ebx, dword [esi*4 + 0x61ade0]
cmp edi, ecx
jb 0x463062
mov esi, dword [esp + 0x38]
lea ecx, [edi + edi + 1]
lea edx, [ecx - 1]
cmp eax, edx
jbe 0x4630ba
add esi, dword [ebp + 8]
movzx eax, byte [ecx + esi - 1]
xor eax, ebx
movzx eax, al
shr ebx, 8
xor ebx, dword [eax*4 + 0x61ade0]
mov ecx, dword [esp + 0x3c]
not ebx
xor ecx, esp
call fcn.0058bb64
mov eax, ebx
add esp, 0x44
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, 1
jmp 0x46309c