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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x138
mov eax, dword [0x590cc0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ecx + 0xc]
push ebx
push esi
mov esi, edx
mov edx, dword [ecx + 8]
lea ebx, [ebp - 0x122]
sub ebx, esi
mov dword [ebp - 0x20], eax
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x12c], ebx
push edi
mov edi, dword [ecx + 0x1c]
mov dword [ebp - 0x1c], eax
mov eax, dword [ecx + 0x14]
lea ebx, [ebp - 0x11e]
sub ebx, esi
mov dword [ebp - 0x10], edi
mov edi, dword [ecx + 0x20]
mov dword [ebp - 0x128], ebx
mov dword [ebp - 0x138], ecx
mov dword [ebp - 0x18], eax
mov eax, dword [ecx + 0x18]
mov ecx, dword [ecx + 0x24]
mov dword [ebp - 0xc], edi
lea ebx, [ebp - 0x11a]
xor edi, edi
sub ebx, esi
mov dword [ebp - 8], ecx
mov dword [ebp - 0x14], eax
lea ecx, [esi + 2]
mov dword [ebp - 0x130], ebx
lea ebx, [ebx]
movzx esi, byte [ecx - 2]
movzx ebx, byte [ecx - 1]
shl esi, 8
or esi, ebx
movzx ebx, byte [ecx]
shl esi, 8
or esi, ebx
movzx ebx, byte [ecx + 1]
shl esi, 8
or esi, ebx
movzx ebx, byte [ecx + 3]
mov dword [ebp + edi*4 - 0x124], esi
movzx esi, byte [ecx + 2]
shl esi, 8
or esi, ebx
movzx ebx, byte [ecx + 4]
shl esi, 8
or esi, ebx
movzx ebx, byte [ecx + 5]
shl esi, 8
or esi, ebx
mov ebx, dword [ebp - 0x12c]
mov dword [ecx + ebx], esi
movzx esi, byte [ecx + 6]
movzx ebx, byte [ecx + 7]
shl esi, 8
or esi, ebx
movzx ebx, byte [ecx + 8]
shl esi, 8
or esi, ebx
movzx ebx, byte [ecx + 9]
shl esi, 8
or esi, ebx
mov ebx, dword [ebp - 0x128]
mov dword [ecx + ebx], esi
movzx esi, byte [ecx + 0xa]
movzx ebx, byte [ecx + 0xb]
shl esi, 8
or esi, ebx
movzx ebx, byte [ecx + 0xc]
shl esi, 8
or esi, ebx
movzx ebx, byte [ecx + 0xd]
shl esi, 8
or esi, ebx
mov ebx, dword [ebp - 0x130]
mov dword [ecx + ebx], esi
add edi, 4
add ecx, 0x10
cmp edi, 0x10
jl 0x51b100
lea ecx, [ebp - 0xec]
mov dword [ebp - 0x12c], 0xc
lea esp, [esp]
mov esi, dword [ecx]
mov edi, esi
rol edi, 0xf
mov ebx, esi
shr esi, 0xa
rol ebx, 0xd
xor edi, ebx
xor edi, esi
mov esi, dword [ecx - 0x34]
mov ebx, esi
rol ebx, 0xe
ror esi, 7
xor ebx, esi
mov esi, dword [ecx - 0x34]
shr esi, 3
xor ebx, esi
add edi, ebx
add edi, dword [ecx - 0x38]
mov esi, dword [ecx - 0x14]
add esi, edi
mov dword [ebp - 0x130], esi
mov dword [ecx + 8], esi
mov esi, dword [ecx - 0x30]
mov edi, esi
rol edi, 0xe
mov ebx, esi
shr esi, 3
ror ebx, 7
xor edi, ebx
xor edi, esi
mov esi, dword [ecx + 4]
mov ebx, esi
rol ebx, 0xf
rol esi, 0xd
xor ebx, esi
mov esi, dword [ecx + 4]
shr esi, 0xa
xor ebx, esi
mov esi, dword [ecx - 0x34]
add edi, ebx
add edi, dword [ecx - 0x10]
add esi, edi
mov dword [ebp - 0x134], esi
mov dword [ecx + 0xc], esi
mov esi, dword [ebp - 0x130]
mov edi, esi
rol edi, 0xf
mov ebx, esi
rol ebx, 0xd
xor edi, ebx
shr esi, 0xa
xor edi, esi
mov esi, dword [ecx - 0x2c]
mov ebx, esi
rol ebx, 0xe
ror esi, 7
xor ebx, esi
mov esi, dword [ecx - 0x2c]
shr esi, 3
xor ebx, esi
mov esi, dword [ebp - 0x134]
add edi, ebx
add edi, dword [ecx - 0xc]
mov ebx, esi
add edi, dword [ecx - 0x30]
mov dword [ecx + 0x10], edi
mov edi, esi
rol edi, 0xf
rol ebx, 0xd
xor edi, ebx
shr esi, 0xa
xor edi, esi
mov esi, dword [ecx - 0x28]
mov ebx, esi
rol ebx, 0xe
ror esi, 7
xor ebx, esi
mov esi, dword [ecx - 0x28]
shr esi, 3
xor ebx, esi
add edi, ebx
add edi, dword [ecx - 8]
add ecx, 0x10
add edi, dword [ecx - 0x3c]
dec dword [ebp - 0x12c]
mov dword [ecx + 4], edi
jne 0x51b1c0
mov edi, dword [ebp - 0x20]
xor esi, esi
lea esp, [esp]
mov ecx, eax
ror ecx, 0xb
mov ebx, eax
rol ebx, 7
xor ecx, ebx
mov ebx, eax
ror ebx, 6
xor ecx, ebx
mov ebx, dword [ebp - 0x10]
xor ebx, dword [ebp - 0xc]
and ebx, eax
xor ebx, dword [ebp - 0xc]
mov eax, edx
add ecx, ebx
add ecx, dword [esi + 0x56bed0]
mov ebx, edx
add ecx, dword [ebp + esi - 0x124]
add ecx, dword [ebp - 8]
add dword [ebp - 0x18], ecx
ror ebx, 0xd
rol eax, 0xa
xor ebx, eax
mov eax, edx
ror eax, 2
xor ebx, eax
add ebx, ecx
mov ecx, dword [ebp - 0x10]
mov eax, edi
or eax, edx
and eax, dword [ebp - 0x1c]
and edi, edx
or eax, edi
mov edi, dword [ebp - 0xc]
add eax, ebx
mov ebx, dword [ebp - 0x1c]
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x18], ebx
mov ebx, dword [ebp - 0x20]
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], ebx
mov edx, ecx
ror edx, 0xb
mov ebx, ecx
rol ebx, 7
xor edx, ebx
mov ebx, ecx
ror ebx, 6
xor edx, ebx
mov ebx, dword [ebp - 0x10]
xor ebx, dword [ebp - 0xc]
mov dword [ebp - 0x14], ecx
and ebx, ecx
xor ebx, dword [ebp - 0xc]
mov ecx, eax
add edx, ebx
add edx, dword [esi + 0x56bed4]
mov ebx, dword [ebp - 0x20]
add edx, dword [ebp + esi - 0x120]
mov dword [ebp - 0x24], eax
add edx, edi
add dword [ebp - 0x18], edx
mov edi, eax
ror edi, 0xd
rol ecx, 0xa
xor edi, ecx
mov ecx, eax
ror ecx, 2
xor edi, ecx
mov ecx, eax
or ecx, dword [ebp - 0x20]
and eax, ebx
and ecx, dword [ebp - 0x1c]
add edi, edx
mov edx, dword [ebp - 0x10]
or ecx, eax
add ecx, edi
mov edi, dword [ebp - 0xc]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], edx
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x20], edx
mov edx, eax
ror edx, 0xb
mov ebx, eax
rol ebx, 7
xor edx, ebx
mov ebx, eax
ror ebx, 6
xor edx, ebx
mov ebx, dword [ebp - 0x10]
xor ebx, dword [ebp - 0xc]
mov dword [ebp - 0x14], eax
and ebx, eax
xor ebx, dword [ebp - 0xc]
mov eax, ecx
add edx, ebx
add edx, dword [esi + 0x56bed8]
mov ebx, dword [ebp - 0x20]
add edx, dword [ebp + esi - 0x11c]
mov dword [ebp - 0x24], ecx
add edx, edi
add dword [ebp - 0x18], edx
mov edi, ecx
ror edi, 0xd
rol eax, 0xa
xor edi, eax
mov eax, ecx
ror eax, 2
xor edi, eax
mov eax, ecx
or eax, dword [ebp - 0x20]
and ecx, ebx
and eax, dword [ebp - 0x1c]
add edi, edx
mov edx, dword [ebp - 0x14]
or eax, ecx
mov ecx, dword [ebp - 0x10]
add eax, edi
mov edi, dword [ebp - 0xc]
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x10], edx
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x20], ecx
mov ecx, edx
ror ecx, 0xb
mov ebx, edx
rol ebx, 7
xor ecx, ebx
mov ebx, edx
ror ebx, 6
xor ecx, ebx
mov ebx, dword [ebp - 0x10]
xor ebx, dword [ebp - 0xc]
mov dword [ebp - 0x14], edx
and ebx, edx
xor ebx, dword [ebp - 0xc]
mov edx, eax
add ecx, ebx
add ecx, dword [esi + 0x56bedc]
mov ebx, eax
add ecx, dword [ebp + esi - 0x118]
mov dword [ebp - 0x24], eax
add ecx, edi
add dword [ebp - 0x18], ecx
ror ebx, 0xd
rol edx, 0xa
xor ebx, edx
mov edx, eax
ror edx, 2
xor ebx, edx
mov edi, dword [ebp - 0x1c]
mov edx, eax
or edx, dword [ebp - 0x20]
and eax, dword [ebp - 0x20]
and edx, edi
or edx, eax
mov eax, dword [ebp - 0xc]
add ebx, ecx
mov ecx, dword [ebp - 0x14]
add edx, ebx
mov ebx, dword [ebp - 0x10]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x18], edi
mov edi, dword [ebp - 0x24]
add esi, 0x10
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x20], edi
cmp esi, 0x100
jl 0x51b2c0
mov ecx, dword [ebp - 0x138]
add dword [ecx + 8], edx
mov edx, dword [ebp - 0x1c]
add dword [ecx + 0x10], edx
add dword [ecx + 0x18], eax
mov edx, dword [ebp - 0x18]
add dword [ecx + 0x14], edx
add dword [ecx + 0xc], edi
mov eax, dword [ebp - 0x10]
add dword [ecx + 0x1c], eax
add dword [ecx + 0x20], ebx
mov edx, dword [ebp - 8]
add dword [ecx + 0x24], edx
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
xor eax, eax
pop ebx
call fcn.004b9ff3
mov esp, ebp
pop ebp
ret