Function at 0x4b16c0
Capabilities:
Hash data using sha1

Disassembly:
sub esp, 0x10
mov edx, ecx
push ebx
push ebp
push esi
mov ecx, dword [edx + 0xc0]
mov esi, dword [esp + 0x20]
push edi
mov dword [esp + 0x10], edx
mov eax, dword [esi]
mov ebx, dword [esi + 8]
mov edi, dword [esi + 0xc]
mov ebp, dword [esi + 4]
mov esi, dword [esi + 0x10]
mov dword [esp + 0x14], eax
add esi, 0x5a827999
mov eax, dword [esp + 0x28]
movups xmm0, xmmword [eax]
movups xmmword [ecx], xmm0
movups xmm0, xmmword [eax + 0x10]
movups xmmword [ecx + 0x10], xmm0
movups xmm0, xmmword [eax + 0x20]
movups xmmword [ecx + 0x20], xmm0
movups xmm0, xmmword [eax + 0x30]
movups xmmword [ecx + 0x30], xmm0
mov ecx, dword [edx + 0xc0]
mov eax, dword [ecx]
mov edx, eax
rol eax, 8
and eax, 0xff00ff
rol edx, 0x18
and edx, 0xff00ff00
or edx, eax
mov eax, edi
mov dword [ecx], edx
xor eax, ebx
mov ecx, dword [esp + 0x14]
and eax, ebp
xor eax, edi
rol ecx, 5
add ecx, edx
rol ebp, 0x1e
add eax, ecx
add edi, 0x5a827999
mov ecx, dword [esp + 0x10]
add esi, eax
mov ecx, dword [ecx + 0xc0]
mov eax, dword [ecx + 4]
mov edx, eax
rol eax, 8
and eax, 0xff00ff
rol edx, 0x18
and edx, 0xff00ff00
or edx, eax
mov eax, ebx
mov dword [ecx + 4], edx
xor eax, ebp
and eax, dword [esp + 0x14]
mov ecx, esi
rol dword [esp + 0x14], 0x1e
xor eax, ebx
rol ecx, 5
add ecx, edx
add eax, ecx
add edi, eax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0xc0]
mov eax, dword [ecx + 8]
mov edx, eax
rol eax, 8
and eax, 0xff00ff
rol edx, 0x18
and edx, 0xff00ff00
or edx, eax
mov eax, ebp
xor eax, dword [esp + 0x14]
mov dword [ecx + 8], edx
and eax, esi
mov ecx, edi
xor eax, ebp
rol ecx, 5
add ecx, edx
add eax, ecx
rol esi, 0x1e
add ebx, 0x5a827999
add ebp, 0x5a827999
add ebx, eax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0xc0]
mov eax, dword [ecx + 0xc]
mov edx, eax
rol eax, 8
and eax, 0xff00ff
rol edx, 0x18
and edx, 0xff00ff00
or edx, eax
mov eax, esi
xor eax, dword [esp + 0x14]
mov dword [ecx + 0xc], edx
and eax, edi
xor eax, dword [esp + 0x14]
mov ecx, ebx
rol ecx, 5
add ecx, edx
rol edi, 0x1e
add eax, ecx
add ebp, eax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0xc0]
mov eax, dword [ecx + 0x10]
mov edx, eax
rol eax, 8
and eax, 0xff00ff
rol edx, 0x18
and edx, 0xff00ff00
or edx, eax
mov eax, esi
mov dword [ecx + 0x10], edx
xor eax, edi
and eax, ebx
mov ecx, ebp
xor eax, esi
rol ecx, 5
add ecx, edx
rol ebx, 0x1e
add eax, ecx
mov ecx, dword [esp + 0x14]
add ecx, 0x5a827999
add eax, ecx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0xc0]
mov eax, dword [ecx + 0x14]
mov edx, eax
rol eax, 8
and eax, 0xff00ff
rol edx, 0x18
and edx, 0xff00ff00
or edx, eax
mov eax, edi
mov dword [ecx + 0x14], edx
xor eax, ebx
mov ecx, dword [esp + 0x28]
and eax, ebp
rol ecx, 5
xor eax, edi
add ecx, 0x5a827999
rol ebp, 0x1e
add ecx, edx
add eax, ecx
add esi, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1c], esi
mov ecx, dword [eax + 0xc0]
mov eax, dword [ecx + 0x18]
mov edx, eax
rol edx, 0x18
rol eax, 8
and edx, 0xff00ff00
and eax, 0xff00ff
or edx, eax
mov dword [ecx + 0x18], edx
mov ecx, esi
mov esi, dword [esp + 0x28]
add edx, 0x5a827999
rol ecx, 5
mov eax, ebx
xor eax, ebp
add ecx, edx
and eax, esi
rol esi, 0x1e
xor eax, ebx
add eax, ecx
add edi, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x28], edi
mov ecx, dword [eax + 0xc0]
mov eax, dword [ecx + 0x1c]
mov edx, eax
rol eax, 8
and eax, 0xff00ff
rol edx, 0x18
and edx, 0xff00ff00
or edx, eax
mov eax, ebp
mov dword [ecx + 0x1c], edx
xor eax, esi
add edx, 0x5a827999
mov ecx, edi
mov edi, dword [esp + 0x1c]
and eax, edi
xor eax, ebp
rol ecx, 5
add ecx, edx
rol edi, 0x1e
add eax, ecx
add ebx, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1c], ebx
mov ecx, dword [eax + 0xc0]
mov eax, dword [ecx + 0x20]
mov edx, eax
rol eax, 8
and eax, 0xff00ff
rol edx, 0x18
and edx, 0xff00ff00
or edx, eax
mov eax, edi
xor eax, esi
mov dword [ecx + 0x20], edx
mov ecx, ebx
mov ebx, dword [esp + 0x28]
and eax, ebx
rol ecx, 5
xor eax, esi
rol ebx, 0x1e
add eax, 0x5a827999
add ecx, edx
add eax, ecx
add esi, 0x5a827999
add ebp, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x18], ebp
mov ecx, dword [eax + 0xc0]
mov eax, dword [ecx + 0x24]
mov edx, eax
rol eax, 8
and eax, 0xff00ff
rol edx, 0x18
and edx, 0xff00ff00
or edx, eax
mov eax, edi
mov dword [ecx + 0x24], edx
xor eax, ebx
mov ecx, ebp
mov ebp, dword [esp + 0x1c]
and eax, ebp
rol ecx, 5
xor eax, edi
add ecx, edx
add eax, ecx
add esi, eax
rol ebp, 0x1e
mov dword [esp + 0x1c], esi
mov eax, dword [esp + 0x10]
add edi, 0x5a827999
mov ecx, dword [eax + 0xc0]
mov eax, dword [ecx + 0x28]
mov edx, eax
rol eax, 8
and eax, 0xff00ff
rol edx, 0x18
and edx, 0xff00ff00
or edx, eax
mov eax, ebx
mov dword [ecx + 0x28], edx
xor eax, ebp
mov ecx, esi
mov esi, dword [esp + 0x18]
and eax, esi
rol ecx, 5
add ecx, edx
rol esi, 0x1e
xor eax, ebx
mov dword [esp + 0x18], esi
add eax, ecx
add ebx, 0x5a827999
add edi, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x28], edi
mov ecx, dword [eax + 0xc0]
mov eax, dword [ecx + 0x2c]
mov edx, eax
rol eax, 8
and eax, 0xff00ff
rol edx, 0x18
and edx, 0xff00ff00
or edx, eax
mov eax, dword [esp + 0x10]
mov dword [ecx + 0x2c], edx
mov ecx, edi
rol ecx, 5
mov edi, ebp
add ecx, edx
xor edi, esi
and edi, dword [esp + 0x1c]
xor edi, ebp
add edi, ecx
mov ecx, dword [eax + 0xc0]
add edi, ebx
mov ebx, dword [esp + 0x1c]
rol ebx, 0x1e
mov dword [esp + 0x1c], ebx
mov eax, dword [ecx + 0x30]
mov edx, eax
rol eax, 8
and eax, 0xff00ff
rol edx, 0x18
and edx, 0xff00ff00
or edx, eax
mov eax, esi
mov dword [ecx + 0x30], edx
xor eax, ebx
and eax, dword [esp + 0x28]
mov ecx, edi
xor eax, esi
rol ecx, 5
add ecx, edx
lea esi, [ebp + 0x5a827999]
mov ebp, dword [esp + 0x28]
add eax, ecx
add esi, eax
rol ebp, 0x1e
mov eax, dword [esp + 0x10]
mov dword [esp + 0x28], ebp
mov ecx, dword [eax + 0xc0]
mov eax, dword [ecx + 0x34]
mov edx, eax
rol edx, 0x18
rol eax, 8
and edx, 0xff00ff00
and eax, 0xff00ff
or edx, eax
mov dword [ecx + 0x34], edx
mov ecx, esi
mov eax, dword [esp + 0x10]
xor ebp, ebx
rol ecx, 5
and ebp, edi
add ecx, edx
rol edi, 0x1e
xor ebp, ebx
mov ebx, dword [esp + 0x18]
add ebp, ecx
mov dword [esp + 0x18], edi
mov ecx, dword [eax + 0xc0]
add ebx, 0x5a827999
add ebx, ebp
mov ebp, dword [esp + 0x28]
mov eax, dword [ecx + 0x38]
mov edx, eax
rol eax, 8
and eax, 0xff00ff
rol edx, 0x18
and edx, 0xff00ff00
or edx, eax
mov eax, ebp
mov dword [ecx + 0x38], edx
xor eax, edi
and eax, esi
mov ecx, ebx
rol ecx, 5
xor ebp, eax
mov eax, dword [esp + 0x10]
add ecx, edx
add ebp, ecx
rol esi, 0x1e
mov ecx, dword [esp + 0x1c]
add ecx, 0x5a827999
mov dword [esp + 0x1c], esi
add ebp, ecx
mov ecx, dword [eax + 0xc0]
mov eax, dword [ecx + 0x3c]
mov edx, eax
rol eax, 8
and eax, 0xff00ff
rol edx, 0x18
and edx, 0xff00ff00
or edx, eax
mov eax, edi
xor eax, esi
mov dword [ecx + 0x3c], edx
and eax, ebx
mov ecx, ebp
xor edi, eax
rol ecx, 5
mov eax, dword [esp + 0x10]
add ecx, edx
add edi, ecx
rol ebx, 0x1e
mov ecx, dword [esp + 0x28]
add ecx, 0x5a827999
mov dword [esp + 0x28], ebx
mov eax, dword [eax + 0xc0]
add edi, ecx
mov ecx, edi
rol ecx, 5
mov edx, dword [eax + 0x34]
xor edx, dword [eax + 0x20]
xor edx, dword [eax + 8]
xor edx, dword [eax]
rol edx, 1
mov dword [eax], edx
add ecx, edx
mov eax, esi
xor eax, ebx
and eax, ebp
xor esi, eax
mov eax, dword [esp + 0x10]
add esi, ecx
mov ecx, dword [esp + 0x18]
add ecx, 0x5a827999
add esi, ecx
rol ebp, 0x1e
mov eax, dword [eax + 0xc0]
mov dword [esp + 0x18], ebp
mov edx, dword [eax + 0x38]
mov ecx, esi
xor edx, dword [eax + 0x24]
xor edx, dword [eax + 0xc]
xor edx, dword [eax + 4]
rol edx, 1
mov dword [eax + 4], edx
mov eax, ebx
xor eax, ebp
rol ecx, 5
add ecx, edx
and eax, edi
xor ebx, eax
rol edi, 0x1e
mov eax, dword [esp + 0x10]
add ebx, ecx
mov ecx, dword [esp + 0x1c]
add ecx, 0x5a827999
add ebx, ecx
mov eax, dword [eax + 0xc0]
mov ecx, ebx
rol ecx, 5
mov edx, dword [eax + 0x3c]
xor edx, dword [eax + 0x28]
xor edx, dword [eax + 0x10]
xor edx, dword [eax + 8]
rol edx, 1
mov dword [eax + 8], edx
add ecx, edx
mov eax, edi
xor eax, ebp
and eax, esi
rol esi, 0x1e
xor ebp, eax
mov eax, dword [esp + 0x10]
add ebp, ecx
mov ecx, dword [esp + 0x28]
add ecx, 0x5a827999
mov dword [esp + 0x28], esi
add ebp, ecx
xor esi, edi
mov eax, dword [eax + 0xc0]
mov ecx, ebp
rol ecx, 5
and esi, ebx
xor esi, edi
rol ebx, 0x1e
mov dword [esp + 0x1c], ebx
mov edx, dword [eax + 0x2c]
xor edx, dword [eax + 0x14]
xor edx, dword [eax]
xor edx, dword [eax + 0xc]
rol edx, 1
mov dword [eax + 0xc], edx
add ecx, edx
mov eax, dword [esp + 0x10]
add esi, ecx
mov ecx, dword [esp + 0x18]
add ecx, 0x5a827999
add esi, ecx
mov eax, dword [eax + 0xc0]
mov ecx, esi
rol ecx, 5
mov edx, dword [eax + 0x30]
xor edx, dword [eax + 0x18]
xor edx, dword [eax + 4]
xor edx, dword [eax + 0x10]
rol edx, 1
mov dword [eax + 0x10], edx
add edx, 0x6ed9eba1
mov eax, dword [esp + 0x28]
add ecx, edx
xor eax, ebx
xor eax, ebp
add eax, ecx
add edi, eax
mov eax, dword [esp + 0x10]
rol ebp, 0x1e
mov dword [esp + 0x18], ebp
mov eax, dword [eax + 0xc0]
mov edx, dword [eax + 0x34]
xor edx, dword [eax + 0x1c]
mov ecx, edi
xor edx, dword [eax + 8]
xor ebx, ebp
xor edx, dword [eax + 0x14]
xor ebx, esi
rol edx, 1
xor ebp, edi
mov dword [eax + 0x14], edx
mov eax, dword [esp + 0x10]
rol ecx, 5
add ecx, edx
rol esi, 0x1e
add ebx, ecx
rol edi, 0x1e
mov eax, dword [eax + 0xc0]
xor ebp, esi
mov ecx, dword [esp + 0x28]
add ecx, 0x6ed9eba1
add ebx, ecx
mov edx, dword [eax + 0x38]
mov ecx, ebx
xor edx, dword [eax + 0x20]
xor edx, dword [eax + 0xc]
xor edx, dword [eax + 0x18]
rol edx, 1
mov dword [eax + 0x18], edx
mov eax, dword [esp + 0x10]
rol ecx, 5
add ecx, edx
add ebp, ecx
mov ecx, dword [esp + 0x1c]
mov eax, dword [eax + 0xc0]
add ecx, 0x6ed9eba1
add ebp, ecx
mov ecx, ebp
rol ecx, 5
mov edx, dword [eax + 0x3c]
xor edx, dword [eax + 0x24]
xor edx, dword [eax + 0x10]
xor edx, dword [eax + 0x1c]
rol edx, 1
mov dword [eax + 0x1c], edx
add ecx, edx
mov eax, edi
xor eax, ebx
rol ebx, 0x1e
xor eax, esi
add esi, 0x6ed9eba1
add eax, ecx
mov ecx, dword [esp + 0x18]
add ecx, 0x6ed9eba1
add ecx, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1c], ecx
rol ecx, 5
mov eax, dword [eax + 0xc0]
mov edx, dword [eax + 0x28]
xor edx, dword [eax + 0x14]
xor edx, dword [eax + 0x20]
xor edx, dword [eax]
rol edx, 1
mov dword [eax + 0x20], edx
add ecx, edx
mov eax, edi
xor eax, ebx
xor eax, ebp
rol ebp, 0x1e
add ecx, eax
mov eax, dword [esp + 0x10]
add ecx, esi
mov dword [esp + 0x18], ecx
mov eax, dword [eax + 0xc0]
mov edx, dword [eax + 0x2c]
xor edx, dword [eax + 0x18]
xor edx, dword [eax + 4]
xor edx, dword [eax + 0x24]
rol edx, 1
mov dword [eax + 0x24], edx
mov eax, ebx
rol ecx, 5
mov esi, dword [esp + 0x1c]
xor eax, ebp
add edx, 0x6ed9eba1
xor eax, esi
add ecx, edx
rol esi, 0x1e
add eax, ecx
mov dword [esp + 0x1c], esi
add edi, eax
add ebx, 0x6ed9eba1
mov eax, dword [esp + 0x10]
mov ecx, edi
rol ecx, 5
mov eax, dword [eax + 0xc0]
mov edx, dword [eax + 0x30]
xor edx, dword [eax + 0x1c]
xor edx, dword [eax + 8]
xor edx, dword [eax + 0x28]
rol edx, 1
mov dword [eax + 0x28], edx
add ecx, edx
mov eax, ebp
xor eax, esi
xor eax, dword [esp + 0x18]
add ecx, eax
mov eax, dword [esp + 0x10]
add ecx, ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x28], ecx
rol ecx, 5
mov eax, dword [eax + 0xc0]
rol ebx, 0x1e
mov edx, dword [eax + 0x34]
xor edx, dword [eax + 0x20]
xor edx, dword [eax + 0xc]
xor edx, dword [eax + 0x2c]
rol edx, 1
mov dword [eax + 0x2c], edx
add ecx, edx
mov eax, edi
rol edi, 0x1e
xor eax, esi
mov dword [esp + 0x18], edi
xor eax, ebx
lea esi, [ebp + 0x6ed9eba1]
add eax, ecx
mov ebp, dword [esp + 0x28]
add esi, eax
xor edi, ebp
mov eax, dword [esp + 0x10]
mov ecx, esi
rol ecx, 5
xor edi, ebx
rol ebp, 0x1e
mov dword [esp + 0x28], ebp
mov eax, dword [eax + 0xc0]
mov ebp, dword [esp + 0x18]
mov edx, dword [eax + 0x38]
xor edx, dword [eax + 0x24]
xor edx, dword [eax + 0x10]
xor edx, dword [eax + 0x30]
rol edx, 1
mov dword [eax + 0x30], edx
add ecx, edx
mov eax, dword [esp + 0x10]
add edi, ecx
mov ecx, dword [esp + 0x1c]
add ecx, 0x6ed9eba1
add edi, ecx
mov eax, dword [eax + 0xc0]
mov ecx, edi
rol ecx, 5
mov edx, dword [eax + 0x3c]
xor edx, dword [eax + 0x28]
xor edx, dword [eax + 0x14]
xor edx, dword [eax + 0x34]
rol edx, 1
mov dword [eax + 0x34], edx
mov eax, ebp
xor eax, dword [esp + 0x28]
xor eax, esi
add ecx, edx
rol esi, 0x1e
add eax, ecx
add ebx, 0x6ed9eba1
add ebx, eax
add ebp, 0x6ed9eba1
mov eax, dword [esp + 0x10]
mov ecx, ebx
rol ecx, 5
mov eax, dword [eax + 0xc0]
mov edx, dword [eax + 0x2c]
xor edx, dword [eax + 0x18]
xor edx, dword [eax]
xor edx, dword [eax + 0x38]
rol edx, 1
mov dword [eax + 0x38], edx
add ecx, edx
mov eax, dword [esp + 0x28]
xor eax, esi
xor eax, edi
rol edi, 0x1e
add eax, ecx
add ebp, eax
mov eax, dword [esp + 0x10]
mov ecx, ebp
rol ecx, 5
mov eax, dword [eax + 0xc0]
mov edx, dword [eax + 0x30]
xor edx, dword [eax + 0x1c]
xor edx, dword [eax + 4]
xor edx, dword [eax + 0x3c]
rol edx, 1
mov dword [eax + 0x3c], edx
add ecx, edx
mov eax, esi
add esi, 0x6ed9eba1
xor eax, edi
xor eax, ebx
rol ebx, 0x1e
add eax, ecx
mov ecx, dword [esp + 0x28]
add ecx, 0x6ed9eba1
add ecx, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x28], ecx
rol ecx, 5
mov eax, dword [eax + 0xc0]
mov edx, dword [eax + 0x34]
xor edx, dword [eax + 0x20]
xor edx, dword [eax + 8]
xor edx, dword [eax]
rol edx, 1
mov dword [eax], edx
add ecx, edx
mov eax, ebp
rol ebp, 0x1e
xor eax, edi
add edi, 0x6ed9eba1
xor eax, ebx
add ecx, eax
mov eax, dword [esp + 0x10]
add ecx, esi
mov esi, dword [esp + 0x28]
mov dword [esp + 0x1c], ecx
rol ecx, 5
mov eax, dword [eax + 0xc0]
mov edx, dword [eax + 0x38]
xor edx, dword [eax + 0x24]
xor edx, dword [eax + 0xc]
xor edx, dword [eax + 4]
rol edx, 1
mov dword [eax + 4], edx
add ecx, edx
mov eax, ebp
xor eax, esi
xor eax, ebx
add ecx, eax
mov eax, dword [esp + 0x10]
add ecx, edi
rol esi, 0x1e
mov dword [esp + 0x28], ecx
mov eax, dword [eax + 0xc0]
add ebx, 0x6ed9eba1
mov edi, dword [esp + 0x1c]
rol ecx, 5
mov edx, dword [eax + 0x3c]
xor edx, dword [eax + 0x28]
xor edx, dword [eax + 0x10]
xor edx, dword [eax + 8]
rol edx, 1
mov dword [eax + 8], edx
add ecx, edx
mov eax, ebp
xor eax, esi
xor eax, edi
rol edi, 0x1e
add ecx, eax
mov eax, dword [esp + 0x10]
add ecx, ebx
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x1c], ecx
rol ecx, 5
mov eax, dword [eax + 0xc0]
mov edx, dword [eax + 0x2c]
xor edx, dword [eax + 0x14]
xor edx, dword [eax + 0xc]
xor edx, dword [eax]
rol edx, 1
mov dword [eax + 0xc], edx
add ecx, edx
mov eax, esi
add esi, 0x6ed9eba1
xor eax, edi
xor eax, ebx
rol ebx, 0x1e
add eax, 0x6ed9eba1
add eax, ecx
add ebp, eax
mov eax, dword [esp + 0x10]
mov ecx, ebp
mov dword [esp + 0x28], ebp
mov ebp, dword [esp + 0x1c]
rol ecx, 5
mov eax, dword [eax + 0xc0]
mov edx, dword [eax + 0x30]
xor edx, dword [eax + 0x18]
xor edx, dword [eax + 4]
xor edx, dword [eax + 0x10]
rol edx, 1
mov dword [eax + 0x10], edx
add ecx, edx
mov eax, edi
add edi, 0x6ed9eba1
xor eax, ebx
xor eax, ebp
rol ebp, 0x1e
add ecx, eax
mov eax, dword [esp + 0x10]
add ecx, esi
mov esi, dword [esp + 0x28]
mov dword [esp + 0x1c], ecx
rol ecx, 5
mov eax, dword [eax + 0xc0]
mov edx, dword [eax + 0x34]
xor edx, dword [eax + 0x1c]
xor edx, dword [eax + 8]
xor edx, dword [eax + 0x14]
rol edx, 1
mov dword [eax + 0x14], edx
add ecx, edx
mov eax, esi
rol esi, 0x1e
xor eax, ebx
mov dword [esp + 0x28], esi
xor eax, ebp
add ecx, eax
mov eax, dword [esp + 0x10]
add ecx, edi
mov dword [esp + 0x14], ecx
mov eax, dword [eax + 0xc0]
mov edx, dword [eax + 0x38]
xor edx, dword [eax + 0x20]
xor edx, dword [eax + 0xc]
add ebx, 0x6ed9eba1
xor edx, dword [eax + 0x18]
mov edi, dword [esp + 0x1c]
rol ecx, 5
rol edx, 1
mov dword [eax + 0x18], edx
add ecx, edx
mov eax, esi
xor eax, edi
rol edi, 0x1e
xor eax, ebp
xor esi, edi
add ecx, eax
mov eax, dword [esp + 0x10]
add ecx, ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x18], ecx
xor esi, ebx
rol ecx, 5
mov eax, dword [eax + 0xc0]
rol ebx, 0x1e
mov edx, dword [eax + 0x3c]
xor edx, dword [eax + 0x24]
xor edx, dword [eax + 0x10]
xor edx, dword [eax + 0x1c]
rol edx, 1
mov dword [eax + 0x1c], edx
add ecx, edx
mov eax, dword [esp + 0x10]
add esi, ecx
lea ecx, [ebp + 0x6ed9eba1]
mov ebp, dword [esp + 0x18]
add ecx, esi
rol ebp, 0x1e
mov dword [esp + 0x14], ecx
mov edx, ecx
mov eax, dword [eax + 0xc0]
mov ecx, ebx
or ecx, dword [esp + 0x18]
and ecx, edi
rol edx, 5
add edx, 0x8f1bbcdc
mov esi, dword [eax + 0x28]
xor esi, dword [eax + 0x14]
xor esi, dword [eax + 0x20]
xor esi, dword [eax]
rol esi, 1
mov dword [eax + 0x20], esi
mov eax, ebx
and eax, dword [esp + 0x18]
or ecx, eax
mov eax, dword [esp + 0x10]
add ecx, esi
add ecx, dword [esp + 0x28]
add ecx, edx
mov eax, dword [eax + 0xc0]
mov edx, ecx
mov dword [esp + 0x1c], ecx
mov ecx, ebp
or ecx, dword [esp + 0x14]
and ecx, ebx
rol edx, 5
mov esi, dword [eax + 0x2c]
add edx, 0x8f1bbcdc
xor esi, dword [eax + 0x18]
xor esi, dword [eax + 4]
xor esi, dword [eax + 0x24]
rol esi, 1
mov dword [eax + 0x24], esi
mov eax, ebp
and eax, dword [esp + 0x14]
or ecx, eax
mov eax, dword [esp + 0x10]
add ecx, esi
add ecx, edi
mov edi, dword [esp + 0x14]
add ecx, edx
rol edi, 0x1e
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], edi
mov eax, dword [eax + 0xc0]
mov edx, ecx
rol edx, 5
add edx, 0x8f1bbcdc
mov esi, dword [eax + 0x30]
xor esi, dword [eax + 0x1c]
xor esi, dword [eax + 8]
xor esi, dword [eax + 0x28]
rol esi, 1
mov dword [eax + 0x28], esi
mov eax, dword [esp + 0x1c]
mov ecx, eax
or ecx, edi
and eax, edi
and ecx, ebp
or ecx, eax
mov eax, dword [esp + 0x10]
add ecx, esi
add ecx, ebx
mov ebx, dword [esp + 0x1c]
add ecx, edx
rol ebx, 0x1e
mov eax, dword [eax + 0xc0]
mov edx, ecx
mov dword [esp + 0x28], ecx
mov ecx, ebx
or ecx, dword [esp + 0x18]
and ecx, edi
rol edx, 5
mov esi, dword [eax + 0x34]
xor esi, dword [eax + 0x20]
xor esi, dword [eax + 0xc]
xor esi, dword [eax + 0x2c]
lea edi, [edx - 0x70e44324]
rol esi, 1
mov dword [eax + 0x2c], esi
mov eax, ebx
and eax, dword [esp + 0x18]
or ecx, eax
mov dword [esp + 0x1c], ebx
mov eax, dword [esp + 0x10]
add ecx, esi
add ecx, ebp
mov ebp, dword [esp + 0x18]
add edi, ecx
rol ebp, 0x1e
mov ecx, ebp
mov dword [esp + 0x18], ebp
mov eax, dword [eax + 0xc0]
mov edx, edi
or ecx, dword [esp + 0x28]
and ecx, ebx
rol edx, 5
mov esi, dword [eax + 0x38]
xor esi, dword [eax + 0x24]
xor esi, dword [eax + 0x10]
lea ebx, [edx - 0x70e44324]
xor esi, dword [eax + 0x30]
rol esi, 1
mov dword [eax + 0x30], esi
mov eax, ebp
and eax, dword [esp + 0x28]
or ecx, eax
mov eax, dword [esp + 0x10]
add ecx, esi
add ecx, dword [esp + 0x14]
add ebx, ecx
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 0xc0]
mov edx, ebx
rol ecx, 0x1e
mov dword [esp + 0x28], ecx
or ecx, edi
rol edx, 5
mov esi, dword [eax + 0x3c]
xor esi, dword [eax + 0x28]
xor esi, dword [eax + 0x14]
xor esi, dword [eax + 0x34]
rol esi, 1
and ecx, ebp
mov dword [eax + 0x34], esi
mov eax, dword [esp + 0x28]
lea ebp, [edx - 0x70e44324]
and eax, edi
rol edi, 0x1e
or ecx, eax
mov eax, dword [esp + 0x10]
add ecx, esi
add ecx, dword [esp + 0x1c]
add ebp, ecx
mov ecx, edi
mov eax, dword [eax + 0xc0]
or ecx, ebx
and ecx, dword [esp + 0x28]
mov edx, ebp
rol edx, 5
add edx, 0x8f1bbcdc
mov esi, dword [eax + 0x2c]
xor esi, dword [eax + 0x18]
xor esi, dword [eax + 0x38]
xor esi, dword [eax]
rol esi, 1
mov dword [eax + 0x38], esi
mov eax, edi
and eax, ebx
rol ebx, 0x1e
or ecx, eax
mov eax, dword [esp + 0x10]
add ecx, esi
add ecx, dword [esp + 0x18]
add ecx, edx
mov eax, dword [eax + 0xc0]
mov edx, ecx
mov dword [esp + 0x1c], ecx
mov ecx, ebp
or ecx, ebx
rol edx, 5
and ecx, edi
add edx, 0x8f1bbcdc
mov esi, dword [eax + 0x30]
xor esi, dword [eax + 0x1c]
xor esi, dword [eax + 4]
xor esi, dword [eax + 0x3c]
rol esi, 1
mov dword [eax + 0x3c], esi
mov eax, ebp
and eax, ebx
rol ebp, 0x1e
or ecx, eax
mov eax, dword [esp + 0x10]
add ecx, esi
add ecx, dword [esp + 0x28]
add ecx, edx
mov eax, dword [eax + 0xc0]
mov edx, ecx
mov dword [esp + 0x28], ecx
mov ecx, ebp
or ecx, dword [esp + 0x1c]
and ecx, ebx
rol edx, 5
mov esi, dword [eax + 0x34]
add edx, 0x8f1bbcdc
xor esi, dword [eax + 0x20]
xor esi, dword [eax + 8]
xor esi, dword [eax]
rol esi, 1
mov dword [eax], esi
mov eax, ebp
and eax, dword [esp + 0x1c]
or ecx, eax
mov eax, dword [esp + 0x10]
add ecx, esi
add ecx, edi
mov edi, dword [esp + 0x1c]
add ecx, edx
rol edi, 0x1e
mov eax, dword [eax + 0xc0]
mov dword [esp + 0x18], ecx
mov esi, dword [eax + 0x38]
xor esi, dword [eax + 0x24]
xor esi, dword [eax + 0xc]
xor esi, dword [eax + 4]
mov edx, ecx
rol esi, 1
mov dword [eax + 4], esi
mov ecx, edi
or ecx, dword [esp + 0x28]
mov eax, edi
and eax, dword [esp + 0x28]
and ecx, ebp
or ecx, eax
rol edx, 5
mov eax, dword [esp + 0x10]
add ecx, esi
add ecx, ebx
add edx, 0x8f1bbcdc
mov ebx, dword [esp + 0x28]
add ecx, edx
mov dword [esp + 0x1c], ecx
mov edx, ecx
mov eax, dword [eax + 0xc0]
rol ebx, 0x1e
mov ecx, ebx
rol edx, 5
or ecx, dword [esp + 0x18]
add edx, 0x8f1bbcdc
mov esi, dword [eax + 0x3c]
and ecx, edi
xor esi, dword [eax + 0x28]
xor esi, dword [eax + 0x10]
xor esi, dword [eax + 8]
rol esi, 1
mov dword [eax + 8], esi
mov eax, ebx
and eax, dword [esp + 0x18]
or ecx, eax
mov eax, dword [esp + 0x10]
add ecx, esi
add ecx, ebp
mov ebp, dword [esp + 0x18]
add ecx, edx
rol ebp, 0x1e
mov eax, dword [eax + 0xc0]
mov edx, ecx
mov dword [esp + 0x28], ecx
mov ecx, ebp
or ecx, dword [esp + 0x1c]
and ecx, ebx
rol edx, 5
mov esi, dword [eax + 0x2c]
add edx, 0x8f1bbcdc
xor esi, dword [eax + 0x14]
xor esi, dword [eax]
xor esi, dword [eax + 0xc]
rol esi, 1
mov dword [eax + 0xc], esi
mov eax, ebp
and eax, dword [esp + 0x1c]
or ecx, eax
mov eax, dword [esp + 0x10]
add ecx, esi
add ecx, edi
mov edi, dword [esp + 0x1c]
add ecx, edx
rol edi, 0x1e
mov eax, dword [eax + 0xc0]
mov edx, ecx
mov dword [esp + 0x18], ecx
rol edx, 5
mov esi, dword [eax + 0x30]
xor esi, dword [eax + 0x18]
xor esi, dword [eax + 4]
xor esi, dword [eax + 0x10]
rol esi, 1
mov dword [eax + 0x10], esi
mov eax, dword [esp + 0x28]
mov ecx, eax
or ecx, edi
and eax, edi
and ecx, ebp
or ecx, eax
add ecx, esi
add ecx, ebx
mov eax, dword [esp + 0x10]
add edx, 0x8f1bbcdc
mov ebx, dword [esp + 0x28]
add ecx, edx
mov dword [esp + 0x14], ecx
mov edx, ecx
rol ebx, 0x1e
mov eax, dword [eax + 0xc0]
mov ecx, ebx
or ecx, dword [esp + 0x18]
and ecx, edi
rol edx, 5
add edx, 0x8f1bbcdc
mov esi, dword [eax + 0x34]
xor esi, dword [eax + 0x1c]
xor esi, dword [eax + 8]
xor esi, dword [eax + 0x14]
rol esi, 1
mov dword [eax + 0x14], esi
mov eax, ebx
and eax, dword [esp + 0x18]
or ecx, eax
mov eax, dword [esp + 0x10]
add ecx, esi
add ecx, ebp
mov ebp, dword [esp + 0x18]
add ecx, edx
rol ebp, 0x1e
mov eax, dword [eax + 0xc0]
mov edx, ecx
mov dword [esp + 0x1c], ecx
mov ecx, ebp
or ecx, dword [esp + 0x14]
and ecx, ebx
rol edx, 5
mov esi, dword [eax + 0x38]
add edx, 0x8f1bbcdc
xor esi, dword [eax + 0x20]
xor esi, dword [eax + 0xc]
xor esi, dword [eax + 0x18]
rol esi, 1
mov dword [eax + 0x18], esi
mov eax, ebp
and eax, dword [esp + 0x14]
or ecx, eax
mov dword [esp + 0x18], ebp
mov eax, dword [esp + 0x10]
add ecx, esi
add ecx, edi
mov edi, dword [esp + 0x14]
add ecx, edx
rol edi, 0x1e
mov edx, ecx
mov dword [esp + 0x28], ecx
mov eax, dword [eax + 0xc0]
mov ecx, edi
or ecx, dword [esp + 0x1c]
and ecx, ebp
rol edx, 5
mov dword [esp + 0x14], edi
mov esi, dword [eax + 0x3c]
xor esi, dword [eax + 0x24]
xor esi, dword [eax + 0x10]
lea ebp, [edx - 0x70e44324]
xor esi, dword [eax + 0x1c]
rol esi, 1
mov dword [eax + 0x1c], esi
mov eax, edi
and eax, dword [esp + 0x1c]
or ecx, eax
mov eax, dword [esp + 0x10]
add ecx, esi
add ecx, ebx
mov ebx, dword [esp + 0x1c]
rol ebx, 0x1e
add ebp, ecx
mov eax, dword [eax + 0xc0]
mov dword [esp + 0x1c], ebx
mov esi, dword [eax + 0x28]
xor esi, dword [eax + 0x14]
xor esi, dword [eax + 0x20]
xor esi, dword [eax]
mov ecx, ebx
or ecx, dword [esp + 0x28]
mov edx, ebp
rol esi, 1
and ecx, edi
mov dword [eax + 0x20], esi
mov eax, ebx
and eax, dword [esp + 0x28]
or ecx, eax
rol dword [esp + 0x28], 0x1e
mov eax, dword [esp + 0x10]
add ecx, esi
add ecx, dword [esp + 0x18]
rol edx, 5
mov eax, dword [eax + 0xc0]
lea edi, [edx - 0x70e44324]
add edi, ecx
mov ecx, ebp
mov esi, dword [eax + 0x2c]
mov edx, edi
xor esi, dword [eax + 0x18]
xor esi, dword [eax + 4]
xor esi, dword [eax + 0x24]
or ecx, dword [esp + 0x28]
rol esi, 1
and ecx, ebx
mov dword [eax + 0x24], esi
mov eax, ebp
and eax, dword [esp + 0x28]
or ecx, eax
rol edx, 5
mov eax, dword [esp + 0x10]
add ecx, esi
add ecx, dword [esp + 0x14]
rol ebp, 0x1e
lea ebx, [edx - 0x70e44324]
mov dword [esp + 0x18], ebp
mov eax, dword [eax + 0xc0]
add ebx, ecx
mov ecx, ebp
mov edx, ebx
or ecx, edi
rol edx, 5
and ecx, dword [esp + 0x28]
and ebp, edi
mov esi, dword [eax + 0x30]
or ecx, ebp
xor esi, dword [eax + 0x1c]
xor esi, dword [eax + 8]
lea ebp, [edx - 0x70e44324]
xor esi, dword [eax + 0x28]
rol esi, 1
mov dword [eax + 0x28], esi
add ecx, esi
mov eax, dword [esp + 0x10]
add ecx, dword [esp + 0x1c]
add ebp, ecx
rol edi, 0x1e
mov ecx, edi
mov dword [esp + 0x1c], edi
mov eax, dword [eax + 0xc0]
or ecx, ebx
and ecx, dword [esp + 0x18]
mov edx, ebp
rol edx, 5
mov esi, dword [eax + 0x34]
xor esi, dword [eax + 0x20]
xor esi, dword [eax + 0xc]
xor esi, dword [eax + 0x2c]
rol esi, 1
mov dword [eax + 0x2c], esi
mov eax, edi
and eax, ebx
or ecx, eax
add ecx, esi
lea esi, [edx - 0x70e44324]
add ecx, dword [esp + 0x28]
add esi, ecx
rol ebx, 0x1e
mov dword [esp + 0x28], ebx
mov eax, dword [esp + 0x10]
mov ecx, esi
rol ecx, 5
mov eax, dword [eax + 0xc0]
mov edx, dword [eax + 0x38]
xor edx, dword [eax + 0x24]
xor edx, dword [eax + 0x10]
xor edx, dword [eax + 0x30]
rol edx, 1
mov dword [eax + 0x30], edx
mov eax, edi
xor eax, ebx
lea edi, [ecx - 0x359d3e2a]
xor eax, ebp
rol ebp, 0x1e
add eax, edx
add eax, dword [esp + 0x18]
add edi, eax
mov dword [esp + 0x18], ebp
mov eax, dword [esp + 0x10]
mov ecx, edi
rol ecx, 5
mov eax, dword [eax + 0xc0]
mov edx, dword [eax + 0x3c]
xor edx, dword [eax + 0x28]
xor edx, dword [eax + 0x14]
xor edx, dword [eax + 0x34]
rol edx, 1
mov dword [eax + 0x34], edx
mov eax, ebx
xor eax, ebp
lea ebx, [ecx - 0x359d3e2a]
xor eax, esi
rol esi, 0x1e
add eax, edx
add eax, dword [esp + 0x1c]
add ebx, eax
mov eax, dword [esp + 0x10]
mov ecx, ebx
rol ecx, 5
mov eax, dword [eax + 0xc0]
mov edx, dword [eax + 0x2c]
xor edx, dword [eax + 0x18]
xor edx, dword [eax + 0x38]
xor edx, dword [eax]
rol edx, 1
mov dword [eax + 0x38], edx
mov eax, edi
xor eax, ebp
rol edi, 0x1e
xor eax, esi
lea ebp, [ecx - 0x359d3e2a]
add eax, edx
add eax, dword [esp + 0x28]
add ebp, eax
mov eax, dword [esp + 0x10]
mov ecx, ebp
rol ecx, 5
mov eax, dword [eax + 0xc0]
mov edx, dword [eax + 0x30]
xor edx, dword [eax + 0x1c]
xor edx, dword [eax + 4]
xor edx, dword [eax + 0x3c]
rol edx, 1
mov dword [eax + 0x3c], edx
add edx, 0xca62c1d6
mov eax, edi
xor eax, ebx
rol ebx, 0x1e
xor eax, esi
add eax, edx
add eax, dword [esp + 0x18]
add ecx, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x28], ecx
mov eax, dword [eax + 0xc0]
mov edx, dword [eax + 0x34]
xor edx, dword [eax + 0x20]
xor edx, dword [eax + 8]
xor edx, dword [eax]
rol edx, 1
mov dword [eax], edx
add esi, 0xca62c1d6
mov eax, edi
rol ecx, 5
xor eax, ebx
add edi, 0xca62c1d6
xor eax, ebp
rol ebp, 0x1e
add eax, edx
add eax, esi
mov esi, dword [esp + 0x28]
add ecx, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1c], ecx
rol ecx, 5
mov eax, dword [eax + 0xc0]
mov edx, dword [eax + 0x38]
xor edx, dword [eax + 0x24]
xor edx, dword [eax + 0xc]
xor edx, dword [eax + 4]
rol edx, 1
mov dword [eax + 4], edx
mov eax, ebx
xor eax, ebp
add ebx, 0xca62c1d6
xor eax, esi
rol esi, 0x1e
add eax, edx
add eax, edi
mov edi, dword [esp + 0x1c]
add ecx, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x28], ecx
rol ecx, 5
mov eax, dword [eax + 0xc0]
mov edx, dword [eax + 0x3c]
xor edx, dword [eax + 0x28]
xor edx, dword [eax + 0x10]
xor edx, dword [eax + 8]
rol edx, 1
mov dword [eax + 8], edx
mov eax, ebp
xor eax, esi
add ebp, 0xca62c1d6
xor eax, edi
rol edi, 0x1e
add eax, edx
add eax, ebx
mov ebx, dword [esp + 0x28]
add ecx, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1c], ecx
rol ecx, 5
mov eax, dword [eax + 0xc0]
mov edx, dword [eax + 0x2c]
xor edx, dword [eax + 0x14]
xor edx, dword [eax]
xor edx, dword [eax + 0xc]
rol edx, 1
mov dword [eax + 0xc], edx
mov eax, ebx
xor eax, esi
rol ebx, 0x1e
xor eax, edi
add eax, edx
add eax, ebp
mov ebp, dword [esp + 0x1c]
add ecx, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x28], ecx
rol ecx, 5
mov eax, dword [eax + 0xc0]
mov edx, dword [eax + 0x30]
xor edx, dword [eax + 0x18]
xor edx, dword [eax + 4]
xor edx, dword [eax + 0x10]
rol edx, 1
mov dword [eax + 0x10], edx
mov eax, ebx
xor eax, ebp
xor eax, edi
add eax, edx
rol ebp, 0x1e
add esi, 0xca62c1d6
add edi, 0xca62c1d6
add eax, esi
mov esi, dword [esp + 0x28]
add ecx, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1c], ecx
rol ecx, 5
mov eax, dword [eax + 0xc0]
mov edx, dword [eax + 0x34]
xor edx, dword [eax + 0x1c]
xor edx, dword [eax + 8]
xor edx, dword [eax + 0x14]
rol edx, 1
mov dword [eax + 0x14], edx
mov eax, ebx
xor eax, ebp
add ebx, 0xca62c1d6
xor eax, esi
rol esi, 0x1e
add eax, edx
add eax, edi
mov edi, dword [esp + 0x1c]
add ecx, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x28], ecx
rol ecx, 5
mov eax, dword [eax + 0xc0]
mov edx, dword [eax + 0x38]
xor edx, dword [eax + 0x20]
xor edx, dword [eax + 0xc]
xor edx, dword [eax + 0x18]
rol edx, 1
mov dword [eax + 0x18], edx
mov eax, ebp
xor eax, esi
add ebp, 0xca62c1d6
xor eax, edi
rol edi, 0x1e
add eax, edx
add eax, ebx
mov ebx, dword [esp + 0x28]
add ecx, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1c], ecx
rol ecx, 5
mov eax, dword [eax + 0xc0]
mov edx, dword [eax + 0x3c]
xor edx, dword [eax + 0x24]
xor edx, dword [eax + 0x10]
xor edx, dword [eax + 0x1c]
rol edx, 1
mov dword [eax + 0x1c], edx
mov eax, esi
xor eax, edi
add esi, 0xca62c1d6
xor eax, ebx
rol ebx, 0x1e
add eax, edx
add eax, ebp
mov ebp, dword [esp + 0x1c]
add ecx, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x28], ecx
rol ecx, 5
mov eax, dword [eax + 0xc0]
mov edx, dword [eax + 0x28]
xor edx, dword [eax + 0x14]
xor edx, dword [eax + 0x20]
xor edx, dword [eax]
rol edx, 1
mov dword [eax + 0x20], edx
mov eax, ebp
xor eax, edi
xor eax, ebx
add eax, edx
add eax, esi
add ecx, eax
mov dword [esp + 0x18], ecx
mov eax, dword [esp + 0x10]
add edi, 0xca62c1d6
mov esi, dword [esp + 0x28]
rol ebp, 0x1e
rol ecx, 5
mov eax, dword [eax + 0xc0]
mov edx, dword [eax + 0x2c]
xor edx, dword [eax + 0x18]
xor edx, dword [eax + 4]
xor edx, dword [eax + 0x24]
rol edx, 1
mov dword [eax + 0x24], edx
mov eax, ebp
xor eax, esi
rol esi, 0x1e
xor eax, ebx
add ebx, 0xca62c1d6
add eax, edx
add eax, edi
mov edi, dword [esp + 0x18]
add ecx, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1c], ecx
rol ecx, 5
mov eax, dword [eax + 0xc0]
mov edx, dword [eax + 0x30]
xor edx, dword [eax + 0x1c]
xor edx, dword [eax + 8]
xor edx, dword [eax + 0x28]
rol edx, 1
mov dword [eax + 0x28], edx
mov eax, ebp
xor eax, esi
xor eax, edi
rol edi, 0x1e
add eax, edx
add eax, ebx
mov ebx, dword [esp + 0x1c]
add ecx, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x28], ecx
rol ecx, 5
mov eax, dword [eax + 0xc0]
mov edx, dword [eax + 0x34]
xor edx, dword [eax + 0x20]
xor edx, dword [eax + 0xc]
xor edx, dword [eax + 0x2c]
rol edx, 1
mov dword [eax + 0x2c], edx
mov eax, esi
xor eax, edi
xor eax, ebx
rol ebx, 0x1e
add eax, edx
mov dword [esp + 0x1c], ebx
add eax, ebp
lea ebp, [ecx - 0x359d3e2a]
add ebp, eax
mov eax, dword [esp + 0x10]
mov ecx, ebp
rol ecx, 5
mov eax, dword [eax + 0xc0]
mov edx, dword [eax + 0x38]
xor edx, dword [eax + 0x24]
xor edx, dword [eax + 0x10]
xor edx, dword [eax + 0x30]
rol edx, 1
mov dword [eax + 0x30], edx
mov eax, edi
xor eax, ebx
lea ebx, [ecx - 0x359d3e2a]
xor eax, dword [esp + 0x28]
rol dword [esp + 0x28], 0x1e
add eax, edx
add eax, esi
add ebx, eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc0]
mov edx, dword [eax + 0x3c]
xor edx, dword [eax + 0x28]
xor edx, dword [eax + 0x14]
xor edx, dword [eax + 0x34]
mov ecx, ebx
rol edx, 1
mov dword [eax + 0x34], edx
mov eax, ebp
xor eax, dword [esp + 0x1c]
xor eax, dword [esp + 0x28]
add eax, edx
rol ecx, 5
add eax, edi
rol ebp, 0x1e
lea edi, [ecx - 0x359d3e2a]
add edi, eax
mov eax, dword [esp + 0x10]
mov esi, edi
rol esi, 5
mov eax, dword [eax + 0xc0]
mov edx, dword [eax + 0x2c]
xor edx, dword [eax + 0x18]
xor edx, dword [eax + 0x38]
xor edx, dword [eax]
rol edx, 1
mov dword [eax + 0x38], edx
add edx, 0xca62c1d6
mov eax, ebp
xor eax, ebx
rol ebx, 0x1e
xor eax, dword [esp + 0x28]
add eax, edx
add eax, dword [esp + 0x1c]
add esi, eax
mov eax, dword [esp + 0x10]
mov ecx, esi
rol ecx, 5
add ecx, 0xca62c1d6
mov eax, dword [eax + 0xc0]
add ecx, dword [esp + 0x28]
mov edx, dword [eax + 0x30]
xor edx, dword [eax + 0x1c]
xor edx, dword [eax + 4]
xor edx, dword [eax + 0x3c]
rol edx, 1
mov dword [eax + 0x3c], edx
mov eax, ebp
xor eax, ebx
xor eax, edi
rol edi, 0x1e
add eax, edx
add eax, ecx
mov ecx, dword [esp + 0x24]
add dword [ecx + 8], edi
add dword [ecx + 4], esi
add dword [ecx + 0xc], ebx
add dword [ecx], eax
add dword [ecx + 0x10], ebp
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 8