Function at 0x46a710
Capabilities:
Encode data using xor
Hash data using murmur3

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x48
mov eax, dword [esp + 0x64]
test eax, eax
je 0x46abd4
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x60]
movdqu xmm0, xmmword [edx]
nop
pshufd xmm1, xmm0, 0x4e
mov ebx, dword [ecx]
mov esi, dword [ecx + 4]
mov dword [esp], ecx
mov dword [esp + 0x44], eax
movd edi, xmm0
movd ecx, xmm1
pshufd xmm1, xmm0, 0xe7
movd ebp, xmm1
mov edx, ecx
pshufd xmm1, xmm0, 0xe5
xor edx, ebp
movd eax, xmm1
and edx, eax
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x3c], esi
xor edx, ebp
add ebp, esi
add edi, edx
mov edx, eax
add edi, ebx
mov ebx, dword [esp]
xor edx, ecx
rol edi, 3
and edx, edi
xor edx, ecx
mov esi, dword [ebx + 8]
add ebp, edx
mov edx, edi
rol ebp, 7
xor edx, eax
and edx, ebp
xor edx, eax
add ecx, esi
mov dword [esp + 0x30], esi
mov esi, dword [ebx + 0xc]
add ecx, edx
mov edx, ebp
rol ecx, 0xb
xor edx, edi
and edx, ecx
xor edx, edi
add eax, esi
mov dword [esp + 0x40], esi
mov esi, dword [ebx + 0x10]
add eax, edx
mov edx, ecx
rol eax, 0x13
xor edx, ebp
and edx, eax
xor edx, ebp
add edi, esi
mov dword [esp + 0x20], esi
mov esi, dword [ebx + 0x14]
add edi, edx
mov edx, eax
rol edi, 3
xor edx, ecx
and edx, edi
xor edx, ecx
add ebp, esi
mov dword [esp + 0x34], esi
mov esi, dword [ebx + 0x18]
add ebp, edx
mov edx, edi
rol ebp, 7
xor edx, eax
and edx, ebp
xor edx, eax
add ecx, esi
mov dword [esp + 0x28], esi
mov esi, dword [ebx + 0x1c]
add ecx, edx
mov edx, ebp
rol ecx, 0xb
xor edx, edi
and edx, ecx
xor edx, edi
add eax, esi
mov dword [esp + 0x38], esi
mov esi, dword [ebx + 0x20]
add eax, edx
mov edx, ecx
rol eax, 0x13
xor edx, ebp
and edx, eax
xor edx, ebp
add edi, esi
mov dword [esp + 0xc], esi
mov esi, dword [ebx + 0x24]
add edi, edx
mov edx, eax
rol edi, 3
xor edx, ecx
and edx, edi
xor edx, ecx
add ebp, esi
mov dword [esp + 0x1c], esi
mov esi, dword [ebx + 0x28]
add ebp, edx
mov edx, edi
rol ebp, 7
xor edx, eax
and edx, ebp
xor edx, eax
add ecx, esi
mov dword [esp + 0x10], esi
mov esi, dword [ebx + 0x2c]
add ecx, edx
mov edx, ebp
rol ecx, 0xb
xor edx, edi
and edx, ecx
xor edx, edi
add eax, esi
mov dword [esp + 0x24], esi
mov esi, ecx
add eax, edx
mov edx, dword [ebx + 0x30]
xor esi, ebp
rol eax, 0x13
and esi, eax
xor esi, ebp
add edi, edx
mov dword [esp + 4], edx
mov edx, dword [ebx + 0x34]
add edi, esi
mov esi, eax
rol edi, 3
xor esi, ecx
and esi, edi
mov ebx, edi
xor esi, ecx
add ebp, edx
mov dword [esp + 0x14], edx
xor ebx, eax
add ebp, esi
mov esi, dword [esp]
rol ebp, 7
and ebx, ebp
xor ebx, eax
mov edx, dword [esi + 0x38]
mov esi, dword [esi + 0x3c]
add ecx, edx
mov dword [esp + 8], edx
mov edx, eax
mov dword [esp + 0x18], esi
add ecx, ebx
mov ebx, ebp
add edx, esi
rol ecx, 0xb
xor ebx, edi
and ebx, ecx
xor ebx, edi
add edi, dword [esp + 0x2c]
add edx, ebx
rol edx, 0x13
mov ebx, edx
mov eax, edx
mov esi, edx
or ebx, ecx
and eax, ecx
and ebx, ebp
add ebp, dword [esp + 0x20]
or ebx, eax
lea edx, [ebx + edi + 0x5a827999]
rol edx, 3
mov edi, edx
mov ebx, edx
and edi, esi
and ebx, ecx
add ecx, dword [esp + 0xc]
or eax, edi
or eax, ebx
lea ebp, [eax + ebp + 0x5a827999]
rol ebp, 5
mov eax, ebp
mov ebx, ebp
and eax, edx
and ebx, esi
add esi, dword [esp + 4]
or edi, eax
or edi, ebx
lea ecx, [edi + ecx + 0x5a827999]
rol ecx, 9
mov edi, ecx
mov ebx, ecx
and edi, ebp
and ebx, edx
add edx, dword [esp + 0x3c]
or eax, edi
or eax, ebx
lea esi, [eax + esi + 0x5a827999]
rol esi, 0xd
mov eax, esi
mov ebx, esi
and eax, ecx
and ebx, ebp
add ebp, dword [esp + 0x34]
or edi, eax
or edi, ebx
lea ebx, [edi + edx + 0x5a827999]
rol ebx, 3
mov edx, ebx
mov edi, ebx
and edx, esi
and edi, ecx
add ecx, dword [esp + 0x1c]
or eax, edx
or eax, edi
lea ebp, [eax + ebp + 0x5a827999]
rol ebp, 5
mov eax, ebp
mov edi, ebp
and eax, ebx
and edi, esi
add esi, dword [esp + 0x14]
or edx, eax
or edx, edi
lea ecx, [edx + ecx + 0x5a827999]
rol ecx, 9
mov edx, ecx
mov edi, ecx
and edx, ebp
and edi, ebx
add ebx, dword [esp + 0x30]
or eax, edx
or eax, edi
lea eax, [eax + esi + 0x5a827999]
rol eax, 0xd
mov esi, eax
mov edi, eax
and esi, ecx
and edi, ebp
add ebp, dword [esp + 0x28]
or edx, esi
or edx, edi
lea ebx, [edx + ebx + 0x5a827999]
rol ebx, 3
mov edx, ebx
mov edi, ebx
and edx, eax
and edi, ecx
add ecx, dword [esp + 0x10]
or esi, edx
or esi, edi
lea ebp, [esi + ebp + 0x5a827999]
rol ebp, 5
mov esi, ebp
mov edi, ebp
and esi, ebx
and edi, eax
add eax, dword [esp + 8]
or edx, esi
or edx, edi
lea ecx, [edx + ecx + 0x5a827999]
rol ecx, 9
mov edx, ecx
mov edi, ecx
and edx, ebp
and edi, ebx
add ebx, dword [esp + 0x40]
or esi, edx
or esi, edi
lea eax, [esi + eax + 0x5a827999]
rol eax, 0xd
mov esi, eax
mov edi, eax
and esi, ecx
and edi, ebp
add ebp, dword [esp + 0x38]
or edx, esi
or edx, edi
lea ebx, [edx + ebx + 0x5a827999]
rol ebx, 3
mov edx, ebx
mov edi, ebx
and edx, eax
and edi, ecx
add ecx, dword [esp + 0x24]
or esi, edx
or esi, edi
lea ebp, [esi + ebp + 0x5a827999]
rol ebp, 5
mov esi, ebp
mov edi, ebp
and esi, ebx
and edi, eax
add eax, dword [esp + 0x18]
or edx, esi
or edx, edi
mov edi, dword [esp + 0x30]
lea ecx, [edx + ecx + 0x5a827999]
mov edx, ebp
or edx, ebx
rol ecx, 9
add ebx, dword [esp + 0x2c]
and edx, ecx
or edx, esi
lea eax, [edx + eax + 0x5a827999]
rol eax, 0xd
mov edx, eax
xor edx, ecx
add ecx, dword [esp + 0x20]
mov esi, edx
xor esi, ebp
add ebp, dword [esp + 0xc]
lea esi, [esi + ebx + 0x6ed9eba1]
mov ebx, dword [esp + 4]
rol esi, 3
xor edx, esi
add edi, esi
lea edx, [edx + ebp + 0x6ed9eba1]
rol edx, 9
add ebx, eax
xor eax, edx
xor eax, esi
lea eax, [eax + ecx + 0x6ed9eba1]
rol eax, 0xb
xor esi, eax
xor esi, edx
lea ecx, [esi + ebx + 0x6ed9eba1]
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x28]
rol ecx, 0xf
add ebx, edx
xor edx, ecx
add esi, eax
xor edx, eax
lea edx, [edx + edi + 0x6ed9eba1]
mov edi, dword [esp + 8]
rol edx, 3
xor eax, edx
xor eax, ecx
lea eax, [eax + ebx + 0x6ed9eba1]
add edi, ecx
rol eax, 9
xor ecx, eax
xor ecx, edx
lea ecx, [ecx + esi + 0x6ed9eba1]
mov esi, dword [esp + 0x3c]
rol ecx, 0xb
add esi, edx
xor edx, ecx
xor edx, eax
lea edx, [edx + edi + 0x6ed9eba1]
mov edi, dword [esp + 0x1c]
rol edx, 0xf
add edi, eax
xor eax, edx
xor eax, ecx
lea eax, [eax + esi + 0x6ed9eba1]
mov esi, dword [esp + 0x34]
rol eax, 3
add esi, ecx
xor ecx, eax
xor ecx, edx
lea ecx, [ecx + edi + 0x6ed9eba1]
mov edi, dword [esp + 0x14]
rol ecx, 9
add edi, edx
xor edx, ecx
xor edx, eax
lea edx, [edx + esi + 0x6ed9eba1]
mov esi, dword [esp + 0x40]
rol edx, 0xb
add esi, eax
xor eax, edx
xor eax, ecx
lea eax, [eax + edi + 0x6ed9eba1]
mov edi, dword [esp + 0x24]
rol eax, 0xf
add edi, ecx
xor ecx, eax
xor ecx, edx
lea ecx, [ecx + esi + 0x6ed9eba1]
mov esi, dword [esp + 0x38]
rol ecx, 3
movd xmm0, ecx
add esi, edx
xor edx, ecx
xor edx, eax
lea edx, [edx + edi + 0x6ed9eba1]
mov edi, dword [esp + 0x18]
rol edx, 9
movd xmm1, edx
add edi, eax
xor eax, edx
xor eax, ecx
lea eax, [eax + esi + 0x6ed9eba1]
mov esi, dword [esp + 0x5c]
rol eax, 0xb
xor ecx, eax
movd xmm2, eax
mov eax, dword [esp + 0x44]
xor ecx, edx
punpckldq xmm2, xmm1
lea ecx, [ecx + edi + 0x6ed9eba1]
movdqu xmm1, xmmword [esi]
rol ecx, 0xf
movd xmm3, ecx
mov ecx, dword [esp]
punpckldq xmm0, xmm3
punpcklqdq xmm0, xmm2
paddd xmm0, xmm1
add ecx, 0x40
dec eax
movdqu xmmword [esi], xmm0
jne 0x46a730
add esp, 0x48
pop esi
pop edi
pop ebx
pop ebp
ret