Function at 0x445db6
Capabilities:
Encrypt data using chaskey
Hash data using murmur3

Disassembly:
mov ebp, dword [esp + 0x14]
xor ebx, ebp
and ebx, eax
xor ebx, ebp
mov ebp, dword [esp + 8]
add ebp, dword [esp + 0x48]
mov eax, dword [esp + 0x10]
rol eax, 6
add ebx, ebp
add ebx, 0x8f1bbcdc
mov dword [esp + 0xc], ebx
add eax, edx
rol ecx, 0xa
mov ebx, eax
xor dword [esi], ecx
add al, 0xeb
jnp 0x445b8a
retf
cli
xor edx, eax
add esi, dword [esp + 0x50]
je 0x445bb0
push eax
add edx, esi
add edx, 0x5c4dd124
rol edx, 0xd
add edx, ecx
rol eax, 0xa
mov dword [esp + 0x10], eax
mov esi, edx
xor esi, ebp
and esi, eax
xor esi, ebp
add ecx, dword [esp + 0x4c]
add esi, ecx
add esi, 0x5c4dd124
mov ebx, dword [esp + 0xc]
rol ebx, 0xc
mov ecx, dword [esp + 0x14]
rol ecx, 0xa
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x18]
add ebx, eax
mov dword [esp + 0xc], ebx
not ecx
or ecx, dword [esp + 4]
xor ecx, ebx
add eax, dword [esp + 0x2c]
rol esi, 0xf
lea ebx, [ecx + eax]
add ebx, 0xa953fd4e
add ebx, eax
cmp dword [edx], 0xac5c1de
mov ecx, esi
mov eax, edx
xor ecx, edx
and ecx, ebp
xor ecx, edx
add edi, dword [esp + 0x40]
add dword [esi], ecx
add al, 0xeb
jns 0x445b86
invalid
shl dword [ecx + edx*8], 0x4d
pop esp
rol ecx, 7
mov edx, dword [esp + 0x10]
add ecx, edx
rol eax, 0xa
mov dword [esp + 8], eax
mov edi, ecx
xor edi, esi
and edi, eax
xor edi, esi
add edx, dword [esp + 0x20]
add edi, edx
add edi, 0x5c4dd124
rol edi, 0xc
add edi, ebp
mov dword [esp + 0x18], edi
rol esi, 0xa
xor edi, ecx
and edi, esi
xor edi, ecx
add ebp, dword [esp + 0x58]
add ebp, edi
add ebp, 0x5c4dd124
rol ebx, 9
mov eax, dword [esp + 4]
rol eax, 0xa
mov dword [esp + 4], eax
add ebx, dword [esp]
mov dword [esp + 0x10], ebx
not eax
or eax, dword [esp + 0xc]
xor eax, ebx
mov ebx, dword [esp]
add ebx, dword [esp + 0x20]
rol ebp, 8
add eax, ebx
add eax, 0xa953fd4e
mov dword [esp], eax
mov edx, dword [esp + 8]
add ebp, edx
rol ecx, 0xa
mov edi, ebp
mov eax, dword [esp + 0x18]
xor edi, eax
and edi, ecx
xor edi, eax
add edx, dword [esp + 0x3c]
add edx, edi
add edx, 0x5c4dd124
rol edx, 9
add edx, esi
rol eax, 0xa
mov dword [esp + 0x18], eax
mov edi, edx
xor edi, ebp
and edi, eax
xor edi, ebp
add esi, dword [esp + 0x54]
add edi, esi
add edi, 0x5c4dd124
pop esp
rol edi, 0xb
add edi, ecx
rol ebp, 0xa
mov esi, edi
xor esi, edx
and esi, ebp
xor esi, edx
add ecx, dword [esp + 0x30]
lea ebx, [esi + ecx]
add ebx, 0x5c4dd124
mov eax, dword [esp]
rol eax, 0xf
mov ecx, dword [esp + 0xc]
rol ecx, 0xa
mov dword [esp + 0xc], ecx
add eax, dword [esp + 0x14]
adc al, 0x89
add al, 0x24
not ecx
or ecx, dword [esp + 0x10]
xor ecx, eax
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x3c]
rol ebx, 7
add eax, ecx
add eax, 0xa953fd4e
mov dword [esp + 8], eax
mov eax, dword [esp + 0x18]
add ebx, eax
rol edx, 0xa
mov ecx, ebx
xor dword [esi], ecx
add al, 0xeb
jns 0x445d43
sal dword [ecx], 1
stc
add eax, dword [esp + 0x34]
add eax, ecx
add eax, 0x5c4dd124
rol eax, 7
add eax, ebp
rol edi, 0xa
mov ecx, eax
xor ecx, ebx
and ecx, edi
xor ecx, ebx
add ebp, dword [esp + 0x38]
lea esi, [ecx + ebp]
add esi, 0x5c4dd124
cmp byte [ebp - 0x397ed6cc], cl
and al, 0xd1
dec ebp
pop esp
rol esi, 0xc
add esi, edx
rol ebx, 0xa
mov ecx, esi
xor ecx, eax
and ecx, ebx
xor ecx, eax
add edx, dword [esp + 0x1c]
lea ebp, [ecx + edx]
add ebp, 0x5c4dd124
mov edx, dword [esp + 8]
rol edx, 5
mov ecx, dword [esp + 0x10]
rol ecx, 0xa
mov dword [esp + 0x10], ecx
add edx, dword [esp + 4]
mov dword [esp + 8], edx
not ecx
or ecx, dword [esp]
xor ecx, edx
mov edx, dword [esp + 4]
add edx, dword [esp + 0x28]
rol ebp, 7
add ecx, edx
add ecx, 0xa953fd4e
mov dword [esp + 4], ecx
add ebp, edi
rol eax, 0xa
mov ecx, ebp
xor ecx, esi
and ecx, eax
xor ecx, esi
mov edx, esi
add edi, dword [esp + 0x2c]
lea esi, [ecx + edi]
xor al, 0x39
add esi, 0x5c4dd124
rol esi, 6
add esi, ebx
fimul word [ecx + 0xac1c1d1]
mov dword [esp + 0x5c], ecx
mov edx, esi
xor edx, ebp
invalid