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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x54
mov ebx, dword [esp + 0x70]
mov esi, dword [esp + 0x68]
mov eax, dword [esp + 0x68]
mov ebp, dword [esp + 0x6c]
mov edx, dword [esi + 0xc]
lea esi, [ebx - 1]
mov ecx, dword [eax]
mov edi, dword [eax + 4]
mov dword [esp + 0x28], esi
mov eax, dword [eax + 8]
test ebx, ebx
je 0x57c6e9
mov dword [esp + 0x38], edx
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], ecx
mov ebx, dword [ebp + 4]
mov esi, dword [ebp]
mov dword [esp], ebx
mov ebx, eax
xor ebx, edx
mov dword [esp + 0x3c], esi
and ebx, edi
xor ebx, edx
add ebx, esi
mov esi, dword [esp]
add edx, esi
mov esi, edi
xor esi, eax
add ebx, ecx
mov ecx, dword [ebp + 8]
rol ebx, 3
and esi, ebx
mov dword [esp + 0x40], ecx
xor esi, eax
add eax, ecx
mov ecx, ebx
add esi, edx
xor ecx, edi
mov edx, dword [ebp + 0xc]
rol esi, 7
and ecx, esi
mov dword [esp + 0x44], edx
xor ecx, edi
add edi, edx
mov edx, ebx
add ecx, eax
xor edx, esi
mov eax, dword [ebp + 0x10]
rol ecx, 0xb
mov dword [esp + 4], eax
and edx, ecx
mov eax, esi
xor edx, ebx
xor eax, ecx
add ebx, dword [esp + 4]
add edx, edi
mov edi, dword [ebp + 0x14]
rol edx, 0x13
and eax, edx
mov dword [esp + 0x48], edi
xor eax, esi
add eax, ebx
mov ebx, dword [ebp + 0x18]
mov dword [esp + 8], ebx
mov ebx, ecx
xor ebx, edx
rol eax, 3
and ebx, eax
xor ebx, ecx
add esi, edi
add esi, ebx
mov ebx, dword [ebp + 0x1c]
mov edi, ebx
mov ebx, edx
xor ebx, eax
add ecx, dword [esp + 8]
rol esi, 7
and ebx, esi
mov dword [esp + 0x4c], edi
xor ebx, edx
add edx, edi
add ebx, ecx
mov ecx, dword [ebp + 0x20]
mov dword [esp + 0xc], ecx
mov ecx, eax
xor ecx, esi
rol ebx, 0xb
and ecx, ebx
xor ecx, eax
add eax, dword [esp + 0xc]
add ecx, edx
mov edx, dword [ebp + 0x24]
mov edi, edx
mov edx, esi
xor edx, ebx
mov dword [esp + 0x50], edi
rol ecx, 0x13
and edx, ecx
xor edx, esi
add esi, edi
add edx, eax
mov eax, dword [ebp + 0x28]
mov dword [esp + 0x10], eax
mov eax, ebx
xor eax, ecx
rol edx, 3
and eax, edx
xor eax, ebx
add eax, esi
mov esi, dword [ebp + 0x2c]
mov dword [esp + 0x14], esi
mov esi, ecx
xor esi, edx
mov edi, esi
mov esi, dword [esp + 0x10]
rol eax, 7
and edi, eax
add ebx, esi
xor edi, ecx
mov esi, edx
add edi, ebx
mov ebx, dword [ebp + 0x30]
xor esi, eax
mov dword [esp + 0x18], ebx
rol edi, 0xb
mov ebx, dword [esp + 0x14]
and esi, edi
add ecx, ebx
xor esi, edx
mov ebx, eax
add esi, ecx
xor ebx, edi
mov ecx, dword [ebp + 0x34]
rol esi, 0x13
mov dword [esp + 0x1c], ecx
and ebx, esi
mov ecx, dword [esp + 0x18]
xor ebx, eax
add edx, ecx
add ebp, 0x40
add ebx, edx
mov edx, dword [ebp - 8]
mov dword [esp + 0x20], edx
mov edx, edi
xor edx, esi
mov ecx, edx
mov edx, dword [esp + 0x1c]
rol ebx, 3
and ecx, ebx
add eax, edx
xor ecx, edi
mov edx, esi
add ecx, eax
mov eax, dword [ebp - 4]
mov dword [esp + 0x24], eax
xor edx, ebx
mov eax, dword [esp + 0x20]
rol ecx, 7
add edi, eax
and edx, ecx
mov eax, ebx
xor edx, esi
xor eax, ecx
add edx, edi
mov edi, dword [esp + 0x24]
rol edx, 0xb
and eax, edx
add esi, edi
xor eax, ebx
add eax, esi
mov esi, ecx
rol eax, 0x13
or esi, edx
mov edi, esi
mov esi, ecx
and edi, eax
and esi, edx
or esi, edi
mov edi, dword [esp + 0x3c]
lea edi, [edi + ebx + 0x5a827999]
mov ebx, edx
add esi, edi
or ebx, eax
mov edi, edx
rol esi, 3
and edi, eax
and ebx, esi
or edi, ebx
mov ebx, dword [esp + 4]
lea ebx, [ebx + ecx + 0x5a827999]
mov ecx, eax
add edi, ebx
or ecx, esi
mov ebx, eax
rol edi, 5
and ebx, esi
and ecx, edi
or ebx, ecx
mov ecx, dword [esp + 0xc]
lea ecx, [ecx + edx + 0x5a827999]
mov edx, esi
add ebx, ecx
or edx, edi
mov ecx, esi
rol ebx, 9
and ecx, edi
and edx, ebx
or ecx, edx
mov edx, dword [esp + 0x18]
lea edx, [edx + eax + 0x5a827999]
mov eax, edi
add ecx, edx
mov edx, edi
or edx, ebx
and eax, ebx
rol ecx, 0xd
and edx, ecx
or eax, edx
mov edx, dword [esp]
lea esi, [edx + esi + 0x5a827999]
mov edx, ebx
add esi, eax
mov eax, ebx
or eax, ecx
rol esi, 3
and eax, esi
and edx, ecx
or edx, eax
mov eax, dword [esp + 0x48]
lea eax, [eax + edi + 0x5a827999]
add edx, eax
mov eax, ecx
or eax, esi
mov edi, eax
mov eax, ecx
rol edx, 5
and eax, esi
and edi, edx
or eax, edi
mov edi, dword [esp + 0x50]
lea edi, [edi + ebx + 0x5a827999]
mov ebx, esi
add eax, edi
or ebx, edx
mov edi, esi
rol eax, 9
and edi, edx
and ebx, eax
or edi, ebx
mov ebx, dword [esp + 0x1c]
lea ebx, [ebx + ecx + 0x5a827999]
mov ecx, edx
add edi, ebx
or ecx, eax
mov ebx, edx
rol edi, 0xd
and ebx, eax
and ecx, edi
or ebx, ecx
mov ecx, dword [esp + 0x40]
lea ecx, [ecx + esi + 0x5a827999]
mov esi, eax
add ebx, ecx
or esi, edi
mov ecx, eax
rol ebx, 3
and ecx, edi
and esi, ebx
or ecx, esi
mov esi, dword [esp + 8]
lea esi, [esi + edx + 0x5a827999]
mov edx, edi
add ecx, esi
or edx, ebx
mov esi, edi
rol ecx, 5
and esi, ebx
and edx, ecx
or esi, edx
mov edx, dword [esp + 0x10]
lea edx, [edx + eax + 0x5a827999]
mov eax, ebx
add esi, edx
or eax, ecx
mov edx, ebx
rol esi, 9
and edx, ecx
and eax, esi
or edx, eax
mov eax, dword [esp + 0x20]
lea eax, [eax + edi + 0x5a827999]
add edx, eax
mov eax, ecx
or eax, esi
mov edi, eax
mov eax, ecx
rol edx, 0xd
and eax, esi
and edi, edx
or eax, edi
mov edi, dword [esp + 0x44]
lea edi, [edi + ebx + 0x5a827999]
mov ebx, esi
or ebx, edx
add eax, edi
mov edi, ebx
mov ebx, esi
rol eax, 3
and ebx, edx
and edi, eax
or ebx, edi
mov edi, dword [esp + 0x4c]
lea ecx, [edi + ecx + 0x5a827999]
add ecx, ebx
mov ebx, edx
or ebx, eax
mov edi, ebx
mov ebx, edx
rol ecx, 5
and ebx, eax
and edi, ecx
or ebx, edi
mov edi, dword [esp + 0x14]
lea esi, [edi + esi + 0x5a827999]
add esi, ebx
mov ebx, eax
or ebx, ecx
mov edi, ebx
mov ebx, eax
rol esi, 9
and ebx, ecx
and edi, esi
or ebx, edi
mov edi, dword [esp + 0x24]
lea edi, [edi + edx + 0x5a827999]
mov edx, ecx
add ebx, edi
mov edi, dword [esp + 0x3c]
rol ebx, 0xd
xor edx, esi
lea eax, [edi + eax + 0x6ed9eba1]
xor edx, ebx
mov edi, dword [esp + 0xc]
add edx, eax
mov eax, esi
xor eax, ebx
lea ecx, [edi + ecx + 0x6ed9eba1]
rol edx, 3
xor eax, edx
mov edi, dword [esp + 4]
add ecx, eax
mov eax, ebx
xor eax, edx
lea esi, [edi + esi + 0x6ed9eba1]
rol ecx, 9
xor eax, ecx
mov edi, dword [esp + 0x18]
add esi, eax
mov eax, edx
xor eax, ecx
lea ebx, [edi + ebx + 0x6ed9eba1]
rol esi, 0xb
xor eax, esi
mov edi, dword [esp + 0x40]
add eax, ebx
mov ebx, ecx
xor ebx, esi
lea edx, [edi + edx + 0x6ed9eba1]
rol eax, 0xf
xor ebx, eax
mov edi, dword [esp + 0x10]
add ebx, edx
mov edx, esi
xor edx, eax
lea ecx, [edi + ecx + 0x6ed9eba1]
rol ebx, 3
xor edx, ebx
mov edi, dword [esp + 8]
add edx, ecx
mov ecx, eax
xor ecx, ebx
lea esi, [edi + esi + 0x6ed9eba1]
rol edx, 9
xor ecx, edx
mov edi, dword [esp + 0x20]
add esi, ecx
mov ecx, ebx
xor ecx, edx
lea eax, [edi + eax + 0x6ed9eba1]
rol esi, 0xb
xor ecx, esi
mov edi, dword [esp]
add ecx, eax
mov eax, edx
rol ecx, 0xf
xor eax, esi
lea ebx, [edi + ebx + 0x6ed9eba1]
xor eax, ecx
mov edi, dword [esp + 0x50]
add ebx, eax
mov eax, esi
xor eax, ecx
lea edx, [edi + edx + 0x6ed9eba1]
rol ebx, 3
xor eax, ebx
mov edi, dword [esp + 0x48]
add edx, eax
mov eax, ecx
xor eax, ebx
lea esi, [edi + esi + 0x6ed9eba1]
rol edx, 9
xor eax, edx
mov edi, dword [esp + 0x1c]
add esi, eax
mov eax, ebx
xor eax, edx
lea ecx, [edi + ecx + 0x6ed9eba1]
rol esi, 0xb
xor eax, esi
mov edi, dword [esp + 0x44]
add eax, ecx
mov ecx, edx
xor ecx, esi
lea ebx, [edi + ebx + 0x6ed9eba1]
rol eax, 0xf
xor ecx, eax
mov edi, dword [esp + 0x14]
add ecx, ebx
mov ebx, esi
xor ebx, eax
lea edx, [edi + edx + 0x6ed9eba1]
rol ecx, 3
xor ebx, ecx
mov edi, dword [esp + 0x4c]
add ebx, edx
mov edx, eax
xor edx, ecx
lea esi, [edi + esi + 0x6ed9eba1]
rol ebx, 9
xor edx, ebx
mov edi, dword [esp + 0x24]
add edx, esi
mov esi, ecx
xor esi, ebx
lea eax, [edi + eax + 0x6ed9eba1]
rol edx, 0xb
xor esi, edx
mov edi, dword [esp + 0x68]
add esi, eax
mov eax, dword [esp + 0x2c]
rol esi, 0xf
add eax, ecx
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x30]
add eax, esi
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x68]
mov dword [edi], ecx
mov edi, dword [esp + 0x30]
mov dword [eax + 4], edi
mov eax, dword [esp + 0x34]
add eax, edx
mov edx, dword [esp + 0x38]
add edx, ebx
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0x68]
dec ebx
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], edx
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
mov dword [esp + 0x28], ebx
mov dword [esi + 8], eax
mov dword [esi + 0xc], edx
mov esi, dword [esp + 0x28]
inc esi
jne 0x57c1d1
add esp, 0x54
pop ebx
pop esi
pop edi
pop ebp
ret