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

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