Function at 0x1004ee50
Capabilities:
Hash data using sha512

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