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

Disassembly:
sub esp, 0x1c8
mov eax, dword [0x586420]
xor eax, esp
mov dword [esp + 0x1c4], eax
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x1dc]
mov ebx, 0x80
push ebx
lea eax, [esp + 0x58]
push 0
push eax
call fcn.0052acb6
mov esi, dword [esp + 0x1ec]
push esi
lea ecx, [esp + 0x64]
push edi
push ecx
call fcn.0052acbc
add esp, 0x18
cmp esi, 0x54
jne 0x4555b9
xor eax, eax
or dword [esp + 0xc8], ebx
mov dword [esp + 0xc4], eax
mov dword [esp + 0xd0], 0x3a0
jmp 0x4555d9
cmp esi, 0x50
jne 0x45560a
xor eax, eax
or dword [esp + 0xc4], ebx
mov dword [esp + 0xa4], eax
mov dword [esp + 0xd0], 0x380
mov dword [esp + 0xc0], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xa8], eax
xor ecx, ecx
lea esp, [esp]
mov eax, dword [esp + ecx*4 + 0x54]
mov edx, eax
shl edx, 0x10
mov esi, eax
and esi, 0xff00
or edx, esi
movzx esi, byte [esp + ecx*4 + 0x57]
shl edx, 8
shr eax, 8
or edx, esi
and eax, 0xff00
or edx, eax
mov dword [esp + ecx*4 + 0x54], edx
inc ecx
cmp ecx, 0x1f
jl 0x455610
mov ecx, 0x10
lea esi, [esp + 0x54]
lea edi, [esp + 0xd4]
rep movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x10c]
mov dword [esp + 0x10], 0xc
mov esi, dword [eax - 0x34]
mov ecx, dword [eax]
mov edx, esi
rol edx, 0xe
mov edi, esi
ror edi, 7
xor edx, edi
mov ebx, ecx
mov edi, esi
shr edi, 3
xor edx, edi
mov edi, ecx
rol edi, 0xf
rol ebx, 0xd
xor edi, ebx
shr ecx, 0xa
xor edi, ecx
add edx, edi
add edx, dword [eax - 0x38]
mov edi, dword [eax - 0x30]
mov ecx, dword [eax - 0x14]
add ecx, edx
mov edx, dword [eax + 4]
mov ebx, edi
rol ebx, 0xe
mov ebp, edi
shr edi, 3
ror ebp, 7
xor ebx, ebp
xor ebx, edi
mov edi, edx
rol edi, 0xf
mov ebp, edx
shr edx, 0xa
rol ebp, 0xd
xor edi, ebp
xor edx, edi
add edx, ebx
add edx, dword [eax - 0x10]
mov edi, ecx
add edx, esi
mov esi, dword [eax - 0x2c]
rol edi, 0xf
mov ebx, ecx
rol ebx, 0xd
xor edi, ebx
mov dword [eax + 8], ecx
shr ecx, 0xa
xor edi, ecx
mov ecx, esi
rol ecx, 0xe
mov ebx, esi
ror ebx, 7
xor ecx, ebx
mov ebx, esi
shr ebx, 3
xor ecx, ebx
add edi, ecx
add edi, dword [eax - 0xc]
mov ecx, dword [eax - 0x28]
add edi, dword [eax - 0x30]
mov ebx, edx
mov dword [eax + 0x10], edi
mov edi, edx
rol edi, 0xf
rol ebx, 0xd
xor edi, ebx
mov dword [eax + 0xc], edx
shr edx, 0xa
xor edi, edx
mov edx, ecx
rol edx, 0xe
mov ebx, ecx
ror ebx, 7
xor edx, ebx
shr ecx, 3
xor edx, ecx
add edi, edx
add edi, dword [eax - 8]
add edi, esi
mov dword [eax + 0x14], edi
add eax, 0x10
dec dword [esp + 0x10]
jne 0x455662
mov eax, dword [0x58225c]
mov esi, dword [0x58226c]
mov edx, dword [0x582258]
mov ecx, dword [0x582268]
mov edi, dword [0x582270]
mov ebx, dword [0x582274]
mov dword [esp + 0x38], eax
mov dword [esp + 0x18], eax
mov eax, dword [0x582260]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1c], eax
mov eax, dword [0x582264]
mov dword [esp + 0x14], edx
mov dword [esp + 0x40], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x48], esi
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], ebx
mov dword [esp + 0x10], 0
jmp 0x4557a4
mov esi, dword [esp + 0x48]
mov eax, ecx
ror eax, 0xb
mov ebp, ecx
rol ebp, 7
xor eax, ebp
mov ebp, ecx
ror ebp, 6
xor eax, ebp
mov ebp, edi
xor ebp, esi
mov esi, dword [esp + 0x10]
and ebp, ecx
xor ebp, edi
add eax, ebp
add eax, dword [esi + 0x582278]
mov ebp, dword [esp + 0x3c]
add eax, dword [esp + esi + 0xd4]
and ebp, dword [esp + 0x38]
add eax, ebx
mov esi, edx
ror esi, 0xd
mov ebx, edx
rol ebx, 0xa
xor esi, ebx
mov ebx, edx
ror ebx, 2
xor esi, ebx
mov ebx, dword [esp + 0x3c]
or ebx, dword [esp + 0x38]
and ebx, edx
or ebx, ebp
mov ebp, dword [esp + 0x3c]
add esi, ebx
mov ebx, edi
mov edi, dword [esp + 0x48]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x40], ebp
mov ebp, dword [esp + 0x38]
add ecx, eax
mov dword [esp + 0x38], edx
lea edx, [esi + eax]
mov eax, dword [esp + 0x10]
add eax, 4
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x10], eax
cmp eax, 0x100
jl 0x4557a0
add dword [esp + 0x24], ecx
mov eax, dword [esp + 0x38]
add dword [esp + 0x14], edx
add dword [esp + 0x18], eax
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x48]
add dword [esp + 0x1c], ebp
add dword [esp + 0x20], edx
add dword [esp + 0x28], eax
add dword [esp + 0x2c], edi
add dword [esp + 0x30], ebx
push 1
push 0
push 0x20
lea ecx, [esp + 0x20]
push ecx
push 0x58dfe8
call fcn.00461ffe
push 1
push 0
push 0x40
lea edx, [esp + 0xa0]
push edx
push 0x58e130
call fcn.00461ffe
mov ecx, dword [esp + 0x1d4]
mov eax, dword [esp + 0x1e0]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
mov dword [0x582378], eax
call fcn.0052abef
add esp, 0x1c8
ret