Function at 0x5641b1
Capabilities:
Hash data using sha512
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x11c
push ebx
mov ebx, dword [esp + 0x124]
push ebp
push esi
push edi
push ebx
call fcn.0056e480
mov ecx, eax
mov eax, edx
mov dword [esp + 0x58], eax
mov dword [esp + 0xe4], eax
lea eax, [ebx + 8]
push eax
mov dword [esp + 0x60], ecx
mov dword [esp + 0xe4], ecx
call fcn.0056e480
mov ecx, eax
mov eax, edx
mov dword [esp + 0x24], eax
mov dword [esp + 0xec], eax
lea eax, [ebx + 0x10]
push eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0xec], ecx
call fcn.0056e480
mov dword [esp + 0x14], eax
mov edi, edx
mov dword [esp + 0xf0], eax
lea eax, [ebx + 0x18]
push eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0xf8], edi
call fcn.0056e480
mov dword [esp + 0x40], eax
mov esi, edx
mov dword [esp + 0xf8], eax
lea eax, [ebx + 0x20]
push eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x100], esi
call fcn.0056e480
mov dword [esp + 0x54], eax
mov ecx, edx
mov dword [esp + 0x100], eax
lea eax, [ebx + 0x28]
push eax
mov dword [esp + 0x30], ecx
mov dword [esp + 0x108], ecx
call fcn.0056e480
mov dword [esp + 0x3c], eax
mov ecx, edx
mov dword [esp + 0x108], eax
lea eax, [ebx + 0x30]
push eax
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x110], ecx
call fcn.0056e480
mov dword [esp + 0x34], eax
mov ecx, edx
mov dword [esp + 0x110], eax
lea eax, [ebx + 0x38]
push eax
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x118], ecx
call fcn.0056e480
mov ebp, dword [esp + 0x138]
mov ecx, edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x118], eax
mov eax, dword [esp + 0x13c]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x11c], ecx
mov dword [esp + 0x128], eax
mov dword [esp + 0x124], ebp
test eax, eax
jne 0x5642f7
cmp ebp, 0x80
jb 0x56e3f2
mov ebx, dword [esp + 0x134]
add ebx, 0x10
mov dword [esp + 0x120], ebx
lea eax, [ebx - 0x10]
push eax
call fcn.0056e480
lea ecx, [ebx - 8]
mov dword [esp + 0x94], edx
mov ebp, eax
push ecx
mov dword [esp + 0xac], ebp
call fcn.0056e480
push ebx
mov dword [esp + 0xa4], eax
mov dword [esp + 0x68], edx
call fcn.0056e480
lea ecx, [ebx + 8]
mov dword [esp + 0x68], eax
push ecx
mov dword [esp + 0x70], edx
call fcn.0056e480
lea ecx, [ebx + 0x10]
mov dword [esp + 0xd0], eax
push ecx
mov dword [esp + 0x74], edx
call fcn.0056e480
lea ecx, [ebx + 0x18]
mov dword [esp + 0xcc], eax
push ecx
mov dword [esp + 0x78], edx
call fcn.0056e480
lea ecx, [ebx + 0x20]
mov dword [esp + 0xc8], eax
push ecx
mov dword [esp + 0x7c], edx
call fcn.0056e480
lea ecx, [ebx + 0x28]
mov dword [esp + 0xc4], eax
push ecx
mov dword [esp + 0x80], edx
call fcn.0056e480
lea ecx, [ebx + 0x30]
mov dword [esp + 0xc0], eax
push ecx
mov dword [esp + 0x90], edx
call fcn.0056e480
lea ecx, [ebx + 0x38]
mov dword [esp + 0xb4], eax
push ecx
mov dword [esp + 0x9c], edx
call fcn.0056e480
lea ecx, [ebx + 0x40]
mov dword [esp + 0xbc], eax
push ecx
mov dword [esp + 0xa0], edx
call fcn.0056e480
lea ecx, [ebx + 0x48]
mov dword [esp + 0x60], eax
push ecx
mov dword [esp + 0x84], edx
call fcn.0056e480
lea ecx, [ebx + 0x50]
mov dword [esp + 0xa4], eax
push ecx
mov dword [esp + 0x88], edx
call fcn.0056e480
lea ecx, [ebx + 0x58]
mov dword [esp + 0xb8], eax
push ecx
mov dword [esp + 0x8c], edx
call fcn.0056e480
lea ecx, [ebx + 0x60]
mov dword [esp + 0xd4], eax
push ecx
mov dword [esp + 0x94], edx
call fcn.0056e480
lea ecx, [ebx + 0x68]
mov dword [esp + 0xdc], eax
push ecx
mov dword [esp + 0xb4], edx
call fcn.0056e480
mov edi, dword [esp + 0x2c]
mov dword [esp + 0xd8], eax
mov dword [esp + 0xac], edx
mov eax, dword [esp + 0x54]
xor ebx, ebx
mov esi, dword [esp + 0x2c]
mov ecx, eax
shld esi, ecx, 0x17
xor edx, edx
shr edi, 9
or ebx, esi
shl ecx, 0x17
or edi, ecx
mov esi, eax
mov ecx, dword [esp + 0x2c]
shrd eax, ecx, 0x12
shl esi, 0xe
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x54]
or esi, ecx
mov ecx, dword [esp + 0x2c]
xor ebx, esi
xor edi, edx
mov esi, eax
shrd eax, ecx, 0xe
xor edx, edx
shl esi, 0x12
or edx, eax
shr ecx, 0xe
mov eax, dword [esp + 0x48]
or esi, ecx
and eax, dword [esp + 0x2c]
xor ebx, esi
mov esi, dword [esp + 0x54]
xor edi, edx
mov edx, dword [esp + 0x2c]
not esi
and esi, dword [esp + 0x34]
not edx
and edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
xor edx, eax
and ecx, dword [esp + 0x54]
xor esi, ecx
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x58]
add edi, esi
adc ebx, edx
add edi, ebp
mov edx, eax
adc ebx, dword [esp + 0x94]
add edi, dword [esp + 0x10]
adc ebx, dword [esp + 0x30]
add edi, 0xd728ae22
adc ebx, 0x428a2f98
shl edx, 4
shrd eax, ecx, 0x1c
xor ebp, ebp
shr ecx, 0x1c
or ebp, eax
mov eax, dword [esp + 0x5c]
or edx, ecx
mov ecx, dword [esp + 0x58]
mov esi, ecx
shld ecx, eax, 0x1e
mov dword [esp + 0x20], edx
xor edx, edx
shr esi, 2
or edx, ecx
mov ecx, dword [esp + 0x58]
xor dword [esp + 0x20], edx
xor edx, edx
shl eax, 0x1e
or esi, eax
mov eax, dword [esp + 0x5c]
xor ebp, esi
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
shl eax, 0x19
or edx, ecx
or esi, eax
xor ebp, esi
xor dword [esp + 0x20], edx
mov ecx, dword [esp + 0x18]
mov esi, ecx
xor esi, dword [esp + 0x5c]
and esi, dword [esp + 0x14]
and ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x24]
xor esi, ecx
mov edx, eax
and eax, dword [esp + 0x58]
xor edx, dword [esp + 0x58]
and edx, dword [esp + 0x28]
xor edx, eax
mov eax, dword [esp + 0x20]
add ebp, esi
mov dword [esp + 0x10], ebp
mov ebp, ebx
adc eax, edx
mov edx, edi
add edx, dword [esp + 0x40]
mov dword [esp + 0x50], edx
mov esi, edx
adc ebp, dword [esp + 0x1c]
add dword [esp + 0x10], edi
mov ecx, ebp
mov edi, ebp
adc eax, ebx
xor ebx, ebx
mov dword [esp + 0x20], eax
mov eax, edx
shld ecx, eax, 0x17
shr edi, 9
xor edx, edx
or ebx, ecx
shl eax, 0x17
or edi, eax
shl esi, 0xe
mov eax, dword [esp + 0x50]
mov ecx, ebp
shrd eax, ecx, 0x12
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x50]
or esi, ecx
xor ebx, esi
xor edi, edx
xor edx, edx
mov esi, eax
shl esi, 0x12
mov ecx, ebp
shrd eax, ecx, 0xe
or edx, eax
shr ecx, 0xe
mov eax, dword [esp + 0x2c]
or esi, ecx
mov ecx, dword [esp + 0x54]
xor ebx, esi
and ecx, dword [esp + 0x50]
xor edi, edx
mov esi, dword [esp + 0x50]
and eax, ebp
not esi
mov edx, ebp
and esi, dword [esp + 0x3c]
not edx
and edx, dword [esp + 0x48]
xor esi, ecx
mov ecx, dword [esp + 0x20]
xor edx, eax
mov eax, dword [esp + 0x10]
add edi, esi
mov esi, eax
adc ebx, edx
add edi, dword [esp + 0xa0]
adc ebx, dword [esp + 0x64]
add edi, dword [esp + 0x34]
adc ebx, dword [esp + 0x38]
add edi, 0x23ef65cd
adc ebx, 0x71374491
xor edx, edx
shl esi, 4
shrd eax, ecx, 0x1c
or edx, eax
shr ecx, 0x1c
or esi, ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x1c], esi
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
shl eax, 0x1e
or esi, eax
mov dword [esp + 0x40], edx
xor dword [esp + 0x40], esi
xor edx, edx
mov eax, dword [esp + 0x10]
or edx, ecx
xor dword [esp + 0x1c], edx
xor edx, edx
mov ecx, dword [esp + 0x20]
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x1c], edx
or esi, eax
xor dword [esp + 0x40], esi
mov ecx, dword [esp + 0x5c]
mov esi, ecx
xor esi, dword [esp + 0x10]
and ecx, dword [esp + 0x10]
and esi, dword [esp + 0x18]
mov edx, dword [esp + 0x58]
xor esi, ecx
xor edx, dword [esp + 0x20]
mov ecx, ebx
and edx, dword [esp + 0x24]
mov eax, dword [esp + 0x58]
and eax, dword [esp + 0x20]
xor edx, eax
mov eax, dword [esp + 0x40]
add eax, esi
mov esi, dword [esp + 0x1c]
adc esi, edx
mov edx, edi
add edx, dword [esp + 0x14]
mov dword [esp + 0x4c], edx
adc ecx, dword [esp + 0x28]
add eax, edi
mov dword [esp + 0x40], eax
mov edi, ecx
adc esi, ebx
mov dword [esp + 0x34], ecx
mov eax, edx
shr edi, 9
shld ecx, eax, 0x17
xor ebx, ebx
mov dword [esp + 0x1c], esi
shl eax, 0x17
or ebx, ecx
mov ecx, dword [esp + 0x34]
or edi, eax
mov eax, dword [esp + 0x4c]
mov esi, edx
shrd eax, ecx, 0x12
shl esi, 0xe
xor edx, edx
shr ecx, 0x12
or edx, eax
mov eax, dword [esp + 0x4c]
or esi, ecx
mov ecx, dword [esp + 0x34]
xor ebx, esi
mov esi, eax
xor edi, edx
shrd eax, ecx, 0xe
xor edx, edx
shl esi, 0x12
shr ecx, 0xe
or edx, eax
or esi, ecx
xor edi, edx
xor ebx, esi
mov edx, dword [esp + 0x34]
mov esi, dword [esp + 0x4c]
not edx
and edx, dword [esp + 0x2c]
not esi
and esi, dword [esp + 0x54]
mov eax, ebp
and eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x50]
xor edx, eax
and ecx, dword [esp + 0x4c]
xor esi, ecx
mov eax, dword [esp + 0x40]
add edi, esi
mov ecx, dword [esp + 0x1c]
mov esi, eax
adc ebx, edx
add edi, dword [esp + 0x68]
adc ebx, dword [esp + 0x6c]
add edi, dword [esp + 0x3c]
adc ebx, dword [esp + 0x48]
add edi, 0xec4d3b2f
adc ebx, 0xb5c0fbcf
shl esi, 4
shrd eax, ecx, 0x1c
xor edx, edx
or edx, eax
shr ecx, 0x1c
mov eax, dword [esp + 0x40]
or esi, ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x14], esi
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
mov dword [esp + 0x30], edx
xor edx, edx
or edx, ecx
shl eax, 0x1e
xor dword [esp + 0x14], edx
or esi, eax
xor dword [esp + 0x30], esi
xor edx, edx
mov ecx, dword [esp + 0x1c]
mov esi, ecx
mov eax, dword [esp + 0x40]
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x14], edx
or esi, eax
xor dword [esp + 0x30], esi
mov edx, dword [esp + 0x20]
xor edx, dword [esp + 0x1c]
and edx, dword [esp + 0x58]
mov esi, dword [esp + 0x10]
xor esi, dword [esp + 0x40]
and esi, dword [esp + 0x5c]
mov eax, dword [esp + 0x20]
and eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
xor edx, eax
and ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x30]
xor esi, ecx
add eax, esi
mov ecx, ebx
mov esi, dword [esp + 0x14]
adc esi, edx
mov edx, edi
add edx, dword [esp + 0x18]
mov dword [esp + 0x44], edx
adc ecx, dword [esp + 0x24]
add eax, edi
mov dword [esp + 0x48], ecx
mov dword [esp + 0x30], eax
adc esi, ebx
mov edi, ecx
mov dword [esp + 0x14], esi
mov eax, edx
shr edi, 9
shld ecx, eax, 0x17
xor ebx, ebx
mov esi, edx
or ebx, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x48]
or edi, eax
mov eax, dword [esp + 0x44]
xor edx, edx
shrd eax, ecx, 0x12
shl esi, 0xe
or edx, eax
shr ecx, 0x12
or esi, ecx
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
xor ebx, esi
xor edi, edx
mov esi, eax
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
or edx, eax
shr ecx, 0xe
or esi, ecx
mov eax, dword [esp + 0x34]
and eax, dword [esp + 0x48]
xor ebx, esi
mov esi, dword [esp + 0x44]
xor edi, edx
mov edx, dword [esp + 0x48]
not esi
and esi, dword [esp + 0x50]
not edx
mov ecx, dword [esp + 0x4c]
and edx, ebp
and ecx, dword [esp + 0x44]
xor edx, eax
xor esi, ecx
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x14]
add edi, esi
mov esi, eax
adc ebx, edx
add edi, dword [esp + 0xd0]
adc ebx, dword [esp + 0x70]
add edi, dword [esp + 0x54]
adc ebx, dword [esp + 0x2c]
add edi, 0x8189dbbc
adc ebx, 0xe9b5dba5
shl esi, 4
shrd eax, ecx, 0x1c
xor edx, edx
or edx, eax
shr ecx, 0x1c
mov eax, dword [esp + 0x30]
or esi, ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x18], esi
mov esi, ecx
shld ecx, eax, 0x1e
mov dword [esp + 0x38], edx
xor edx, edx
shl eax, 0x1e
or edx, ecx
mov ecx, dword [esp + 0x14]
xor dword [esp + 0x18], edx
xor edx, edx
shr esi, 2
or esi, eax
mov eax, dword [esp + 0x30]
xor dword [esp + 0x38], esi
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
shl eax, 0x19
or esi, eax
xor dword [esp + 0x38], esi
or edx, ecx
xor dword [esp + 0x18], edx
mov edx, dword [esp + 0x1c]
xor edx, dword [esp + 0x14]
and edx, dword [esp + 0x20]
mov esi, dword [esp + 0x40]
xor esi, dword [esp + 0x30]
and esi, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
and eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x40]
xor edx, eax
and ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x38]
xor esi, ecx
add eax, esi
mov ecx, ebx
mov esi, dword [esp + 0x18]
adc esi, edx
mov edx, edi
add edx, dword [esp + 0x5c]
mov dword [esp + 0x54], edx
adc ecx, dword [esp + 0x58]
add eax, edi
mov dword [esp + 0x38], eax
mov edi, ecx
adc esi, ebx
mov dword [esp + 0x3c], ecx
mov eax, edx
shr edi, 9
shld ecx, eax, 0x17
xor ebx, ebx
mov dword [esp + 0x18], esi
or ebx, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x3c]
or edi, eax
mov eax, dword [esp + 0x54]
mov esi, edx
shrd eax, ecx, 0x12
shl esi, 0xe
xor edx, edx
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x54]
or esi, ecx
mov ecx, dword [esp + 0x3c]
xor ebx, esi
xor edi, edx
mov esi, eax
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
or edx, eax
shr ecx, 0xe
mov eax, dword [esp + 0x48]
or esi, ecx
and eax, dword [esp + 0x3c]
xor ebx, esi
mov esi, dword [esp + 0x54]
xor edi, edx
mov edx, dword [esp + 0x3c]
not esi
and esi, dword [esp + 0x4c]
not edx
and edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x44]
xor edx, eax
and ecx, dword [esp + 0x54]
xor esi, ecx
add edi, esi
adc ebx, edx
add edi, dword [esp + 0xcc]
adc ebx, dword [esp + 0x74]
add edi, dword [esp + 0x50]
adc ebx, ebp
mov ebp, dword [esp + 0x38]
add edi, 0xf348b538
mov esi, ebp
adc ebx, 0x3956c25b
mov ecx, dword [esp + 0x18]
xor edx, edx
shl esi, 4
mov eax, ebp
shrd eax, ecx, 0x1c
or edx, eax
shr ecx, 0x1c
or esi, ecx
mov dword [esp + 0x28], edx
mov ecx, dword [esp + 0x18]
xor edx, edx
mov dword [esp + 0x24], esi
mov eax, ebp
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
or edx, ecx
shl eax, 0x1e
xor dword [esp + 0x24], edx
or esi, eax
xor dword [esp + 0x28], esi
xor edx, edx
mov ecx, dword [esp + 0x18]
mov eax, ebp
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x24], edx
or esi, eax
xor dword [esp + 0x28], esi
mov edx, dword [esp + 0x14]
xor edx, dword [esp + 0x18]
and edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
xor esi, ebp
and eax, dword [esp + 0x18]
and esi, dword [esp + 0x40]
xor edx, eax
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x28]
and ecx, ebp
xor esi, ecx
mov ebp, ebx
mov ecx, dword [esp + 0x24]
add eax, esi
adc ecx, edx
mov edx, edi
add edx, dword [esp + 0x10]
mov dword [esp + 0x50], edx
mov esi, edx
adc ebp, dword [esp + 0x20]
add eax, edi
mov dword [esp + 0x28], eax
mov edi, ebp
adc ecx, ebx
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x24], ecx
mov eax, edx
mov ecx, ebp
shr edi, 9
shld ecx, eax, 0x17
xor ebx, ebx
shl esi, 0xe
shl eax, 0x17
or ebx, ecx
or edi, eax
mov ecx, ebp
mov eax, dword [esp + 0x50]
xor edx, edx
shrd eax, ecx, 0x12
shr ecx, 0x12
or edx, eax
mov eax, dword [esp + 0x50]
or esi, ecx
xor ebx, esi
xor edi, edx
mov esi, eax
xor edx, edx
shl esi, 0x12
mov ecx, ebp
shrd eax, ecx, 0xe
or edx, eax
shr ecx, 0xe
or esi, ecx
mov eax, dword [esp + 0x3c]
and eax, dword [esp + 0x5c]
xor ebx, esi
mov esi, dword [esp + 0x50]
xor edi, edx
mov ecx, dword [esp + 0x54]
not esi
and esi, dword [esp + 0x44]
mov edx, ebp
and ecx, dword [esp + 0x50]
not edx
mov ebp, dword [esp + 0x48]
xor esi, ecx
and edx, ebp
mov ecx, dword [esp + 0x24]
xor edx, eax
add edi, esi
mov eax, dword [esp + 0x28]
mov esi, eax
adc ebx, edx
add edi, dword [esp + 0xc8]
adc ebx, dword [esp + 0x78]
add edi, dword [esp + 0x4c]
adc ebx, dword [esp + 0x34]
add edi, 0xb605d019
adc ebx, 0x59f111f1
shl esi, 4
shrd eax, ecx, 0x1c
xor edx, edx
or edx, eax
shr ecx, 0x1c
mov eax, dword [esp + 0x28]
or esi, ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x20], esi
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
mov dword [esp + 0x48], edx
xor edx, edx
or edx, ecx
shl eax, 0x1e
xor dword [esp + 0x20], edx
or esi, eax
xor dword [esp + 0x48], esi
xor edx, edx
mov ecx, dword [esp + 0x24]
mov esi, ecx
mov eax, dword [esp + 0x28]
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x20], edx
or esi, eax
xor dword [esp + 0x48], esi
mov edx, dword [esp + 0x18]
xor edx, dword [esp + 0x24]
mov esi, dword [esp + 0x38]
xor esi, dword [esp + 0x28]
and esi, dword [esp + 0x30]
and edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
and eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x38]
xor edx, eax
and ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x48]
xor esi, ecx
add eax, esi
mov esi, dword [esp + 0x20]
adc esi, edx
mov edx, edi
add edx, dword [esp + 0x40]
mov dword [esp + 0x4c], edx
mov ecx, ebx
adc ecx, dword [esp + 0x1c]
add eax, edi
mov dword [esp + 0x10], ecx
mov edi, ecx
adc esi, ebx
mov dword [esp + 0x48], eax
mov eax, edx
mov dword [esp + 0x20], esi
shld ecx, eax, 0x17
xor ebx, ebx
shr edi, 9
or ebx, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x10]
or edi, eax
mov eax, dword [esp + 0x4c]
mov esi, edx
shrd eax, ecx, 0x12
shl esi, 0xe
xor edx, edx
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x4c]
or esi, ecx
mov ecx, dword [esp + 0x10]
xor ebx, esi
xor edi, edx
mov esi, eax
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
or edx, eax
shr ecx, 0xe
mov eax, dword [esp + 0x5c]
or esi, ecx
and eax, dword [esp + 0x10]
xor ebx, esi
mov esi, dword [esp + 0x4c]
xor edi, edx
mov edx, dword [esp + 0x10]
not esi
and esi, dword [esp + 0x54]
not edx
and edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x50]
xor edx, eax
and ecx, dword [esp + 0x4c]
xor esi, ecx
mov ecx, dword [esp + 0x20]
add edi, esi
adc ebx, edx
add edi, dword [esp + 0xc4]
adc ebx, dword [esp + 0x7c]
add edi, dword [esp + 0x44]
adc ebx, ebp
mov ebp, dword [esp + 0x48]
add edi, 0xaf194f9b
mov eax, ebp
mov esi, ebp
adc ebx, 0x923f82a4
shl esi, 4
shrd eax, ecx, 0x1c
xor edx, edx
shr ecx, 0x1c
or edx, eax
or esi, ecx
mov dword [esp + 0x40], edx
mov ecx, dword [esp + 0x20]
mov eax, ebp
mov dword [esp + 0x1c], esi
xor edx, edx
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
shl eax, 0x1e
or edx, ecx
mov ecx, dword [esp + 0x20]
or esi, eax
xor dword [esp + 0x40], esi
xor dword [esp + 0x1c], edx
mov esi, ecx
xor edx, edx
shr esi, 7
mov eax, ebp
shld ecx, eax, 0x19
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x1c], edx
or esi, eax
xor dword [esp + 0x40], esi
mov edx, dword [esp + 0x24]
xor edx, dword [esp + 0x20]
and edx, dword [esp + 0x18]
mov esi, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
xor esi, ebp
and eax, dword [esp + 0x20]
and esi, dword [esp + 0x38]
xor edx, eax
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x40]
and ecx, ebp
xor esi, ecx
mov ebp, ebx
mov ecx, dword [esp + 0x1c]
add eax, esi
adc ecx, edx
mov edx, edi
add edx, dword [esp + 0x30]
mov dword [esp + 0x44], edx
mov esi, edx
adc ebp, dword [esp + 0x14]
add eax, edi
mov dword [esp + 0x40], eax
mov edi, ebp
adc ecx, ebx
mov dword [esp + 0x58], ebp
mov dword [esp + 0x1c], ecx
mov eax, edx
mov ecx, ebp
shr edi, 9
shld ecx, eax, 0x17
xor ebx, ebx
shl esi, 0xe
or ebx, ecx
shl eax, 0x17
or edi, eax
xor edx, edx
mov eax, dword [esp + 0x44]
mov ecx, ebp
shrd eax, ecx, 0x12
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x44]
or esi, ecx
xor ebx, esi
xor edi, edx
mov esi, eax
mov ecx, ebp
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
or edx, eax
shr ecx, 0xe
mov eax, dword [esp + 0x10]
or esi, ecx
mov ecx, dword [esp + 0x4c]
xor ebx, esi
mov esi, dword [esp + 0x44]
xor edi, edx
and ecx, dword [esp + 0x44]
mov edx, ebp
mov ebp, dword [esp + 0x5c]
not esi
and esi, dword [esp + 0x50]
not edx
and eax, dword [esp + 0x58]
and edx, ebp
xor esi, ecx
xor edx, eax
add edi, esi
adc ebx, edx
mov eax, dword [esp + 0x40]
add edi, dword [esp + 0xc0]
mov esi, eax
mov ecx, dword [esp + 0x1c]
adc ebx, dword [esp + 0x8c]
add edi, dword [esp + 0x54]
adc ebx, dword [esp + 0x3c]
add edi, 0xda6d8118
adc ebx, 0xab1c5ed5
shl esi, 4
shrd eax, ecx, 0x1c
xor edx, edx
or edx, eax
shr ecx, 0x1c
or esi, ecx
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x14], esi
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
shl eax, 0x1e
or esi, eax
mov dword [esp + 0x54], edx
xor dword [esp + 0x54], esi
xor edx, edx
mov eax, dword [esp + 0x40]
or edx, ecx
xor dword [esp + 0x14], edx
xor edx, edx
mov ecx, dword [esp + 0x1c]
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x14], edx
or esi, eax
xor dword [esp + 0x54], esi
mov edx, dword [esp + 0x20]
xor edx, dword [esp + 0x1c]
and edx, dword [esp + 0x24]
mov esi, dword [esp + 0x48]
xor esi, dword [esp + 0x40]
and esi, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
and eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x48]
xor edx, eax
and ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x54]
xor esi, ecx
add eax, esi
mov ecx, ebx
mov esi, dword [esp + 0x14]
adc esi, edx
mov edx, edi
add edx, dword [esp + 0x38]
mov dword [esp + 0x5c], edx
adc ecx, dword [esp + 0x18]
add eax, edi
mov dword [esp + 0x54], eax
mov edi, ecx
adc esi, ebx
mov dword [esp + 0x34], ecx
mov eax, edx
shr edi, 9
shld ecx, eax, 0x17
xor ebx, ebx
mov dword [esp + 0x14], esi
shl eax, 0x17
or ebx, ecx
mov ecx, dword [esp + 0x34]
or edi, eax
mov eax, dword [esp + 0x5c]
mov esi, edx
shrd eax, ecx, 0x12
xor edx, edx
shl esi, 0xe
shr ecx, 0x12
or esi, ecx
or edx, eax
mov eax, dword [esp + 0x5c]
xor ebx, esi
mov ecx, dword [esp + 0x34]
xor edi, edx
mov esi, eax
xor edx, edx
shrd eax, ecx, 0xe
shl esi, 0x12
or edx, eax
shr ecx, 0xe
or esi, ecx
mov eax, dword [esp + 0x58]
and eax, dword [esp + 0x34]
xor ebx, esi
mov esi, dword [esp + 0x5c]
xor edi, edx
mov edx, dword [esp + 0x34]
not esi
and esi, dword [esp + 0x4c]
not edx
and edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x44]
xor edx, eax
and ecx, dword [esp + 0x5c]
xor esi, ecx
mov ecx, dword [esp + 0x14]
add edi, esi
adc ebx, edx
add edi, dword [esp + 0xb4]
adc ebx, dword [esp + 0x98]
add edi, dword [esp + 0x50]
adc ebx, ebp
mov ebp, dword [esp + 0x54]
add edi, 0xa3030242
mov eax, ebp
mov esi, ebp
adc ebx, 0xd807aa98
shl esi, 4
shrd eax, ecx, 0x1c
xor edx, edx
or edx, eax
shr ecx, 0x1c
or esi, ecx
mov dword [esp + 0x30], edx
mov ecx, dword [esp + 0x14]
xor edx, edx
mov dword [esp + 0x18], esi
mov eax, ebp
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
or edx, ecx
shl eax, 0x1e
xor dword [esp + 0x18], edx
or esi, eax
xor dword [esp + 0x30], esi
mov eax, ebp
mov ecx, dword [esp + 0x14]
xor edx, edx
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
shl eax, 0x19
or edx, ecx
xor dword [esp + 0x18], edx
or esi, eax
xor dword [esp + 0x30], esi
mov esi, dword [esp + 0x40]
mov edx, dword [esp + 0x1c]
xor esi, ebp
xor edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x40]
and esi, dword [esp + 0x48]
and ecx, ebp
mov eax, dword [esp + 0x1c]
xor esi, ecx
and edx, dword [esp + 0x20]
and eax, dword [esp + 0x14]
xor edx, eax
mov eax, dword [esp + 0x30]
mov ebp, ebx
add eax, esi
mov ecx, dword [esp + 0x18]
adc ecx, edx
mov edx, edi
add edx, dword [esp + 0x28]
mov dword [esp + 0x50], edx
mov esi, edx
adc ebp, dword [esp + 0x24]
add eax, edi
mov dword [esp + 0x30], eax
mov edi, ebp
adc ecx, ebx
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x18], ecx
mov eax, edx
xor ebx, ebx
shl esi, 0xe
shr edi, 9
mov ecx, ebp
shld ecx, eax, 0x17
xor edx, edx
or ebx, ecx
shl eax, 0x17
or edi, eax
mov ecx, ebp
mov eax, dword [esp + 0x50]
shrd eax, ecx, 0x12
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x50]
or esi, ecx
xor ebx, esi
xor edi, edx
mov esi, eax
xor edx, edx
shl esi, 0x12
mov ecx, ebp
shrd eax, ecx, 0xe
or edx, eax
shr ecx, 0xe
mov eax, dword [esp + 0x34]
or esi, ecx
mov ecx, dword [esp + 0x5c]
xor ebx, esi
and ecx, dword [esp + 0x50]
xor edi, edx
mov esi, dword [esp + 0x50]
and eax, ebp
not esi
mov edx, ebp
and esi, dword [esp + 0x44]
not edx
and edx, dword [esp + 0x58]
xor esi, ecx
mov ecx, dword [esp + 0x18]
xor edx, eax
mov eax, dword [esp + 0x30]
add edi, esi
mov esi, eax
adc ebx, edx
add edi, dword [esp + 0xbc]
adc ebx, dword [esp + 0x9c]
add edi, dword [esp + 0x4c]
adc ebx, dword [esp + 0x10]
add edi, 0x45706fbe
adc ebx, 0x12835b01
shl esi, 4
shrd eax, ecx, 0x1c
xor edx, edx
shr ecx, 0x1c
or edx, eax
mov eax, dword [esp + 0x30]
or esi, ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x24], esi
mov esi, ecx
mov dword [esp + 0x38], edx
shr esi, 2
xor edx, edx
shld ecx, eax, 0x1e
or edx, ecx
shl eax, 0x1e
xor dword [esp + 0x24], edx
or esi, eax
xor dword [esp + 0x38], esi
xor edx, edx
mov ecx, dword [esp + 0x18]
mov esi, ecx
mov eax, dword [esp + 0x30]
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x24], edx
or esi, eax
xor dword [esp + 0x38], esi
mov edx, dword [esp + 0x14]
xor edx, dword [esp + 0x18]
and edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x54]
xor esi, dword [esp + 0x30]
and esi, dword [esp + 0x40]
mov eax, dword [esp + 0x14]
and eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x54]
xor edx, eax
and ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x38]
xor esi, ecx
add eax, esi
mov ecx, ebx
mov esi, dword [esp + 0x24]
adc esi, edx
mov edx, edi
add edx, dword [esp + 0x48]
mov dword [esp + 0x4c], edx
adc ecx, dword [esp + 0x20]
add eax, edi
mov dword [esp + 0x3c], ecx
mov edi, ecx
adc esi, ebx
mov dword [esp + 0x38], eax
mov eax, edx
mov dword [esp + 0x24], esi
shld ecx, eax, 0x17
shr edi, 9
xor ebx, ebx
or ebx, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x3c]
or edi, eax
mov eax, dword [esp + 0x4c]
mov esi, edx
shrd eax, ecx, 0x12
shl esi, 0xe
xor edx, edx
shr ecx, 0x12
or edx, eax
mov eax, dword [esp + 0x4c]
or esi, ecx
mov ecx, dword [esp + 0x3c]
xor ebx, esi
xor edi, edx
mov esi, eax
shrd eax, ecx, 0xe
xor edx, edx
shl esi, 0x12
shr ecx, 0xe
or edx, eax
or esi, ecx
xor edi, edx
mov edx, dword [esp + 0x3c]
xor ebx, esi
mov esi, dword [esp + 0x4c]
not edx
mov ecx, dword [esp + 0x50]
not esi
and esi, dword [esp + 0x5c]
and edx, dword [esp + 0x34]
and ecx, dword [esp + 0x4c]
xor esi, ecx
mov eax, ebp
and eax, dword [esp + 0x3c]
xor edx, eax
mov ebp, dword [esp + 0x38]
add edi, esi
mov ecx, dword [esp + 0x24]
mov eax, ebp
mov esi, ebp
adc ebx, edx
add edi, dword [esp + 0x60]
adc ebx, dword [esp + 0x80]
add edi, dword [esp + 0x44]
adc ebx, dword [esp + 0x58]
add edi, 0x4ee4b28c
adc ebx, 0x243185be
shl esi, 4
shrd eax, ecx, 0x1c
xor edx, edx
or edx, eax
shr ecx, 0x1c
or esi, ecx
mov dword [esp + 0x28], edx
mov ecx, dword [esp + 0x24]
xor edx, edx
mov dword [esp + 0x20], esi
mov eax, ebp
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
or edx, ecx
shl eax, 0x1e
xor dword [esp + 0x20], edx
or esi, eax
xor dword [esp + 0x28], esi
xor edx, edx
mov ecx, dword [esp + 0x24]
mov eax, ebp
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x20], edx
or esi, eax
xor dword [esp + 0x28], esi
mov edx, dword [esp + 0x18]
xor edx, dword [esp + 0x24]
and edx, dword [esp + 0x14]
mov esi, dword [esp + 0x30]
mov eax, dword [esp + 0x18]
xor esi, ebp
and eax, dword [esp + 0x24]
and esi, dword [esp + 0x54]
xor edx, eax
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x28]
and ecx, ebp
xor esi, ecx
mov ebp, ebx
mov ecx, dword [esp + 0x20]
add eax, esi
adc ecx, edx
mov edx, edi
add edx, dword [esp + 0x40]
mov dword [esp + 0x44], edx
adc ebp, dword [esp + 0x1c]
add eax, edi
mov dword [esp + 0x28], eax
mov edi, ebp
adc ecx, ebx
mov dword [esp + 0x58], ebp
mov dword [esp + 0x20], ecx
mov eax, edx
mov ecx, ebp
shr edi, 9
shld ecx, eax, 0x17
xor ebx, ebx
shl eax, 0x17
or edi, eax
or ebx, ecx
mov eax, dword [esp + 0x44]
mov esi, edx
shl esi, 0xe
xor edx, edx
mov ecx, ebp
shrd eax, ecx, 0x12
or edx, eax
shr ecx, 0x12
or esi, ecx
mov eax, dword [esp + 0x44]
xor ebx, esi
xor edi, edx
xor edx, edx
mov esi, eax
shl esi, 0x12
mov ecx, ebp
shrd eax, ecx, 0xe
or edx, eax
shr ecx, 0xe
or esi, ecx
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x4c]
xor ebx, esi
and ecx, dword [esp + 0x44]
xor edi, edx
mov esi, dword [esp + 0x44]
and eax, ebp
not esi
mov edx, ebp
and esi, dword [esp + 0x50]
not edx
and edx, dword [esp + 0x2c]
xor esi, ecx
xor edx, eax
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x28]
add edi, esi
mov esi, eax
adc ebx, edx
add edi, dword [esp + 0xa4]
adc ebx, dword [esp + 0x84]
add edi, dword [esp + 0x5c]
adc ebx, dword [esp + 0x34]
add edi, 0xd5ffb4e2
adc ebx, 0x550c7dc3
shl esi, 4
shrd eax, ecx, 0x1c
xor edx, edx
or edx, eax
shr ecx, 0x1c
mov eax, dword [esp + 0x28]
or esi, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x1c], esi
mov esi, ecx
shld ecx, eax, 0x1e
mov dword [esp + 0x10], edx
xor edx, edx
shr esi, 2
or edx, ecx
mov ecx, dword [esp + 0x20]
xor dword [esp + 0x1c], edx
xor edx, edx
shl eax, 0x1e
or esi, eax
mov eax, dword [esp + 0x28]
xor dword [esp + 0x10], esi
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
shl eax, 0x19
or edx, ecx
xor dword [esp + 0x1c], edx
or esi, eax
xor dword [esp + 0x10], esi
mov esi, dword [esp + 0x38]
xor esi, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
xor edx, dword [esp + 0x20]
and esi, dword [esp + 0x30]
and edx, dword [esp + 0x18]
mov eax, dword [esp + 0x24]
and eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x38]
xor edx, eax
and ecx, dword [esp + 0x28]
xor esi, ecx
mov eax, dword [esp + 0x10]
add eax, esi
mov ecx, ebx
mov esi, dword [esp + 0x1c]
adc esi, edx
mov edx, edi
add edx, dword [esp + 0x54]
mov dword [esp + 0x48], edx
adc ecx, dword [esp + 0x14]
add eax, edi
mov dword [esp + 0x34], ecx
mov edi, ecx
adc esi, ebx
mov dword [esp + 0x10], eax
mov eax, edx
mov dword [esp + 0x1c], esi
shld ecx, eax, 0x17
xor ebx, ebx
shr edi, 9
or ebx, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x34]
or edi, eax
mov eax, dword [esp + 0x48]
mov esi, edx
shrd eax, ecx, 0x12
shl esi, 0xe
xor edx, edx
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x48]
or esi, ecx
mov ecx, dword [esp + 0x34]
xor ebx, esi
xor edi, edx
mov esi, eax
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
or edx, eax
shr ecx, 0xe
or esi, ecx
xor edi, edx
mov edx, dword [esp + 0x34]
xor ebx, esi
mov esi, dword [esp + 0x48]
not edx
and edx, dword [esp + 0x3c]
not esi
and esi, dword [esp + 0x4c]
mov eax, ebp
and eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x44]
xor edx, eax
and ecx, dword [esp + 0x48]
mov ebp, dword [esp + 0x10]
xor esi, ecx
mov ecx, dword [esp + 0x1c]
add edi, esi
mov eax, ebp
mov esi, ebp
adc ebx, edx
add edi, dword [esp + 0xb8]
adc ebx, dword [esp + 0x88]
add edi, dword [esp + 0x50]
adc ebx, dword [esp + 0x2c]
add edi, 0xf27b896f
adc ebx, 0x72be5d74
xor edx, edx
shrd eax, ecx, 0x1c
shl esi, 4
or edx, eax
shr ecx, 0x1c
mov dword [esp + 0x40], edx
or esi, ecx
mov ecx, dword [esp + 0x1c]
xor edx, edx
mov dword [esp + 0x14], esi
mov eax, ebp
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
or edx, ecx
shl eax, 0x1e
xor dword [esp + 0x14], edx
or esi, eax
xor dword [esp + 0x40], esi
xor edx, edx
mov ecx, dword [esp + 0x1c]
mov eax, ebp
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x14], edx
or esi, eax
xor dword [esp + 0x40], esi
mov edx, dword [esp + 0x20]
xor edx, dword [esp + 0x1c]
and edx, dword [esp + 0x24]
mov esi, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
xor esi, ebp
and eax, dword [esp + 0x1c]
and esi, dword [esp + 0x38]
xor edx, eax
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x40]
and ecx, ebp
xor esi, ecx
mov ebp, ebx
mov ecx, dword [esp + 0x14]
add eax, esi
adc ecx, edx
mov edx, edi
add edx, dword [esp + 0x30]
mov dword [esp + 0x50], edx
mov esi, edx
adc ebp, dword [esp + 0x18]
add eax, edi
mov dword [esp + 0x40], eax
mov edi, ebp
adc ecx, ebx
mov dword [esp + 0x54], ebp
mov dword [esp + 0x14], ecx
mov eax, edx
mov ecx, ebp
shr edi, 9
shld ecx, eax, 0x17
xor ebx, ebx
shl esi, 0xe
shl eax, 0x17
or ebx, ecx
or edi, eax
mov ecx, ebp
mov eax, dword [esp + 0x50]
xor edx, edx
shrd eax, ecx, 0x12
shr ecx, 0x12
or edx, eax
mov eax, dword [esp + 0x50]
or esi, ecx
xor ebx, esi
xor edi, edx
mov esi, eax
mov ecx, ebp
shrd eax, ecx, 0xe
xor edx, edx
shl esi, 0x12
shr ecx, 0xe
or edx, eax
or esi, ecx
xor edi, edx
xor ebx, esi
mov esi, dword [esp + 0x50]
mov ecx, dword [esp + 0x48]
not esi
and esi, dword [esp + 0x44]
mov edx, ebp
and ecx, dword [esp + 0x50]
not edx
mov ebp, dword [esp + 0x58]
xor esi, ecx
mov eax, dword [esp + 0x34]
and edx, ebp
and eax, dword [esp + 0x54]
xor edx, eax
mov ecx, dword [esp + 0x14]
add edi, esi
mov eax, dword [esp + 0x40]
mov esi, eax
adc ebx, edx
add edi, dword [esp + 0xd4]
adc ebx, dword [esp + 0x90]
add edi, dword [esp + 0x4c]
adc ebx, dword [esp + 0x3c]
add edi, 0x3b1696b1
adc ebx, 0x80deb1fe
shl esi, 4
shrd eax, ecx, 0x1c
xor edx, edx
or edx, eax
shr ecx, 0x1c
mov eax, dword [esp + 0x40]
or esi, ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x18], esi
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
mov dword [esp + 0x58], edx
xor edx, edx
or edx, ecx
shl eax, 0x1e
xor dword [esp + 0x18], edx
or esi, eax
xor dword [esp + 0x58], esi
xor edx, edx
mov ecx, dword [esp + 0x14]
mov esi, ecx
mov eax, dword [esp + 0x40]
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x18], edx
or esi, eax
xor dword [esp + 0x58], esi
mov edx, dword [esp + 0x1c]
xor edx, dword [esp + 0x14]
and edx, dword [esp + 0x20]
mov esi, dword [esp + 0x10]
xor esi, dword [esp + 0x40]
and esi, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
and eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
xor edx, eax
and ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x58]
xor esi, ecx
add eax, esi
mov ecx, ebx
mov esi, dword [esp + 0x18]
adc esi, edx
mov edx, edi
add edx, dword [esp + 0x38]
mov dword [esp + 0x4c], edx
adc ecx, dword [esp + 0x24]
add eax, edi
mov edi, ecx
mov dword [esp + 0x3c], ecx
adc esi, ebx
mov dword [esp + 0x58], eax
mov dword [esp + 0x18], esi
shr edi, 9
mov eax, edx
xor ebx, ebx
shld ecx, eax, 0x17
mov esi, edx
xor edx, edx
or ebx, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x3c]
or edi, eax
mov eax, dword [esp + 0x4c]
shrd eax, ecx, 0x12
shl esi, 0xe
or edx, eax
shr ecx, 0x12
or esi, ecx
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x3c]
xor ebx, esi
xor edi, edx
mov esi, eax
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
or edx, eax
shr ecx, 0xe
or esi, ecx
mov eax, dword [esp + 0x54]
and eax, dword [esp + 0x3c]
xor ebx, esi
mov esi, dword [esp + 0x4c]
xor edi, edx
mov edx, dword [esp + 0x3c]
not esi
and esi, dword [esp + 0x48]
not edx
and edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x50]
xor edx, eax
and ecx, dword [esp + 0x4c]
xor esi, ecx
mov ecx, dword [esp + 0x18]
add edi, esi
adc ebx, edx
add edi, dword [esp + 0xdc]
adc ebx, dword [esp + 0xb0]
add edi, dword [esp + 0x44]
adc ebx, ebp
mov ebp, dword [esp + 0x58]
add edi, 0x25c71235
mov eax, ebp
mov esi, ebp
adc ebx, 0x9bdc06a7
shl esi, 4
shrd eax, ecx, 0x1c
xor edx, edx
or edx, eax
shr ecx, 0x1c
or esi, ecx
mov dword [esp + 0x30], edx
mov ecx, dword [esp + 0x18]
mov eax, ebp
mov dword [esp + 0x24], esi
xor edx, edx
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
shl eax, 0x1e
or edx, ecx
mov ecx, dword [esp + 0x18]
or esi, eax
xor dword [esp + 0x30], esi
mov eax, ebp
xor dword [esp + 0x24], edx
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
xor edx, edx
shl eax, 0x19
or edx, ecx
or esi, eax
xor dword [esp + 0x30], esi
xor dword [esp + 0x24], edx
mov edx, dword [esp + 0x14]
xor edx, dword [esp + 0x18]
and edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x40]
mov eax, dword [esp + 0x14]
xor esi, ebp
and esi, dword [esp + 0x10]
and eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x40]
xor edx, eax
mov eax, dword [esp + 0x30]
and ecx, ebp
xor esi, ecx
mov ecx, ebx
add eax, esi
mov esi, dword [esp + 0x24]
adc esi, edx
mov edx, edi
add edx, dword [esp + 0x28]
mov dword [esp + 0x44], edx
adc ecx, dword [esp + 0x20]
add eax, edi
mov dword [esp + 0x30], eax
mov edi, ecx
adc esi, ebx
mov dword [esp + 0x38], ecx
mov eax, edx
shr edi, 9
shld ecx, eax, 0x17
xor ebx, ebx
mov dword [esp + 0x24], esi
or ebx, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x38]
or edi, eax
mov eax, dword [esp + 0x44]
mov esi, edx
shrd eax, ecx, 0x12
shl esi, 0xe
xor edx, edx
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x44]
or esi, ecx
mov ecx, dword [esp + 0x38]
xor ebx, esi
xor edi, edx
mov esi, eax
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
or edx, eax
shr ecx, 0xe
mov eax, dword [esp + 0x3c]
or esi, ecx
and eax, dword [esp + 0x38]
xor ebx, esi
mov esi, dword [esp + 0x44]
xor edi, edx
mov edx, dword [esp + 0x38]
not esi
and esi, dword [esp + 0x50]
not edx
and edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x4c]
xor edx, eax
and ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x30]
xor esi, ecx
add edi, esi
mov esi, eax
adc ebx, edx
add edi, dword [esp + 0xd8]
adc ebx, dword [esp + 0xac]
add edi, dword [esp + 0x48]
adc ebx, dword [esp + 0x34]
add edi, 0xcf692694
adc ebx, 0xc19bf174
xor edx, edx
shl esi, 4
mov ecx, dword [esp + 0x24]
shrd eax, ecx, 0x1c
or edx, eax
shr ecx, 0x1c
or esi, ecx
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x20], esi
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
shl eax, 0x1e
or esi, eax
mov dword [esp + 0x28], edx
xor dword [esp + 0x28], esi
xor edx, edx
mov eax, dword [esp + 0x30]
or edx, ecx
xor dword [esp + 0x20], edx
xor edx, edx
mov ecx, dword [esp + 0x24]
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x20], edx
or esi, eax
xor dword [esp + 0x28], esi
mov ecx, ebp
and ecx, dword [esp + 0x30]
mov esi, ebp
xor esi, dword [esp + 0x30]
and esi, dword [esp + 0x40]
mov edx, dword [esp + 0x18]
xor esi, ecx
xor edx, dword [esp + 0x24]
and edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
and eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
xor edx, eax
add ecx, esi
mov eax, edi
mov esi, dword [esp + 0x20]
adc esi, edx
add eax, dword [esp + 0x10]
mov dword [esp + 0x34], eax
mov eax, ebx
adc eax, dword [esp + 0x1c]
add ecx, edi
mov edi, dword [esp + 0xdc]
adc esi, ebx
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0xb0]
mov ebx, edi
mov dword [esp + 0x48], eax
xor ebp, ebp
mov eax, edi
shl ebx, 0xd
shrd eax, ecx, 0x13
mov dword [esp + 0x20], esi
xor edx, edx
shr ecx, 0x13
or ebp, eax
or ebx, ecx
mov eax, edi
mov ecx, dword [esp + 0xb0]
mov esi, ecx
shld ecx, eax, 3
shr esi, 0x1d
shl eax, 3
or edx, ecx
mov ecx, dword [esp + 0xb0]
or esi, eax
mov eax, edi
xor ebp, esi
shrd eax, ecx, 6
xor ebx, edx
shr ecx, 6
xor ebp, eax
xor ebx, ecx
mov edx, dword [esp + 0xa0]
mov ecx, dword [esp + 0x64]
mov eax, edx
shrd eax, ecx, 8
mov dword [esp + 0x10], ebx
xor edi, edi
or edi, eax
shr ecx, 8
mov eax, dword [esp + 0xa0]
mov ebx, edx
shl ebx, 0x18
mov esi, edx
or ebx, ecx
shl esi, 0x1f
mov ecx, dword [esp + 0x64]
xor edx, edx
shrd eax, ecx, 1
or edx, eax
shr ecx, 1
mov eax, dword [esp + 0xa0]
or esi, ecx
mov ecx, dword [esp + 0x64]
xor ebx, esi
shrd eax, ecx, 7
xor edi, edx
xor edi, eax
shr ecx, 7
mov eax, dword [esp + 0x10]
xor ebx, ecx
mov ecx, dword [esp + 0xac]
add ebp, edi
mov edi, dword [esp + 0xd8]
adc eax, ebx
add ebp, dword [esp + 0xbc]
mov ebx, edi
adc eax, dword [esp + 0x9c]
add dword [esp + 0xa8], ebp
adc dword [esp + 0x94], eax
mov eax, edi
shrd eax, ecx, 0x13
shl ebx, 0xd
xor ebp, ebp
shr ecx, 0x13
or ebp, eax
or ebx, ecx
mov eax, edi
mov ecx, dword [esp + 0xac]
xor edx, edx
mov esi, ecx
shld ecx, eax, 3
shr esi, 0x1d
or edx, ecx
shl eax, 3
mov ecx, dword [esp + 0xac]
or esi, eax
mov eax, edi
xor ebx, edx
mov edx, dword [esp + 0x68]
xor ebp, esi
shrd eax, ecx, 6
xor edi, edi
mov esi, edx
shr ecx, 6
xor ebp, eax
xor ebx, ecx
shl esi, 0x1f
mov ecx, dword [esp + 0x6c]
mov eax, edx
shrd eax, ecx, 8
mov dword [esp + 0x10], ebx
mov ebx, edx
shr ecx, 8
or edi, eax
mov eax, dword [esp + 0x68]
xor edx, edx
shl ebx, 0x18
or ebx, ecx
mov ecx, dword [esp + 0x6c]
shrd eax, ecx, 1
shr ecx, 1
or esi, ecx
or edx, eax
mov eax, dword [esp + 0x68]
xor ebx, esi
mov ecx, dword [esp + 0x6c]
xor edi, edx
shrd eax, ecx, 7
xor edi, eax
shr ecx, 7
xor ebx, ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x70]
add ebp, edi
mov edi, dword [esp + 0xd0]
mov esi, edi
adc eax, ebx
add ebp, dword [esp + 0x60]
mov ebx, edi
adc eax, dword [esp + 0x80]
add dword [esp + 0xa0], ebp
adc dword [esp + 0x64], eax
mov eax, edi
shrd eax, ecx, 8
shl ebx, 0x18
xor ebp, ebp
shr ecx, 8
or ebp, eax
or ebx, ecx
shl esi, 0x1f
mov ecx, dword [esp + 0x70]
mov eax, edi
shrd eax, ecx, 1
xor edx, edx
or edx, eax
shr ecx, 1
or esi, ecx
mov eax, edi
mov ecx, dword [esp + 0x70]
xor ebx, esi
shrd eax, ecx, 7
xor ebp, edx
xor edi, edi
shr ecx, 7
xor ebp, eax
mov eax, dword [esp + 0xa8]
xor ebx, ecx
mov ecx, dword [esp + 0x94]
xor edx, edx
mov dword [esp + 0x10], ebx
mov ebx, eax
shrd eax, ecx, 0x13
shl ebx, 0xd
or edi, eax
shr ecx, 0x13
mov eax, dword [esp + 0xa8]
or ebx, ecx
mov ecx, dword [esp + 0x94]
mov esi, ecx
shld ecx, eax, 3
shr esi, 0x1d
shl eax, 3
or edx, ecx
mov ecx, dword [esp + 0x94]
or esi, eax
mov eax, dword [esp + 0xa8]
xor edi, esi
shrd eax, ecx, 6
xor ebx, edx
xor edi, eax
shr ecx, 6
mov eax, dword [esp + 0x10]
xor ebx, ecx
add ebp, edi
mov edi, dword [esp + 0xcc]
adc eax, ebx
add ebp, dword [esp + 0xa4]
mov ebx, edi
adc eax, dword [esp + 0x84]
add dword [esp + 0x68], ebp
adc dword [esp + 0x6c], eax
xor ebp, ebp
mov ecx, dword [esp + 0x74]
mov eax, edi
shrd eax, ecx, 8
shl ebx, 0x18
xor edx, edx
shr ecx, 8
or ebp, eax
or ebx, ecx
mov eax, edi
mov ecx, dword [esp + 0x74]
mov esi, edi
shrd eax, ecx, 1
shl esi, 0x1f
or edx, eax
shr ecx, 1
or esi, ecx
xor ebp, edx
mov ecx, dword [esp + 0x74]
xor ebx, esi
mov eax, edi
xor edx, edx
shrd eax, ecx, 7
xor edi, edi
shr ecx, 7
xor ebp, eax
mov eax, dword [esp + 0xa0]
xor ebx, ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x10], ebx
mov ebx, eax
shrd eax, ecx, 0x13
shl ebx, 0xd
or edi, eax
shr ecx, 0x13
mov eax, dword [esp + 0xa0]
or ebx, ecx
mov ecx, dword [esp + 0x64]
mov esi, ecx
shld ecx, eax, 3
shr esi, 0x1d
shl eax, 3
or edx, ecx
mov ecx, dword [esp + 0x64]
or esi, eax
mov eax, dword [esp + 0xa0]
xor edi, esi
shrd eax, ecx, 6
xor ebx, edx
shr ecx, 6
xor edi, eax
mov eax, dword [esp + 0x10]
xor ebx, ecx
mov ecx, dword [esp + 0x78]
add ebp, edi
mov edi, dword [esp + 0xc8]
mov esi, edi
adc eax, ebx
add ebp, dword [esp + 0xb8]
mov ebx, edi
adc eax, dword [esp + 0x88]
add dword [esp + 0xd0], ebp
adc dword [esp + 0x70], eax
mov eax, edi
shrd eax, ecx, 8
xor ebp, ebp
shl ebx, 0x18
shr ecx, 8
or ebp, eax
or ebx, ecx
shl esi, 0x1f
mov ecx, dword [esp + 0x78]
mov eax, edi
shrd eax, ecx, 1
xor edx, edx
shr ecx, 1
or edx, eax
or esi, ecx
xor ebp, edx
mov ecx, dword [esp + 0x78]
xor ebx, esi
mov eax, edi
shrd eax, ecx, 7
xor edi, edi
xor edx, edx
shr ecx, 7
xor ebp, eax
xor ebx, ecx
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x10], ebx
mov ebx, eax
shrd eax, ecx, 0x13
shl ebx, 0xd
or edi, eax
shr ecx, 0x13
or ebx, ecx
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
mov esi, ecx
shld ecx, eax, 3
shr esi, 0x1d
or edx, ecx
shl eax, 3
mov ecx, dword [esp + 0x6c]
or esi, eax
mov eax, dword [esp + 0x68]
xor ebx, edx
shrd eax, ecx, 6
xor edi, esi
shr ecx, 6
xor edi, eax
mov eax, dword [esp + 0x10]
xor ebx, ecx
mov ecx, dword [esp + 0x7c]
add ebp, edi
mov edi, dword [esp + 0xc4]
mov esi, edi
adc eax, ebx
add ebp, dword [esp + 0xd4]
mov ebx, edi
adc eax, dword [esp + 0x90]
add dword [esp + 0xcc], ebp
adc dword [esp + 0x74], eax
mov eax, edi
shrd eax, ecx, 8
shl ebx, 0x18
xor ebp, ebp
shr ecx, 8
or ebp, eax
or ebx, ecx
shl esi, 0x1f
mov ecx, dword [esp + 0x7c]
mov eax, edi
shrd eax, ecx, 1
xor edx, edx
shr ecx, 1
or edx, eax
or esi, ecx
mov eax, edi
mov ecx, dword [esp + 0x7c]
xor ebx, esi
shrd eax, ecx, 7
xor ebp, edx
xor edi, edi
shr ecx, 7
xor ebp, eax
mov eax, dword [esp + 0xd0]
xor ebx, ecx
mov ecx, dword [esp + 0x70]
xor edx, edx
mov dword [esp + 0x10], ebx
mov ebx, eax
shrd eax, ecx, 0x13
shl ebx, 0xd
shr ecx, 0x13
or edi, eax
mov eax, dword [esp + 0xd0]
or ebx, ecx
mov ecx, dword [esp + 0x70]
mov esi, ecx
shr esi, 0x1d
shld ecx, eax, 3
or edx, ecx
shl eax, 3
or esi, eax
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0xd0]
xor ebx, edx
shrd eax, ecx, 6
xor edi, esi
xor edi, eax
shr ecx, 6
xor ebx, ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x8c]
add ebp, edi
mov edi, dword [esp + 0xc0]
mov esi, edi
adc eax, ebx
add ebp, dword [esp + 0xdc]
mov ebx, edi
adc eax, dword [esp + 0xb0]
add dword [esp + 0xc8], ebp
adc dword [esp + 0x78], eax
mov eax, edi
shrd eax, ecx, 8
shl ebx, 0x18
xor ebp, ebp
shr ecx, 8
or ebp, eax
or ebx, ecx
shl esi, 0x1f
mov ecx, dword [esp + 0x8c]
mov eax, edi
shrd eax, ecx, 1
xor edx, edx
or edx, eax
shr ecx, 1
or esi, ecx
mov eax, edi
mov ecx, dword [esp + 0x8c]
xor ebx, esi
shrd eax, ecx, 7
xor ebp, edx
xor edi, edi
shr ecx, 7
xor ebp, eax
mov eax, dword [esp + 0xcc]
xor ebx, ecx
mov ecx, dword [esp + 0x74]
xor edx, edx
mov dword [esp + 0x10], ebx
mov ebx, eax
shrd eax, ecx, 0x13
shl ebx, 0xd
or edi, eax
shr ecx, 0x13
mov eax, dword [esp + 0xcc]
or ebx, ecx
mov ecx, dword [esp + 0x74]
mov esi, ecx
shld ecx, eax, 3
shr esi, 0x1d
shl eax, 3
or edx, ecx
mov ecx, dword [esp + 0x74]
or esi, eax
mov eax, dword [esp + 0xcc]
xor edi, esi
shrd eax, ecx, 6
xor ebx, edx
xor edi, eax
shr ecx, 6
mov eax, dword [esp + 0x10]
xor ebx, ecx
add ebp, edi
mov edi, dword [esp + 0xb4]
adc eax, ebx
add ebp, dword [esp + 0xd8]
mov ebx, edi
adc eax, dword [esp + 0xac]
add dword [esp + 0xc4], ebp
adc dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x98]
mov eax, edi
shrd eax, ecx, 8
shl ebx, 0x18
xor ebp, ebp
or ebp, eax
shr ecx, 8
or ebx, ecx
mov eax, edi
mov ecx, dword [esp + 0x98]
xor edx, edx
shrd eax, ecx, 1
mov esi, edi
or edx, eax
shr ecx, 1
shl esi, 0x1f
xor ebp, edx
or esi, ecx
mov eax, edi
mov ecx, dword [esp + 0x98]
xor ebx, esi
shrd eax, ecx, 7
xor edi, edi
xor edx, edx
shr ecx, 7
xor ebp, eax
mov eax, dword [esp + 0xc8]
xor ebx, ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x10], ebx
mov ebx, eax
shrd eax, ecx, 0x13
shl ebx, 0xd
or edi, eax
shr ecx, 0x13
mov eax, dword [esp + 0xc8]
or ebx, ecx
mov ecx, dword [esp + 0x78]
mov esi, ecx
shld ecx, eax, 3
shr esi, 0x1d
shl eax, 3
or edx, ecx
mov ecx, dword [esp + 0x78]
or esi, eax
mov eax, dword [esp + 0xc8]
xor edi, esi
shrd eax, ecx, 6
xor ebx, edx
xor edi, eax
shr ecx, 6
mov eax, dword [esp + 0x10]
xor ebx, ecx
mov ecx, dword [esp + 0x9c]
add ebp, edi
mov edi, dword [esp + 0xbc]
mov esi, edi
adc eax, ebx
add ebp, dword [esp + 0xa8]
mov ebx, edi
adc eax, dword [esp + 0x94]
add dword [esp + 0xc0], ebp
adc dword [esp + 0x8c], eax
mov eax, edi
shrd eax, ecx, 8
xor ebp, ebp
shl ebx, 0x18
shr ecx, 8
or ebp, eax
or ebx, ecx
shl esi, 0x1f
mov ecx, dword [esp + 0x9c]
mov eax, edi
shrd eax, ecx, 1
xor edx, edx
shr ecx, 1
or edx, eax
or esi, ecx
xor ebp, edx
xor ebx, esi
mov eax, edi
mov ecx, dword [esp + 0x9c]
xor edi, edi
shrd eax, ecx, 7
xor edx, edx
shr ecx, 7
xor ebp, eax
xor ebx, ecx
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x10], ebx
mov ebx, eax
shrd eax, ecx, 0x13
shl ebx, 0xd
or edi, eax
shr ecx, 0x13
or ebx, ecx
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0x7c]
mov esi, ecx
shld ecx, eax, 3
shr esi, 0x1d
or edx, ecx
shl eax, 3
mov ecx, dword [esp + 0x7c]
or esi, eax
mov eax, dword [esp + 0xc4]
xor ebx, edx
shrd eax, ecx, 6
xor edi, esi
shr ecx, 6
xor edi, eax
mov eax, dword [esp + 0x10]
xor ebx, ecx
mov ecx, dword [esp + 0x80]
add ebp, edi
mov edi, dword [esp + 0x60]
mov esi, edi
adc eax, ebx
add ebp, dword [esp + 0xa0]
mov ebx, edi
adc eax, dword [esp + 0x64]
add dword [esp + 0xb4], ebp
adc dword [esp + 0x98], eax
mov eax, edi
shrd eax, ecx, 8
shl ebx, 0x18
xor ebp, ebp
shr ecx, 8
or ebp, eax
or ebx, ecx
shl esi, 0x1f
mov ecx, dword [esp + 0x80]
mov eax, edi
shrd eax, ecx, 1
xor edx, edx
shr ecx, 1
or edx, eax
or esi, ecx
mov eax, edi
mov ecx, dword [esp + 0x80]
xor ebx, esi
shrd eax, ecx, 7
xor ebp, edx
xor edi, edi
shr ecx, 7
xor ebp, eax
mov eax, dword [esp + 0xc0]
xor ebx, ecx
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x10], ebx
mov ebx, eax
shrd eax, ecx, 0x13
shl ebx, 0xd
shr ecx, 0x13
or edi, eax
mov eax, dword [esp + 0xc0]
or ebx, ecx
mov ecx, dword [esp + 0x8c]
mov esi, ecx
shr esi, 0x1d
xor edx, edx
shld ecx, eax, 3
or edx, ecx
shl eax, 3
or esi, eax
mov ecx, dword [esp + 0x8c]
mov eax, dword [esp + 0xc0]
xor ebx, edx
shrd eax, ecx, 6
xor edi, esi
xor edi, eax
shr ecx, 6
xor ebx, ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x84]
add ebp, edi
mov edi, dword [esp + 0xa4]
mov esi, edi
adc eax, ebx
add ebp, dword [esp + 0x68]
mov ebx, edi
adc eax, dword [esp + 0x6c]
add dword [esp + 0xbc], ebp
adc dword [esp + 0x9c], eax
mov eax, edi
shrd eax, ecx, 8
shl ebx, 0x18
xor ebp, ebp
shr ecx, 8
or ebp, eax
or ebx, ecx
shl esi, 0x1f
mov ecx, dword [esp + 0x84]
mov eax, edi
shrd eax, ecx, 1
xor edx, edx
or edx, eax
shr ecx, 1
or esi, ecx
mov eax, edi
mov ecx, dword [esp + 0x84]
xor ebx, esi
shrd eax, ecx, 7
xor ebp, edx
xor edi, edi
shr ecx, 7
xor ebp, eax
mov eax, dword [esp + 0xb4]
xor ebx, ecx
mov ecx, dword [esp + 0x98]
xor edx, edx
mov dword [esp + 0x10], ebx
mov ebx, eax
shrd eax, ecx, 0x13
shl ebx, 0xd
or edi, eax
shr ecx, 0x13
mov eax, dword [esp + 0xb4]
or ebx, ecx
mov ecx, dword [esp + 0x98]
mov esi, ecx
shld ecx, eax, 3
shr esi, 0x1d
shl eax, 3
or edx, ecx
mov ecx, dword [esp + 0x98]
or esi, eax
mov eax, dword [esp + 0xb4]
xor edi, esi
shrd eax, ecx, 6
xor ebx, edx
xor edi, eax
shr ecx, 6
mov eax, dword [esp + 0x10]
xor ebx, ecx
add ebp, edi
mov edi, dword [esp + 0xb8]
adc eax, ebx
add ebp, dword [esp + 0xd0]
adc eax, dword [esp + 0x70]
add dword [esp + 0x60], ebp
adc dword [esp + 0x80], eax
mov ecx, dword [esp + 0x88]
mov eax, edi
shrd eax, ecx, 8
xor ebp, ebp
mov ebx, edi
shr ecx, 8
or ebp, eax
shl ebx, 0x18
mov eax, edi
or ebx, ecx
xor edx, edx
mov ecx, dword [esp + 0x88]
mov esi, edi
shrd eax, ecx, 1
shl esi, 0x1f
or edx, eax
shr ecx, 1
or esi, ecx
xor ebp, edx
mov ecx, dword [esp + 0x88]
xor ebx, esi
mov eax, edi
xor edx, edx
shrd eax, ecx, 7
xor edi, edi
shr ecx, 7
xor ebp, eax
mov eax, dword [esp + 0xbc]
xor ebx, ecx
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x10], ebx
mov ebx, eax
shrd eax, ecx, 0x13
shl ebx, 0xd
or edi, eax
shr ecx, 0x13
mov eax, dword [esp + 0xbc]
or ebx, ecx
mov ecx, dword [esp + 0x9c]
mov esi, ecx
shld ecx, eax, 3
shr esi, 0x1d
shl eax, 3
or edx, ecx
mov ecx, dword [esp + 0x9c]
or esi, eax
mov eax, dword [esp + 0xbc]
xor edi, esi
shrd eax, ecx, 6
xor ebx, edx
shr ecx, 6
xor edi, eax
mov eax, dword [esp + 0x10]
xor ebx, ecx
mov ecx, dword [esp + 0x90]
add ebp, edi
mov edi, dword [esp + 0xd4]
mov esi, edi
adc eax, ebx
add ebp, dword [esp + 0xcc]
mov ebx, edi
adc eax, dword [esp + 0x74]
add dword [esp + 0xa4], ebp
adc dword [esp + 0x84], eax
mov eax, edi
shrd eax, ecx, 8
xor ebp, ebp
shl ebx, 0x18
shr ecx, 8
or ebp, eax
or ebx, ecx
shl esi, 0x1f
mov ecx, dword [esp + 0x90]
mov eax, edi
shrd eax, ecx, 1
xor edx, edx
shr ecx, 1
or edx, eax
or esi, ecx
xor ebp, edx
xor ebx, esi
mov ecx, dword [esp + 0x90]
mov eax, edi
shrd eax, ecx, 7
xor edi, edi
xor edx, edx
shr ecx, 7
xor ebp, eax
xor ebx, ecx
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x10], ebx
mov ebx, eax
shrd eax, ecx, 0x13
shl ebx, 0xd
shr ecx, 0x13
or edi, eax
or ebx, ecx
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x80]
mov esi, ecx
shld ecx, eax, 3
shr esi, 0x1d
or edx, ecx
shl eax, 3
mov ecx, dword [esp + 0x80]
or esi, eax
mov eax, dword [esp + 0x60]
xor ebx, edx
shrd eax, ecx, 6
xor edi, esi
shr ecx, 6
xor edi, eax
mov eax, dword [esp + 0x10]
xor ebx, ecx
mov ecx, dword [esp + 0xb0]
add ebp, edi
mov edi, dword [esp + 0xdc]
mov esi, edi
adc eax, ebx
add ebp, dword [esp + 0xc8]
mov ebx, edi
adc eax, dword [esp + 0x78]
add dword [esp + 0xb8], ebp
adc dword [esp + 0x88], eax
mov eax, edi
shrd eax, ecx, 8
shl ebx, 0x18
xor ebp, ebp
shr ecx, 8
or ebp, eax
or ebx, ecx
shl esi, 0x1f
mov ecx, dword [esp + 0xb0]
mov eax, edi
shrd eax, ecx, 1
xor edx, edx
shr ecx, 1
or edx, eax
or esi, ecx
mov eax, edi
mov ecx, dword [esp + 0xb0]
xor ebx, esi
shrd eax, ecx, 7
xor ebp, edx
xor edi, edi
shr ecx, 7
xor ebp, eax
mov eax, dword [esp + 0xa4]
xor ebx, ecx
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x10], ebx
mov ebx, eax
shrd eax, ecx, 0x13
shl ebx, 0xd
shr ecx, 0x13
or edi, eax
or ebx, ecx
mov ecx, dword [esp + 0x84]
mov esi, ecx
shr esi, 0x1d
xor edx, edx
mov eax, dword [esp + 0xa4]
shld ecx, eax, 3
or edx, ecx
shl eax, 3
or esi, eax
mov ecx, dword [esp + 0x84]
mov eax, dword [esp + 0xa4]
xor ebx, edx
shrd eax, ecx, 6
xor edi, esi
xor edi, eax
shr ecx, 6
xor ebx, ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xac]
add ebp, edi
mov edi, dword [esp + 0xd8]
mov esi, edi
adc eax, ebx
add ebp, dword [esp + 0xc4]
mov ebx, edi
adc eax, dword [esp + 0x7c]
add dword [esp + 0xd4], ebp
adc dword [esp + 0x90], eax
mov eax, edi
shrd eax, ecx, 8
shl ebx, 0x18
xor ebp, ebp
shr ecx, 8
or ebp, eax
or ebx, ecx
shl esi, 0x1f
mov ecx, dword [esp + 0xac]
mov eax, edi
shrd eax, ecx, 1
xor edx, edx
or edx, eax
shr ecx, 1
or esi, ecx
mov eax, edi
mov ecx, dword [esp + 0xac]
xor ebx, esi
shrd eax, ecx, 7
xor ebp, edx
xor edi, edi
shr ecx, 7
xor ebp, eax
mov eax, dword [esp + 0xb8]
xor ebx, ecx
mov ecx, dword [esp + 0x88]
xor edx, edx
mov dword [esp + 0x10], ebx
mov ebx, eax
shrd eax, ecx, 0x13
shl ebx, 0xd
or edi, eax
shr ecx, 0x13
mov eax, dword [esp + 0xb8]
or ebx, ecx
mov ecx, dword [esp + 0x88]
mov esi, ecx
shld ecx, eax, 3
shr esi, 0x1d
shl eax, 3
or edx, ecx
mov ecx, dword [esp + 0x88]
or esi, eax
mov eax, dword [esp + 0xb8]
xor edi, esi
shrd eax, ecx, 6
xor ebx, edx
xor edi, eax
shr ecx, 6
mov eax, dword [esp + 0x10]
xor ebx, ecx
add ebp, edi
adc eax, ebx
add ebp, dword [esp + 0xc0]
adc eax, dword [esp + 0x8c]
add dword [esp + 0xdc], ebp
adc dword [esp + 0xb0], eax
mov edi, dword [esp + 0xd4]
xor ebp, ebp
mov ecx, dword [esp + 0x90]
mov eax, edi
shrd eax, ecx, 0x13
mov ebx, edi
xor edx, edx
shr ecx, 0x13
or ebp, eax
shl ebx, 0xd
mov eax, edi
or ebx, ecx
mov ecx, dword [esp + 0x90]
mov esi, ecx
shld ecx, eax, 3
shr esi, 0x1d
or edx, ecx
shl eax, 3
mov ecx, dword [esp + 0x90]
or esi, eax
xor ebx, edx
mov eax, edi
mov edx, dword [esp + 0xa8]
xor ebp, esi
shrd eax, ecx, 6
xor edi, edi
mov esi, edx
shr ecx, 6
xor ebp, eax
xor ebx, ecx
shl esi, 0x1f
mov ecx, dword [esp + 0x94]
mov eax, edx
shrd eax, ecx, 8
mov dword [esp + 0x10], ebx
mov ebx, edx
or edi, eax
shr ecx, 8
mov eax, dword [esp + 0xa8]
xor edx, edx
shl ebx, 0x18
or ebx, ecx
mov ecx, dword [esp + 0x94]
shrd eax, ecx, 1
or edx, eax
shr ecx, 1
mov eax, dword [esp + 0xa8]
or esi, ecx
mov ecx, dword [esp + 0x94]
xor edi, edx
shrd eax, ecx, 7
xor ebx, esi
xor edi, eax
shr ecx, 7
mov eax, dword [esp + 0x10]
xor ebx, ecx
add ebp, edi
adc eax, ebx
add ebp, dword [esp + 0xb4]
adc eax, dword [esp + 0x98]
add dword [esp + 0xd8], ebp
mov ebp, dword [esp + 0x48]
mov edi, ebp
adc dword [esp + 0xac], eax
mov ecx, ebp
mov eax, dword [esp + 0x34]
xor ebx, ebx
shld ecx, eax, 0x17
shr edi, 9
xor edx, edx
shl eax, 0x17
or ebx, ecx
or edi, eax
mov ecx, ebp
mov eax, dword [esp + 0x34]
mov esi, eax
shrd eax, ecx, 0x12
shl esi, 0xe
shr ecx, 0x12
or edx, eax
or esi, ecx
mov eax, dword [esp + 0x34]
xor ebx, esi
xor edi, edx
mov esi, eax
xor edx, edx
shl esi, 0x12
mov ecx, ebp
shrd eax, ecx, 0xe
or edx, eax
shr ecx, 0xe
or esi, ecx
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x44]
xor ebx, esi
and ecx, dword [esp + 0x34]
xor edi, edx
mov esi, dword [esp + 0x34]
and eax, ebp
not esi
mov edx, ebp
and esi, dword [esp + 0x4c]
not edx
and edx, dword [esp + 0x3c]
xor esi, ecx
xor edx, eax
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x28]
add edi, esi
adc ebx, edx
add edi, dword [esp + 0xa8]
mov edx, eax
adc ebx, dword [esp + 0x94]
add edi, dword [esp + 0x50]
adc ebx, dword [esp + 0x54]
add edi, 0x9ef14ad2
adc ebx, 0xe49b69c1
shl edx, 4
shrd eax, ecx, 0x1c
xor ebp, ebp
or ebp, eax
shr ecx, 0x1c
mov eax, dword [esp + 0x28]
or edx, ecx
mov ecx, dword [esp + 0x20]
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
mov dword [esp + 0x1c], edx
xor edx, edx
or edx, ecx
shl eax, 0x1e
xor dword [esp + 0x1c], edx
or esi, eax
mov ecx, dword [esp + 0x20]
xor ebp, esi
mov eax, dword [esp + 0x28]
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
xor edx, edx
shl eax, 0x19
or edx, ecx
xor dword [esp + 0x1c], edx
or esi, eax
mov edx, dword [esp + 0x24]
xor ebp, esi
mov esi, dword [esp + 0x30]
xor esi, dword [esp + 0x28]
xor edx, dword [esp + 0x20]
and esi, dword [esp + 0x58]
mov ecx, dword [esp + 0x30]
and ecx, dword [esp + 0x28]
and edx, dword [esp + 0x18]
xor esi, ecx
mov eax, dword [esp + 0x24]
and eax, dword [esp + 0x20]
xor edx, eax
mov eax, dword [esp + 0x1c]
add ebp, esi
mov dword [esp + 0x10], ebp
adc eax, edx
mov edx, edi
mov ebp, ebx
add edx, dword [esp + 0x40]
mov dword [esp + 0x50], edx
mov esi, edx
adc ebp, dword [esp + 0x14]
add dword [esp + 0x10], edi
mov ecx, ebp
mov edi, ebp
adc eax, ebx
xor ebx, ebx
mov dword [esp + 0x1c], eax
mov eax, edx
shld ecx, eax, 0x17
shl esi, 0xe
xor edx, edx
or ebx, ecx
shl eax, 0x17
shr edi, 9
mov ecx, ebp
or edi, eax
mov eax, dword [esp + 0x50]
shrd eax, ecx, 0x12
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x50]
or esi, ecx
xor ebx, esi
xor edi, edx
mov esi, eax
xor edx, edx
shl esi, 0x12
mov ecx, ebp
shrd eax, ecx, 0xe
or edx, eax
shr ecx, 0xe
mov eax, dword [esp + 0x48]
or esi, ecx
mov ecx, dword [esp + 0x34]
xor ebx, esi
and ecx, dword [esp + 0x50]
xor edi, edx
mov esi, dword [esp + 0x50]
and eax, ebp
not esi
mov edx, ebp
and esi, dword [esp + 0x44]
not edx
and edx, dword [esp + 0x38]
xor esi, ecx
mov ecx, dword [esp + 0x1c]
xor edx, eax
mov eax, dword [esp + 0x10]
add edi, esi
mov esi, eax
adc ebx, edx
add edi, dword [esp + 0xa0]
adc ebx, dword [esp + 0x64]
add edi, dword [esp + 0x4c]
adc ebx, dword [esp + 0x3c]
add edi, 0x384f25e3
adc ebx, 0xefbe4786
shl esi, 4
shrd eax, ecx, 0x1c
xor edx, edx
shr ecx, 0x1c
or edx, eax
mov eax, dword [esp + 0x10]
or esi, ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x14], esi
mov esi, ecx
shld ecx, eax, 0x1e
mov dword [esp + 0x40], edx
xor edx, edx
shr esi, 2
or edx, ecx
shl eax, 0x1e
or esi, eax
xor dword [esp + 0x40], esi
xor dword [esp + 0x14], edx
mov ecx, dword [esp + 0x1c]
xor edx, edx
mov eax, dword [esp + 0x10]
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x14], edx
or esi, eax
xor dword [esp + 0x40], esi
mov ecx, dword [esp + 0x28]
mov esi, ecx
xor esi, dword [esp + 0x10]
and esi, dword [esp + 0x30]
and ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x20]
xor esi, ecx
xor edx, dword [esp + 0x1c]
mov ecx, ebx
and edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
and eax, dword [esp + 0x1c]
xor edx, eax
mov eax, dword [esp + 0x40]
add eax, esi
mov esi, dword [esp + 0x14]
adc esi, edx
mov edx, edi
add edx, dword [esp + 0x58]
mov dword [esp + 0x4c], edx
adc ecx, dword [esp + 0x18]
add eax, edi
mov dword [esp + 0x3c], ecx
mov edi, ecx
adc esi, ebx
mov dword [esp + 0x40], eax
mov eax, edx
mov dword [esp + 0x14], esi
shld ecx, eax, 0x17
shr edi, 9
xor ebx, ebx
or ebx, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x3c]
or edi, eax
mov eax, dword [esp + 0x4c]
mov esi, edx
shrd eax, ecx, 0x12
shl esi, 0xe
xor edx, edx
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x4c]
or esi, ecx
mov ecx, dword [esp + 0x3c]
xor ebx, esi
xor edi, edx
mov esi, eax
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
or edx, eax
shr ecx, 0xe
or esi, ecx
xor edi, edx
mov edx, dword [esp + 0x3c]
xor ebx, esi
mov esi, dword [esp + 0x4c]
not edx
mov ecx, dword [esp + 0x50]
not esi
and esi, dword [esp + 0x34]
mov eax, ebp
and ecx, dword [esp + 0x4c]
and edx, dword [esp + 0x48]
xor esi, ecx
and eax, dword [esp + 0x3c]
xor edx, eax
add edi, esi
adc ebx, edx
add edi, dword [esp + 0x68]
mov eax, dword [esp + 0x40]
mov esi, eax
adc ebx, dword [esp + 0x6c]
add edi, dword [esp + 0x44]
mov ecx, dword [esp + 0x14]
adc ebx, dword [esp + 0x38]
add edi, 0x8b8cd5b5
adc ebx, 0xfc19dc6
shl esi, 4
shrd eax, ecx, 0x1c
xor edx, edx
or edx, eax
shr ecx, 0x1c
or esi, ecx
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x18], esi
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
shl eax, 0x1e
or esi, eax
mov dword [esp + 0x2c], edx
xor dword [esp + 0x2c], esi
xor edx, edx
mov eax, dword [esp + 0x40]
or edx, ecx
xor dword [esp + 0x18], edx
xor edx, edx
mov ecx, dword [esp + 0x14]
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x18], edx
or esi, eax
xor dword [esp + 0x2c], esi
mov edx, dword [esp + 0x1c]
xor edx, dword [esp + 0x14]
and edx, dword [esp + 0x20]
mov esi, dword [esp + 0x10]
xor esi, dword [esp + 0x40]
and esi, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
and eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
xor edx, eax
and ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x2c]
xor esi, ecx
add eax, esi
mov ecx, ebx
mov esi, dword [esp + 0x18]
adc esi, edx
mov edx, edi
add edx, dword [esp + 0x30]
mov dword [esp + 0x54], edx
adc ecx, dword [esp + 0x24]
add eax, edi
mov dword [esp + 0x2c], eax
mov edi, ecx
adc esi, ebx
mov dword [esp + 0x44], ecx
mov eax, edx
shr edi, 9
shld ecx, eax, 0x17
xor ebx, ebx
mov dword [esp + 0x18], esi
shl eax, 0x17
or ebx, ecx
mov ecx, dword [esp + 0x44]
or edi, eax
mov eax, dword [esp + 0x54]
mov esi, edx
shrd eax, ecx, 0x12
xor edx, edx
shl esi, 0xe
shr ecx, 0x12
or edx, eax
or esi, ecx
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x44]
xor ebx, esi
xor edi, edx
mov esi, eax
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
or edx, eax
shr ecx, 0xe
or esi, ecx
mov eax, dword [esp + 0x3c]
and eax, dword [esp + 0x44]
xor ebx, esi
mov esi, dword [esp + 0x54]
xor edi, edx
mov edx, dword [esp + 0x44]
not esi
and esi, dword [esp + 0x50]
not edx
mov ecx, dword [esp + 0x4c]
and edx, ebp
and ecx, dword [esp + 0x54]
xor edx, eax
xor esi, ecx
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x18]
add edi, esi
mov esi, eax
adc ebx, edx
add edi, dword [esp + 0xd0]
adc ebx, dword [esp + 0x70]
add edi, dword [esp + 0x34]
adc ebx, dword [esp + 0x48]
add edi, 0x77ac9c65
adc ebx, 0x240ca1cc
shl esi, 4
shrd eax, ecx, 0x1c
xor edx, edx
or edx, eax
shr ecx, 0x1c
mov eax, dword [esp + 0x2c]
or esi, ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x24], esi
mov esi, ecx
shld ecx, eax, 0x1e
mov dword [esp + 0x38], edx
xor edx, edx
shr esi, 2
or edx, ecx
xor dword [esp + 0x24], edx
xor edx, edx
mov ecx, dword [esp + 0x18]
shl eax, 0x1e
or esi, eax
mov eax, dword [esp + 0x2c]
xor dword [esp + 0x38], esi
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x24], edx
or esi, eax
xor dword [esp + 0x38], esi
mov edx, dword [esp + 0x14]
xor edx, dword [esp + 0x18]
mov esi, dword [esp + 0x40]
xor esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x14]
and eax, dword [esp + 0x18]
and edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x40]
xor edx, eax
and esi, dword [esp + 0x10]
and ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x38]
xor esi, ecx
add eax, esi
mov esi, dword [esp + 0x24]
mov ecx, ebx
adc esi, edx
mov edx, edi
add edx, dword [esp + 0x28]
mov dword [esp + 0x5c], edx
adc ecx, dword [esp + 0x20]
add eax, edi
mov dword [esp + 0x38], eax
mov edi, ecx
adc esi, ebx
mov dword [esp + 0x34], ecx
mov eax, edx
mov dword [esp + 0x24], esi
shld ecx, eax, 0x17
xor ebx, ebx
shr edi, 9
or ebx, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x34]
or edi, eax
mov eax, dword [esp + 0x5c]
mov esi, edx
shrd eax, ecx, 0x12
shl esi, 0xe
xor edx, edx
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x5c]
or esi, ecx
mov ecx, dword [esp + 0x34]
xor ebx, esi
xor edi, edx
mov esi, eax
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
or edx, eax
shr ecx, 0xe
mov eax, dword [esp + 0x44]
or esi, ecx
and eax, dword [esp + 0x34]
xor ebx, esi
mov esi, dword [esp + 0x5c]
xor edi, edx
mov edx, dword [esp + 0x34]
not esi
and esi, dword [esp + 0x4c]
not edx
and edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x54]
xor edx, eax
and ecx, dword [esp + 0x5c]
xor esi, ecx
mov ecx, dword [esp + 0x24]
add edi, esi
adc ebx, edx
add edi, dword [esp + 0xcc]
adc ebx, dword [esp + 0x74]
add edi, dword [esp + 0x50]
adc ebx, ebp
mov ebp, dword [esp + 0x38]
add edi, 0x592b0275
mov eax, ebp
mov esi, ebp
adc ebx, 0x2de92c6f
shl esi, 4
shrd eax, ecx, 0x1c
xor edx, edx
shr ecx, 0x1c
or edx, eax
or esi, ecx
mov dword [esp + 0x28], edx
mov ecx, dword [esp + 0x24]
mov eax, ebp
mov dword [esp + 0x20], esi
xor edx, edx
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
shl eax, 0x1e
or esi, eax
or edx, ecx
xor dword [esp + 0x28], esi
mov eax, ebp
xor dword [esp + 0x20], edx
xor edx, edx
mov ecx, dword [esp + 0x24]
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x20], edx
or esi, eax
xor dword [esp + 0x28], esi
mov edx, dword [esp + 0x18]
xor edx, dword [esp + 0x24]
and edx, dword [esp + 0x14]
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x18]
xor esi, ebp
and esi, dword [esp + 0x40]
and eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x2c]
xor edx, eax
mov eax, dword [esp + 0x28]
and ecx, ebp
xor esi, ecx
mov ebp, ebx
mov ecx, dword [esp + 0x20]
add eax, esi
adc ecx, edx
mov edx, edi
add edx, dword [esp + 0x10]
mov dword [esp + 0x50], edx
mov esi, edx
adc ebp, dword [esp + 0x1c]
add eax, edi
mov dword [esp + 0x28], eax
mov edi, ebp
adc ecx, ebx
mov dword [esp + 0x58], ebp
mov dword [esp + 0x20], ecx
mov eax, edx
mov ecx, ebp
shr edi, 9
shld ecx, eax, 0x17
xor ebx, ebx
shl esi, 0xe
or ebx, ecx
shl eax, 0x17
or edi, eax
mov ecx, ebp
mov eax, dword [esp + 0x50]
xor edx, edx
shrd eax, ecx, 0x12
shr ecx, 0x12
or edx, eax
mov eax, dword [esp + 0x50]
or esi, ecx
xor ebx, esi
xor edi, edx
mov ecx, ebp
mov esi, eax
shrd eax, ecx, 0xe
xor edx, edx
shl esi, 0x12
shr ecx, 0xe
or edx, eax
or esi, ecx
xor edi, edx
mov ecx, dword [esp + 0x5c]
xor ebx, esi
mov esi, dword [esp + 0x50]
mov edx, ebp
mov ebp, dword [esp + 0x44]
not esi
and esi, dword [esp + 0x54]
not edx
and edx, ebp
and ecx, dword [esp + 0x50]
xor esi, ecx
mov eax, dword [esp + 0x34]
and eax, dword [esp + 0x58]
xor edx, eax
mov ecx, dword [esp + 0x20]
add edi, esi
mov eax, dword [esp + 0x28]
mov esi, eax
adc ebx, edx
add edi, dword [esp + 0xc8]
adc ebx, dword [esp + 0x78]
add edi, dword [esp + 0x4c]
adc ebx, dword [esp + 0x3c]
add edi, 0x6ea6e483
adc ebx, 0x4a7484aa
shl esi, 4
shrd eax, ecx, 0x1c
xor edx, edx
or edx, eax
shr ecx, 0x1c
mov eax, dword [esp + 0x28]
or esi, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x1c], esi
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
shl eax, 0x1e
or esi, eax
mov dword [esp + 0x48], edx
xor dword [esp + 0x48], esi
xor edx, edx
mov eax, dword [esp + 0x28]
or edx, ecx
xor dword [esp + 0x1c], edx
xor edx, edx
mov ecx, dword [esp + 0x20]
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x1c], edx
or esi, eax
xor dword [esp + 0x48], esi
mov edx, dword [esp + 0x24]
xor edx, dword [esp + 0x20]
and edx, dword [esp + 0x18]
mov esi, dword [esp + 0x38]
xor esi, dword [esp + 0x28]
and esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x24]
and eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x38]
xor edx, eax
and ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x48]
xor esi, ecx
add eax, esi
mov ecx, ebx
mov esi, dword [esp + 0x1c]
adc esi, edx
mov edx, edi
add edx, dword [esp + 0x40]
mov dword [esp + 0x44], edx
adc ecx, dword [esp + 0x14]
add eax, edi
mov dword [esp + 0x48], eax
mov edi, ecx
adc esi, ebx
mov dword [esp + 0x10], ecx
mov eax, edx
shr edi, 9
shld ecx, eax, 0x17
xor ebx, ebx
mov dword [esp + 0x1c], esi
shl eax, 0x17
or ebx, ecx
or edi, eax
mov esi, edx
xor edx, edx
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x10]
shrd eax, ecx, 0x12
shl esi, 0xe
or edx, eax
shr ecx, 0x12
or esi, ecx
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x10]
xor ebx, esi
xor edi, edx
mov esi, eax
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
or edx, eax
shr ecx, 0xe
or esi, ecx
mov eax, dword [esp + 0x58]
and eax, dword [esp + 0x10]
xor ebx, esi
mov esi, dword [esp + 0x44]
xor edi, edx
mov edx, dword [esp + 0x10]
not esi
and esi, dword [esp + 0x5c]
not edx
and edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x50]
xor edx, eax
and ecx, dword [esp + 0x44]
xor esi, ecx
mov ecx, dword [esp + 0x1c]
add edi, esi
adc ebx, edx
add edi, dword [esp + 0xc4]
adc ebx, dword [esp + 0x7c]
add edi, dword [esp + 0x54]
adc ebx, ebp
mov ebp, dword [esp + 0x48]
add edi, 0xbd41fbd4
mov eax, ebp
mov esi, ebp
adc ebx, 0x5cb0a9dc
shl esi, 4
shrd eax, ecx, 0x1c
xor edx, edx
or edx, eax
shr ecx, 0x1c
or esi, ecx
mov dword [esp + 0x30], edx
mov ecx, dword [esp + 0x1c]
mov eax, ebp
mov dword [esp + 0x14], esi
xor edx, edx
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
or edx, ecx
shl eax, 0x1e
mov ecx, dword [esp + 0x1c]
or esi, eax
xor dword [esp + 0x30], esi
mov eax, ebp
xor dword [esp + 0x14], edx
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
xor edx, edx
shl eax, 0x19
or edx, ecx
xor dword [esp + 0x14], edx
or esi, eax
xor dword [esp + 0x30], esi
mov esi, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
xor esi, ebp
xor edx, dword [esp + 0x1c]
and esi, dword [esp + 0x38]
and edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
and ecx, ebp
and eax, dword [esp + 0x1c]
xor esi, ecx
xor edx, eax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x30]
mov ebp, ebx
add eax, esi
adc ecx, edx
mov edx, edi
add edx, dword [esp + 0x2c]
mov dword [esp + 0x4c], edx
mov esi, edx
adc ebp, dword [esp + 0x18]
add eax, edi
mov dword [esp + 0x30], eax
mov edi, ebp
adc ecx, ebx
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x14], ecx
mov eax, edx
xor ebx, ebx
shr edi, 9
shl esi, 0xe
mov ecx, ebp
shld ecx, eax, 0x17
xor edx, edx
or ebx, ecx
shl eax, 0x17
or edi, eax
mov ecx, ebp
mov eax, dword [esp + 0x4c]
shrd eax, ecx, 0x12
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x4c]
or esi, ecx
xor ebx, esi
xor edi, edx
xor edx, edx
mov esi, eax
shl esi, 0x12
mov ecx, ebp
shrd eax, ecx, 0xe
or edx, eax
shr ecx, 0xe
mov eax, dword [esp + 0x10]
or esi, ecx
mov ecx, dword [esp + 0x44]
xor ebx, esi
and ecx, dword [esp + 0x4c]
xor edi, edx
mov esi, dword [esp + 0x4c]
and eax, ebp
not esi
mov edx, ebp
and esi, dword [esp + 0x50]
not edx
and edx, dword [esp + 0x58]
xor esi, ecx
mov ecx, dword [esp + 0x14]
xor edx, eax
mov eax, dword [esp + 0x30]
add edi, esi
mov esi, eax
adc ebx, edx
add edi, dword [esp + 0xc0]
adc ebx, dword [esp + 0x8c]
add edi, dword [esp + 0x5c]
adc ebx, dword [esp + 0x34]
add edi, 0x831153b5
adc ebx, 0x76f988da
xor edx, edx
shrd eax, ecx, 0x1c
shl esi, 4
shr ecx, 0x1c
or edx, eax
or esi, ecx
mov dword [esp + 0x54], edx
mov dword [esp + 0x18], esi
mov ecx, dword [esp + 0x14]
xor edx, edx
mov eax, dword [esp + 0x30]
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
or edx, ecx
shl eax, 0x1e
xor dword [esp + 0x18], edx
or esi, eax
xor dword [esp + 0x54], esi
xor edx, edx
mov ecx, dword [esp + 0x14]
mov esi, ecx
mov eax, dword [esp + 0x30]
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x18], edx
or esi, eax
xor dword [esp + 0x54], esi
mov edx, dword [esp + 0x1c]
xor edx, dword [esp + 0x14]
and edx, dword [esp + 0x20]
mov esi, dword [esp + 0x48]
xor esi, dword [esp + 0x30]
and esi, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
and eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x48]
xor edx, eax
and ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x54]
xor esi, ecx
add eax, esi
mov ecx, ebx
mov esi, dword [esp + 0x18]
adc esi, edx
mov edx, edi
add edx, dword [esp + 0x38]
mov dword [esp + 0x5c], edx
adc ecx, dword [esp + 0x24]
add eax, edi
mov dword [esp + 0x54], eax
mov edi, ecx
adc esi, ebx
mov dword [esp + 0x34], ecx
mov eax, edx
shr edi, 9
shld ecx, eax, 0x17
mov dword [esp + 0x18], esi
xor ebx, ebx
shl eax, 0x17
or ebx, ecx
mov ecx, dword [esp + 0x34]
or edi, eax
mov eax, dword [esp + 0x5c]
mov esi, edx
shrd eax, ecx, 0x12
shl esi, 0xe
xor edx, edx
shr ecx, 0x12
or edx, eax
mov eax, dword [esp + 0x5c]
or esi, ecx
mov ecx, dword [esp + 0x34]
xor ebx, esi
xor edi, edx
mov esi, eax
shrd eax, ecx, 0xe
xor edx, edx
shl esi, 0x12
shr ecx, 0xe
or edx, eax
or esi, ecx
xor edi, edx
mov edx, dword [esp + 0x34]
xor ebx, esi
mov esi, dword [esp + 0x5c]
not esi
and esi, dword [esp + 0x44]
not edx
and edx, dword [esp + 0x10]
mov eax, ebp
and eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x4c]
xor edx, eax
and ecx, dword [esp + 0x5c]
xor esi, ecx
mov ebp, dword [esp + 0x54]
add edi, esi
mov ecx, dword [esp + 0x18]
mov eax, ebp
mov esi, ebp
adc ebx, edx
add edi, dword [esp + 0xb4]
adc ebx, dword [esp + 0x98]
add edi, dword [esp + 0x50]
adc ebx, dword [esp + 0x58]
add edi, 0xee66dfab
adc ebx, 0x983e5152
shl esi, 4
shrd eax, ecx, 0x1c
xor edx, edx
or edx, eax
shr ecx, 0x1c
or esi, ecx
mov dword [esp + 0x2c], edx
mov ecx, dword [esp + 0x18]
xor edx, edx
mov dword [esp + 0x24], esi
mov eax, ebp
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
or edx, ecx
shl eax, 0x1e
xor dword [esp + 0x24], edx
or esi, eax
xor dword [esp + 0x2c], esi
xor edx, edx
mov ecx, dword [esp + 0x18]
mov eax, ebp
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x24], edx
or esi, eax
xor dword [esp + 0x2c], esi
mov edx, dword [esp + 0x14]
xor edx, dword [esp + 0x18]
and edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
xor esi, ebp
and eax, dword [esp + 0x18]
and esi, dword [esp + 0x48]
xor edx, eax
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
and ecx, ebp
xor esi, ecx
mov ebp, ebx
mov ecx, dword [esp + 0x24]
add eax, esi
adc ecx, edx
mov edx, edi
add edx, dword [esp + 0x28]
mov dword [esp + 0x50], edx
adc ebp, dword [esp + 0x20]
add eax, edi
mov edi, ebp
mov dword [esp + 0x2c], eax
adc ecx, ebx
mov dword [esp + 0x58], ebp
shr edi, 9
mov eax, edx
mov dword [esp + 0x24], ecx
xor ebx, ebx
mov esi, edx
mov ecx, ebp
shld ecx, eax, 0x17
shl esi, 0xe
xor edx, edx
or ebx, ecx
shl eax, 0x17
or edi, eax
mov ecx, ebp
mov eax, dword [esp + 0x50]
shrd eax, ecx, 0x12
or edx, eax
shr ecx, 0x12
or esi, ecx
mov eax, dword [esp + 0x50]
xor ebx, esi
xor edi, edx
mov esi, eax
xor edx, edx
shl esi, 0x12
mov ecx, ebp
shrd eax, ecx, 0xe
or edx, eax
shr ecx, 0xe
or esi, ecx
mov eax, dword [esp + 0x34]
and eax, dword [esp + 0x58]
xor ebx, esi
mov esi, dword [esp + 0x50]
xor edi, edx
mov ecx, dword [esp + 0x5c]
not esi
and esi, dword [esp + 0x4c]
mov edx, ebp
and ecx, dword [esp + 0x50]
not edx
mov ebp, dword [esp + 0x3c]
xor esi, ecx
mov ecx, dword [esp + 0x24]
and edx, ebp
xor edx, eax
mov eax, dword [esp + 0x2c]
add edi, esi
mov esi, eax
adc ebx, edx
add edi, dword [esp + 0xbc]
adc ebx, dword [esp + 0x9c]
add edi, dword [esp + 0x44]
adc ebx, dword [esp + 0x10]
add edi, 0x2db43210
adc ebx, 0xa831c66d
shl esi, 4
shrd eax, ecx, 0x1c
xor edx, edx
or edx, eax
shr ecx, 0x1c
mov eax, dword [esp + 0x2c]
or esi, ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x20], esi
mov esi, ecx
shld ecx, eax, 0x1e
mov dword [esp + 0x38], edx
xor edx, edx
shr esi, 2
or edx, ecx
mov ecx, dword [esp + 0x24]
xor dword [esp + 0x20], edx
xor edx, edx
shl eax, 0x1e
or esi, eax
mov eax, dword [esp + 0x2c]
xor dword [esp + 0x38], esi
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
shl eax, 0x19
or edx, ecx
or esi, eax
xor dword [esp + 0x38], esi
xor dword [esp + 0x20], edx
mov edx, dword [esp + 0x18]
xor edx, dword [esp + 0x24]
and edx, dword [esp + 0x14]
mov esi, dword [esp + 0x54]
xor esi, dword [esp + 0x2c]
and esi, dword [esp + 0x30]
mov eax, dword [esp + 0x18]
and eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x54]
xor edx, eax
and ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x38]
xor esi, ecx
add eax, esi
mov ecx, ebx
mov esi, dword [esp + 0x20]
adc esi, edx
mov edx, edi
add edx, dword [esp + 0x48]
mov dword [esp + 0x44], edx
adc ecx, dword [esp + 0x1c]
add eax, edi
mov dword [esp + 0x38], eax
mov edi, ecx
adc esi, ebx
mov dword [esp + 0x3c], ecx
mov eax, edx
shr edi, 9
shld ecx, eax, 0x17
xor ebx, ebx
mov dword [esp + 0x20], esi
or ebx, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x3c]
or edi, eax
mov eax, dword [esp + 0x44]
mov esi, edx
shrd eax, ecx, 0x12
shl esi, 0xe
xor edx, edx
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x44]
or esi, ecx
mov ecx, dword [esp + 0x3c]
xor ebx, esi
xor edi, edx
mov esi, eax
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
or edx, eax
shr ecx, 0xe
mov eax, dword [esp + 0x58]
or esi, ecx
and eax, dword [esp + 0x3c]
xor ebx, esi
mov esi, dword [esp + 0x44]
xor edi, edx
mov edx, dword [esp + 0x3c]
not esi
and esi, dword [esp + 0x5c]
not edx
and edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x50]
xor edx, eax
and ecx, dword [esp + 0x44]
xor esi, ecx
add edi, esi
adc ebx, edx
add edi, dword [esp + 0x60]
adc ebx, dword [esp + 0x80]
add edi, dword [esp + 0x4c]
adc ebx, ebp
mov ebp, dword [esp + 0x38]
add edi, 0x98fb213f
mov esi, ebp
mov eax, ebp
adc ebx, 0xb00327c8
xor edx, edx
shl esi, 4
mov ecx, dword [esp + 0x20]
shrd eax, ecx, 0x1c
or edx, eax
shr ecx, 0x1c
or esi, ecx
mov dword [esp + 0x28], edx
mov ecx, dword [esp + 0x20]
xor edx, edx
mov dword [esp + 0x1c], esi
mov eax, ebp
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
or edx, ecx
shl eax, 0x1e
xor dword [esp + 0x1c], edx
or esi, eax
xor dword [esp + 0x28], esi
xor edx, edx
mov ecx, dword [esp + 0x20]
mov eax, ebp
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x1c], edx
or esi, eax
xor dword [esp + 0x28], esi
mov edx, dword [esp + 0x24]
xor edx, dword [esp + 0x20]
and edx, dword [esp + 0x18]
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x24]
xor esi, ebp
and eax, dword [esp + 0x20]
and esi, dword [esp + 0x54]
xor edx, eax
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
and ecx, ebp
xor esi, ecx
mov ebp, ebx
mov ecx, dword [esp + 0x1c]
add eax, esi
adc ecx, edx
mov edx, edi
add edx, dword [esp + 0x30]
mov dword [esp + 0x4c], edx
mov esi, edx
adc ebp, dword [esp + 0x14]
add eax, edi
mov dword [esp + 0x28], eax
mov edi, ebp
adc ecx, ebx
mov dword [esp + 0x40], ebp
mov dword [esp + 0x1c], ecx
mov eax, edx
mov ecx, ebp
shr edi, 9
shld ecx, eax, 0x17
xor ebx, ebx
shl esi, 0xe
shl eax, 0x17
or ebx, ecx
or edi, eax
mov ecx, ebp
mov eax, dword [esp + 0x4c]
xor edx, edx
shrd eax, ecx, 0x12
shr ecx, 0x12
or edx, eax
mov eax, dword [esp + 0x4c]
or esi, ecx
xor ebx, esi
xor edi, edx
mov esi, eax
mov ecx, ebp
xor edx, edx
shl esi, 0x12
shrd eax, ecx, 0xe
or edx, eax
shr ecx, 0xe
or esi, ecx
mov eax, dword [esp + 0x3c]
xor ebx, esi
mov ecx, dword [esp + 0x44]
and ecx, dword [esp + 0x4c]
xor edi, edx
mov esi, dword [esp + 0x4c]
and eax, ebp
not esi
mov edx, ebp
and esi, dword [esp + 0x50]
not edx
and edx, dword [esp + 0x58]
xor esi, ecx
xor edx, eax
mov ecx, dword [esp + 0x1c]
add edi, esi
mov eax, dword [esp + 0x28]
mov esi, eax
adc ebx, edx
add edi, dword [esp + 0xa4]
adc ebx, dword [esp + 0x84]
add edi, dword [esp + 0x5c]
adc ebx, dword [esp + 0x34]
add edi, 0xbeef0ee4
adc ebx, 0xbf597fc7
shl esi, 4
shrd eax, ecx, 0x1c
xor edx, edx
or edx, eax
shr ecx, 0x1c
mov eax, dword [esp + 0x28]
or esi, ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x14], esi
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
mov dword [esp + 0x10], edx
xor edx, edx
or edx, ecx
shl eax, 0x1e
xor dword [esp + 0x14], edx
or esi, eax
xor dword [esp + 0x10], esi
xor edx, edx
mov ecx, dword [esp + 0x1c]
mov esi, ecx
mov eax, dword [esp + 0x28]
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x14], edx
or esi, eax
xor dword [esp + 0x10], esi
mov edx, dword [esp + 0x20]
xor edx, dword [esp + 0x1c]
and edx, dword [esp + 0x24]
mov esi, dword [esp + 0x38]
xor esi, dword [esp + 0x28]
and esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x20]
and eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x38]
xor edx, eax
and ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x10]
xor esi, ecx
add eax, esi
mov ecx, ebx
mov esi, dword [esp + 0x14]
adc esi, edx
mov edx, edi
add edx, dword [esp + 0x54]
mov dword [esp + 0x48], edx
adc ecx, dword [esp + 0x18]
add eax, edi
mov dword [esp + 0x34], ecx
adc esi, ebx
mov dword [esp + 0x10], eax
mov edi, ecx
mov dword [esp + 0x14], esi
mov eax, edx
shr edi, 9
shld ecx, eax, 0x17
xor ebx, ebx
mov esi, edx
or ebx, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x34]
or edi, eax
mov eax, dword [esp + 0x48]
xor edx, edx
shrd eax, ecx, 0x12
shl esi, 0xe
or edx, eax
shr ecx, 0x12
or esi, ecx
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x34]
xor ebx, esi
xor edi, edx
mov esi, eax
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
or edx, eax
shr ecx, 0xe
or esi, ecx
xor edi, edx
mov edx, dword [esp + 0x34]
xor ebx, esi
mov esi, dword [esp + 0x48]
not edx
and edx, dword [esp + 0x3c]
not esi
and esi, dword [esp + 0x44]
mov eax, ebp
and eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x4c]
xor edx, eax
and ecx, dword [esp + 0x48]
mov ebp, dword [esp + 0x10]
xor esi, ecx
mov ecx, dword [esp + 0x14]
add edi, esi
mov eax, ebp
mov esi, ebp
adc ebx, edx
add edi, dword [esp + 0xb8]
adc ebx, dword [esp + 0x88]
add edi, dword [esp + 0x50]
adc ebx, dword [esp + 0x58]
add edi, 0x3da88fc2
adc ebx, 0xc6e00bf3
shl esi, 4
shrd eax, ecx, 0x1c
xor edx, edx
shr ecx, 0x1c
or edx, eax
or esi, ecx
mov dword [esp + 0x30], edx
mov ecx, dword [esp + 0x14]
mov eax, ebp
mov dword [esp + 0x18], esi
xor edx, edx
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
shl eax, 0x1e
or edx, ecx
mov ecx, dword [esp + 0x14]
or esi, eax
xor dword [esp + 0x30], esi
mov eax, ebp
xor dword [esp + 0x18], edx
mov esi, ecx
shr esi, 7
xor edx, edx
shld ecx, eax, 0x19
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x18], edx
or esi, eax
xor dword [esp + 0x30], esi
mov edx, dword [esp + 0x1c]
xor edx, dword [esp + 0x14]
and edx, dword [esp + 0x20]
mov esi, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
xor esi, ebp
and eax, dword [esp + 0x14]
and esi, dword [esp + 0x38]
xor edx, eax
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x30]
and ecx, ebp
xor esi, ecx
mov ebp, ebx
mov ecx, dword [esp + 0x18]
add eax, esi
adc ecx, edx
mov edx, edi
add edx, dword [esp + 0x2c]
mov dword [esp + 0x50], edx
mov esi, edx
adc ebp, dword [esp + 0x24]
add eax, edi
mov dword [esp + 0x30], eax
mov edi, ebp
adc ecx, ebx
mov dword [esp + 0x54], ebp
mov dword [esp + 0x18], ecx
mov eax, edx
xor ebx, ebx
shr edi, 9
mov ecx, ebp
shl esi, 0xe
shld ecx, eax, 0x17
xor edx, edx
or ebx, ecx
shl eax, 0x17
or edi, eax
mov ecx, ebp
mov eax, dword [esp + 0x50]
shrd eax, ecx, 0x12
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x50]
or esi, ecx
xor ebx, esi
xor edi, edx
mov esi, eax
xor edx, edx
shl esi, 0x12
mov ecx, ebp
shrd eax, ecx, 0xe
or edx, eax
shr ecx, 0xe
mov eax, dword [esp + 0x34]
or esi, ecx
mov ecx, dword [esp + 0x48]
xor ebx, esi
mov esi, dword [esp + 0x50]
xor edi, edx
and ecx, dword [esp + 0x50]
not esi
and esi, dword [esp + 0x4c]
mov edx, ebp
and eax, ebp
not edx
and edx, dword [esp + 0x40]
xor esi, ecx
xor edx, eax
add edi, esi
adc ebx, edx
add edi, dword [esp + 0xd4]
adc ebx, dword [esp + 0x90]
add edi, dword [esp + 0x44]
adc ebx, dword [esp + 0x3c]
mov eax, dword [esp + 0x30]
add edi, 0x930aa725
mov ecx, dword [esp + 0x18]
mov esi, eax
adc ebx, 0xd5a79147
shl esi, 4
shrd eax, ecx, 0x1c
xor edx, edx
or edx, eax
shr ecx, 0x1c
or esi, ecx
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x24], esi
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
shl eax, 0x1e
or esi, eax
mov dword [esp + 0x58], edx
xor dword [esp + 0x58], esi
xor edx, edx
mov eax, dword [esp + 0x30]
or edx, ecx
xor dword [esp + 0x24], edx
xor edx, edx
mov ecx, dword [esp + 0x18]
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x24], edx
or esi, eax
xor dword [esp + 0x58], esi
mov edx, dword [esp + 0x14]
xor edx, dword [esp + 0x18]
and edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x10]
xor esi, dword [esp + 0x30]
and esi, dword [esp + 0x28]
mov eax, dword [esp + 0x14]
and eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
xor edx, eax
and ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x58]
xor esi, ecx
add eax, esi
mov ecx, ebx
mov esi, dword [esp + 0x24]
adc esi, edx
mov edx, edi
add edx, dword [esp + 0x38]
mov dword [esp + 0x44], edx
adc ecx, dword [esp + 0x20]
add eax, edi
mov dword [esp + 0x58], eax
mov edi, ecx
adc esi, ebx
mov dword [esp + 0x3c], ecx
mov eax, edx
shr edi, 9
shld ecx, eax, 0x17
xor ebx, ebx
mov dword [esp + 0x24], esi
shl eax, 0x17
or ebx, ecx
mov ecx, dword [esp + 0x3c]
or edi, eax
mov eax, dword [esp + 0x44]
mov esi, edx
shrd eax, ecx, 0x12
xor edx, edx
shl esi, 0xe
shr ecx, 0x12
or edx, eax
mov eax, dword [esp + 0x44]
or esi, ecx
xor edi, edx
xor ebx, esi
mov ecx, dword [esp + 0x3c]
xor edx, edx
mov esi, eax
shrd eax, ecx, 0xe
shl esi, 0x12
or edx, eax
shr ecx, 0xe
or esi, ecx
xor edi, edx
mov edx, dword [esp + 0x3c]
xor ebx, esi
mov esi, dword [esp + 0x44]
not edx
and edx, dword [esp + 0x34]
not esi
and esi, dword [esp + 0x48]
mov eax, ebp
and eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x50]
xor edx, eax
and ecx, dword [esp + 0x44]
xor esi, ecx
mov ebp, dword [esp + 0x58]
add edi, esi
mov ecx, dword [esp + 0x24]
mov eax, ebp
mov esi, ebp
adc ebx, edx
add edi, dword [esp + 0xdc]
adc ebx, dword [esp + 0xb0]
add edi, dword [esp + 0x4c]
adc ebx, dword [esp + 0x40]
add edi, 0xe003826f
adc ebx, 0x6ca6351
shl esi, 4
shrd eax, ecx, 0x1c
xor edx, edx
or edx, eax
shr ecx, 0x1c
or esi, ecx
mov dword [esp + 0x2c], edx
mov ecx, dword [esp + 0x24]
xor edx, edx
mov dword [esp + 0x20], esi
mov eax, ebp
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
or edx, ecx
shl eax, 0x1e
xor dword [esp + 0x20], edx
or esi, eax
xor dword [esp + 0x2c], esi
xor edx, edx
mov ecx, dword [esp + 0x24]
mov eax, ebp
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x20], edx
or esi, eax
xor dword [esp + 0x2c], esi
mov edx, dword [esp + 0x18]
xor edx, dword [esp + 0x24]
mov esi, dword [esp + 0x30]
and edx, dword [esp + 0x14]
xor esi, ebp
and esi, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
and eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
xor edx, eax
mov eax, dword [esp + 0x2c]
and ecx, ebp
xor esi, ecx
add eax, esi
mov esi, dword [esp + 0x20]
adc esi, edx
mov edx, edi
add edx, dword [esp + 0x28]
mov ecx, ebx
mov dword [esp + 0x4c], edx
adc ecx, dword [esp + 0x1c]
add eax, edi
mov dword [esp + 0x38], ecx
mov edi, ecx
adc esi, ebx
mov dword [esp + 0x2c], eax
mov eax, edx
mov dword [esp + 0x20], esi
shld ecx, eax, 0x17
xor ebx, ebx
shr edi, 9
or ebx, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x38]
or edi, eax
mov eax, dword [esp + 0x4c]
mov esi, edx
shrd eax, ecx, 0x12
shl esi, 0xe
xor edx, edx
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x4c]
or esi, ecx
mov ecx, dword [esp + 0x38]
xor ebx, esi
xor edi, edx
mov esi, eax
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
or edx, eax
shr ecx, 0xe
mov eax, dword [esp + 0x3c]
or esi, ecx
and eax, dword [esp + 0x38]
xor ebx, esi
mov esi, dword [esp + 0x4c]
xor edi, edx
mov edx, dword [esp + 0x38]
not esi
and esi, dword [esp + 0x50]
not edx
and edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x44]
xor edx, eax
and ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x2c]
xor esi, ecx
mov ecx, dword [esp + 0x20]
add edi, esi
mov esi, eax
adc ebx, edx
add edi, dword [esp + 0xd8]
adc ebx, dword [esp + 0xac]
add edi, dword [esp + 0x48]
adc ebx, dword [esp + 0x34]
add edi, 0xa0e6e70
adc ebx, 0x14292967
shl esi, 4
shrd eax, ecx, 0x1c
xor edx, edx
shr ecx, 0x1c
or edx, eax
mov eax, dword [esp + 0x2c]
or esi, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x1c], esi
mov esi, ecx
shld ecx, eax, 0x1e
mov dword [esp + 0x28], edx
xor edx, edx
shr esi, 2
or edx, ecx
shl eax, 0x1e
or esi, eax
xor dword [esp + 0x28], esi
xor dword [esp + 0x1c], edx
mov ecx, dword [esp + 0x20]
xor edx, edx
mov eax, dword [esp + 0x2c]
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x1c], edx
or esi, eax
xor dword [esp + 0x28], esi
mov ecx, ebp
and ecx, dword [esp + 0x2c]
mov esi, ebp
xor esi, dword [esp + 0x2c]
and esi, dword [esp + 0x30]
mov edx, dword [esp + 0x24]
xor esi, ecx
xor edx, dword [esp + 0x20]
and edx, dword [esp + 0x18]
mov eax, dword [esp + 0x24]
and eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
xor edx, eax
add ecx, esi
mov eax, edi
mov esi, dword [esp + 0x1c]
adc esi, edx
add eax, dword [esp + 0x10]
mov dword [esp + 0x34], eax
mov eax, ebx
adc eax, dword [esp + 0x14]
add ecx, edi
mov edi, dword [esp + 0xdc]
adc esi, ebx
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0xb0]
mov ebx, edi
mov dword [esp + 0x5c], eax
xor ebp, ebp
mov eax, edi
shl ebx, 0xd
shrd eax, ecx, 0x13
mov dword [esp + 0x1c], esi
xor edx, edx
shr ecx, 0x13
or ebp, eax
or ebx, ecx
mov eax, edi
mov ecx, dword [esp + 0xb0]
mov esi, ecx
shld ecx, eax, 3
shr esi, 0x1d
or edx, ecx
shl eax, 3
mov ecx, dword [esp + 0xb0]
or esi, eax
mov eax, edi
xor ebx, edx
mov edx, dword [esp + 0xa0]
xor ebp, esi
shrd eax, ecx, 6
xor edi, edi
mov esi, edx
shr ecx, 6
xor ebp, eax
xor ebx, ecx
shl esi, 0x1f
mov ecx, dword [esp + 0x64]
mov eax, edx
shrd eax, ecx, 8
mov dword [esp + 0x10], ebx
mov ebx, edx
shr ecx, 8
or edi, eax
mov eax, dword [esp + 0xa0]
xor edx, edx
shl ebx, 0x18
or ebx, ecx
mov ecx, dword [esp + 0x64]
shrd eax, ecx, 1
or edx, eax
shr ecx, 1
or esi, ecx
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x64]
xor ebx, esi
shrd eax, ecx, 7
xor edi, edx
xor edi, eax
shr ecx, 7
xor ebx, ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xac]
add ebp, edi
mov edi, dword [esp + 0xd8]
adc eax, ebx
add ebp, dword [esp + 0xbc]
mov ebx, edi
adc eax, dword [esp + 0x9c]
add dword [esp + 0xa8], ebp
adc dword [esp + 0x94], eax
mov eax, edi
shrd eax, ecx, 0x13
shl ebx, 0xd
xor ebp, ebp
shr ecx, 0x13
or ebp, eax
or ebx, ecx
mov eax, edi
mov ecx, dword [esp + 0xac]
xor edx, edx
mov esi, ecx
shld ecx, eax, 3
shr esi, 0x1d
or edx, ecx
shl eax, 3
mov ecx, dword [esp + 0xac]
or esi, eax
xor ebx, edx
mov eax, edi
mov edx, dword [esp + 0x68]
xor ebp, esi
shrd eax, ecx, 6
xor edi, edi
mov esi, edx
shr ecx, 6
xor ebp, eax
xor ebx, ecx
shl esi, 0x1f
mov ecx, dword [esp + 0x6c]
mov eax, edx
shrd eax, ecx, 8
mov dword [esp + 0x10], ebx
mov ebx, edx
or edi, eax
shr ecx, 8
mov eax, dword [esp + 0x68]
xor edx, edx
shl ebx, 0x18
or ebx, ecx
mov ecx, dword [esp + 0x6c]
shrd eax, ecx, 1
shr ecx, 1
or edx, eax
mov eax, dword [esp + 0x68]
or esi, ecx
mov ecx, dword [esp + 0x6c]
xor edi, edx
shrd eax, ecx, 7
xor ebx, esi
xor edi, eax
shr ecx, 7
mov eax, dword [esp + 0x10]
xor ebx, ecx
add ebp, edi
mov edi, dword [esp + 0xd0]
adc eax, ebx
add ebp, dword [esp + 0x60]
adc eax, dword [esp + 0x80]
add dword [esp + 0xa0], ebp
adc dword [esp + 0x64], eax
mov ecx, dword [esp + 0x70]
mov eax, edi
shrd eax, ecx, 8
xor ebp, ebp
mov ebx, edi
shr ecx, 8
or ebp, eax
shl ebx, 0x18
mov eax, edi
or ebx, ecx
xor edx, edx
mov ecx, dword [esp + 0x70]
mov esi, edi
shrd eax, ecx, 1
shl esi, 0x1f
or edx, eax
shr ecx, 1
or esi, ecx
xor ebp, edx
mov ecx, dword [esp + 0x70]
xor ebx, esi
mov eax, edi
xor edx, edx
shrd eax, ecx, 7
xor edi, edi
shr ecx, 7
xor ebp, eax
mov eax, dword [esp + 0xa8]
xor ebx, ecx
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x10], ebx
mov ebx, eax
shrd eax, ecx, 0x13
shl ebx, 0xd
or edi, eax
shr ecx, 0x13
mov eax, dword [esp + 0xa8]
or ebx, ecx
mov ecx, dword [esp + 0x94]
mov esi, ecx
shld ecx, eax, 3
shr esi, 0x1d
shl eax, 3
or edx, ecx
mov ecx, dword [esp + 0x94]
or esi, eax
mov eax, dword [esp + 0xa8]
xor edi, esi
shrd eax, ecx, 6
xor ebx, edx
shr ecx, 6
xor edi, eax
mov eax, dword [esp + 0x10]
xor ebx, ecx
mov ecx, dword [esp + 0x74]
add ebp, edi
mov edi, dword [esp + 0xcc]
mov esi, edi
adc eax, ebx
add ebp, dword [esp + 0xa4]
mov ebx, edi
adc eax, dword [esp + 0x84]
add dword [esp + 0x68], ebp
adc dword [esp + 0x6c], eax
mov eax, edi
shrd eax, ecx, 8
xor ebp, ebp
shl ebx, 0x18
shr ecx, 8
or ebp, eax
or ebx, ecx
shl esi, 0x1f
mov ecx, dword [esp + 0x74]
mov eax, edi
shrd eax, ecx, 1
xor edx, edx
shr ecx, 1
or edx, eax
or esi, ecx
xor ebp, edx
xor ebx, esi
mov ecx, dword [esp + 0x74]
mov eax, edi
shrd eax, ecx, 7
xor edi, edi
xor edx, edx
shr ecx, 7
xor ebp, eax
xor ebx, ecx
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x10], ebx
mov ebx, eax
shrd eax, ecx, 0x13
shl ebx, 0xd
shr ecx, 0x13
or edi, eax
or ebx, ecx
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x64]
mov esi, ecx
shld ecx, eax, 3
shr esi, 0x1d
or edx, ecx
shl eax, 3
mov ecx, dword [esp + 0x64]
or esi, eax
mov eax, dword [esp + 0xa0]
xor ebx, edx
shrd eax, ecx, 6
xor edi, esi
shr ecx, 6
xor edi, eax
mov eax, dword [esp + 0x10]
xor ebx, ecx
mov ecx, dword [esp + 0x78]
add ebp, edi
mov edi, dword [esp + 0xc8]
mov esi, edi
adc eax, ebx
add ebp, dword [esp + 0xb8]
mov ebx, edi
adc eax, dword [esp + 0x88]
add dword [esp + 0xd0], ebp
adc dword [esp + 0x70], eax
mov eax, edi
shrd eax, ecx, 8
shl ebx, 0x18
xor ebp, ebp
shr ecx, 8
or ebp, eax
or ebx, ecx
shl esi, 0x1f
mov ecx, dword [esp + 0x78]
mov eax, edi
shrd eax, ecx, 1
xor edx, edx
shr ecx, 1
or edx, eax
or esi, ecx
mov eax, edi
mov ecx, dword [esp + 0x78]
xor ebx, esi
shrd eax, ecx, 7
xor ebp, edx
xor edi, edi
shr ecx, 7
xor ebp, eax
mov eax, dword [esp + 0x68]
xor ebx, ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x10], ebx
mov ebx, eax
shrd eax, ecx, 0x13
shl ebx, 0xd
shr ecx, 0x13
or edi, eax
or ebx, ecx
mov ecx, dword [esp + 0x6c]
mov esi, ecx
shr esi, 0x1d
xor edx, edx
mov eax, dword [esp + 0x68]
shld ecx, eax, 3
or edx, ecx
shl eax, 3
or esi, eax
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x68]
xor ebx, edx
shrd eax, ecx, 6
xor edi, esi
xor edi, eax
shr ecx, 6
xor ebx, ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x7c]
add ebp, edi
mov edi, dword [esp + 0xc4]
mov esi, edi
adc eax, ebx
add ebp, dword [esp + 0xd4]
mov ebx, edi
adc eax, dword [esp + 0x90]
add dword [esp + 0xcc], ebp
adc dword [esp + 0x74], eax
mov eax, edi
shrd eax, ecx, 8
shl ebx, 0x18
xor ebp, ebp
shr ecx, 8
or ebp, eax
or ebx, ecx
shl esi, 0x1f
mov ecx, dword [esp + 0x7c]
mov eax, edi
shrd eax, ecx, 1
xor edx, edx
or edx, eax
shr ecx, 1
or esi, ecx
mov eax, edi
mov ecx, dword [esp + 0x7c]
xor ebx, esi
shrd eax, ecx, 7
xor ebp, edx
xor edi, edi
shr ecx, 7
xor ebp, eax
mov eax, dword [esp + 0xd0]
xor ebx, ecx
mov ecx, dword [esp + 0x70]
xor edx, edx
mov dword [esp + 0x10], ebx
mov ebx, eax
shrd eax, ecx, 0x13
shl ebx, 0xd
or edi, eax
shr ecx, 0x13
mov eax, dword [esp + 0xd0]
or ebx, ecx
mov ecx, dword [esp + 0x70]
mov esi, ecx
shld ecx, eax, 3
shr esi, 0x1d
shl eax, 3
or edx, ecx
mov ecx, dword [esp + 0x70]
or esi, eax
mov eax, dword [esp + 0xd0]
xor edi, esi
shrd eax, ecx, 6
xor ebx, edx
xor edi, eax
shr ecx, 6
mov eax, dword [esp + 0x10]
xor ebx, ecx
add ebp, edi
adc eax, ebx
add ebp, dword [esp + 0xdc]
adc eax, dword [esp + 0xb0]
add dword [esp + 0xc8], ebp
adc dword [esp + 0x78], eax
mov edi, dword [esp + 0xc0]
xor ebp, ebp
mov ecx, dword [esp + 0x8c]
mov eax, edi
shrd eax, ecx, 8
mov ebx, edi
xor edx, edx
shr ecx, 8
or ebp, eax
shl ebx, 0x18
mov eax, edi
or ebx, ecx
mov esi, edi
mov ecx, dword [esp + 0x8c]
shrd eax, ecx, 1
shl esi, 0x1f
or edx, eax
shr ecx, 1
or esi, ecx
mov eax, edi
mov ecx, dword [esp + 0x8c]
xor ebx, esi
shrd eax, ecx, 7
xor ebp, edx
xor edi, edi
shr ecx, 7
xor ebp, eax
mov eax, dword [esp + 0xcc]
xor ebx, ecx
mov ecx, dword [esp + 0x74]
xor edx, edx
mov dword [esp + 0x10], ebx
mov ebx, eax
shrd eax, ecx, 0x13
shl ebx, 0xd
or edi, eax
shr ecx, 0x13
mov eax, dword [esp + 0xcc]
or ebx, ecx
mov ecx, dword [esp + 0x74]
mov esi, ecx
shld ecx, eax, 3
shr esi, 0x1d
shl eax, 3
or edx, ecx
mov ecx, dword [esp + 0x74]
or esi, eax
mov eax, dword [esp + 0xcc]
xor edi, esi
shrd eax, ecx, 6
xor ebx, edx
shr ecx, 6
xor edi, eax
mov eax, dword [esp + 0x10]
xor ebx, ecx
mov ecx, dword [esp + 0x98]
add ebp, edi
mov edi, dword [esp + 0xb4]
mov esi, edi
adc eax, ebx
add ebp, dword [esp + 0xd8]
mov ebx, edi
adc eax, dword [esp + 0xac]
add dword [esp + 0xc4], ebp
adc dword [esp + 0x7c], eax
mov eax, edi
shrd eax, ecx, 8
xor ebp, ebp
shl ebx, 0x18
shr ecx, 8
or ebp, eax
or ebx, ecx
shl esi, 0x1f
mov ecx, dword [esp + 0x98]
mov eax, edi
shrd eax, ecx, 1
xor edx, edx
shr ecx, 1
or edx, eax
or esi, ecx
xor ebp, edx
mov ecx, dword [esp + 0x98]
xor ebx, esi
mov eax, edi
xor edx, edx
shrd eax, ecx, 7
xor edi, edi
shr ecx, 7
xor ebp, eax
xor ebx, ecx
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x10], ebx
mov ebx, eax
shrd eax, ecx, 0x13
shl ebx, 0xd
shr ecx, 0x13
or edi, eax
or ebx, ecx
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0x78]
mov esi, ecx
shld ecx, eax, 3
shr esi, 0x1d
or edx, ecx
shl eax, 3
mov ecx, dword [esp + 0x78]
or esi, eax
mov eax, dword [esp + 0xc8]
xor ebx, edx
shrd eax, ecx, 6
xor edi, esi
shr ecx, 6
xor edi, eax
mov eax, dword [esp + 0x10]
xor ebx, ecx
mov ecx, dword [esp + 0x9c]
add ebp, edi
mov edi, dword [esp + 0xbc]
mov esi, edi
adc eax, ebx
add ebp, dword [esp + 0xa8]
mov ebx, edi
adc eax, dword [esp + 0x94]
add dword [esp + 0xc0], ebp
adc dword [esp + 0x8c], eax
mov eax, edi
shrd eax, ecx, 8
shl ebx, 0x18
xor ebp, ebp
shr ecx, 8
or ebp, eax
or ebx, ecx
shl esi, 0x1f
mov ecx, dword [esp + 0x9c]
mov eax, edi
shrd eax, ecx, 1
xor edx, edx
shr ecx, 1
or edx, eax
or esi, ecx
mov eax, edi
mov ecx, dword [esp + 0x9c]
xor ebx, esi
shrd eax, ecx, 7
xor ebp, edx
xor edi, edi
shr ecx, 7
xor ebp, eax
mov eax, dword [esp + 0xc4]
xor ebx, ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x10], ebx
mov ebx, eax
shrd eax, ecx, 0x13
shl ebx, 0xd
shr ecx, 0x13
or edi, eax
or ebx, ecx
mov ecx, dword [esp + 0x7c]
mov esi, ecx
shr esi, 0x1d
mov eax, dword [esp + 0xc4]
xor edx, edx
shld ecx, eax, 3
or edx, ecx
shl eax, 3
or esi, eax
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0xc4]
xor ebx, edx
shrd eax, ecx, 6
xor edi, esi
xor edi, eax
shr ecx, 6
xor ebx, ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x80]
add ebp, edi
mov edi, dword [esp + 0x60]
mov esi, edi
adc eax, ebx
add ebp, dword [esp + 0xa0]
mov ebx, edi
adc eax, dword [esp + 0x64]
add dword [esp + 0xb4], ebp
adc dword [esp + 0x98], eax
mov eax, edi
shrd eax, ecx, 8
shl ebx, 0x18
xor ebp, ebp
shr ecx, 8
or ebp, eax
or ebx, ecx
shl esi, 0x1f
mov ecx, dword [esp + 0x80]
mov eax, edi
shrd eax, ecx, 1
xor edx, edx
or edx, eax
shr ecx, 1
or esi, ecx
mov eax, edi
mov ecx, dword [esp + 0x80]
xor ebx, esi
shrd eax, ecx, 7
xor ebp, edx
xor edi, edi
shr ecx, 7
xor ebp, eax
mov eax, dword [esp + 0xc0]
xor ebx, ecx
mov ecx, dword [esp + 0x8c]
xor edx, edx
mov dword [esp + 0x10], ebx
mov ebx, eax
shrd eax, ecx, 0x13
shl ebx, 0xd
or edi, eax
shr ecx, 0x13
mov eax, dword [esp + 0xc0]
or ebx, ecx
mov ecx, dword [esp + 0x8c]
mov esi, ecx
shld ecx, eax, 3
shr esi, 0x1d
shl eax, 3
or edx, ecx
mov ecx, dword [esp + 0x8c]
or esi, eax
mov eax, dword [esp + 0xc0]
xor edi, esi
shrd eax, ecx, 6
xor ebx, edx
xor edi, eax
shr ecx, 6
mov eax, dword [esp + 0x10]
xor ebx, ecx
add ebp, edi
adc eax, ebx
add ebp, dword [esp + 0x68]
adc eax, dword [esp + 0x6c]
add dword [esp + 0xbc], ebp
adc dword [esp + 0x9c], eax
xor ebp, ebp
mov edi, dword [esp + 0xa4]
xor edx, edx
mov ecx, dword [esp + 0x84]
mov eax, edi
shrd eax, ecx, 8
mov ebx, edi
mov esi, edi
shr ecx, 8
or ebp, eax
shl ebx, 0x18
mov eax, edi
or ebx, ecx
shl esi, 0x1f
mov ecx, dword [esp + 0x84]
shrd eax, ecx, 1
or edx, eax
shr ecx, 1
or esi, ecx
mov eax, edi
mov ecx, dword [esp + 0x84]
xor ebx, esi
shrd eax, ecx, 7
xor ebp, edx
xor edi, edi
shr ecx, 7
xor ebp, eax
mov eax, dword [esp + 0xb4]
xor ebx, ecx
mov ecx, dword [esp + 0x98]
xor edx, edx
mov dword [esp + 0x10], ebx
mov ebx, eax
shrd eax, ecx, 0x13
shl ebx, 0xd
or edi, eax
shr ecx, 0x13
mov eax, dword [esp + 0xb4]
or ebx, ecx
mov ecx, dword [esp + 0x98]
mov esi, ecx
shld ecx, eax, 3
shr esi, 0x1d
shl eax, 3
or edx, ecx
mov ecx, dword [esp + 0x98]
or esi, eax
mov eax, dword [esp + 0xb4]
xor ebx, edx
shrd eax, ecx, 6
xor edi, esi
shr ecx, 6
xor edi, eax
mov eax, dword [esp + 0x10]
xor ebx, ecx
mov ecx, dword [esp + 0x88]
add ebp, edi
mov edi, dword [esp + 0xb8]
mov esi, edi
adc eax, ebx
add ebp, dword [esp + 0xd0]
mov ebx, edi
adc eax, dword [esp + 0x70]
add dword [esp + 0x60], ebp
adc dword [esp + 0x80], eax
mov eax, edi
shrd eax, ecx, 8
xor ebp, ebp
shl ebx, 0x18
shr ecx, 8
or ebp, eax
or ebx, ecx
shl esi, 0x1f
mov ecx, dword [esp + 0x88]
mov eax, edi
shrd eax, ecx, 1
xor edx, edx
shr ecx, 1
or edx, eax
or esi, ecx
mov ecx, dword [esp + 0x88]
xor ebx, esi
mov eax, edi
xor ebp, edx
shrd eax, ecx, 7
xor edi, edi
xor edx, edx
shr ecx, 7
xor ebp, eax
xor ebx, ecx
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x10], ebx
mov ebx, eax
shrd eax, ecx, 0x13
shl ebx, 0xd
shr ecx, 0x13
or edi, eax
mov eax, dword [esp + 0xbc]
or ebx, ecx
mov ecx, dword [esp + 0x9c]
mov esi, ecx
shld ecx, eax, 3
shr esi, 0x1d
or edx, ecx
shl eax, 3
mov ecx, dword [esp + 0x9c]
or esi, eax
mov eax, dword [esp + 0xbc]
xor ebx, edx
shrd eax, ecx, 6
xor edi, esi
shr ecx, 6
xor edi, eax
mov eax, dword [esp + 0x10]
xor ebx, ecx
mov ecx, dword [esp + 0x90]
add ebp, edi
mov edi, dword [esp + 0xd4]
mov esi, edi
adc eax, ebx
add ebp, dword [esp + 0xcc]
mov ebx, edi
adc eax, dword [esp + 0x74]
add dword [esp + 0xa4], ebp
adc dword [esp + 0x84], eax
mov eax, edi
shrd eax, ecx, 8
shl ebx, 0x18
xor ebp, ebp
shr ecx, 8
or ebp, eax
or ebx, ecx
shl esi, 0x1f
mov ecx, dword [esp + 0x90]
mov eax, edi
shrd eax, ecx, 1
xor edx, edx
shr ecx, 1
or edx, eax
or esi, ecx
mov eax, edi
mov ecx, dword [esp + 0x90]
xor ebx, esi
shrd eax, ecx, 7
xor ebp, edx
xor edi, edi
shr ecx, 7
xor ebp, eax
mov eax, dword [esp + 0x60]
xor ebx, ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x10], ebx
mov ebx, eax
shrd eax, ecx, 0x13
shl ebx, 0xd
shr ecx, 0x13
or edi, eax
or ebx, ecx
mov ecx, dword [esp + 0x80]
mov esi, ecx
mov eax, dword [esp + 0x60]
xor edx, edx
shld ecx, eax, 3
shr esi, 0x1d
or edx, ecx
shl eax, 3
or esi, eax
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0x60]
xor ebx, edx
shrd eax, ecx, 6
xor edi, esi
xor edi, eax
shr ecx, 6
xor ebx, ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xb0]
add ebp, edi
mov edi, dword [esp + 0xdc]
mov esi, edi
adc eax, ebx
add ebp, dword [esp + 0xc8]
mov ebx, edi
adc eax, dword [esp + 0x78]
add dword [esp + 0xb8], ebp
adc dword [esp + 0x88], eax
mov eax, edi
shrd eax, ecx, 8
shl ebx, 0x18
xor ebp, ebp
shr ecx, 8
or ebp, eax
or ebx, ecx
shl esi, 0x1f
mov ecx, dword [esp + 0xb0]
mov eax, edi
shrd eax, ecx, 1
xor edx, edx
shr ecx, 1
or edx, eax
or esi, ecx
mov eax, edi
mov ecx, dword [esp + 0xb0]
xor ebx, esi
shrd eax, ecx, 7
xor ebp, edx
xor edi, edi
shr ecx, 7
xor ebp, eax
mov eax, dword [esp + 0xa4]
xor ebx, ecx
mov ecx, dword [esp + 0x84]
xor edx, edx
mov dword [esp + 0x10], ebx
mov ebx, eax
shrd eax, ecx, 0x13
shl ebx, 0xd
or edi, eax
shr ecx, 0x13
mov eax, dword [esp + 0xa4]
or ebx, ecx
mov ecx, dword [esp + 0x84]
mov esi, ecx
shld ecx, eax, 3
shr esi, 0x1d
shl eax, 3
or edx, ecx
mov ecx, dword [esp + 0x84]
or esi, eax
mov eax, dword [esp + 0xa4]
xor edi, esi
shrd eax, ecx, 6
xor ebx, edx
shr ecx, 6
xor edi, eax
mov eax, dword [esp + 0x10]
xor ebx, ecx
add ebp, edi
adc eax, ebx
add ebp, dword [esp + 0xc4]
adc eax, dword [esp + 0x7c]
add dword [esp + 0xd4], ebp
mov edi, dword [esp + 0xd8]
mov ebx, edi
adc dword [esp + 0x90], eax
mov esi, edi
mov ecx, dword [esp + 0xac]
mov eax, edi
shrd eax, ecx, 8
shl ebx, 0x18
xor ebp, ebp
or ebp, eax
shr ecx, 8
or ebx, ecx
shl esi, 0x1f
mov ecx, dword [esp + 0xac]
mov eax, edi
shrd eax, ecx, 1
xor edx, edx
or edx, eax
shr ecx, 1
or esi, ecx
mov eax, edi
mov ecx, dword [esp + 0xac]
xor ebx, esi
shrd eax, ecx, 7
xor ebp, edx
xor edi, edi
shr ecx, 7
xor ebp, eax
mov eax, dword [esp + 0xb8]
xor ebx, ecx
mov ecx, dword [esp + 0x88]
xor edx, edx
mov dword [esp + 0x10], ebx
mov ebx, eax
shrd eax, ecx, 0x13
shl ebx, 0xd
or edi, eax
shr ecx, 0x13
mov eax, dword [esp + 0xb8]
or ebx, ecx
mov ecx, dword [esp + 0x88]
mov esi, ecx
shld ecx, eax, 3
shr esi, 0x1d
shl eax, 3
or edx, ecx
mov ecx, dword [esp + 0x88]
or esi, eax
mov eax, dword [esp + 0xb8]
xor edi, esi
shrd eax, ecx, 6
xor ebx, edx
xor edi, eax
shr ecx, 6
mov eax, dword [esp + 0x10]
xor ebx, ecx
mov ecx, dword [esp + 0x90]
add ebp, edi
mov edi, dword [esp + 0xd4]
adc eax, ebx
add ebp, dword [esp + 0xc0]
mov ebx, edi
adc eax, dword [esp + 0x8c]
add dword [esp + 0xdc], ebp
adc dword [esp + 0xb0], eax
mov eax, edi
shrd eax, ecx, 0x13
xor ebp, ebp
shl ebx, 0xd
shr ecx, 0x13
or ebp, eax
or ebx, ecx
mov eax, edi
mov ecx, dword [esp + 0x90]
xor edx, edx
mov esi, ecx
shld ecx, eax, 3
shr esi, 0x1d
shl eax, 3
or esi, eax
or edx, ecx
xor ebp, esi
mov ecx, dword [esp + 0x90]
xor ebx, edx
mov edx, dword [esp + 0xa8]
mov eax, edi
shrd eax, ecx, 6
xor edi, edi
mov esi, edx
shr ecx, 6
xor ebp, eax
xor ebx, ecx
shl esi, 0x1f
mov ecx, dword [esp + 0x94]
mov eax, edx
shrd eax, ecx, 8
mov dword [esp + 0x10], ebx
mov ebx, edx
or edi, eax
shr ecx, 8
mov eax, dword [esp + 0xa8]
xor edx, edx
shl ebx, 0x18
or ebx, ecx
mov ecx, dword [esp + 0x94]
shrd eax, ecx, 1
or edx, eax
shr ecx, 1
mov eax, dword [esp + 0xa8]
or esi, ecx
mov ecx, dword [esp + 0x94]
xor edi, edx
shrd eax, ecx, 7
xor ebx, esi
xor edi, eax
shr ecx, 7
mov eax, dword [esp + 0x10]
xor ebx, ecx
add ebp, edi
adc eax, ebx
add ebp, dword [esp + 0xb4]
adc eax, dword [esp + 0x98]
add dword [esp + 0xd8], ebp
mov ebp, dword [esp + 0x5c]
mov edi, ebp
adc dword [esp + 0xac], eax
mov ecx, ebp
mov eax, dword [esp + 0x34]
xor ebx, ebx
shld ecx, eax, 0x17
shr edi, 9
xor edx, edx
or ebx, ecx
shl eax, 0x17
or edi, eax
mov ecx, ebp
mov eax, dword [esp + 0x34]
mov esi, eax
shrd eax, ecx, 0x12
shl esi, 0xe
shr ecx, 0x12
or edx, eax
mov eax, dword [esp + 0x34]
or esi, ecx
xor ebx, esi
mov ecx, ebp
mov esi, eax
xor edi, edx
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
shr ecx, 0xe
or edx, eax
or esi, ecx
xor edi, edx
xor ebx, esi
mov edx, ebp
mov esi, dword [esp + 0x34]
not edx
not esi
and esi, dword [esp + 0x44]
and edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x4c]
and ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x38]
xor esi, ecx
and eax, ebp
mov ecx, dword [esp + 0x1c]
xor edx, eax
add edi, esi
mov eax, dword [esp + 0x28]
adc ebx, edx
add edi, dword [esp + 0xa8]
mov edx, eax
adc ebx, dword [esp + 0x94]
add edi, dword [esp + 0x50]
adc ebx, dword [esp + 0x54]
add edi, 0x46d22ffc
adc ebx, 0x27b70a85
shl edx, 4
shrd eax, ecx, 0x1c
xor ebp, ebp
or ebp, eax
shr ecx, 0x1c
mov eax, dword [esp + 0x28]
or edx, ecx
mov ecx, dword [esp + 0x1c]
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
shl eax, 0x1e
or esi, eax
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x28]
xor edx, edx
or edx, ecx
xor ebp, esi
xor dword [esp + 0x14], edx
xor edx, edx
mov ecx, dword [esp + 0x1c]
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
shl eax, 0x19
or edx, ecx
xor dword [esp + 0x14], edx
or esi, eax
mov edx, dword [esp + 0x20]
xor ebp, esi
xor edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x2c]
xor esi, dword [esp + 0x28]
and esi, dword [esp + 0x58]
and edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x2c]
and ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
xor esi, ecx
and eax, dword [esp + 0x1c]
xor edx, eax
mov eax, dword [esp + 0x14]
add ebp, esi
mov dword [esp + 0x10], ebp
mov ebp, ebx
adc eax, edx
mov edx, edi
add edx, dword [esp + 0x30]
mov dword [esp + 0x50], edx
mov esi, edx
adc ebp, dword [esp + 0x18]
add dword [esp + 0x10], edi
mov ecx, ebp
mov edi, ebp
adc eax, ebx
shr edi, 9
mov dword [esp + 0x14], eax
xor ebx, ebx
mov eax, edx
shld ecx, eax, 0x17
shl eax, 0x17
or edi, eax
or ebx, ecx
mov eax, dword [esp + 0x50]
xor edx, edx
shl esi, 0xe
mov ecx, ebp
shrd eax, ecx, 0x12
or edx, eax
shr ecx, 0x12
or esi, ecx
mov eax, dword [esp + 0x50]
xor ebx, esi
xor edi, edx
xor edx, edx
mov esi, eax
shl esi, 0x12
mov ecx, ebp
shrd eax, ecx, 0xe
or edx, eax
shr ecx, 0xe
or esi, ecx
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x34]
xor ebx, esi
and ecx, dword [esp + 0x50]
xor edi, edx
mov esi, dword [esp + 0x50]
and eax, ebp
not esi
mov edx, ebp
and esi, dword [esp + 0x4c]
not edx
and edx, dword [esp + 0x38]
xor esi, ecx
xor edx, eax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
add edi, esi
mov esi, eax
adc ebx, edx
add edi, dword [esp + 0xa0]
adc ebx, dword [esp + 0x64]
add edi, dword [esp + 0x44]
adc ebx, dword [esp + 0x3c]
add edi, 0x5c26c926
adc ebx, 0x2e1b2138
shl esi, 4
shrd eax, ecx, 0x1c
xor edx, edx
or edx, eax
shr ecx, 0x1c
mov eax, dword [esp + 0x10]
or esi, ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x18], esi
mov esi, ecx
shld ecx, eax, 0x1e
mov dword [esp + 0x30], edx
xor edx, edx
shr esi, 2
or edx, ecx
mov ecx, dword [esp + 0x14]
xor dword [esp + 0x18], edx
xor edx, edx
shl eax, 0x1e
or esi, eax
mov eax, dword [esp + 0x10]
xor dword [esp + 0x30], esi
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
shl eax, 0x19
or edx, ecx
xor dword [esp + 0x18], edx
or esi, eax
xor dword [esp + 0x30], esi
mov ecx, dword [esp + 0x28]
mov esi, ecx
xor esi, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
xor edx, dword [esp + 0x14]
and esi, dword [esp + 0x2c]
and edx, dword [esp + 0x20]
and ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
xor esi, ecx
and eax, dword [esp + 0x14]
mov ecx, ebx
xor edx, eax
mov eax, dword [esp + 0x30]
add eax, esi
mov esi, dword [esp + 0x18]
adc esi, edx
mov edx, edi
add edx, dword [esp + 0x58]
mov dword [esp + 0x48], edx
adc ecx, dword [esp + 0x24]
add eax, edi
mov dword [esp + 0x3c], ecx
mov edi, ecx
adc esi, ebx
mov dword [esp + 0x30], eax
mov eax, edx
mov dword [esp + 0x18], esi
shld ecx, eax, 0x17
xor ebx, ebx
shr edi, 9
or ebx, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x3c]
or edi, eax
mov eax, dword [esp + 0x48]
mov esi, edx
shrd eax, ecx, 0x12
shl esi, 0xe
xor edx, edx
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x48]
or esi, ecx
mov ecx, dword [esp + 0x3c]
xor ebx, esi
xor edi, edx
mov esi, eax
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
or edx, eax
shr ecx, 0xe
or esi, ecx
xor edi, edx
mov edx, dword [esp + 0x3c]
xor ebx, esi
mov esi, dword [esp + 0x48]
not edx
and edx, dword [esp + 0x5c]
not esi
and esi, dword [esp + 0x34]
mov eax, ebp
and eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x50]
xor edx, eax
and ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x30]
xor esi, ecx
mov ecx, dword [esp + 0x18]
add edi, esi
mov esi, eax
adc ebx, edx
add edi, dword [esp + 0x68]
adc ebx, dword [esp + 0x6c]
add edi, dword [esp + 0x4c]
adc ebx, dword [esp + 0x38]
add edi, 0x5ac42aed
adc ebx, 0x4d2c6dfc
xor edx, edx
shrd eax, ecx, 0x1c
shl esi, 4
shr ecx, 0x1c
or edx, eax
or esi, ecx
mov dword [esp + 0x40], edx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x24], esi
mov eax, dword [esp + 0x30]
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
xor edx, edx
or edx, ecx
shl eax, 0x1e
xor dword [esp + 0x24], edx
or esi, eax
xor dword [esp + 0x40], esi
xor edx, edx
mov ecx, dword [esp + 0x18]
mov esi, ecx
mov eax, dword [esp + 0x30]
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x24], edx
or esi, eax
xor dword [esp + 0x40], esi
mov edx, dword [esp + 0x14]
xor edx, dword [esp + 0x18]
and edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x10]
xor esi, dword [esp + 0x30]
and esi, dword [esp + 0x28]
mov eax, dword [esp + 0x14]
and eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
xor edx, eax
and ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x40]
xor esi, ecx
add eax, esi
mov ecx, ebx
mov esi, dword [esp + 0x24]
adc esi, edx
mov edx, edi
add edx, dword [esp + 0x2c]
mov dword [esp + 0x4c], edx
adc ecx, dword [esp + 0x20]
add eax, edi
mov dword [esp + 0x40], eax
mov edi, ecx
adc esi, ebx
mov dword [esp + 0x44], ecx
mov eax, edx
shr edi, 9
shld ecx, eax, 0x17
mov dword [esp + 0x24], esi
xor ebx, ebx
shl eax, 0x17
or ebx, ecx
mov ecx, dword [esp + 0x44]
or edi, eax
mov eax, dword [esp + 0x4c]
mov esi, edx
shrd eax, ecx, 0x12
shl esi, 0xe
xor edx, edx
shr ecx, 0x12
or edx, eax
mov eax, dword [esp + 0x4c]
or esi, ecx
mov ecx, dword [esp + 0x44]
xor ebx, esi
xor edi, edx
mov esi, eax
shrd eax, ecx, 0xe
xor edx, edx
shl esi, 0x12
or edx, eax
shr ecx, 0xe
or esi, ecx
xor edi, edx
mov edx, dword [esp + 0x44]
xor ebx, esi
mov esi, dword [esp + 0x4c]
not edx
not esi
and esi, dword [esp + 0x50]
and edx, ebp
mov ecx, dword [esp + 0x48]
and ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x3c]
xor esi, ecx
and eax, dword [esp + 0x44]
xor edx, eax
mov ecx, dword [esp + 0x24]
add edi, esi
mov eax, dword [esp + 0x40]
mov esi, eax
adc ebx, edx
add edi, dword [esp + 0xd0]
adc ebx, dword [esp + 0x70]
add edi, dword [esp + 0x34]
adc ebx, dword [esp + 0x5c]
add edi, 0x9d95b3df
adc ebx, 0x53380d13
shl esi, 4
shrd eax, ecx, 0x1c
xor edx, edx
or edx, eax
shr ecx, 0x1c
mov eax, dword [esp + 0x40]
or esi, ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x20], esi
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
shl eax, 0x1e
or esi, eax
mov dword [esp + 0x38], edx
xor dword [esp + 0x38], esi
xor edx, edx
mov eax, dword [esp + 0x40]
or edx, ecx
xor dword [esp + 0x20], edx
xor edx, edx
mov ecx, dword [esp + 0x24]
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x20], edx
or esi, eax
xor dword [esp + 0x38], esi
mov edx, dword [esp + 0x18]
xor edx, dword [esp + 0x24]
and edx, dword [esp + 0x14]
mov esi, dword [esp + 0x30]
xor esi, dword [esp + 0x40]
and esi, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
and eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
xor edx, eax
and ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x38]
xor esi, ecx
add eax, esi
mov ecx, ebx
mov esi, dword [esp + 0x20]
adc esi, edx
mov edx, edi
add edx, dword [esp + 0x28]
mov dword [esp + 0x54], edx
adc ecx, dword [esp + 0x1c]
add eax, edi
mov dword [esp + 0x38], eax
mov edi, ecx
adc esi, ebx
mov dword [esp + 0x34], ecx
mov eax, edx
shr edi, 9
shld ecx, eax, 0x17
xor ebx, ebx
mov dword [esp + 0x20], esi
shl eax, 0x17
or ebx, ecx
or edi, eax
mov eax, dword [esp + 0x54]
mov esi, edx
mov ecx, dword [esp + 0x34]
xor edx, edx
shrd eax, ecx, 0x12
shl esi, 0xe
or edx, eax
shr ecx, 0x12
or esi, ecx
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x34]
xor ebx, esi
xor edi, edx
mov esi, eax
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
or edx, eax
shr ecx, 0xe
or esi, ecx
mov eax, dword [esp + 0x44]
and eax, dword [esp + 0x34]
xor ebx, esi
mov esi, dword [esp + 0x54]
xor edi, edx
mov edx, dword [esp + 0x34]
not esi
and esi, dword [esp + 0x48]
not edx
and edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x4c]
xor edx, eax
and ecx, dword [esp + 0x54]
xor esi, ecx
mov ecx, dword [esp + 0x20]
add edi, esi
adc ebx, edx
add edi, dword [esp + 0xcc]
adc ebx, dword [esp + 0x74]
add edi, dword [esp + 0x50]
adc ebx, ebp
mov ebp, dword [esp + 0x38]
add edi, 0x8baf63de
mov eax, ebp
mov esi, ebp
adc ebx, 0x650a7354
shl esi, 4
shrd eax, ecx, 0x1c
xor edx, edx
or edx, eax
shr ecx, 0x1c
or esi, ecx
mov dword [esp + 0x2c], edx
mov ecx, dword [esp + 0x20]
mov eax, ebp
mov dword [esp + 0x1c], esi
xor edx, edx
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
shl eax, 0x1e
or edx, ecx
mov ecx, dword [esp + 0x20]
or esi, eax
xor dword [esp + 0x2c], esi
mov eax, ebp
xor dword [esp + 0x1c], edx
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
xor edx, edx
shl eax, 0x19
or edx, ecx
xor dword [esp + 0x1c], edx
or esi, eax
xor dword [esp + 0x2c], esi
mov esi, dword [esp + 0x40]
mov edx, dword [esp + 0x24]
xor esi, ebp
xor edx, dword [esp + 0x20]
and esi, dword [esp + 0x30]
and edx, dword [esp + 0x18]
mov eax, dword [esp + 0x24]
and eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x40]
xor edx, eax
mov eax, dword [esp + 0x2c]
and ecx, ebp
xor esi, ecx
mov ebp, ebx
mov ecx, dword [esp + 0x1c]
add eax, esi
adc ecx, edx
mov edx, edi
add edx, dword [esp + 0x10]
mov dword [esp + 0x50], edx
mov esi, edx
adc ebp, dword [esp + 0x14]
add eax, edi
mov dword [esp + 0x2c], eax
mov edi, ebp
adc ecx, ebx
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x1c], ecx
mov eax, edx
xor ebx, ebx
shr edi, 9
mov ecx, ebp
shl esi, 0xe
shld ecx, eax, 0x17
xor edx, edx
or ebx, ecx
shl eax, 0x17
or edi, eax
mov ecx, ebp
mov eax, dword [esp + 0x50]
shrd eax, ecx, 0x12
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x50]
or esi, ecx
xor ebx, esi
xor edi, edx
mov esi, eax
xor edx, edx
shl esi, 0x12
mov ecx, ebp
shrd eax, ecx, 0xe
or edx, eax
shr ecx, 0xe
mov eax, dword [esp + 0x34]
or esi, ecx
and eax, dword [esp + 0x5c]
xor ebx, esi
mov esi, dword [esp + 0x50]
xor edi, edx
mov ecx, dword [esp + 0x54]
not esi
and esi, dword [esp + 0x4c]
mov edx, ebp
and ecx, dword [esp + 0x50]
not edx
mov ebp, dword [esp + 0x44]
xor esi, ecx
mov ecx, dword [esp + 0x1c]
and edx, ebp
xor edx, eax
mov eax, dword [esp + 0x2c]
add edi, esi
mov esi, eax
adc ebx, edx
add edi, dword [esp + 0xc8]
adc ebx, dword [esp + 0x78]
add edi, dword [esp + 0x48]
adc ebx, dword [esp + 0x3c]
add edi, 0x3c77b2a8
adc ebx, 0x766a0abb
xor edx, edx
shl esi, 4
shrd eax, ecx, 0x1c
or edx, eax
shr ecx, 0x1c
or esi, ecx
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x14], esi
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
shl eax, 0x1e
or esi, eax
mov dword [esp + 0x48], edx
xor dword [esp + 0x48], esi
xor edx, edx
mov eax, dword [esp + 0x2c]
or edx, ecx
xor dword [esp + 0x14], edx
xor edx, edx
mov ecx, dword [esp + 0x1c]
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x14], edx
or esi, eax
xor dword [esp + 0x48], esi
mov edx, dword [esp + 0x20]
xor edx, dword [esp + 0x1c]
and edx, dword [esp + 0x24]
mov esi, dword [esp + 0x38]
xor esi, dword [esp + 0x2c]
and esi, dword [esp + 0x40]
mov eax, dword [esp + 0x20]
and eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x38]
xor edx, eax
and ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x48]
xor esi, ecx
add eax, esi
mov ecx, ebx
mov esi, dword [esp + 0x14]
adc esi, edx
mov edx, edi
add edx, dword [esp + 0x30]
mov dword [esp + 0x44], edx
adc ecx, dword [esp + 0x18]
add eax, edi
mov dword [esp + 0x48], eax
mov edi, ecx
adc esi, ebx
mov dword [esp + 0x10], ecx
mov eax, edx
shr edi, 9
shld ecx, eax, 0x17
xor ebx, ebx
mov dword [esp + 0x14], esi
shl eax, 0x17
or ebx, ecx
mov ecx, dword [esp + 0x10]
or edi, eax
mov eax, dword [esp + 0x44]
mov esi, edx
shrd eax, ecx, 0x12
shl esi, 0xe
xor edx, edx
shr ecx, 0x12
or edx, eax
mov eax, dword [esp + 0x44]
or esi, ecx
mov ecx, dword [esp + 0x10]
xor ebx, esi
mov esi, eax
xor edi, edx
shrd eax, ecx, 0xe
xor edx, edx
shl esi, 0x12
shr ecx, 0xe
or edx, eax
or esi, ecx
mov ecx, dword [esp + 0x50]
xor ebx, esi
and ecx, dword [esp + 0x44]
xor edi, edx
mov esi, dword [esp + 0x44]
mov edx, dword [esp + 0x10]
not esi
and esi, dword [esp + 0x54]
not edx
and edx, dword [esp + 0x34]
xor esi, ecx
mov eax, dword [esp + 0x5c]
and eax, dword [esp + 0x10]
xor edx, eax
mov ecx, dword [esp + 0x14]
add edi, esi
adc ebx, edx
add edi, dword [esp + 0xc4]
adc ebx, dword [esp + 0x7c]
add edi, dword [esp + 0x4c]
adc ebx, ebp
mov ebp, dword [esp + 0x48]
add edi, 0x47edaee6
mov eax, ebp
mov esi, ebp
adc ebx, 0x81c2c92e
shl esi, 4
shrd eax, ecx, 0x1c
xor edx, edx
or edx, eax
shr ecx, 0x1c
or esi, ecx
mov dword [esp + 0x28], edx
mov ecx, dword [esp + 0x14]
xor edx, edx
mov dword [esp + 0x18], esi
mov eax, ebp
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
or edx, ecx
shl eax, 0x1e
xor dword [esp + 0x18], edx
or esi, eax
xor dword [esp + 0x28], esi
xor edx, edx
mov ecx, dword [esp + 0x14]
mov eax, ebp
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x18], edx
or esi, eax
xor dword [esp + 0x28], esi
mov edx, dword [esp + 0x1c]
xor edx, dword [esp + 0x14]
and edx, dword [esp + 0x20]
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x1c]
xor esi, ebp
and eax, dword [esp + 0x14]
and esi, dword [esp + 0x38]
xor edx, eax
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
and ecx, ebp
xor esi, ecx
mov ebp, ebx
mov ecx, dword [esp + 0x18]
add eax, esi
adc ecx, edx
mov edx, edi
add edx, dword [esp + 0x40]
mov dword [esp + 0x4c], edx
adc ebp, dword [esp + 0x24]
add eax, edi
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x28], eax
adc ecx, ebx
mov dword [esp + 0x18], ecx
mov eax, edx
xor ebx, ebx
mov esi, edx
shl esi, 0xe
xor edx, edx
mov ecx, ebp
mov edi, ebp
shld ecx, eax, 0x17
shr edi, 9
or ebx, ecx
shl eax, 0x17
or edi, eax
mov ecx, ebp
mov eax, dword [esp + 0x4c]
shrd eax, ecx, 0x12
or edx, eax
shr ecx, 0x12
or esi, ecx
mov eax, dword [esp + 0x4c]
xor ebx, esi
xor edi, edx
mov esi, eax
xor edx, edx
shl esi, 0x12
mov ecx, ebp
shrd eax, ecx, 0xe
or edx, eax
shr ecx, 0xe
mov eax, dword [esp + 0x10]
or esi, ecx
and eax, dword [esp + 0x3c]
xor ebx, esi
mov esi, dword [esp + 0x4c]
xor edi, edx
mov ecx, dword [esp + 0x44]
not esi
and esi, dword [esp + 0x50]
mov edx, ebp
and ecx, dword [esp + 0x4c]
not edx
mov ebp, dword [esp + 0x5c]
xor esi, ecx
mov ecx, dword [esp + 0x18]
and edx, ebp
xor edx, eax
mov eax, dword [esp + 0x28]
add edi, esi
mov esi, eax
adc ebx, edx
add edi, dword [esp + 0xc0]
adc ebx, dword [esp + 0x8c]
add edi, dword [esp + 0x54]
adc ebx, dword [esp + 0x34]
add edi, 0x1482353b
adc ebx, 0x92722c85
shl esi, 4
shrd eax, ecx, 0x1c
xor edx, edx
or edx, eax
shr ecx, 0x1c
mov eax, dword [esp + 0x28]
or esi, ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x24], esi
mov esi, ecx
shld ecx, eax, 0x1e
mov dword [esp + 0x54], edx
xor edx, edx
shr esi, 2
or edx, ecx
mov ecx, dword [esp + 0x18]
xor dword [esp + 0x24], edx
xor edx, edx
shl eax, 0x1e
or esi, eax
mov eax, dword [esp + 0x28]
xor dword [esp + 0x54], esi
mov esi, ecx
shr esi, 7
shld ecx, eax, 0x19
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x24], edx
or esi, eax
xor dword [esp + 0x54], esi
mov edx, dword [esp + 0x14]
xor edx, dword [esp + 0x18]
and edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x48]
xor esi, dword [esp + 0x28]
and esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x14]
and eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x48]
xor edx, eax
and ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x54]
xor esi, ecx
add eax, esi
mov ecx, ebx
mov esi, dword [esp + 0x24]
adc esi, edx
mov edx, edi
add edx, dword [esp + 0x38]
mov dword [esp + 0x5c], edx
adc ecx, dword [esp + 0x20]
add eax, edi
mov dword [esp + 0x34], ecx
mov edi, ecx
adc esi, ebx
mov dword [esp + 0x54], eax
mov eax, edx
shr edi, 9
shld ecx, eax, 0x17
xor ebx, ebx
mov dword [esp + 0x24], esi
or ebx, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x34]
or edi, eax
mov eax, dword [esp + 0x5c]
mov esi, edx
shrd eax, ecx, 0x12
shl esi, 0xe
xor edx, edx
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x5c]
or esi, ecx
mov ecx, dword [esp + 0x34]
xor ebx, esi
xor edi, edx
mov esi, eax
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
or edx, eax
shr ecx, 0xe
mov eax, dword [esp + 0x3c]
or esi, ecx
and eax, dword [esp + 0x34]
xor ebx, esi
mov esi, dword [esp + 0x5c]
xor edi, edx
mov edx, dword [esp + 0x34]
not esi
and esi, dword [esp + 0x44]
not edx
and edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x4c]
xor edx, eax
and ecx, dword [esp + 0x5c]
xor esi, ecx
add edi, esi
adc ebx, edx
add edi, dword [esp + 0xb4]
adc ebx, dword [esp + 0x98]
add edi, dword [esp + 0x50]
adc ebx, ebp
add edi, 0x4cf10364
adc ebx, 0xa2bfe8a1
mov ebp, dword [esp + 0x54]
xor edx, edx
mov ecx, dword [esp + 0x24]
mov eax, ebp
shrd eax, ecx, 0x1c
mov esi, ebp
or edx, eax
shr ecx, 0x1c
shl esi, 4
mov eax, ebp
or esi, ecx
mov dword [esp + 0x30], edx
mov ecx, dword [esp + 0x24]
xor edx, edx
mov dword [esp + 0x20], esi
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
or edx, ecx
shl eax, 0x1e
xor dword [esp + 0x20], edx
or esi, eax
xor dword [esp + 0x30], esi
xor edx, edx
mov ecx, dword [esp + 0x24]
mov eax, ebp
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x20], edx
or esi, eax
xor dword [esp + 0x30], esi
mov edx, dword [esp + 0x18]
xor edx, dword [esp + 0x24]
and edx, dword [esp + 0x14]
mov esi, dword [esp + 0x28]
mov eax, dword [esp + 0x18]
xor esi, ebp
and eax, dword [esp + 0x24]
and esi, dword [esp + 0x48]
xor edx, eax
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x30]
and ecx, ebp
xor esi, ecx
mov ebp, ebx
mov ecx, dword [esp + 0x20]
add eax, esi
adc ecx, edx
mov edx, edi
add edx, dword [esp + 0x2c]
mov dword [esp + 0x50], edx
mov esi, edx
adc ebp, dword [esp + 0x1c]
add eax, edi
mov dword [esp + 0x30], eax
mov edi, ebp
adc ecx, ebx
mov dword [esp + 0x58], ebp
mov dword [esp + 0x20], ecx
mov eax, edx
mov ecx, ebp
shr edi, 9
shld ecx, eax, 0x17
xor ebx, ebx
shl esi, 0xe
shl eax, 0x17
or ebx, ecx
or edi, eax
mov ecx, ebp
mov eax, dword [esp + 0x50]
xor edx, edx
shrd eax, ecx, 0x12
shr ecx, 0x12
or edx, eax
mov eax, dword [esp + 0x50]
or esi, ecx
xor edi, edx
xor ebx, esi
xor edx, edx
mov esi, eax
shl esi, 0x12
mov ecx, ebp
shrd eax, ecx, 0xe
or edx, eax
shr ecx, 0xe
or esi, ecx
mov eax, dword [esp + 0x34]
and eax, dword [esp + 0x58]
xor ebx, esi
mov esi, dword [esp + 0x50]
xor edi, edx
mov ecx, dword [esp + 0x5c]
not esi
and esi, dword [esp + 0x4c]
mov edx, ebp
and ecx, dword [esp + 0x50]
not edx
mov ebp, dword [esp + 0x3c]
xor esi, ecx
and edx, ebp
mov ecx, dword [esp + 0x20]
xor edx, eax
add edi, esi
mov eax, dword [esp + 0x30]
mov esi, eax
adc ebx, edx
add edi, dword [esp + 0xbc]
adc ebx, dword [esp + 0x9c]
add edi, dword [esp + 0x44]
adc ebx, dword [esp + 0x10]
add edi, 0xbc423001
adc ebx, 0xa81a664b
shl esi, 4
shrd eax, ecx, 0x1c
xor edx, edx
or edx, eax
shr ecx, 0x1c
mov eax, dword [esp + 0x30]
or esi, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x1c], esi
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
mov dword [esp + 0x38], edx
xor edx, edx
or edx, ecx
shl eax, 0x1e
xor dword [esp + 0x1c], edx
or esi, eax
xor dword [esp + 0x38], esi
xor edx, edx
mov ecx, dword [esp + 0x20]
mov esi, ecx
mov eax, dword [esp + 0x30]
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x1c], edx
or esi, eax
xor dword [esp + 0x38], esi
mov edx, dword [esp + 0x24]
xor edx, dword [esp + 0x20]
mov esi, dword [esp + 0x54]
xor esi, dword [esp + 0x30]
and edx, dword [esp + 0x18]
and esi, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
and eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x54]
xor edx, eax
and ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x38]
xor esi, ecx
add eax, esi
mov esi, dword [esp + 0x1c]
adc esi, edx
mov edx, edi
add edx, dword [esp + 0x48]
mov ecx, ebx
mov dword [esp + 0x44], edx
adc ecx, dword [esp + 0x14]
add eax, edi
mov dword [esp + 0x38], eax
mov edi, ecx
adc esi, ebx
mov dword [esp + 0x3c], ecx
mov eax, edx
mov dword [esp + 0x1c], esi
shld ecx, eax, 0x17
xor ebx, ebx
shr edi, 9
or ebx, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x3c]
or edi, eax
mov eax, dword [esp + 0x44]
mov esi, edx
shrd eax, ecx, 0x12
shl esi, 0xe
xor edx, edx
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x44]
or esi, ecx
mov ecx, dword [esp + 0x3c]
xor ebx, esi
xor edi, edx
mov esi, eax
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
or edx, eax
shr ecx, 0xe
mov eax, dword [esp + 0x58]
or esi, ecx
and eax, dword [esp + 0x3c]
xor ebx, esi
mov esi, dword [esp + 0x44]
xor edi, edx
mov edx, dword [esp + 0x3c]
not esi
and esi, dword [esp + 0x5c]
not edx
and edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x50]
xor edx, eax
and ecx, dword [esp + 0x44]
xor esi, ecx
mov ecx, dword [esp + 0x1c]
add edi, esi
adc ebx, edx
add edi, dword [esp + 0x60]
adc ebx, dword [esp + 0x80]
add edi, dword [esp + 0x4c]
adc ebx, ebp
mov ebp, dword [esp + 0x38]
add edi, 0xd0f89791
mov eax, ebp
mov esi, ebp
adc ebx, 0xc24b8b70
shl esi, 4
shrd eax, ecx, 0x1c
xor edx, edx
shr ecx, 0x1c
or edx, eax
or esi, ecx
mov dword [esp + 0x2c], edx
mov ecx, dword [esp + 0x1c]
mov eax, ebp
mov dword [esp + 0x14], esi
xor edx, edx
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
shl eax, 0x1e
or edx, ecx
or esi, eax
xor dword [esp + 0x2c], esi
xor dword [esp + 0x14], edx
mov eax, ebp
mov ecx, dword [esp + 0x1c]
xor edx, edx
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x14], edx
or esi, eax
xor dword [esp + 0x2c], esi
mov edx, dword [esp + 0x20]
xor edx, dword [esp + 0x1c]
and edx, dword [esp + 0x24]
mov esi, dword [esp + 0x30]
mov eax, dword [esp + 0x20]
xor esi, ebp
and eax, dword [esp + 0x1c]
and esi, dword [esp + 0x54]
xor edx, eax
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
and ecx, ebp
xor esi, ecx
mov ebp, ebx
mov ecx, dword [esp + 0x14]
add eax, esi
adc ecx, edx
mov edx, edi
add edx, dword [esp + 0x28]
mov dword [esp + 0x4c], edx
mov esi, edx
adc ebp, dword [esp + 0x18]
add eax, edi
mov dword [esp + 0x2c], eax
mov edi, ebp
adc ecx, ebx
mov dword [esp + 0x40], ebp
mov dword [esp + 0x14], ecx
mov eax, edx
mov ecx, ebp
shr edi, 9
shld ecx, eax, 0x17
xor ebx, ebx
shl esi, 0xe
or ebx, ecx
shl eax, 0x17
or edi, eax
xor edx, edx
mov eax, dword [esp + 0x4c]
mov ecx, ebp
shrd eax, ecx, 0x12
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x4c]
or esi, ecx
xor ebx, esi
xor edi, edx
mov esi, eax
mov ecx, ebp
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
shr ecx, 0xe
or edx, eax
mov eax, dword [esp + 0x3c]
or esi, ecx
mov ecx, dword [esp + 0x44]
xor ebx, esi
mov esi, dword [esp + 0x4c]
xor edi, edx
and ecx, dword [esp + 0x4c]
not esi
and esi, dword [esp + 0x50]
mov edx, ebp
not edx
and eax, ebp
and edx, dword [esp + 0x58]
xor esi, ecx
xor edx, eax
add edi, esi
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x14]
mov esi, eax
adc ebx, edx
add edi, dword [esp + 0xa4]
adc ebx, dword [esp + 0x84]
add edi, dword [esp + 0x5c]
adc ebx, dword [esp + 0x34]
add edi, 0x654be30
adc ebx, 0xc76c51a3
shl esi, 4
shrd eax, ecx, 0x1c
xor edx, edx
or edx, eax
shr ecx, 0x1c
mov eax, dword [esp + 0x2c]
or esi, ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x18], esi
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
shl eax, 0x1e
or esi, eax
mov dword [esp + 0x10], edx
xor dword [esp + 0x10], esi
xor edx, edx
mov eax, dword [esp + 0x2c]
or edx, ecx
xor dword [esp + 0x18], edx
xor edx, edx
mov ecx, dword [esp + 0x14]
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x18], edx
or esi, eax
xor dword [esp + 0x10], esi
mov edx, dword [esp + 0x1c]
xor edx, dword [esp + 0x14]
and edx, dword [esp + 0x20]
mov esi, dword [esp + 0x38]
xor esi, dword [esp + 0x2c]
and esi, dword [esp + 0x30]
mov eax, dword [esp + 0x1c]
and eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x38]
xor edx, eax
and ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x10]
xor esi, ecx
add eax, esi
mov ecx, ebx
mov esi, dword [esp + 0x18]
adc esi, edx
mov edx, edi
add edx, dword [esp + 0x54]
mov dword [esp + 0x48], edx
adc ecx, dword [esp + 0x24]
add eax, edi
mov dword [esp + 0x10], eax
mov edi, ecx
adc esi, ebx
mov dword [esp + 0x34], ecx
mov eax, edx
shr edi, 9
shld ecx, eax, 0x17
xor ebx, ebx
mov dword [esp + 0x18], esi
shl eax, 0x17
or ebx, ecx
mov ecx, dword [esp + 0x34]
or edi, eax
mov eax, dword [esp + 0x48]
mov esi, edx
xor edx, edx
shl esi, 0xe
shrd eax, ecx, 0x12
or edx, eax
shr ecx, 0x12
or esi, ecx
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x34]
xor ebx, esi
xor edi, edx
mov esi, eax
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
or edx, eax
shr ecx, 0xe
or esi, ecx
xor edi, edx
mov edx, dword [esp + 0x34]
xor ebx, esi
mov esi, dword [esp + 0x48]
not edx
and edx, dword [esp + 0x3c]
not esi
and esi, dword [esp + 0x44]
mov eax, ebp
and eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x4c]
xor edx, eax
and ecx, dword [esp + 0x48]
xor esi, ecx
mov ebp, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
add edi, esi
mov eax, ebp
mov esi, ebp
adc ebx, edx
add edi, dword [esp + 0xb8]
adc ebx, dword [esp + 0x88]
add edi, dword [esp + 0x50]
adc ebx, dword [esp + 0x58]
add edi, 0xd6ef5218
adc ebx, 0xd192e819
shl esi, 4
shrd eax, ecx, 0x1c
xor edx, edx
or edx, eax
shr ecx, 0x1c
or esi, ecx
mov dword [esp + 0x28], edx
mov ecx, dword [esp + 0x18]
xor edx, edx
mov dword [esp + 0x24], esi
mov eax, ebp
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
or edx, ecx
shl eax, 0x1e
xor dword [esp + 0x24], edx
or esi, eax
xor dword [esp + 0x28], esi
mov eax, ebp
mov ecx, dword [esp + 0x18]
xor edx, edx
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
shl eax, 0x19
or edx, ecx
xor dword [esp + 0x24], edx
or esi, eax
xor dword [esp + 0x28], esi
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0x14]
xor esi, ebp
xor edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x14]
and ecx, ebp
and esi, dword [esp + 0x38]
and edx, dword [esp + 0x1c]
and eax, dword [esp + 0x18]
xor esi, ecx
xor edx, eax
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
mov ebp, ebx
add eax, esi
adc ecx, edx
mov edx, edi
add edx, dword [esp + 0x30]
mov dword [esp + 0x50], edx
mov esi, edx
adc ebp, dword [esp + 0x20]
add eax, edi
mov dword [esp + 0x28], eax
mov edi, ebp
adc ecx, ebx
mov dword [esp + 0x54], ebp
mov dword [esp + 0x24], ecx
mov eax, edx
xor ebx, ebx
shl esi, 0xe
shr edi, 9
mov ecx, ebp
shld ecx, eax, 0x17
xor edx, edx
or ebx, ecx
shl eax, 0x17
or edi, eax
mov ecx, ebp
mov eax, dword [esp + 0x50]
shrd eax, ecx, 0x12
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x50]
or esi, ecx
xor ebx, esi
xor edi, edx
xor edx, edx
mov esi, eax
shl esi, 0x12
mov ecx, ebp
shrd eax, ecx, 0xe
or edx, eax
shr ecx, 0xe
mov eax, dword [esp + 0x34]
or esi, ecx
mov ecx, dword [esp + 0x48]
xor ebx, esi
and ecx, dword [esp + 0x50]
xor edi, edx
mov esi, dword [esp + 0x50]
and eax, ebp
not esi
mov edx, ebp
and esi, dword [esp + 0x4c]
not edx
and edx, dword [esp + 0x40]
xor esi, ecx
mov ecx, dword [esp + 0x24]
xor edx, eax
mov eax, dword [esp + 0x28]
add edi, esi
mov esi, eax
adc ebx, edx
add edi, dword [esp + 0xd4]
adc ebx, dword [esp + 0x90]
add edi, dword [esp + 0x44]
adc ebx, dword [esp + 0x3c]
add edi, 0x5565a910
adc ebx, 0xd6990624
shl esi, 4
shrd eax, ecx, 0x1c
xor edx, edx
shr ecx, 0x1c
or edx, eax
or esi, ecx
mov dword [esp + 0x58], edx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x20], esi
mov esi, ecx
shr esi, 2
xor edx, edx
mov eax, dword [esp + 0x28]
shld ecx, eax, 0x1e
or edx, ecx
shl eax, 0x1e
xor dword [esp + 0x20], edx
or esi, eax
xor dword [esp + 0x58], esi
xor edx, edx
mov ecx, dword [esp + 0x24]
mov esi, ecx
mov eax, dword [esp + 0x28]
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x20], edx
or esi, eax
xor dword [esp + 0x58], esi
mov edx, dword [esp + 0x18]
xor edx, dword [esp + 0x24]
and edx, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
xor esi, dword [esp + 0x28]
and esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x18]
and eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
xor edx, eax
and ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x58]
xor esi, ecx
add eax, esi
mov ecx, ebx
mov esi, dword [esp + 0x20]
adc esi, edx
mov edx, edi
add edx, dword [esp + 0x38]
mov dword [esp + 0x44], edx
adc ecx, dword [esp + 0x1c]
add eax, edi
mov dword [esp + 0x3c], ecx
mov edi, ecx
adc esi, ebx
mov dword [esp + 0x58], eax
mov eax, edx
mov dword [esp + 0x20], esi
shld ecx, eax, 0x17
shr edi, 9
xor ebx, ebx
or ebx, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x3c]
or edi, eax
mov eax, dword [esp + 0x44]
mov esi, edx
shrd eax, ecx, 0x12
shl esi, 0xe
xor edx, edx
shr ecx, 0x12
or edx, eax
mov eax, dword [esp + 0x44]
or esi, ecx
mov ecx, dword [esp + 0x3c]
xor ebx, esi
xor edi, edx
mov esi, eax
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
shr ecx, 0xe
or edx, eax
or esi, ecx
xor edi, edx
mov edx, dword [esp + 0x3c]
xor ebx, esi
mov esi, dword [esp + 0x44]
not edx
mov ecx, dword [esp + 0x50]
not esi
and esi, dword [esp + 0x48]
and edx, dword [esp + 0x34]
and ecx, dword [esp + 0x44]
mov eax, ebp
and eax, dword [esp + 0x3c]
xor esi, ecx
xor edx, eax
mov ebp, dword [esp + 0x58]
add edi, esi
mov ecx, dword [esp + 0x20]
mov eax, ebp
mov esi, ebp
adc ebx, edx
add edi, dword [esp + 0xdc]
adc ebx, dword [esp + 0xb0]
add edi, dword [esp + 0x4c]
adc ebx, dword [esp + 0x40]
add edi, 0x5771202a
adc ebx, 0xf40e3585
shl esi, 4
shrd eax, ecx, 0x1c
xor edx, edx
or edx, eax
shr ecx, 0x1c
or esi, ecx
mov dword [esp + 0x30], edx
mov ecx, dword [esp + 0x20]
xor edx, edx
mov dword [esp + 0x1c], esi
mov eax, ebp
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
or edx, ecx
shl eax, 0x1e
xor dword [esp + 0x1c], edx
or esi, eax
xor dword [esp + 0x30], esi
xor edx, edx
mov ecx, dword [esp + 0x20]
mov eax, ebp
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x1c], edx
or esi, eax
xor dword [esp + 0x30], esi
mov edx, dword [esp + 0x24]
xor edx, dword [esp + 0x20]
and edx, dword [esp + 0x18]
mov esi, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
xor esi, ebp
and eax, dword [esp + 0x20]
and esi, dword [esp + 0x10]
xor edx, eax
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x30]
and ecx, ebp
xor esi, ecx
mov ecx, ebx
add eax, esi
mov esi, dword [esp + 0x1c]
adc esi, edx
mov edx, edi
add edx, dword [esp + 0x2c]
mov dword [esp + 0x4c], edx
adc ecx, dword [esp + 0x14]
add eax, edi
mov dword [esp + 0x30], eax
mov edi, ecx
adc esi, ebx
mov dword [esp + 0x38], ecx
mov eax, edx
shr edi, 9
shld ecx, eax, 0x17
xor ebx, ebx
mov dword [esp + 0x1c], esi
shl eax, 0x17
or edi, eax
or ebx, ecx
mov eax, dword [esp + 0x4c]
mov esi, edx
mov ecx, dword [esp + 0x38]
xor edx, edx
shrd eax, ecx, 0x12
shl esi, 0xe
or edx, eax
shr ecx, 0x12
or esi, ecx
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x38]
xor ebx, esi
xor edi, edx
mov esi, eax
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
or edx, eax
shr ecx, 0xe
or esi, ecx
mov eax, dword [esp + 0x3c]
and eax, dword [esp + 0x38]
xor ebx, esi
mov esi, dword [esp + 0x4c]
xor edi, edx
mov edx, dword [esp + 0x38]
not esi
and esi, dword [esp + 0x50]
not edx
and edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x44]
xor edx, eax
and ecx, dword [esp + 0x4c]
xor esi, ecx
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x1c]
add edi, esi
mov esi, eax
adc ebx, edx
add edi, dword [esp + 0xd8]
adc ebx, dword [esp + 0xac]
add edi, dword [esp + 0x48]
adc ebx, dword [esp + 0x34]
add edi, 0x32bbd1b8
adc ebx, 0x106aa070
shl esi, 4
shrd eax, ecx, 0x1c
xor edx, edx
or edx, eax
shr ecx, 0x1c
mov eax, dword [esp + 0x30]
or esi, ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x14], esi
mov esi, ecx
shld ecx, eax, 0x1e
mov dword [esp + 0x2c], edx
xor edx, edx
shr esi, 2
or edx, ecx
mov ecx, dword [esp + 0x1c]
xor dword [esp + 0x14], edx
xor edx, edx
shl eax, 0x1e
or esi, eax
mov eax, dword [esp + 0x30]
xor dword [esp + 0x2c], esi
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
shl eax, 0x19
or edx, ecx
xor dword [esp + 0x14], edx
or esi, eax
xor dword [esp + 0x2c], esi
mov esi, ebp
xor esi, dword [esp + 0x30]
mov edx, dword [esp + 0x20]
xor edx, dword [esp + 0x1c]
and esi, dword [esp + 0x28]
and edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
mov ecx, ebp
and ecx, dword [esp + 0x30]
and eax, dword [esp + 0x1c]
xor esi, ecx
mov ecx, dword [esp + 0x2c]
xor edx, eax
add ecx, esi
mov eax, edi
mov esi, dword [esp + 0x14]
adc esi, edx
add eax, dword [esp + 0x10]
mov dword [esp + 0x34], eax
mov eax, ebx
adc eax, dword [esp + 0x18]
add ecx, edi
mov edi, dword [esp + 0xdc]
adc esi, ebx
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0xb0]
mov ebx, edi
mov dword [esp + 0x5c], eax
xor ebp, ebp
shl ebx, 0xd
mov eax, edi
shrd eax, ecx, 0x13
mov dword [esp + 0x14], esi
xor edx, edx
shr ecx, 0x13
or ebp, eax
or ebx, ecx
mov eax, edi
mov ecx, dword [esp + 0xb0]
mov esi, ecx
shld ecx, eax, 3
shr esi, 0x1d
or edx, ecx
shl eax, 3
mov ecx, dword [esp + 0xb0]
or esi, eax
xor ebx, edx
mov eax, edi
mov edx, dword [esp + 0xa0]
xor ebp, esi
shrd eax, ecx, 6
xor edi, edi
mov esi, edx
shr ecx, 6
xor ebp, eax
xor ebx, ecx
shl esi, 0x1f
mov ecx, dword [esp + 0x64]
mov eax, edx
shrd eax, ecx, 8
mov dword [esp + 0x10], ebx
mov ebx, edx
shr ecx, 8
or edi, eax
mov eax, dword [esp + 0xa0]
xor edx, edx
shl ebx, 0x18
or ebx, ecx
mov ecx, dword [esp + 0x64]
shrd eax, ecx, 1
shr ecx, 1
or edx, eax
mov eax, dword [esp + 0xa0]
or esi, ecx
mov ecx, dword [esp + 0x64]
xor edi, edx
shrd eax, ecx, 7
xor ebx, esi
xor edi, eax
shr ecx, 7
mov eax, dword [esp + 0x10]
xor ebx, ecx
add ebp, edi
adc eax, ebx
add ebp, dword [esp + 0xbc]
adc eax, dword [esp + 0x9c]
add dword [esp + 0xa8], ebp
adc dword [esp + 0x94], eax
xor ebp, ebp
mov edi, dword [esp + 0xd8]
xor edx, edx
mov ecx, dword [esp + 0xac]
mov eax, edi
shrd eax, ecx, 0x13
mov ebx, edi
shr ecx, 0x13
or ebp, eax
shl ebx, 0xd
mov eax, edi
or ebx, ecx
mov ecx, dword [esp + 0xac]
mov esi, ecx
shld ecx, eax, 3
shr esi, 0x1d
or edx, ecx
shl eax, 3
mov ecx, dword [esp + 0xac]
or esi, eax
xor ebx, edx
xor ebp, esi
mov edx, dword [esp + 0x68]
mov eax, edi
shrd eax, ecx, 6
xor edi, edi
mov esi, edx
shr ecx, 6
xor ebp, eax
xor ebx, ecx
shl esi, 0x1f
mov ecx, dword [esp + 0x6c]
mov eax, edx
shrd eax, ecx, 8
mov dword [esp + 0x10], ebx
mov ebx, edx
shr ecx, 8
or edi, eax
mov eax, dword [esp + 0x68]
xor edx, edx
shl ebx, 0x18
or ebx, ecx
mov ecx, dword [esp + 0x6c]
shrd eax, ecx, 1
shr ecx, 1
or edx, eax
mov eax, dword [esp + 0x68]
or esi, ecx
mov ecx, dword [esp + 0x6c]
xor ebx, esi
shrd eax, ecx, 7
xor edi, edx
shr ecx, 7
xor edi, eax
mov eax, dword [esp + 0x10]
xor ebx, ecx
mov ecx, dword [esp + 0x70]
add ebp, edi
mov edi, dword [esp + 0xd0]
mov esi, edi
adc eax, ebx
add ebp, dword [esp + 0x60]
mov ebx, edi
adc eax, dword [esp + 0x80]
add dword [esp + 0xa0], ebp
adc dword [esp + 0x64], eax
mov eax, edi
shrd eax, ecx, 8
xor ebp, ebp
shl ebx, 0x18
shr ecx, 8
or ebp, eax
or ebx, ecx
shl esi, 0x1f
mov ecx, dword [esp + 0x70]
mov eax, edi
shrd eax, ecx, 1
xor edx, edx
shr ecx, 1
or edx, eax
or esi, ecx
mov eax, edi
mov ecx, dword [esp + 0x70]
xor ebx, esi
shrd eax, ecx, 7
xor ebp, edx
xor edi, edi
shr ecx, 7
xor ebp, eax
xor ebx, ecx
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0x94]
xor edx, edx
mov dword [esp + 0x10], ebx
mov ebx, eax
shrd eax, ecx, 0x13
shl ebx, 0xd
shr ecx, 0x13
or edi, eax
mov eax, dword [esp + 0xa8]
or ebx, ecx
mov ecx, dword [esp + 0x94]
mov esi, ecx
shld ecx, eax, 3
shr esi, 0x1d
or edx, ecx
shl eax, 3
mov ecx, dword [esp + 0x94]
or esi, eax
mov eax, dword [esp + 0xa8]
xor ebx, edx
shrd eax, ecx, 6
xor edi, esi
shr ecx, 6
xor edi, eax
mov eax, dword [esp + 0x10]
xor ebx, ecx
mov ecx, dword [esp + 0x74]
add ebp, edi
mov edi, dword [esp + 0xcc]
mov esi, edi
adc eax, ebx
add ebp, dword [esp + 0xa4]
mov ebx, edi
adc eax, dword [esp + 0x84]
add dword [esp + 0x68], ebp
adc dword [esp + 0x6c], eax
mov eax, edi
shrd eax, ecx, 8
shl ebx, 0x18
xor ebp, ebp
shr ecx, 8
or ebp, eax
or ebx, ecx
shl esi, 0x1f
mov ecx, dword [esp + 0x74]
mov eax, edi
shrd eax, ecx, 1
xor edx, edx
shr ecx, 1
or edx, eax
or esi, ecx
mov eax, edi
mov ecx, dword [esp + 0x74]
xor ebx, esi
shrd eax, ecx, 7
xor ebp, edx
xor edi, edi
shr ecx, 7
xor ebp, eax
mov eax, dword [esp + 0xa0]
xor ebx, ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x10], ebx
mov ebx, eax
shrd eax, ecx, 0x13
shl ebx, 0xd
shr ecx, 0x13
or edi, eax
or ebx, ecx
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0xa0]
mov esi, ecx
shld ecx, eax, 3
shr esi, 0x1d
xor edx, edx
or edx, ecx
shl eax, 3
or esi, eax
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0xa0]
xor ebx, edx
shrd eax, ecx, 6
xor edi, esi
xor edi, eax
shr ecx, 6
xor ebx, ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x78]
add ebp, edi
mov edi, dword [esp + 0xc8]
mov esi, edi
adc eax, ebx
add ebp, dword [esp + 0xb8]
mov ebx, edi
adc eax, dword [esp + 0x88]
add dword [esp + 0xd0], ebp
adc dword [esp + 0x70], eax
mov eax, edi
shrd eax, ecx, 8
shl ebx, 0x18
xor ebp, ebp
shr ecx, 8
or ebp, eax
or ebx, ecx
shl esi, 0x1f
mov ecx, dword [esp + 0x78]
mov eax, edi
shrd eax, ecx, 1
xor edx, edx
shr ecx, 1
or edx, eax
or esi, ecx
mov eax, edi
mov ecx, dword [esp + 0x78]
xor ebx, esi
shrd eax, ecx, 7
xor ebp, edx
xor edi, edi
shr ecx, 7
xor ebp, eax
mov eax, dword [esp + 0x68]
xor ebx, ecx
mov ecx, dword [esp + 0x6c]
xor edx, edx
mov dword [esp + 0x10], ebx
mov ebx, eax
shrd eax, ecx, 0x13
shl ebx, 0xd
or edi, eax
shr ecx, 0x13
mov eax, dword [esp + 0x68]
or ebx, ecx
mov ecx, dword [esp + 0x6c]
mov esi, ecx
shld ecx, eax, 3
shr esi, 0x1d
shl eax, 3
or edx, ecx
mov ecx, dword [esp + 0x6c]
or esi, eax
mov eax, dword [esp + 0x68]
xor edi, esi
shrd eax, ecx, 6
xor ebx, edx
shr ecx, 6
xor edi, eax
mov eax, dword [esp + 0x10]
xor ebx, ecx
add ebp, edi
adc eax, ebx
add ebp, dword [esp + 0xd4]
adc eax, dword [esp + 0x90]
add dword [esp + 0xcc], ebp
mov edi, dword [esp + 0xc4]
mov ebx, edi
adc dword [esp + 0x74], eax
mov esi, edi
mov ecx, dword [esp + 0x7c]
mov eax, edi
shrd eax, ecx, 8
shl ebx, 0x18
xor ebp, ebp
shr ecx, 8
or ebp, eax
or ebx, ecx
shl esi, 0x1f
mov ecx, dword [esp + 0x7c]
mov eax, edi
shrd eax, ecx, 1
xor edx, edx
or edx, eax
shr ecx, 1
or esi, ecx
mov eax, edi
mov ecx, dword [esp + 0x7c]
xor ebx, esi
shrd eax, ecx, 7
xor ebp, edx
xor edi, edi
shr ecx, 7
xor ebp, eax
mov eax, dword [esp + 0xd0]
xor ebx, ecx
mov ecx, dword [esp + 0x70]
xor edx, edx
mov dword [esp + 0x10], ebx
mov ebx, eax
shrd eax, ecx, 0x13
shl ebx, 0xd
or edi, eax
shr ecx, 0x13
mov eax, dword [esp + 0xd0]
or ebx, ecx
mov ecx, dword [esp + 0x70]
mov esi, ecx
shld ecx, eax, 3
shr esi, 0x1d
shl eax, 3
or edx, ecx
mov ecx, dword [esp + 0x70]
or esi, eax
mov eax, dword [esp + 0xd0]
xor edi, esi
shrd eax, ecx, 6
xor ebx, edx
xor edi, eax
shr ecx, 6
mov eax, dword [esp + 0x10]
xor ebx, ecx
mov ecx, dword [esp + 0x8c]
add ebp, edi
mov edi, dword [esp + 0xc0]
mov esi, edi
adc eax, ebx
add ebp, dword [esp + 0xdc]
mov ebx, edi
adc eax, dword [esp + 0xb0]
add dword [esp + 0xc8], ebp
adc dword [esp + 0x78], eax
mov eax, edi
shrd eax, ecx, 8
xor ebp, ebp
shl ebx, 0x18
shr ecx, 8
or ebp, eax
or ebx, ecx
shl esi, 0x1f
mov ecx, dword [esp + 0x8c]
mov eax, edi
shrd eax, ecx, 1
xor edx, edx
shr ecx, 1
or esi, ecx
or edx, eax
mov ecx, dword [esp + 0x8c]
xor ebx, esi
mov eax, edi
xor ebp, edx
shrd eax, ecx, 7
xor edi, edi
xor edx, edx
shr ecx, 7
xor ebp, eax
xor ebx, ecx
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x10], ebx
mov ebx, eax
shrd eax, ecx, 0x13
shl ebx, 0xd
or edi, eax
shr ecx, 0x13
mov eax, dword [esp + 0xcc]
or ebx, ecx
mov ecx, dword [esp + 0x74]
mov esi, ecx
shld ecx, eax, 3
shr esi, 0x1d
or edx, ecx
shl eax, 3
mov ecx, dword [esp + 0x74]
or esi, eax
mov eax, dword [esp + 0xcc]
xor ebx, edx
shrd eax, ecx, 6
xor edi, esi
shr ecx, 6
xor edi, eax
mov eax, dword [esp + 0x10]
xor ebx, ecx
mov ecx, dword [esp + 0x98]
add ebp, edi
mov edi, dword [esp + 0xb4]
mov esi, edi
adc eax, ebx
add ebp, dword [esp + 0xd8]
mov ebx, edi
adc eax, dword [esp + 0xac]
add dword [esp + 0xc4], ebp
adc dword [esp + 0x7c], eax
mov eax, edi
shrd eax, ecx, 8
shl ebx, 0x18
xor ebp, ebp
shr ecx, 8
or ebp, eax
or ebx, ecx
shl esi, 0x1f
mov ecx, dword [esp + 0x98]
mov eax, edi
shrd eax, ecx, 1
xor edx, edx
shr ecx, 1
or edx, eax
or esi, ecx
mov eax, edi
mov ecx, dword [esp + 0x98]
xor ebx, esi
shrd eax, ecx, 7
xor ebp, edx
xor edi, edi
shr ecx, 7
xor ebp, eax
mov eax, dword [esp + 0xc8]
xor ebx, ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x10], ebx
mov ebx, eax
shrd eax, ecx, 0x13
shl ebx, 0xd
shr ecx, 0x13
or edi, eax
or ebx, ecx
mov ecx, dword [esp + 0x78]
xor edx, edx
mov eax, dword [esp + 0xc8]
mov esi, ecx
shld ecx, eax, 3
shr esi, 0x1d
or edx, ecx
shl eax, 3
mov ecx, dword [esp + 0x78]
or esi, eax
mov eax, dword [esp + 0xc8]
xor ebx, edx
shrd eax, ecx, 6
xor edi, esi
xor edi, eax
shr ecx, 6
xor ebx, ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x9c]
add ebp, edi
mov edi, dword [esp + 0xbc]
mov esi, edi
adc eax, ebx
add ebp, dword [esp + 0xa8]
mov ebx, edi
adc eax, dword [esp + 0x94]
add dword [esp + 0xc0], ebp
adc dword [esp + 0x8c], eax
mov eax, edi
shrd eax, ecx, 8
shl ebx, 0x18
xor ebp, ebp
shr ecx, 8
or ebp, eax
or ebx, ecx
shl esi, 0x1f
mov ecx, dword [esp + 0x9c]
mov eax, edi
shrd eax, ecx, 1
xor edx, edx
shr ecx, 1
or edx, eax
or esi, ecx
mov eax, edi
mov ecx, dword [esp + 0x9c]
xor ebx, esi
shrd eax, ecx, 7
xor ebp, edx
xor edi, edi
shr ecx, 7
xor ebp, eax
mov eax, dword [esp + 0xc4]
xor ebx, ecx
mov ecx, dword [esp + 0x7c]
xor edx, edx
mov dword [esp + 0x10], ebx
mov ebx, eax
shrd eax, ecx, 0x13
shl ebx, 0xd
shr ecx, 0x13
or edi, eax
mov eax, dword [esp + 0xc4]
or ebx, ecx
mov ecx, dword [esp + 0x7c]
mov esi, ecx
shld ecx, eax, 3
shr esi, 0x1d
shl eax, 3
or edx, ecx
mov ecx, dword [esp + 0x7c]
or esi, eax
mov eax, dword [esp + 0xc4]
xor edi, esi
shrd eax, ecx, 6
xor ebx, edx
shr ecx, 6
xor edi, eax
mov eax, dword [esp + 0x10]
xor ebx, ecx
add ebp, edi
adc eax, ebx
add ebp, dword [esp + 0xa0]
mov edi, dword [esp + 0x60]
mov ebx, edi
adc eax, dword [esp + 0x64]
mov esi, edi
add dword [esp + 0xb4], ebp
mov ecx, dword [esp + 0x80]
adc dword [esp + 0x98], eax
mov eax, edi
shrd eax, ecx, 8
shl ebx, 0x18
xor ebp, ebp
shr ecx, 8
or ebp, eax
or ebx, ecx
shl esi, 0x1f
mov ecx, dword [esp + 0x80]
mov eax, edi
shrd eax, ecx, 1
xor edx, edx
or edx, eax
shr ecx, 1
or esi, ecx
mov eax, edi
mov ecx, dword [esp + 0x80]
xor ebx, esi
shrd eax, ecx, 7
xor ebp, edx
xor edi, edi
shr ecx, 7
xor ebp, eax
mov eax, dword [esp + 0xc0]
xor ebx, ecx
mov ecx, dword [esp + 0x8c]
xor edx, edx
mov dword [esp + 0x10], ebx
mov ebx, eax
shrd eax, ecx, 0x13
shl ebx, 0xd
or edi, eax
shr ecx, 0x13
mov eax, dword [esp + 0xc0]
or ebx, ecx
mov ecx, dword [esp + 0x8c]
mov esi, ecx
shld ecx, eax, 3
shr esi, 0x1d
shl eax, 3
or edx, ecx
mov ecx, dword [esp + 0x8c]
or esi, eax
mov eax, dword [esp + 0xc0]
xor edi, esi
shrd eax, ecx, 6
xor ebx, edx
xor edi, eax
shr ecx, 6
mov eax, dword [esp + 0x10]
xor ebx, ecx
mov ecx, dword [esp + 0x84]
add ebp, edi
mov edi, dword [esp + 0xa4]
mov esi, edi
adc eax, ebx
add ebp, dword [esp + 0x68]
mov ebx, edi
adc eax, dword [esp + 0x6c]
add dword [esp + 0xbc], ebp
adc dword [esp + 0x9c], eax
mov eax, edi
shrd eax, ecx, 8
xor ebp, ebp
shl ebx, 0x18
shr ecx, 8
or ebp, eax
or ebx, ecx
shl esi, 0x1f
mov ecx, dword [esp + 0x84]
mov eax, edi
xor edx, edx
shrd eax, ecx, 1
shr ecx, 1
or edx, eax
or esi, ecx
mov eax, edi
mov ecx, dword [esp + 0x84]
xor ebx, esi
shrd eax, ecx, 7
xor ebp, edx
xor edi, edi
shr ecx, 7
xor ebp, eax
xor ebx, ecx
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0x98]
xor edx, edx
mov dword [esp + 0x10], ebx
mov ebx, eax
shrd eax, ecx, 0x13
shl ebx, 0xd
shr ecx, 0x13
or edi, eax
mov eax, dword [esp + 0xb4]
or ebx, ecx
mov ecx, dword [esp + 0x98]
mov esi, ecx
shld ecx, eax, 3
shr esi, 0x1d
or edx, ecx
shl eax, 3
mov ecx, dword [esp + 0x98]
or esi, eax
mov eax, dword [esp + 0xb4]
xor ebx, edx
shrd eax, ecx, 6
xor edi, esi
shr ecx, 6
xor edi, eax
mov eax, dword [esp + 0x10]
xor ebx, ecx
mov ecx, dword [esp + 0x88]
add ebp, edi
mov edi, dword [esp + 0xb8]
mov esi, edi
adc eax, ebx
add ebp, dword [esp + 0xd0]
mov ebx, edi
adc eax, dword [esp + 0x70]
add dword [esp + 0x60], ebp
adc dword [esp + 0x80], eax
mov eax, edi
shrd eax, ecx, 8
shl ebx, 0x18
xor ebp, ebp
shr ecx, 8
or ebp, eax
or ebx, ecx
shl esi, 0x1f
mov ecx, dword [esp + 0x88]
mov eax, edi
shrd eax, ecx, 1
xor edx, edx
shr ecx, 1
or edx, eax
or esi, ecx
mov eax, edi
mov ecx, dword [esp + 0x88]
xor ebx, esi
shrd eax, ecx, 7
xor ebp, edx
xor edi, edi
shr ecx, 7
xor ebp, eax
mov eax, dword [esp + 0xbc]
xor ebx, ecx
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x10], ebx
mov ebx, eax
shrd eax, ecx, 0x13
shl ebx, 0xd
shr ecx, 0x13
or edi, eax
or ebx, ecx
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0x9c]
xor edx, edx
mov esi, ecx
shld ecx, eax, 3
shr esi, 0x1d
or edx, ecx
shl eax, 3
mov ecx, dword [esp + 0x9c]
or esi, eax
mov eax, dword [esp + 0xbc]
xor ebx, edx
shrd eax, ecx, 6
xor edi, esi
xor edi, eax
shr ecx, 6
xor ebx, ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x90]
add ebp, edi
mov edi, dword [esp + 0xd4]
mov esi, edi
adc eax, ebx
add ebp, dword [esp + 0xcc]
mov ebx, edi
adc eax, dword [esp + 0x74]
add dword [esp + 0xa4], ebp
adc dword [esp + 0x84], eax
mov eax, edi
shrd eax, ecx, 8
shl ebx, 0x18
xor ebp, ebp
shr ecx, 8
or ebp, eax
or ebx, ecx
shl esi, 0x1f
mov ecx, dword [esp + 0x90]
mov eax, edi
shrd eax, ecx, 1
xor edx, edx
shr ecx, 1
or edx, eax
or esi, ecx
mov eax, edi
mov ecx, dword [esp + 0x90]
xor ebx, esi
shrd eax, ecx, 7
xor ebp, edx
xor edi, edi
shr ecx, 7
xor ebp, eax
mov eax, dword [esp + 0x60]
xor ebx, ecx
mov ecx, dword [esp + 0x80]
xor edx, edx
mov dword [esp + 0x10], ebx
mov ebx, eax
shrd eax, ecx, 0x13
shl ebx, 0xd
shr ecx, 0x13
or edi, eax
mov eax, dword [esp + 0x60]
or ebx, ecx
mov ecx, dword [esp + 0x80]
mov esi, ecx
shld ecx, eax, 3
shr esi, 0x1d
shl eax, 3
or edx, ecx
mov ecx, dword [esp + 0x80]
or esi, eax
mov eax, dword [esp + 0x60]
xor edi, esi
shrd eax, ecx, 6
xor ebx, edx
shr ecx, 6
xor edi, eax
mov eax, dword [esp + 0x10]
xor ebx, ecx
add ebp, edi
adc eax, ebx
mov edi, dword [esp + 0xdc]
add ebp, dword [esp + 0xc8]
mov ebx, edi
mov ecx, dword [esp + 0xb0]
mov esi, edi
adc eax, dword [esp + 0x78]
add dword [esp + 0xb8], ebp
adc dword [esp + 0x88], eax
mov eax, edi
shrd eax, ecx, 8
shl ebx, 0x18
xor ebp, ebp
shr ecx, 8
or ebp, eax
or ebx, ecx
shl esi, 0x1f
mov ecx, dword [esp + 0xb0]
mov eax, edi
shrd eax, ecx, 1
xor edx, edx
or edx, eax
shr ecx, 1
or esi, ecx
mov eax, edi
mov ecx, dword [esp + 0xb0]
xor ebx, esi
shrd eax, ecx, 7
xor ebp, edx
xor edi, edi
shr ecx, 7
xor ebp, eax
mov eax, dword [esp + 0xa4]
xor ebx, ecx
mov ecx, dword [esp + 0x84]
xor edx, edx
mov dword [esp + 0x10], ebx
mov ebx, eax
shrd eax, ecx, 0x13
shl ebx, 0xd
or edi, eax
shr ecx, 0x13
mov eax, dword [esp + 0xa4]
or ebx, ecx
mov ecx, dword [esp + 0x84]
mov esi, ecx
shld ecx, eax, 3
shr esi, 0x1d
shl eax, 3
or edx, ecx
mov ecx, dword [esp + 0x84]
or esi, eax
mov eax, dword [esp + 0xa4]
xor ebx, edx
shrd eax, ecx, 6
xor edi, esi
xor edi, eax
shr ecx, 6
mov eax, dword [esp + 0x10]
xor ebx, ecx
mov ecx, dword [esp + 0xac]
add ebp, edi
mov edi, dword [esp + 0xd8]
mov esi, edi
adc eax, ebx
add ebp, dword [esp + 0xc4]
mov ebx, edi
adc eax, dword [esp + 0x7c]
add dword [esp + 0xd4], ebp
adc dword [esp + 0x90], eax
mov eax, edi
shrd eax, ecx, 8
xor ebp, ebp
shl ebx, 0x18
shr ecx, 8
or ebp, eax
or ebx, ecx
xor edx, edx
mov ecx, dword [esp + 0xac]
mov eax, edi
shl esi, 0x1f
shrd eax, ecx, 1
or edx, eax
shr ecx, 1
or esi, ecx
xor ebp, edx
mov ecx, dword [esp + 0xac]
xor ebx, esi
mov eax, edi
xor edx, edx
shrd eax, ecx, 7
xor edi, edi
xor ebp, eax
shr ecx, 7
xor ebx, ecx
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x10], ebx
mov ebx, eax
shrd eax, ecx, 0x13
shl ebx, 0xd
or edi, eax
shr ecx, 0x13
mov eax, dword [esp + 0xb8]
or ebx, ecx
mov ecx, dword [esp + 0x88]
mov esi, ecx
shld ecx, eax, 3
shr esi, 0x1d
shl eax, 3
or edx, ecx
mov ecx, dword [esp + 0x88]
or esi, eax
mov eax, dword [esp + 0xb8]
xor ebx, edx
shrd eax, ecx, 6
xor edi, esi
xor edi, eax
shr ecx, 6
mov eax, dword [esp + 0x10]
xor ebx, ecx
mov ecx, dword [esp + 0x90]
add ebp, edi
mov edi, dword [esp + 0xd4]
adc eax, ebx
add ebp, dword [esp + 0xc0]
mov ebx, edi
adc eax, dword [esp + 0x8c]
add dword [esp + 0xdc], ebp
adc dword [esp + 0xb0], eax
mov eax, edi
shrd eax, ecx, 0x13
shl ebx, 0xd
xor ebp, ebp
shr ecx, 0x13
or ebp, eax
or ebx, ecx
mov eax, edi
mov ecx, dword [esp + 0x90]
xor edx, edx
mov esi, ecx
shld ecx, eax, 3
shr esi, 0x1d
shl eax, 3
or edx, ecx
mov ecx, dword [esp + 0x90]
or esi, eax
mov eax, edi
xor ebx, edx
mov edx, dword [esp + 0xa8]
xor ebp, esi
shrd eax, ecx, 6
xor edi, edi
shr ecx, 6
xor ebp, eax
xor ebx, ecx
mov eax, edx
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x10], ebx
mov ebx, edx
shl ebx, 0x18
shrd eax, ecx, 8
or edi, eax
shr ecx, 8
or ebx, ecx
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0x94]
mov esi, edx
shrd eax, ecx, 1
shl esi, 0x1f
xor edx, edx
or edx, eax
shr ecx, 1
or esi, ecx
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0x94]
xor ebx, esi
shrd eax, ecx, 7
xor edi, edx
xor edi, eax
shr ecx, 7
mov eax, dword [esp + 0x10]
xor ebx, ecx
add ebp, edi
adc eax, ebx
add ebp, dword [esp + 0xb4]
adc eax, dword [esp + 0x98]
add dword [esp + 0xd8], ebp
mov ebp, dword [esp + 0x5c]
mov edi, ebp
adc dword [esp + 0xac], eax
mov ecx, ebp
mov eax, dword [esp + 0x34]
xor ebx, ebx
shld ecx, eax, 0x17
shr edi, 9
xor edx, edx
or ebx, ecx
shl eax, 0x17
or edi, eax
mov ecx, ebp
mov eax, dword [esp + 0x34]
mov esi, eax
shrd eax, ecx, 0x12
shl esi, 0xe
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x34]
or esi, ecx
xor ebx, esi
xor edi, edx
xor edx, edx
mov esi, eax
shl esi, 0x12
mov ecx, ebp
shrd eax, ecx, 0xe
or edx, eax
shr ecx, 0xe
mov eax, dword [esp + 0x38]
or esi, ecx
mov ecx, dword [esp + 0x4c]
xor ebx, esi
and ecx, dword [esp + 0x34]
xor edi, edx
mov esi, dword [esp + 0x34]
and eax, ebp
not esi
mov edx, ebp
and esi, dword [esp + 0x44]
not edx
and edx, dword [esp + 0x3c]
xor esi, ecx
xor edx, eax
mov eax, dword [esp + 0x2c]
add edi, esi
adc ebx, edx
add edi, dword [esp + 0xa8]
mov edx, eax
adc ebx, dword [esp + 0x94]
add edi, dword [esp + 0x50]
adc ebx, dword [esp + 0x54]
add edi, 0xb8d2d0c8
adc ebx, 0x19a4c116
mov ecx, dword [esp + 0x14]
xor ebp, ebp
shrd eax, ecx, 0x1c
shl edx, 4
or ebp, eax
shr ecx, 0x1c
mov eax, dword [esp + 0x2c]
or edx, ecx
mov ecx, dword [esp + 0x14]
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
shl eax, 0x1e
or esi, eax
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0x2c]
xor ebp, esi
xor edx, edx
or edx, ecx
mov ecx, dword [esp + 0x14]
xor dword [esp + 0x18], edx
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
xor edx, edx
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x18], edx
or esi, eax
mov edx, dword [esp + 0x1c]
xor ebp, esi
xor edx, dword [esp + 0x14]
and edx, dword [esp + 0x20]
mov esi, dword [esp + 0x30]
xor esi, dword [esp + 0x2c]
and esi, dword [esp + 0x58]
mov ecx, dword [esp + 0x30]
and ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x1c]
xor esi, ecx
and eax, dword [esp + 0x14]
xor edx, eax
mov eax, dword [esp + 0x18]
add ebp, esi
mov dword [esp + 0x10], ebp
mov ebp, ebx
adc eax, edx
mov edx, edi
add edx, dword [esp + 0x28]
mov dword [esp + 0x50], edx
mov esi, edx
adc ebp, dword [esp + 0x24]
add dword [esp + 0x10], edi
mov ecx, ebp
mov edi, ebp
adc eax, ebx
shr edi, 9
mov dword [esp + 0x18], eax
xor ebx, ebx
mov eax, edx
shl esi, 0xe
shld ecx, eax, 0x17
xor edx, edx
shl eax, 0x17
or ebx, ecx
or edi, eax
mov ecx, ebp
mov eax, dword [esp + 0x50]
shrd eax, ecx, 0x12
shr ecx, 0x12
or edx, eax
mov eax, dword [esp + 0x50]
or esi, ecx
xor ebx, esi
mov ecx, ebp
mov esi, eax
xor edi, edx
shrd eax, ecx, 0xe
xor edx, edx
shl esi, 0x12
shr ecx, 0xe
or esi, ecx
or edx, eax
xor ebx, esi
mov ecx, dword [esp + 0x34]
and ecx, dword [esp + 0x50]
xor edi, edx
mov esi, dword [esp + 0x50]
mov edx, ebp
mov eax, dword [esp + 0x5c]
not esi
and esi, dword [esp + 0x4c]
and eax, ebp
xor esi, ecx
not edx
and edx, dword [esp + 0x38]
xor edx, eax
mov ecx, dword [esp + 0x18]
add edi, esi
mov eax, dword [esp + 0x10]
mov esi, eax
adc ebx, edx
add edi, dword [esp + 0xa0]
adc ebx, dword [esp + 0x64]
add edi, dword [esp + 0x44]
adc ebx, dword [esp + 0x3c]
add edi, 0x5141ab53
adc ebx, 0x1e376c08
shl esi, 4
shrd eax, ecx, 0x1c
xor edx, edx
or edx, eax
shr ecx, 0x1c
mov eax, dword [esp + 0x10]
or esi, ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x24], esi
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
mov dword [esp + 0x28], edx
xor edx, edx
or edx, ecx
shl eax, 0x1e
xor dword [esp + 0x24], edx
or esi, eax
xor dword [esp + 0x28], esi
xor edx, edx
mov ecx, dword [esp + 0x18]
mov esi, ecx
mov eax, dword [esp + 0x10]
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x24], edx
or esi, eax
xor dword [esp + 0x28], esi
mov ecx, dword [esp + 0x2c]
mov esi, ecx
xor esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
xor edx, dword [esp + 0x18]
and esi, dword [esp + 0x30]
and edx, dword [esp + 0x1c]
and ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
xor esi, ecx
and eax, dword [esp + 0x18]
mov ecx, ebx
xor edx, eax
mov eax, dword [esp + 0x28]
add eax, esi
mov esi, dword [esp + 0x24]
adc esi, edx
mov edx, edi
add edx, dword [esp + 0x58]
mov dword [esp + 0x48], edx
adc ecx, dword [esp + 0x20]
add eax, edi
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x28], eax
adc esi, ebx
mov edi, ecx
mov eax, edx
mov dword [esp + 0x24], esi
shld ecx, eax, 0x17
xor ebx, ebx
shr edi, 9
or ebx, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x3c]
or edi, eax
mov eax, dword [esp + 0x48]
mov esi, edx
shrd eax, ecx, 0x12
shl esi, 0xe
xor edx, edx
or edx, eax
shr ecx, 0x12
or esi, ecx
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x3c]
xor ebx, esi
xor edi, edx
mov esi, eax
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
or edx, eax
shr ecx, 0xe
or esi, ecx
xor edi, edx
mov edx, dword [esp + 0x3c]
xor ebx, esi
mov esi, dword [esp + 0x48]
not edx
and edx, dword [esp + 0x5c]
not esi
and esi, dword [esp + 0x34]
mov eax, ebp
and eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x50]
xor edx, eax
and ecx, dword [esp + 0x48]
xor esi, ecx
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
add edi, esi
mov esi, eax
adc ebx, edx
add edi, dword [esp + 0x68]
adc ebx, dword [esp + 0x6c]
add edi, dword [esp + 0x4c]
adc ebx, dword [esp + 0x38]
add edi, 0xdf8eeb99
adc ebx, 0x2748774c
shl esi, 4
shrd eax, ecx, 0x1c
xor edx, edx
or edx, eax
shr ecx, 0x1c
mov eax, dword [esp + 0x28]
or esi, ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x20], esi
mov esi, ecx
shld ecx, eax, 0x1e
mov dword [esp + 0x40], edx
xor edx, edx
shr esi, 2
or edx, ecx
mov ecx, dword [esp + 0x24]
xor dword [esp + 0x20], edx
xor edx, edx
shl eax, 0x1e
or esi, eax
mov eax, dword [esp + 0x28]
xor dword [esp + 0x40], esi
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
shl eax, 0x19
or esi, eax
or edx, ecx
xor dword [esp + 0x40], esi
xor dword [esp + 0x20], edx
mov edx, dword [esp + 0x18]
xor edx, dword [esp + 0x24]
and edx, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
xor esi, dword [esp + 0x28]
and esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x18]
and eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
xor edx, eax
and ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x40]
xor esi, ecx
add eax, esi
mov ecx, ebx
mov esi, dword [esp + 0x20]
adc esi, edx
mov edx, edi
add edx, dword [esp + 0x30]
mov dword [esp + 0x4c], edx
adc ecx, dword [esp + 0x1c]
add eax, edi
mov dword [esp + 0x40], eax
mov edi, ecx
adc esi, ebx
mov dword [esp + 0x44], ecx
mov eax, edx
shr edi, 9
shld ecx, eax, 0x17
xor ebx, ebx
mov dword [esp + 0x20], esi
or ebx, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x44]
or edi, eax
mov eax, dword [esp + 0x4c]
mov esi, edx
shrd eax, ecx, 0x12
shl esi, 0xe
xor edx, edx
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x4c]
or esi, ecx
mov ecx, dword [esp + 0x44]
xor ebx, esi
xor edi, edx
mov esi, eax
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
or edx, eax
shr ecx, 0xe
mov eax, dword [esp + 0x3c]
or esi, ecx
and eax, dword [esp + 0x44]
xor ebx, esi
mov esi, dword [esp + 0x4c]
xor edi, edx
mov edx, dword [esp + 0x44]
not esi
and esi, dword [esp + 0x50]
not edx
mov ecx, dword [esp + 0x48]
and edx, ebp
and ecx, dword [esp + 0x4c]
xor edx, eax
mov eax, dword [esp + 0x40]
xor esi, ecx
add edi, esi
adc ebx, edx
add edi, dword [esp + 0xd0]
adc ebx, dword [esp + 0x70]
add edi, dword [esp + 0x34]
adc ebx, dword [esp + 0x5c]
add edi, 0xe19b48a8
adc ebx, 0x34b0bcb5
mov ecx, dword [esp + 0x20]
mov esi, eax
shrd eax, ecx, 0x1c
shl esi, 4
xor edx, edx
or edx, eax
shr ecx, 0x1c
or esi, ecx
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x1c], esi
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
shl eax, 0x1e
or esi, eax
mov dword [esp + 0x38], edx
xor dword [esp + 0x38], esi
xor edx, edx
mov eax, dword [esp + 0x40]
or edx, ecx
xor dword [esp + 0x1c], edx
xor edx, edx
mov ecx, dword [esp + 0x20]
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x1c], edx
or esi, eax
xor dword [esp + 0x38], esi
mov edx, dword [esp + 0x24]
xor edx, dword [esp + 0x20]
and edx, dword [esp + 0x18]
mov esi, dword [esp + 0x28]
xor esi, dword [esp + 0x40]
and esi, dword [esp + 0x10]
mov eax, dword [esp + 0x24]
and eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
xor edx, eax
and ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x38]
xor esi, ecx
add eax, esi
mov ecx, ebx
mov esi, dword [esp + 0x1c]
adc esi, edx
mov edx, edi
add edx, dword [esp + 0x2c]
mov dword [esp + 0x54], edx
adc ecx, dword [esp + 0x14]
add eax, edi
mov dword [esp + 0x38], eax
mov edi, ecx
adc esi, ebx
mov dword [esp + 0x34], ecx
mov eax, edx
shr edi, 9
shld ecx, eax, 0x17
xor ebx, ebx
mov dword [esp + 0x1c], esi
shl eax, 0x17
or ebx, ecx
mov ecx, dword [esp + 0x34]
or edi, eax
mov eax, dword [esp + 0x54]
mov esi, edx
shrd eax, ecx, 0x12
shl esi, 0xe
xor edx, edx
shr ecx, 0x12
or edx, eax
mov eax, dword [esp + 0x54]
or esi, ecx
xor ebx, esi
xor edi, edx
mov esi, eax
xor edx, edx
shl esi, 0x12
mov ecx, dword [esp + 0x34]
shrd eax, ecx, 0xe
or edx, eax
shr ecx, 0xe
or esi, ecx
mov eax, dword [esp + 0x44]
and eax, dword [esp + 0x34]
xor ebx, esi
mov esi, dword [esp + 0x54]
xor edi, edx
mov edx, dword [esp + 0x34]
not esi
and esi, dword [esp + 0x48]
not edx
and edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x4c]
xor edx, eax
and ecx, dword [esp + 0x54]
xor esi, ecx
mov ecx, dword [esp + 0x1c]
add edi, esi
adc ebx, edx
add edi, dword [esp + 0xcc]
adc ebx, dword [esp + 0x74]
add edi, dword [esp + 0x50]
adc ebx, ebp
mov ebp, dword [esp + 0x38]
add edi, 0xc5c95a63
mov eax, ebp
mov esi, ebp
adc ebx, 0x391c0cb3
shl esi, 4
shrd eax, ecx, 0x1c
xor edx, edx
or edx, eax
shr ecx, 0x1c
or esi, ecx
mov dword [esp + 0x2c], edx
mov ecx, dword [esp + 0x1c]
xor edx, edx
mov dword [esp + 0x14], esi
mov eax, ebp
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
or edx, ecx
shl eax, 0x1e
xor dword [esp + 0x14], edx
or esi, eax
xor dword [esp + 0x2c], esi
xor edx, edx
mov ecx, dword [esp + 0x1c]
mov eax, ebp
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x14], edx
or esi, eax
xor dword [esp + 0x2c], esi
mov edx, dword [esp + 0x20]
xor edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x40]
and edx, dword [esp + 0x24]
xor esi, ebp
mov eax, dword [esp + 0x20]
and eax, dword [esp + 0x1c]
and esi, dword [esp + 0x28]
xor edx, eax
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x2c]
and ecx, ebp
xor esi, ecx
mov ebp, ebx
mov ecx, dword [esp + 0x14]
add eax, esi
adc ecx, edx
mov edx, edi
add edx, dword [esp + 0x10]
mov dword [esp + 0x50], edx
adc ebp, dword [esp + 0x18]
mov esi, edx
add eax, edi
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x2c], eax
mov edi, ebp
adc ecx, ebx
mov eax, edx
mov dword [esp + 0x14], ecx
xor ebx, ebx
shl esi, 0xe
mov ecx, ebp
shld ecx, eax, 0x17
shr edi, 9
xor edx, edx
or ebx, ecx
shl eax, 0x17
or edi, eax
mov ecx, ebp
mov eax, dword [esp + 0x50]
shrd eax, ecx, 0x12
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x50]
or esi, ecx
xor ebx, esi
xor edi, edx
mov esi, eax
xor edx, edx
shl esi, 0x12
mov ecx, ebp
shrd eax, ecx, 0xe
or edx, eax
shr ecx, 0xe
mov eax, dword [esp + 0x34]
or esi, ecx
and eax, dword [esp + 0x5c]
xor ebx, esi
mov esi, dword [esp + 0x50]
xor edi, edx
mov ecx, dword [esp + 0x54]
not esi
and esi, dword [esp + 0x4c]
mov edx, ebp
and ecx, dword [esp + 0x50]
not edx
mov ebp, dword [esp + 0x44]
xor esi, ecx
mov ecx, dword [esp + 0x14]
and edx, ebp
xor edx, eax
mov eax, dword [esp + 0x2c]
add edi, esi
mov esi, eax
adc ebx, edx
add edi, dword [esp + 0xc8]
adc ebx, dword [esp + 0x78]
add edi, dword [esp + 0x48]
adc ebx, dword [esp + 0x3c]
add edi, 0xe3418acb
adc ebx, 0x4ed8aa4a
shl esi, 4
shrd eax, ecx, 0x1c
xor edx, edx
shr ecx, 0x1c
or edx, eax
mov eax, dword [esp + 0x2c]
or esi, ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x18], esi
mov esi, ecx
shld ecx, eax, 0x1e
mov dword [esp + 0x48], edx
xor edx, edx
shr esi, 2
or edx, ecx
mov ecx, dword [esp + 0x14]
shl eax, 0x1e
or esi, eax
xor dword [esp + 0x48], esi
xor dword [esp + 0x18], edx
mov eax, dword [esp + 0x2c]
xor edx, edx
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x18], edx
or esi, eax
xor dword [esp + 0x48], esi
mov edx, dword [esp + 0x1c]
xor edx, dword [esp + 0x14]
and edx, dword [esp + 0x20]
mov esi, dword [esp + 0x38]
xor esi, dword [esp + 0x2c]
and esi, dword [esp + 0x40]
mov eax, dword [esp + 0x1c]
and eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x38]
xor edx, eax
and ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x48]
xor esi, ecx
add eax, esi
mov ecx, ebx
mov esi, dword [esp + 0x18]
adc esi, edx
mov edx, edi
add edx, dword [esp + 0x28]
mov dword [esp + 0x44], edx
adc ecx, dword [esp + 0x24]
add eax, edi
mov dword [esp + 0x10], ecx
mov edi, ecx
adc esi, ebx
mov dword [esp + 0x48], eax
mov eax, edx
mov dword [esp + 0x18], esi
shld ecx, eax, 0x17
xor ebx, ebx
shr edi, 9
or ebx, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x10]
or edi, eax
mov eax, dword [esp + 0x44]
mov esi, edx
shrd eax, ecx, 0x12
shl esi, 0xe
xor edx, edx
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x44]
or esi, ecx
mov ecx, dword [esp + 0x10]
xor ebx, esi
xor edi, edx
mov esi, eax
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
or edx, eax
shr ecx, 0xe
mov eax, dword [esp + 0x5c]
or esi, ecx
mov ecx, dword [esp + 0x50]
xor ebx, esi
mov esi, dword [esp + 0x44]
xor edi, edx
mov edx, dword [esp + 0x10]
not esi
and esi, dword [esp + 0x54]
not edx
and ecx, dword [esp + 0x44]
and edx, dword [esp + 0x34]
xor esi, ecx
and eax, dword [esp + 0x10]
xor edx, eax
add edi, esi
adc ebx, edx
add edi, dword [esp + 0xc4]
adc ebx, dword [esp + 0x7c]
add edi, dword [esp + 0x4c]
mov ecx, dword [esp + 0x18]
adc ebx, ebp
mov ebp, dword [esp + 0x48]
add edi, 0x7763e373
mov eax, ebp
mov esi, ebp
adc ebx, 0x5b9cca4f
shl esi, 4
shrd eax, ecx, 0x1c
xor edx, edx
or edx, eax
shr ecx, 0x1c
or esi, ecx
mov dword [esp + 0x28], edx
mov ecx, dword [esp + 0x18]
xor edx, edx
mov dword [esp + 0x24], esi
mov eax, ebp
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
or edx, ecx
shl eax, 0x1e
xor dword [esp + 0x24], edx
or esi, eax
xor dword [esp + 0x28], esi
xor edx, edx
mov ecx, dword [esp + 0x18]
mov eax, ebp
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x24], edx
or esi, eax
xor dword [esp + 0x28], esi
mov edx, dword [esp + 0x14]
xor edx, dword [esp + 0x18]
and edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x14]
xor esi, ebp
and eax, dword [esp + 0x18]
and esi, dword [esp + 0x38]
xor edx, eax
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
and ecx, ebp
xor esi, ecx
mov ebp, ebx
mov ecx, dword [esp + 0x24]
add eax, esi
adc ecx, edx
mov edx, edi
add edx, dword [esp + 0x40]
mov dword [esp + 0x4c], edx
mov esi, edx
adc ebp, dword [esp + 0x20]
add eax, edi
mov dword [esp + 0x28], eax
mov edi, ebp
adc ecx, ebx
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x24], ecx
mov eax, edx
mov ecx, ebp
shr edi, 9
shld ecx, eax, 0x17
xor ebx, ebx
shl esi, 0xe
shl eax, 0x17
or ebx, ecx
or edi, eax
mov ecx, ebp
mov eax, dword [esp + 0x4c]
xor edx, edx
shrd eax, ecx, 0x12
shr ecx, 0x12
or esi, ecx
or edx, eax
mov eax, dword [esp + 0x4c]
xor ebx, esi
xor edi, edx
mov esi, eax
shl esi, 0x12
xor edx, edx
mov ecx, ebp
shrd eax, ecx, 0xe
or edx, eax
shr ecx, 0xe
or esi, ecx
mov eax, dword [esp + 0x10]
and eax, dword [esp + 0x3c]
xor ebx, esi
mov esi, dword [esp + 0x4c]
xor edi, edx
mov ecx, dword [esp + 0x44]
not esi
and esi, dword [esp + 0x50]
mov edx, ebp
and ecx, dword [esp + 0x4c]
not edx
mov ebp, dword [esp + 0x5c]
xor esi, ecx
mov ecx, dword [esp + 0x24]
and edx, ebp
xor edx, eax
mov eax, dword [esp + 0x28]
add edi, esi
mov esi, eax
adc ebx, edx
add edi, dword [esp + 0xc0]
adc ebx, dword [esp + 0x8c]
add edi, dword [esp + 0x54]
adc ebx, dword [esp + 0x34]
add edi, 0xd6b2b8a3
adc ebx, 0x682e6ff3
shl esi, 4
shrd eax, ecx, 0x1c
xor edx, edx
or edx, eax
shr ecx, 0x1c
mov eax, dword [esp + 0x28]
or esi, ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x20], esi
mov esi, ecx
shld ecx, eax, 0x1e
mov dword [esp + 0x54], edx
xor edx, edx
shr esi, 2
or edx, ecx
xor dword [esp + 0x20], edx
xor edx, edx
mov ecx, dword [esp + 0x24]
shl eax, 0x1e
or esi, eax
mov eax, dword [esp + 0x28]
xor dword [esp + 0x54], esi
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
shl eax, 0x19
or edx, ecx
xor dword [esp + 0x20], edx
or esi, eax
xor dword [esp + 0x54], esi
mov esi, dword [esp + 0x48]
xor esi, dword [esp + 0x28]
mov edx, dword [esp + 0x18]
xor edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x48]
and esi, dword [esp + 0x2c]
and ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x18]
xor esi, ecx
and edx, dword [esp + 0x14]
and eax, dword [esp + 0x24]
xor edx, eax
mov eax, dword [esp + 0x54]
mov ecx, ebx
add eax, esi
mov esi, dword [esp + 0x20]
adc esi, edx
mov edx, edi
add edx, dword [esp + 0x38]
mov dword [esp + 0x5c], edx
adc ecx, dword [esp + 0x1c]
add eax, edi
mov dword [esp + 0x34], ecx
mov edi, ecx
adc esi, ebx
mov dword [esp + 0x54], eax
mov eax, edx
mov dword [esp + 0x20], esi
shld ecx, eax, 0x17
xor ebx, ebx
shr edi, 9
or ebx, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x34]
or edi, eax
mov eax, dword [esp + 0x5c]
mov esi, edx
shrd eax, ecx, 0x12
shl esi, 0xe
xor edx, edx
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x5c]
or esi, ecx
mov ecx, dword [esp + 0x34]
xor ebx, esi
xor edi, edx
mov esi, eax
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
or edx, eax
shr ecx, 0xe
mov eax, dword [esp + 0x3c]
or esi, ecx
and eax, dword [esp + 0x34]
xor ebx, esi
mov esi, dword [esp + 0x5c]
xor edi, edx
mov edx, dword [esp + 0x34]
not esi
and esi, dword [esp + 0x44]
not edx
and edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x4c]
xor edx, eax
and ecx, dword [esp + 0x5c]
xor esi, ecx
mov ecx, dword [esp + 0x20]
add edi, esi
adc ebx, edx
add edi, dword [esp + 0xb4]
adc ebx, dword [esp + 0x98]
add edi, dword [esp + 0x50]
adc ebx, ebp
mov ebp, dword [esp + 0x54]
add edi, 0x5defb2fc
mov eax, ebp
mov esi, ebp
adc ebx, 0x748f82ee
shl esi, 4
shrd eax, ecx, 0x1c
xor edx, edx
shr ecx, 0x1c
or edx, eax
or esi, ecx
mov dword [esp + 0x30], edx
mov ecx, dword [esp + 0x20]
mov eax, ebp
mov dword [esp + 0x1c], esi
mov esi, ecx
shr esi, 2
xor edx, edx
shld ecx, eax, 0x1e
or edx, ecx
shl eax, 0x1e
xor dword [esp + 0x1c], edx
or esi, eax
xor dword [esp + 0x30], esi
xor edx, edx
mov ecx, dword [esp + 0x20]
mov eax, ebp
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x1c], edx
or esi, eax
xor dword [esp + 0x30], esi
mov edx, dword [esp + 0x24]
xor edx, dword [esp + 0x20]
and edx, dword [esp + 0x18]
mov esi, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
xor esi, ebp
and esi, dword [esp + 0x48]
and eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
xor edx, eax
mov eax, dword [esp + 0x30]
and ecx, ebp
xor esi, ecx
mov ebp, ebx
mov ecx, dword [esp + 0x1c]
add eax, esi
adc ecx, edx
mov edx, edi
add edx, dword [esp + 0x2c]
mov dword [esp + 0x50], edx
mov esi, edx
adc ebp, dword [esp + 0x14]
add eax, edi
mov dword [esp + 0x30], eax
mov edi, ebp
adc ecx, ebx
mov dword [esp + 0x58], ebp
mov dword [esp + 0x1c], ecx
mov eax, edx
mov ecx, ebp
shr edi, 9
shld ecx, eax, 0x17
xor ebx, ebx
shl esi, 0xe
or ebx, ecx
shl eax, 0x17
or edi, eax
mov ecx, ebp
mov eax, dword [esp + 0x50]
xor edx, edx
shrd eax, ecx, 0x12
shr ecx, 0x12
or edx, eax
mov eax, dword [esp + 0x50]
or esi, ecx
xor ebx, esi
mov ecx, ebp
xor edi, edx
mov esi, eax
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
shr ecx, 0xe
or edx, eax
or esi, ecx
xor edi, edx
xor ebx, esi
mov edx, ebp
mov esi, dword [esp + 0x50]
not edx
mov ebp, dword [esp + 0x3c]
not esi
and esi, dword [esp + 0x4c]
and edx, ebp
mov ecx, dword [esp + 0x5c]
and ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x34]
xor esi, ecx
and eax, dword [esp + 0x58]
xor edx, eax
mov ecx, dword [esp + 0x1c]
add edi, esi
mov eax, dword [esp + 0x30]
mov esi, eax
adc ebx, edx
add edi, dword [esp + 0xbc]
adc ebx, dword [esp + 0x9c]
add edi, dword [esp + 0x44]
adc ebx, dword [esp + 0x10]
add edi, 0x43172f60
adc ebx, 0x78a5636f
shl esi, 4
shrd eax, ecx, 0x1c
xor edx, edx
or edx, eax
shr ecx, 0x1c
mov eax, dword [esp + 0x30]
or esi, ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x14], esi
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
shl eax, 0x1e
or esi, eax
mov dword [esp + 0x38], edx
xor dword [esp + 0x38], esi
xor edx, edx
mov eax, dword [esp + 0x30]
or edx, ecx
xor dword [esp + 0x14], edx
xor edx, edx
mov ecx, dword [esp + 0x1c]
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x14], edx
or esi, eax
xor dword [esp + 0x38], esi
mov edx, dword [esp + 0x20]
xor edx, dword [esp + 0x1c]
and edx, dword [esp + 0x24]
mov esi, dword [esp + 0x54]
xor esi, dword [esp + 0x30]
and esi, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
and eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x54]
xor edx, eax
and ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x38]
xor esi, ecx
add eax, esi
mov ecx, ebx
mov esi, dword [esp + 0x14]
adc esi, edx
mov edx, edi
add edx, dword [esp + 0x48]
mov dword [esp + 0x44], edx
adc ecx, dword [esp + 0x18]
add eax, edi
mov dword [esp + 0x38], eax
mov edi, ecx
adc esi, ebx
mov dword [esp + 0x3c], ecx
mov eax, edx
shr edi, 9
shld ecx, eax, 0x17
xor ebx, ebx
mov dword [esp + 0x14], esi
shl eax, 0x17
or edi, eax
or ebx, ecx
mov eax, dword [esp + 0x44]
mov esi, edx
mov ecx, dword [esp + 0x3c]
xor edx, edx
shrd eax, ecx, 0x12
shl esi, 0xe
or edx, eax
shr ecx, 0x12
or esi, ecx
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x3c]
xor ebx, esi
xor edi, edx
mov esi, eax
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
or edx, eax
shr ecx, 0xe
or esi, ecx
mov eax, dword [esp + 0x58]
and eax, dword [esp + 0x3c]
xor ebx, esi
mov esi, dword [esp + 0x44]
xor edi, edx
mov edx, dword [esp + 0x3c]
not esi
and esi, dword [esp + 0x5c]
not edx
and edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x50]
xor edx, eax
and ecx, dword [esp + 0x44]
xor esi, ecx
mov ecx, dword [esp + 0x14]
add edi, esi
adc ebx, edx
add edi, dword [esp + 0x60]
adc ebx, dword [esp + 0x80]
add edi, dword [esp + 0x4c]
adc ebx, ebp
mov ebp, dword [esp + 0x38]
add edi, 0xa1f0ab72
mov eax, ebp
mov esi, ebp
adc ebx, 0x84c87814
shl esi, 4
shrd eax, ecx, 0x1c
xor edx, edx
or edx, eax
shr ecx, 0x1c
or esi, ecx
mov dword [esp + 0x2c], edx
mov ecx, dword [esp + 0x14]
mov eax, ebp
mov dword [esp + 0x18], esi
xor edx, edx
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
shl eax, 0x1e
or edx, ecx
mov ecx, dword [esp + 0x14]
or esi, eax
xor dword [esp + 0x2c], esi
mov eax, ebp
xor dword [esp + 0x18], edx
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
xor edx, edx
shl eax, 0x19
or edx, ecx
xor dword [esp + 0x18], edx
or esi, eax
xor dword [esp + 0x2c], esi
mov esi, dword [esp + 0x30]
mov edx, dword [esp + 0x1c]
xor esi, ebp
xor edx, dword [esp + 0x14]
and esi, dword [esp + 0x54]
and edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
and eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x30]
xor edx, eax
mov eax, dword [esp + 0x2c]
and ecx, ebp
xor esi, ecx
mov ebp, ebx
mov ecx, dword [esp + 0x18]
add eax, esi
adc ecx, edx
mov edx, edi
add edx, dword [esp + 0x28]
mov dword [esp + 0x4c], edx
mov esi, edx
adc ebp, dword [esp + 0x24]
add eax, edi
mov dword [esp + 0x2c], eax
mov edi, ebp
adc ecx, ebx
mov dword [esp + 0x40], ebp
mov dword [esp + 0x18], ecx
mov eax, edx
xor ebx, ebx
shr edi, 9
shl esi, 0xe
mov ecx, ebp
shld ecx, eax, 0x17
xor edx, edx
or ebx, ecx
shl eax, 0x17
or edi, eax
mov ecx, ebp
mov eax, dword [esp + 0x4c]
shrd eax, ecx, 0x12
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x4c]
or esi, ecx
xor ebx, esi
xor edi, edx
mov esi, eax
xor edx, edx
shl esi, 0x12
mov ecx, ebp
shrd eax, ecx, 0xe
or edx, eax
shr ecx, 0xe
mov eax, dword [esp + 0x3c]
or esi, ecx
mov ecx, dword [esp + 0x44]
xor ebx, esi
and ecx, dword [esp + 0x4c]
xor edi, edx
mov esi, dword [esp + 0x4c]
and eax, ebp
not esi
mov edx, ebp
and esi, dword [esp + 0x50]
not edx
and edx, dword [esp + 0x58]
xor esi, ecx
mov ecx, dword [esp + 0x18]
xor edx, eax
mov eax, dword [esp + 0x2c]
add edi, esi
mov esi, eax
adc ebx, edx
add edi, dword [esp + 0xa4]
adc ebx, dword [esp + 0x84]
add edi, dword [esp + 0x5c]
adc ebx, dword [esp + 0x34]
add edi, 0x1a6439ec
adc ebx, 0x8cc70208
xor edx, edx
shrd eax, ecx, 0x1c
shl esi, 4
shr ecx, 0x1c
or edx, eax
mov dword [esp + 0x10], edx
or esi, ecx
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x18]
xor edx, edx
mov dword [esp + 0x24], esi
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
or edx, ecx
shl eax, 0x1e
xor dword [esp + 0x24], edx
or esi, eax
xor dword [esp + 0x10], esi
xor edx, edx
mov ecx, dword [esp + 0x18]
mov esi, ecx
mov eax, dword [esp + 0x2c]
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x24], edx
or esi, eax
xor dword [esp + 0x10], esi
mov edx, dword [esp + 0x14]
xor edx, dword [esp + 0x18]
and edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x38]
xor esi, dword [esp + 0x2c]
and esi, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
and eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x38]
xor edx, eax
and ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x10]
xor esi, ecx
add eax, esi
mov ecx, ebx
mov esi, dword [esp + 0x24]
adc esi, edx
mov edx, edi
add edx, dword [esp + 0x54]
mov dword [esp + 0x48], edx
adc ecx, dword [esp + 0x20]
add eax, edi
mov dword [esp + 0x10], eax
mov edi, ecx
adc esi, ebx
mov dword [esp + 0x34], ecx
mov eax, edx
shr edi, 9
shld ecx, eax, 0x17
xor ebx, ebx
mov dword [esp + 0x24], esi
shl eax, 0x17
or ebx, ecx
mov ecx, dword [esp + 0x34]
or edi, eax
mov eax, dword [esp + 0x48]
mov esi, edx
shrd eax, ecx, 0x12
shl esi, 0xe
xor edx, edx
shr ecx, 0x12
or edx, eax
mov eax, dword [esp + 0x48]
or esi, ecx
mov ecx, dword [esp + 0x34]
xor ebx, esi
xor edi, edx
mov esi, eax
shrd eax, ecx, 0xe
xor edx, edx
shl esi, 0x12
shr ecx, 0xe
or edx, eax
or esi, ecx
xor edi, edx
xor ebx, esi
mov esi, dword [esp + 0x48]
mov edx, dword [esp + 0x34]
not esi
and esi, dword [esp + 0x44]
not edx
and edx, dword [esp + 0x3c]
mov eax, ebp
and eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x4c]
xor edx, eax
and ecx, dword [esp + 0x48]
xor esi, ecx
mov ebp, dword [esp + 0x10]
add edi, esi
mov ecx, dword [esp + 0x24]
mov eax, ebp
mov esi, ebp
adc ebx, edx
add edi, dword [esp + 0xb8]
adc ebx, dword [esp + 0x88]
add edi, dword [esp + 0x50]
adc ebx, dword [esp + 0x58]
add edi, 0x23631e28
adc ebx, 0x90befffa
shl esi, 4
shrd eax, ecx, 0x1c
xor edx, edx
or edx, eax
shr ecx, 0x1c
or esi, ecx
mov dword [esp + 0x28], edx
mov ecx, dword [esp + 0x24]
xor edx, edx
mov dword [esp + 0x20], esi
mov eax, ebp
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
or edx, ecx
shl eax, 0x1e
xor dword [esp + 0x20], edx
or esi, eax
xor dword [esp + 0x28], esi
xor edx, edx
mov ecx, dword [esp + 0x24]
mov eax, ebp
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x20], edx
or esi, eax
xor dword [esp + 0x28], esi
mov edx, dword [esp + 0x18]
xor edx, dword [esp + 0x24]
and edx, dword [esp + 0x14]
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x18]
xor esi, ebp
and eax, dword [esp + 0x24]
and esi, dword [esp + 0x38]
xor edx, eax
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
and ecx, ebp
xor esi, ecx
mov ebp, ebx
mov ecx, dword [esp + 0x20]
add eax, esi
adc ecx, edx
mov edx, edi
add edx, dword [esp + 0x30]
mov dword [esp + 0x50], edx
adc ebp, dword [esp + 0x1c]
add eax, edi
mov edi, ebp
mov dword [esp + 0x54], ebp
adc ecx, ebx
mov dword [esp + 0x28], eax
mov dword [esp + 0x20], ecx
shr edi, 9
mov eax, edx
xor ebx, ebx
mov esi, edx
mov ecx, ebp
shld ecx, eax, 0x17
shl esi, 0xe
xor edx, edx
or ebx, ecx
shl eax, 0x17
or edi, eax
mov ecx, ebp
mov eax, dword [esp + 0x50]
shrd eax, ecx, 0x12
or edx, eax
shr ecx, 0x12
or esi, ecx
mov eax, dword [esp + 0x50]
xor ebx, esi
xor edi, edx
mov esi, eax
xor edx, edx
shl esi, 0x12
mov ecx, ebp
shrd eax, ecx, 0xe
or edx, eax
shr ecx, 0xe
or esi, ecx
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x48]
xor ebx, esi
and ecx, dword [esp + 0x50]
xor edi, edx
mov esi, dword [esp + 0x50]
and eax, ebp
not esi
mov edx, ebp
and esi, dword [esp + 0x4c]
not edx
and edx, dword [esp + 0x40]
xor esi, ecx
xor edx, eax
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x28]
add edi, esi
mov esi, eax
adc ebx, edx
add edi, dword [esp + 0xd4]
adc ebx, dword [esp + 0x90]
add edi, dword [esp + 0x44]
adc ebx, dword [esp + 0x3c]
add edi, 0xde82bde9
adc ebx, 0xa4506ceb
shl esi, 4
shrd eax, ecx, 0x1c
xor edx, edx
or edx, eax
shr ecx, 0x1c
mov eax, dword [esp + 0x28]
or esi, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x1c], esi
mov esi, ecx
shld ecx, eax, 0x1e
mov dword [esp + 0x58], edx
xor edx, edx
shr esi, 2
or edx, ecx
mov ecx, dword [esp + 0x20]
xor dword [esp + 0x1c], edx
xor edx, edx
shl eax, 0x1e
or esi, eax
mov eax, dword [esp + 0x28]
xor dword [esp + 0x58], esi
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
shl eax, 0x19
or edx, ecx
or esi, eax
xor dword [esp + 0x58], esi
xor dword [esp + 0x1c], edx
mov edx, dword [esp + 0x24]
xor edx, dword [esp + 0x20]
and edx, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
xor esi, dword [esp + 0x28]
and esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x24]
and eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
xor edx, eax
and ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x58]
xor esi, ecx
add eax, esi
mov ecx, ebx
mov esi, dword [esp + 0x1c]
adc esi, edx
mov edx, edi
add edx, dword [esp + 0x38]
mov dword [esp + 0x44], edx
adc ecx, dword [esp + 0x14]
add eax, edi
mov dword [esp + 0x58], eax
mov edi, ecx
adc esi, ebx
mov dword [esp + 0x3c], ecx
mov eax, edx
shr edi, 9
shld ecx, eax, 0x17
xor ebx, ebx
mov dword [esp + 0x1c], esi
or ebx, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x3c]
or edi, eax
mov eax, dword [esp + 0x44]
mov esi, edx
shrd eax, ecx, 0x12
shl esi, 0xe
xor edx, edx
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x44]
or esi, ecx
mov ecx, dword [esp + 0x3c]
xor ebx, esi
xor edi, edx
mov esi, eax
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
or edx, eax
shr ecx, 0xe
or esi, ecx
xor edi, edx
mov edx, dword [esp + 0x3c]
xor ebx, esi
mov esi, dword [esp + 0x44]
not edx
and edx, dword [esp + 0x34]
not esi
and esi, dword [esp + 0x48]
mov eax, ebp
and eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x50]
xor edx, eax
and ecx, dword [esp + 0x44]
mov ebp, dword [esp + 0x58]
xor esi, ecx
add edi, esi
mov esi, ebp
adc ebx, edx
add edi, dword [esp + 0xdc]
adc ebx, dword [esp + 0xb0]
add edi, dword [esp + 0x4c]
adc ebx, dword [esp + 0x40]
add edi, 0xb2c67915
adc ebx, 0xbef9a3f7
xor edx, edx
shl esi, 4
mov ecx, dword [esp + 0x1c]
mov eax, ebp
shrd eax, ecx, 0x1c
or edx, eax
shr ecx, 0x1c
or esi, ecx
mov dword [esp + 0x30], edx
mov ecx, dword [esp + 0x1c]
xor edx, edx
mov dword [esp + 0x14], esi
mov eax, ebp
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
or edx, ecx
shl eax, 0x1e
xor dword [esp + 0x14], edx
or esi, eax
xor dword [esp + 0x30], esi
xor edx, edx
mov ecx, dword [esp + 0x1c]
mov eax, ebp
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x14], edx
or esi, eax
xor dword [esp + 0x30], esi
mov edx, dword [esp + 0x20]
xor edx, dword [esp + 0x1c]
and edx, dword [esp + 0x24]
mov esi, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
xor esi, ebp
and esi, dword [esp + 0x10]
and eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x28]
xor edx, eax
mov eax, dword [esp + 0x30]
and ecx, ebp
xor esi, ecx
mov ecx, ebx
add eax, esi
mov esi, dword [esp + 0x14]
adc esi, edx
mov edx, edi
add edx, dword [esp + 0x2c]
mov dword [esp + 0x4c], edx
adc ecx, dword [esp + 0x18]
add eax, edi
mov dword [esp + 0x30], eax
mov edi, ecx
adc esi, ebx
mov dword [esp + 0x38], ecx
mov eax, edx
shr edi, 9
shld ecx, eax, 0x17
xor ebx, ebx
mov dword [esp + 0x14], esi
shl eax, 0x17
or ebx, ecx
mov ecx, dword [esp + 0x38]
or edi, eax
mov eax, dword [esp + 0x4c]
mov esi, edx
shrd eax, ecx, 0x12
shl esi, 0xe
xor edx, edx
shr ecx, 0x12
or edx, eax
mov eax, dword [esp + 0x4c]
or esi, ecx
mov ecx, dword [esp + 0x38]
xor ebx, esi
mov esi, eax
xor edi, edx
xor edx, edx
shl esi, 0x12
shrd eax, ecx, 0xe
or edx, eax
shr ecx, 0xe
or esi, ecx
mov eax, dword [esp + 0x3c]
and eax, dword [esp + 0x38]
xor ebx, esi
mov esi, dword [esp + 0x4c]
xor edi, edx
mov edx, dword [esp + 0x38]
not esi
and esi, dword [esp + 0x50]
not edx
and edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x44]
xor edx, eax
and ecx, dword [esp + 0x4c]
xor esi, ecx
mov eax, dword [esp + 0x30]
add edi, esi
mov ecx, dword [esp + 0x14]
mov esi, eax
adc ebx, edx
add edi, dword [esp + 0xd8]
adc ebx, dword [esp + 0xac]
add edi, dword [esp + 0x48]
adc ebx, dword [esp + 0x34]
add edi, 0xe372532b
adc ebx, 0xc67178f2
shl esi, 4
shrd eax, ecx, 0x1c
xor edx, edx
or edx, eax
shr ecx, 0x1c
mov eax, dword [esp + 0x30]
or esi, ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x18], esi
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
shl eax, 0x1e
or esi, eax
mov dword [esp + 0x2c], edx
xor dword [esp + 0x2c], esi
xor edx, edx
mov eax, dword [esp + 0x30]
or edx, ecx
xor dword [esp + 0x18], edx
xor edx, edx
mov ecx, dword [esp + 0x14]
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
shl eax, 0x19
or edx, ecx
xor dword [esp + 0x18], edx
or esi, eax
xor dword [esp + 0x2c], esi
mov ecx, ebp
and ecx, dword [esp + 0x30]
mov esi, ebp
xor esi, dword [esp + 0x30]
and esi, dword [esp + 0x28]
mov edx, dword [esp + 0x1c]
xor esi, ecx
xor edx, dword [esp + 0x14]
and edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
and eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x2c]
xor edx, eax
add ecx, esi
mov eax, edi
mov esi, dword [esp + 0x18]
adc esi, edx
add eax, dword [esp + 0x10]
mov dword [esp + 0x34], eax
mov eax, ebx
adc eax, dword [esp + 0x24]
add ecx, edi
mov dword [esp + 0x5c], eax
adc esi, ebx
mov edi, dword [esp + 0xdc]
mov dword [esp + 0x2c], ecx
mov eax, edi
mov ecx, dword [esp + 0xb0]
xor ebp, ebp
shrd eax, ecx, 0x13
mov ebx, edi
mov dword [esp + 0x18], esi
shr ecx, 0x13
or ebp, eax
shl ebx, 0xd
mov eax, edi
or ebx, ecx
xor edx, edx
mov ecx, dword [esp + 0xb0]
mov esi, ecx
shld ecx, eax, 3
shr esi, 0x1d
or edx, ecx
shl eax, 3
mov ecx, dword [esp + 0xb0]
or esi, eax
xor ebx, edx
xor ebp, esi
mov edx, dword [esp + 0xa0]
mov eax, edi
shrd eax, ecx, 6
xor edi, edi
mov esi, edx
shr ecx, 6
xor ebp, eax
xor ebx, ecx
shl esi, 0x1f
mov ecx, dword [esp + 0x64]
mov eax, edx
shrd eax, ecx, 8
mov dword [esp + 0x10], ebx
mov ebx, edx
shr ecx, 8
or edi, eax
mov eax, dword [esp + 0xa0]
xor edx, edx
shl ebx, 0x18
or ebx, ecx
mov ecx, dword [esp + 0x64]
shrd eax, ecx, 1
shr ecx, 1
or edx, eax
mov eax, dword [esp + 0xa0]
or esi, ecx
mov ecx, dword [esp + 0x64]
xor ebx, esi
shrd eax, ecx, 7
xor edi, edx
xor edi, eax
shr ecx, 7
mov eax, dword [esp + 0x10]
xor ebx, ecx
mov ecx, dword [esp + 0xac]
add ebp, edi
mov edi, dword [esp + 0xd8]
adc eax, ebx
add ebp, dword [esp + 0xbc]
mov ebx, edi
adc eax, dword [esp + 0x9c]
add dword [esp + 0xa8], ebp
adc dword [esp + 0x94], eax
mov eax, edi
shrd eax, ecx, 0x13
shl ebx, 0xd
xor ebp, ebp
shr ecx, 0x13
or ebp, eax
or ebx, ecx
mov eax, edi
mov ecx, dword [esp + 0xac]
xor edx, edx
mov esi, ecx
shr esi, 0x1d
shld ecx, eax, 3
or edx, ecx
shl eax, 3
mov ecx, dword [esp + 0xac]
or esi, eax
xor ebx, edx
xor ebp, esi
mov edx, dword [esp + 0x68]
mov eax, edi
shrd eax, ecx, 6
xor edi, edi
mov esi, edx
shr ecx, 6
xor ebp, eax
xor ebx, ecx
shl esi, 0x1f
mov ecx, dword [esp + 0x6c]
mov eax, edx
shrd eax, ecx, 8
mov dword [esp + 0x10], ebx
mov ebx, edx
shr ecx, 8
or edi, eax
mov eax, dword [esp + 0x68]
xor edx, edx
shl ebx, 0x18
or ebx, ecx
mov ecx, dword [esp + 0x6c]
shrd eax, ecx, 1
shr ecx, 1
or edx, eax
mov eax, dword [esp + 0x68]
or esi, ecx
mov ecx, dword [esp + 0x6c]
xor ebx, esi
shrd eax, ecx, 7
xor edi, edx
shr ecx, 7
xor edi, eax
mov eax, dword [esp + 0x10]
xor ebx, ecx
mov ecx, dword [esp + 0x70]
add ebp, edi
mov edi, dword [esp + 0xd0]
mov esi, edi
adc eax, ebx
add ebp, dword [esp + 0x60]
mov ebx, edi
adc eax, dword [esp + 0x80]
add dword [esp + 0xa0], ebp
adc dword [esp + 0x64], eax
mov eax, edi
shrd eax, ecx, 8
shl ebx, 0x18
xor ebp, ebp
shr ecx, 8
or ebp, eax
or ebx, ecx
shl esi, 0x1f
mov ecx, dword [esp + 0x70]
mov eax, edi
shrd eax, ecx, 1
xor edx, edx
shr ecx, 1
or edx, eax
or esi, ecx
mov eax, edi
mov ecx, dword [esp + 0x70]
xor ebx, esi
shrd eax, ecx, 7
xor ebp, edx
xor edi, edi
shr ecx, 7
xor ebp, eax
mov eax, dword [esp + 0xa8]
xor ebx, ecx
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x10], ebx
mov ebx, eax
shrd eax, ecx, 0x13
shl ebx, 0xd
shr ecx, 0x13
or ebx, ecx
or edi, eax
mov ecx, dword [esp + 0x94]
xor edx, edx
mov eax, dword [esp + 0xa8]
mov esi, ecx
shld ecx, eax, 3
shr esi, 0x1d
or edx, ecx
shl eax, 3
mov ecx, dword [esp + 0x94]
or esi, eax
mov eax, dword [esp + 0xa8]
xor ebx, edx
shrd eax, ecx, 6
xor edi, esi
xor edi, eax
shr ecx, 6
xor ebx, ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x74]
add ebp, edi
mov edi, dword [esp + 0xcc]
mov esi, edi
adc eax, ebx
add ebp, dword [esp + 0xa4]
mov ebx, edi
adc eax, dword [esp + 0x84]
add dword [esp + 0x68], ebp
adc dword [esp + 0x6c], eax
mov eax, edi
shrd eax, ecx, 8
shl ebx, 0x18
xor ebp, ebp
shr ecx, 8
or ebp, eax
or ebx, ecx
shl esi, 0x1f
mov ecx, dword [esp + 0x74]
mov eax, edi
shrd eax, ecx, 1
xor edx, edx
shr ecx, 1
or edx, eax
or esi, ecx
mov eax, edi
mov ecx, dword [esp + 0x74]
xor ebx, esi
shrd eax, ecx, 7
xor ebp, edx
xor edi, edi
shr ecx, 7
xor ebp, eax
mov eax, dword [esp + 0xa0]
xor ebx, ecx
mov ecx, dword [esp + 0x64]
xor edx, edx
mov dword [esp + 0x10], ebx
mov ebx, eax
shrd eax, ecx, 0x13
shl ebx, 0xd
shr ecx, 0x13
or edi, eax
mov eax, dword [esp + 0xa0]
or ebx, ecx
mov ecx, dword [esp + 0x64]
mov esi, ecx
shld ecx, eax, 3
shr esi, 0x1d
shl eax, 3
or edx, ecx
mov ecx, dword [esp + 0x64]
or esi, eax
mov eax, dword [esp + 0xa0]
xor edi, esi
shrd eax, ecx, 6
xor ebx, edx
shr ecx, 6
xor edi, eax
xor ebx, ecx
add ebp, edi
mov eax, dword [esp + 0x10]
adc eax, ebx
mov edi, dword [esp + 0xc8]
add ebp, dword [esp + 0xb8]
mov ebx, edi
mov ecx, dword [esp + 0x78]
mov esi, edi
adc eax, dword [esp + 0x88]
add dword [esp + 0xd0], ebp
adc dword [esp + 0x70], eax
mov eax, edi
shrd eax, ecx, 8
shl ebx, 0x18
xor ebp, ebp
or ebp, eax
shr ecx, 8
or ebx, ecx
shl esi, 0x1f
mov ecx, dword [esp + 0x78]
mov eax, edi
shrd eax, ecx, 1
xor edx, edx
or edx, eax
shr ecx, 1
or esi, ecx
mov eax, edi
mov ecx, dword [esp + 0x78]
xor ebx, esi
shrd eax, ecx, 7
xor ebp, edx
xor edi, edi
shr ecx, 7
xor ebp, eax
mov eax, dword [esp + 0x68]
xor ebx, ecx
mov ecx, dword [esp + 0x6c]
xor edx, edx
mov dword [esp + 0x10], ebx
mov ebx, eax
shrd eax, ecx, 0x13
shl ebx, 0xd
or edi, eax
shr ecx, 0x13
mov eax, dword [esp + 0x68]
or ebx, ecx
mov ecx, dword [esp + 0x6c]
mov esi, ecx
shld ecx, eax, 3
shr esi, 0x1d
shl eax, 3
or edx, ecx
mov ecx, dword [esp + 0x6c]
or esi, eax
mov eax, dword [esp + 0x68]
xor ebx, edx
shrd eax, ecx, 6
xor edi, esi
xor edi, eax
shr ecx, 6
mov eax, dword [esp + 0x10]
xor ebx, ecx
mov ecx, dword [esp + 0x7c]
add ebp, edi
mov edi, dword [esp + 0xc4]
mov esi, edi
adc eax, ebx
add ebp, dword [esp + 0xd4]
mov ebx, edi
adc eax, dword [esp + 0x90]
add dword [esp + 0xcc], ebp
adc dword [esp + 0x74], eax
mov eax, edi
shrd eax, ecx, 8
xor ebp, ebp
shl ebx, 0x18
shr ecx, 8
or ebp, eax
or ebx, ecx
xor edx, edx
shl esi, 0x1f
mov eax, edi
mov ecx, dword [esp + 0x7c]
shrd eax, ecx, 1
shr ecx, 1
or edx, eax
or esi, ecx
xor ebp, edx
mov ecx, dword [esp + 0x7c]
xor ebx, esi
mov eax, edi
xor edx, edx
shrd eax, ecx, 7
xor edi, edi
shr ecx, 7
xor ebp, eax
xor ebx, ecx
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x10], ebx
mov ebx, eax
shrd eax, ecx, 0x13
shl ebx, 0xd
or edi, eax
shr ecx, 0x13
mov eax, dword [esp + 0xd0]
or ebx, ecx
mov ecx, dword [esp + 0x70]
mov esi, ecx
shld ecx, eax, 3
shr esi, 0x1d
or edx, ecx
shl eax, 3
mov ecx, dword [esp + 0x70]
or esi, eax
mov eax, dword [esp + 0xd0]
xor ebx, edx
shrd eax, ecx, 6
xor edi, esi
shr ecx, 6
xor edi, eax
mov eax, dword [esp + 0x10]
xor ebx, ecx
mov ecx, dword [esp + 0x8c]
add ebp, edi
mov edi, dword [esp + 0xc0]
mov esi, edi
adc eax, ebx
add ebp, dword [esp + 0xdc]
mov ebx, edi
adc eax, dword [esp + 0xb0]
add dword [esp + 0xc8], ebp
adc dword [esp + 0x78], eax
mov eax, edi
shrd eax, ecx, 8
shl ebx, 0x18
xor ebp, ebp
shr ecx, 8
or ebp, eax
or ebx, ecx
shl esi, 0x1f
mov ecx, dword [esp + 0x8c]
mov eax, edi
shrd eax, ecx, 1
xor edx, edx
shr ecx, 1
or edx, eax
or esi, ecx
mov eax, edi
mov ecx, dword [esp + 0x8c]
xor ebx, esi
shrd eax, ecx, 7
xor ebp, edx
xor edi, edi
shr ecx, 7
xor ebp, eax
mov eax, dword [esp + 0xcc]
xor ebx, ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x10], ebx
mov ebx, eax
shl ebx, 0xd
shrd eax, ecx, 0x13
or edi, eax
shr ecx, 0x13
or ebx, ecx
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0x74]
xor edx, edx
mov esi, ecx
shld ecx, eax, 3
shr esi, 0x1d
or edx, ecx
shl eax, 3
mov ecx, dword [esp + 0x74]
or esi, eax
mov eax, dword [esp + 0xcc]
xor ebx, edx
shrd eax, ecx, 6
xor edi, esi
xor edi, eax
shr ecx, 6
mov eax, dword [esp + 0x10]
xor ebx, ecx
mov ecx, dword [esp + 0x98]
add ebp, edi
mov edi, dword [esp + 0xb4]
mov esi, edi
adc eax, ebx
add ebp, dword [esp + 0xd8]
mov ebx, edi
adc eax, dword [esp + 0xac]
add dword [esp + 0xc4], ebp
adc dword [esp + 0x7c], eax
mov eax, edi
shrd eax, ecx, 8
shl ebx, 0x18
xor ebp, ebp
shr ecx, 8
or ebp, eax
or ebx, ecx
shl esi, 0x1f
mov ecx, dword [esp + 0x98]
mov eax, edi
shrd eax, ecx, 1
xor edx, edx
shr ecx, 1
or edx, eax
or esi, ecx
mov eax, edi
mov ecx, dword [esp + 0x98]
xor ebx, esi
shrd eax, ecx, 7
xor ebp, edx
xor edi, edi
shr ecx, 7
xor ebp, eax
mov eax, dword [esp + 0xc8]
xor ebx, ecx
mov ecx, dword [esp + 0x78]
xor edx, edx
mov dword [esp + 0x10], ebx
mov ebx, eax
shrd eax, ecx, 0x13
shl ebx, 0xd
shr ecx, 0x13
or edi, eax
mov eax, dword [esp + 0xc8]
or ebx, ecx
mov ecx, dword [esp + 0x78]
mov esi, ecx
shld ecx, eax, 3
shr esi, 0x1d
shl eax, 3
or edx, ecx
mov ecx, dword [esp + 0x78]
or esi, eax
mov eax, dword [esp + 0xc8]
xor edi, esi
shrd eax, ecx, 6
xor ebx, edx
shr ecx, 6
xor edi, eax
xor ebx, ecx
mov eax, dword [esp + 0x10]
add ebp, edi
mov edi, dword [esp + 0xbc]
mov esi, edi
adc eax, ebx
mov ecx, dword [esp + 0x9c]
add ebp, dword [esp + 0xa8]
mov ebx, edi
adc eax, dword [esp + 0x94]
add dword [esp + 0xc0], ebp
adc dword [esp + 0x8c], eax
mov eax, edi
shrd eax, ecx, 8
shl ebx, 0x18
xor ebp, ebp
shr ecx, 8
or ebp, eax
or ebx, ecx
shl esi, 0x1f
mov ecx, dword [esp + 0x9c]
mov eax, edi
shrd eax, ecx, 1
xor edx, edx
or edx, eax
shr ecx, 1
or esi, ecx
mov eax, edi
mov ecx, dword [esp + 0x9c]
xor ebx, esi
shrd eax, ecx, 7
xor ebp, edx
xor edi, edi
shr ecx, 7
xor ebp, eax
mov eax, dword [esp + 0xc4]
xor ebx, ecx
mov ecx, dword [esp + 0x7c]
xor edx, edx
mov dword [esp + 0x10], ebx
mov ebx, eax
shrd eax, ecx, 0x13
shl ebx, 0xd
or edi, eax
shr ecx, 0x13
mov eax, dword [esp + 0xc4]
or ebx, ecx
mov ecx, dword [esp + 0x7c]
mov esi, ecx
shld ecx, eax, 3
shr esi, 0x1d
shl eax, 3
or edx, ecx
mov ecx, dword [esp + 0x7c]
or esi, eax
mov eax, dword [esp + 0xc4]
xor ebx, edx
shrd eax, ecx, 6
xor edi, esi
xor edi, eax
shr ecx, 6
mov eax, dword [esp + 0x10]
xor ebx, ecx
mov ecx, dword [esp + 0x80]
add ebp, edi
mov edi, dword [esp + 0x60]
mov esi, edi
adc eax, ebx
add ebp, dword [esp + 0xa0]
mov ebx, edi
adc eax, dword [esp + 0x64]
add dword [esp + 0xb4], ebp
adc dword [esp + 0x98], eax
mov eax, edi
shrd eax, ecx, 8
xor ebp, ebp
shl ebx, 0x18
shr ecx, 8
or ebp, eax
or ebx, ecx
xor edx, edx
shl esi, 0x1f
mov ecx, dword [esp + 0x80]
mov eax, edi
shrd eax, ecx, 1
shr ecx, 1
or edx, eax
or esi, ecx
xor ebp, edx
mov ecx, dword [esp + 0x80]
xor ebx, esi
mov eax, edi
xor edx, edx
shrd eax, ecx, 7
xor edi, edi
shr ecx, 7
xor ebp, eax
xor ebx, ecx
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x10], ebx
mov ebx, eax
shrd eax, ecx, 0x13
shl ebx, 0xd
or edi, eax
shr ecx, 0x13
mov eax, dword [esp + 0xc0]
or ebx, ecx
mov ecx, dword [esp + 0x8c]
mov esi, ecx
shld ecx, eax, 3
shr esi, 0x1d
or edx, ecx
shl eax, 3
mov ecx, dword [esp + 0x8c]
or esi, eax
mov eax, dword [esp + 0xc0]
xor ebx, edx
shrd eax, ecx, 6
xor edi, esi
shr ecx, 6
xor edi, eax
mov eax, dword [esp + 0x10]
xor ebx, ecx
mov ecx, dword [esp + 0x84]
add ebp, edi
mov edi, dword [esp + 0xa4]
mov esi, edi
adc eax, ebx
add ebp, dword [esp + 0x68]
mov ebx, edi
adc eax, dword [esp + 0x6c]
add dword [esp + 0xbc], ebp
adc dword [esp + 0x9c], eax
mov eax, edi
shrd eax, ecx, 8
shl ebx, 0x18
xor ebp, ebp
shr ecx, 8
or ebp, eax
or ebx, ecx
shl esi, 0x1f
mov ecx, dword [esp + 0x84]
mov eax, edi
shrd eax, ecx, 1
xor edx, edx
shr ecx, 1
or edx, eax
or esi, ecx
mov eax, edi
mov ecx, dword [esp + 0x84]
xor ebx, esi
shrd eax, ecx, 7
xor ebp, edx
xor edi, edi
shr ecx, 7
xor ebp, eax
mov eax, dword [esp + 0xb4]
xor ebx, ecx
mov ecx, dword [esp + 0x98]
mov dword [esp + 0x10], ebx
mov ebx, eax
shl ebx, 0xd
shrd eax, ecx, 0x13
xor edx, edx
or edi, eax
shr ecx, 0x13
or ebx, ecx
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0x98]
mov esi, ecx
shld ecx, eax, 3
shr esi, 0x1d
or edx, ecx
shl eax, 3
mov ecx, dword [esp + 0x98]
or esi, eax
mov eax, dword [esp + 0xb4]
xor ebx, edx
shrd eax, ecx, 6
xor edi, esi
xor edi, eax
shr ecx, 6
mov eax, dword [esp + 0x10]
xor ebx, ecx
mov ecx, dword [esp + 0x88]
add ebp, edi
mov edi, dword [esp + 0xb8]
mov esi, edi
adc eax, ebx
add ebp, dword [esp + 0xd0]
mov ebx, edi
adc eax, dword [esp + 0x70]
add dword [esp + 0x60], ebp
adc dword [esp + 0x80], eax
mov eax, edi
shrd eax, ecx, 8
shl ebx, 0x18
xor ebp, ebp
shr ecx, 8
or ebp, eax
or ebx, ecx
shl esi, 0x1f
mov ecx, dword [esp + 0x88]
mov eax, edi
shrd eax, ecx, 1
xor edx, edx
shr ecx, 1
or edx, eax
or esi, ecx
mov eax, edi
mov ecx, dword [esp + 0x88]
xor ebx, esi
shrd eax, ecx, 7
xor ebp, edx
xor edi, edi
shr ecx, 7
xor ebp, eax
mov eax, dword [esp + 0xbc]
xor ebx, ecx
mov ecx, dword [esp + 0x9c]
xor edx, edx
mov dword [esp + 0x10], ebx
mov ebx, eax
shrd eax, ecx, 0x13
shl ebx, 0xd
shr ecx, 0x13
or edi, eax
mov eax, dword [esp + 0xbc]
or ebx, ecx
mov ecx, dword [esp + 0x9c]
mov esi, ecx
shld ecx, eax, 3
shr esi, 0x1d
shl eax, 3
or edx, ecx
mov ecx, dword [esp + 0x9c]
or esi, eax
mov eax, dword [esp + 0xbc]
xor edi, esi
shrd eax, ecx, 6
xor ebx, edx
shr ecx, 6
xor edi, eax
xor ebx, ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x90]
add ebp, edi
mov edi, dword [esp + 0xd4]
mov esi, edi
adc eax, ebx
add ebp, dword [esp + 0xcc]
mov ebx, edi
adc eax, dword [esp + 0x74]
add dword [esp + 0xa4], ebp
adc dword [esp + 0x84], eax
mov eax, edi
shrd eax, ecx, 8
shl ebx, 0x18
xor ebp, ebp
shr ecx, 8
or ebp, eax
or ebx, ecx
shl esi, 0x1f
mov ecx, dword [esp + 0x90]
mov eax, edi
shrd eax, ecx, 1
xor edx, edx
shr ecx, 1
or edx, eax
or esi, ecx
mov eax, edi
mov ecx, dword [esp + 0x90]
xor ebx, esi
shrd eax, ecx, 7
xor ebp, edx
xor edi, edi
shr ecx, 7
xor ebp, eax
mov eax, dword [esp + 0x60]
xor ebx, ecx
mov ecx, dword [esp + 0x80]
xor edx, edx
mov dword [esp + 0x10], ebx
mov ebx, eax
shrd eax, ecx, 0x13
shl ebx, 0xd
or edi, eax
shr ecx, 0x13
mov eax, dword [esp + 0x60]
or ebx, ecx
mov ecx, dword [esp + 0x80]
mov esi, ecx
shld ecx, eax, 3
shr esi, 0x1d
shl eax, 3
or edx, ecx
mov ecx, dword [esp + 0x80]
or esi, eax
mov eax, dword [esp + 0x60]
xor edi, esi
shrd eax, ecx, 6
xor ebx, edx
xor edi, eax
shr ecx, 6
mov eax, dword [esp + 0x10]
xor ebx, ecx
mov ecx, dword [esp + 0xb0]
add ebp, edi
mov edi, dword [esp + 0xdc]
mov esi, edi
adc eax, ebx
add ebp, dword [esp + 0xc8]
mov ebx, edi
adc eax, dword [esp + 0x78]
add dword [esp + 0xb8], ebp
adc dword [esp + 0x88], eax
mov eax, edi
shrd eax, ecx, 8
xor ebp, ebp
shl ebx, 0x18
shr ecx, 8
or ebp, eax
or ebx, ecx
xor edx, edx
mov ecx, dword [esp + 0xb0]
mov eax, edi
shrd eax, ecx, 1
shl esi, 0x1f
or edx, eax
shr ecx, 1
or esi, ecx
mov eax, edi
mov ecx, dword [esp + 0xb0]
xor ebx, esi
shrd eax, ecx, 7
xor ebp, edx
xor edi, edi
shr ecx, 7
xor ebp, eax
mov eax, dword [esp + 0xa4]
xor ebx, ecx
mov ecx, dword [esp + 0x84]
xor edx, edx
mov dword [esp + 0x10], ebx
mov ebx, eax
shrd eax, ecx, 0x13
shl ebx, 0xd
or edi, eax
shr ecx, 0x13
mov eax, dword [esp + 0xa4]
or ebx, ecx
mov ecx, dword [esp + 0x84]
mov esi, ecx
shld ecx, eax, 3
shr esi, 0x1d
or edx, ecx
shl eax, 3
mov ecx, dword [esp + 0x84]
or esi, eax
mov eax, dword [esp + 0xa4]
xor edi, esi
shrd eax, ecx, 6
xor ebx, edx
xor edi, eax
shr ecx, 6
mov eax, dword [esp + 0x10]
xor ebx, ecx
add ebp, edi
adc eax, ebx
add ebp, dword [esp + 0xc4]
adc eax, dword [esp + 0x7c]
add dword [esp + 0xd4], ebp
mov ebp, dword [esp + 0x5c]
mov edi, ebp
adc dword [esp + 0x90], eax
mov ecx, ebp
mov eax, dword [esp + 0x34]
xor ebx, ebx
shld ecx, eax, 0x17
shr edi, 9
xor edx, edx
shl eax, 0x17
or ebx, ecx
or edi, eax
mov ecx, ebp
mov eax, dword [esp + 0x34]
mov esi, eax
shrd eax, ecx, 0x12
shl esi, 0xe
shr ecx, 0x12
or edx, eax
mov eax, dword [esp + 0x34]
or esi, ecx
xor ebx, esi
xor edi, edx
mov esi, eax
mov ecx, ebp
shrd eax, ecx, 0xe
xor edx, edx
shl esi, 0x12
shr ecx, 0xe
or edx, eax
or esi, ecx
xor edi, edx
xor ebx, esi
mov esi, dword [esp + 0x34]
mov edx, ebp
mov ecx, dword [esp + 0x4c]
not edx
and edx, dword [esp + 0x3c]
not esi
and esi, dword [esp + 0x44]
and ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x38]
xor esi, ecx
and eax, ebp
mov ecx, dword [esp + 0x18]
xor edx, eax
add edi, esi
mov eax, dword [esp + 0x2c]
adc ebx, edx
add edi, dword [esp + 0xa8]
mov edx, eax
adc ebx, dword [esp + 0x94]
add edi, dword [esp + 0x50]
adc ebx, dword [esp + 0x54]
add edi, 0xea26619c
adc ebx, 0xca273ece
shl edx, 4
shrd eax, ecx, 0x1c
xor ebp, ebp
or ebp, eax
shr ecx, 0x1c
mov eax, dword [esp + 0x2c]
or edx, ecx
mov ecx, dword [esp + 0x18]
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
shl eax, 0x1e
or esi, eax
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0x2c]
xor edx, edx
or edx, ecx
xor ebp, esi
xor dword [esp + 0x24], edx
xor edx, edx
mov ecx, dword [esp + 0x18]
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
shl eax, 0x19
or edx, ecx
xor dword [esp + 0x24], edx
or esi, eax
mov edx, dword [esp + 0x14]
xor ebp, esi
xor edx, dword [esp + 0x18]
mov esi, dword [esp + 0x30]
xor esi, dword [esp + 0x2c]
and esi, dword [esp + 0x58]
and edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
and ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x14]
xor esi, ecx
and eax, dword [esp + 0x18]
xor edx, eax
mov eax, dword [esp + 0x24]
add ebp, esi
mov dword [esp + 0x10], ebp
mov ebp, ebx
adc eax, edx
mov edx, edi
add edx, dword [esp + 0x28]
mov dword [esp + 0x50], edx
adc ebp, dword [esp + 0x20]
add dword [esp + 0x10], edi
mov ecx, ebp
mov edi, ebp
adc eax, ebx
shr edi, 9
mov dword [esp + 0x24], eax
xor ebx, ebx
mov eax, edx
shld ecx, eax, 0x17
mov esi, edx
xor edx, edx
or ebx, ecx
shl eax, 0x17
or edi, eax
shl esi, 0xe
mov eax, dword [esp + 0x50]
mov ecx, ebp
shrd eax, ecx, 0x12
or edx, eax
shr ecx, 0x12
or esi, ecx
mov eax, dword [esp + 0x50]
xor ebx, esi
xor edi, edx
mov esi, eax
xor edx, edx
shl esi, 0x12
mov ecx, ebp
shrd eax, ecx, 0xe
or edx, eax
shr ecx, 0xe
or esi, ecx
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x34]
xor ebx, esi
and ecx, dword [esp + 0x50]
xor edi, edx
mov esi, dword [esp + 0x50]
and eax, ebp
not esi
mov edx, ebp
and esi, dword [esp + 0x4c]
not edx
and edx, dword [esp + 0x38]
xor esi, ecx
xor edx, eax
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
add edi, esi
mov esi, eax
adc ebx, edx
add edi, dword [esp + 0xa0]
adc ebx, dword [esp + 0x64]
add edi, dword [esp + 0x44]
adc ebx, dword [esp + 0x3c]
add edi, 0x21c0c207
adc ebx, 0xd186b8c7
shl esi, 4
shrd eax, ecx, 0x1c
xor edx, edx
or edx, eax
shr ecx, 0x1c
mov eax, dword [esp + 0x10]
or esi, ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x20], esi
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
mov dword [esp + 0x28], edx
xor edx, edx
shl eax, 0x1e
or edx, ecx
mov ecx, dword [esp + 0x24]
or esi, eax
xor dword [esp + 0x28], esi
mov esi, ecx
mov eax, dword [esp + 0x10]
xor dword [esp + 0x20], edx
xor edx, edx
shld ecx, eax, 0x19
shr esi, 7
shl eax, 0x19
or edx, ecx
mov ecx, dword [esp + 0x2c]
or esi, eax
xor dword [esp + 0x28], esi
mov esi, ecx
xor dword [esp + 0x20], edx
xor esi, dword [esp + 0x10]
and esi, dword [esp + 0x30]
and ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
xor esi, ecx
xor edx, dword [esp + 0x24]
mov ecx, ebx
and edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
and eax, dword [esp + 0x24]
xor edx, eax
mov eax, dword [esp + 0x28]
add eax, esi
mov esi, dword [esp + 0x20]
adc esi, edx
mov edx, edi
add edx, dword [esp + 0x58]
mov dword [esp + 0x48], edx
adc ecx, dword [esp + 0x1c]
add eax, edi
mov dword [esp + 0x3c], ecx
mov edi, ecx
adc esi, ebx
mov dword [esp + 0x28], eax
mov eax, edx
mov dword [esp + 0x20], esi
shld ecx, eax, 0x17
xor ebx, ebx
shr edi, 9
or ebx, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x3c]
or edi, eax
mov eax, dword [esp + 0x48]
mov esi, edx
shrd eax, ecx, 0x12
shl esi, 0xe
xor edx, edx
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x48]
or esi, ecx
mov ecx, dword [esp + 0x3c]
xor ebx, esi
xor edi, edx
mov esi, eax
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
or edx, eax
shr ecx, 0xe
or esi, ecx
xor edi, edx
mov edx, dword [esp + 0x3c]
xor ebx, esi
mov esi, dword [esp + 0x48]
not edx
and edx, dword [esp + 0x5c]
not esi
and esi, dword [esp + 0x34]
mov eax, ebp
and eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x50]
xor edx, eax
and ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x28]
xor esi, ecx
mov ecx, dword [esp + 0x20]
add edi, esi
mov esi, eax
adc ebx, edx
add edi, dword [esp + 0x68]
adc ebx, dword [esp + 0x6c]
add edi, dword [esp + 0x4c]
adc ebx, dword [esp + 0x38]
add edi, 0xcde0eb1e
adc ebx, 0xeada7dd6
xor edx, edx
shrd eax, ecx, 0x1c
shl esi, 4
shr ecx, 0x1c
or esi, ecx
or edx, eax
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x1c], esi
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
shl eax, 0x1e
or esi, eax
mov dword [esp + 0x40], edx
xor dword [esp + 0x40], esi
xor edx, edx
mov eax, dword [esp + 0x28]
or edx, ecx
xor dword [esp + 0x1c], edx
xor edx, edx
mov ecx, dword [esp + 0x20]
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x1c], edx
or esi, eax
xor dword [esp + 0x40], esi
mov edx, dword [esp + 0x24]
xor edx, dword [esp + 0x20]
and edx, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
xor esi, dword [esp + 0x28]
and esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x24]
and eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
xor edx, eax
and ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x40]
xor esi, ecx
add eax, esi
mov ecx, ebx
mov esi, dword [esp + 0x1c]
adc esi, edx
mov edx, edi
add edx, dword [esp + 0x30]
mov dword [esp + 0x4c], edx
adc ecx, dword [esp + 0x14]
add eax, edi
mov dword [esp + 0x40], eax
mov edi, ecx
adc esi, ebx
mov dword [esp + 0x44], ecx
mov eax, edx
shr edi, 9
shld ecx, eax, 0x17
xor ebx, ebx
mov dword [esp + 0x1c], esi
shl eax, 0x17
or ebx, ecx
mov ecx, dword [esp + 0x44]
or edi, eax
mov eax, dword [esp + 0x4c]
mov esi, edx
shrd eax, ecx, 0x12
shl esi, 0xe
xor edx, edx
shr ecx, 0x12
or edx, eax
mov eax, dword [esp + 0x4c]
or esi, ecx
mov ecx, dword [esp + 0x44]
xor ebx, esi
mov esi, eax
xor edi, edx
shrd eax, ecx, 0xe
xor edx, edx
shl esi, 0x12
shr ecx, 0xe
or edx, eax
or esi, ecx
xor edi, edx
xor ebx, esi
mov edx, dword [esp + 0x44]
mov esi, dword [esp + 0x4c]
not edx
mov ecx, dword [esp + 0x48]
not esi
and esi, dword [esp + 0x50]
and edx, ebp
and ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x3c]
xor esi, ecx
and eax, dword [esp + 0x44]
xor edx, eax
mov ecx, dword [esp + 0x1c]
add edi, esi
mov eax, dword [esp + 0x40]
mov esi, eax
adc ebx, edx
add edi, dword [esp + 0xd0]
adc ebx, dword [esp + 0x70]
add edi, dword [esp + 0x34]
adc ebx, dword [esp + 0x5c]
add edi, 0xee6ed178
adc ebx, 0xf57d4f7f
shl esi, 4
shrd eax, ecx, 0x1c
xor edx, edx
or edx, eax
shr ecx, 0x1c
mov eax, dword [esp + 0x40]
or esi, ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x14], esi
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
mov dword [esp + 0x38], edx
xor edx, edx
or edx, ecx
shl eax, 0x1e
xor dword [esp + 0x14], edx
or esi, eax
xor dword [esp + 0x38], esi
xor edx, edx
mov ecx, dword [esp + 0x1c]
mov esi, ecx
mov eax, dword [esp + 0x40]
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x14], edx
or esi, eax
xor dword [esp + 0x38], esi
mov edx, dword [esp + 0x20]
xor edx, dword [esp + 0x1c]
and edx, dword [esp + 0x24]
mov esi, dword [esp + 0x28]
xor esi, dword [esp + 0x40]
and esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
and eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x28]
xor edx, eax
and ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x38]
xor esi, ecx
add eax, esi
mov ecx, ebx
mov esi, dword [esp + 0x14]
adc esi, edx
mov edx, edi
add edx, dword [esp + 0x2c]
mov dword [esp + 0x54], edx
adc ecx, dword [esp + 0x18]
add eax, edi
mov dword [esp + 0x34], ecx
mov edi, ecx
adc esi, ebx
mov dword [esp + 0x38], eax
mov dword [esp + 0x14], esi
mov eax, edx
shr edi, 9
shld ecx, eax, 0x17
xor ebx, ebx
mov esi, edx
or ebx, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x34]
or edi, eax
mov eax, dword [esp + 0x54]
xor edx, edx
shrd eax, ecx, 0x12
shl esi, 0xe
or edx, eax
shr ecx, 0x12
or esi, ecx
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x34]
xor ebx, esi
xor edi, edx
mov esi, eax
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
or edx, eax
shr ecx, 0xe
or esi, ecx
mov eax, dword [esp + 0x44]
and eax, dword [esp + 0x34]
xor ebx, esi
mov esi, dword [esp + 0x54]
xor edi, edx
mov edx, dword [esp + 0x34]
not esi
and esi, dword [esp + 0x48]
not edx
and edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x4c]
xor edx, eax
and ecx, dword [esp + 0x54]
xor esi, ecx
mov ecx, dword [esp + 0x14]
add edi, esi
adc ebx, edx
add edi, dword [esp + 0xcc]
adc ebx, dword [esp + 0x74]
add edi, dword [esp + 0x50]
adc ebx, ebp
mov ebp, dword [esp + 0x38]
add edi, 0x72176fba
mov eax, ebp
mov esi, ebp
adc ebx, 0x6f067aa
shl esi, 4
shrd eax, ecx, 0x1c
xor edx, edx
or edx, eax
shr ecx, 0x1c
or esi, ecx
mov dword [esp + 0x2c], edx
mov ecx, dword [esp + 0x14]
mov eax, ebp
mov dword [esp + 0x18], esi
xor edx, edx
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
shl eax, 0x1e
or edx, ecx
mov ecx, dword [esp + 0x14]
or esi, eax
xor dword [esp + 0x2c], esi
mov eax, ebp
xor dword [esp + 0x18], edx
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
xor edx, edx
shl eax, 0x19
or esi, eax
or edx, ecx
xor dword [esp + 0x2c], esi
xor dword [esp + 0x18], edx
mov edx, dword [esp + 0x1c]
xor edx, dword [esp + 0x14]
and edx, dword [esp + 0x20]
mov esi, dword [esp + 0x40]
mov eax, dword [esp + 0x1c]
xor esi, ebp
and eax, dword [esp + 0x14]
and esi, dword [esp + 0x28]
xor edx, eax
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x2c]
and ecx, ebp
xor esi, ecx
mov ebp, ebx
mov ecx, dword [esp + 0x18]
add eax, esi
adc ecx, edx
mov edx, edi
add edx, dword [esp + 0x10]
mov dword [esp + 0x50], edx
mov esi, edx
adc ebp, dword [esp + 0x24]
add eax, edi
mov dword [esp + 0x2c], eax
mov edi, ebp
adc ecx, ebx
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x18], ecx
mov eax, edx
xor ebx, ebx
shr edi, 9
mov ecx, ebp
shl esi, 0xe
shld ecx, eax, 0x17
xor edx, edx
or ebx, ecx
shl eax, 0x17
or edi, eax
mov ecx, ebp
mov eax, dword [esp + 0x50]
shrd eax, ecx, 0x12
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x50]
or esi, ecx
xor ebx, esi
xor edi, edx
mov esi, eax
xor edx, edx
shl esi, 0x12
mov ecx, ebp
shrd eax, ecx, 0xe
or edx, eax
shr ecx, 0xe
mov eax, dword [esp + 0x34]
or esi, ecx
and eax, dword [esp + 0x5c]
xor ebx, esi
mov esi, dword [esp + 0x50]
xor edi, edx
mov ecx, dword [esp + 0x54]
mov edx, ebp
and ecx, dword [esp + 0x50]
not esi
and esi, dword [esp + 0x4c]
not edx
mov ebp, dword [esp + 0x44]
xor esi, ecx
and edx, ebp
xor edx, eax
mov eax, dword [esp + 0x2c]
add edi, esi
adc ebx, edx
add edi, dword [esp + 0xc8]
adc ebx, dword [esp + 0x78]
add edi, dword [esp + 0x48]
adc ebx, dword [esp + 0x3c]
add edi, 0xa2c898a6
adc ebx, 0xa637dc5
mov ecx, dword [esp + 0x18]
mov esi, eax
shrd eax, ecx, 0x1c
shl esi, 4
xor edx, edx
or edx, eax
shr ecx, 0x1c
or esi, ecx
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x24], esi
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
shl eax, 0x1e
or esi, eax
mov dword [esp + 0x48], edx
xor dword [esp + 0x48], esi
xor edx, edx
mov eax, dword [esp + 0x2c]
or edx, ecx
xor dword [esp + 0x24], edx
xor edx, edx
mov ecx, dword [esp + 0x18]
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x24], edx
or esi, eax
xor dword [esp + 0x48], esi
mov edx, dword [esp + 0x14]
xor edx, dword [esp + 0x18]
and edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x38]
xor esi, dword [esp + 0x2c]
and esi, dword [esp + 0x40]
mov eax, dword [esp + 0x14]
and eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x38]
xor edx, eax
and ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x48]
xor esi, ecx
add eax, esi
mov ecx, ebx
mov esi, dword [esp + 0x24]
adc esi, edx
mov edx, edi
add edx, dword [esp + 0x28]
mov dword [esp + 0x44], edx
adc ecx, dword [esp + 0x20]
add eax, edi
mov dword [esp + 0x48], eax
mov edi, ecx
adc esi, ebx
mov dword [esp + 0x10], ecx
mov eax, edx
shr edi, 9
shld ecx, eax, 0x17
xor ebx, ebx
mov dword [esp + 0x24], esi
shl eax, 0x17
or ebx, ecx
mov ecx, dword [esp + 0x10]
or edi, eax
mov eax, dword [esp + 0x44]
mov esi, edx
shrd eax, ecx, 0x12
shl esi, 0xe
xor edx, edx
shr ecx, 0x12
or edx, eax
mov eax, dword [esp + 0x44]
or esi, ecx
xor ebx, esi
xor edi, edx
mov esi, eax
xor edx, edx
shl esi, 0x12
mov ecx, dword [esp + 0x10]
shrd eax, ecx, 0xe
or edx, eax
shr ecx, 0xe
or esi, ecx
mov eax, dword [esp + 0x5c]
and eax, dword [esp + 0x10]
xor ebx, esi
mov esi, dword [esp + 0x44]
xor edi, edx
mov edx, dword [esp + 0x10]
not esi
and esi, dword [esp + 0x54]
not edx
and edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x50]
xor edx, eax
and ecx, dword [esp + 0x44]
xor esi, ecx
mov ecx, dword [esp + 0x24]
add edi, esi
adc ebx, edx
add edi, dword [esp + 0xc4]
adc ebx, dword [esp + 0x7c]
add edi, dword [esp + 0x4c]
adc ebx, ebp
mov ebp, dword [esp + 0x48]
add edi, 0xbef90dae
mov eax, ebp
mov esi, ebp
adc ebx, 0x113f9804
shl esi, 4
shrd eax, ecx, 0x1c
xor edx, edx
or edx, eax
shr ecx, 0x1c
or esi, ecx
mov dword [esp + 0x28], edx
mov ecx, dword [esp + 0x24]
xor edx, edx
mov dword [esp + 0x20], esi
mov eax, ebp
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
or edx, ecx
shl eax, 0x1e
xor dword [esp + 0x20], edx
or esi, eax
xor dword [esp + 0x28], esi
xor edx, edx
mov ecx, dword [esp + 0x24]
mov eax, ebp
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x20], edx
or esi, eax
xor dword [esp + 0x28], esi
mov edx, dword [esp + 0x18]
xor edx, dword [esp + 0x24]
mov esi, dword [esp + 0x2c]
and edx, dword [esp + 0x14]
xor esi, ebp
mov eax, dword [esp + 0x18]
and eax, dword [esp + 0x24]
and esi, dword [esp + 0x38]
xor edx, eax
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
and ecx, ebp
xor esi, ecx
mov ebp, ebx
mov ecx, dword [esp + 0x20]
add eax, esi
adc ecx, edx
mov edx, edi
add edx, dword [esp + 0x40]
mov dword [esp + 0x4c], edx
adc ebp, dword [esp + 0x1c]
mov esi, edx
add eax, edi
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x28], eax
mov edi, ebp
adc ecx, ebx
mov eax, edx
mov dword [esp + 0x20], ecx
xor ebx, ebx
shl esi, 0xe
xor edx, edx
shr edi, 9
mov ecx, ebp
shld ecx, eax, 0x17
or ebx, ecx
shl eax, 0x17
or edi, eax
mov ecx, ebp
mov eax, dword [esp + 0x4c]
shrd eax, ecx, 0x12
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x4c]
or esi, ecx
xor ebx, esi
xor edi, edx
mov esi, eax
xor edx, edx
shl esi, 0x12
mov ecx, ebp
shrd eax, ecx, 0xe
or edx, eax
shr ecx, 0xe
mov eax, dword [esp + 0x10]
or esi, ecx
mov ecx, dword [esp + 0x44]
xor ebx, esi
and ecx, dword [esp + 0x4c]
xor edi, edx
mov esi, dword [esp + 0x4c]
and eax, ebp
not esi
mov edx, ebp
and esi, dword [esp + 0x50]
not edx
and edx, dword [esp + 0x5c]
xor esi, ecx
mov ecx, dword [esp + 0x20]
xor edx, eax
mov eax, dword [esp + 0x28]
add edi, esi
mov esi, eax
adc ebx, edx
add edi, dword [esp + 0xc0]
adc ebx, dword [esp + 0x8c]
add edi, dword [esp + 0x54]
adc ebx, dword [esp + 0x34]
add edi, 0x131c471b
adc ebx, 0x1b710b35
shl esi, 4
shrd eax, ecx, 0x1c
xor edx, edx
shr ecx, 0x1c
or edx, eax
mov eax, dword [esp + 0x28]
or esi, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x1c], esi
mov esi, ecx
shld ecx, eax, 0x1e
mov dword [esp + 0x54], edx
xor edx, edx
shr esi, 2
or edx, ecx
mov ecx, dword [esp + 0x20]
shl eax, 0x1e
or esi, eax
xor dword [esp + 0x54], esi
mov esi, ecx
xor dword [esp + 0x1c], edx
mov eax, dword [esp + 0x28]
xor edx, edx
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x1c], edx
or esi, eax
xor dword [esp + 0x54], esi
mov edx, dword [esp + 0x24]
xor edx, dword [esp + 0x20]
and edx, dword [esp + 0x18]
mov esi, dword [esp + 0x48]
xor esi, dword [esp + 0x28]
and esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x24]
and eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x48]
xor edx, eax
and ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x54]
xor esi, ecx
add eax, esi
mov ecx, ebx
mov esi, dword [esp + 0x1c]
adc esi, edx
mov edx, edi
add edx, dword [esp + 0x38]
mov dword [esp + 0x38], edx
adc ecx, dword [esp + 0x14]
add eax, edi
mov dword [esp + 0x34], ecx
mov edi, ecx
adc esi, ebx
mov dword [esp + 0x54], eax
mov eax, edx
shr edi, 9
shld ecx, eax, 0x17
xor ebx, ebx
mov dword [esp + 0x1c], esi
or ebx, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x34]
or edi, eax
mov eax, dword [esp + 0x38]
mov esi, edx
shrd eax, ecx, 0x12
shl esi, 0xe
xor edx, edx
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x38]
or esi, ecx
mov ecx, dword [esp + 0x34]
xor ebx, esi
xor edi, edx
mov esi, eax
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
or edx, eax
shr ecx, 0xe
or esi, ecx
xor edi, edx
mov edx, dword [esp + 0x34]
xor ebx, esi
mov esi, dword [esp + 0x38]
not edx
and edx, dword [esp + 0x10]
not esi
and esi, dword [esp + 0x44]
mov eax, ebp
mov ecx, dword [esp + 0x4c]
and ecx, dword [esp + 0x38]
and eax, dword [esp + 0x34]
xor esi, ecx
xor edx, eax
add edi, esi
adc ebx, edx
add edi, dword [esp + 0xb4]
adc ebx, dword [esp + 0x98]
add edi, dword [esp + 0x50]
mov ebp, dword [esp + 0x54]
mov esi, ebp
adc ebx, dword [esp + 0x5c]
mov eax, ebp
mov ecx, dword [esp + 0x1c]
add edi, 0x23047d84
adc ebx, 0x28db77f5
shl esi, 4
shrd eax, ecx, 0x1c
xor edx, edx
or edx, eax
shr ecx, 0x1c
or esi, ecx
mov dword [esp + 0x30], edx
mov ecx, dword [esp + 0x1c]
xor edx, edx
mov dword [esp + 0x14], esi
mov eax, ebp
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
or edx, ecx
shl eax, 0x1e
xor dword [esp + 0x14], edx
or esi, eax
xor dword [esp + 0x30], esi
xor edx, edx
mov ecx, dword [esp + 0x1c]
mov eax, ebp
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x14], edx
or esi, eax
xor dword [esp + 0x30], esi
mov edx, dword [esp + 0x20]
xor edx, dword [esp + 0x1c]
and edx, dword [esp + 0x24]
mov esi, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
xor esi, ebp
and eax, dword [esp + 0x1c]
and esi, dword [esp + 0x48]
xor edx, eax
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x30]
and ecx, ebp
xor esi, ecx
mov ebp, ebx
mov ecx, dword [esp + 0x14]
add eax, esi
adc ecx, edx
mov edx, edi
add edx, dword [esp + 0x2c]
mov dword [esp + 0x50], edx
mov esi, edx
adc ebp, dword [esp + 0x18]
add eax, edi
mov dword [esp + 0x30], eax
mov edi, ebp
adc ecx, ebx
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x14], ecx
mov eax, edx
mov ecx, ebp
shr edi, 9
shld ecx, eax, 0x17
xor ebx, ebx
shl esi, 0xe
shl eax, 0x17
or ebx, ecx
or edi, eax
mov ecx, ebp
mov eax, dword [esp + 0x50]
xor edx, edx
shrd eax, ecx, 0x12
shr ecx, 0x12
or edx, eax
or esi, ecx
mov eax, dword [esp + 0x50]
xor ebx, esi
xor edi, edx
mov esi, eax
xor edx, edx
shl esi, 0x12
mov ecx, ebp
shrd eax, ecx, 0xe
or edx, eax
shr ecx, 0xe
or esi, ecx
mov eax, dword [esp + 0x34]
and eax, dword [esp + 0x5c]
xor ebx, esi
mov esi, dword [esp + 0x50]
xor edi, edx
mov ecx, dword [esp + 0x38]
not esi
and esi, dword [esp + 0x4c]
mov edx, ebp
and ecx, dword [esp + 0x50]
not edx
mov ebp, dword [esp + 0x3c]
xor esi, ecx
mov ecx, dword [esp + 0x14]
and edx, ebp
xor edx, eax
mov eax, dword [esp + 0x30]
add edi, esi
mov esi, eax
adc ebx, edx
add edi, dword [esp + 0xbc]
adc ebx, dword [esp + 0x9c]
add edi, dword [esp + 0x44]
adc ebx, dword [esp + 0x10]
add edi, 0x40c72493
adc ebx, 0x32caab7b
shl esi, 4
shrd eax, ecx, 0x1c
xor edx, edx
or edx, eax
shr ecx, 0x1c
mov eax, dword [esp + 0x30]
or esi, ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x18], esi
mov esi, ecx
shld ecx, eax, 0x1e
mov dword [esp + 0x10], edx
xor edx, edx
shr esi, 2
or edx, ecx
xor dword [esp + 0x18], edx
xor edx, edx
mov ecx, dword [esp + 0x14]
shl eax, 0x1e
or esi, eax
mov eax, dword [esp + 0x30]
xor dword [esp + 0x10], esi
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
shl eax, 0x19
or edx, ecx
xor dword [esp + 0x18], edx
or esi, eax
xor dword [esp + 0x10], esi
mov esi, dword [esp + 0x54]
xor esi, dword [esp + 0x30]
mov edx, dword [esp + 0x1c]
xor edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x54]
and esi, dword [esp + 0x28]
and ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x1c]
xor esi, ecx
and eax, dword [esp + 0x14]
and edx, dword [esp + 0x20]
xor edx, eax
mov eax, dword [esp + 0x10]
add eax, esi
mov ecx, ebx
mov esi, dword [esp + 0x18]
adc esi, edx
mov edx, edi
add edx, dword [esp + 0x48]
mov dword [esp + 0x44], edx
adc ecx, dword [esp + 0x24]
add eax, edi
mov dword [esp + 0x3c], ecx
mov edi, ecx
adc esi, ebx
mov dword [esp + 0x10], eax
mov eax, edx
mov dword [esp + 0x18], esi
shld ecx, eax, 0x17
xor ebx, ebx
shr edi, 9
or ebx, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x3c]
or edi, eax
mov eax, dword [esp + 0x44]
mov esi, edx
shrd eax, ecx, 0x12
shl esi, 0xe
xor edx, edx
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x44]
or esi, ecx
mov ecx, dword [esp + 0x3c]
xor ebx, esi
xor edi, edx
mov esi, eax
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
or edx, eax
shr ecx, 0xe
mov eax, dword [esp + 0x5c]
or esi, ecx
and eax, dword [esp + 0x3c]
xor ebx, esi
mov esi, dword [esp + 0x44]
xor edi, edx
mov edx, dword [esp + 0x3c]
not esi
and esi, dword [esp + 0x38]
not edx
and edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x50]
xor edx, eax
and ecx, dword [esp + 0x44]
xor esi, ecx
mov ecx, dword [esp + 0x18]
add edi, esi
adc ebx, edx
add edi, dword [esp + 0x60]
adc ebx, dword [esp + 0x80]
add edi, dword [esp + 0x4c]
adc ebx, ebp
mov ebp, dword [esp + 0x10]
add edi, 0x15c9bebc
mov eax, ebp
mov esi, ebp
adc ebx, 0x3c9ebe0a
shl esi, 4
shrd eax, ecx, 0x1c
xor edx, edx
shr ecx, 0x1c
or edx, eax
or esi, ecx
mov dword [esp + 0x2c], edx
mov ecx, dword [esp + 0x18]
mov eax, ebp
mov dword [esp + 0x60], esi
xor edx, edx
mov esi, ecx
shr esi, 2
shld ecx, eax, 0x1e
or edx, ecx
shl eax, 0x1e
xor dword [esp + 0x60], edx
or esi, eax
xor dword [esp + 0x2c], esi
xor edx, edx
mov ecx, dword [esp + 0x18]
mov eax, ebp
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x60], edx
or esi, eax
xor dword [esp + 0x2c], esi
mov edx, dword [esp + 0x14]
xor edx, dword [esp + 0x18]
and edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
xor esi, ebp
and esi, dword [esp + 0x54]
and eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x30]
xor edx, eax
mov eax, dword [esp + 0x2c]
and ecx, ebp
xor esi, ecx
mov ebp, ebx
mov ecx, dword [esp + 0x60]
add eax, esi
adc ecx, edx
mov edx, edi
add edx, dword [esp + 0x28]
mov dword [esp + 0x4c], edx
mov esi, edx
adc ebp, dword [esp + 0x20]
add eax, edi
mov dword [esp + 0x2c], eax
mov edi, ebp
adc ecx, ebx
mov dword [esp + 0x48], ebp
mov dword [esp + 0x60], ecx
mov eax, edx
mov ecx, ebp
shr edi, 9
shld ecx, eax, 0x17
xor ebx, ebx
shl esi, 0xe
or ebx, ecx
shl eax, 0x17
or edi, eax
xor edx, edx
mov eax, dword [esp + 0x4c]
mov ecx, ebp
shrd eax, ecx, 0x12
shr ecx, 0x12
or edx, eax
mov eax, dword [esp + 0x4c]
or esi, ecx
xor ebx, esi
xor edi, edx
mov esi, eax
mov ecx, ebp
shrd eax, ecx, 0xe
xor edx, edx
shl esi, 0x12
shr ecx, 0xe
or edx, eax
or esi, ecx
xor edi, edx
mov ecx, dword [esp + 0x44]
xor ebx, esi
mov esi, dword [esp + 0x4c]
mov edx, ebp
not esi
not edx
and esi, dword [esp + 0x50]
and edx, dword [esp + 0x5c]
and ecx, dword [esp + 0x4c]
xor esi, ecx
mov eax, dword [esp + 0x3c]
and eax, ebp
mov ecx, dword [esp + 0x60]
xor edx, eax
add edi, esi
mov eax, dword [esp + 0x2c]
mov esi, eax
adc ebx, edx
add edi, dword [esp + 0xa4]
adc ebx, dword [esp + 0x84]
add edi, dword [esp + 0x38]
adc ebx, dword [esp + 0x34]
add edi, 0x9c100d4c
adc ebx, 0x431d67c4
shl esi, 4
shrd eax, ecx, 0x1c
xor edx, edx
or edx, eax
shr ecx, 0x1c
mov eax, dword [esp + 0x2c]
or esi, ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x20], esi
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
shl eax, 0x1e
or esi, eax
mov dword [esp + 0x58], edx
xor dword [esp + 0x58], esi
xor edx, edx
mov eax, dword [esp + 0x2c]
or edx, ecx
xor dword [esp + 0x20], edx
xor edx, edx
mov ecx, dword [esp + 0x60]
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x20], edx
or esi, eax
xor dword [esp + 0x58], esi
mov edx, dword [esp + 0x18]
xor edx, dword [esp + 0x60]
and edx, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
xor esi, dword [esp + 0x2c]
and esi, dword [esp + 0x30]
mov eax, dword [esp + 0x18]
and eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x10]
xor edx, eax
and ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x58]
xor esi, ecx
add eax, esi
mov ecx, ebx
mov esi, dword [esp + 0x20]
adc esi, edx
mov edx, edi
add edx, dword [esp + 0x54]
mov dword [esp + 0xa4], edx
adc ecx, dword [esp + 0x1c]
add eax, edi
mov dword [esp + 0x58], eax
mov edi, ecx
adc esi, ebx
mov dword [esp + 0x54], ecx
mov eax, edx
shr edi, 9
shld ecx, eax, 0x17
xor ebx, ebx
mov dword [esp + 0x20], esi
shl eax, 0x17
or ebx, ecx
or edi, eax
mov esi, edx
xor edx, edx
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0x54]
shrd eax, ecx, 0x12
shl esi, 0xe
or edx, eax
shr ecx, 0x12
or esi, ecx
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0x54]
xor ebx, esi
xor edi, edx
mov esi, eax
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
or edx, eax
shr ecx, 0xe
or esi, ecx
xor edi, edx
mov edx, dword [esp + 0x54]
xor ebx, esi
mov esi, dword [esp + 0xa4]
not edx
and edx, dword [esp + 0x3c]
not esi
and esi, dword [esp + 0x44]
mov eax, ebp
and eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x4c]
xor edx, eax
and ecx, dword [esp + 0xa4]
xor esi, ecx
mov ebp, dword [esp + 0x58]
mov ecx, dword [esp + 0x20]
add edi, esi
mov eax, ebp
adc ebx, edx
add edi, dword [esp + 0xb8]
mov edx, ebp
adc ebx, dword [esp + 0x88]
add edi, dword [esp + 0x50]
adc ebx, dword [esp + 0x5c]
add edi, 0xcb3e42b6
adc ebx, 0x4cc5d4be
xor esi, esi
shrd eax, ecx, 0x1c
shl edx, 4
or esi, eax
shr ecx, 0x1c
or edx, ecx
mov dword [esp + 0x40], esi
mov ecx, dword [esp + 0x20]
mov eax, ebp
mov dword [esp + 0x1c], edx
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
xor edx, edx
shl eax, 0x1e
or edx, ecx
mov ecx, dword [esp + 0x20]
or esi, eax
xor dword [esp + 0x40], esi
mov eax, ebp
xor dword [esp + 0x1c], edx
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
xor edx, edx
shl eax, 0x19
or edx, ecx
xor dword [esp + 0x1c], edx
or esi, eax
xor dword [esp + 0x40], esi
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0x60]
xor esi, ebp
xor edx, dword [esp + 0x20]
mov ebp, dword [esp + 0x10]
and esi, ebp
and edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x2c]
and ecx, dword [esp + 0x58]
xor esi, ecx
mov eax, dword [esp + 0x60]
and eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x40]
xor edx, eax
add ecx, esi
mov eax, dword [esp + 0x1c]
mov esi, ebx
adc eax, edx
mov edx, edi
add edx, dword [esp + 0x30]
mov dword [esp + 0x10], edx
adc esi, dword [esp + 0x14]
add ecx, edi
mov dword [esp + 0x40], ecx
mov edi, esi
adc eax, ebx
mov dword [esp + 0x30], esi
mov dword [esp + 0x1c], eax
mov ecx, esi
mov eax, edx
shr edi, 9
shld ecx, eax, 0x17
xor ebx, ebx
mov esi, edx
or ebx, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x30]
or edi, eax
mov eax, dword [esp + 0x10]
xor edx, edx
shrd eax, ecx, 0x12
shl esi, 0xe
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x10]
or esi, ecx
mov ecx, dword [esp + 0x30]
xor ebx, esi
xor edi, edx
mov esi, eax
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
or edx, eax
shr ecx, 0xe
mov eax, dword [esp + 0x54]
or esi, ecx
and eax, dword [esp + 0x30]
xor ebx, esi
mov esi, dword [esp + 0x10]
xor edi, edx
mov edx, dword [esp + 0x30]
not esi
and esi, dword [esp + 0x4c]
not edx
and edx, dword [esp + 0x48]
mov ecx, dword [esp + 0xa4]
xor edx, eax
and ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x40]
xor esi, ecx
mov ecx, dword [esp + 0x1c]
add edi, esi
adc ebx, edx
add edi, dword [esp + 0xd4]
mov edx, eax
adc ebx, dword [esp + 0x90]
add edi, dword [esp + 0x44]
adc ebx, dword [esp + 0x3c]
add edi, 0xfc657e2a
adc ebx, 0x597f299c
xor esi, esi
shrd eax, ecx, 0x1c
shl edx, 4
or esi, eax
shr ecx, 0x1c
mov dword [esp + 0x14], esi
or edx, ecx
mov ecx, dword [esp + 0x1c]
mov esi, ecx
mov eax, dword [esp + 0x40]
shld ecx, eax, 0x1e
shr esi, 2
shl eax, 0x1e
or esi, eax
mov dword [esp + 0x28], edx
xor dword [esp + 0x14], esi
xor edx, edx
mov eax, dword [esp + 0x40]
or edx, ecx
xor dword [esp + 0x28], edx
xor edx, edx
mov ecx, dword [esp + 0x1c]
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x28], edx
or esi, eax
xor dword [esp + 0x14], esi
mov esi, dword [esp + 0x58]
xor esi, dword [esp + 0x40]
and esi, dword [esp + 0x2c]
mov edx, dword [esp + 0x20]
xor edx, dword [esp + 0x1c]
and edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x58]
and ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x20]
xor esi, ecx
and eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
xor edx, eax
mov eax, dword [esp + 0x28]
add ecx, esi
mov esi, ebx
adc eax, edx
mov edx, edi
add edx, ebp
mov dword [esp + 0x34], edx
adc esi, dword [esp + 0x18]
add ecx, edi
mov edi, dword [esp + 0x34]
mov ebp, esi
adc eax, ebx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x28], eax
mov ecx, esi
mov eax, edx
mov dword [esp + 0x38], esi
shld ecx, eax, 0x17
shr ebp, 9
xor ebx, ebx
shl eax, 0x17
or ebx, ecx
mov ecx, dword [esp + 0x38]
or ebp, eax
mov esi, edx
mov eax, edi
shrd eax, ecx, 0x12
shl esi, 0xe
xor edx, edx
shr ecx, 0x12
or edx, eax
or esi, ecx
xor ebp, edx
mov ecx, dword [esp + 0x38]
xor ebx, esi
mov eax, edi
mov esi, edi
shrd eax, ecx, 0xe
xor edx, edx
shl esi, 0x12
shr ecx, 0xe
or edx, eax
or esi, ecx
xor ebp, edx
xor ebx, esi
mov edx, dword [esp + 0xd8]
xor edi, edi
mov ecx, dword [esp + 0xac]
mov eax, edx
shrd eax, ecx, 8
mov dword [esp + 0x44], ebx
mov esi, edx
or edi, eax
shr ecx, 8
mov eax, dword [esp + 0xd8]
mov ebx, edx
shl ebx, 0x18
xor edx, edx
or ebx, ecx
shl esi, 0x1f
mov ecx, dword [esp + 0xac]
shrd eax, ecx, 1
or edx, eax
shr ecx, 1
mov eax, dword [esp + 0xd8]
or esi, ecx
mov ecx, dword [esp + 0xac]
xor edi, edx
shrd eax, ecx, 7
xor ebx, esi
xor edi, eax
shr ecx, 7
mov eax, dword [esp + 0xb8]
xor ebx, ecx
mov ecx, dword [esp + 0x88]
add ebp, edi
adc dword [esp + 0x44], ebx
xor edi, edi
mov ebx, eax
xor edx, edx
shrd eax, ecx, 0x13
shl ebx, 0xd
or edi, eax
shr ecx, 0x13
mov eax, dword [esp + 0xb8]
or ebx, ecx
mov ecx, dword [esp + 0x88]
mov esi, ecx
shld ecx, eax, 3
shr esi, 0x1d
or edx, ecx
shl eax, 3
mov ecx, dword [esp + 0x88]
or esi, eax
mov eax, dword [esp + 0xb8]
xor edi, esi
mov esi, dword [esp + 0x34]
xor ebx, edx
mov edx, dword [esp + 0x38]
not esi
shrd eax, ecx, 6
not edx
xor edi, eax
shr ecx, 6
mov eax, dword [esp + 0x30]
xor ebx, ecx
mov ecx, dword [esp + 0x10]
add ebp, edi
mov edi, dword [esp + 0x44]
adc edi, ebx
and esi, dword [esp + 0xa4]
and ecx, dword [esp + 0x34]
and edx, dword [esp + 0x54]
xor esi, ecx
and eax, dword [esp + 0x38]
xor edx, eax
add ebp, esi
adc edi, edx
add ebp, dword [esp + 0xdc]
adc edi, dword [esp + 0xb0]
add ebp, dword [esp + 0xc0]
adc edi, dword [esp + 0x8c]
add ebp, dword [esp + 0x4c]
adc edi, dword [esp + 0x48]
add ebp, 0x3ad6faec
adc edi, 0x5fcb6fab
mov ebx, dword [esp + 0x28]
xor esi, esi
mov eax, dword [esp + 0x14]
mov ecx, ebx
mov edx, eax
shrd eax, ecx, 0x1c
shl edx, 4
or esi, eax
shr ecx, 0x1c
mov eax, dword [esp + 0x14]
or edx, ecx
mov dword [esp + 0x18], esi
mov ecx, ebx
shld ecx, eax, 0x1e
mov dword [esp + 0x24], edx
mov esi, ebx
shl eax, 0x1e
xor edx, edx
or edx, ecx
shr esi, 2
xor dword [esp + 0x24], edx
or esi, eax
xor dword [esp + 0x18], esi
xor edx, edx
mov eax, dword [esp + 0x14]
mov ecx, ebx
shld ecx, eax, 0x19
mov esi, ebx
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x24], edx
mov ecx, dword [esp + 0x40]
shr esi, 7
or esi, eax
mov eax, dword [esp + 0x1c]
xor dword [esp + 0x18], esi
mov edx, eax
and eax, ebx
mov esi, ecx
xor esi, dword [esp + 0x14]
xor edx, ebx
and ecx, dword [esp + 0x14]
and esi, dword [esp + 0x58]
and edx, dword [esp + 0x20]
xor esi, ecx
mov ecx, dword [esp + 0x18]
xor edx, eax
mov eax, dword [esp + 0x24]
add ecx, esi
mov esi, edi
adc eax, edx
mov edx, ebp
add edx, dword [esp + 0x2c]
mov dword [esp + 0x3c], edx
adc esi, dword [esp + 0x60]
add ecx, ebp
mov dword [esp + 0x18], ecx
mov ebx, esi
adc eax, edi
mov dword [esp + 0x48], esi
mov edi, dword [esp + 0x3c]
mov ecx, esi
mov dword [esp + 0x24], eax
xor ebp, ebp
mov eax, edx
shr ebx, 9
shld ecx, eax, 0x17
mov esi, edx
xor edx, edx
shl eax, 0x17
or ebp, ecx
mov ecx, dword [esp + 0x48]
or ebx, eax
mov eax, edi
shl esi, 0xe
shrd eax, ecx, 0x12
shr ecx, 0x12
or edx, eax
or esi, ecx
xor ebx, edx
xor ebp, esi
mov ecx, dword [esp + 0x48]
xor edx, edx
mov eax, edi
mov esi, edi
shrd eax, ecx, 0xe
shl esi, 0x12
xor edi, edi
or edx, eax
shr ecx, 0xe
or esi, ecx
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0x90]
xor ebx, edx
mov dword [esp + 0x5c], ebx
xor ebp, esi
mov ebx, eax
xor edx, edx
shrd eax, ecx, 0x13
shl ebx, 0xd
shr ecx, 0x13
or edi, eax
mov eax, dword [esp + 0xd4]
or ebx, ecx
mov ecx, dword [esp + 0x90]
mov esi, ecx
shld ecx, eax, 3
shr esi, 0x1d
or edx, ecx
shl eax, 3
mov ecx, dword [esp + 0x90]
or esi, eax
mov eax, dword [esp + 0xd4]
xor edi, esi
shrd eax, ecx, 6
xor ebx, edx
mov edx, dword [esp + 0xa8]
shr ecx, 6
xor edi, eax
xor ebx, ecx
mov eax, edx
add dword [esp + 0x5c], edi
mov esi, edx
mov ecx, dword [esp + 0x94]
adc ebp, ebx
mov ebx, edx
shrd eax, ecx, 8
xor edi, edi
shl ebx, 0x18
shr ecx, 8
or edi, eax
mov eax, dword [esp + 0xa8]
or ebx, ecx
mov ecx, dword [esp + 0x94]
xor edx, edx
shrd eax, ecx, 1
shl esi, 0x1f
shr ecx, 1
or edx, eax
mov eax, dword [esp + 0xa8]
or esi, ecx
mov ecx, dword [esp + 0x94]
xor edi, edx
mov edx, dword [esp + 0x48]
xor ebx, esi
mov esi, dword [esp + 0x3c]
not edx
shrd eax, ecx, 7
not esi
shr ecx, 7
xor edi, eax
mov eax, dword [esp + 0x38]
xor ebx, ecx
add dword [esp + 0x5c], edi
mov ecx, dword [esp + 0x34]
adc ebp, ebx
and esi, dword [esp + 0x10]
and ecx, dword [esp + 0x3c]
and edx, dword [esp + 0x30]
xor esi, ecx
and eax, dword [esp + 0x48]
xor edx, eax
mov eax, dword [esp + 0x5c]
add eax, esi
mov ecx, dword [esp + 0x24]
adc ebp, edx
add eax, dword [esp + 0xd8]
adc ebp, dword [esp + 0xac]
add eax, dword [esp + 0xb4]
adc ebp, dword [esp + 0x98]
add eax, dword [esp + 0xa4]
adc ebp, dword [esp + 0x54]
add eax, 0x4a475817
mov dword [esp + 0x5c], eax
adc ebp, 0x6c44198c
mov eax, dword [esp + 0x18]
mov ebx, eax
xor edi, edi
shrd eax, ecx, 0x1c
shl ebx, 4
xor edx, edx
shr ecx, 0x1c
or edi, eax
mov eax, dword [esp + 0x18]
or ebx, ecx
mov ecx, dword [esp + 0x24]
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
or edx, ecx
shl eax, 0x1e
mov ecx, dword [esp + 0x24]
or esi, eax
mov eax, dword [esp + 0x18]
xor edi, esi
xor ebx, edx
mov esi, ecx
shld ecx, eax, 0x19
xor edx, edx
shr esi, 7
or edx, ecx
shl eax, 0x19
mov ecx, dword [esp + 0x14]
or esi, eax
mov eax, dword [esp + 0x28]
xor ebx, edx
xor edi, esi
mov edx, eax
xor edx, dword [esp + 0x24]
mov esi, ecx
and ecx, dword [esp + 0x18]
xor esi, dword [esp + 0x18]
and eax, dword [esp + 0x24]
and edx, dword [esp + 0x1c]
and esi, dword [esp + 0x40]
xor edx, eax
xor esi, ecx
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x5c]
add edi, esi
adc ebx, edx
add ecx, dword [esp + 0x58]
mov edx, dword [esp + 0xe0]
mov dword [esp + 0x54], ecx
mov ecx, ebp
adc ecx, dword [esp + 0x20]
add edx, edi
mov edi, dword [esp + 0x28]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0xe4]
adc ecx, ebx
add dword [esp + 0x5c], edx
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
adc ecx, ebp
add ebx, dword [esp + 0xe8]
mov dword [esp + 0x58], ecx
adc eax, dword [esp + 0xec]
add edx, dword [esp + 0xf0]
mov dword [esp + 0x18], ebx
adc edi, dword [esp + 0xf4]
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], edx
mov ecx, dword [esp + 0x40]
add ecx, dword [esp + 0xf8]
mov esi, dword [esp + 0x1c]
adc esi, dword [esp + 0xfc]
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x100]
add dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x104]
adc dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x108]
add dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x10c]
adc dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x110]
add dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x114]
adc dword [esp + 0x38], ecx
add ebp, dword [esp + 0x118]
mov ecx, dword [esp + 0x11c]
adc dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x104], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x10c], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0xe8], ebx
mov ebx, dword [esp + 0x120]
mov dword [esp + 0x10], ebp
sub ebx, 0xffffff80
mov dword [esp + 0x114], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x118], ebp
mov ebp, dword [esp + 0x124]
add ebp, 0xffffff80
mov dword [esp + 0x11c], eax
mov eax, dword [esp + 0x128]
mov dword [esp + 0xe0], ecx
adc eax, 0xffffffff
mov ecx, dword [esp + 0x58]
mov dword [esp + 0xe4], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x28], edi
mov dword [esp + 0x1c], esi
mov dword [esp + 0xf0], edx
mov dword [esp + 0xf4], edi
mov dword [esp + 0xf8], ecx
mov dword [esp + 0xfc], esi
mov dword [esp + 0x120], ebx
mov dword [esp + 0x124], ebp
mov dword [esp + 0x128], eax
test eax, eax
ja 0x564308
jb 0x56e3eb
cmp ebp, 0x80
jae 0x564308
mov ebx, dword [esp + 0x130]
push dword [esp + 0x58]
push dword [esp + 0x60]
push ebx
call fcn.0056e503
push dword [esp + 0x24]
lea eax, [ebx + 8]
push dword [esp + 0x1c]
push eax
call fcn.0056e503
push edi
push dword [esp + 0x18]
lea eax, [ebx + 0x10]
push eax
call fcn.0056e503
push esi
push dword [esp + 0x44]
lea eax, [ebx + 0x18]
push eax
call fcn.0056e503
push dword [esp + 0x2c]
lea eax, [ebx + 0x20]
push dword [esp + 0x58]
push eax
call fcn.0056e503
push dword [esp + 0x48]
lea eax, [ebx + 0x28]
push dword [esp + 0x40]
push eax
call fcn.0056e503
push dword [esp + 0x38]
lea eax, [ebx + 0x30]
push dword [esp + 0x38]
push eax
call fcn.0056e503
push dword [esp + 0x30]
lea eax, [ebx + 0x38]
push dword [esp + 0x14]
push eax
call fcn.0056e503
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x11c
ret 0x10