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

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