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

Disassembly:
mov eax, 8
call fcn.100781a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
push ebx
push ebp
mov edx, dword [eax]
mov ebx, dword [eax + 4]
mov ebp, dword [eax + 8]
push esi
mov esi, dword [eax + 0xc]
mov eax, ecx
dec ecx
test eax, eax
je 0x10003c68
mov eax, dword [esp + 0x1c]
push edi
add eax, 0x10
inc ecx
mov dword [esp + 0x10], ecx
mov edi, dword [eax - 0x10]
mov ecx, esi
xor ecx, ebp
and ecx, ebx
xor ecx, esi
add ecx, edi
mov edi, dword [eax - 0xc]
add ecx, edx
mov edx, ebp
rol ecx, 3
xor edx, ebx
and edx, ecx
xor edx, ebp
add edx, edi
mov edi, dword [eax - 8]
add edx, esi
mov esi, ebx
rol edx, 7
xor esi, ecx
and esi, edx
xor esi, ebx
add esi, ebp
mov ebp, dword [eax - 4]
add esi, edi
mov edi, edx
rol esi, 0xb
xor edi, ecx
and edi, esi
xor edi, ecx
add edi, ebp
mov ebp, dword [eax]
add edi, ebx
mov ebx, edx
rol edi, 0x13
xor ebx, esi
and ebx, edi
xor ebx, edx
add ebx, ebp
mov ebp, dword [eax + 4]
add ebx, ecx
mov ecx, esi
rol ebx, 3
xor ecx, edi
and ecx, ebx
xor ecx, esi
add ecx, ebp
mov ebp, dword [eax + 8]
add ecx, edx
mov edx, edi
rol ecx, 7
xor edx, ebx
and edx, ecx
xor edx, edi
add edx, ebp
mov ebp, dword [eax + 0xc]
add edx, esi
mov esi, ecx
rol edx, 0xb
xor esi, ebx
and esi, edx
xor esi, ebx
add esi, ebp
mov ebp, dword [eax + 0x10]
add esi, edi
mov edi, ecx
rol esi, 0x13
xor edi, edx
and edi, esi
xor edi, ecx
add edi, ebp
mov ebp, dword [eax + 0x14]
add edi, ebx
mov ebx, edx
rol edi, 3
xor ebx, esi
and ebx, edi
xor ebx, edx
add ebx, ebp
mov ebp, dword [eax + 0x18]
add ebx, ecx
rol ebx, 7
mov ecx, esi
xor ecx, edi
and ecx, ebx
xor ecx, esi
add ecx, ebp
mov ebp, dword [eax + 0x1c]
add ecx, edx
mov edx, ebx
xor edx, edi
rol ecx, 0xb
and edx, ecx
xor edx, edi
add edx, ebp
mov ebp, dword [eax + 0x20]
add edx, esi
mov esi, ebx
rol edx, 0x13
xor esi, ecx
and esi, edx
xor esi, ebx
add esi, ebp
mov ebp, ecx
add esi, edi
mov edi, dword [eax + 0x24]
rol esi, 3
xor ebp, edx
and ebp, esi
xor ebp, ecx
add ebp, edi
mov edi, edx
add ebp, ebx
mov ebx, dword [eax + 0x28]
rol ebp, 7
xor edi, esi
and edi, ebp
xor edi, edx
add edi, ebx
mov ebx, dword [eax + 0x2c]
add edi, ecx
mov ecx, ebp
rol edi, 0xb
xor ecx, esi
and ecx, edi
xor ecx, esi
add ecx, ebx
mov ebx, edi
add ecx, edx
mov edx, edi
rol ecx, 0x13
or edx, ecx
and ebx, ecx
and edx, ebp
or edx, ebx
mov ebx, dword [eax - 0x10]
add edx, ebx
mov ebx, ecx
lea esi, [edx + esi + 0x5a827999]
mov edx, ecx
rol esi, 3
or edx, esi
and ebx, esi
mov dword [esp + 0x14], edx
and edx, edi
mov dword [esp + 0x24], ebx
or edx, ebx
mov ebx, dword [eax]
add edx, ebx
mov ebx, dword [esp + 0x24]
lea ebp, [edx + ebp + 0x5a827999]
mov edx, dword [esp + 0x14]
rol ebp, 5
and edx, ebp
mov dword [esp + 0x20], ebp
or edx, ebx
mov ebx, dword [eax + 0x10]
add edx, ebx
lea edi, [edx + edi + 0x5a827999]
rol edi, 9
mov edx, edi
or edx, esi
and edx, ebp
mov ebx, edi
and ebx, esi
or edx, ebx
mov ebx, dword [eax + 0x20]
add edx, ebx
mov ebx, edi
lea ecx, [edx + ecx + 0x5a827999]
mov edx, edi
rol ecx, 0xd
or edx, ecx
and ebx, ecx
and edx, ebp
or edx, ebx
mov ebx, dword [eax - 0xc]
add edx, ebx
mov ebx, ecx
lea esi, [edx + esi + 0x5a827999]
mov edx, ecx
rol esi, 3
or edx, esi
and ebx, esi
mov ebp, edx
mov dword [esp + 0x24], ebx
and ebp, edi
or ebp, ebx
mov ebx, dword [eax + 4]
add ebp, ebx
mov ebx, dword [esp + 0x20]
lea ebx, [ebx + ebp + 0x5a827999]
mov ebp, dword [esp + 0x24]
rol ebx, 5
and edx, ebx
mov dword [esp + 0x20], ebx
or edx, ebp
mov ebp, dword [eax + 0x14]
add edx, ebp
lea edx, [edx + edi + 0x5a827999]
rol edx, 9
mov edi, edx
mov ebp, edx
or edi, esi
and ebp, esi
and edi, ebx
or edi, ebp
mov ebp, dword [eax + 0x24]
add edi, ebp
mov ebp, edx
lea edi, [edi + ecx + 0x5a827999]
mov ecx, edx
rol edi, 0xd
or ebp, edi
and ecx, edi
and ebp, ebx
mov ebx, edi
or ebp, ecx
mov ecx, dword [eax - 8]
add ebp, esi
lea esi, [ecx + ebp + 0x5a827999]
mov ecx, edi
rol esi, 3
or ecx, esi
and ebx, esi
mov ebp, ecx
mov dword [esp + 0x24], ebx
and ebp, edx
or ebp, ebx
mov ebx, dword [eax + 8]
add ebp, ebx
mov ebx, dword [esp + 0x20]
lea ebx, [ebx + ebp + 0x5a827999]
mov ebp, dword [esp + 0x24]
rol ebx, 5
and ecx, ebx
mov dword [esp + 0x20], ebx
or ecx, ebp
mov ebp, dword [eax + 0x18]
add ecx, ebp
lea ecx, [ecx + edx + 0x5a827999]
rol ecx, 9
mov edx, ecx
or edx, esi
mov ebp, ecx
and edx, ebx
and ebp, esi
or edx, ebp
mov ebp, dword [eax + 0x28]
add edx, ebp
lea edi, [edx + edi + 0x5a827999]
mov edx, ecx
rol edi, 0xd
or edx, edi
and edx, ebx
mov ebx, ecx
and ebx, edi
or edx, ebx
mov ebx, dword [eax - 4]
add edx, ebx
mov ebx, edi
lea esi, [edx + esi + 0x5a827999]
mov edx, edi
rol esi, 3
or edx, esi
and ebx, esi
mov ebp, edx
mov dword [esp + 0x24], ebx
and ebp, ecx
or ebp, ebx
mov ebx, dword [eax + 0xc]
add ebp, ebx
mov ebx, dword [esp + 0x20]
lea ebx, [ebx + ebp + 0x5a827999]
mov ebp, dword [esp + 0x24]
rol ebx, 5
and edx, ebx
or edx, ebp
mov ebp, dword [eax + 0x1c]
add edx, ebp
lea ecx, [edx + ecx + 0x5a827999]
rol ecx, 9
mov edx, ecx
mov ebp, ecx
or edx, esi
and ebp, esi
and edx, ebx
or edx, ebp
mov ebp, dword [eax + 0x2c]
add edx, ebp
mov ebp, dword [eax - 0x10]
lea edi, [edx + edi + 0x5a827999]
mov edx, ebx
rol edi, 0xd
xor edx, ecx
xor edx, edi
add edx, ebp
mov ebp, dword [eax + 0x10]
lea esi, [edx + esi + 0x6ed9eba1]
mov edx, ecx
rol esi, 3
xor edx, edi
xor edx, esi
add edx, ebp
mov ebp, dword [eax]
lea ebx, [edx + ebx + 0x6ed9eba1]
rol ebx, 9
mov edx, ebx
xor edx, edi
xor edx, esi
add edx, ebp
lea ecx, [edx + ecx + 0x6ed9eba1]
mov edx, ebx
rol ecx, 0xb
xor edx, ecx
mov ebp, edx
xor ebp, esi
add ebp, dword [eax + 0x20]
lea edi, [edi + ebp + 0x6ed9eba1]
rol edi, 0xf
xor edx, edi
add edx, esi
mov esi, dword [eax - 8]
lea edx, [edx + esi + 0x6ed9eba1]
rol edx, 3
mov ebp, dword [eax + 0x18]
mov esi, ecx
xor esi, edi
xor esi, edx
add esi, ebp
mov ebp, dword [eax + 8]
lea ebx, [esi + ebx + 0x6ed9eba1]
rol ebx, 9
mov esi, ebx
xor esi, edi
xor esi, edx
add esi, ebp
lea ebp, [esi + ecx + 0x6ed9eba1]
mov ecx, ebx
rol ebp, 0xb
xor ecx, ebp
mov esi, ecx
xor esi, edx
add esi, dword [eax + 0x28]
lea esi, [esi + edi + 0x6ed9eba1]
mov edi, dword [eax - 0xc]
rol esi, 0xf
xor ecx, esi
add ecx, edi
mov edi, dword [eax + 0x14]
lea ecx, [ecx + edx + 0x6ed9eba1]
mov edx, ebp
rol ecx, 3
xor edx, esi
xor edx, ecx
add edx, edi
lea edi, [edx + ebx + 0x6ed9eba1]
mov ebx, dword [eax + 4]
rol edi, 9
mov edx, edi
xor edx, esi
xor edx, ecx
add edx, ebx
lea ebx, [edx + ebp + 0x6ed9eba1]
mov edx, edi
rol ebx, 0xb
xor edx, ebx
mov ebp, edx
xor ebp, ecx
add ebp, dword [eax + 0x24]
lea esi, [esi + ebp + 0x6ed9eba1]
mov ebp, dword [eax - 4]
rol esi, 0xf
xor edx, esi
add edx, ebp
mov ebp, dword [eax + 0x1c]
lea edx, [edx + ecx + 0x6ed9eba1]
mov ecx, ebx
rol edx, 3
xor ecx, esi
xor ecx, edx
add ecx, ebp
mov ebp, dword [eax + 0xc]
lea edi, [ecx + edi + 0x6ed9eba1]
rol edi, 9
mov ecx, edi
xor ecx, esi
xor ecx, edx
add ecx, ebp
lea ebp, [ecx + ebx + 0x6ed9eba1]
mov ebx, dword [eax + 0x2c]
rol ebp, 0xb
mov ecx, edi
xor ecx, ebp
xor ecx, edx
add ecx, ebx
lea esi, [ecx + esi + 0x6ed9eba1]
mov ecx, dword [esp + 0x1c]
rol esi, 0xf
mov ebx, dword [ecx]
add ebx, edx
mov dword [ecx], ebx
mov edx, ebx
mov ebx, dword [ecx + 4]
add ebx, esi
mov dword [ecx + 4], ebx
mov esi, dword [ecx + 8]
add eax, 0x40
add esi, ebp
mov dword [ecx + 8], esi
mov ebp, esi
mov esi, dword [ecx + 0xc]
add esi, edi
mov dword [ecx + 0xc], esi
mov ecx, dword [esp + 0x10]
dec ecx
mov dword [esp + 0x10], ecx
jne 0x100037f8
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret