Function at 0x5ccaca
Capabilities:
Encode data using xor
Encrypt data using chaskey
Hash data using murmur3

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 0x10]
sub esp, 0x70
test eax, eax
je 0x5cde71
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov ecx, dword [edi + 4]
mov ebx, dword [edi + 8]
mov dword [ebp - 0x44], ecx
mov ecx, dword [edi + 0xc]
mov dword [ebp - 0x48], ecx
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x4c], ecx
mov esi, dword [ebp + 0xc]
dec eax
mov dword [ebp + 0x10], eax
xor ebx, dword [ebp - 0x48]
xor ebx, dword [ebp - 0x44]
movzx eax, byte [esi + 1]
movzx edx, byte [esi]
shl eax, 8
or edx, eax
movzx ecx, byte [esi + 4]
movzx eax, byte [esi + 2]
shl eax, 0x10
or edx, eax
add ebx, dword [edi]
movzx eax, byte [esi + 3]
shl eax, 0x18
or edx, eax
movzx eax, byte [esi + 5]
shl eax, 8
add ebx, edx
or ecx, eax
mov dword [ebp - 0x40], edx
movzx eax, byte [esi + 6]
shl eax, 0x10
or ecx, eax
mov edx, dword [ebp - 0x50]
movzx eax, byte [esi + 7]
add esi, 8
shl eax, 0x18
or ecx, eax
mov dword [ebp + 0xc], esi
mov edi, dword [ebp + 0xc]
movzx esi, byte [esi]
rol edx, 0xa
rol ebx, 0xb
movzx eax, byte [edi + 1]
add ebx, dword [ebp - 0x4c]
shl eax, 8
or esi, eax
mov dword [ebp - 0x3c], ecx
movzx eax, byte [edi + 2]
shl eax, 0x10
or esi, eax
mov dword [ebp - 0x58], edx
movzx eax, byte [edi + 3]
add edi, 4
shl eax, 0x18
or esi, eax
mov dword [ebp + 0xc], edi
mov edi, dword [ebp - 0x44]
mov eax, dword [ebp + 0xc]
xor edi, edx
xor edi, ebx
mov dword [ebp - 0x20], esi
add edi, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x44]
add edi, ecx
movzx ecx, byte [eax]
rol edi, 0xe
add edi, dword [ebp - 0x48]
rol esi, 0xa
inc eax
mov dword [ebp + 0xc], eax
mov dword [ebp - 0x5c], esi
movzx eax, byte [eax]
shl eax, 8
or ecx, eax
mov eax, dword [ebp + 0xc]
inc eax
mov dword [ebp + 0xc], eax
movzx eax, byte [eax]
shl eax, 0x10
or ecx, eax
mov eax, dword [ebp + 0xc]
inc eax
mov dword [ebp + 0xc], eax
movzx eax, byte [eax]
shl eax, 0x18
or ecx, eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x2c], ecx
mov ecx, edi
xor ecx, esi
xor ecx, ebx
rol ebx, 0xa
add ecx, dword [ebp - 0x48]
add ecx, dword [ebp - 0x20]
rol ecx, 0xf
add ecx, edx
mov dword [ebp - 0x54], ebx
movzx edx, byte [eax + 1]
add eax, 2
mov dword [ebp + 0xc], eax
movzx eax, byte [eax]
shl eax, 8
or edx, eax
mov eax, dword [ebp + 0xc]
inc eax
mov dword [ebp + 0xc], eax
movzx eax, byte [eax]
shl eax, 0x10
or edx, eax
mov eax, dword [ebp + 0xc]
inc eax
mov dword [ebp + 0xc], eax
movzx eax, byte [eax]
shl eax, 0x18
or edx, eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], edx
mov edx, edi
xor edx, ecx
rol edi, 0xa
xor edx, ebx
mov dword [ebp - 0x38], edi
add edx, dword [ebp - 0x2c]
add edx, dword [ebp - 0x58]
rol edx, 0xc
add edx, esi
movzx esi, byte [eax + 1]
add eax, 2
mov dword [ebp + 0xc], eax
movzx eax, byte [eax]
shl eax, 8
or esi, eax
mov eax, dword [ebp + 0xc]
inc eax
mov dword [ebp + 0xc], eax
movzx eax, byte [eax]
shl eax, 0x10
or esi, eax
mov eax, dword [ebp + 0xc]
inc eax
mov dword [ebp + 0xc], eax
movzx eax, byte [eax]
shl eax, 0x18
or esi, eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], esi
mov esi, edi
xor esi, ecx
rol ecx, 0xa
xor esi, edx
add esi, dword [ebp - 0x10]
add esi, dword [ebp - 0x5c]
rol esi, 5
add esi, ebx
movzx ebx, byte [eax + 1]
add eax, 2
mov dword [ebp + 0xc], eax
movzx eax, byte [eax]
shl eax, 8
or ebx, eax
mov eax, dword [ebp + 0xc]
inc eax
mov dword [ebp + 0xc], eax
movzx eax, byte [eax]
shl eax, 0x10
or ebx, eax
mov eax, dword [ebp + 0xc]
inc eax
mov dword [ebp + 0xc], eax
movzx eax, byte [eax]
shl eax, 0x18
or ebx, eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x1c], ebx
mov ebx, ecx
xor ebx, edx
rol edx, 0xa
xor ebx, esi
add ebx, dword [ebp - 0x14]
add ebx, dword [ebp - 0x54]
rol ebx, 8
add ebx, edi
movzx edi, byte [eax + 1]
add eax, 2
mov dword [ebp + 0xc], eax
movzx eax, byte [eax]
shl eax, 8
or edi, eax
mov eax, dword [ebp + 0xc]
inc eax
mov dword [ebp + 0xc], eax
movzx eax, byte [eax]
shl eax, 0x10
or edi, eax
mov eax, dword [ebp + 0xc]
inc eax
mov dword [ebp + 0xc], eax
movzx eax, byte [eax]
shl eax, 0x18
or edi, eax
mov eax, dword [ebp + 0xc]
inc eax
mov dword [ebp - 0x18], edi
mov dword [ebp + 0xc], eax
mov edi, edx
xor edi, esi
rol esi, 0xa
xor edi, ebx
movzx eax, byte [eax]
add edi, dword [ebp - 0x1c]
add edi, dword [ebp - 0x38]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
rol edi, 7
add edi, ecx
inc eax
mov dword [ebp + 0xc], eax
movzx eax, byte [eax]
shl eax, 8
or dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
inc eax
mov dword [ebp + 0xc], eax
movzx eax, byte [eax]
shl eax, 0x10
or dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
inc eax
mov dword [ebp + 0xc], eax
movzx eax, byte [eax]
shl eax, 0x18
or dword [ebp - 4], eax
mov eax, edi
inc dword [ebp + 0xc]
xor eax, esi
xor eax, ebx
rol ebx, 0xa
add eax, dword [ebp - 0x18]
add eax, ecx
mov dword [ebp - 0x28], ebx
rol eax, 9
add eax, edx
mov dword [ebp - 0x54], eax
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
inc eax
mov dword [ebp + 0xc], eax
movzx eax, byte [eax]
shl eax, 8
or ecx, eax
mov eax, dword [ebp + 0xc]
inc eax
mov dword [ebp + 0xc], eax
movzx eax, byte [eax]
shl eax, 0x10
or ecx, eax
mov eax, dword [ebp + 0xc]
inc eax
mov dword [ebp + 0xc], eax
movzx eax, byte [eax]
shl eax, 0x18
or ecx, eax
inc dword [ebp + 0xc]
mov eax, edi
mov dword [ebp - 0x30], ecx
mov ecx, dword [ebp - 0x54]
xor eax, ecx
xor eax, ebx
rol edi, 0xa
add eax, dword [ebp - 4]
add eax, edx
mov dword [ebp - 0x24], edi
rol eax, 0xb
xor edi, ecx
add eax, esi
rol ecx, 0xa
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 0xc]
xor edi, dword [ebp - 0xc]
add edi, dword [ebp - 0x30]
add edi, esi
mov dword [ebp - 0x54], ecx
movzx edx, byte [eax]
inc eax
mov dword [ebp + 0xc], eax
rol edi, 0xd
add edi, ebx
movzx eax, byte [eax]
shl eax, 8
or edx, eax
mov eax, dword [ebp + 0xc]
inc eax
mov dword [ebp + 0xc], eax
movzx eax, byte [eax]
shl eax, 0x10
or edx, eax
mov eax, dword [ebp + 0xc]
inc eax
mov dword [ebp + 0xc], eax
movzx eax, byte [eax]
shl eax, 0x18
or edx, eax
inc dword [ebp + 0xc]
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x38], edx
movzx eax, byte [esi + 1]
movzx ebx, byte [esi]
shl eax, 8
or ebx, eax
movzx eax, byte [esi + 2]
shl eax, 0x10
or ebx, eax
movzx eax, byte [esi + 3]
shl eax, 0x18
add esi, 4
or ebx, eax
mov dword [ebp + 0xc], esi
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x34], ebx
mov ebx, ecx
mov ecx, dword [ebp - 0xc]
xor ebx, ecx
movzx esi, byte [esi]
xor ebx, edi
add ebx, edx
rol ecx, 0xa
add ebx, dword [ebp - 0x28]
rol ebx, 0xe
add ebx, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0xc], ecx
mov dword [ebp + 0xc], eax
xor ecx, edi
movzx eax, byte [eax]
xor ecx, ebx
shl eax, 8
or esi, eax
add ecx, dword [ebp - 0x34]
mov eax, dword [ebp + 0xc]
inc eax
add ecx, dword [ebp - 0x24]
mov dword [ebp + 0xc], eax
rol ecx, 0xf
rol edi, 0xa
movzx eax, byte [eax]
shl eax, 0x10
or esi, eax
mov eax, dword [ebp + 0xc]
inc eax
mov dword [ebp + 0xc], eax
movzx eax, byte [eax]
shl eax, 0x18
or esi, eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 8], esi
mov esi, dword [ebp - 0x54]
add ecx, esi
mov dword [ebp - 0x54], edi
movzx edx, byte [eax + 1]
add eax, 2
mov dword [ebp + 0xc], eax
movzx eax, byte [eax]
shl eax, 8
or edx, eax
mov eax, dword [ebp + 0xc]
inc eax
mov dword [ebp + 0xc], eax
movzx eax, byte [eax]
shl eax, 0x10
or edx, eax
mov eax, dword [ebp + 0xc]
inc eax
mov dword [ebp + 0xc], eax
movzx eax, byte [eax]
shl eax, 0x18
or edx, eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x24], edx
mov edx, ecx
xor edx, edi
xor edx, ebx
rol ebx, 0xa
add edx, dword [ebp - 8]
add edx, esi
mov dword [ebp - 0x60], ebx
movzx esi, byte [eax + 1]
add eax, 2
mov dword [ebp + 0xc], eax
rol edx, 6
add edx, dword [ebp - 0xc]
movzx eax, byte [eax]
shl eax, 8
or esi, eax
mov eax, dword [ebp + 0xc]
inc eax
mov dword [ebp + 0xc], eax
movzx eax, byte [eax]
shl eax, 0x10
or esi, eax
mov eax, dword [ebp + 0xc]
inc eax
mov dword [ebp + 0xc], eax
movzx eax, byte [eax]
shl eax, 0x18
or esi, eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x28], esi
mov esi, ecx
xor esi, edx
xor esi, ebx
add esi, dword [ebp - 0x24]
add esi, dword [ebp - 0xc]
rol esi, 7
add esi, edi
rol ecx, 0xa
movzx edi, byte [eax + 1]
add eax, 2
mov dword [ebp + 0xc], eax
movzx eax, byte [eax]
shl eax, 8
or edi, eax
mov eax, dword [ebp + 0xc]
inc eax
mov dword [ebp + 0xc], eax
movzx eax, byte [eax]
shl eax, 0x10
or edi, eax
mov eax, dword [ebp + 0xc]
inc eax
mov dword [ebp + 0xc], eax
movzx eax, byte [eax]
shl eax, 0x18
or edi, eax
inc dword [ebp + 0xc]
mov dword [ebp - 0xc], edi
mov edi, ecx
xor edi, edx
rol edx, 0xa
xor edi, esi
add edi, dword [ebp - 0x28]
add edi, dword [ebp - 0x54]
rol edi, 9
add edi, ebx
mov ebx, edx
xor ebx, esi
rol esi, 0xa
xor ebx, edi
mov eax, esi
add ebx, dword [ebp - 0xc]
xor eax, edi
add ebx, dword [ebp - 0x60]
rol ebx, 8
add ebx, ecx
rol edi, 0xa
and eax, ebx
xor eax, esi
add eax, 0x5a827999
add eax, dword [ebp - 0x18]
add ecx, eax
mov eax, edi
xor eax, ebx
rol ecx, 7
add ecx, edx
rol ebx, 0xa
and eax, ecx
xor eax, edi
add eax, 0x5a827999
add eax, dword [ebp - 0x10]
add edx, eax
mov eax, ecx
xor eax, ebx
rol edx, 6
add edx, esi
rol ecx, 0xa
and eax, edx
xor eax, ebx
add eax, 0x5a827999
add eax, dword [ebp - 0x24]
add esi, eax
mov eax, ecx
xor eax, edx
rol esi, 8
add esi, edi
rol edx, 0xa
and eax, esi
xor eax, ecx
add eax, 0x5a827999
add eax, dword [ebp - 0x3c]
add edi, eax
mov eax, edx
rol edi, 0xd
add edi, ebx
xor eax, esi
and eax, edi
rol esi, 0xa
xor eax, edx
add eax, 0x5a827999
add eax, dword [ebp - 0x38]
add ebx, eax
mov eax, esi
xor eax, edi
rol ebx, 0xb
add ebx, ecx
rol edi, 0xa
and eax, ebx
xor eax, esi
add eax, 0x5a827999
add eax, dword [ebp - 0x1c]
add ecx, eax
mov eax, edi
xor eax, ebx
rol ecx, 9
add ecx, edx
rol ebx, 0xa
and eax, ecx
xor eax, edi
add eax, 0x5a827999
add eax, dword [ebp - 0xc]
add edx, eax
mov eax, ecx
xor eax, ebx
rol edx, 7
add edx, esi
rol ecx, 0xa
and eax, edx
xor eax, ebx
add eax, 0x5a827999
add eax, dword [ebp - 0x2c]
add esi, eax
mov eax, ecx
xor eax, edx
rol esi, 0xf
add esi, edi
rol edx, 0xa
and eax, esi
xor eax, ecx
add eax, 0x5a827999
add eax, dword [ebp - 8]
add edi, eax
mov eax, edx
xor eax, esi
rol edi, 7
add edi, ebx
rol esi, 0xa
and eax, edi
xor eax, edx
add eax, 0x5a827999
add eax, dword [ebp - 0x40]
add ebx, eax
mov eax, esi
xor eax, edi
rol ebx, 0xc
add ebx, ecx
rol edi, 0xa
and eax, ebx
xor eax, esi
add eax, 0x5a827999
add eax, dword [ebp - 0x30]
add ecx, eax
mov eax, edi
xor eax, ebx
rol ecx, 0xf
add ecx, edx
rol ebx, 0xa
and eax, ecx
xor eax, edi
add eax, 0x5a827999
add eax, dword [ebp - 0x14]
add edx, eax
mov eax, ecx
rol edx, 9
xor eax, ebx
add edx, esi
and eax, edx
xor eax, ebx
rol ecx, 0xa
add eax, 0x5a827999
add eax, dword [ebp - 0x20]
add esi, eax
mov eax, ecx
xor eax, edx
rol esi, 0xb
add esi, edi
rol edx, 0xa
and eax, esi
xor eax, ecx
add eax, 0x5a827999
add eax, dword [ebp - 0x28]
add edi, eax
mov eax, edx
xor eax, esi
rol edi, 7
add edi, ebx
rol esi, 0xa
and eax, edi
xor eax, edx
add eax, 0x5a827999
add eax, dword [ebp - 0x34]
add ebx, eax
mov eax, esi
xor eax, edi
rol ebx, 0xd
add ebx, ecx
rol edi, 0xa
and eax, ebx
xor eax, esi
add eax, 0x5a827999
add eax, dword [ebp - 4]
add ecx, eax
mov eax, ebx
not eax
rol ecx, 0xc
add ecx, edx
rol ebx, 0xa
or eax, ecx
xor eax, edi
add eax, 0x6ed9eba1
add eax, dword [ebp - 0x2c]
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 - 0x38]
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 - 0x28]
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 - 0x10]
add ebx, eax
mov eax, edi
rol ebx, 7
not eax
add ebx, ecx
or eax, ebx
xor eax, esi
add eax, 0x6ed9eba1
rol edi, 0xa
add eax, dword [ebp - 0x30]
add ecx, eax
mov eax, ebx
not eax
rol ecx, 0xe
add ecx, edx
rol ebx, 0xa
or eax, ecx
xor eax, edi
add eax, 0x6ed9eba1
add eax, dword [ebp - 0xc]
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 - 4]
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 - 0x3c]
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 - 0x20]
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 - 0x18]
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 - 0x40]
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 - 0x1c]
add esi, eax
mov eax, edx
rol esi, 6
not eax
add esi, edi
or eax, esi
xor eax, ecx
add eax, 0x6ed9eba1
add eax, dword [ebp - 0x24]
add edi, eax
rol edx, 0xa
rol edi, 5
mov eax, esi
not eax
rol esi, 0xa
add edi, ebx
or eax, edi
xor eax, edx
add eax, 0x6ed9eba1
add eax, dword [ebp - 0x34]
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 - 0x14]
add ecx, eax
mov eax, ebx
not eax
rol ecx, 7
add ecx, edx
rol ebx, 0xa
or eax, ecx
xor eax, edi
add eax, 0x6ed9eba1
add eax, dword [ebp - 8]
add edx, eax
mov eax, ecx
rol edx, 5
add edx, esi
xor eax, edx
and eax, ebx
xor eax, ecx
rol ecx, 0xa
add eax, 0x8f1bbcdc
add eax, dword [ebp - 0x3c]
add esi, eax
mov eax, edx
rol esi, 0xb
add esi, edi
xor eax, esi
and eax, ecx
xor eax, edx
rol edx, 0xa
add eax, 0x8f1bbcdc
add eax, dword [ebp - 0x30]
add edi, eax
mov eax, esi
rol edi, 0xc
add edi, ebx
xor eax, edi
and eax, edx
xor eax, esi
rol esi, 0xa
add eax, 0x8f1bbcdc
add eax, dword [ebp - 0x34]
add ebx, eax
mov eax, edi
rol ebx, 0xe
add ebx, ecx
xor eax, ebx
and eax, esi
xor eax, edi
rol edi, 0xa
add eax, 0x8f1bbcdc
add eax, dword [ebp - 0x38]
add ecx, eax
rol ecx, 0xf
add ecx, edx
mov eax, ecx
xor eax, ebx
and eax, edi
xor eax, ebx
add eax, 0x8f1bbcdc
add eax, dword [ebp - 0x40]
add edx, eax
rol ebx, 0xa
rol edx, 0xe
mov eax, ecx
add edx, esi
xor eax, edx
and eax, ebx
xor eax, ecx
rol ecx, 0xa
add eax, 0x8f1bbcdc
add eax, dword [ebp - 4]
add esi, eax
mov eax, edx
rol esi, 0xf
add esi, edi
xor eax, esi
and eax, ecx
xor eax, edx
rol edx, 0xa
add eax, 0x8f1bbcdc
add eax, dword [ebp - 8]
add edi, eax
mov eax, esi
rol edi, 9
add edi, ebx
xor eax, edi
and eax, edx
xor eax, esi
rol esi, 0xa
add eax, 0x8f1bbcdc
add eax, dword [ebp - 0x10]
add ebx, eax
mov eax, edi
rol ebx, 8
add ebx, ecx
xor eax, ebx
and eax, esi
xor eax, edi
rol edi, 0xa
add eax, 0x8f1bbcdc
add eax, dword [ebp - 0x24]
add ecx, eax
rol ecx, 9
add ecx, edx
mov eax, ecx
xor eax, ebx
and eax, edi
xor eax, ebx
rol ebx, 0xa
add eax, 0x8f1bbcdc
add eax, dword [ebp - 0x2c]
add edx, eax
mov eax, ecx
rol edx, 0xe
add edx, esi
xor eax, edx
and eax, ebx
xor eax, ecx
rol ecx, 0xa
add eax, 0x8f1bbcdc
add eax, dword [ebp - 0x18]
add esi, eax
mov eax, edx
rol esi, 5
add esi, edi
xor eax, esi
and eax, ecx
xor eax, edx
rol edx, 0xa
add eax, 0x8f1bbcdc
add eax, dword [ebp - 0xc]
add edi, eax
mov eax, esi
rol edi, 6
add edi, ebx
xor eax, edi
and eax, edx
xor eax, esi
add eax, 0x8f1bbcdc
add eax, dword [ebp - 0x28]
add ebx, eax
rol ebx, 8
mov eax, edi
add ebx, ecx
rol esi, 0xa
xor eax, ebx
and eax, esi
xor eax, edi
rol edi, 0xa
add eax, 0x8f1bbcdc
add eax, dword [ebp - 0x14]
add ecx, eax
rol ecx, 6
add ecx, edx
mov eax, ecx
xor eax, ebx
and eax, edi
xor eax, ebx
rol ebx, 0xa
add eax, 0x8f1bbcdc
add eax, dword [ebp - 0x1c]
add edx, eax
mov eax, ecx
rol edx, 5
add edx, esi
xor eax, edx
and eax, ebx
xor eax, ecx
rol ecx, 0xa
add eax, 0x8f1bbcdc
add eax, dword [ebp - 0x20]
add esi, eax
mov eax, ecx
not eax
rol esi, 0xc
or eax, edx
add esi, edi
xor eax, esi
rol edx, 0xa
add eax, 0xa953fd4e
add eax, dword [ebp - 0x10]
add edi, eax
mov eax, edx
not eax
rol edi, 9
or eax, esi
add edi, ebx
xor eax, edi
rol esi, 0xa
add eax, 0xa953fd4e
add eax, dword [ebp - 0x40]
add ebx, eax
mov eax, esi
not eax
rol ebx, 0xf
or eax, edi
add ebx, ecx
xor eax, ebx
rol edi, 0xa
add eax, 0xa953fd4e
add eax, dword [ebp - 0x14]
add ecx, eax
mov eax, edi
not eax
rol ecx, 5
or eax, ebx
add ecx, edx
xor eax, ecx
rol ebx, 0xa
add eax, 0xa953fd4e
add eax, dword [ebp - 0x30]
add edx, eax
mov eax, ebx
not eax
rol edx, 0xb
or eax, ecx
add edx, esi
xor eax, edx
add eax, 0xa953fd4e
add eax, dword [ebp - 0x18]
add esi, eax
rol esi, 6
add esi, edi
rol ecx, 0xa
mov eax, ecx
not eax
or eax, edx
rol edx, 0xa
xor eax, esi
add eax, 0xa953fd4e
add eax, dword [ebp - 8]
add edi, eax
mov eax, edx
not eax
rol edi, 8
or eax, esi
add edi, ebx
xor eax, edi
rol esi, 0xa
add eax, 0xa953fd4e
add eax, dword [ebp - 0x20]
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, 0xa953fd4e
add eax, dword [ebp - 0x38]
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 - 0x28]
add edx, eax
mov eax, ebx
not eax
rol edx, 5
or eax, ecx
add edx, esi
xor eax, edx
rol ecx, 0xa
add eax, 0xa953fd4e
add eax, dword [ebp - 0x3c]
add esi, eax
mov eax, ecx
not eax
rol esi, 0xc
or eax, edx
add esi, edi
xor eax, esi
rol edx, 0xa
add eax, 0xa953fd4e
add eax, dword [ebp - 0x2c]
add edi, eax
mov eax, edx
not eax
rol edi, 0xd
or eax, esi
add edi, ebx
xor eax, edi
rol esi, 0xa
add eax, 0xa953fd4e
add eax, dword [ebp - 4]
add ebx, eax
mov eax, esi
rol ebx, 0xe
not eax
add ebx, ecx
or eax, edi
xor eax, ebx
mov dword [ebp - 0x54], ebx
add eax, dword [ebp - 0x34]
lea ebx, [ecx - 0x56ac02b2]
add ebx, eax
rol ebx, 0xb
mov ecx, dword [ebp - 0x54]
add ebx, edx
rol edi, 0xa
mov eax, edi
not eax
or eax, ecx
rol ecx, 0xa
xor eax, ebx
mov dword [ebp - 0x54], ecx
add eax, 0xa953fd4e
add eax, dword [ebp - 0x1c]
add edx, eax
mov eax, ecx
not eax
rol edx, 8
or eax, ebx
lea ecx, [esi - 0x56ac02b2]
add edx, esi
rol ebx, 0xa
xor eax, edx
mov esi, dword [ebp - 0x48]
add eax, dword [ebp - 0xc]
add ecx, eax
mov dword [ebp - 0x6c], ebx
rol ecx, 5
mov eax, ebx
not eax
mov ebx, dword [ebp - 0x5c]
or eax, edx
add ecx, edi
xor eax, ecx
rol edx, 0xa
add eax, dword [ebp - 0x24]
add edi, 0xa953fd4e
add eax, edi
mov dword [ebp - 0x68], edx
mov edx, dword [ebp + 8]
rol eax, 6
add eax, dword [ebp - 0x54]
mov edi, dword [ebp - 0x58]
mov dword [ebp - 0x70], eax
mov eax, esi
not eax
mov dword [ebp - 0x64], ecx
or eax, dword [ebp - 0x50]
xor eax, dword [ebp - 0x44]
add eax, dword [edx]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x28]
add ecx, 0x50a28be6
add ecx, eax
add edx, 0x50a28be6
mov eax, edi
rol ecx, 8
add ecx, dword [ebp - 0x4c]
not eax
or eax, dword [ebp - 0x44]
xor eax, ecx
add eax, dword [ebp - 0x4c]
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, esi
mov esi, dword [ebp - 0x18]
add esi, 0x50a28be6
add esi, eax
mov eax, ecx
not eax
rol esi, 9
add esi, edi
or eax, edx
xor eax, esi
add edi, 0x50a28be6
add eax, dword [ebp - 0x40]
add edi, eax
rol edi, 0xb
add edi, ebx
rol edx, 0xa
mov eax, edx
add ebx, 0x50a28be6
not eax
or eax, esi
rol esi, 0xa
xor eax, edi
add eax, dword [ebp - 0x30]
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 - 0x20]
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 - 0x34]
add edx, eax
mov eax, ebx
not eax
rol edx, 0xf
or eax, ecx
add edx, esi
xor eax, edx
rol ecx, 0xa
add eax, 0x50a28be6
add eax, dword [ebp - 0x10]
add esi, eax
mov eax, ecx
not eax
rol esi, 5
or eax, edx
add esi, edi
xor eax, esi
rol edx, 0xa
add eax, 0x50a28be6
add eax, dword [ebp - 0x24]
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 - 0x1c]
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 - 0xc]
add ecx, eax
mov eax, edi
not eax
rol ecx, 8
add ecx, edx
or eax, ebx
xor eax, ecx
add eax, 0x50a28be6
add eax, dword [ebp - 4]
add edx, eax
rol edx, 0xb
add edx, esi
rol ebx, 0xa
mov eax, ebx
not eax
or eax, ecx
rol ecx, 0xa
xor eax, edx
add eax, 0x50a28be6
add eax, dword [ebp - 0x3c]
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 - 0x38]
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 - 0x2c]
add ebx, eax
mov eax, esi
not eax
rol ebx, 0xc
or eax, edi
add ebx, ecx
xor eax, ebx
rol edi, 0xa
add eax, 0x50a28be6
add eax, dword [ebp - 8]
add ecx, eax
mov eax, ebx
rol ecx, 6
add ecx, edx
xor eax, ecx
and eax, edi
xor eax, ebx
rol ebx, 0xa
add eax, 0x5c4dd124
add eax, dword [ebp - 0x1c]
add edx, eax
rol edx, 9
add edx, esi
mov eax, edx
xor eax, ecx
and eax, ebx
xor eax, ecx
rol ecx, 0xa
add eax, 0x5c4dd124
add eax, dword [ebp - 0x34]
add esi, eax
mov eax, edx
rol esi, 0xd
add esi, edi
xor eax, esi
and eax, ecx
xor eax, edx
rol edx, 0xa
add eax, 0x5c4dd124
add eax, dword [ebp - 0x2c]
add edi, eax
mov eax, esi
rol edi, 0xf
add edi, ebx
xor eax, edi
and eax, edx
xor eax, esi
add eax, 0x5c4dd124
add eax, dword [ebp - 0x18]
add ebx, eax
rol ebx, 7
add ebx, ecx
rol esi, 0xa
mov eax, edi
xor eax, ebx
and eax, esi
xor eax, edi
rol edi, 0xa
add eax, 0x5c4dd124
add eax, dword [ebp - 0x40]
add ecx, eax
mov eax, ebx
rol ecx, 0xc
add ecx, edx
xor eax, ecx
and eax, edi
xor eax, ebx
rol ebx, 0xa
add eax, 0x5c4dd124
add eax, dword [ebp - 0x24]
add edx, eax
rol edx, 8
add edx, esi
mov eax, edx
xor eax, ecx
and eax, ebx
xor eax, ecx
rol ecx, 0xa
add eax, 0x5c4dd124
add eax, dword [ebp - 0x14]
add esi, eax
mov eax, edx
rol esi, 9
add esi, edi
xor eax, esi
and eax, ecx
xor eax, edx
rol edx, 0xa
add eax, 0x5c4dd124
add eax, dword [ebp - 0x38]
add edi, eax
mov eax, esi
rol edi, 0xb
add edi, ebx
xor eax, edi
and eax, edx
xor eax, esi
rol esi, 0xa
add eax, 0x5c4dd124
add eax, dword [ebp - 0x28]
add ebx, eax
mov eax, edi
rol ebx, 7
add ebx, ecx
xor eax, ebx
and eax, esi
xor eax, edi
rol edi, 0xa
add eax, 0x5c4dd124
add eax, dword [ebp - 0xc]
add ecx, eax
mov eax, ebx
rol ecx, 7
add ecx, edx
xor eax, ecx
and eax, edi
xor eax, ebx
rol ebx, 0xa
add eax, 0x5c4dd124
add eax, dword [ebp - 4]
add edx, eax
rol edx, 0xc
add edx, esi
mov eax, edx
xor eax, ecx
and eax, ebx
xor eax, ecx
add eax, 0x5c4dd124
add eax, dword [ebp - 8]
add esi, eax
mov eax, edx
rol esi, 7
add esi, edi
rol ecx, 0xa
xor eax, esi
and eax, ecx
xor eax, edx
rol edx, 0xa
add eax, 0x5c4dd124
add eax, dword [ebp - 0x10]
add edi, eax
mov eax, esi
rol edi, 6
add edi, ebx
xor eax, edi
and eax, edx
xor eax, esi
rol esi, 0xa
add eax, 0x5c4dd124
add eax, dword [ebp - 0x30]
add ebx, eax
mov eax, edi
rol ebx, 0xf
add ebx, ecx
xor eax, ebx
and eax, esi
xor eax, edi
rol edi, 0xa
add eax, 0x5c4dd124
add eax, dword [ebp - 0x3c]
add ecx, eax
mov eax, ebx
rol ecx, 0xd
add ecx, edx
xor eax, ecx
and eax, edi
xor eax, ebx
rol ebx, 0xa
add eax, 0x5c4dd124
add eax, dword [ebp - 0x20]
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, 0x6d703ef3
add eax, dword [ebp - 0xc]
add esi, eax
mov eax, edx
not eax
rol esi, 9
add esi, edi
rol edx, 0xa
or eax, esi
xor eax, ecx
add eax, 0x6d703ef3
add eax, dword [ebp - 0x14]
add edi, eax
mov eax, esi
not eax
rol edi, 7
add edi, ebx
rol esi, 0xa
or eax, edi
xor eax, edx
add eax, 0x6d703ef3
add eax, dword [ebp - 0x3c]
add ebx, eax
mov eax, edi
not eax
rol ebx, 0xf
add ebx, ecx
or eax, ebx
xor eax, esi
add eax, 0x6d703ef3
add eax, dword [ebp - 0x2c]
add ecx, eax
mov eax, ebx
rol ecx, 0xb
not eax
add ecx, edx
rol edi, 0xa
or eax, ecx
rol ebx, 0xa
xor eax, edi
add eax, 0x6d703ef3
add eax, dword [ebp - 0x18]
add edx, eax
mov eax, ecx
not eax
rol edx, 8
add edx, esi
rol ecx, 0xa
or eax, edx
xor eax, ebx
add eax, 0x6d703ef3
add eax, dword [ebp - 0x28]
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 - 0x1c]
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, 0x6d703ef3
add eax, dword [ebp - 0x30]
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, 0x6d703ef3
add eax, dword [ebp - 0x34]
add ecx, eax
mov eax, ebx
not eax
rol ecx, 0xc
add ecx, edx
rol ebx, 0xa
or eax, ecx
xor eax, edi
add eax, 0x6d703ef3
add eax, dword [ebp - 4]
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, 0x6d703ef3
add eax, dword [ebp - 8]
add esi, eax
mov eax, edx
not eax
rol esi, 5
add esi, edi
rol edx, 0xa
or eax, esi
xor eax, ecx
add eax, 0x6d703ef3
add eax, dword [ebp - 0x20]
add edi, eax
mov eax, esi
rol edi, 0xe
not eax
add edi, ebx
or eax, edi
xor eax, edx
rol esi, 0xa
add eax, 0x6d703ef3
add eax, dword [ebp - 0x38]
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 - 0x40]
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 - 0x10]
add edx, eax
mov eax, ecx
not eax
rol edx, 7
add edx, esi
rol ecx, 0xa
or eax, edx
xor eax, ebx
add eax, 0x6d703ef3
add eax, dword [ebp - 0x24]
add esi, eax
mov eax, edx
xor eax, ecx
rol esi, 5
add esi, edi
rol edx, 0xa
and eax, esi
xor eax, ecx
add eax, 0x7a6d76e9
add eax, dword [ebp - 4]
add edi, eax
mov eax, edx
xor eax, esi
rol edi, 0xf
add edi, ebx
rol esi, 0xa
and eax, edi
xor eax, edx
add eax, 0x7a6d76e9
add eax, dword [ebp - 0x1c]
add ebx, eax
mov eax, esi
xor eax, edi
rol ebx, 5
add ebx, ecx
rol edi, 0xa
and eax, ebx
xor eax, esi
add eax, 0x7a6d76e9
add eax, dword [ebp - 0x10]
add ecx, eax
mov eax, edi
xor eax, ebx
rol ecx, 8
add ecx, edx
rol ebx, 0xa
and eax, ecx
xor eax, edi
add eax, 0x7a6d76e9
add eax, dword [ebp - 0x3c]
add edx, eax
mov eax, ebx
rol edx, 0xb
xor eax, ecx
add edx, esi
and eax, edx
xor eax, ebx
add eax, 0x7a6d76e9
rol ecx, 0xa
add eax, dword [ebp - 0x2c]
add esi, eax
mov eax, edx
xor eax, ecx
rol esi, 0xe
add esi, edi
rol edx, 0xa
and eax, esi
xor eax, ecx
add eax, 0x7a6d76e9
add eax, dword [ebp - 0x34]
add edi, eax
mov eax, edx
xor eax, esi
rol edi, 0xe
add edi, ebx
rol esi, 0xa
and eax, edi
xor eax, edx
add eax, 0x7a6d76e9
add eax, dword [ebp - 0xc]
add ebx, eax
mov eax, esi
xor eax, edi
rol ebx, 6
add ebx, ecx
rol edi, 0xa
and eax, ebx
xor eax, esi
add eax, 0x7a6d76e9
add eax, dword [ebp - 0x40]
add ecx, eax
mov eax, edi
xor eax, ebx
rol ecx, 0xe
add ecx, edx
rol ebx, 0xa
and eax, ecx
xor eax, edi
add eax, 0x7a6d76e9
add eax, dword [ebp - 0x14]
add edx, eax
mov eax, ebx
xor eax, ecx
rol edx, 6
add edx, esi
rol ecx, 0xa
and eax, edx
xor eax, ebx
add eax, 0x7a6d76e9
add eax, dword [ebp - 8]
add esi, eax
mov eax, edx
xor eax, ecx
rol esi, 9
add esi, edi
rol edx, 0xa
and eax, esi
xor eax, ecx
add eax, 0x7a6d76e9
add eax, dword [ebp - 0x20]
add edi, eax
mov eax, edx
rol edi, 0xc
xor eax, esi
add edi, ebx
rol esi, 0xa
and eax, edi
mov dword [ebp - 0x60], edi
xor eax, edx
mov dword [ebp - 0x5c], esi
add eax, dword [ebp - 0x24]
lea edi, [ebx + 0x7a6d76e9]
mov ebx, dword [ebp - 0x60]
add edi, eax
rol edi, 9
mov eax, esi
add edi, ecx
xor eax, ebx
and eax, edi
rol ebx, 0xa
xor eax, esi
lea esi, [ecx + 0x7a6d76e9]
add eax, dword [ebp - 0x30]
add esi, eax
mov ecx, dword [ebp - 0x5c]
rol esi, 0xc
mov eax, ebx
xor eax, edi
add esi, edx
and eax, esi
rol edi, 0xa
xor eax, ebx
add eax, 0x7a6d76e9
add eax, dword [ebp - 0x18]
add edx, eax
mov eax, edi
xor eax, esi
rol edx, 5
add edx, ecx
rol esi, 0xa
and eax, edx
add ecx, 0x7a6d76e9
xor eax, edi
add eax, dword [ebp - 0x38]
add ecx, eax
mov eax, edx
xor eax, esi
rol ecx, 0xf
add ecx, ebx
rol edx, 0xa
and eax, ecx
add ebx, 0x7a6d76e9
xor eax, esi
add eax, dword [ebp - 0x28]
add eax, ebx
mov ebx, edx
xor ebx, ecx
rol eax, 8
add eax, edi
rol ecx, 0xa
xor ebx, eax
add ebx, dword [ebp - 8]
add ebx, edi
mov edi, ecx
xor edi, eax
rol ebx, 8
add ebx, esi
rol eax, 0xa
xor edi, ebx
add edi, dword [ebp - 0xc]
add edi, esi
mov esi, eax
xor esi, ebx
rol edi, 5
add edi, edx
rol ebx, 0xa
xor esi, edi
add esi, dword [ebp - 0x38]
add esi, edx
rol esi, 0xc
add esi, ecx
mov edx, esi
xor edx, ebx
xor edx, edi
rol edi, 0xa
add edx, dword [ebp - 0x10]
add edx, ecx
mov ecx, esi
rol edx, 9
add edx, eax
rol esi, 0xa
xor ecx, edx
xor ecx, edi
add ecx, dword [ebp - 0x3c]
add ecx, eax
mov eax, esi
rol ecx, 0xc
add ecx, ebx
xor eax, edx
xor eax, ecx
rol edx, 0xa
add eax, dword [ebp - 0x14]
add eax, ebx
mov ebx, edx
xor ebx, ecx
rol eax, 5
add eax, edi
rol ecx, 0xa
xor ebx, eax
add ebx, dword [ebp - 4]
add ebx, edi
mov edi, ecx
xor edi, eax
rol ebx, 0xe
add ebx, esi
rol eax, 0xa
xor edi, ebx
add edi, dword [ebp - 0x18]
add edi, esi
rol edi, 6
add edi, edx
mov esi, edi
xor esi, eax
xor esi, ebx
rol ebx, 0xa
add esi, dword [ebp - 0x1c]
add esi, edx
mov edx, edi
rol esi, 8
add esi, ecx
rol edi, 0xa
xor edx, esi
xor edx, ebx
add edx, dword [ebp - 0x20]
add edx, ecx
mov ecx, edi
xor ecx, esi
rol edx, 0xd
add edx, eax
rol esi, 0xa
xor ecx, edx
mov dword [ebp - 0x60], esi
add ecx, dword [ebp - 0x24]
add ecx, eax
mov eax, esi
xor eax, edx
rol ecx, 6
add ecx, ebx
rol edx, 0xa
xor eax, ecx
mov dword [ebp - 0x5c], edx
add eax, dword [ebp - 0x28]
xor edx, ecx
add eax, ebx
rol ecx, 0xa
rol eax, 5
add eax, edi
xor edx, eax
mov dword [ebp - 0x58], eax
add edx, dword [ebp - 0x40]
mov ebx, eax
add edx, edi
mov dword [ebp - 0x40], ecx
rol edx, 0xf
add edx, esi
rol ebx, 0xa
mov esi, edx
xor esi, ecx
mov ecx, edx
xor esi, eax
add esi, dword [ebp - 0x2c]
add esi, dword [ebp - 0x60]
rol esi, 0xd
add esi, dword [ebp - 0x5c]
xor ecx, esi
xor ecx, ebx
add ecx, dword [ebp - 0x30]
add ecx, dword [ebp - 0x5c]
rol ecx, 0xb
add ecx, dword [ebp - 0x40]
mov edi, dword [ebp - 0x68]
add edi, dword [ebp - 0x50]
rol edx, 0xa
mov eax, edx
mov dword [ebp - 0x60], ecx
xor eax, esi
add edi, edx
rol esi, 0xa
xor eax, ecx
add esi, dword [ebp - 0x44]
add eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x40]
add esi, dword [ebp - 0x64]
mov dword [ebp - 0x44], edi
mov edi, dword [ebp + 8]
mov edx, dword [ebp - 0x44]
rol eax, 0xb
add eax, ebx
mov dword [edi + 4], edx
mov edx, dword [ebp - 0x6c]
add edx, dword [ebp - 0x48]
add edx, ebx
mov dword [ebp - 0x50], edx
mov ebx, edx
mov dword [edi + 8], edx
mov edx, dword [ebp - 0x54]
add edx, dword [ebp - 0x4c]
add edx, eax
mov eax, dword [ebp - 0x70]
add eax, dword [edi]
add eax, ecx
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x4c], eax
mov dword [edi + 0x10], eax
mov eax, dword [ebp + 0x10]
mov dword [edi + 0xc], edx
mov dword [edi], esi
test eax, eax
jne 0x5ccaf9
pop edi
pop esi
pop ebx
leave
ret