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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x6c
push ebx
push esi
push edi
mov edi, ecx
xor esi, esi
mov dword [ebp - 4], edi
lea eax, [edi + 0x12]
movzx edx, byte [eax + 1]
lea eax, [eax + 4]
movzx ecx, byte [eax - 4]
shl edx, 8
or edx, ecx
movzx ecx, byte [eax - 5]
shl edx, 8
or edx, ecx
movzx ecx, byte [eax - 6]
shl edx, 8
or edx, ecx
mov dword [ebp + esi*4 - 0x6c], edx
inc esi
cmp esi, 0x10
jl 0x541563
mov ecx, dword [edi + 0x60]
mov ebx, dword [edi + 0x58]
mov eax, dword [edi + 0x5c]
mov esi, dword [edi + 0x64]
mov edx, dword [edi + 0x54]
mov edi, ecx
xor edi, eax
mov dword [ebp - 0x18], ebx
xor edi, ebx
add edi, dword [ebp - 0x6c]
add edi, edx
mov edx, eax
rol edx, 0xa
rol edi, 0xb
mov ebx, edx
xor ebx, dword [ebp - 0x18]
add edi, esi
xor ebx, edi
mov dword [ebp - 0x20], edx
add ebx, dword [ebp - 0x68]
add ebx, esi
mov esi, dword [ebp - 0x18]
rol ebx, 0xe
add ebx, ecx
rol esi, 0xa
mov eax, ebx
mov dword [ebp - 0x24], esi
xor eax, esi
xor eax, edi
rol edi, 0xa
add eax, dword [ebp - 0x64]
add eax, ecx
mov ecx, ebx
rol eax, 0xf
add eax, edx
rol ebx, 0xa
xor ecx, eax
xor ecx, edi
add ecx, dword [ebp - 0x60]
add ecx, edx
mov edx, ebx
xor edx, eax
rol ecx, 0xc
add ecx, esi
rol eax, 0xa
xor edx, ecx
add edx, dword [ebp - 0x5c]
add edx, esi
mov esi, eax
xor esi, ecx
rol edx, 5
add edx, edi
rol ecx, 0xa
xor esi, edx
add esi, dword [ebp - 0x58]
add esi, edi
mov edi, ecx
xor edi, edx
rol esi, 8
add esi, ebx
rol edx, 0xa
xor edi, esi
add edi, dword [ebp - 0x54]
add edi, ebx
rol edi, 7
add edi, eax
mov ebx, edi
xor ebx, edx
xor ebx, esi
rol esi, 0xa
add ebx, dword [ebp - 0x50]
add ebx, eax
mov eax, edi
rol ebx, 9
add ebx, ecx
xor eax, ebx
xor eax, esi
add eax, dword [ebp - 0x4c]
add eax, ecx
rol eax, 0xb
add eax, edx
rol edi, 0xa
mov ecx, edi
xor ecx, ebx
rol ebx, 0xa
xor ecx, eax
add ecx, dword [ebp - 0x48]
add ecx, edx
mov edx, ebx
xor edx, eax
rol ecx, 0xd
add ecx, esi
rol eax, 0xa
xor edx, ecx
add edx, dword [ebp - 0x44]
add edx, esi
mov esi, eax
xor esi, ecx
rol edx, 0xe
add edx, edi
rol ecx, 0xa
xor esi, edx
add esi, dword [ebp - 0x40]
add esi, edi
rol esi, 0xf
add esi, ebx
mov edi, esi
xor edi, ecx
xor edi, edx
rol edx, 0xa
add edi, dword [ebp - 0x3c]
add edi, ebx
mov ebx, esi
rol edi, 6
add edi, eax
rol esi, 0xa
xor ebx, edi
xor ebx, edx
add ebx, dword [ebp - 0x38]
add ebx, eax
mov eax, esi
xor eax, edi
rol ebx, 7
add ebx, ecx
rol edi, 0xa
xor eax, ebx
add eax, dword [ebp - 0x34]
add eax, ecx
mov ecx, edi
xor ecx, ebx
rol eax, 9
add eax, edx
rol ebx, 0xa
xor ecx, eax
mov dword [ebp - 0x10], eax
add ecx, dword [ebp - 0x30]
add ecx, edx
lea edx, [esi + 0x5a827999]
rol ecx, 8
add ecx, esi
lea esi, [edi + 0x5a827999]
mov dword [ebp - 8], ecx
not ecx
and eax, dword [ebp - 8]
and ecx, ebx
or ecx, eax
mov eax, dword [ebp - 0x10]
add ecx, dword [ebp - 0x50]
add edx, ecx
rol eax, 0xa
rol edx, 7
add edx, edi
mov dword [ebp - 0x10], eax
mov ecx, edx
not ecx
and ecx, eax
mov eax, edx
and eax, dword [ebp - 8]
or ecx, eax
add ecx, dword [ebp - 0x5c]
add esi, ecx
rol esi, 6
mov eax, dword [ebp - 8]
lea edi, [ebx + 0x5a827999]
rol eax, 0xa
add esi, ebx
mov dword [ebp - 8], eax
mov ecx, esi
not ecx
mov ebx, dword [ebp - 0x10]
and ecx, eax
mov eax, edx
and eax, esi
rol edx, 0xa
or ecx, eax
mov eax, esi
add ecx, dword [ebp - 0x38]
add edi, ecx
rol esi, 0xa
rol edi, 8
add edi, ebx
add ebx, 0x5a827999
and eax, edi
mov ecx, edi
not ecx
and ecx, edx
or ecx, eax
mov eax, edi
add ecx, dword [ebp - 0x68]
add ebx, ecx
rol edi, 0xa
rol ebx, 0xd
add ebx, dword [ebp - 8]
and eax, ebx
mov ecx, ebx
not ecx
and ecx, esi
or ecx, eax
mov eax, dword [ebp - 8]
add ecx, dword [ebp - 0x44]
add eax, 0x5a827999
add eax, ecx
rol eax, 0xb
add eax, edx
mov dword [ebp - 0x14], eax
mov ecx, eax
not ecx
mov eax, ebx
and eax, dword [ebp - 0x14]
and ecx, edi
or ecx, eax
rol ebx, 0xa
add ecx, dword [ebp - 0x54]
lea eax, [edx + 0x5a827999]
mov edx, dword [ebp - 0x14]
add eax, ecx
rol eax, 9
add eax, esi
mov ecx, eax
mov dword [ebp - 0x1c], eax
and eax, edx
not ecx
and ecx, ebx
rol edx, 0xa
or ecx, eax
lea eax, [esi + 0x5a827999]
add ecx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x1c]
add eax, ecx
rol eax, 7
add eax, edi
mov ecx, eax
mov dword [ebp - 0x14], eax
not ecx
mov eax, esi
and eax, dword [ebp - 0x14]
and ecx, edx
or ecx, eax
lea eax, [edi + 0x5a827999]
add ecx, dword [ebp - 0x60]
add eax, ecx
rol eax, 0xf
add eax, ebx
mov edi, dword [ebp - 0x14]
mov ecx, eax
not ecx
mov dword [ebp - 0x10], eax
rol esi, 0xa
mov eax, edi
and eax, dword [ebp - 0x10]
and ecx, esi
or ecx, eax
rol edi, 0xa
add ecx, dword [ebp - 0x3c]
lea eax, [ebx + 0x5a827999]
add eax, ecx
mov ebx, dword [ebp - 0x10]
rol eax, 7
add eax, edx
mov dword [ebp - 8], eax
mov ecx, eax
not ecx
mov eax, ebx
and eax, dword [ebp - 8]
and ecx, edi
or ecx, eax
rol ebx, 0xa
add ecx, dword [ebp - 0x6c]
lea eax, [edx + 0x5a827999]
add eax, ecx
mov edx, dword [ebp - 8]
rol eax, 0xc
add eax, esi
mov dword [ebp - 0xc], eax
mov ecx, eax
not ecx
mov eax, edx
and eax, dword [ebp - 0xc]
and ecx, ebx
or ecx, eax
rol edx, 0xa
add ecx, dword [ebp - 0x48]
lea eax, [esi + 0x5a827999]
mov esi, dword [ebp - 0xc]
add eax, ecx
rol eax, 0xf
add eax, edi
mov dword [ebp - 8], edx
mov ecx, eax
mov dword [ebp - 0x10], eax
not ecx
and eax, esi
and ecx, edx
rol esi, 0xa
or ecx, eax
mov dword [ebp - 0xc], esi
add ecx, dword [ebp - 0x58]
lea edx, [edi + 0x5a827999]
mov edi, dword [ebp - 0x10]
add edx, ecx
rol edx, 9
mov eax, edi
add edx, ebx
rol edi, 0xa
mov ecx, edx
mov dword [ebp - 0x10], edi
not ecx
and eax, edx
and ecx, esi
lea esi, [ebx + 0x5a827999]
mov ebx, dword [ebp - 8]
or ecx, eax
add ecx, dword [ebp - 0x64]
mov eax, edx
add esi, ecx
rol esi, 0xb
add esi, ebx
mov ecx, esi
and eax, esi
not ecx
and ecx, edi
lea edi, [ebx + 0x5a827999]
or ecx, eax
add ecx, dword [ebp - 0x34]
mov ebx, dword [ebp - 0xc]
add edi, ecx
rol edi, 7
mov eax, esi
add edi, ebx
rol edx, 0xa
and eax, edi
mov dword [ebp - 0x1c], edx
mov ecx, edi
rol esi, 0xa
not ecx
add ebx, 0x5a827999
and ecx, edx
or ecx, eax
mov eax, edi
add ecx, dword [ebp - 0x40]
add ebx, ecx
rol edi, 0xa
rol ebx, 0xd
add ebx, dword [ebp - 0x10]
and eax, ebx
mov edx, ebx
not edx
rol ebx, 0xa
mov ecx, edx
and ecx, esi
or ecx, eax
mov eax, dword [ebp - 0x10]
add ecx, dword [ebp - 0x4c]
add eax, 0x5a827999
add ecx, eax
mov eax, dword [ebp - 0x1c]
rol ecx, 0xc
add ecx, eax
add eax, 0x6ed9eba1
or edx, ecx
xor edx, edi
add edx, dword [ebp - 0x60]
add edx, eax
mov eax, ecx
not eax
rol edx, 0xb
add edx, esi
rol ecx, 0xa
or eax, edx
xor eax, ebx
add eax, 0x6ed9eba1
add eax, dword [ebp - 0x44]
add esi, eax
mov eax, edx
not eax
rol esi, 0xd
add esi, edi
rol edx, 0xa
or eax, esi
xor eax, ecx
add eax, 0x6ed9eba1
add eax, dword [ebp - 0x34]
add edi, eax
mov eax, esi
not eax
rol edi, 6
add edi, ebx
rol esi, 0xa
or eax, edi
xor eax, edx
add eax, 0x6ed9eba1
add eax, dword [ebp - 0x5c]
add ebx, eax
mov eax, edi
rol ebx, 7
not eax
add ebx, ecx
or eax, ebx
xor eax, esi
add eax, 0x6ed9eba1
add eax, dword [ebp - 0x48]
add ecx, eax
rol ecx, 0xe
add ecx, edx
rol edi, 0xa
mov eax, ebx
rol ebx, 0xa
not eax
or eax, ecx
xor eax, edi
add eax, 0x6ed9eba1
add eax, dword [ebp - 0x30]
add edx, eax
mov eax, ecx
not eax
rol edx, 9
add edx, esi
rol ecx, 0xa
or eax, edx
xor eax, ebx
add eax, 0x6ed9eba1
add eax, dword [ebp - 0x4c]
add esi, eax
mov eax, edx
not eax
rol esi, 0xd
add esi, edi
rol edx, 0xa
or eax, esi
xor eax, ecx
add eax, 0x6ed9eba1
add eax, dword [ebp - 0x68]
add edi, eax
mov eax, esi
not eax
rol edi, 0xf
add edi, ebx
rol esi, 0xa
or eax, edi
xor eax, edx
add eax, 0x6ed9eba1
add eax, dword [ebp - 0x64]
add ebx, eax
mov eax, edi
not eax
rol ebx, 0xe
add ebx, ecx
rol edi, 0xa
or eax, ebx
xor eax, esi
add eax, 0x6ed9eba1
add eax, dword [ebp - 0x50]
add ecx, eax
mov eax, ebx
not eax
rol ecx, 8
add ecx, edx
rol ebx, 0xa
or eax, ecx
xor eax, edi
add eax, 0x6ed9eba1
add eax, dword [ebp - 0x6c]
add edx, eax
mov eax, ecx
not eax
rol edx, 0xd
add edx, esi
rol ecx, 0xa
or eax, edx
xor eax, ebx
add eax, 0x6ed9eba1
add eax, dword [ebp - 0x54]
add esi, eax
mov eax, edx
not eax
rol esi, 6
add esi, edi
or eax, esi
xor eax, ecx
add eax, 0x6ed9eba1
add eax, dword [ebp - 0x38]
add edi, eax
mov eax, esi
rol edi, 5
add edi, ebx
rol edx, 0xa
not eax
rol esi, 0xa
or eax, edi
xor eax, edx
add eax, 0x6ed9eba1
add eax, dword [ebp - 0x40]
add ebx, eax
mov eax, edi
not eax
rol ebx, 0xc
add ebx, ecx
rol edi, 0xa
or eax, ebx
xor eax, esi
add eax, 0x6ed9eba1
add eax, dword [ebp - 0x58]
add ecx, eax
mov eax, ebx
not eax
rol ecx, 7
add ecx, edx
rol ebx, 0xa
or eax, ecx
mov dword [ebp - 0x1c], ecx
xor eax, edi
add edx, 0x6ed9eba1
add eax, dword [ebp - 0x3c]
mov ecx, ebx
add eax, edx
not ecx
mov edx, dword [ebp - 0x1c]
and ecx, edx
rol eax, 5
add eax, esi
rol edx, 0xa
mov dword [ebp - 0x10], eax
and eax, ebx
or ecx, eax
lea eax, [esi - 0x70e44324]
add ecx, dword [ebp - 0x68]
add eax, ecx
mov esi, dword [ebp - 0x10]
rol eax, 0xb
mov ecx, edx
add eax, edi
not ecx
mov dword [ebp - 0x14], eax
and ecx, esi
mov eax, edx
rol esi, 0xa
and eax, dword [ebp - 0x14]
or eax, ecx
mov ecx, esi
add eax, 0x8f1bbcdc
not ecx
add eax, dword [ebp - 0x48]
add eax, edi
mov edi, dword [ebp - 0x14]
rol eax, 0xc
and ecx, edi
add eax, ebx
rol edi, 0xa
mov dword [ebp - 0x10], eax
mov eax, esi
and eax, dword [ebp - 0x10]
or eax, ecx
mov ecx, edi
add eax, 0x8f1bbcdc
not ecx
add eax, dword [ebp - 0x40]
add eax, ebx
mov ebx, dword [ebp - 0x10]
rol eax, 0xe
and ecx, ebx
add eax, edx
mov dword [ebp - 0x14], eax
mov eax, edi
and eax, dword [ebp - 0x14]
or ecx, eax
lea eax, [edx - 0x70e44324]
add ecx, dword [ebp - 0x44]
add eax, ecx
mov edx, dword [ebp - 0x14]
rol eax, 0xf
add eax, esi
rol ebx, 0xa
mov dword [ebp - 0x1c], eax
mov ecx, ebx
and eax, ebx
not ecx
and ecx, edx
rol edx, 0xa
or ecx, eax
lea eax, [esi - 0x70e44324]
add ecx, dword [ebp - 0x6c]
add eax, ecx
mov esi, dword [ebp - 0x1c]
rol eax, 0xe
mov ecx, edx
add eax, edi
not ecx
mov dword [ebp - 0x10], eax
and ecx, esi
and eax, edx
rol esi, 0xa
or ecx, eax
lea eax, [edi - 0x70e44324]
add ecx, dword [ebp - 0x4c]
add eax, ecx
mov edi, dword [ebp - 0x10]
rol eax, 0xf
mov ecx, esi
add eax, ebx
not ecx
mov dword [ebp - 0x14], eax
and ecx, edi
mov eax, esi
rol edi, 0xa
and eax, dword [ebp - 0x14]
or ecx, eax
lea eax, [ebx - 0x70e44324]
add ecx, dword [ebp - 0x3c]
add eax, ecx
mov ebx, dword [ebp - 0x14]
rol eax, 9
mov ecx, edi
add eax, edx
not ecx
mov dword [ebp - 0x10], eax
and ecx, ebx
mov eax, edi
rol ebx, 0xa
and eax, dword [ebp - 0x10]
or ecx, eax
lea eax, [edx - 0x70e44324]
add ecx, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x10]
add eax, ecx
rol eax, 8
mov ecx, ebx
add eax, esi
not ecx
mov dword [ebp - 0x14], eax
and ecx, edx
mov eax, ebx
rol edx, 0xa
and eax, dword [ebp - 0x14]
or ecx, eax
lea eax, [esi - 0x70e44324]
add ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x14]
add eax, ecx
rol eax, 9
mov ecx, edx
add eax, edi
not ecx
mov dword [ebp - 0x1c], eax
and ecx, esi
and eax, edx
or ecx, eax
lea eax, [edi - 0x70e44324]
add ecx, dword [ebp - 0x60]
add eax, ecx
mov edi, dword [ebp - 0x1c]
rol eax, 0xe
add eax, ebx
rol esi, 0xa
mov dword [ebp - 0x14], eax
mov ecx, esi
not ecx
and eax, esi
and ecx, edi
rol edi, 0xa
or ecx, eax
lea eax, [ebx - 0x70e44324]
add ecx, dword [ebp - 0x50]
add eax, ecx
mov ebx, dword [ebp - 0x14]
rol eax, 5
mov ecx, edi
not ecx
add eax, edx
and ecx, ebx
mov dword [ebp - 8], eax
mov eax, edi
rol ebx, 0xa
and eax, dword [ebp - 8]
add edx, 0x8f1bbcdc
or ecx, eax
mov eax, ebx
add ecx, dword [ebp - 0x30]
add edx, ecx
mov ecx, ebx
not ecx
rol edx, 6
and ecx, dword [ebp - 8]
add edx, esi
and eax, edx
add esi, 0x8f1bbcdc
or ecx, eax
mov eax, dword [ebp - 8]
add ecx, dword [ebp - 0x34]
add esi, ecx
rol eax, 0xa
mov ecx, eax
mov dword [ebp - 8], eax
not ecx
rol esi, 8
and ecx, edx
add esi, edi
and eax, esi
rol edx, 0xa
or ecx, eax
add edi, 0x8f1bbcdc
add ecx, dword [ebp - 0x58]
add edi, ecx
mov ecx, edx
not ecx
rol edi, 6
and ecx, esi
add edi, ebx
mov eax, edi
rol esi, 0xa
and eax, edx
add ebx, 0x8f1bbcdc
or ecx, eax
add ecx, dword [ebp - 0x54]
add ebx, ecx
mov ecx, esi
rol ebx, 5
not ecx
add ebx, dword [ebp - 8]
and ecx, edi
mov eax, ebx
and eax, esi
or ecx, eax
mov eax, dword [ebp - 8]
add ecx, dword [ebp - 0x64]
add eax, 0x8f1bbcdc
add ecx, eax
rol ecx, 0xc
add ecx, edx
rol edi, 0xa
mov eax, edi
not eax
or eax, ebx
rol ebx, 0xa
xor eax, ecx
add eax, 0xa953fd4e
add eax, dword [ebp - 0x5c]
add edx, eax
mov eax, ebx
not eax
rol edx, 9
or eax, ecx
add edx, esi
xor eax, edx
rol ecx, 0xa
add eax, 0xa953fd4e
add eax, dword [ebp - 0x6c]
add esi, eax
mov eax, ecx
not eax
rol esi, 0xf
or eax, edx
add esi, edi
xor eax, esi
rol edx, 0xa
add eax, 0xa953fd4e
add eax, dword [ebp - 0x58]
add edi, eax
mov eax, edx
not eax
rol edi, 5
or eax, esi
add edi, ebx
xor eax, edi
rol esi, 0xa
add eax, 0xa953fd4e
add eax, dword [ebp - 0x48]
add ebx, eax
mov eax, esi
not eax
rol ebx, 0xb
or eax, edi
add ebx, ecx
xor eax, ebx
rol edi, 0xa
add eax, 0xa953fd4e
add eax, dword [ebp - 0x50]
add ecx, eax
mov eax, edi
not eax
rol ecx, 6
or eax, ebx
add ecx, edx
xor eax, ecx
rol ebx, 0xa
add eax, 0xa953fd4e
add eax, dword [ebp - 0x3c]
add edx, eax
mov eax, ebx
not eax
rol edx, 8
or eax, ecx
add edx, esi
xor eax, edx
rol ecx, 0xa
add eax, 0xa953fd4e
add eax, dword [ebp - 0x64]
add esi, eax
mov eax, ecx
not eax
rol esi, 0xd
add esi, edi
or eax, edx
xor eax, esi
add eax, 0xa953fd4e
add eax, dword [ebp - 0x44]
add edi, eax
rol edi, 0xc
add edi, ebx
rol edx, 0xa
mov eax, edx
not eax
or eax, esi
rol esi, 0xa
xor eax, edi
add eax, 0xa953fd4e
add eax, dword [ebp - 0x34]
add ebx, eax
mov eax, esi
not eax
rol ebx, 5
or eax, edi
add ebx, ecx
xor eax, ebx
rol edi, 0xa
add eax, 0xa953fd4e
add eax, dword [ebp - 0x68]
add ecx, eax
mov eax, edi
not eax
rol ecx, 0xc
or eax, ebx
add ecx, edx
xor eax, ecx
rol ebx, 0xa
add eax, 0xa953fd4e
add eax, dword [ebp - 0x60]
add edx, eax
mov eax, ebx
not eax
rol edx, 0xd
or eax, ecx
add edx, esi
xor eax, edx
mov dword [ebp - 0xc], edx
add eax, dword [ebp - 0x4c]
lea edx, [esi - 0x56ac02b2]
add edx, eax
rol ecx, 0xa
rol edx, 0xe
lea esi, [edi - 0x56ac02b2]
add edx, edi
mov eax, ecx
mov edi, dword [ebp - 0xc]
not eax
or eax, dword [ebp - 0xc]
xor eax, edx
rol edi, 0xa
add eax, dword [ebp - 0x40]
add esi, eax
mov dword [ebp - 0x14], edx
mov eax, edi
rol esi, 0xb
not eax
mov dword [ebp - 0xc], edi
or edx, eax
add esi, ebx
mov eax, dword [ebp - 0x14]
xor edx, esi
rol eax, 0xa
add edx, 0xa953fd4e
add edx, dword [ebp - 0x54]
mov dword [ebp - 0x14], eax
add edx, ebx
not eax
rol edx, 8
or eax, esi
add edx, ecx
xor eax, edx
mov dword [ebp - 0x1c], edx
add eax, dword [ebp - 0x30]
add ecx, 0xa953fd4e
add eax, ecx
rol eax, 5
add eax, edi
mov edi, dword [ebp - 4]
rol esi, 0xa
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], esi
mov esi, dword [edi + 0x60]
mov eax, esi
not eax
or eax, dword [edi + 0x5c]
xor eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x58]
mov ecx, dword [edi + 0x54]
mov edx, dword [edi + 0x64]
add ecx, 0x50a28be6
add ecx, eax
mov edi, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x24]
mov eax, edi
not eax
rol ecx, 8
or eax, dword [ebp - 0x18]
add ecx, edx
xor eax, ecx
add edx, 0x50a28be6
add eax, dword [ebp - 0x34]
add edx, eax
mov eax, ebx
not eax
rol edx, 9
or eax, ecx
add edx, esi
xor eax, edx
rol ecx, 0xa
add eax, dword [ebp - 0x50]
add esi, 0x50a28be6
add esi, eax
mov eax, ecx
not eax
rol esi, 9
or eax, edx
add esi, edi
xor eax, esi
rol edx, 0xa
add eax, dword [ebp - 0x6c]
add edi, 0x50a28be6
add edi, eax
mov eax, edx
not eax
rol edi, 0xb
or eax, esi
add edi, ebx
xor eax, edi
rol esi, 0xa
add eax, dword [ebp - 0x48]
add ebx, 0x50a28be6
add ebx, eax
mov eax, esi
not eax
rol ebx, 0xd
or eax, edi
add ebx, ecx
xor eax, ebx
rol edi, 0xa
add eax, 0x50a28be6
add eax, dword [ebp - 0x64]
add ecx, eax
mov eax, edi
not eax
rol ecx, 0xf
or eax, ebx
add ecx, edx
xor eax, ecx
rol ebx, 0xa
add eax, 0x50a28be6
add eax, dword [ebp - 0x40]
add edx, eax
mov eax, ebx
not eax
rol edx, 0xf
add edx, esi
or eax, ecx
xor eax, edx
add eax, 0x50a28be6
add eax, dword [ebp - 0x5c]
add esi, eax
rol esi, 5
add esi, edi
rol ecx, 0xa
mov eax, ecx
not eax
or eax, edx
rol edx, 0xa
xor eax, esi
add eax, 0x50a28be6
add eax, dword [ebp - 0x38]
add edi, eax
mov eax, edx
not eax
rol edi, 7
or eax, esi
add edi, ebx
xor eax, edi
rol esi, 0xa
add eax, 0x50a28be6
add eax, dword [ebp - 0x54]
add ebx, eax
mov eax, esi
not eax
rol ebx, 7
or eax, edi
add ebx, ecx
xor eax, ebx
rol edi, 0xa
add eax, 0x50a28be6
add eax, dword [ebp - 0x30]
add ecx, eax
mov eax, edi
not eax
rol ecx, 8
or eax, ebx
add ecx, edx
xor eax, ecx
rol ebx, 0xa
add eax, 0x50a28be6
add eax, dword [ebp - 0x4c]
add edx, eax
mov eax, ebx
not eax
rol edx, 0xb
or eax, ecx
add edx, esi
xor eax, edx
rol ecx, 0xa
add eax, 0x50a28be6
add eax, dword [ebp - 0x68]
add esi, eax
mov eax, ecx
not eax
rol esi, 0xe
or eax, edx
add esi, edi
xor eax, esi
rol edx, 0xa
add eax, 0x50a28be6
add eax, dword [ebp - 0x44]
add edi, eax
mov eax, edx
not eax
rol edi, 0xe
or eax, esi
add edi, ebx
xor eax, edi
rol esi, 0xa
add eax, 0x50a28be6
add eax, dword [ebp - 0x60]
add ebx, eax
mov eax, esi
not eax
rol ebx, 0xc
or eax, edi
add ebx, ecx
xor eax, ebx
add ecx, 0x50a28be6
add eax, dword [ebp - 0x3c]
add eax, ecx
rol eax, 6
add eax, edx
rol edi, 0xa
mov dword [ebp - 0x10], eax
mov ecx, edi
not ecx
mov eax, edi
and eax, dword [ebp - 0x10]
and ecx, ebx
or ecx, eax
rol ebx, 0xa
add ecx, dword [ebp - 0x54]
lea eax, [edx + 0x5c4dd124]
add eax, ecx
mov edx, dword [ebp - 0x10]
rol eax, 9
mov ecx, ebx
add eax, esi
not ecx
mov dword [ebp - 0x24], eax
and ecx, edx
and eax, ebx
rol edx, 0xa
or ecx, eax
lea eax, [esi + 0x5c4dd124]
add ecx, dword [ebp - 0x40]
add eax, ecx
mov esi, dword [ebp - 0x24]
rol eax, 0xd
mov ecx, edx
add eax, edi
not ecx
mov dword [ebp - 0x20], eax
and ecx, esi
and eax, edx
rol esi, 0xa
or ecx, eax
lea eax, [edi + 0x5c4dd124]
add ecx, dword [ebp - 0x60]
add eax, ecx
mov edi, dword [ebp - 0x20]
rol eax, 0xf
mov ecx, esi
add eax, ebx
not ecx
mov dword [ebp - 0x10], eax
and ecx, edi
mov eax, esi
rol edi, 0xa
and eax, dword [ebp - 0x10]
or eax, ecx
mov ecx, edi
add eax, 0x5c4dd124
not ecx
add eax, dword [ebp - 0x50]
add eax, ebx
mov ebx, dword [ebp - 0x10]
rol eax, 7
and ecx, ebx
add eax, edx
rol ebx, 0xa
mov dword [ebp - 8], eax
mov eax, edi
and eax, dword [ebp - 8]
or ecx, eax
lea eax, [edx + 0x5c4dd124]
add ecx, dword [ebp - 0x6c]
mov edx, dword [ebp - 8]
add eax, ecx
rol eax, 0xc
mov ecx, ebx
add eax, esi
not ecx
mov dword [ebp - 0x10], eax
and ecx, edx
mov eax, ebx
and eax, dword [ebp - 0x10]
or ecx, eax
lea eax, [esi + 0x5c4dd124]
add ecx, dword [ebp - 0x38]
add eax, ecx
rol eax, 8
add eax, edi
rol edx, 0xa
mov dword [ebp - 0x24], eax
mov ecx, edx
mov esi, dword [ebp - 0x10]
not ecx
and ecx, esi
and eax, edx
or ecx, eax
rol esi, 0xa
add ecx, dword [ebp - 0x58]
lea eax, [edi + 0x5c4dd124]
add eax, ecx
mov edi, dword [ebp - 0x24]
rol eax, 9
mov ecx, esi
not ecx
add eax, ebx
and ecx, edi
mov dword [ebp - 0x20], eax
and eax, esi
rol edi, 0xa
or ecx, eax
lea eax, [ebx + 0x5c4dd124]
add ecx, dword [ebp - 0x44]
add eax, ecx
mov ebx, dword [ebp - 0x20]
rol eax, 0xb
mov ecx, edi
add eax, edx
not ecx
and ecx, ebx
mov dword [ebp - 0x10], eax
mov eax, edi
rol ebx, 0xa
and eax, dword [ebp - 0x10]
add edx, 0x5c4dd124
or ecx, eax
mov eax, ebx
add ecx, dword [ebp - 0x34]
add edx, ecx
mov ecx, ebx
not ecx
rol edx, 7
and ecx, dword [ebp - 0x10]
add edx, esi
and eax, edx
or ecx, eax
lea eax, [esi + 0x5c4dd124]
add ecx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x10]
add eax, ecx
rol eax, 7
add eax, edi
rol esi, 0xa
mov dword [ebp - 8], eax
mov ecx, esi
not ecx
mov eax, esi
and eax, dword [ebp - 8]
and ecx, edx
or ecx, eax
rol edx, 0xa
add ecx, dword [ebp - 0x4c]
add edi, 0x5c4dd124
add edi, ecx
mov dword [ebp - 0x24], edx
mov ecx, edx
rol edi, 0xc
add edi, ebx
not ecx
and ecx, dword [ebp - 8]
mov eax, edi
and eax, edx
mov dword [ebp - 0x10], edi
or ecx, eax
lea edx, [ebx + 0x5c4dd124]
add ecx, dword [ebp - 0x3c]
mov ebx, dword [ebp - 8]
add edx, ecx
rol edx, 7
add edx, esi
rol ebx, 0xa
mov ecx, ebx
not ecx
and ecx, edi
mov eax, edx
and eax, ebx
mov edi, dword [ebp - 0x24]
or ecx, eax
add esi, 0x5c4dd124
add ecx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x10]
add esi, ecx
rol eax, 0xa
mov ecx, eax
mov dword [ebp - 0x10], eax
not ecx
rol esi, 6
and ecx, edx
add esi, edi
and eax, esi
rol edx, 0xa
or ecx, eax
add edi, 0x5c4dd124
add ecx, dword [ebp - 0x48]
mov eax, edx
add edi, ecx
mov ecx, edx
not ecx
rol edi, 0xf
and ecx, esi
add edi, ebx
and eax, edi
rol esi, 0xa
or ecx, eax
add ebx, 0x5c4dd124
add ecx, dword [ebp - 0x68]
mov eax, esi
add ebx, ecx
mov ecx, esi
not ecx
rol ebx, 0xd
add ebx, dword [ebp - 0x10]
and ecx, edi
and eax, ebx
rol edi, 0xa
or ecx, eax
mov eax, dword [ebp - 0x10]
add ecx, dword [ebp - 0x64]
add eax, 0x5c4dd124
add ecx, eax
mov eax, ebx
not eax
rol ecx, 0xb
add ecx, edx
rol ebx, 0xa
or eax, ecx
xor eax, edi
add eax, 0x6d703ef3
add eax, dword [ebp - 0x30]
add edx, eax
mov eax, ecx
not eax
rol edx, 9
add edx, esi
rol ecx, 0xa
or eax, edx
xor eax, ebx
add eax, 0x6d703ef3
add eax, dword [ebp - 0x58]
add esi, eax
mov eax, edx
not eax
rol esi, 7
add esi, edi
or eax, esi
xor eax, ecx
add eax, 0x6d703ef3
add eax, dword [ebp - 0x68]
add edi, eax
mov eax, esi
rol edi, 0xf
not eax
add edi, ebx
rol edx, 0xa
or eax, edi
rol esi, 0xa
xor eax, edx
add eax, 0x6d703ef3
add eax, dword [ebp - 0x60]
add ebx, eax
mov eax, edi
not eax
rol ebx, 0xb
add ebx, ecx
rol edi, 0xa
or eax, ebx
xor eax, esi
add eax, 0x6d703ef3
add eax, dword [ebp - 0x50]
add ecx, eax
mov eax, ebx
not eax
rol ecx, 8
add ecx, edx
rol ebx, 0xa
or eax, ecx
xor eax, edi
add eax, 0x6d703ef3
add eax, dword [ebp - 0x34]
add edx, eax
mov eax, ecx
not eax
rol edx, 6
add edx, esi
rol ecx, 0xa
or eax, edx
xor eax, ebx
add eax, 0x6d703ef3
add eax, dword [ebp - 0x54]
add esi, eax
mov eax, edx
not eax
rol esi, 6
add esi, edi
rol edx, 0xa
or eax, esi
xor eax, ecx
add eax, 0x6d703ef3
add eax, dword [ebp - 0x48]
add edi, eax
mov eax, esi
not eax
rol edi, 0xe
add edi, ebx
rol esi, 0xa
or eax, edi
xor eax, edx
add eax, 0x6d703ef3
add eax, dword [ebp - 0x40]
add ebx, eax
mov eax, edi
not eax
rol ebx, 0xc
add ebx, ecx
rol edi, 0xa
or eax, ebx
xor eax, esi
add eax, 0x6d703ef3
add eax, dword [ebp - 0x4c]
add ecx, eax
mov eax, ebx
not eax
rol ecx, 0xd
add ecx, edx
rol ebx, 0xa
or eax, ecx
xor eax, edi
add eax, 0x6d703ef3
add eax, dword [ebp - 0x3c]
add edx, eax
mov eax, ecx
rol edx, 5
not eax
add edx, esi
or eax, edx
xor eax, ebx
rol ecx, 0xa
add eax, 0x6d703ef3
add eax, dword [ebp - 0x64]
add esi, eax
mov eax, edx
not eax
rol esi, 0xe
add esi, edi
rol edx, 0xa
or eax, esi
xor eax, ecx
add eax, 0x6d703ef3
add eax, dword [ebp - 0x44]
add edi, eax
mov eax, esi
not eax
rol edi, 0xd
add edi, ebx
rol esi, 0xa
or eax, edi
xor eax, edx
add eax, 0x6d703ef3
add eax, dword [ebp - 0x6c]
add ebx, eax
mov eax, edi
not eax
rol ebx, 0xd
add ebx, ecx
rol edi, 0xa
or eax, ebx
xor eax, esi
add eax, 0x6d703ef3
add eax, dword [ebp - 0x5c]
add ecx, eax
mov eax, ebx
not eax
rol ecx, 7
add ecx, edx
rol ebx, 0xa
or eax, ecx
mov dword [ebp - 0x24], ecx
xor eax, edi
add edx, 0x6d703ef3
add eax, dword [ebp - 0x38]
add eax, edx
mov edx, dword [ebp - 0x24]
rol eax, 5
add eax, esi
mov dword [ebp - 0x10], eax
mov ecx, eax
not ecx
mov eax, edx
and eax, dword [ebp - 0x10]
and ecx, ebx
or ecx, eax
rol edx, 0xa
add ecx, dword [ebp - 0x4c]
lea eax, [esi + 0x7a6d76e9]
mov esi, dword [ebp - 0x10]
add eax, ecx
rol eax, 0xf
add eax, edi
mov ecx, eax
mov dword [ebp - 8], eax
not ecx
mov eax, esi
and eax, dword [ebp - 8]
and ecx, edx
or ecx, eax
rol esi, 0xa
add ecx, dword [ebp - 0x54]
lea eax, [edi + 0x7a6d76e9]
mov edi, dword [ebp - 8]
add eax, ecx
rol eax, 5
add eax, ebx
mov ecx, eax
mov dword [ebp - 0x10], eax
not ecx
and ecx, esi
mov eax, edi
rol edi, 0xa
and eax, dword [ebp - 0x10]
or ecx, eax
lea eax, [ebx + 0x7a6d76e9]
add ecx, dword [ebp - 0x5c]
add eax, ecx
mov ebx, dword [ebp - 0x10]
rol eax, 8
add eax, edx
mov dword [ebp - 8], eax
mov ecx, eax
not ecx
mov eax, ebx
and eax, dword [ebp - 8]
and ecx, edi
or ecx, eax
rol ebx, 0xa
add ecx, dword [ebp - 0x68]
lea eax, [edx + 0x7a6d76e9]
add eax, ecx
mov edx, dword [ebp - 8]
rol eax, 0xb
add eax, esi
mov ecx, eax
mov dword [ebp - 0x24], eax
and eax, edx
not ecx
and ecx, ebx
rol edx, 0xa
or ecx, eax
lea eax, [esi + 0x7a6d76e9]
add ecx, dword [ebp - 0x60]
add eax, ecx
mov esi, dword [ebp - 0x24]
rol eax, 0xe
add eax, edi
mov dword [ebp - 0x10], eax
mov ecx, eax
not ecx
mov eax, esi
and eax, dword [ebp - 0x10]
and ecx, edx
or ecx, eax
rol esi, 0xa
add ecx, dword [ebp - 0x40]
lea eax, [edi + 0x7a6d76e9]
mov edi, dword [ebp - 0x10]
add eax, ecx
rol eax, 0xe
add eax, ebx
mov dword [ebp - 8], eax
mov ecx, eax
not ecx
mov eax, edi
and eax, dword [ebp - 8]
and ecx, esi
or ecx, eax
rol edi, 0xa
add ecx, dword [ebp - 0x30]
lea eax, [ebx + 0x7a6d76e9]
mov ebx, dword [ebp - 8]
add eax, ecx
rol eax, 6
add eax, edx
mov ecx, eax
mov dword [ebp - 0x10], eax
not ecx
mov eax, ebx
and eax, dword [ebp - 0x10]
and ecx, edi
or ecx, eax
lea eax, [edx + 0x7a6d76e9]
add ecx, dword [ebp - 0x6c]
add eax, ecx
rol eax, 0xe
add eax, esi
rol ebx, 0xa
mov ecx, eax
mov dword [ebp - 8], eax
not ecx
mov edx, dword [ebp - 0x10]
and ecx, ebx
mov eax, edx
add esi, 0x7a6d76e9
and eax, dword [ebp - 8]
or ecx, eax
rol edx, 0xa
add ecx, dword [ebp - 0x58]
add esi, ecx
rol esi, 6
add esi, edi
mov ecx, esi
mov eax, esi
and eax, dword [ebp - 8]
not ecx
and ecx, edx
or ecx, eax
lea eax, [edi + 0x7a6d76e9]
add ecx, dword [ebp - 0x3c]
add eax, ecx
mov edi, dword [ebp - 8]
rol eax, 9
add eax, ebx
rol edi, 0xa
mov dword [ebp - 0x10], eax
mov ecx, eax
not ecx
mov eax, esi
and eax, dword [ebp - 0x10]
and ecx, edi
or ecx, eax
rol esi, 0xa
add ecx, dword [ebp - 0x64]
lea eax, [ebx + 0x7a6d76e9]
mov ebx, dword [ebp - 0x10]
add eax, ecx
rol eax, 0xc
add eax, edx
mov dword [ebp - 0x24], esi
mov dword [ebp - 8], eax
mov ecx, eax
not ecx
mov eax, ebx
and eax, dword [ebp - 8]
and ecx, esi
or ecx, eax
rol ebx, 0xa
add ecx, dword [ebp - 0x38]
lea esi, [edx + 0x7a6d76e9]
add esi, ecx
mov edx, dword [ebp - 0x24]
rol esi, 9
add esi, edi
mov dword [ebp - 0x10], ebx
mov ecx, esi
add edi, 0x7a6d76e9
not ecx
and ecx, ebx
mov ebx, dword [ebp - 8]
mov eax, ebx
rol ebx, 0xa
and eax, esi
mov dword [ebp - 8], ebx
or ecx, eax
mov eax, esi
add ecx, dword [ebp - 0x48]
add edi, ecx
rol edi, 0xc
add edi, edx
mov ecx, edi
and eax, edi
not ecx
and ecx, ebx
lea ebx, [edx + 0x7a6d76e9]
mov edx, dword [ebp - 0x10]
or ecx, eax
add ecx, dword [ebp - 0x50]
add ebx, ecx
rol ebx, 5
add ebx, edx
rol esi, 0xa
mov ecx, ebx
mov eax, ebx
and eax, edi
not ecx
and ecx, esi
rol edi, 0xa
or ecx, eax
add edx, 0x7a6d76e9
add ecx, dword [ebp - 0x44]
mov eax, ebx
add edx, ecx
rol ebx, 0xa
rol edx, 0xf
add edx, dword [ebp - 8]
and eax, edx
mov ecx, edx
not ecx
and ecx, edi
or ecx, eax
mov eax, dword [ebp - 8]
add ecx, dword [ebp - 0x34]
add eax, 0x7a6d76e9
add eax, ecx
mov ecx, ebx
xor ecx, edx
rol eax, 8
add eax, esi
rol edx, 0xa
xor ecx, eax
add ecx, dword [ebp - 0x3c]
add ecx, esi
mov esi, edx
xor esi, eax
rol ecx, 8
add ecx, edi
rol eax, 0xa
xor esi, ecx
add esi, dword [ebp - 0x30]
add esi, edi
mov edi, eax
xor edi, ecx
rol esi, 5
add esi, ebx
rol ecx, 0xa
xor edi, esi
add edi, dword [ebp - 0x44]
add edi, ebx
rol edi, 0xc
add edi, edx
mov ebx, edi
xor ebx, ecx
xor ebx, esi
rol esi, 0xa
add ebx, dword [ebp - 0x5c]
add ebx, edx
mov edx, edi
rol ebx, 9
add ebx, eax
rol edi, 0xa
xor edx, ebx
xor edx, esi
add edx, dword [ebp - 0x68]
add edx, eax
mov eax, edi
xor eax, ebx
rol edx, 0xc
add edx, ecx
rol ebx, 0xa
xor eax, edx
add eax, dword [ebp - 0x58]
add eax, ecx
mov ecx, ebx
xor ecx, edx
rol eax, 5
add eax, esi
xor ecx, eax
add ecx, dword [ebp - 0x4c]
add ecx, esi
rol ecx, 0xe
add ecx, edi
rol edx, 0xa
mov esi, edx
xor esi, eax
rol eax, 0xa
xor esi, ecx
add esi, dword [ebp - 0x50]
add esi, edi
rol esi, 6
add esi, ebx
mov edi, esi
xor edi, eax
xor edi, ecx
rol ecx, 0xa
add edi, dword [ebp - 0x54]
add edi, ebx
mov ebx, esi
rol edi, 8
add edi, edx
rol esi, 0xa
xor ebx, edi
mov dword [ebp - 0x20], esi
xor ebx, ecx
add ebx, dword [ebp - 0x64]
add ebx, edx
mov edx, esi
xor edx, edi
rol ebx, 0xd
add ebx, eax
rol edi, 0xa
xor edx, ebx
mov dword [ebp - 0x24], ebx
add edx, dword [ebp - 0x38]
mov ebx, edi
add edx, eax
mov dword [ebp - 0x10], edi
mov eax, dword [ebp - 0x24]
xor ebx, eax
rol edx, 6
add edx, ecx
rol eax, 0xa
xor ebx, edx
add ebx, dword [ebp - 0x34]
add ebx, ecx
rol ebx, 5
add ebx, esi
mov esi, eax
xor esi, edx
rol edx, 0xa
xor esi, ebx
mov dword [ebp - 0x24], edx
add esi, dword [ebp - 0x6c]
add esi, dword [ebp - 0x20]
rol esi, 0xf
add esi, edi
mov edi, esi
xor edi, edx
mov edx, esi
xor edi, ebx
rol esi, 0xa
add edi, dword [ebp - 0x60]
mov ecx, esi
add edi, dword [ebp - 0x10]
rol edi, 0xd
add edi, eax
rol ebx, 0xa
xor edx, edi
mov dword [ebp - 0x20], edi
xor edx, ebx
xor ecx, edi
add edx, dword [ebp - 0x48]
mov edi, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 0x1c]
rol edx, 0xb
add edx, dword [ebp - 0x24]
xor ecx, edx
rol eax, 0xa
add ecx, dword [ebp - 0x40]
add ecx, dword [ebp - 0x24]
rol ecx, 0xb
add ecx, ebx
add eax, dword [edi + 0x5c]
add eax, esi
mov esi, edi
mov dword [esi + 0x58], eax
mov eax, dword [edi + 0x60]
mov esi, dword [ebp - 0x28]
add eax, esi
add eax, ebx
not esi
or esi, dword [ebp - 0x1c]
mov ebx, edi
xor esi, dword [ebp - 0x2c]
add esi, dword [ebp - 0x38]
mov edi, dword [ebp - 0x20]
mov dword [ebx + 0x5c], eax
mov eax, dword [ebx + 0x64]
add eax, ecx
rol edi, 0xa
add eax, dword [ebp - 0x14]
mov ecx, ebx
add edi, dword [ebp - 0x18]
mov dword [ecx + 0x60], eax
mov eax, dword [ebp - 0xc]
add eax, 0xa953fd4e
add eax, esi
mov esi, ecx
rol eax, 6
add eax, dword [esi + 0x54]
add eax, edx
add eax, dword [ebp - 0x14]
add edi, dword [ebp - 0x2c]
mov dword [esi + 0x54], edi
pop edi
mov dword [esi + 0x64], eax
pop esi
pop ebx
mov esp, ebp
pop ebp
ret