Function at 0x40539c
Capabilities:
Hash data using sha1

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xfffffff0
mov dword [esp + 4], edx
mov dword [esp], eax
mov eax, dword [esp]
mov esi, dword [esp]
mov edx, dword [esp + 4]
mov ecx, dword [eax]
mov eax, dword [esp]
mov esi, dword [esi + 0xc]
mov ebx, dword [eax + 4]
mov eax, dword [esp]
mov eax, dword [eax + 8]
mov dword [esp + 8], esi
mov esi, dword [esp]
mov esi, dword [esi + 0x10]
mov dword [esp + 0xc], esi
mov esi, dword [edx]
mov edi, dword [edx]
shr edi, 8
mov ebp, dword [edx]
shl esi, 0x18
or esi, edi
mov edi, dword [edx]
shl edi, 8
and esi, 0xff00ff00
shr ebp, 0x18
or edi, ebp
mov ebp, ecx
and edi, 0xff00ff
or esi, edi
mov dword [edx], esi
mov edi, dword [esp + 8]
xor edi, eax
and edi, ebx
xor edi, dword [esp + 8]
add esi, edi
mov edi, ecx
shl edi, 5
shr ebp, 0x1b
or edi, ebp
add esi, edi
add esi, 0x5a827999
add dword [esp + 0xc], esi
mov esi, ebx
shr ebx, 2
mov edi, dword [edx + 4]
shl esi, 0x1e
mov ebp, dword [edx + 4]
or esi, ebx
mov ebx, esi
mov esi, dword [edx + 4]
shl esi, 0x18
shr edi, 8
or esi, edi
mov edi, dword [edx + 4]
shl edi, 8
and esi, 0xff00ff00
shr ebp, 0x18
or edi, ebp
and edi, 0xff00ff
or esi, edi
mov edi, eax
xor edi, ebx
mov dword [edx + 4], esi
and edi, ecx
mov ebp, dword [esp + 0xc]
xor edi, eax
add esi, edi
mov edi, dword [esp + 0xc]
shl edi, 5
shr ebp, 0x1b
or edi, ebp
add esi, edi
add esi, 0x5a827999
add dword [esp + 8], esi
mov esi, ecx
shr ecx, 2
mov edi, dword [edx + 8]
shl esi, 0x1e
mov ebp, dword [edx + 8]
or esi, ecx
mov ecx, esi
mov esi, dword [edx + 8]
shl esi, 0x18
shr edi, 8
or esi, edi
mov edi, dword [edx + 8]
shl edi, 8
and esi, 0xff00ff00
shr ebp, 0x18
or edi, ebp
and edi, 0xff00ff
or esi, edi
mov edi, ebx
mov dword [edx + 8], esi
xor edi, ecx
and edi, dword [esp + 0xc]
mov ebp, dword [esp + 8]
xor edi, ebx
add esi, edi
mov edi, dword [esp + 8]
shl edi, 5
shr ebp, 0x1b
or edi, ebp
add esi, edi
mov edi, dword [esp + 0xc]
add esi, 0x5a827999
add eax, esi
mov esi, dword [esp + 0xc]
shl esi, 0x1e
shr edi, 2
or esi, edi
mov dword [esp + 0xc], esi
mov esi, dword [edx + 0xc]
mov edi, dword [edx + 0xc]
shr edi, 8
mov ebp, dword [edx + 0xc]
shl esi, 0x18
or esi, edi
mov edi, dword [edx + 0xc]
shl edi, 8
and esi, 0xff00ff00
shr ebp, 0x18
or edi, ebp
mov ebp, eax
and edi, 0xff00ff
or esi, edi
mov dword [edx + 0xc], esi
mov edi, dword [esp + 0xc]
xor edi, ecx
and edi, dword [esp + 8]
xor edi, ecx
add esi, edi
mov edi, eax
shl edi, 5
shr ebp, 0x1b
or edi, ebp
add esi, edi
mov edi, dword [esp + 8]
add esi, 0x5a827999
add ebx, esi
mov esi, dword [esp + 8]
shl esi, 0x1e
shr edi, 2
or esi, edi
mov dword [esp + 8], esi
mov esi, dword [edx + 0x10]
mov edi, dword [edx + 0x10]
shr edi, 8
mov ebp, dword [edx + 0x10]
shl esi, 0x18
or esi, edi
mov edi, dword [edx + 0x10]
shl edi, 8
and esi, 0xff00ff00
shr ebp, 0x18
or edi, ebp
mov ebp, ebx
and edi, 0xff00ff
or esi, edi
mov dword [edx + 0x10], esi
mov edi, dword [esp + 8]
xor edi, dword [esp + 0xc]
and edi, eax
xor edi, dword [esp + 0xc]
add esi, edi
mov edi, ebx
shl edi, 5
shr ebp, 0x1b
or edi, ebp
mov ebp, dword [edx + 0x14]
add esi, edi
mov edi, dword [edx + 0x14]
add esi, 0x5a827999
add ecx, esi
mov esi, eax
shr eax, 2
shl esi, 0x1e
or esi, eax
mov eax, esi
mov esi, dword [edx + 0x14]
shl esi, 0x18
shr edi, 8
or esi, edi
mov edi, dword [edx + 0x14]
shl edi, 8
and esi, 0xff00ff00
shr ebp, 0x18
or edi, ebp
mov ebp, ecx
and edi, 0xff00ff
or esi, edi
mov dword [edx + 0x14], esi
mov edi, dword [esp + 8]
xor edi, eax
and edi, ebx
xor edi, dword [esp + 8]
add esi, edi
mov edi, ecx
shl edi, 5
shr ebp, 0x1b
or edi, ebp
add esi, edi
add esi, 0x5a827999
add dword [esp + 0xc], esi
mov esi, ebx
shr ebx, 2
mov edi, dword [edx + 0x18]
shl esi, 0x1e
mov ebp, dword [edx + 0x18]
or esi, ebx
mov ebx, esi
mov esi, dword [edx + 0x18]
shl esi, 0x18
shr edi, 8
or esi, edi
mov edi, dword [edx + 0x18]
shl edi, 8
and esi, 0xff00ff00
shr ebp, 0x18
or edi, ebp
and edi, 0xff00ff
or esi, edi
mov edi, eax
xor edi, ebx
mov dword [edx + 0x18], esi
and edi, ecx
mov ebp, dword [esp + 0xc]
xor edi, eax
add esi, edi
mov edi, dword [esp + 0xc]
shl edi, 5
shr ebp, 0x1b
or edi, ebp
add esi, edi
add esi, 0x5a827999
add dword [esp + 8], esi
mov esi, ecx
shr ecx, 2
mov edi, dword [edx + 0x1c]
shl esi, 0x1e
mov ebp, dword [edx + 0x1c]
or esi, ecx
mov ecx, esi
mov esi, dword [edx + 0x1c]
shl esi, 0x18
shr edi, 8
or esi, edi
mov edi, dword [edx + 0x1c]
and esi, 0xff00ff00
shl edi, 8
shr ebp, 0x18
or edi, ebp
and edi, 0xff00ff
or esi, edi
mov edi, ebx
mov dword [edx + 0x1c], esi
xor edi, ecx
and edi, dword [esp + 0xc]
mov ebp, dword [esp + 8]
xor edi, ebx
add esi, edi
mov edi, dword [esp + 8]
shl edi, 5
shr ebp, 0x1b
or edi, ebp
add esi, edi
mov edi, dword [esp + 0xc]
add esi, 0x5a827999
add eax, esi
mov esi, dword [esp + 0xc]
shl esi, 0x1e
shr edi, 2
or esi, edi
mov dword [esp + 0xc], esi
mov esi, dword [edx + 0x20]
mov edi, dword [edx + 0x20]
shr edi, 8
mov ebp, dword [edx + 0x20]
shl esi, 0x18
or esi, edi
mov edi, dword [edx + 0x20]
shl edi, 8
and esi, 0xff00ff00
shr ebp, 0x18
or edi, ebp
mov ebp, eax
and edi, 0xff00ff
or esi, edi
mov dword [edx + 0x20], esi
mov edi, dword [esp + 0xc]
xor edi, ecx
and edi, dword [esp + 8]
xor edi, ecx
add esi, edi
mov edi, eax
shl edi, 5
shr ebp, 0x1b
or edi, ebp
add esi, edi
mov edi, dword [esp + 8]
add esi, 0x5a827999
add ebx, esi
mov esi, dword [esp + 8]
shl esi, 0x1e
shr edi, 2
or esi, edi
mov dword [esp + 8], esi
mov esi, dword [edx + 0x24]
mov edi, dword [edx + 0x24]
shr edi, 8
mov ebp, dword [edx + 0x24]
shl esi, 0x18
or esi, edi
mov edi, dword [edx + 0x24]
shl edi, 8
and esi, 0xff00ff00
shr ebp, 0x18
or edi, ebp
mov ebp, ebx
and edi, 0xff00ff
or esi, edi
mov dword [edx + 0x24], esi
mov edi, dword [esp + 8]
xor edi, dword [esp + 0xc]
and edi, eax
xor edi, dword [esp + 0xc]
add esi, edi
mov edi, ebx
shl edi, 5
shr ebp, 0x1b
or edi, ebp
mov ebp, dword [edx + 0x28]
add esi, edi
mov edi, dword [edx + 0x28]
add esi, 0x5a827999
add ecx, esi
mov esi, eax
shr eax, 2
shl esi, 0x1e
or esi, eax
mov eax, esi
mov esi, dword [edx + 0x28]
shl esi, 0x18
shr edi, 8
or esi, edi
mov edi, dword [edx + 0x28]
shl edi, 8
and esi, 0xff00ff00
shr ebp, 0x18
or edi, ebp
mov ebp, ecx
and edi, 0xff00ff
or esi, edi
mov dword [edx + 0x28], esi
mov edi, dword [esp + 8]
xor edi, eax
and edi, ebx
xor edi, dword [esp + 8]
add esi, edi
mov edi, ecx
shl edi, 5
shr ebp, 0x1b
or edi, ebp
add esi, edi
add esi, 0x5a827999
add dword [esp + 0xc], esi
mov esi, ebx
shr ebx, 2
mov edi, dword [edx + 0x2c]
shl esi, 0x1e
mov ebp, dword [edx + 0x2c]
or esi, ebx
mov ebx, esi
mov esi, dword [edx + 0x2c]
shl esi, 0x18
shr edi, 8
or esi, edi
mov edi, dword [edx + 0x2c]
shl edi, 8
and esi, 0xff00ff00
shr ebp, 0x18
or edi, ebp
and edi, 0xff00ff
or esi, edi
mov edi, eax
xor edi, ebx
mov dword [edx + 0x2c], esi
and edi, ecx
mov ebp, dword [esp + 0xc]
xor edi, eax
add esi, edi
mov edi, dword [esp + 0xc]
shl edi, 5
shr ebp, 0x1b
or edi, ebp
add esi, edi
add esi, 0x5a827999
add dword [esp + 8], esi
mov esi, ecx
shr ecx, 2
mov edi, dword [edx + 0x30]
shl esi, 0x1e
mov ebp, dword [edx + 0x30]
or esi, ecx
mov ecx, esi
mov esi, dword [edx + 0x30]
shl esi, 0x18
shr edi, 8
or esi, edi
mov edi, dword [edx + 0x30]
shl edi, 8
and esi, 0xff00ff00
shr ebp, 0x18
or edi, ebp
and edi, 0xff00ff
or esi, edi
mov edi, ebx
mov dword [edx + 0x30], esi
xor edi, ecx
and edi, dword [esp + 0xc]
mov ebp, dword [esp + 8]
xor edi, ebx
add esi, edi
mov edi, dword [esp + 8]
shl edi, 5
shr ebp, 0x1b
or edi, ebp
add esi, edi
mov edi, dword [esp + 0xc]
add esi, 0x5a827999
add eax, esi
mov esi, dword [esp + 0xc]
shl esi, 0x1e
shr edi, 2
or esi, edi
mov dword [esp + 0xc], esi
mov esi, dword [edx + 0x34]
mov edi, dword [edx + 0x34]
shr edi, 8
mov ebp, dword [edx + 0x34]
shl esi, 0x18
or esi, edi
mov edi, dword [edx + 0x34]
shl edi, 8
and esi, 0xff00ff00
shr ebp, 0x18
or edi, ebp
mov ebp, eax
and edi, 0xff00ff
or esi, edi
mov dword [edx + 0x34], esi
mov edi, dword [esp + 0xc]
xor edi, ecx
and edi, dword [esp + 8]
xor edi, ecx
add esi, edi
mov edi, eax
shl edi, 5
shr ebp, 0x1b
or edi, ebp
add esi, edi
mov edi, dword [esp + 8]
add esi, 0x5a827999
add ebx, esi
mov esi, dword [esp + 8]
shl esi, 0x1e
shr edi, 2
or esi, edi
mov dword [esp + 8], esi
mov esi, dword [edx + 0x38]
mov edi, dword [edx + 0x38]
shr edi, 8
mov ebp, dword [edx + 0x38]
shl esi, 0x18
or esi, edi
mov edi, dword [edx + 0x38]
shl edi, 8
and esi, 0xff00ff00
shr ebp, 0x18
or edi, ebp
mov ebp, ebx
and edi, 0xff00ff
or esi, edi
mov dword [edx + 0x38], esi
mov edi, dword [esp + 8]
xor edi, dword [esp + 0xc]
and edi, eax
xor edi, dword [esp + 0xc]
add esi, edi
mov edi, ebx
shr ebp, 0x1b
shl edi, 5
or edi, ebp
add esi, edi
mov edi, dword [edx + 0x3c]
add esi, 0x5a827999
add ecx, esi
mov esi, eax
shr eax, 2
shl esi, 0x1e
or esi, eax
mov eax, esi
mov esi, dword [edx + 0x3c]
shl esi, 0x18
shr edi, 8
or esi, edi
mov edi, dword [edx + 0x3c]
mov ebp, dword [edx + 0x3c]
and esi, 0xff00ff00
shr ebp, 0x18
shl edi, 8
or edi, ebp
mov ebp, ecx
and edi, 0xff00ff
or esi, edi
mov dword [edx + 0x3c], esi
mov edi, dword [esp + 8]
xor edi, eax
and edi, ebx
xor edi, dword [esp + 8]
add esi, edi
mov edi, ecx
shl edi, 5
shr ebp, 0x1b
or edi, ebp
add esi, edi
add esi, 0x5a827999
add dword [esp + 0xc], esi
mov esi, ebx
shr ebx, 2
mov edi, dword [edx + 0x34]
shl esi, 0x1e
xor edi, dword [edx + 0x20]
or esi, ebx
xor edi, dword [edx + 8]
mov ebx, esi
mov esi, dword [edx + 0x34]
xor esi, dword [edx + 0x20]
xor edi, dword [edx]
xor esi, dword [edx + 8]
xor esi, dword [edx]
shr edi, 0x1f
add esi, esi
or esi, edi
mov edi, eax
xor edi, ebx
mov dword [edx], esi
and edi, ecx
mov ebp, dword [esp + 0xc]
xor edi, eax
add esi, edi
mov edi, dword [esp + 0xc]
shl edi, 5
shr ebp, 0x1b
or edi, ebp
add esi, edi
add esi, 0x5a827999
add dword [esp + 8], esi
mov esi, ecx
shr ecx, 2
mov edi, dword [edx + 0x38]
shl esi, 0x1e
xor edi, dword [edx + 0x24]
or esi, ecx
xor edi, dword [edx + 0xc]
mov ecx, esi
mov esi, dword [edx + 0x38]
xor esi, dword [edx + 0x24]
xor edi, dword [edx + 4]
xor esi, dword [edx + 0xc]
xor esi, dword [edx + 4]
shr edi, 0x1f
add esi, esi
or esi, edi
mov edi, ebx
mov dword [edx + 4], esi
xor edi, ecx
and edi, dword [esp + 0xc]
mov ebp, dword [esp + 8]
xor edi, ebx
add esi, edi
mov edi, dword [esp + 8]
shl edi, 5
shr ebp, 0x1b
or edi, ebp
add esi, edi
mov edi, dword [esp + 0xc]
add esi, 0x5a827999
add eax, esi
mov esi, dword [esp + 0xc]
shl esi, 0x1e
mov ebp, eax
shr edi, 2
or esi, edi
mov dword [esp + 0xc], esi
mov edi, dword [edx + 0x3c]
mov esi, dword [edx + 0x3c]
xor edi, dword [edx + 0x28]
xor esi, dword [edx + 0x28]
xor edi, dword [edx + 0x10]
xor esi, dword [edx + 0x10]
xor edi, dword [edx + 8]
xor esi, dword [edx + 8]
shr edi, 0x1f
add esi, esi
or esi, edi
mov dword [edx + 8], esi
mov edi, dword [esp + 0xc]
xor edi, ecx
and edi, dword [esp + 8]
xor edi, ecx
add esi, edi
mov edi, eax
shl edi, 5
shr ebp, 0x1b
or edi, ebp
add esi, edi
mov edi, dword [esp + 8]
add esi, 0x5a827999
add ebx, esi
mov esi, dword [esp + 8]
shl esi, 0x1e
mov ebp, ebx
shr edi, 2
or esi, edi
mov dword [esp + 8], esi
mov edi, dword [edx]
mov esi, dword [edx]
xor edi, dword [edx + 0x2c]
xor esi, dword [edx + 0x2c]
xor edi, dword [edx + 0x14]
xor esi, dword [edx + 0x14]
xor edi, dword [edx + 0xc]
xor esi, dword [edx + 0xc]
shr edi, 0x1f
add esi, esi
or esi, edi
mov dword [edx + 0xc], esi
mov edi, dword [esp + 8]
xor edi, dword [esp + 0xc]
and edi, eax
xor edi, dword [esp + 0xc]
add esi, edi
mov edi, ebx
shl edi, 5
shr ebp, 0x1b
or edi, ebp
add esi, edi
mov edi, dword [edx + 4]
add esi, 0x5a827999
xor edi, dword [edx + 0x30]
add ecx, esi
mov esi, eax
shr eax, 2
mov ebp, ecx
shl esi, 0x1e
xor edi, dword [edx + 0x18]
or esi, eax
xor edi, dword [edx + 0x10]
mov eax, esi
mov esi, dword [edx + 4]
xor esi, dword [edx + 0x30]
xor esi, dword [edx + 0x18]
xor esi, dword [edx + 0x10]
shr edi, 0x1f
add esi, esi
or esi, edi
mov edi, eax
mov dword [edx + 0x10], esi
xor edi, ebx
xor edi, dword [esp + 8]
add esi, edi
mov edi, ecx
shl edi, 5
shr ebp, 0x1b
or edi, ebp
add esi, edi
add esi, 0x6ed9eba1
add dword [esp + 0xc], esi
mov esi, ebx
shr ebx, 2
mov edi, dword [edx + 8]
shl esi, 0x1e
xor edi, dword [edx + 0x34]
or esi, ebx
xor edi, dword [edx + 0x1c]
mov ebx, esi
mov esi, dword [edx + 8]
xor esi, dword [edx + 0x34]
xor edi, dword [edx + 0x14]
xor esi, dword [edx + 0x1c]
xor esi, dword [edx + 0x14]
shr edi, 0x1f
add esi, esi
or esi, edi
mov edi, ebx
xor edi, ecx
mov dword [edx + 0x14], esi
xor edi, eax
mov ebp, dword [esp + 0xc]
add esi, edi
mov edi, dword [esp + 0xc]
shl edi, 5
shr ebp, 0x1b
or edi, ebp
add esi, edi
add esi, 0x6ed9eba1
add dword [esp + 8], esi
mov esi, ecx
shr ecx, 2
mov edi, dword [edx + 0xc]
shl esi, 0x1e
xor edi, dword [edx + 0x38]
or esi, ecx
xor edi, dword [edx + 0x20]
mov ecx, esi
mov esi, dword [edx + 0xc]
xor esi, dword [edx + 0x38]
xor edi, dword [edx + 0x18]
xor esi, dword [edx + 0x20]
xor esi, dword [edx + 0x18]
shr edi, 0x1f
add esi, esi
or esi, edi
mov dword [edx + 0x18], esi
mov edi, dword [esp + 0xc]
mov ebp, dword [esp + 8]
xor edi, ecx
xor edi, ebx
add esi, edi
mov edi, dword [esp + 8]
shr ebp, 0x1b
shl edi, 5
or edi, ebp
add esi, edi
mov edi, dword [esp + 0xc]
add esi, 0x6ed9eba1
add eax, esi
mov esi, dword [esp + 0xc]
shl esi, 0x1e
shr edi, 2
or esi, edi
mov dword [esp + 0xc], esi
mov edi, dword [edx + 0x10]
mov esi, dword [edx + 0x10]
xor edi, dword [edx + 0x3c]
xor esi, dword [edx + 0x3c]
xor edi, dword [edx + 0x24]
xor esi, dword [edx + 0x24]
xor edi, dword [edx + 0x1c]
xor esi, dword [edx + 0x1c]
shr edi, 0x1f
add esi, esi
or esi, edi
mov dword [edx + 0x1c], esi
mov edi, dword [esp + 8]
xor edi, dword [esp + 0xc]
xor edi, ecx
add esi, edi
mov edi, eax
mov ebp, eax
shr ebp, 0x1b
shl edi, 5
or edi, ebp
add esi, edi
mov edi, dword [esp + 8]
add esi, 0x6ed9eba1
add ebx, esi
mov esi, dword [esp + 8]
shl esi, 0x1e
mov ebp, ebx
shr edi, 2
or esi, edi
mov dword [esp + 8], esi
mov edi, dword [edx + 0x14]
mov esi, dword [edx + 0x14]
xor edi, dword [edx]
xor esi, dword [edx]
xor edi, dword [edx + 0x28]
xor esi, dword [edx + 0x28]
xor edi, dword [edx + 0x20]
xor esi, dword [edx + 0x20]
shr edi, 0x1f
add esi, esi
or esi, edi
mov dword [edx + 0x20], esi
mov edi, dword [esp + 8]
xor edi, eax
xor edi, dword [esp + 0xc]
add esi, edi
mov edi, ebx
shl edi, 5
shr ebp, 0x1b
or edi, ebp
add esi, edi
mov edi, dword [edx + 0x18]
add esi, 0x6ed9eba1
xor edi, dword [edx + 4]
add ecx, esi
mov esi, eax
shr eax, 2
mov ebp, ecx
shl esi, 0x1e
xor edi, dword [edx + 0x2c]
or esi, eax
xor edi, dword [edx + 0x24]
mov eax, esi
mov esi, dword [edx + 0x18]
xor esi, dword [edx + 4]
xor esi, dword [edx + 0x2c]
xor esi, dword [edx + 0x24]
shr edi, 0x1f
add esi, esi
or esi, edi
mov edi, eax
mov dword [edx + 0x24], esi
xor edi, ebx
xor edi, dword [esp + 8]
add esi, edi
mov edi, ecx
shl edi, 5
shr ebp, 0x1b
or edi, ebp
add esi, edi
add esi, 0x6ed9eba1
add dword [esp + 0xc], esi
mov esi, ebx
shr ebx, 2
mov edi, dword [edx + 0x1c]
shl esi, 0x1e
xor edi, dword [edx + 8]
or esi, ebx
xor edi, dword [edx + 0x30]
mov ebx, esi
mov esi, dword [edx + 0x1c]
xor esi, dword [edx + 8]
xor edi, dword [edx + 0x28]
xor esi, dword [edx + 0x30]
xor esi, dword [edx + 0x28]
shr edi, 0x1f
add esi, esi
or esi, edi
mov edi, ebx
xor edi, ecx
mov dword [edx + 0x28], esi
xor edi, eax
mov ebp, dword [esp + 0xc]
add esi, edi
mov edi, dword [esp + 0xc]
shl edi, 5
shr ebp, 0x1b
or edi, ebp
add esi, edi
add esi, 0x6ed9eba1
add dword [esp + 8], esi
mov esi, ecx
shr ecx, 2
mov edi, dword [edx + 0x20]
shl esi, 0x1e
xor edi, dword [edx + 0xc]
or esi, ecx
xor edi, dword [edx + 0x34]
mov ecx, esi
mov esi, dword [edx + 0x20]
xor esi, dword [edx + 0xc]
xor edi, dword [edx + 0x2c]
xor esi, dword [edx + 0x34]
xor esi, dword [edx + 0x2c]
shr edi, 0x1f
add esi, esi
or esi, edi
mov dword [edx + 0x2c], esi
mov edi, dword [esp + 0xc]
mov ebp, dword [esp + 8]
xor edi, ecx
xor edi, ebx
add esi, edi
mov edi, dword [esp + 8]
shl edi, 5
shr ebp, 0x1b
or edi, ebp
add esi, edi
mov edi, dword [esp + 0xc]
add esi, 0x6ed9eba1
add eax, esi
mov esi, dword [esp + 0xc]
shl esi, 0x1e
mov ebp, eax
shr edi, 2
or esi, edi
mov dword [esp + 0xc], esi
mov edi, dword [edx + 0x24]
mov esi, dword [edx + 0x24]
xor edi, dword [edx + 0x10]
xor esi, dword [edx + 0x10]
xor edi, dword [edx + 0x38]
xor esi, dword [edx + 0x38]
xor edi, dword [edx + 0x30]
xor esi, dword [edx + 0x30]
shr edi, 0x1f
add esi, esi
or esi, edi
mov dword [edx + 0x30], esi
mov edi, dword [esp + 8]
xor edi, dword [esp + 0xc]
xor edi, ecx
add esi, edi
mov edi, eax
shl edi, 5
shr ebp, 0x1b
or edi, ebp
add esi, edi
mov edi, dword [esp + 8]
add esi, 0x6ed9eba1
add ebx, esi
mov esi, dword [esp + 8]
shl esi, 0x1e
mov ebp, ebx
shr edi, 2
or esi, edi
mov dword [esp + 8], esi
mov edi, dword [edx + 0x28]
mov esi, dword [edx + 0x28]
xor edi, dword [edx + 0x14]
xor esi, dword [edx + 0x14]
xor edi, dword [edx + 0x3c]
xor esi, dword [edx + 0x3c]
xor edi, dword [edx + 0x34]
xor esi, dword [edx + 0x34]
shr edi, 0x1f
add esi, esi
or esi, edi
mov dword [edx + 0x34], esi
mov edi, dword [esp + 8]
xor edi, eax
xor edi, dword [esp + 0xc]
add esi, edi
mov edi, ebx
shl edi, 5
shr ebp, 0x1b
or edi, ebp
add esi, edi
mov edi, dword [edx + 0x2c]
add esi, 0x6ed9eba1
xor edi, dword [edx + 0x18]
add ecx, esi
mov esi, eax
shr eax, 2
mov ebp, ecx
shl esi, 0x1e
xor edi, dword [edx]
or esi, eax
xor edi, dword [edx + 0x38]
mov eax, esi
mov esi, dword [edx + 0x2c]
xor esi, dword [edx + 0x18]
xor esi, dword [edx]
xor esi, dword [edx + 0x38]
shr edi, 0x1f
add esi, esi
or esi, edi
mov edi, eax
mov dword [edx + 0x38], esi
xor edi, ebx
xor edi, dword [esp + 8]
add esi, edi
mov edi, ecx
shl edi, 5
shr ebp, 0x1b
or edi, ebp
add esi, edi
add esi, 0x6ed9eba1
add dword [esp + 0xc], esi
mov esi, ebx
shr ebx, 2
mov edi, dword [edx + 0x30]
shl esi, 0x1e
xor edi, dword [edx + 0x1c]
or esi, ebx
xor edi, dword [edx + 4]
mov ebx, esi
mov esi, dword [edx + 0x30]
xor esi, dword [edx + 0x1c]
xor edi, dword [edx + 0x3c]
xor esi, dword [edx + 4]
xor esi, dword [edx + 0x3c]
shr edi, 0x1f
add esi, esi
or esi, edi
mov edi, ebx
xor edi, ecx
mov dword [edx + 0x3c], esi
xor edi, eax
mov ebp, dword [esp + 0xc]
add esi, edi
mov edi, dword [esp + 0xc]
shr ebp, 0x1b
shl edi, 5
or edi, ebp
add esi, edi
add esi, 0x6ed9eba1
add dword [esp + 8], esi
mov esi, ecx
shr ecx, 2
mov edi, dword [edx + 0x34]
shl esi, 0x1e
xor edi, dword [edx + 0x20]
or esi, ecx
mov ecx, esi
mov esi, dword [edx + 0x34]
xor esi, dword [edx + 0x20]
xor esi, dword [edx + 8]
xor esi, dword [edx]
add esi, esi
xor edi, dword [edx + 8]
xor edi, dword [edx]
shr edi, 0x1f
or esi, edi
mov dword [edx], esi
mov edi, dword [esp + 0xc]
mov ebp, dword [esp + 8]
xor edi, ecx
xor edi, ebx
add esi, edi
mov edi, dword [esp + 8]
shl edi, 5
shr ebp, 0x1b
or edi, ebp
add esi, edi
mov edi, dword [esp + 0xc]
add esi, 0x6ed9eba1
add eax, esi
mov esi, dword [esp + 0xc]
shl esi, 0x1e
mov ebp, eax
shr edi, 2
or esi, edi
mov dword [esp + 0xc], esi
mov edi, dword [edx + 0x38]
mov esi, dword [edx + 0x38]
xor edi, dword [edx + 0x24]
xor esi, dword [edx + 0x24]
xor edi, dword [edx + 0xc]
xor esi, dword [edx + 0xc]
xor edi, dword [edx + 4]
xor esi, dword [edx + 4]
shr edi, 0x1f
add esi, esi
or esi, edi
mov dword [edx + 4], esi
mov edi, dword [esp + 8]
xor edi, dword [esp + 0xc]
xor edi, ecx
add esi, edi
mov edi, eax
shl edi, 5
shr ebp, 0x1b
or edi, ebp
add esi, edi
mov edi, dword [esp + 8]
add esi, 0x6ed9eba1
add ebx, esi
mov esi, dword [esp + 8]
shl esi, 0x1e
mov ebp, ebx
shr edi, 2
or esi, edi
mov dword [esp + 8], esi
mov edi, dword [edx + 0x3c]
mov esi, dword [edx + 0x3c]
xor edi, dword [edx + 0x28]
xor esi, dword [edx + 0x28]
xor edi, dword [edx + 0x10]
xor esi, dword [edx + 0x10]
xor edi, dword [edx + 8]
xor esi, dword [edx + 8]
shr edi, 0x1f
add esi, esi
or esi, edi
mov dword [edx + 8], esi
mov edi, dword [esp + 8]
xor edi, eax
xor edi, dword [esp + 0xc]
add esi, edi
mov edi, ebx
shl edi, 5
shr ebp, 0x1b
or edi, ebp
add esi, edi
mov edi, dword [edx]
add esi, 0x6ed9eba1
xor edi, dword [edx + 0x2c]
add ecx, esi
mov esi, eax
shr eax, 2
mov ebp, ecx
shl esi, 0x1e
xor edi, dword [edx + 0x14]
or esi, eax
xor edi, dword [edx + 0xc]
mov eax, esi
mov esi, dword [edx]
xor esi, dword [edx + 0x2c]
xor esi, dword [edx + 0x14]
xor esi, dword [edx + 0xc]
shr edi, 0x1f
add esi, esi
or esi, edi
mov edi, eax
mov dword [edx + 0xc], esi
xor edi, ebx
xor edi, dword [esp + 8]
add esi, edi
mov edi, ecx
shl edi, 5
shr ebp, 0x1b
or edi, ebp
add esi, edi
add esi, 0x6ed9eba1
add dword [esp + 0xc], esi
mov esi, ebx
shr ebx, 2
mov edi, dword [edx + 4]
shl esi, 0x1e
xor edi, dword [edx + 0x30]
or esi, ebx
xor edi, dword [edx + 0x18]
mov ebx, esi
mov esi, dword [edx + 4]
xor esi, dword [edx + 0x30]
xor edi, dword [edx + 0x10]
xor esi, dword [edx + 0x18]
xor esi, dword [edx + 0x10]
shr edi, 0x1f
add esi, esi
or esi, edi
mov edi, ebx
xor edi, ecx
mov dword [edx + 0x10], esi
xor edi, eax
mov ebp, dword [esp + 0xc]
add esi, edi
mov edi, dword [esp + 0xc]
shl edi, 5
shr ebp, 0x1b
or edi, ebp
add esi, edi
add esi, 0x6ed9eba1
add dword [esp + 8], esi
mov esi, ecx
shr ecx, 2
mov edi, dword [edx + 8]
shl esi, 0x1e
xor edi, dword [edx + 0x34]
or esi, ecx
xor edi, dword [edx + 0x1c]
mov ecx, esi
mov esi, dword [edx + 8]
xor esi, dword [edx + 0x34]
xor edi, dword [edx + 0x14]
xor esi, dword [edx + 0x1c]
xor esi, dword [edx + 0x14]
shr edi, 0x1f
add esi, esi
or esi, edi
mov dword [edx + 0x14], esi
mov edi, dword [esp + 0xc]
mov ebp, dword [esp + 8]
xor edi, ecx
xor edi, ebx
add esi, edi
mov edi, dword [esp + 8]
shl edi, 5
shr ebp, 0x1b
or edi, ebp
add esi, edi
mov edi, dword [esp + 0xc]
add esi, 0x6ed9eba1
add eax, esi
mov esi, dword [esp + 0xc]
shl esi, 0x1e
mov ebp, eax
shr edi, 2
or esi, edi
mov dword [esp + 0xc], esi
mov edi, dword [edx + 0xc]
mov esi, dword [edx + 0xc]
xor edi, dword [edx + 0x38]
xor esi, dword [edx + 0x38]
xor edi, dword [edx + 0x20]
xor esi, dword [edx + 0x20]
xor edi, dword [edx + 0x18]
xor esi, dword [edx + 0x18]
shr edi, 0x1f
add esi, esi
or esi, edi
mov dword [edx + 0x18], esi
mov edi, dword [esp + 8]
xor edi, dword [esp + 0xc]
xor edi, ecx
add esi, edi
mov edi, eax
shl edi, 5
shr ebp, 0x1b
or edi, ebp
add esi, edi
mov edi, dword [esp + 8]
add esi, 0x6ed9eba1
add ebx, esi
mov esi, dword [esp + 8]
shl esi, 0x1e
mov ebp, ebx
shr edi, 2
or esi, edi
mov dword [esp + 8], esi
mov edi, dword [edx + 0x10]
mov esi, dword [edx + 0x10]
xor edi, dword [edx + 0x3c]
xor esi, dword [edx + 0x3c]
xor edi, dword [edx + 0x24]
xor esi, dword [edx + 0x24]
xor edi, dword [edx + 0x1c]
xor esi, dword [edx + 0x1c]
shr edi, 0x1f
add esi, esi
or esi, edi
mov dword [edx + 0x1c], esi
mov edi, dword [esp + 8]
xor edi, eax
xor edi, dword [esp + 0xc]
add esi, edi
mov edi, ebx
shl edi, 5
shr ebp, 0x1b
or edi, ebp
mov ebp, dword [edx + 0x14]
add esi, edi
xor ebp, dword [edx]
add esi, 0x6ed9eba1
xor ebp, dword [edx + 0x28]
add ecx, esi
mov esi, eax
shr eax, 2
xor ebp, dword [edx + 0x20]
shl esi, 0x1e
or esi, eax
mov eax, esi
mov esi, eax
mov edi, eax
or esi, ebx
and edi, ebx
and esi, dword [esp + 8]
or esi, edi
mov edi, dword [edx + 0x14]
xor edi, dword [edx]
xor edi, dword [edx + 0x28]
xor edi, dword [edx + 0x20]
shr ebp, 0x1f
add edi, edi
or edi, ebp
mov ebp, ecx
mov dword [edx + 0x20], edi
add esi, edi
mov edi, ecx
shr ebp, 0x1b
shl edi, 5
or edi, ebp
add esi, edi
add esi, 0x8f1bbcdc
add dword [esp + 0xc], esi
mov esi, ebx
mov ebp, dword [edx + 0x18]
shr ebx, 2
xor ebp, dword [edx + 4]
shl esi, 0x1e
xor ebp, dword [edx + 0x2c]
or esi, ebx
xor ebp, dword [edx + 0x24]
mov ebx, esi
mov esi, ebx
mov edi, ebx
or esi, ecx
and edi, ecx
and esi, eax
or esi, edi
mov edi, dword [edx + 0x18]
xor edi, dword [edx + 4]
xor edi, dword [edx + 0x2c]
xor edi, dword [edx + 0x24]
shr ebp, 0x1f
add edi, edi
or edi, ebp
mov dword [edx + 0x24], edi
add esi, edi
mov edi, dword [esp + 0xc]
mov ebp, dword [esp + 0xc]
shr ebp, 0x1b
shl edi, 5
or edi, ebp
add esi, edi
add esi, 0x8f1bbcdc
add dword [esp + 8], esi
mov esi, ecx
shr ecx, 2
mov edi, dword [esp + 0xc]
shl esi, 0x1e
mov ebp, dword [edx + 0x1c]
or esi, ecx
xor ebp, dword [edx + 8]
mov ecx, esi
mov esi, dword [esp + 0xc]
or esi, ecx
and edi, ecx
and esi, ebx
xor ebp, dword [edx + 0x30]
or esi, edi
mov edi, dword [edx + 0x1c]
xor edi, dword [edx + 8]
xor ebp, dword [edx + 0x28]
xor edi, dword [edx + 0x30]
xor edi, dword [edx + 0x28]
shr ebp, 0x1f
add edi, edi
or edi, ebp
mov dword [edx + 0x28], edi
add esi, edi
mov edi, dword [esp + 8]
mov ebp, dword [esp + 8]
shr ebp, 0x1b
shl edi, 5
or edi, ebp
add esi, edi
mov edi, dword [esp + 0xc]
add esi, 0x8f1bbcdc
add eax, esi
mov esi, dword [esp + 0xc]
shl esi, 0x1e
shr edi, 2
or esi, edi
mov dword [esp + 0xc], esi
mov esi, dword [esp + 8]
mov edi, dword [esp + 8]
or esi, dword [esp + 0xc]
and edi, dword [esp + 0xc]
and esi, ecx
mov ebp, dword [edx + 0x20]
or esi, edi
mov edi, dword [edx + 0x20]
xor ebp, dword [edx + 0xc]
xor edi, dword [edx + 0xc]
xor ebp, dword [edx + 0x34]
xor edi, dword [edx + 0x34]
xor ebp, dword [edx + 0x2c]
xor edi, dword [edx + 0x2c]
shr ebp, 0x1f
add edi, edi
or edi, ebp
mov ebp, eax
mov dword [edx + 0x2c], edi
add esi, edi
mov edi, eax
shl edi, 5
shr ebp, 0x1b
or edi, ebp
add esi, edi
mov edi, dword [esp + 8]
add esi, 0x8f1bbcdc
add ebx, esi
mov esi, dword [esp + 8]
shl esi, 0x1e
shr edi, 2
or esi, edi
mov dword [esp + 8], esi
mov esi, dword [esp + 8]
mov edi, dword [esp + 8]
or esi, eax
and edi, eax
and esi, dword [esp + 0xc]
mov ebp, dword [edx + 0x24]
or esi, edi
mov edi, dword [edx + 0x24]
xor ebp, dword [edx + 0x10]
xor edi, dword [edx + 0x10]
xor ebp, dword [edx + 0x38]
xor edi, dword [edx + 0x38]
xor ebp, dword [edx + 0x30]
xor edi, dword [edx + 0x30]
shr ebp, 0x1f
add edi, edi
or edi, ebp
mov ebp, ebx
mov dword [edx + 0x30], edi
add esi, edi
mov edi, ebx
shl edi, 5
shr ebp, 0x1b
or edi, ebp
mov ebp, dword [edx + 0x28]
add esi, edi
xor ebp, dword [edx + 0x14]
add esi, 0x8f1bbcdc
xor ebp, dword [edx + 0x3c]
add ecx, esi
mov esi, eax
shr eax, 2
xor ebp, dword [edx + 0x34]
shl esi, 0x1e
or esi, eax
mov eax, esi
mov esi, eax
mov edi, eax
or esi, ebx
and edi, ebx
and esi, dword [esp + 8]
or esi, edi
mov edi, dword [edx + 0x28]
xor edi, dword [edx + 0x14]
xor edi, dword [edx + 0x3c]
xor edi, dword [edx + 0x34]
shr ebp, 0x1f
add edi, edi
or edi, ebp
mov ebp, ecx
mov dword [edx + 0x34], edi
add esi, edi
mov edi, ecx
shl edi, 5
shr ebp, 0x1b
or edi, ebp
add esi, edi
add esi, 0x8f1bbcdc
add dword [esp + 0xc], esi
mov esi, ebx
shr ebx, 2
mov ebp, dword [edx + 0x2c]
shl esi, 0x1e
xor ebp, dword [edx + 0x18]
or esi, ebx
xor ebp, dword [edx]
mov ebx, esi
xor ebp, dword [edx + 0x38]
mov esi, ebx
mov edi, ebx
or esi, ecx
and edi, ecx
and esi, eax
or esi, edi
mov edi, dword [edx + 0x2c]
xor edi, dword [edx + 0x18]
xor edi, dword [edx]
xor edi, dword [edx + 0x38]
shr ebp, 0x1f
add edi, edi
or edi, ebp
mov dword [edx + 0x38], edi
add esi, edi
mov edi, dword [esp + 0xc]
mov ebp, dword [esp + 0xc]
shr ebp, 0x1b
shl edi, 5
or edi, ebp
add esi, edi
add esi, 0x8f1bbcdc
add dword [esp + 8], esi
mov esi, ecx
shr ecx, 2
mov edi, dword [esp + 0xc]
shl esi, 0x1e
mov ebp, dword [edx + 0x30]
or esi, ecx
xor ebp, dword [edx + 0x1c]
mov ecx, esi
mov esi, dword [esp + 0xc]
or esi, ecx
and edi, ecx
and esi, ebx
xor ebp, dword [edx + 4]
or esi, edi
mov edi, dword [edx + 0x30]
xor edi, dword [edx + 0x1c]
xor ebp, dword [edx + 0x3c]
xor edi, dword [edx + 4]
xor edi, dword [edx + 0x3c]
shr ebp, 0x1f
add edi, edi
or edi, ebp
mov dword [edx + 0x3c], edi
add esi, edi
mov edi, dword [esp + 8]
mov ebp, dword [esp + 8]
shr ebp, 0x1b
shl edi, 5
or edi, ebp
add esi, edi
mov edi, dword [esp + 0xc]
add esi, 0x8f1bbcdc
add eax, esi
mov esi, dword [esp + 0xc]
shl esi, 0x1e
shr edi, 2
or esi, edi
mov dword [esp + 0xc], esi
mov esi, dword [esp + 8]
mov edi, dword [esp + 8]
or esi, dword [esp + 0xc]
and edi, dword [esp + 0xc]
and esi, ecx
mov ebp, dword [edx + 0x34]
or esi, edi
mov edi, dword [edx + 0x34]
xor ebp, dword [edx + 0x20]
xor edi, dword [edx + 0x20]
xor ebp, dword [edx + 8]
xor edi, dword [edx + 8]
xor ebp, dword [edx]
xor edi, dword [edx]
shr ebp, 0x1f
add edi, edi
or edi, ebp
mov ebp, eax
add esi, edi
mov dword [edx], edi
mov edi, eax
shl edi, 5
shr ebp, 0x1b
or edi, ebp
add esi, edi
mov edi, dword [esp + 8]
add esi, 0x8f1bbcdc
add ebx, esi
mov esi, dword [esp + 8]
shl esi, 0x1e
shr edi, 2
or esi, edi
mov dword [esp + 8], esi
mov esi, dword [esp + 8]
mov edi, dword [esp + 8]
or esi, eax
and edi, eax
and esi, dword [esp + 0xc]
mov ebp, dword [edx + 0x38]
or esi, edi
mov edi, dword [edx + 0x38]
xor ebp, dword [edx + 0x24]
xor edi, dword [edx + 0x24]
xor ebp, dword [edx + 0xc]
xor edi, dword [edx + 0xc]
xor ebp, dword [edx + 4]
xor edi, dword [edx + 4]
shr ebp, 0x1f
add edi, edi
or edi, ebp
mov ebp, ebx
mov dword [edx + 4], edi
add esi, edi
mov edi, ebx
shl edi, 5
shr ebp, 0x1b
or edi, ebp
mov ebp, dword [edx + 0x3c]
add esi, edi
xor ebp, dword [edx + 0x28]
add esi, 0x8f1bbcdc
xor ebp, dword [edx + 0x10]
add ecx, esi
mov esi, eax
shr eax, 2
xor ebp, dword [edx + 8]
shl esi, 0x1e
or esi, eax
mov eax, esi
mov esi, eax
mov edi, eax
or esi, ebx
and edi, ebx
and esi, dword [esp + 8]
or esi, edi
mov edi, dword [edx + 0x3c]
xor edi, dword [edx + 0x28]
xor edi, dword [edx + 0x10]
xor edi, dword [edx + 8]
shr ebp, 0x1f
add edi, edi
or edi, ebp
mov ebp, ecx
mov dword [edx + 8], edi
add esi, edi
mov edi, ecx
shl edi, 5
shr ebp, 0x1b
or edi, ebp
add esi, edi
add esi, 0x8f1bbcdc
add dword [esp + 0xc], esi
mov esi, ebx
shr ebx, 2
mov ebp, dword [edx]
shl esi, 0x1e
xor ebp, dword [edx + 0x2c]
or esi, ebx
xor ebp, dword [edx + 0x14]
mov ebx, esi
xor ebp, dword [edx + 0xc]
mov esi, ebx
mov edi, ebx
or esi, ecx
and edi, ecx
and esi, eax
or esi, edi
mov edi, dword [edx]
xor edi, dword [edx + 0x2c]
xor edi, dword [edx + 0x14]
xor edi, dword [edx + 0xc]
shr ebp, 0x1f
add edi, edi
or edi, ebp
mov dword [edx + 0xc], edi
add esi, edi
mov edi, dword [esp + 0xc]
mov ebp, dword [esp + 0xc]
shr ebp, 0x1b
shl edi, 5
or edi, ebp
add esi, edi
add esi, 0x8f1bbcdc
add dword [esp + 8], esi
mov esi, ecx
shr ecx, 2
mov edi, dword [esp + 0xc]
shl esi, 0x1e
mov ebp, dword [edx + 4]
or esi, ecx
xor ebp, dword [edx + 0x30]
mov ecx, esi
mov esi, dword [esp + 0xc]
or esi, ecx
and edi, ecx
and esi, ebx
xor ebp, dword [edx + 0x18]
or esi, edi
mov edi, dword [edx + 4]
xor edi, dword [edx + 0x30]
xor ebp, dword [edx + 0x10]
xor edi, dword [edx + 0x18]
xor edi, dword [edx + 0x10]
shr ebp, 0x1f
add edi, edi
or edi, ebp
mov dword [edx + 0x10], edi
add esi, edi
mov edi, dword [esp + 8]
mov ebp, dword [esp + 8]
shr ebp, 0x1b
shl edi, 5
or edi, ebp
add esi, edi
mov edi, dword [esp + 0xc]
add esi, 0x8f1bbcdc
add eax, esi
mov esi, dword [esp + 0xc]
shl esi, 0x1e
shr edi, 2
or esi, edi
mov dword [esp + 0xc], esi
mov esi, dword [esp + 8]
mov edi, dword [esp + 8]
or esi, dword [esp + 0xc]
and edi, dword [esp + 0xc]
and esi, ecx
mov ebp, dword [edx + 8]
or esi, edi
mov edi, dword [edx + 8]
xor ebp, dword [edx + 0x34]
xor edi, dword [edx + 0x34]
xor ebp, dword [edx + 0x1c]
xor edi, dword [edx + 0x1c]
xor ebp, dword [edx + 0x14]
xor edi, dword [edx + 0x14]
shr ebp, 0x1f
add edi, edi
or edi, ebp
mov ebp, eax
mov dword [edx + 0x14], edi
add esi, edi
mov edi, eax
shl edi, 5
shr ebp, 0x1b
or edi, ebp
add esi, edi
mov edi, dword [esp + 8]
add esi, 0x8f1bbcdc
add ebx, esi
mov esi, dword [esp + 8]
shl esi, 0x1e
shr edi, 2
or esi, edi
mov dword [esp + 8], esi
mov esi, dword [esp + 8]
mov edi, dword [esp + 8]
or esi, eax
and edi, eax
and esi, dword [esp + 0xc]
mov ebp, dword [edx + 0xc]
or esi, edi
mov edi, dword [edx + 0xc]
xor ebp, dword [edx + 0x38]
xor edi, dword [edx + 0x38]
xor ebp, dword [edx + 0x20]
xor edi, dword [edx + 0x20]
xor ebp, dword [edx + 0x18]
xor edi, dword [edx + 0x18]
shr ebp, 0x1f
add edi, edi
or edi, ebp
mov ebp, ebx
mov dword [edx + 0x18], edi
add esi, edi
mov edi, ebx
shl edi, 5
shr ebp, 0x1b
or edi, ebp
mov ebp, dword [edx + 0x10]
add esi, edi
xor ebp, dword [edx + 0x3c]
add esi, 0x8f1bbcdc
xor ebp, dword [edx + 0x24]
add ecx, esi
mov esi, eax
shr eax, 2
xor ebp, dword [edx + 0x1c]
shl esi, 0x1e
or esi, eax
mov eax, esi
mov esi, eax
mov edi, eax
or esi, ebx
and edi, ebx
and esi, dword [esp + 8]
or esi, edi
mov edi, dword [edx + 0x10]
xor edi, dword [edx + 0x3c]
xor edi, dword [edx + 0x24]
xor edi, dword [edx + 0x1c]
shr ebp, 0x1f
add edi, edi
or edi, ebp
mov ebp, ecx
mov dword [edx + 0x1c], edi
add esi, edi
mov edi, ecx
shl edi, 5
shr ebp, 0x1b
or edi, ebp
add esi, edi
add esi, 0x8f1bbcdc
add dword [esp + 0xc], esi
mov esi, ebx
shr ebx, 2
mov ebp, dword [edx + 0x14]
shl esi, 0x1e
xor ebp, dword [edx]
or esi, ebx
xor ebp, dword [edx + 0x28]
mov ebx, esi
xor ebp, dword [edx + 0x20]
mov esi, ebx
mov edi, ebx
or esi, ecx
and edi, ecx
and esi, eax
or esi, edi
mov edi, dword [edx + 0x14]
xor edi, dword [edx]
xor edi, dword [edx + 0x28]
xor edi, dword [edx + 0x20]
shr ebp, 0x1f
add edi, edi
or edi, ebp
mov dword [edx + 0x20], edi
add esi, edi
mov edi, dword [esp + 0xc]
mov ebp, dword [esp + 0xc]
shr ebp, 0x1b
shl edi, 5
or edi, ebp
add esi, edi
add esi, 0x8f1bbcdc
add dword [esp + 8], esi
mov esi, ecx
shr ecx, 2
mov edi, dword [esp + 0xc]
shl esi, 0x1e
mov ebp, dword [edx + 0x18]
or esi, ecx
xor ebp, dword [edx + 4]
mov ecx, esi
mov esi, dword [esp + 0xc]
or esi, ecx
and edi, ecx
and esi, ebx
xor ebp, dword [edx + 0x2c]
or esi, edi
mov edi, dword [edx + 0x18]
xor edi, dword [edx + 4]
xor ebp, dword [edx + 0x24]
xor edi, dword [edx + 0x2c]
xor edi, dword [edx + 0x24]
shr ebp, 0x1f
add edi, edi
or edi, ebp
mov dword [edx + 0x24], edi
add esi, edi
mov edi, dword [esp + 8]
mov ebp, dword [esp + 8]
shr ebp, 0x1b
shl edi, 5
or edi, ebp
add esi, edi
mov edi, dword [esp + 0xc]
add esi, 0x8f1bbcdc
add eax, esi
mov esi, dword [esp + 0xc]
shl esi, 0x1e
shr edi, 2
or esi, edi
mov dword [esp + 0xc], esi
mov esi, dword [esp + 8]
mov edi, dword [esp + 8]
or esi, dword [esp + 0xc]
and edi, dword [esp + 0xc]
and esi, ecx
mov ebp, dword [edx + 0x1c]
or esi, edi
mov edi, dword [edx + 0x1c]
xor ebp, dword [edx + 8]
xor edi, dword [edx + 8]
xor ebp, dword [edx + 0x30]
xor edi, dword [edx + 0x30]
xor ebp, dword [edx + 0x28]
xor edi, dword [edx + 0x28]
shr ebp, 0x1f
add edi, edi
or edi, ebp
mov ebp, eax
mov dword [edx + 0x28], edi
add esi, edi
mov edi, eax
shl edi, 5
shr ebp, 0x1b
or edi, ebp
add esi, edi
mov edi, dword [esp + 8]
add esi, 0x8f1bbcdc
add ebx, esi
mov esi, dword [esp + 8]
shl esi, 0x1e
shr edi, 2
or esi, edi
mov dword [esp + 8], esi
mov esi, dword [esp + 8]
mov edi, dword [esp + 8]
or esi, eax
and edi, eax
and esi, dword [esp + 0xc]
mov ebp, dword [edx + 0x20]
or esi, edi
mov edi, dword [edx + 0x20]
xor ebp, dword [edx + 0xc]
xor edi, dword [edx + 0xc]
xor ebp, dword [edx + 0x34]
xor edi, dword [edx + 0x34]
xor ebp, dword [edx + 0x2c]
xor edi, dword [edx + 0x2c]
shr ebp, 0x1f
add edi, edi
or edi, ebp
mov ebp, ebx
mov dword [edx + 0x2c], edi
add esi, edi
mov edi, ebx
shl edi, 5
shr ebp, 0x1b
or edi, ebp
add esi, edi
mov edi, dword [edx + 0x24]
add esi, 0x8f1bbcdc
xor edi, dword [edx + 0x10]
add ecx, esi
mov esi, eax
shr eax, 2
mov ebp, ecx
shl esi, 0x1e
xor edi, dword [edx + 0x38]
or esi, eax
xor edi, dword [edx + 0x30]
mov eax, esi
mov esi, dword [edx + 0x24]
xor esi, dword [edx + 0x10]
xor esi, dword [edx + 0x38]
xor esi, dword [edx + 0x30]
shr edi, 0x1f
add esi, esi
or esi, edi
mov edi, eax
mov dword [edx + 0x30], esi
xor edi, ebx
xor edi, dword [esp + 8]
add esi, edi
mov edi, ecx
shl edi, 5
shr ebp, 0x1b
or edi, ebp
add esi, edi
add esi, 0xca62c1d6
add dword [esp + 0xc], esi
mov esi, ebx
shr ebx, 2
mov edi, dword [edx + 0x28]
shl esi, 0x1e
xor edi, dword [edx + 0x14]
or esi, ebx
xor edi, dword [edx + 0x3c]
mov ebx, esi
mov esi, dword [edx + 0x28]
xor esi, dword [edx + 0x14]
xor edi, dword [edx + 0x34]
xor esi, dword [edx + 0x3c]
xor esi, dword [edx + 0x34]
shr edi, 0x1f
add esi, esi
or esi, edi
mov edi, ebx
xor edi, ecx
mov dword [edx + 0x34], esi
xor edi, eax
mov ebp, dword [esp + 0xc]
add esi, edi
mov edi, dword [esp + 0xc]
shl edi, 5
shr ebp, 0x1b
or edi, ebp
add esi, edi
add esi, 0xca62c1d6
add dword [esp + 8], esi
mov esi, ecx
shr ecx, 2
mov edi, dword [edx + 0x2c]
shl esi, 0x1e
xor edi, dword [edx + 0x18]
or esi, ecx
xor edi, dword [edx]
mov ecx, esi
mov esi, dword [edx + 0x2c]
xor esi, dword [edx + 0x18]
xor edi, dword [edx + 0x38]
xor esi, dword [edx]
xor esi, dword [edx + 0x38]
shr edi, 0x1f
add esi, esi
or esi, edi
mov dword [edx + 0x38], esi
mov edi, dword [esp + 0xc]
mov ebp, dword [esp + 8]
xor edi, ecx
xor edi, ebx
add esi, edi
mov edi, dword [esp + 8]
shl edi, 5
shr ebp, 0x1b
or edi, ebp
add esi, edi
mov edi, dword [esp + 0xc]
add esi, 0xca62c1d6
add eax, esi
mov esi, dword [esp + 0xc]
shl esi, 0x1e
mov ebp, eax
shr edi, 2
or esi, edi
mov dword [esp + 0xc], esi
mov edi, dword [edx + 0x30]
mov esi, dword [edx + 0x30]
xor edi, dword [edx + 0x1c]
xor esi, dword [edx + 0x1c]
xor edi, dword [edx + 4]
xor esi, dword [edx + 4]
xor edi, dword [edx + 0x3c]
xor esi, dword [edx + 0x3c]
shr edi, 0x1f
add esi, esi
or esi, edi
mov dword [edx + 0x3c], esi
mov edi, dword [esp + 8]
xor edi, dword [esp + 0xc]
xor edi, ecx
add esi, edi
mov edi, eax
shl edi, 5
shr ebp, 0x1b
or edi, ebp
add esi, edi
mov edi, dword [esp + 8]
add esi, 0xca62c1d6
add ebx, esi
mov esi, dword [esp + 8]
shl esi, 0x1e
mov ebp, ebx
shr edi, 2
or esi, edi
mov dword [esp + 8], esi
mov edi, dword [edx + 0x34]
mov esi, dword [edx + 0x34]
xor edi, dword [edx + 0x20]
xor esi, dword [edx + 0x20]
xor edi, dword [edx + 8]
xor esi, dword [edx + 8]
xor edi, dword [edx]
xor esi, dword [edx]
shr edi, 0x1f
add esi, esi
or esi, edi
mov dword [edx], esi
mov edi, dword [esp + 8]
xor edi, eax
xor edi, dword [esp + 0xc]
add esi, edi
mov edi, ebx
shr ebp, 0x1b
shl edi, 5
or edi, ebp
add esi, edi
add esi, 0xca62c1d6
add ecx, esi
mov esi, eax
shl esi, 0x1e
shr eax, 2
mov edi, dword [edx + 0x38]
or esi, eax
mov ebp, ecx
mov eax, esi
mov esi, dword [edx + 0x38]
xor edi, dword [edx + 0x24]
xor esi, dword [edx + 0x24]
xor edi, dword [edx + 0xc]
xor esi, dword [edx + 0xc]
xor edi, dword [edx + 4]
xor esi, dword [edx + 4]
shr edi, 0x1f
add esi, esi
or esi, edi
mov edi, eax
mov dword [edx + 4], esi
xor edi, ebx
xor edi, dword [esp + 8]
add esi, edi
mov edi, ecx
shl edi, 5
shr ebp, 0x1b
or edi, ebp
add esi, edi
add esi, 0xca62c1d6
add dword [esp + 0xc], esi
mov esi, ebx
shr ebx, 2
mov edi, dword [edx + 0x3c]
shl esi, 0x1e
xor edi, dword [edx + 0x28]
or esi, ebx
xor edi, dword [edx + 0x10]
mov ebx, esi
mov esi, dword [edx + 0x3c]
xor esi, dword [edx + 0x28]
xor edi, dword [edx + 8]
xor esi, dword [edx + 0x10]
xor esi, dword [edx + 8]
shr edi, 0x1f
add esi, esi
or esi, edi
mov edi, ebx
xor edi, ecx
mov dword [edx + 8], esi
xor edi, eax
mov ebp, dword [esp + 0xc]
add esi, edi
mov edi, dword [esp + 0xc]
shl edi, 5
shr ebp, 0x1b
or edi, ebp
add esi, edi
add esi, 0xca62c1d6
add dword [esp + 8], esi
mov esi, ecx
shr ecx, 2
mov edi, dword [edx]
shl esi, 0x1e
xor edi, dword [edx + 0x2c]
or esi, ecx
xor edi, dword [edx + 0x14]
mov ecx, esi
mov esi, dword [edx]
xor esi, dword [edx + 0x2c]
xor edi, dword [edx + 0xc]
xor esi, dword [edx + 0x14]
xor esi, dword [edx + 0xc]
shr edi, 0x1f
add esi, esi
or esi, edi
mov dword [edx + 0xc], esi
mov edi, dword [esp + 0xc]
mov ebp, dword [esp + 8]
xor edi, ecx
xor edi, ebx
add esi, edi
mov edi, dword [esp + 8]
shl edi, 5
shr ebp, 0x1b
or edi, ebp
add esi, edi
mov edi, dword [esp + 0xc]
add esi, 0xca62c1d6
add eax, esi
mov esi, dword [esp + 0xc]
shl esi, 0x1e
mov ebp, eax
shr edi, 2
or esi, edi
mov dword [esp + 0xc], esi
mov edi, dword [edx + 4]
mov esi, dword [edx + 4]
xor edi, dword [edx + 0x30]
xor esi, dword [edx + 0x30]
xor edi, dword [edx + 0x18]
xor esi, dword [edx + 0x18]
xor edi, dword [edx + 0x10]
xor esi, dword [edx + 0x10]
shr edi, 0x1f
add esi, esi
or esi, edi
mov dword [edx + 0x10], esi
mov edi, dword [esp + 8]
xor edi, dword [esp + 0xc]
xor edi, ecx
add esi, edi
mov edi, eax
shl edi, 5
shr ebp, 0x1b
or edi, ebp
add esi, edi
mov edi, dword [esp + 8]
add esi, 0xca62c1d6
add ebx, esi
mov esi, dword [esp + 8]
shl esi, 0x1e
mov ebp, ebx
shr edi, 2
or esi, edi
mov dword [esp + 8], esi
mov edi, dword [edx + 8]
mov esi, dword [edx + 8]
xor edi, dword [edx + 0x34]
xor esi, dword [edx + 0x34]
xor edi, dword [edx + 0x1c]
xor esi, dword [edx + 0x1c]
xor edi, dword [edx + 0x14]
xor esi, dword [edx + 0x14]
shr edi, 0x1f
add esi, esi
or esi, edi
mov dword [edx + 0x14], esi
mov edi, dword [esp + 8]
xor edi, eax
xor edi, dword [esp + 0xc]
add esi, edi
mov edi, ebx
shl edi, 5
shr ebp, 0x1b
or edi, ebp
add esi, edi
mov edi, dword [edx + 0xc]
add esi, 0xca62c1d6
xor edi, dword [edx + 0x38]
add ecx, esi
mov esi, eax
shr eax, 2
mov ebp, ecx
shl esi, 0x1e
xor edi, dword [edx + 0x20]
or esi, eax
xor edi, dword [edx + 0x18]
mov eax, esi
mov esi, dword [edx + 0xc]
xor esi, dword [edx + 0x38]
xor esi, dword [edx + 0x20]
xor esi, dword [edx + 0x18]
shr edi, 0x1f
add esi, esi
or esi, edi
mov edi, eax
mov dword [edx + 0x18], esi
xor edi, ebx
xor edi, dword [esp + 8]
add esi, edi
mov edi, ecx
shl edi, 5
shr ebp, 0x1b
or edi, ebp
add esi, edi
add esi, 0xca62c1d6
add dword [esp + 0xc], esi
mov esi, ebx
shr ebx, 2
mov edi, dword [edx + 0x10]
shl esi, 0x1e
xor edi, dword [edx + 0x3c]
or esi, ebx
xor edi, dword [edx + 0x24]
mov ebx, esi
mov esi, dword [edx + 0x10]
xor esi, dword [edx + 0x3c]
xor edi, dword [edx + 0x1c]
xor esi, dword [edx + 0x24]
xor esi, dword [edx + 0x1c]
shr edi, 0x1f
add esi, esi
or esi, edi
mov edi, ebx
xor edi, ecx
mov dword [edx + 0x1c], esi
xor edi, eax
mov ebp, dword [esp + 0xc]
add esi, edi
mov edi, dword [esp + 0xc]
shl edi, 5
shr ebp, 0x1b
or edi, ebp
add esi, edi
add esi, 0xca62c1d6
add dword [esp + 8], esi
mov esi, ecx
shr ecx, 2
mov edi, dword [edx + 0x14]
shl esi, 0x1e
xor edi, dword [edx]
or esi, ecx
xor edi, dword [edx + 0x28]
mov ecx, esi
mov esi, dword [edx + 0x14]
xor esi, dword [edx]
xor edi, dword [edx + 0x20]
xor esi, dword [edx + 0x28]
xor esi, dword [edx + 0x20]
shr edi, 0x1f
add esi, esi
or esi, edi
mov dword [edx + 0x20], esi
mov edi, dword [esp + 0xc]
mov ebp, dword [esp + 8]
xor edi, ecx
xor edi, ebx
add esi, edi
mov edi, dword [esp + 8]
shr ebp, 0x1b
shl edi, 5
or edi, ebp
add esi, edi
mov edi, dword [esp + 0xc]
add esi, 0xca62c1d6
add eax, esi
mov esi, dword [esp + 0xc]
shl esi, 0x1e
shr edi, 2
or esi, edi
mov dword [esp + 0xc], esi
mov edi, dword [edx + 0x18]
mov esi, dword [edx + 0x18]
xor edi, dword [edx + 4]
xor esi, dword [edx + 4]
xor edi, dword [edx + 0x2c]
xor esi, dword [edx + 0x2c]
xor edi, dword [edx + 0x24]
xor esi, dword [edx + 0x24]
shr edi, 0x1f
add esi, esi
or esi, edi
mov dword [edx + 0x24], esi
mov edi, dword [esp + 8]
xor edi, dword [esp + 0xc]
xor edi, ecx
add esi, edi
mov edi, eax
mov ebp, eax
shr ebp, 0x1b
shl edi, 5
or edi, ebp
add esi, edi
mov edi, dword [esp + 8]
add esi, 0xca62c1d6
add ebx, esi
mov esi, dword [esp + 8]
shl esi, 0x1e
mov ebp, ebx
shr edi, 2
or esi, edi
mov dword [esp + 8], esi
mov edi, dword [edx + 0x1c]
mov esi, dword [edx + 0x1c]
xor edi, dword [edx + 8]
xor esi, dword [edx + 8]
xor edi, dword [edx + 0x30]
xor esi, dword [edx + 0x30]
xor edi, dword [edx + 0x28]
xor esi, dword [edx + 0x28]
shr edi, 0x1f
add esi, esi
or esi, edi
mov dword [edx + 0x28], esi
mov edi, dword [esp + 8]
xor edi, eax
xor edi, dword [esp + 0xc]
add esi, edi
mov edi, ebx
shl edi, 5
shr ebp, 0x1b
or edi, ebp
add esi, edi
mov edi, dword [edx + 0x20]
add esi, 0xca62c1d6
xor edi, dword [edx + 0xc]
add ecx, esi
mov esi, eax
shr eax, 2
mov ebp, ecx
shl esi, 0x1e
xor edi, dword [edx + 0x34]
or esi, eax
xor edi, dword [edx + 0x2c]
mov eax, esi
mov esi, dword [edx + 0x20]
xor esi, dword [edx + 0xc]
xor esi, dword [edx + 0x34]
xor esi, dword [edx + 0x2c]
shr edi, 0x1f
add esi, esi
or esi, edi
mov edi, eax
mov dword [edx + 0x2c], esi
xor edi, ebx
xor edi, dword [esp + 8]
add esi, edi
mov edi, ecx
shl edi, 5
shr ebp, 0x1b
or edi, ebp
add esi, edi
add esi, 0xca62c1d6
add dword [esp + 0xc], esi
mov esi, ebx
shr ebx, 2
mov edi, dword [edx + 0x24]
shl esi, 0x1e
xor edi, dword [edx + 0x10]
or esi, ebx
xor edi, dword [edx + 0x38]
mov ebx, esi
mov esi, dword [edx + 0x24]
xor esi, dword [edx + 0x10]
xor edi, dword [edx + 0x30]
xor esi, dword [edx + 0x38]
xor esi, dword [edx + 0x30]
shr edi, 0x1f
add esi, esi
or esi, edi
mov edi, ebx
xor edi, ecx
mov dword [edx + 0x30], esi
xor edi, eax
mov ebp, dword [esp + 0xc]
add esi, edi
mov edi, dword [esp + 0xc]
shl edi, 5
shr ebp, 0x1b
or edi, ebp
add esi, edi
add esi, 0xca62c1d6
add dword [esp + 8], esi
mov esi, ecx
shr ecx, 2
mov edi, dword [edx + 0x28]
shl esi, 0x1e
xor edi, dword [edx + 0x14]
or esi, ecx
xor edi, dword [edx + 0x3c]
mov ecx, esi
mov esi, dword [edx + 0x28]
xor esi, dword [edx + 0x14]
xor edi, dword [edx + 0x34]
xor esi, dword [edx + 0x3c]
xor esi, dword [edx + 0x34]
shr edi, 0x1f
add esi, esi
or esi, edi
mov dword [edx + 0x34], esi
mov edi, dword [esp + 0xc]
mov ebp, dword [esp + 8]
xor edi, ecx
xor edi, ebx
add esi, edi
mov edi, dword [esp + 8]
shl edi, 5
shr ebp, 0x1b
or edi, ebp
add esi, edi
mov edi, dword [esp + 0xc]
add esi, 0xca62c1d6
add eax, esi
mov esi, dword [esp + 0xc]
shl esi, 0x1e
mov ebp, eax
shr edi, 2
or esi, edi
mov dword [esp + 0xc], esi
mov edi, dword [edx + 0x2c]
mov esi, dword [edx + 0x2c]
xor edi, dword [edx + 0x18]
xor esi, dword [edx + 0x18]
xor edi, dword [edx]
xor esi, dword [edx]
xor edi, dword [edx + 0x38]
xor esi, dword [edx + 0x38]
shr edi, 0x1f
add esi, esi
or esi, edi
mov dword [edx + 0x38], esi
mov edi, dword [esp + 8]
xor edi, dword [esp + 0xc]
xor edi, ecx
add esi, edi
mov edi, eax
shr ebp, 0x1b
shl edi, 5
or edi, ebp
add esi, edi
mov edi, dword [esp + 8]
add esi, 0xca62c1d6
add ebx, esi
mov esi, dword [esp + 8]
shl esi, 0x1e
shr edi, 2
or esi, edi
mov dword [esp + 8], esi
mov edi, dword [edx + 0x30]
mov esi, dword [edx + 0x30]
xor edi, dword [edx + 0x1c]
xor esi, dword [edx + 0x1c]
xor edi, dword [edx + 4]
xor esi, dword [edx + 4]
xor edi, dword [edx + 0x3c]
xor esi, dword [edx + 0x3c]
shr edi, 0x1f
add esi, esi
or esi, edi
mov edi, ebx
mov dword [edx + 0x3c], esi
mov edx, dword [esp + 8]
xor edx, eax
xor edx, dword [esp + 0xc]
add esi, edx
mov edx, ebx
shr edi, 0x1b
shl edx, 5
or edx, edi
add esi, edx
mov edx, eax
shr eax, 2
add esi, 0xca62c1d6
shl edx, 0x1e
add ecx, esi
or edx, eax
mov eax, edx
mov edx, dword [esp]
add dword [edx], ecx
mov ecx, dword [esp]
add dword [ecx + 4], ebx
mov edx, dword [esp]
add dword [edx + 8], eax
mov eax, dword [esp]
mov ecx, dword [esp + 8]
add dword [eax + 0xc], ecx
mov eax, dword [esp]
mov edx, dword [esp + 0xc]
add dword [eax + 0x10], edx
add esp, 0x10
pop ebp
pop edi
pop esi
pop ebx
ret