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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x144
mov eax, 0xfffffff0
mov esi, dword [ecx + eax*4 + 0x40]
bswap esi
mov dword [esp + eax*4 + 0x84], esi
inc eax
jne 0x41fe57
mov eax, 0xffffff40
mov ecx, dword [esp + 0x44]
mov ebp, dword [esp + eax + 0x13c]
mov esi, ebp
rol esi, 0xf
mov edi, ebp
rol edi, 0xd
xor edi, esi
shr ebp, 0xa
xor ebp, edi
add ebp, dword [esp + eax + 0x128]
mov esi, dword [esp + eax + 0x108]
mov edi, esi
rol edi, 0x19
mov ebx, esi
rol ebx, 0xe
xor ebx, edi
mov edi, esi
shr edi, 3
xor edi, ebx
add edi, ecx
add edi, ebp
mov dword [esp + eax + 0x144], edi
add eax, 4
mov ecx, esi
jne 0x41fe70
mov edi, dword [edx]
mov eax, dword [edx + 4]
mov dword [esp + 0x20], eax
mov ebx, dword [edx + 8]
mov esi, dword [edx + 0xc]
mov eax, dword [edx + 0x10]
mov dword [esp + 0x24], eax
mov ebp, dword [edx + 0x14]
mov ecx, dword [edx + 0x18]
mov dword [esp + 0x40], edx
mov eax, dword [edx + 0x1c]
mov dword [esp + 0xc], 0xfffffff8
mov dword [esp + 0x28], edi
mov edx, dword [esp + 0x20]
mov dword [esp + 0x10], edx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], esi
mov edx, dword [esp + 0x24]
mov dword [esp + 0x34], ebp
mov dword [esp + 8], ebp
mov dword [esp + 0x38], ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x3c], eax
mov dword [esp + 4], eax
mov dword [esp + 0x18], edi
mov dword [esp], edx
mov eax, edx
mov edx, dword [esp]
rol eax, 0x1a
rol edx, 0x15
xor edx, eax
mov ebp, dword [esp]
rol ebp, 7
xor ebp, edx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x14]
xor eax, ecx
and eax, dword [esp]
xor eax, ecx
add eax, dword [esp + 4]
mov edx, edi
rol edx, 0x1e
mov ecx, edi
rol ecx, 0x13
xor ecx, edx
mov edx, edi
rol edx, 0xa
xor edx, ecx
add eax, ebp
mov ecx, dword [esp + 0x10]
and ecx, ebx
mov ebp, dword [esp + 0x10]
or ebp, ebx
and ebp, edi
or ebp, ecx
mov ecx, dword [esp + 0xc]
add eax, dword [ecx*4 + 0x42d9cc]
add eax, dword [esp + ecx*4 + 0x64]
add ebp, edx
add esi, eax
add ebp, eax
mov dword [esp + 4], ebp
mov eax, esi
rol eax, 0x1a
mov ecx, esi
rol ecx, 0x15
xor ecx, eax
mov eax, esi
rol eax, 7
xor eax, ecx
mov ecx, dword [esp]
mov ebp, dword [esp + 8]
xor ecx, ebp
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0xc]
add edx, dword [edi*4 + 0x42d9d0]
and ecx, esi
add edx, dword [esp + edi*4 + 0x68]
xor ecx, ebp
add edx, ecx
mov ebp, dword [esp + 4]
mov ecx, ebp
rol ecx, 0x1e
add edx, eax
mov edi, edx
mov edx, ebp
mov eax, ebp
rol eax, 0x13
xor eax, ecx
mov ecx, ebp
rol ecx, 0xa
xor ecx, eax
mov edx, dword [esp + 0x18]
mov ebp, edx
mov eax, dword [esp + 0x10]
and ebp, eax
or edx, eax
and edx, dword [esp + 4]
or edx, ebp
add edx, ecx
add ebx, edi
mov eax, ebx
rol eax, 0x1a
add edi, edx
mov ecx, ebx
rol ecx, 0x15
xor ecx, eax
mov eax, ebx
rol eax, 7
xor eax, ecx
mov dword [esp + 0x1c], eax
mov ebp, esi
mov edx, dword [esp + 8]
mov eax, dword [esp + 0xc]
add edx, dword [eax*4 + 0x42d9d4]
xor ebp, dword [esp]
add edx, dword [esp + eax*4 + 0x6c]
and ebp, ebx
xor ebp, dword [esp]
mov eax, edi
mov dword [esp + 0x14], edi
mov ecx, edi
rol ecx, 0x1e
add edx, ebp
mov dword [esp + 8], edx
mov edx, edi
rol edx, 0x13
xor edx, ecx
mov ebp, edi
rol ebp, 0xa
xor ebp, edx
mov edx, dword [esp + 4]
mov edi, edx
mov eax, dword [esp + 0x18]
and edi, eax
or edx, eax
and edx, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 8]
add edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
add eax, edi
mov ecx, eax
rol ecx, 0x1a
add edx, ebp
mov ebp, eax
rol ebp, 0x15
add edi, edx
mov edx, eax
mov dword [esp + 0x10], eax
rol eax, 7
xor ebp, ecx
xor eax, ebp
mov ecx, ebx
xor ecx, esi
and ecx, edx
mov edx, dword [esp]
mov ebp, dword [esp + 0xc]
add edx, dword [ebp*4 + 0x42d9d8]
mov dword [esp], edx
xor ecx, esi
mov edx, dword [esp]
add edx, dword [esp + ebp*4 + 0x70]
mov dword [esp], edx
add dword [esp], ecx
add dword [esp], eax
mov edx, edi
mov eax, edi
mov ecx, edi
rol eax, 0x1e
rol ecx, 0x13
xor ecx, eax
mov eax, edi
mov dword [esp + 8], edi
rol eax, 0xa
xor eax, ecx
mov ebp, dword [esp + 0x14]
mov edx, ebp
mov ecx, dword [esp + 4]
and edx, ecx
mov dword [esp + 0x1c], edx
mov edx, ebp
or edx, ecx
and edx, edi
or edx, dword [esp + 0x1c]
add edx, eax
mov edi, dword [esp + 0x18]
add edi, dword [esp]
mov dword [esp + 0x18], edi
add dword [esp], edx
mov eax, edi
mov ecx, dword [esp + 0x10]
xor ecx, ebx
and ecx, edi
mov edx, dword [esp + 0xc]
add esi, dword [edx*4 + 0x42d9dc]
rol eax, 0x1a
xor ecx, ebx
add esi, dword [esp + edx*4 + 0x74]
add esi, ecx
mov ecx, edi
rol ecx, 0x15
xor ecx, eax
mov edx, edi
rol edx, 7
xor edx, ecx
mov ecx, dword [esp]
rol ecx, 0x1e
mov edi, esi
add edi, edx
mov edx, dword [esp]
rol edx, 0x13
xor edx, ecx
mov ecx, dword [esp]
rol ecx, 0xa
xor ecx, edx
mov esi, dword [esp + 8]
mov eax, esi
and eax, ebp
or esi, ebp
and esi, dword [esp]
or esi, eax
add esi, ecx
mov ebp, dword [esp + 4]
add ebp, edi
mov dword [esp + 4], ebp
mov ecx, ebp
rol ecx, 0x1a
add esi, edi
mov eax, ebp
rol eax, 0x15
xor eax, ecx
rol ebp, 7
xor ebp, eax
mov edi, dword [esp + 0x18]
mov eax, edi
mov ecx, dword [esp + 0xc]
add ebx, dword [ecx*4 + 0x42d9e0]
mov edx, dword [esp + 0x10]
xor eax, edx
add ebx, dword [esp + ecx*4 + 0x78]
and eax, dword [esp + 4]
xor eax, edx
add ebx, eax
mov eax, ebx
add eax, ebp
mov ecx, esi
mov edx, esi
rol ecx, 0x1e
rol edx, 0x13
xor edx, ecx
mov ecx, esi
rol ecx, 0xa
xor ecx, edx
mov edx, dword [esp]
mov ebp, dword [esp + 8]
and edx, ebp
mov ebx, dword [esp]
or ebx, ebp
and ebx, esi
or ebx, edx
add ebx, ecx
mov edx, dword [esp + 0x14]
add edx, eax
mov dword [esp + 0x14], edx
add ebx, eax
mov eax, dword [esp + 0xc]
mov ebp, dword [esp + eax*4 + 0x7c]
add ebp, dword [eax*4 + 0x42d9e4]
mov eax, edx
add ebp, dword [esp + 0x10]
mov ecx, dword [esp + 4]
rol eax, 0x1a
xor ecx, edi
and ecx, edx
xor ecx, edi
add ebp, ecx
mov ecx, edx
rol ecx, 0x15
xor ecx, eax
mov eax, edx
rol eax, 7
xor eax, ecx
mov ecx, ebx
rol ecx, 0x1e
add ebp, eax
mov eax, ebx
rol eax, 0x13
xor eax, ecx
mov edx, ebx
rol edx, 0xa
xor edx, eax
mov eax, esi
and eax, dword [esp]
mov ecx, esi
or ecx, dword [esp]
and ecx, ebx
or ecx, eax
add ecx, edx
mov eax, dword [esp + 0xc]
mov eax, dword [esp + eax*4 + 0x80]
mov edi, dword [esp + 8]
add edi, ebp
mov edx, dword [esp + 0xc]
add eax, dword [edx*4 + 0x42d9e8]
add ecx, ebp
mov ebp, edi
add eax, dword [esp + 0x18]
rol ebp, 0x1a
mov edx, edi
rol edx, 0x15
xor edx, ebp
mov ebp, edi
rol edi, 7
xor edi, edx
mov edx, dword [esp + 0x14]
xor edx, dword [esp + 4]
mov dword [esp + 8], ebp
and edx, ebp
xor edx, dword [esp + 4]
add eax, edx
mov edx, ecx
rol edx, 0x1e
add eax, edi
mov edi, ecx
rol edi, 0x13
xor edi, edx
mov edx, ecx
rol edx, 0xa
xor edx, edi
mov ebp, ebx
and ebp, esi
mov edi, ebx
or edi, esi
mov dword [esp + 0x10], ecx
and edi, ecx
or edi, ebp
add edi, edx
mov edx, dword [esp]
add edx, eax
add edi, eax
mov eax, dword [esp + 0xc]
add eax, 8
mov dword [esp + 0xc], eax
cmp eax, 0x38
jb 0x41ff16
add edi, dword [esp + 0x28]
mov eax, dword [esp + 0x40]
mov dword [eax], edi
mov ecx, dword [esp + 0x10]
add ecx, dword [esp + 0x20]
mov dword [eax + 4], ecx
add ebx, dword [esp + 0x2c]
mov dword [eax + 8], ebx
add esi, dword [esp + 0x30]
mov dword [eax + 0xc], esi
add edx, dword [esp + 0x24]
mov dword [eax + 0x10], edx
mov ecx, dword [esp + 8]
add ecx, dword [esp + 0x34]
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x14]
add ecx, dword [esp + 0x38]
mov dword [eax + 0x18], ecx
mov ecx, dword [esp + 4]
add ecx, dword [esp + 0x3c]
mov dword [eax + 0x1c], ecx
add esp, 0x144
pop esi
pop edi
pop ebx
pop ebp
ret