Function at 0x560613
Capabilities:
Hash data using sha512

Disassembly:
sub esp, 0x11c
push ebx
mov ebx, dword [esp + 0x124]
push ebp
push esi
push edi
push ebx
call fcn.0056a8e2
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.0056a8e2
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.0056a8e2
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.0056a8e2
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.0056a8e2
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.0056a8e2
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.0056a8e2
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.0056a8e2
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 0x560759
cmp ebp, 0x80
jb 0x56a854
mov ebx, dword [esp + 0x134]
add ebx, 0x10
mov dword [esp + 0x120], ebx
lea eax, [ebx - 0x10]
push eax
call fcn.0056a8e2
lea ecx, [ebx - 8]
mov dword [esp + 0x94], edx
mov ebp, eax
push ecx
mov dword [esp + 0xac], ebp
call fcn.0056a8e2
push ebx
mov dword [esp + 0xa4], eax
mov dword [esp + 0x68], edx
call fcn.0056a8e2
lea ecx, [ebx + 8]
mov dword [esp + 0x68], eax
push ecx
mov dword [esp + 0x70], edx
call fcn.0056a8e2
lea ecx, [ebx + 0x10]
mov dword [esp + 0xd0], eax
push ecx
mov dword [esp + 0x74], edx
call fcn.0056a8e2
lea ecx, [ebx + 0x18]
mov dword [esp + 0xcc], eax
push ecx
mov dword [esp + 0x78], edx
call fcn.0056a8e2
lea ecx, [ebx + 0x20]
mov dword [esp + 0xc8], eax
push ecx
mov dword [esp + 0x7c], edx
call fcn.0056a8e2
lea ecx, [ebx + 0x28]
mov dword [esp + 0xc4], eax
push ecx
mov dword [esp + 0x80], edx
call fcn.0056a8e2
lea ecx, [ebx + 0x30]
mov dword [esp + 0xc0], eax
push ecx
mov dword [esp + 0x90], edx
call fcn.0056a8e2
lea ecx, [ebx + 0x38]
mov dword [esp + 0xb4], eax
push ecx
mov dword [esp + 0x9c], edx
call fcn.0056a8e2
lea ecx, [ebx + 0x40]
mov dword [esp + 0xbc], eax
push ecx
mov dword [esp + 0xa0], edx
call fcn.0056a8e2
lea ecx, [ebx + 0x48]
mov dword [esp + 0x60], eax
push ecx
mov dword [esp + 0x84], edx
call fcn.0056a8e2
lea ecx, [ebx + 0x50]
mov dword [esp + 0xa4], eax
push ecx
mov dword [esp + 0x88], edx
call fcn.0056a8e2
lea ecx, [ebx + 0x58]
mov dword [esp + 0xb8], eax
push ecx
mov dword [esp + 0x8c], edx
call fcn.0056a8e2
lea ecx, [ebx + 0x60]
mov dword [esp + 0xd4], eax
push ecx
mov dword [esp + 0x94], edx
call fcn.0056a8e2
lea ecx, [ebx + 0x68]
mov dword [esp + 0xdc], eax
push ecx
mov dword [esp + 0xb4], edx
call fcn.0056a8e2
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
push dword [esp + 0x58]
push dword [esp + 0x60]
push ebx
call fcn.0056a965
push dword [esp + 0x24]
lea eax, [ebx + 8]
push dword [esp + 0x1c]
push eax
call fcn.0056a965
push edi
push dword [esp + 0x18]
lea eax, [ebx + 0x10]
push eax
call fcn.0056a965
push esi
push dword [esp + 0x44]
lea eax, [ebx + 0x18]
push eax
call fcn.0056a965
push dword [esp + 0x2c]
lea eax, [ebx + 0x20]
push dword [esp + 0x58]
push eax
call fcn.0056a965
push dword [esp + 0x48]
lea eax, [ebx + 0x28]
push dword [esp + 0x40]
push eax
call fcn.0056a965
push dword [esp + 0x38]
lea eax, [ebx + 0x30]
push dword [esp + 0x38]
push eax
call fcn.0056a965
push dword [esp + 0x30]
lea eax, [ebx + 0x38]
push dword [esp + 0x14]
push eax
call fcn.0056a965
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x11c
ret 0x10