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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x164
mov eax, dword [0x42b238]
mov esi, dword [esp + 0x17c]
mov ecx, 0x10
mov edx, 0x10
mov dword [esp + 0x160], eax
lea eax, [esp + 0x20]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov eax, dword [eax]
mov esi, dword [esp + edx*4 + 0x18]
mov ecx, dword [esp + edx*4 - 0x1c]
add eax, dword [esp + edx*4 + 4]
mov edi, esi
mov ebx, esi
shr esi, 0xa
mov ebp, ecx
rol edi, 0xf
rol ebx, 0xd
shr ebp, 3
xor esi, edi
mov edi, ecx
xor esi, ebx
mov ebx, ecx
rol edi, 0x19
rol ebx, 0xe
xor ebp, edi
add eax, esi
xor ebp, ebx
add eax, ebp
mov dword [esp + edx*4 + 0x20], eax
inc edx
mov eax, ecx
cmp edx, 0x40
jne 0x46b8f9
mov eax, dword [esp + 0x178]
mov ecx, dword [eax + 4]
mov esi, dword [eax]
mov dword [esp + 8], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x10], ecx
mov edx, dword [eax + 0x18]
mov ebx, dword [eax + 0xc]
mov ecx, dword [eax + 0x10]
mov edi, dword [eax + 0x14]
mov dword [esp + 0xc], edx
mov edx, dword [eax + 0x1c]
mov eax, 0xfffffff8
mov dword [esp], ecx
mov dword [esp + 0x18], eax
mov eax, ecx
mov dword [esp + 0x1c], edi
mov ebp, esi
mov ecx, dword [esp]
rol eax, 0x15
mov dword [esp + 4], ebp
rol ecx, 7
xor ecx, eax
mov eax, dword [esp]
rol eax, 0x1a
xor ecx, eax
mov eax, dword [esp]
add ecx, edx
mov edx, edi
mov edi, dword [esp + 8]
and edx, dword [esp]
not eax
and eax, dword [esp + 0xc]
mov dword [esp + 8], edi
xor eax, edx
mov edx, ebp
add eax, ecx
mov ecx, esi
xor edx, edi
rol esi, 0xa
rol ecx, 0x13
and edx, dword [esp + 0x10]
xor esi, ecx
mov ecx, ebp
rol ecx, 0x1e
xor esi, ecx
mov ecx, ebp
and ecx, edi
xor edx, ecx
mov ecx, dword [esp + 0x18]
add edx, esi
add eax, dword [ecx*4 + 0x416340]
mov ebp, ecx
add eax, dword [esp + ecx*4 + 0x40]
add ebx, eax
add edx, eax
mov eax, ebx
mov ecx, ebx
mov esi, ebx
rol eax, 0x15
rol ecx, 7
not esi
xor ecx, eax
mov eax, ebx
and esi, dword [esp + 0x1c]
rol eax, 0x1a
xor ecx, eax
mov eax, ebx
and eax, dword [esp]
xor esi, eax
mov eax, dword [esp + 0xc]
add eax, dword [ebp*4 + 0x416344]
add eax, dword [esp + ebp*4 + 0x44]
add eax, esi
mov esi, edx
mov edx, dword [esp + 4]
add eax, ecx
mov ecx, esi
mov dword [esp + 0x14], esi
mov ebp, eax
mov eax, esi
rol ecx, 0xa
mov edi, dword [esp + 0x14]
rol eax, 0x13
xor ecx, eax
mov eax, esi
rol eax, 0x1e
xor ecx, eax
mov eax, esi
xor esi, edx
and esi, dword [esp + 8]
and eax, edx
mov edx, dword [esp + 0x1c]
xor esi, eax
mov eax, dword [esp + 0x10]
add esi, ecx
add eax, ebp
add ebp, esi
mov esi, eax
rol eax, 0x15
mov dword [esp + 0xc], ebp
mov ecx, esi
mov dword [esp + 0x10], esi
rol ecx, 7
xor ecx, eax
mov eax, esi
rol eax, 0x1a
xor ecx, eax
mov eax, esi
not esi
and esi, dword [esp]
and eax, ebx
xor esi, eax
mov eax, dword [esp + 0x18]
add edx, dword [eax*4 + 0x416348]
add edx, dword [esp + eax*4 + 0x48]
mov eax, ebp
rol eax, 0x13
add edx, esi
add edx, ecx
mov ecx, ebp
rol ecx, 0xa
xor ecx, eax
mov eax, ebp
rol eax, 0x1e
xor ecx, eax
mov eax, ebp
xor ebp, edi
and ebp, dword [esp + 4]
and eax, edi
mov edi, dword [esp + 0x18]
xor ebp, eax
mov eax, dword [esp + 8]
add ebp, ecx
add eax, edx
add edx, ebp
mov ebp, dword [esp + 0xc]
mov esi, eax
rol eax, 0x15
mov ecx, esi
mov dword [esp + 8], esi
rol ecx, 7
xor ecx, eax
mov eax, esi
rol eax, 0x1a
xor ecx, eax
mov eax, esi
not esi
and eax, dword [esp + 0x10]
and esi, ebx
xor esi, eax
mov eax, dword [esp]
add eax, dword [edi*4 + 0x41634c]
mov dword [esp], eax
mov eax, dword [esp]
add eax, dword [esp + edi*4 + 0x4c]
mov edi, edx
mov dword [esp + 0x1c], edi
mov dword [esp], eax
add dword [esp], esi
mov eax, edx
mov esi, edx
add dword [esp], ecx
mov ecx, edx
xor esi, ebp
rol eax, 0x13
rol ecx, 0xa
xor ecx, eax
mov eax, edx
and esi, dword [esp + 0x14]
rol eax, 0x1e
xor ecx, eax
mov eax, edx
and eax, ebp
mov ebp, dword [esp + 8]
xor esi, eax
mov eax, dword [esp + 4]
add esi, ecx
add eax, dword [esp]
add dword [esp], esi
mov esi, eax
rol eax, 0x15
mov ecx, esi
mov dword [esp + 4], esi
rol ecx, 7
xor ecx, eax
mov eax, esi
rol eax, 0x1a
xor ecx, eax
mov eax, esi
not esi
and esi, dword [esp + 0x10]
and eax, ebp
xor esi, eax
mov eax, dword [esp + 0x18]
add ebx, dword [eax*4 + 0x416350]
add ebx, dword [esp + eax*4 + 0x50]
add ebx, esi
mov esi, dword [esp]
mov eax, ebx
mov ebx, dword [esp]
add eax, ecx
mov ecx, dword [esp]
rol esi, 0xa
xor ebx, edx
rol ecx, 0x13
and ebx, dword [esp + 0xc]
xor esi, ecx
mov ecx, dword [esp]
rol ecx, 0x1e
xor esi, ecx
mov ecx, dword [esp]
and ecx, edx
mov edx, dword [esp + 0x14]
xor ebx, ecx
add ebx, esi
add ebx, eax
add edx, eax
mov eax, edx
mov ecx, edx
mov esi, edx
mov dword [esp + 0x14], edx
rol eax, 0x15
rol ecx, 7
not esi
xor ecx, eax
mov eax, edx
and esi, ebp
mov ebp, ebx
rol eax, 0x1a
xor ebp, dword [esp]
xor ecx, eax
mov eax, edx
mov edx, dword [esp + 0x18]
and eax, dword [esp + 4]
and ebp, edi
xor esi, eax
mov eax, dword [esp + edx*4 + 0x54]
add eax, dword [edx*4 + 0x416354]
mov edx, dword [esp + 0xc]
add eax, dword [esp + 0x10]
add eax, esi
mov esi, ebx
add eax, ecx
mov ecx, ebx
rol esi, 0xa
rol ecx, 0x13
add edx, eax
xor esi, ecx
mov ecx, ebx
mov dword [esp + 0xc], edx
rol ecx, 0x1e
xor esi, ecx
mov ecx, ebx
and ecx, dword [esp]
xor ebp, ecx
mov ecx, edx
add ebp, esi
rol ecx, 7
mov esi, edx
add ebp, eax
mov eax, edx
not esi
rol eax, 0x15
and esi, dword [esp + 4]
mov edi, ebp
mov dword [esp + 0x10], ebp
xor ecx, eax
mov eax, edx
and edi, ebx
rol eax, 0x1a
xor ecx, eax
mov eax, edx
mov edx, dword [esp + 0x18]
and eax, dword [esp + 0x14]
xor esi, eax
mov eax, dword [esp + edx*4 + 0x58]
add eax, dword [edx*4 + 0x416358]
add eax, dword [esp + 8]
add eax, esi
mov esi, ebp
add eax, ecx
mov ecx, ebp
rol esi, 0x13
rol ecx, 0xa
xor ecx, esi
mov esi, ebp
rol esi, 0x1e
xor ecx, esi
mov esi, dword [esp + edx*4 + 0x5c]
add esi, dword [edx*4 + 0x41635c]
mov edx, ebp
xor edx, ebx
mov ebp, edx
and ebp, dword [esp]
add esi, dword [esp + 4]
mov dword [esp + 4], edi
xor ebp, edi
mov edi, dword [esp + 0x1c]
add ebp, ecx
add ebp, eax
and edx, ebp
mov dword [esp + 8], ebp
add edi, eax
xor edx, dword [esp + 4]
mov eax, edi
mov ecx, edi
mov dword [esp + 0x1c], edi
rol eax, 0x15
rol ecx, 7
xor ecx, eax
mov eax, edi
rol eax, 0x1a
xor ecx, eax
mov eax, edi
mov edi, dword [esp + 0x1c]
and eax, dword [esp + 0xc]
not edi
and edi, dword [esp + 0x14]
xor edi, eax
mov eax, ebp
add esi, edi
rol eax, 0x13
mov edi, dword [esp + 0x1c]
add esi, ecx
mov ecx, ebp
rol ecx, 0xa
xor ecx, eax
mov eax, ebp
mov ebp, dword [esp + 0x18]
rol eax, 0x1e
xor ecx, eax
add edx, ecx
mov ecx, dword [esp]
mov eax, edx
mov edx, dword [esp + 0x14]
add ebp, 8
add eax, esi
add ecx, esi
mov esi, eax
mov eax, ebp
cmp ebp, 0x38
jl 0x46b968
movd xmm1, dword [esp + 0x10]
movd xmm2, dword [esp + 8]
mov eax, dword [esp + 0x178]
movd xmm5, dword [esp + 0xc]
movd xmm3, esi
movd xmm0, ebx
movd xmm4, edx
movd xmm6, edi
movd xmm7, ecx
punpckldq xmm7, xmm6
punpckldq xmm1, xmm0
punpckldq xmm3, xmm2
movdqu xmm0, xmmword [eax]
movdqu xmm2, xmmword [eax + 0x10]
punpckldq xmm5, xmm4
punpcklqdq xmm7, xmm5
punpcklqdq xmm3, xmm1
paddd xmm0, xmm3
paddd xmm7, xmm2
movdqu xmmword [eax], xmm0
movdqu xmmword [eax + 0x10], xmm7
mov ecx, dword [esp + 0x160]
call fcn.00497c4a
add esp, 0x164
pop esi
pop edi
pop ebx
pop ebp
ret