Function at 0x40c56e
Capabilities:
Hash data using murmur3

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