Function at 0x100d3830
Capabilities:
Hash data using sha1

Disassembly:
sub esp, 0x5c
mov edx, dword [ecx + 0x1c]
mov dword [esp], ecx
add edx, 0x5a827999
push ebx
mov ebx, dword [ecx + 0x18]
push ebp
mov ebp, dword [ecx + 0x14]
mov eax, ebp
push esi
mov esi, dword [ecx + 0xc]
mov dword [esp + 0x60], esi
mov esi, dword [esp + 0xc]
push edi
mov edi, dword [ecx + 8]
mov ecx, edi
ror ecx, 0x1b
xor eax, dword [esi + 0x10]
add ecx, ebx
mov esi, dword [esp + 0x64]
and eax, esi
xor eax, ebp
mov ebx, esi
add eax, ecx
shl ebx, 0x1e
add edx, eax
mov eax, esi
shr eax, 2
mov ecx, edx
or ebx, eax
ror ecx, 0x1b
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x10]
mov eax, esi
xor eax, ebx
and eax, edi
xor eax, esi
mov esi, dword [esp + 0x10]
add ecx, dword [esi + 0x20]
lea esi, [ebp + 0x5a827999]
add eax, ecx
mov ebp, edi
add esi, eax
shl ebp, 0x1e
mov eax, edi
mov ecx, esi
mov edi, dword [esp + 0x10]
shr eax, 2
or ebp, eax
ror ecx, 0x1b
mov eax, ebx
add ecx, dword [edi + 0x24]
xor eax, ebp
mov edi, dword [edi + 0x10]
and eax, edx
xor eax, ebx
add edi, 0x5a827999
add eax, ecx
mov ecx, dword [esp + 0x10]
add edi, eax
mov eax, edx
shl eax, 0x1e
shr edx, 2
or eax, edx
mov edx, dword [ecx + 0x28]
mov dword [esp + 0x64], eax
mov ecx, edi
xor eax, ebp
ror ecx, 0x1b
and eax, esi
mov dword [esp + 0x50], edx
xor eax, ebp
add ecx, ebx
add eax, ecx
add edx, 0x5a827999
add edx, eax
mov eax, esi
shl eax, 0x1e
shr esi, 2
or eax, esi
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x2c]
mov ecx, edx
mov ebx, dword [esp + 0x64]
mov eax, ebx
xor eax, dword [esp + 0x5c]
and eax, edi
ror ecx, 0x1b
xor eax, ebx
mov dword [esp + 0x4c], esi
add ecx, ebp
add esi, 0x5a827999
add eax, ecx
mov ebp, dword [esp + 0x5c]
add esi, eax
mov eax, edi
shl eax, 0x1e
mov ecx, esi
shr edi, 2
or eax, edi
ror ecx, 0x1b
mov edi, dword [esp + 0x10]
mov dword [esp + 0x60], eax
mov eax, ebp
xor eax, dword [esp + 0x60]
and eax, edx
add ecx, dword [edi + 0x30]
xor eax, ebp
add eax, ecx
lea edi, [ebx + 0x5a827999]
add edi, eax
mov ebx, edx
mov eax, dword [esp + 0x60]
mov ecx, edi
shr edx, 2
ror ecx, 0x1b
shl ebx, 0x1e
or ebx, edx
mov edx, dword [esp + 0x10]
xor eax, ebx
and eax, esi
xor eax, dword [esp + 0x60]
add ecx, dword [edx + 0x34]
lea edx, [ebp + 0x5a827999]
add eax, ecx
mov ebp, esi
add edx, eax
shr esi, 2
shl ebp, 0x1e
mov ecx, edx
or ebp, esi
ror ecx, 0x1b
mov esi, dword [esp + 0x10]
mov eax, ebx
xor eax, ebp
and eax, edi
xor eax, ebx
add ecx, dword [esi + 0x38]
mov esi, dword [esp + 0x60]
add eax, ecx
mov ecx, dword [esp + 0x10]
add esi, 0x5a827999
add esi, eax
mov eax, edi
shl eax, 0x1e
shr edi, 2
or eax, edi
mov edi, dword [ecx + 0x3c]
mov dword [esp + 0x64], eax
mov ecx, esi
xor eax, ebp
ror ecx, 0x1b
and eax, edx
add ecx, ebx
xor eax, ebp
add edi, 0x5a827999
add eax, ecx
add edi, eax
mov eax, edx
shl eax, 0x1e
shr edx, 2
or eax, edx
mov dword [esp + 0x54], eax
mov ecx, edi
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x64]
ror ecx, 0x1b
add ecx, ebp
mov ebp, dword [esp + 0x54]
mov edx, dword [eax + 0x40]
mov eax, ebx
xor eax, dword [esp + 0x54]
and eax, esi
mov dword [esp + 0x5c], edx
xor eax, ebx
add edx, 0x5a827999
add eax, ecx
add edx, eax
mov eax, esi
shl eax, 0x1e
mov ecx, edx
shr esi, 2
or eax, esi
ror ecx, 0x1b
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x44]
add ecx, esi
mov eax, ebp
mov dword [esp + 0x58], esi
xor eax, dword [esp + 0x60]
lea esi, [ebx + 0x5a827999]
and eax, edi
mov ebx, edi
xor eax, ebp
shr edi, 2
add eax, ecx
shl ebx, 0x1e
add esi, eax
or ebx, edi
mov edi, dword [esp + 0x10]
mov ecx, esi
mov eax, dword [esp + 0x60]
xor eax, ebx
ror ecx, 0x1b
and eax, edx
xor eax, dword [esp + 0x60]
add ecx, dword [edi + 0x48]
lea edi, [ebp + 0x5a827999]
add eax, ecx
mov ebp, edx
add edi, eax
shr edx, 2
shl ebp, 0x1e
mov eax, ebx
or ebp, edx
mov ecx, edi
mov edx, dword [esp + 0x10]
xor eax, ebp
and eax, esi
ror ecx, 0x1b
xor eax, ebx
add ecx, dword [edx + 0x4c]
mov edx, dword [esp + 0x60]
add eax, ecx
mov ecx, dword [esp + 0x10]
add edx, 0x5a827999
add edx, eax
mov eax, esi
shl eax, 0x1e
shr esi, 2
or eax, esi
mov esi, dword [ecx + 0x50]
mov dword [esp + 0x64], eax
mov ecx, edx
xor eax, ebp
ror ecx, 0x1b
and eax, edi
add ecx, ebx
xor eax, ebp
add esi, 0x5a827999
add eax, ecx
add esi, eax
mov ebx, dword [esp + 0x64]
mov eax, edi
shl eax, 0x1e
mov ecx, esi
shr edi, 2
or eax, edi
ror ecx, 0x1b
mov dword [esp + 0x60], eax
add ecx, ebp
mov eax, dword [esp + 0x10]
mov ebp, dword [esp + 0x60]
mov edi, dword [eax + 0x54]
mov eax, ebx
xor eax, dword [esp + 0x60]
and eax, edx
mov dword [esp + 0x2c], edi
xor eax, ebx
add edi, 0x5a827999
add eax, ecx
add edi, eax
mov eax, edx
shl eax, 0x1e
mov ecx, edi
shr edx, 2
or eax, edx
ror ecx, 0x1b
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x58]
add ecx, edx
mov eax, ebp
mov dword [esp + 0x28], edx
xor eax, dword [esp + 0x54]
lea edx, [ebx + 0x5a827999]
and eax, esi
mov ebx, dword [esp + 0x54]
xor eax, ebp
add eax, ecx
mov ecx, dword [esp + 0x10]
add edx, eax
mov eax, esi
shl eax, 0x1e
shr esi, 2
or eax, esi
mov dword [esp + 0x60], eax
mov eax, dword [ecx + 0x24]
xor eax, dword [ecx + 0x1c]
xor eax, dword [ecx + 0x50]
xor eax, dword [ecx + 0x3c]
mov ecx, edx
mov esi, eax
ror ecx, 0x1b
add eax, eax
shr esi, 0x1f
or esi, eax
mov eax, ebx
xor eax, dword [esp + 0x60]
add ecx, esi
and eax, edi
mov dword [esp + 0x24], esi
xor eax, ebx
lea esi, [ebp + 0x5a827999]
add eax, ecx
mov ecx, dword [esp + 0x10]
add esi, eax
mov eax, edi
shl eax, 0x1e
shr edi, 2
or eax, edi
mov dword [esp + 0x54], eax
mov eax, dword [ecx + 0x20]
mov ecx, esi
xor eax, dword [esp + 0x2c]
xor eax, dword [esp + 0x5c]
xor eax, dword [esp + 0x50]
mov edi, eax
add eax, eax
shr edi, 0x1f
or edi, eax
ror ecx, 0x1b
mov dword [esp + 0x20], edi
mov ebp, dword [esp + 0x60]
add ecx, edi
mov eax, ebp
add ebx, 0x5a827999
xor eax, dword [esp + 0x54]
mov edi, edx
and eax, edx
shl edi, 0x1e
xor eax, ebp
shr edx, 2
add eax, ecx
or edi, edx
mov ecx, dword [esp + 0x10]
add ebx, eax
mov edx, dword [esp + 0x54]
mov dword [esp + 0x64], edi
mov eax, dword [ecx + 0x24]
xor eax, dword [esp + 0x28]
xor eax, dword [esp + 0x58]
xor eax, dword [esp + 0x4c]
mov ecx, eax
add eax, eax
shr ecx, 0x1f
or ecx, eax
mov eax, edi
xor eax, edx
mov dword [esp + 0x14], ecx
mov edi, ecx
and eax, esi
xor eax, edx
mov ecx, ebx
ror ecx, 0x1b
add edi, 0x5a827999
add ecx, ebp
mov ebp, esi
add eax, ecx
shl ebp, 0x1e
mov ecx, dword [esp + 0x10]
add edi, eax
mov eax, dword [esp + 0x24]
shr esi, 2
or ebp, esi
mov esi, dword [esp + 0x64]
xor eax, dword [ecx + 0x48]
xor eax, dword [ecx + 0x30]
xor eax, dword [esp + 0x50]
mov ecx, eax
mov dword [esp + 0x60], ebp
add eax, eax
shr ecx, 0x1f
or ecx, eax
mov eax, esi
xor eax, ebp
mov dword [esp + 0x18], ecx
and eax, ebx
mov ecx, edi
xor eax, esi
ror ecx, 0x1b
add ecx, edx
mov ebp, ebx
mov edx, dword [esp + 0x18]
add eax, ecx
mov ecx, dword [esp + 0x10]
add edx, 0x5a827999
add edx, eax
shr ebx, 2
mov eax, dword [esp + 0x20]
shl ebp, 0x1e
xor eax, dword [ecx + 0x4c]
or ebp, ebx
xor eax, dword [ecx + 0x34]
mov ecx, edx
xor eax, dword [esp + 0x4c]
mov ebx, eax
mov dword [esp + 0x64], ebp
add eax, eax
shr ebx, 0x1f
or ebx, eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x30], ebx
ror ecx, 0x1b
xor eax, ebp
add ecx, ebx
xor eax, edi
add esi, 0x6ed9eba1
add eax, ecx
mov ebx, edi
mov ecx, dword [esp + 0x10]
add esi, eax
mov eax, dword [esp + 0x14]
shr edi, 2
shl ebx, 0x1e
xor eax, dword [ecx + 0x50]
or ebx, edi
xor eax, dword [ecx + 0x38]
xor ebp, ebx
xor eax, dword [ecx + 0x30]
xor ebp, edx
mov edi, eax
mov ecx, esi
add eax, eax
ror ecx, 0x1b
shr edi, 0x1f
or edi, eax
mov eax, dword [esp + 0x18]
xor eax, dword [esp + 0x2c]
add ecx, edi
add ebp, ecx
mov dword [esp + 0x34], edi
mov edi, dword [esp + 0x60]
mov ecx, dword [esp + 0x10]
add edi, 0x6ed9eba1
add edi, ebp
mov ebp, edx
shr edx, 2
shl ebp, 0x1e
xor eax, dword [ecx + 0x3c]
or ebp, edx
xor eax, dword [ecx + 0x34]
mov ecx, edi
mov edx, eax
ror ecx, 0x1b
add eax, eax
shr edx, 0x1f
or edx, eax
mov eax, esi
xor eax, ebx
mov dword [esp + 0x38], edx
xor eax, ebp
add ecx, edx
mov edx, dword [esp + 0x64]
add eax, ecx
mov ecx, dword [esp + 0x10]
add edx, 0x6ed9eba1
add edx, eax
mov eax, esi
shl eax, 0x1e
shr esi, 2
or eax, esi
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x30]
xor eax, dword [esp + 0x28]
xor eax, dword [esp + 0x5c]
xor eax, dword [ecx + 0x38]
mov ecx, edx
mov esi, eax
ror ecx, 0x1b
add eax, eax
shr esi, 0x1f
or esi, eax
add ecx, ebx
mov eax, dword [esp + 0x60]
xor eax, edi
mov dword [esp + 0x3c], esi
xor eax, ebp
add esi, 0x6ed9eba1
add eax, ecx
add esi, eax
mov eax, edi
shl eax, 0x1e
shr edi, 2
or eax, edi
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x24]
xor eax, dword [esp + 0x34]
xor eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x60]
xor eax, dword [ecx + 0x3c]
mov ecx, esi
mov edi, eax
ror ecx, 0x1b
add eax, eax
shr edi, 0x1f
or edi, eax
add ecx, ebp
mov ebp, dword [esp + 0x54]
mov eax, ebx
xor eax, dword [esp + 0x54]
xor eax, edx
mov dword [esp + 0x40], edi
add eax, ecx
add edi, 0x6ed9eba1
add edi, eax
mov ecx, dword [esp + 0x10]
mov eax, edx
shr edx, 2
shl eax, 0x1e
or eax, edx
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x20]
xor eax, dword [esp + 0x38]
xor eax, dword [ecx + 0x48]
mov ecx, edi
xor eax, dword [esp + 0x5c]
mov edx, eax
ror ecx, 0x1b
add eax, eax
shr edx, 0x1f
or edx, eax
mov eax, ebp
xor eax, dword [esp + 0x60]
add ecx, edx
xor eax, esi
mov dword [esp + 0x44], edx
add eax, ecx
lea edx, [ebx + 0x6ed9eba1]
mov ecx, dword [esp + 0x10]
add edx, eax
mov eax, dword [esp + 0x3c]
mov ebx, esi
xor eax, dword [esp + 0x14]
shr esi, 2
xor eax, dword [ecx + 0x4c]
mov ecx, edx
xor eax, dword [esp + 0x58]
shl ebx, 0x1e
or ebx, esi
ror ecx, 0x1b
mov esi, eax
add eax, eax
shr esi, 0x1f
or esi, eax
mov eax, dword [esp + 0x60]
xor eax, ebx
mov dword [esp + 0x48], esi
xor eax, edi
add ecx, esi
add eax, ecx
lea esi, [ebp + 0x6ed9eba1]
mov ecx, dword [esp + 0x10]
add esi, eax
mov eax, dword [esp + 0x18]
mov ebp, edi
xor eax, dword [esp + 0x40]
shr edi, 2
xor eax, dword [ecx + 0x50]
xor eax, dword [ecx + 0x48]
shl ebp, 0x1e
or ebp, edi
mov edi, eax
shr edi, 0x1f
add eax, eax
or edi, eax
mov ecx, esi
ror ecx, 0x1b
mov eax, edx
xor eax, ebx
mov dword [esp + 0x4c], edi
xor eax, ebp
add ecx, edi
add eax, ecx
mov edi, dword [esp + 0x60]
mov ecx, dword [esp + 0x10]
add edi, 0x6ed9eba1
add edi, eax
mov eax, edx
shl eax, 0x1e
shr edx, 2
or eax, edx
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x30]
xor eax, dword [esp + 0x44]
xor eax, dword [esp + 0x2c]
xor eax, dword [ecx + 0x4c]
mov ecx, edi
mov edx, eax
ror ecx, 0x1b
add eax, eax
shr edx, 0x1f
or edx, eax
add ecx, ebx
mov eax, dword [esp + 0x5c]
xor eax, esi
mov ebx, dword [esp + 0x5c]
xor eax, ebp
mov dword [esp + 0x50], edx
add eax, ecx
add edx, 0x6ed9eba1
mov ecx, dword [esp + 0x10]
add edx, eax
mov eax, esi
shr esi, 2
shl eax, 0x1e
or eax, esi
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x34]
xor eax, dword [esp + 0x48]
xor eax, dword [esp + 0x28]
xor eax, dword [ecx + 0x50]
mov ecx, edx
mov esi, eax
ror ecx, 0x1b
add eax, eax
shr esi, 0x1f
or esi, eax
add ecx, ebp
mov eax, ebx
mov dword [esp + 0x54], esi
xor eax, dword [esp + 0x60]
add esi, 0x6ed9eba1
xor eax, edi
mov ebp, edi
add eax, ecx
shr edi, 2
add esi, eax
shl ebp, 0x1e
mov eax, dword [esp + 0x24]
or ebp, edi
xor eax, dword [esp + 0x38]
mov ecx, esi
xor eax, dword [esp + 0x4c]
xor eax, dword [esp + 0x2c]
mov edi, eax
ror ecx, 0x1b
add eax, eax
shr edi, 0x1f
or edi, eax
mov dword [esp + 0x5c], ebp
mov eax, dword [esp + 0x60]
xor eax, ebp
mov dword [esp + 0x2c], edi
xor eax, edx
add ecx, edi
add eax, ecx
lea edi, [ebx + 0x6ed9eba1]
add edi, eax
mov ebp, edx
mov eax, dword [esp + 0x20]
mov ecx, edi
xor eax, dword [esp + 0x3c]
mov ebx, esi
xor eax, dword [esp + 0x50]
xor eax, dword [esp + 0x28]
shr edx, 2
shl ebp, 0x1e
or ebp, edx
ror ecx, 0x1b
mov edx, eax
shl ebx, 0x1e
add eax, eax
shr edx, 0x1f
or edx, eax
mov eax, dword [esp + 0x5c]
xor eax, ebp
mov dword [esp + 0x28], edx
xor eax, esi
add ecx, edx
mov edx, dword [esp + 0x60]
add eax, ecx
add edx, 0x6ed9eba1
shr esi, 2
add edx, eax
or ebx, esi
mov eax, dword [esp + 0x24]
mov ecx, edx
xor eax, dword [esp + 0x54]
xor eax, dword [esp + 0x40]
xor eax, dword [esp + 0x14]
mov esi, eax
ror ecx, 0x1b
add eax, eax
shr esi, 0x1f
or esi, eax
mov dword [esp + 0x64], ebx
add ecx, esi
mov dword [esp + 0x24], esi
mov eax, edi
mov esi, edi
xor eax, ebp
shl esi, 0x1e
xor eax, ebx
shr edi, 2
mov ebx, dword [esp + 0x5c]
add eax, ecx
add ebx, 0x6ed9eba1
or esi, edi
add ebx, eax
mov dword [esp + 0x60], esi
mov eax, dword [esp + 0x20]
xor eax, dword [esp + 0x2c]
xor eax, dword [esp + 0x44]
xor eax, dword [esp + 0x18]
mov ecx, eax
add eax, eax
shr ecx, 0x1f
or ecx, eax
mov eax, esi
mov dword [esp + 0x1c], ecx
xor eax, edx
xor eax, dword [esp + 0x64]
mov ecx, ebx
mov esi, dword [esp + 0x1c]
ror ecx, 0x1b
add esi, 0x6ed9eba1
add ecx, ebp
mov ebp, edx
add eax, ecx
shl ebp, 0x1e
add esi, eax
shr edx, 2
mov eax, dword [esp + 0x48]
or ebp, edx
xor eax, dword [esp + 0x30]
xor eax, dword [esp + 0x14]
xor eax, dword [esp + 0x28]
mov ecx, esi
mov edx, eax
ror ecx, 0x1b
add ecx, dword [esp + 0x64]
add eax, eax
shr edx, 0x1f
mov edi, ebx
or edx, eax
shl edi, 0x1e
mov eax, dword [esp + 0x60]
xor eax, ebp
mov dword [esp + 0x58], edx
xor eax, ebx
add edx, 0x6ed9eba1
add eax, ecx
shr ebx, 2
add edx, eax
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x24]
or edi, ebx
xor eax, dword [esp + 0x4c]
xor eax, dword [esp + 0x34]
xor ecx, eax
mov dword [esp + 0x20], edi
mov ebx, ecx
shr ebx, 0x1f
lea eax, [ecx + ecx]
mov ecx, edx
or ebx, eax
ror ecx, 0x1b
add ecx, ebx
mov dword [esp + 0x5c], ebx
mov eax, ebp
mov ebx, esi
xor eax, edi
shl ebx, 0x1e
mov edi, dword [esp + 0x60]
xor eax, esi
add eax, ecx
shr esi, 2
mov ecx, dword [esp + 0x30]
add edi, 0x6ed9eba1
add edi, eax
or ebx, esi
mov eax, dword [esp + 0x1c]
xor eax, dword [esp + 0x50]
xor eax, dword [esp + 0x38]
xor ecx, eax
mov esi, ecx
shr esi, 0x1f
lea eax, [ecx + ecx]
mov ecx, edi
or esi, eax
ror ecx, 0x1b
mov eax, dword [esp + 0x20]
add ecx, esi
xor eax, ebx
mov dword [esp + 0x30], esi
xor eax, edx
lea esi, [ebp + 0x6ed9eba1]
add eax, ecx
mov ebp, edx
add esi, eax
shr edx, 2
mov eax, dword [esp + 0x3c]
mov ecx, esi
xor eax, dword [esp + 0x54]
xor eax, dword [esp + 0x34]
xor eax, dword [esp + 0x58]
shl ebp, 0x1e
or ebp, edx
ror ecx, 0x1b
mov edx, eax
add eax, eax
shr edx, 0x1f
or edx, eax
mov eax, edi
xor eax, ebx
mov dword [esp + 0x34], edx
xor eax, ebp
add ecx, edx
mov edx, dword [esp + 0x20]
add eax, ecx
add edx, 0x6ed9eba1
add edx, eax
mov eax, edi
shl eax, 0x1e
mov ecx, edx
shr edi, 2
or eax, edi
ror ecx, 0x1b
mov dword [esp + 0x60], eax
add ecx, ebx
mov eax, dword [esp + 0x2c]
xor eax, dword [esp + 0x38]
xor eax, dword [esp + 0x5c]
xor eax, dword [esp + 0x40]
mov edi, eax
mov ebx, dword [esp + 0x60]
add eax, eax
shr edi, 0x1f
or edi, eax
mov eax, dword [esp + 0x60]
xor eax, esi
mov dword [esp + 0x38], edi
xor eax, ebp
add edi, 0x6ed9eba1
add eax, ecx
add edi, eax
mov eax, esi
shl eax, 0x1e
mov ecx, edi
shr esi, 2
or eax, esi
ror ecx, 0x1b
mov dword [esp + 0x20], eax
add ecx, ebp
mov eax, dword [esp + 0x3c]
xor eax, dword [esp + 0x30]
xor eax, dword [esp + 0x44]
xor eax, dword [esp + 0x28]
mov esi, eax
add eax, eax
shr esi, 0x1f
or esi, eax
mov eax, ebx
xor eax, dword [esp + 0x20]
xor eax, edx
mov dword [esp + 0x3c], esi
add eax, ecx
add esi, 0x6ed9eba1
add esi, eax
mov ecx, edx
mov eax, dword [esp + 0x24]
xor eax, dword [esp + 0x34]
xor eax, dword [esp + 0x48]
shl ecx, 0x1e
shr edx, 2
or ecx, edx
mov edx, dword [esp + 0x40]
xor edx, eax
mov dword [esp + 0x60], ecx
mov ebp, edx
or ecx, edi
shr ebp, 0x1f
lea eax, [edx + edx]
mov edx, esi
or ebp, eax
ror edx, 0x1b
mov eax, dword [esp + 0x60]
add ebx, edx
mov dword [esp + 0x18], ebp
and eax, edi
mov ebp, dword [esp + 0x20]
and ecx, ebp
or ecx, eax
add ecx, 0x8f1bbcdc
add ecx, dword [esp + 0x18]
add ebx, ecx
mov ecx, edi
shl ecx, 0x1e
mov eax, dword [esp + 0x1c]
xor eax, dword [esp + 0x38]
xor eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x44]
xor edx, eax
shr edi, 2
or ecx, edi
mov edi, edx
mov dword [esp + 0x20], ecx
or ecx, esi
and ecx, dword [esp + 0x60]
lea eax, [edx + edx]
shr edi, 0x1f
or edi, eax
mov edx, ebx
mov eax, dword [esp + 0x20]
and eax, esi
ror edx, 0x1b
or ecx, eax
mov dword [esp + 0x44], edi
mov eax, dword [esp + 0x3c]
add ecx, edi
xor eax, dword [esp + 0x50]
add ecx, 0x8f1bbcdc
xor eax, dword [esp + 0x48]
lea edi, [edx + ebp]
xor eax, dword [esp + 0x58]
add edi, ecx
mov ebp, esi
mov ecx, ebx
shr esi, 2
mov edx, edi
shl ebp, 0x1e
or ebp, esi
ror edx, 0x1b
add edx, dword [esp + 0x60]
mov esi, eax
or ecx, ebp
mov dword [esp + 0x40], ebp
mov ebp, dword [esp + 0x20]
add eax, eax
and ecx, ebp
shr esi, 0x1f
or esi, eax
add ebp, 0x8f1bbcdc
mov eax, ebx
mov dword [esp + 0x48], esi
and eax, dword [esp + 0x40]
or ecx, eax
mov eax, dword [esp + 0x4c]
xor eax, dword [esp + 0x54]
add ecx, esi
xor eax, dword [esp + 0x5c]
lea esi, [edx - 0x70e44324]
xor eax, dword [esp + 0x18]
add esi, ecx
mov ecx, ebx
mov edx, esi
shr ebx, 2
shl ecx, 0x1e
or ecx, ebx
ror edx, 0x1b
mov ebx, eax
mov dword [esp + 0x60], ecx
shr ebx, 0x1f
add eax, eax
or ebx, eax
or ecx, edi
and ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x60]
and eax, edi
mov dword [esp + 0x4c], ebx
or ecx, eax
add ebx, edx
add ecx, ebp
mov ebp, edi
shl ebp, 0x1e
add ebx, ecx
shr edi, 2
or ebp, edi
mov dword [esp + 0x20], ebp
mov eax, dword [esp + 0x50]
mov edx, ebx
xor eax, dword [esp + 0x2c]
mov ecx, ebp
xor eax, dword [esp + 0x30]
or ecx, esi
xor eax, dword [esp + 0x44]
and ebp, esi
and ecx, dword [esp + 0x60]
mov edi, eax
add eax, eax
shr edi, 0x1f
or edi, eax
ror edx, 0x1b
mov eax, dword [esp + 0x54]
or ecx, ebp
xor eax, dword [esp + 0x34]
add ecx, 0x8f1bbcdc
add ecx, dword [esp + 0x40]
xor eax, dword [esp + 0x48]
lea ebp, [edi + edx]
xor eax, dword [esp + 0x28]
add ebp, ecx
mov dword [esp + 0x50], edi
mov edx, ebp
mov edi, esi
ror edx, 0x1b
add edx, dword [esp + 0x60]
shl edi, 0x1e
shr esi, 2
or edi, esi
mov esi, eax
mov ecx, edi
mov dword [esp + 0x64], edi
or ecx, ebx
shr esi, 0x1f
and ecx, dword [esp + 0x20]
and edi, ebx
or ecx, edi
add eax, eax
or esi, eax
mov edi, ebx
mov eax, dword [esp + 0x2c]
add ecx, esi
xor eax, dword [esp + 0x24]
xor eax, dword [esp + 0x38]
xor eax, dword [esp + 0x4c]
shr ebx, 2
shl edi, 0x1e
or edi, ebx
mov dword [esp + 0x54], esi
lea esi, [edx - 0x70e44324]
mov dword [esp + 0x60], edi
add esi, ecx
mov ebx, eax
mov ecx, edi
shr ebx, 0x1f
or ecx, ebp
add eax, eax
and ecx, dword [esp + 0x64]
or ebx, eax
mov eax, dword [esp + 0x1c]
mov edx, esi
xor eax, dword [esp + 0x3c]
and edi, ebp
xor eax, dword [esp + 0x50]
or ecx, edi
ror edx, 0x1b
add ecx, ebx
add edx, dword [esp + 0x20]
mov dword [esp + 0x40], ebx
mov ebx, ebp
shl ebx, 0x1e
shr ebp, 2
lea edi, [edx - 0x70e44324]
or ebx, ebp
add edi, ecx
mov dword [esp + 0x68], ebx
mov ecx, dword [esp + 0x28]
xor ecx, eax
mov edx, ecx
lea eax, [ecx + ecx]
shr edx, 0x1f
or edx, eax
mov ecx, esi
or ecx, ebx
mov dword [esp + 0x14], edx
and ecx, dword [esp + 0x60]
mov edx, edi
ror edx, 0x1b
mov eax, esi
add edx, dword [esp + 0x64]
and eax, ebx
or ecx, eax
mov eax, dword [esp + 0x24]
xor eax, dword [esp + 0x54]
add ecx, dword [esp + 0x14]
xor eax, dword [esp + 0x18]
lea ebx, [edx - 0x70e44324]
xor eax, dword [esp + 0x58]
add ebx, ecx
mov edx, eax
mov ecx, esi
shl ecx, 0x1e
add eax, eax
shr esi, 2
mov ebp, ebx
or ecx, esi
shr edx, 0x1f
mov esi, dword [esp + 0x68]
or edx, eax
mov dword [esp + 0x2c], ecx
or ecx, edi
mov eax, dword [esp + 0x2c]
and ecx, esi
and eax, edi
ror ebp, 0x1b
or ecx, eax
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x1c]
add ecx, 0x8f1bbcdc
add ecx, dword [esp + 0x60]
add ebp, edx
xor eax, dword [esp + 0x40]
add ebp, ecx
xor eax, dword [esp + 0x44]
mov ecx, edi
xor eax, dword [esp + 0x5c]
add esi, 0x8f1bbcdc
shr edi, 2
mov edx, ebp
shl ecx, 0x1e
or ecx, edi
ror edx, 0x1b
mov edi, eax
mov dword [esp + 0x28], ecx
add eax, eax
shr edi, 0x1f
or edi, eax
or ecx, ebx
and ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
and eax, ebx
mov dword [esp + 0x60], edi
or ecx, eax
add edi, edx
mov eax, dword [esp + 0x48]
add ecx, esi
xor eax, dword [esp + 0x30]
mov esi, ebx
xor eax, dword [esp + 0x58]
add edi, ecx
xor eax, dword [esp + 0x14]
shr ebx, 2
shl esi, 0x1e
or esi, ebx
mov ebx, eax
shr ebx, 0x1f
add eax, eax
or ebx, eax
mov dword [esp + 0x68], esi
mov dword [esp + 0x58], ebx
mov eax, dword [esp + 0x20]
mov ecx, esi
xor eax, dword [esp + 0x4c]
or ecx, ebp
and ecx, dword [esp + 0x28]
and esi, ebp
xor eax, dword [esp + 0x34]
or ecx, esi
add ecx, ebx
mov edx, edi
ror edx, 0x1b
mov ebx, ebp
add edx, dword [esp + 0x2c]
shl ebx, 0x1e
shr ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x68]
lea esi, [edx - 0x70e44324]
mov dword [esp + 0x64], ebx
mov edx, dword [esp + 0x5c]
add esi, ecx
xor edx, eax
mov ecx, edx
shr ecx, 0x1f
lea eax, [edx + edx]
mov edx, esi
or ecx, eax
ror edx, 0x1b
add edx, dword [esp + 0x28]
mov eax, edi
mov dword [esp + 0x1c], ecx
mov ecx, ebx
or ecx, edi
shl eax, 0x1e
and ecx, ebp
and ebx, edi
or ecx, ebx
shr edi, 2
add ecx, dword [esp + 0x1c]
lea ebx, [edx - 0x70e44324]
mov edx, dword [esp + 0x30]
or eax, edi
mov dword [esp + 0x5c], eax
add ebx, ecx
mov eax, dword [esp + 0x60]
xor eax, dword [esp + 0x50]
xor eax, dword [esp + 0x38]
xor edx, eax
mov ecx, edx
shr ecx, 0x1f
lea eax, [edx + edx]
mov edx, ebx
or ecx, eax
ror edx, 0x1b
mov dword [esp + 0x24], ecx
mov eax, esi
and eax, dword [esp + 0x5c]
mov ecx, esi
or ecx, dword [esp + 0x5c]
add ebp, edx
and ecx, dword [esp + 0x64]
or ecx, eax
mov eax, dword [esp + 0x3c]
xor eax, dword [esp + 0x54]
add ecx, 0x8f1bbcdc
xor eax, dword [esp + 0x34]
add ecx, dword [esp + 0x24]
xor eax, dword [esp + 0x58]
add ebp, ecx
mov edx, eax
mov ecx, esi
shr edx, 0x1f
add eax, eax
or edx, eax
shl ecx, 0x1e
shr esi, 2
mov dword [esp + 0x28], edx
or ecx, esi
mov edx, ebp
mov dword [esp + 0x30], ecx
ror edx, 0x1b
mov eax, dword [esp + 0x30]
or ecx, ebx
and ecx, dword [esp + 0x5c]
and eax, ebx
or ecx, eax
add edx, dword [esp + 0x28]
add ecx, dword [esp + 0x64]
mov edi, ebx
mov eax, dword [esp + 0x40]
mov esi, ebp
xor eax, dword [esp + 0x38]
xor eax, dword [esp + 0x1c]
xor eax, dword [esp + 0x18]
shr ebx, 2
shl edi, 0x1e
or edi, ebx
shl esi, 0x1e
mov ebx, eax
mov dword [esp + 0x64], edi
add eax, eax
shr ebx, 0x1f
or ebx, eax
mov eax, dword [esp + 0x3c]
xor eax, dword [esp + 0x24]
xor eax, dword [esp + 0x44]
xor eax, dword [esp + 0x14]
mov dword [esp + 0x2c], ebx
lea ebx, [edx - 0x70e44324]
add ebx, ecx
mov ecx, edi
or ecx, ebp
and edi, ebp
and ecx, dword [esp + 0x30]
mov edx, ebx
or ecx, edi
ror edx, 0x1b
add ecx, dword [esp + 0x5c]
add edx, dword [esp + 0x2c]
shr ebp, 2
or esi, ebp
mov ebp, eax
shr ebp, 0x1f
add eax, eax
lea edi, [edx - 0x70e44324]
mov dword [esp + 0x34], esi
add edi, ecx
or ebp, eax
mov eax, dword [esp + 0x20]
mov ecx, esi
xor eax, dword [esp + 0x28]
or ecx, ebx
and ecx, dword [esp + 0x64]
and esi, ebx
xor eax, dword [esp + 0x48]
or ecx, esi
add ecx, ebp
mov dword [esp + 0x5c], ebp
mov edx, edi
mov ebp, ebx
ror edx, 0x1b
add edx, dword [esp + 0x30]
shr ebx, 2
shl ebp, 0x1e
or ebp, ebx
lea esi, [edx - 0x70e44324]
mov dword [esp + 0x68], ebp
add esi, ecx
mov ecx, dword [esp + 0x18]
xor ecx, eax
mov edx, esi
mov ebx, ecx
ror edx, 0x1b
shr ebx, 0x1f
lea eax, [ecx + ecx]
mov ecx, ebp
or ecx, edi
or ebx, eax
and ecx, dword [esp + 0x34]
and ebp, edi
mov dword [esp + 0x3c], ebx
or ecx, ebp
add edx, dword [esp + 0x64]
add ecx, ebx
mov eax, dword [esp + 0x60]
mov ebx, edi
xor eax, dword [esp + 0x2c]
xor eax, dword [esp + 0x4c]
lea ebp, [edx - 0x70e44324]
shr edi, 2
add ebp, ecx
shl ebx, 0x1e
mov ecx, dword [esp + 0x44]
or ebx, edi
xor ecx, eax
mov dword [esp + 0x38], ebx
mov edi, ecx
mov edx, ebp
shr edi, 0x1f
ror edx, 0x1b
lea eax, [ecx + ecx]
add edx, dword [esp + 0x34]
or edi, eax
mov ecx, esi
or ecx, ebx
mov dword [esp + 0x44], edi
and ecx, dword [esp + 0x68]
mov eax, esi
and eax, ebx
add edi, 0x8f1bbcdc
or ecx, eax
mov eax, dword [esp + 0x5c]
xor eax, dword [esp + 0x50]
add edi, ecx
xor eax, dword [esp + 0x48]
mov ecx, esi
xor eax, dword [esp + 0x58]
add edi, edx
shl ecx, 0x1e
mov ebx, edi
shr esi, 2
or ecx, esi
ror ebx, 0x1b
mov dword [esp + 0x64], ecx
mov esi, eax
or ecx, ebp
shr esi, 0x1f
and ecx, dword [esp + 0x38]
add eax, eax
or esi, eax
mov eax, dword [esp + 0x64]
and eax, ebp
mov dword [esp + 0x48], esi
or ecx, eax
add ebx, esi
mov eax, dword [esp + 0x4c]
add ecx, 0x8f1bbcdc
add ecx, dword [esp + 0x68]
mov esi, ebp
xor eax, dword [esp + 0x54]
add ebx, ecx
xor eax, dword [esp + 0x1c]
mov edx, ebx
xor eax, dword [esp + 0x3c]
mov ecx, eax
shl esi, 0x1e
shr ecx, 0x1f
add eax, eax
or ecx, eax
shr ebp, 2
or esi, ebp
mov dword [esp + 0x18], ecx
mov ebp, dword [esp + 0x64]
mov ecx, esi
or ecx, edi
mov dword [esp + 0x34], esi
and ecx, ebp
ror edx, 0x1b
and esi, edi
or ecx, esi
add ecx, dword [esp + 0x38]
add edx, dword [esp + 0x18]
lea esi, [edx - 0x70e44324]
mov eax, dword [esp + 0x50]
add esi, ecx
xor eax, dword [esp + 0x40]
mov edx, edi
xor eax, dword [esp + 0x24]
mov ecx, esi
xor eax, dword [esp + 0x44]
shr edi, 2
shl edx, 0x1e
or edx, edi
ror ecx, 0x1b
mov edi, eax
mov dword [esp + 0x68], edx
add eax, eax
shr edi, 0x1f
or edi, eax
mov eax, dword [esp + 0x34]
xor eax, edx
mov dword [esp + 0x50], edi
xor eax, ebx
add eax, edi
lea edi, [ecx + ebp]
add eax, 0xca62c1d6
mov ebp, ebx
add edi, eax
shr ebx, 2
mov eax, dword [esp + 0x54]
mov ecx, edi
xor eax, dword [esp + 0x28]
xor eax, dword [esp + 0x48]
xor eax, dword [esp + 0x14]
shl ebp, 0x1e
or ebp, ebx
ror ecx, 0x1b
add ecx, dword [esp + 0x34]
mov ebx, eax
add eax, eax
shr ebx, 0x1f
or ebx, eax
mov eax, edx
xor eax, ebp
mov dword [esp + 0x54], ebx
xor eax, esi
lea edx, [ecx - 0x359d3e2a]
add eax, ebx
mov ebx, esi
add edx, eax
shr esi, 2
mov eax, dword [esp + 0x40]
mov ecx, edx
xor eax, dword [esp + 0x20]
xor eax, dword [esp + 0x2c]
xor eax, dword [esp + 0x18]
shl ebx, 0x1e
or ebx, esi
ror ecx, 0x1b
add ecx, dword [esp + 0x68]
mov esi, eax
add eax, eax
shr esi, 0x1f
or esi, eax
mov eax, edi
xor eax, ebp
mov dword [esp + 0x4c], esi
xor eax, ebx
add eax, esi
lea esi, [ecx - 0x359d3e2a]
mov ecx, dword [esp + 0x14]
add esi, eax
mov eax, edi
shr edi, 2
shl eax, 0x1e
or eax, edi
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x60]
xor eax, dword [esp + 0x5c]
xor eax, dword [esp + 0x50]
xor ecx, eax
mov edi, ecx
shr edi, 0x1f
lea eax, [ecx + ecx]
or edi, eax
add ebp, 0xca62c1d6
mov eax, dword [esp + 0x64]
mov ecx, esi
xor eax, edx
ror ecx, 0x1b
xor eax, ebx
mov dword [esp + 0x38], edi
add eax, ebp
add edi, ecx
add edi, eax
mov ebp, edx
mov eax, dword [esp + 0x20]
xor eax, dword [esp + 0x54]
xor eax, dword [esp + 0x3c]
xor eax, dword [esp + 0x58]
mov ecx, eax
shl ebp, 0x1e
add eax, eax
shr ecx, 0x1f
or ecx, eax
shr edx, 2
mov eax, dword [esp + 0x10]
or ebp, edx
mov edx, dword [esp + 0x64]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x30], ebp
mov dword [eax + 0x1c], ecx
mov ecx, edi
ror ecx, 0x1b
mov eax, edx
add ecx, dword [esp + 0x40]
xor eax, ebp
xor eax, esi
mov ebp, esi
add eax, ebx
shr esi, 2
shl ebp, 0x1e
lea ebx, [ecx - 0x359d3e2a]
or ebp, esi
add ebx, eax
mov dword [esp + 0x64], ebp
mov eax, dword [esp + 0x60]
mov ecx, ebx
xor eax, dword [esp + 0x4c]
xor eax, dword [esp + 0x44]
xor eax, dword [esp + 0x1c]
mov esi, eax
ror ecx, 0x1b
add eax, eax
shr esi, 0x1f
or esi, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x34], esi
mov dword [eax + 0x20], esi
mov eax, dword [esp + 0x30]
xor eax, ebp
mov ebp, edi
xor eax, edi
shl ebp, 0x1e
add eax, esi
shr edi, 2
add eax, 0xca62c1d6
lea esi, [edx + ecx]
add esi, eax
or ebp, edi
mov eax, dword [esp + 0x48]
mov ecx, esi
xor eax, dword [esp + 0x24]
xor eax, dword [esp + 0x58]
xor eax, dword [esp + 0x38]
mov edx, eax
ror ecx, 0x1b
add eax, eax
shr edx, 0x1f
or edx, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x20], edx
mov dword [eax + 0x24], edx
mov eax, dword [esp + 0x64]
xor eax, ebp
add ecx, dword [esp + 0x30]
xor eax, ebx
add eax, edx
mov edi, ebx
shr ebx, 2
shl edi, 0x1e
lea edx, [ecx - 0x359d3e2a]
or edi, ebx
add edx, eax
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x40]
xor eax, dword [esp + 0x18]
xor eax, dword [esp + 0x28]
xor ecx, eax
mov dword [esp + 0x68], edi
mov ebx, ecx
shr ebx, 0x1f
lea eax, [ecx + ecx]
mov ecx, edx
or ebx, eax
ror ecx, 0x1b
add ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1c], ebx
mov dword [eax + 0x28], ebx
mov eax, esi
xor eax, ebp
xor eax, edi
lea edi, [ecx - 0x359d3e2a]
add eax, ebx
mov ebx, esi
add edi, eax
shl ebx, 0x1e
mov eax, dword [esp + 0x34]
xor eax, dword [esp + 0x50]
xor eax, dword [esp + 0x2c]
shr esi, 2
or ebx, esi
mov esi, dword [esp + 0x24]
xor esi, eax
mov dword [esp + 0x30], ebx
mov ecx, esi
shr ecx, 0x1f
lea eax, [esi + esi]
or ecx, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x60], ecx
mov dword [eax + 0x2c], ecx
mov ecx, edi
ror ecx, 0x1b
mov eax, ebx
add ecx, dword [esp + 0x60]
xor eax, edx
xor eax, dword [esp + 0x68]
add eax, ebp
mov ebp, edx
shr edx, 2
lea ebx, [ecx - 0x359d3e2a]
shl ebp, 0x1e
add ebx, eax
or ebp, edx
mov eax, dword [esp + 0x5c]
xor eax, dword [esp + 0x54]
xor eax, dword [esp + 0x28]
xor eax, dword [esp + 0x20]
mov edx, dword [esp + 0x30]
mov ecx, eax
add eax, eax
shr ecx, 0x1f
or ecx, eax
mov dword [esp + 0x64], ebp
mov eax, dword [esp + 0x10]
mov dword [esp + 0x58], ecx
mov dword [eax + 0x30], ecx
mov eax, edx
xor eax, ebp
mov ecx, ebx
xor eax, edi
ror ecx, 0x1b
add eax, dword [esp + 0x68]
add ecx, dword [esp + 0x58]
lea ebp, [ecx - 0x359d3e2a]
mov esi, edi
add ebp, eax
shr edi, 2
mov eax, dword [esp + 0x4c]
mov ecx, ebp
xor eax, dword [esp + 0x2c]
xor eax, dword [esp + 0x1c]
xor eax, dword [esp + 0x3c]
shl esi, 0x1e
or esi, edi
ror ecx, 0x1b
mov edi, eax
mov dword [esp + 0x30], esi
add eax, eax
shr edi, 0x1f
or edi, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x2c], edi
mov dword [eax + 0x34], edi
add edi, 0xca62c1d6
mov eax, dword [esp + 0x64]
xor eax, esi
lea esi, [edx + ecx]
xor eax, ebx
add eax, edi
mov edi, ebx
add esi, eax
shr ebx, 2
mov eax, dword [esp + 0x5c]
mov ecx, esi
xor eax, dword [esp + 0x60]
xor eax, dword [esp + 0x44]
xor eax, dword [esp + 0x38]
mov edx, eax
ror ecx, 0x1b
add ecx, dword [esp + 0x64]
add eax, eax
shr edx, 0x1f
or edx, eax
shl edi, 0x1e
mov eax, dword [esp + 0x10]
or edi, ebx
mov dword [esp + 0x28], edx
mov ebx, ebp
shl ebx, 0x1e
mov dword [esp + 0x68], edi
mov dword [eax + 0x38], edx
mov eax, dword [esp + 0x30]
xor eax, edi
xor eax, ebp
shr ebp, 2
add eax, edx
or ebx, ebp
lea edx, [ecx - 0x359d3e2a]
mov dword [esp + 0x64], ebx
mov ecx, dword [esp + 0x3c]
add edx, eax
mov eax, dword [esp + 0x40]
xor eax, dword [esp + 0x58]
xor eax, dword [esp + 0x48]
xor ecx, eax
mov ebp, ecx
shr ebp, 0x1f
lea eax, [ecx + ecx]
mov ecx, edx
or ebp, eax
ror ecx, 0x1b
mov eax, dword [esp + 0x10]
add ecx, dword [esp + 0x30]
mov dword [esp + 0x3c], ebp
mov dword [eax + 0x3c], ebp
mov eax, esi
xor eax, edi
lea edi, [ecx - 0x359d3e2a]
xor eax, ebx
add eax, ebp
mov ebp, esi
add edi, eax
shl ebp, 0x1e
shr esi, 2
mov eax, dword [esp + 0x34]
or ebp, esi
xor eax, dword [esp + 0x2c]
xor eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x44]
xor ecx, eax
mov esi, ecx
shr esi, 0x1f
lea eax, [ecx + ecx]
mov ecx, edi
or esi, eax
ror ecx, 0x1b
mov eax, dword [esp + 0x10]
mov dword [esp + 0x44], esi
mov dword [eax + 0x40], esi
mov eax, ebp
xor eax, edx
xor eax, ebx
lea ebx, [esi + ecx]
add eax, 0xca62c1d6
mov esi, edx
add eax, dword [esp + 0x68]
add ebx, eax
shr edx, 2
mov eax, dword [esp + 0x28]
mov ecx, ebx
xor eax, dword [esp + 0x50]
xor eax, dword [esp + 0x48]
xor eax, dword [esp + 0x20]
shl esi, 0x1e
or esi, edx
ror ecx, 0x1b
mov edx, eax
mov dword [esp + 0x68], esi
add eax, eax
shr edx, 0x1f
or edx, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x48], edx
mov dword [eax + 0x44], edx
mov eax, ebp
xor eax, esi
add edx, ecx
xor eax, edi
add eax, 0xca62c1d6
add eax, dword [esp + 0x64]
add edx, eax
mov eax, edi
shl eax, 0x1e
mov ecx, edx
shr edi, 2
or eax, edi
ror ecx, 0x1b
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x18]
xor eax, dword [esp + 0x54]
xor eax, dword [esp + 0x1c]
xor eax, dword [esp + 0x3c]
mov edi, eax
add eax, eax
shr edi, 0x1f
or edi, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x3c], edi
mov dword [eax + 0x48], edi
mov eax, esi
xor eax, dword [esp + 0x5c]
lea esi, [ecx + ebp]
xor eax, ebx
add edi, 0xca62c1d6
add eax, edi
mov edi, ebx
add esi, eax
shl edi, 0x1e
mov eax, dword [esp + 0x50]
xor eax, dword [esp + 0x4c]
xor eax, dword [esp + 0x60]
shr ebx, 2
or edi, ebx
xor eax, dword [esp + 0x44]
mov dword [esp + 0x30], edi
mov ebx, eax
mov ecx, esi
add eax, eax
shr ebx, 0x1f
or ebx, eax
ror ecx, 0x1b
mov eax, dword [esp + 0x10]
mov ebp, edx
add ecx, dword [esp + 0x68]
mov dword [esp + 0x50], ebx
shl ebp, 0x1e
mov dword [eax + 0x4c], ebx
mov eax, dword [esp + 0x5c]
xor eax, edi
xor eax, edx
shr edx, 2
add eax, ebx
or ebp, edx
lea ebx, [ecx - 0x359d3e2a]
mov dword [esp + 0x64], ebp
add ebx, eax
mov eax, dword [esp + 0x54]
xor eax, dword [esp + 0x58]
mov ecx, ebx
xor eax, dword [esp + 0x48]
xor eax, dword [esp + 0x38]
mov edx, eax
ror ecx, 0x1b
add ecx, dword [esp + 0x5c]
add eax, eax
shr edx, 0x1f
or edx, eax
mov eax, dword [esp + 0x10]
mov dword [eax + 0x50], edx
mov eax, esi
xor eax, edi
mov edi, esi
xor eax, ebp
shl edi, 0x1e
add eax, edx
shr esi, 2
lea ebp, [ecx - 0x359d3e2a]
or edi, esi
add ebp, eax
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x4c]
mov esi, ebp
xor eax, dword [esp + 0x40]
xor eax, dword [esp + 0x2c]
xor eax, dword [esp + 0x3c]
mov edx, eax
mov dword [esp + 0x60], edi
add eax, eax
shr edx, 0x1f
or edx, eax
ror esi, 0x1b
mov eax, dword [esp + 0x10]
xor edi, ebx
xor edi, dword [esp + 0x64]
add esi, edx
add edi, 0xca62c1d6
add edi, dword [esp + 0x30]
mov dword [eax + 0x54], edx
add esi, edi
mov eax, dword [esp + 0x34]
mov edi, ebx
xor eax, dword [esp + 0x28]
xor eax, dword [esp + 0x50]
xor ecx, eax
shl edi, 0x1e
mov edx, ecx
shr ebx, 2
shr edx, 0x1f
or edi, ebx
lea eax, [ecx + ecx]
mov ecx, esi
or edx, eax
mov eax, dword [esp + 0x10]
ror ecx, 0x1b
mov dword [eax + 0x58], edx
mov eax, dword [esp + 0x60]
mov ebx, dword [esp + 0x10]
xor eax, edi
xor eax, ebp
add ecx, 0xca62c1d6
add eax, dword [esp + 0x64]
add ecx, edx
ror ebp, 2
add eax, dword [ebx + 8]
add eax, ecx
mov ecx, ebx
mov ebx, dword [esp + 0x60]
add dword [ecx + 0x14], edi
add dword [ecx + 0xc], esi
add dword [ecx + 0x10], ebp
add dword [ecx + 0x18], ebx
pop edi
pop esi
pop ebp
mov dword [ecx + 8], eax
pop ebx
add esp, 0x5c
ret