Function at 0x4967dc
Capabilities:
Encode data using xor
Hash data using sha512

Disassembly:
sub esp, 0x118
push ebx
push ebp
mov ebp, dword [esp + 0x124]
push esi
push edi
mov eax, dword [ebp]
mov ecx, dword [ebp + 4]
mov dword [esp + 0x120], eax
mov dword [esp + 0x40], eax
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0x20]
mov dword [esp + 0x108], eax
mov dword [esp + 0x48], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x10c], eax
mov dword [esp + 0x64], eax
mov eax, dword [ebp + 0x24]
mov dword [esp + 0xe4], eax
mov eax, dword [ebp + 0x28]
mov dword [esp + 0xf0], eax
mov eax, dword [ebp + 0x2c]
mov dword [esp + 0xe8], eax
mov eax, dword [ebp + 0x30]
mov dword [esp + 0xf4], eax
mov eax, dword [ebp + 0x34]
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 0x110], ecx
mov dword [esp + 0x38], ecx
mov ecx, dword [ebp + 0xc]
push dword [eax + 4]
mov dword [esp + 0x11c], ecx
push dword [eax]
mov dword [esp + 0x70], ecx
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x11c], ecx
mov dword [esp + 0x74], ecx
mov dword [esp + 0xf4], esi
call fcn.00496666
mov dword [esp + 0xa4], eax
mov edi, esi
mov eax, dword [ebp + 0x38]
mov dword [esp + 0x108], eax
mov eax, dword [ebp + 0x3c]
mov dword [esp + 0x10c], eax
mov eax, esi
mov dword [esp + 0xac], edx
mov edx, dword [esp + 0xec]
mov ebx, edx
shrd edi, ebx, 0x17
mov ecx, edx
shld ecx, eax, 4
shr ebx, 0x17
xor edi, esi
shl eax, 4
xor ebx, edx
xor eax, esi
xor ecx, edx
shld ecx, eax, 0x17
shrd edi, ebx, 4
shl eax, 0x17
xor ecx, edx
shr ebx, 4
xor eax, esi
shld ecx, eax, 0x17
xor ebx, edx
xor edi, esi
shrd edi, ebx, 0xe
shl eax, 0x17
shr ebx, 0xe
xor edi, eax
mov eax, dword [esp + 0x100]
xor ebx, ecx
mov ecx, dword [esp + 0xfc]
xor ecx, dword [esp + 0xf8]
xor eax, dword [esp + 0xf0]
and ecx, esi
xor ecx, dword [esp + 0xfc]
and eax, edx
xor eax, dword [esp + 0x100]
add edi, ecx
adc ebx, eax
mov edx, dword [esp + 0x40]
add edi, dword [esp + 0x108]
mov esi, edx
mov eax, dword [ebp + 0x18]
adc ebx, dword [esp + 0x10c]
add edi, dword [esp + 0xa4]
mov ecx, dword [ebp + 0x1c]
mov ebp, ecx
adc ebx, dword [esp + 0xac]
add edi, 0xd728ae22
mov dword [esp + 0x124], eax
adc ebx, 0x428a2f98
mov dword [esp + 0x12c], ecx
add eax, edi
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x48]
adc ebp, ebx
mov ecx, eax
shrd ecx, esi, 5
xor ecx, eax
shr esi, 5
xor esi, edx
shrd ecx, esi, 6
xor ecx, eax
shr esi, 6
xor esi, edx
shrd ecx, esi, 0x1c
mov dword [esp + 0x64], ecx
mov ecx, edx
shld ecx, eax, 6
mov dword [esp + 0x54], esi
shr dword [esp + 0x54], 0x1c
xor ecx, edx
mov esi, dword [esp + 0x50]
xor esi, dword [esp + 0x48]
shl eax, 6
xor eax, dword [esp + 0x48]
and esi, dword [esp + 0x6c]
shld ecx, eax, 5
shl eax, 5
xor ecx, edx
xor eax, dword [esp + 0x48]
shld ecx, eax, 0x19
xor dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x50]
and ecx, dword [esp + 0x48]
shl eax, 0x19
xor esi, ecx
xor dword [esp + 0x64], eax
mov eax, dword [esp + 0x70]
mov edx, eax
and eax, dword [esp + 0x40]
xor edx, dword [esp + 0x40]
and edx, dword [esp + 0x74]
xor edx, eax
add dword [esp + 0x64], esi
mov eax, dword [esp + 0x54]
mov esi, dword [esp + 0x64]
adc eax, edx
add esi, edi
mov dword [esp + 0x64], esi
adc eax, ebx
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x138]
push dword [eax + 0xc]
push dword [eax + 8]
call fcn.00496666
mov dword [esp + 0xc4], edx
mov ebx, ebp
mov edx, dword [esp + 0x80]
mov edi, edx
shrd edi, ebx, 0x17
mov dword [esp + 0xd0], eax
shr ebx, 0x17
xor edi, edx
xor ebx, ebp
shrd edi, ebx, 4
shr ebx, 4
xor edi, edx
xor ebx, ebp
mov eax, edx
mov ecx, ebp
shld ecx, eax, 4
shrd edi, ebx, 0xe
shl eax, 4
xor ecx, ebp
xor eax, edx
shr ebx, 0xe
shld ecx, eax, 0x17
shl eax, 0x17
xor ecx, ebp
xor eax, edx
shld ecx, eax, 0x17
xor ebx, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x100]
xor edi, eax
xor ecx, dword [esp + 0xfc]
mov eax, dword [esp + 0xf8]
and ecx, edx
xor eax, dword [esp + 0xf4]
xor ecx, dword [esp + 0x100]
and eax, ebp
xor eax, dword [esp + 0xf8]
add edi, ecx
mov edx, dword [esp + 0x5c]
mov ecx, edx
adc ebx, eax
add edi, dword [esp + 0xd0]
mov eax, esi
adc ebx, dword [esp + 0xc4]
add edi, dword [esp + 0x104]
adc ebx, dword [esp + 0x108]
add edi, 0x23ef65cd
adc ebx, 0x71374491
add dword [esp + 0x74], edi
adc dword [esp + 0x7c], ebx
shrd eax, ecx, 5
shr ecx, 5
xor eax, esi
xor ecx, edx
shrd eax, ecx, 6
xor eax, esi
shr ecx, 6
xor ecx, edx
shrd eax, ecx, 0x1c
shr ecx, 0x1c
mov dword [esp + 0x54], eax
mov eax, esi
mov dword [esp + 0x40], ecx
mov ecx, edx
shld ecx, eax, 6
shl eax, 6
xor ecx, edx
xor eax, esi
shld ecx, eax, 5
shl eax, 5
xor ecx, edx
xor edx, dword [esp + 0x48]
xor eax, esi
xor esi, dword [esp + 0x50]
and edx, dword [esp + 0x78]
and esi, dword [esp + 0x58]
shld ecx, eax, 0x19
xor dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x6c]
and ecx, dword [esp + 0x50]
shl eax, 0x19
xor esi, ecx
xor dword [esp + 0x54], eax
mov eax, dword [esp + 0x5c]
and eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x40]
xor edx, eax
mov eax, dword [esp + 0x54]
add eax, esi
adc ecx, edx
add eax, edi
mov dword [esp + 0x54], eax
adc ecx, ebx
mov dword [esp + 0x40], ecx
mov eax, dword [esp + 0x140]
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.00496666
mov esi, dword [esp + 0x7c]
mov edi, esi
mov dword [esp + 0xd4], eax
mov eax, esi
mov dword [esp + 0xdc], edx
mov edx, dword [esp + 0x84]
mov ebx, edx
shrd edi, ebx, 0x17
mov ecx, edx
shld ecx, eax, 4
shr ebx, 0x17
xor edi, esi
shl eax, 4
xor ecx, edx
xor eax, esi
xor ebx, edx
shld ecx, eax, 0x17
shrd edi, ebx, 4
shl eax, 0x17
xor ecx, edx
xor eax, esi
shr ebx, 4
shld ecx, eax, 0x17
xor ebx, edx
xor edi, esi
shl eax, 0x17
shrd edi, ebx, 0xe
xor edi, eax
shr ebx, 0xe
mov eax, dword [esp + 0xfc]
xor ebx, ecx
mov ecx, dword [esp + 0x104]
xor eax, ebp
xor ecx, dword [esp + 0x88]
and eax, edx
xor eax, dword [esp + 0xfc]
and ecx, esi
xor ecx, dword [esp + 0x104]
add edi, ecx
mov edx, dword [esp + 0x5c]
mov esi, dword [esp + 0x48]
mov ecx, esi
adc ebx, eax
add edi, dword [esp + 0xd4]
mov eax, edx
adc ebx, dword [esp + 0xdc]
add edi, dword [esp + 0x108]
adc ebx, dword [esp + 0x100]
add edi, 0xec4d3b2f
adc ebx, 0xb5c0fbcf
add dword [esp + 0x60], edi
adc dword [esp + 0x80], ebx
shrd eax, ecx, 5
shr ecx, 5
xor eax, edx
xor ecx, esi
shrd eax, ecx, 6
shr ecx, 6
xor eax, edx
xor ecx, esi
shrd eax, ecx, 0x1c
mov dword [esp + 0x44], eax
mov eax, edx
shr ecx, 0x1c
mov dword [esp + 0x40], ecx
mov ecx, esi
shld ecx, eax, 6
shl eax, 6
xor ecx, esi
xor eax, edx
shld ecx, eax, 5
shl eax, 5
xor ecx, esi
xor eax, edx
shld ecx, eax, 0x19
shl eax, 0x19
xor dword [esp + 0x44], eax
xor dword [esp + 0x40], ecx
mov esi, dword [esp + 0x74]
mov eax, dword [esp + 0x64]
xor esi, edx
and eax, dword [esp + 0x48]
mov edx, dword [esp + 0x64]
xor edx, dword [esp + 0x48]
and edx, dword [esp + 0x50]
and esi, dword [esp + 0x58]
xor edx, eax
mov ecx, dword [esp + 0x74]
and ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x44]
xor esi, ecx
mov ecx, dword [esp + 0x40]
add eax, esi
adc ecx, edx
add eax, edi
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x148]
adc ecx, ebx
mov dword [esp + 0x40], ecx
push dword [eax + 0x1c]
push dword [eax + 0x18]
call fcn.00496666
mov esi, dword [esp + 0x88]
mov ebx, esi
mov dword [esp + 0xd0], eax
mov ecx, esi
mov dword [esp + 0xec], edx
mov edx, dword [esp + 0x68]
mov edi, edx
shrd edi, ebx, 0x17
mov eax, edx
shld ecx, eax, 4
shr ebx, 0x17
xor edi, edx
shl eax, 4
xor ebx, esi
xor eax, edx
xor ecx, esi
shld ecx, eax, 0x17
shrd edi, ebx, 4
shl eax, 0x17
xor ecx, esi
shr ebx, 4
xor eax, edx
shld ecx, eax, 0x17
xor ebx, esi
xor edi, edx
shrd edi, ebx, 0xe
shl eax, 0x17
shr ebx, 0xe
xor edi, eax
xor ebx, ecx
mov eax, ebp
xor eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x90]
and eax, esi
xor ecx, dword [esp + 0x84]
xor eax, ebp
mov esi, dword [esp + 0x48]
and ecx, edx
xor ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x4c]
add edi, ecx
mov ecx, esi
adc ebx, eax
add edi, dword [esp + 0xd0]
mov eax, edx
adc ebx, dword [esp + 0xec]
add edi, dword [esp + 0x10c]
adc ebx, dword [esp + 0x104]
add edi, 0x8189dbbc
adc ebx, 0xe9b5dba5
add dword [esp + 0x60], edi
adc dword [esp + 0x58], ebx
shrd eax, ecx, 5
shr ecx, 5
xor eax, edx
xor ecx, esi
shrd eax, ecx, 6
xor eax, edx
shr ecx, 6
xor ecx, esi
shrd eax, ecx, 0x1c
mov dword [esp + 0x30], eax
mov eax, edx
shr ecx, 0x1c
mov dword [esp + 0x44], ecx
mov ecx, esi
shld ecx, eax, 6
shl eax, 6
xor ecx, esi
xor eax, edx
shld ecx, eax, 5
xor ecx, esi
shl eax, 5
mov esi, dword [esp + 0x64]
xor eax, edx
shld ecx, eax, 0x19
xor esi, edx
mov edx, dword [esp + 0x50]
xor dword [esp + 0x44], ecx
xor edx, dword [esp + 0x48]
and edx, dword [esp + 0x6c]
and esi, dword [esp + 0x7c]
mov ecx, dword [esp + 0x64]
and ecx, dword [esp + 0x4c]
shl eax, 0x19
xor esi, ecx
xor dword [esp + 0x30], eax
mov eax, dword [esp + 0x50]
and eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
xor edx, eax
mov eax, dword [esp + 0x30]
add eax, esi
adc ecx, edx
add eax, edi
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x150]
adc ecx, ebx
mov dword [esp + 0x44], ecx
push dword [eax + 0x24]
push dword [eax + 0x20]
call fcn.00496666
mov esi, dword [esp + 0x68]
mov edi, esi
mov dword [esp + 0xc0], eax
mov eax, esi
mov dword [esp + 0xb4], edx
mov edx, dword [esp + 0x60]
mov ebx, edx
shrd edi, ebx, 0x17
mov ecx, edx
shld ecx, eax, 4
shr ebx, 0x17
xor edi, esi
shl eax, 4
xor ebx, edx
xor eax, esi
xor ecx, edx
shld ecx, eax, 0x17
shrd edi, ebx, 4
shl eax, 0x17
xor ecx, edx
shr ebx, 4
xor eax, esi
xor ebx, edx
xor edi, esi
shld ecx, eax, 0x17
shrd edi, ebx, 0xe
shl eax, 0x17
shr ebx, 0xe
xor edi, eax
mov eax, dword [esp + 0x94]
xor ebx, ecx
mov ecx, dword [esp + 0x8c]
xor ecx, dword [esp + 0x70]
xor eax, dword [esp + 0x90]
and ecx, esi
xor ecx, dword [esp + 0x8c]
and eax, edx
xor eax, dword [esp + 0x94]
add edi, ecx
mov edx, dword [esp + 0x38]
adc ebx, eax
mov esi, dword [esp + 0x4c]
add edi, dword [esp + 0xc0]
mov eax, edx
mov ecx, esi
adc ebx, dword [esp + 0xb4]
add edi, dword [esp + 0x98]
adc ebx, ebp
mov ebp, dword [esp + 0x84]
add edi, 0xf348b538
adc ebx, 0x3956c25b
add ebp, edi
mov dword [esp + 0x84], ebp
adc dword [esp + 0x74], ebx
shrd eax, ecx, 5
xor eax, edx
shr ecx, 5
xor ecx, esi
shrd eax, ecx, 6
xor eax, edx
shr ecx, 6
xor ecx, esi
shrd eax, ecx, 0x1c
mov dword [esp + 0x40], eax
mov eax, edx
shr ecx, 0x1c
mov dword [esp + 0x48], ecx
mov ecx, esi
shld ecx, eax, 6
shl eax, 6
xor ecx, esi
xor eax, edx
shld ecx, eax, 5
xor ecx, esi
shl eax, 5
mov esi, dword [esp + 0x54]
xor eax, edx
shld ecx, eax, 0x19
xor esi, edx
mov edx, dword [esp + 0x50]
xor dword [esp + 0x48], ecx
xor edx, dword [esp + 0x4c]
and edx, dword [esp + 0x58]
and esi, dword [esp + 0x6c]
mov ecx, dword [esp + 0x54]
and ecx, dword [esp + 0x38]
shl eax, 0x19
xor esi, ecx
xor dword [esp + 0x40], eax
mov eax, dword [esp + 0x50]
and eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
xor edx, eax
mov eax, dword [esp + 0x40]
add eax, esi
adc ecx, edx
add eax, edi
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x158]
adc ecx, ebx
mov dword [esp + 0x48], ecx
push dword [eax + 0x2c]
push dword [eax + 0x28]
call fcn.00496666
mov esi, dword [esp + 0x7c]
mov edi, ebp
mov ebx, esi
mov dword [esp + 0xd0], eax
shrd edi, ebx, 0x17
mov dword [esp + 0xe8], edx
shr ebx, 0x17
xor edi, ebp
xor ebx, esi
shrd edi, ebx, 4
shr ebx, 4
xor edi, ebp
mov ecx, esi
xor ebx, esi
mov eax, ebp
shld ecx, eax, 4
shrd edi, ebx, 0xe
shl eax, 4
xor ecx, esi
xor eax, ebp
shr ebx, 0xe
shld ecx, eax, 0x17
xor ecx, esi
shl eax, 0x17
xor eax, ebp
mov ebp, dword [esp + 0x98]
shld ecx, eax, 0x17
xor ebx, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x78]
xor edi, eax
xor ecx, dword [esp + 0x70]
mov eax, ebp
xor eax, dword [esp + 0x68]
and ecx, dword [esp + 0x8c]
and eax, esi
xor ecx, dword [esp + 0x78]
xor eax, ebp
add edi, ecx
mov esi, dword [esp + 0x50]
mov ecx, esi
adc ebx, eax
add edi, dword [esp + 0xd0]
adc ebx, edx
add edi, dword [esp + 0x94]
mov edx, dword [esp + 0x48]
mov eax, edx
adc ebx, dword [esp + 0x9c]
add edi, 0xb605d019
adc ebx, 0x59f111f1
add dword [esp + 0x74], edi
adc dword [esp + 0x60], ebx
shrd eax, ecx, 5
xor eax, edx
shr ecx, 5
xor ecx, esi
shrd eax, ecx, 6
xor eax, edx
shr ecx, 6
xor ecx, esi
shrd eax, ecx, 0x1c
mov dword [esp + 0x44], eax
mov eax, edx
shr ecx, 0x1c
mov dword [esp + 0x4c], ecx
mov ecx, esi
shld ecx, eax, 6
shl eax, 6
xor ecx, esi
xor eax, edx
shld ecx, eax, 5
shl eax, 5
xor ecx, esi
mov esi, dword [esp + 0x40]
xor eax, edx
shld ecx, eax, 0x19
xor esi, edx
mov edx, dword [esp + 0x54]
xor dword [esp + 0x4c], ecx
xor edx, dword [esp + 0x50]
and edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x40]
and ecx, dword [esp + 0x48]
and esi, dword [esp + 0x5c]
shl eax, 0x19
xor esi, ecx
xor dword [esp + 0x44], eax
mov eax, dword [esp + 0x54]
and eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x4c]
xor edx, eax
mov eax, dword [esp + 0x44]
add eax, esi
adc ecx, edx
add eax, edi
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x160]
adc ecx, ebx
mov dword [esp + 0x4c], ecx
push dword [eax + 0x34]
push dword [eax + 0x30]
call fcn.00496666
mov esi, dword [esp + 0x68]
mov ebx, esi
mov dword [esp + 0xe0], eax
mov ecx, esi
mov dword [esp + 0x100], edx
mov edx, dword [esp + 0x7c]
mov edi, edx
shrd edi, ebx, 0x17
mov eax, edx
shld ecx, eax, 4
shr ebx, 0x17
xor edi, edx
shl eax, 4
xor ecx, esi
xor eax, edx
xor ebx, esi
shld ecx, eax, 0x17
shrd edi, ebx, 4
shl eax, 0x17
xor ecx, esi
xor eax, edx
shr ebx, 4
shld ecx, eax, 0x17
xor ebx, esi
xor edi, edx
shl eax, 0x17
shrd edi, ebx, 0xe
xor edi, eax
shr ebx, 0xe
mov eax, dword [esp + 0x84]
xor ebx, ecx
xor eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x94]
and eax, esi
xor ecx, dword [esp + 0x78]
xor eax, dword [esp + 0x70]
and ecx, edx
xor ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x4c]
add edi, ecx
mov esi, dword [esp + 0x54]
mov ecx, esi
adc ebx, eax
add edi, dword [esp + 0xe0]
mov eax, edx
adc ebx, dword [esp + 0x100]
add edi, dword [esp + 0x80]
adc ebx, ebp
mov ebp, dword [esp + 0x64]
add edi, 0xaf194f9b
adc ebx, 0x923f82a4
add ebp, edi
mov dword [esp + 0x64], ebp
adc dword [esp + 0x60], ebx
shrd eax, ecx, 5
shr ecx, 5
xor eax, edx
xor ecx, esi
shrd eax, ecx, 6
shr ecx, 6
xor eax, edx
xor ecx, esi
shrd eax, ecx, 0x1c
shr ecx, 0x1c
mov dword [esp + 0x80], eax
mov eax, edx
mov dword [esp + 0x90], ecx
mov ecx, esi
shld ecx, eax, 6
shl eax, 6
xor eax, edx
xor ecx, esi
shld ecx, eax, 5
xor ecx, esi
shl eax, 5
mov esi, dword [esp + 0x50]
xor eax, edx
shld ecx, eax, 0x19
xor esi, edx
mov edx, dword [esp + 0x58]
xor dword [esp + 0x90], ecx
xor edx, dword [esp + 0x54]
and edx, dword [esp + 0x5c]
and esi, dword [esp + 0x48]
mov ecx, dword [esp + 0x50]
and ecx, dword [esp + 0x4c]
shl eax, 0x19
xor esi, ecx
xor dword [esp + 0x80], eax
mov eax, dword [esp + 0x58]
and eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x90]
xor edx, eax
mov eax, dword [esp + 0x80]
add eax, esi
adc ecx, edx
add eax, edi
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x168]
adc ecx, ebx
mov dword [esp + 0x90], ecx
push dword [eax + 0x3c]
push dword [eax + 0x38]
call fcn.00496666
mov esi, dword [esp + 0x68]
mov edi, ebp
mov dword [esp + 0xd0], eax
mov ebx, esi
shrd edi, ebx, 0x17
mov eax, ebp
mov dword [esp + 0xd4], edx
shr ebx, 0x17
xor edi, ebp
xor ebx, esi
mov ecx, esi
shld ecx, eax, 4
shrd edi, ebx, 4
shl eax, 4
xor ecx, esi
xor eax, ebp
shr ebx, 4
shld ecx, eax, 0x17
xor ebx, esi
xor edi, ebp
shl eax, 0x17
xor ecx, esi
xor eax, ebp
add esp, 0x40
mov ebp, dword [esp + 0x5c]
shld ecx, eax, 0x17
shrd edi, ebx, 0xe
shl eax, 0x17
shr ebx, 0xe
xor edi, eax
mov eax, dword [esp + 0x4c]
xor ebx, ecx
xor eax, dword [esp + 0x30]
mov ecx, ebp
xor ecx, dword [esp + 0x44]
and eax, esi
and ecx, dword [esp + 0x2c]
xor eax, dword [esp + 0x4c]
xor ecx, ebp
add edi, ecx
adc ebx, eax
add edi, dword [esp + 0x90]
adc ebx, edx
add edi, dword [esp + 0x40]
adc ebx, dword [esp + 0x38]
add edi, 0xda6d8118
adc ebx, 0xab1c5ed5
add dword [esp + 0x10], edi
adc dword [esp + 0x24], ebx
mov edx, dword [esp + 0x48]
mov eax, edx
mov esi, dword [esp + 0x58]
mov ecx, esi
shrd eax, ecx, 5
xor eax, edx
shr ecx, 5
xor ecx, esi
shrd eax, ecx, 6
xor eax, edx
shr ecx, 6
xor ecx, esi
shrd eax, ecx, 0x1c
mov dword [esp + 0x40], eax
mov eax, edx
shr ecx, 0x1c
mov dword [esp + 0x38], ecx
mov ecx, esi
shld ecx, eax, 6
shl eax, 6
xor ecx, esi
xor eax, edx
shld ecx, eax, 5
xor ecx, esi
shl eax, 5
mov esi, dword [esp + 0x14]
xor eax, edx
shld ecx, eax, 0x19
xor esi, edx
mov edx, dword [esp + 0x1c]
xor dword [esp + 0x38], ecx
xor edx, dword [esp + 0x58]
and edx, dword [esp + 0x20]
and esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
and ecx, dword [esp + 0x48]
shl eax, 0x19
xor esi, ecx
xor dword [esp + 0x40], eax
mov eax, dword [esp + 0x1c]
and eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x38]
xor edx, eax
mov eax, dword [esp + 0x40]
add eax, esi
adc ecx, edx
add eax, edi
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x130]
adc ecx, ebx
mov dword [esp + 0x38], ecx
push dword [eax + 0x44]
push dword [eax + 0x40]
call fcn.00496666
mov esi, dword [esp + 0x2c]
mov ebx, esi
mov dword [esp + 0xb4], eax
mov ecx, esi
mov dword [esp + 0x74], edx
mov edx, dword [esp + 0x18]
mov edi, edx
shrd edi, ebx, 0x17
mov eax, edx
shr ebx, 0x17
xor edi, edx
shld ecx, eax, 4
xor ebx, esi
shrd edi, ebx, 4
shl eax, 4
xor ecx, esi
xor eax, edx
shr ebx, 4
shld ecx, eax, 0x17
xor ebx, esi
xor edi, edx
shrd edi, ebx, 0xe
shl eax, 0x17
xor ecx, esi
xor eax, edx
shr ebx, 0xe
shld ecx, eax, 0x17
shl eax, 0x17
xor ebx, ecx
xor edi, eax
mov ecx, dword [esp + 0x4c]
xor ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x38]
and ecx, edx
xor eax, dword [esp + 0x30]
xor ecx, dword [esp + 0x4c]
and eax, esi
xor eax, dword [esp + 0x38]
add edi, ecx
mov edx, dword [esp + 0x48]
mov ecx, edx
adc ebx, eax
mov esi, dword [esp + 0x40]
add edi, dword [esp + 0xb4]
mov eax, esi
adc ebx, dword [esp + 0x74]
add edi, ebp
mov ebp, dword [esp + 0x20]
adc ebx, dword [esp + 0x54]
add edi, 0xa3030242
adc ebx, 0xd807aa98
add ebp, edi
mov dword [esp + 0x20], ebp
adc dword [esp + 0x28], ebx
shrd ecx, eax, 5
shr eax, 5
xor ecx, edx
xor eax, esi
shrd ecx, eax, 6
shr eax, 6
xor ecx, edx
xor eax, esi
shrd ecx, eax, 0x1c
shr eax, 0x1c
mov dword [esp + 0x3c], eax
mov eax, edx
mov dword [esp + 0x44], ecx
mov ecx, esi
shld ecx, eax, 6
shl eax, 6
xor ecx, esi
xor eax, edx
shld ecx, eax, 5
shl eax, 5
xor ecx, esi
mov esi, dword [esp + 0x50]
xor eax, edx
shld ecx, eax, 0x19
xor esi, edx
mov edx, dword [esp + 0x60]
xor dword [esp + 0x3c], ecx
xor edx, dword [esp + 0x40]
and esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x50]
and ecx, dword [esp + 0x48]
and edx, dword [esp + 0x24]
xor esi, ecx
shl eax, 0x19
xor dword [esp + 0x44], eax
mov eax, dword [esp + 0x60]
and eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
xor edx, eax
mov eax, dword [esp + 0x3c]
add ecx, esi
adc eax, edx
add ecx, edi
mov dword [esp + 0x44], ecx
adc eax, ebx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x138]
push dword [eax + 0x4c]
push dword [eax + 0x48]
call fcn.00496666
mov esi, dword [esp + 0x30]
mov edi, ebp
mov dword [esp + 0xf0], eax
mov dword [esp + 0xe4], edx
mov ebx, esi
mov ecx, esi
shrd edi, ebx, 0x17
mov eax, ebp
shld ecx, eax, 4
shr ebx, 0x17
xor edi, ebp
xor ecx, esi
shl eax, 4
xor ebx, esi
xor eax, ebp
shld ecx, eax, 0x17
shrd edi, ebx, 4
xor ecx, esi
shl eax, 0x17
xor eax, ebp
shr ebx, 4
shld ecx, eax, 0x17
xor ebx, esi
xor edi, ebp
mov ebp, dword [esp + 0x3c]
shl eax, 0x17
shrd edi, ebx, 0xe
xor edi, eax
shr ebx, 0xe
mov eax, dword [esp + 0x38]
xor ebx, ecx
xor eax, dword [esp + 0x34]
mov ecx, ebp
xor ecx, dword [esp + 0x20]
and eax, esi
and ecx, dword [esp + 0x28]
xor eax, dword [esp + 0x38]
xor ecx, ebp
add edi, ecx
adc ebx, eax
add edi, dword [esp + 0xf0]
mov eax, dword [esp + 0x4c]
mov ecx, eax
adc ebx, edx
add edi, dword [esp + 0x54]
mov edx, dword [esp + 0x44]
mov esi, edx
adc ebx, dword [esp + 0x40]
add edi, 0x45706fbe
adc ebx, 0x12835b01
add dword [esp + 0x24], edi
adc dword [esp + 0x2c], ebx
shrd ecx, esi, 5
xor ecx, eax
shr esi, 5
xor esi, edx
shrd ecx, esi, 6
xor ecx, eax
shr esi, 6
xor esi, edx
shrd ecx, esi, 0x1c
mov dword [esp + 0x60], ecx
mov ecx, edx
shld ecx, eax, 6
shr esi, 0x1c
shl eax, 6
xor ecx, edx
xor eax, dword [esp + 0x4c]
shld ecx, eax, 5
shl eax, 5
xor ecx, edx
xor eax, dword [esp + 0x4c]
xor edx, dword [esp + 0x48]
and edx, dword [esp + 0x68]
shld ecx, eax, 0x19
xor esi, ecx
shl eax, 0x19
mov ecx, dword [esp + 0x4c]
xor dword [esp + 0x60], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x3c], esi
mov esi, ecx
xor esi, dword [esp + 0x50]
and esi, dword [esp + 0x58]
and ecx, dword [esp + 0x50]
and eax, dword [esp + 0x48]
xor esi, ecx
mov ecx, dword [esp + 0x60]
xor edx, eax
mov eax, dword [esp + 0x3c]
add ecx, esi
adc eax, edx
add ecx, edi
mov dword [esp + 0x60], ecx
adc eax, ebx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x140]
push dword [eax + 0x54]
push dword [eax + 0x50]
call fcn.00496666
mov esi, dword [esp + 0x34]
mov ebx, esi
mov dword [esp + 0xe8], eax
mov ecx, esi
mov dword [esp + 0xf4], edx
mov edx, dword [esp + 0x2c]
mov edi, edx
shrd edi, ebx, 0x17
mov eax, edx
shld ecx, eax, 4
shr ebx, 0x17
xor edi, edx
xor ebx, esi
shl eax, 4
xor ecx, esi
xor eax, edx
shld ecx, eax, 0x17
shrd edi, ebx, 4
xor ecx, esi
shl eax, 0x17
shr ebx, 4
xor eax, edx
xor ebx, esi
xor edi, edx
shld ecx, eax, 0x17
shrd edi, ebx, 0xe
shl eax, 0x17
shr ebx, 0xe
xor edi, eax
mov eax, dword [esp + 0x3c]
xor ebx, ecx
xor eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x28]
and eax, esi
xor ecx, dword [esp + 0x30]
xor eax, dword [esp + 0x3c]
and ecx, edx
xor ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x44]
add edi, ecx
mov esi, edx
adc ebx, eax
add edi, dword [esp + 0xe8]
mov eax, dword [esp + 0x68]
mov ecx, eax
adc ebx, dword [esp + 0xf4]
add edi, ebp
mov ebp, dword [esp + 0x60]
adc ebx, dword [esp + 0x40]
add edi, 0x4ee4b28c
adc ebx, 0x243185be
add ebp, edi
mov dword [esp + 0x60], ebp
adc dword [esp + 0x70], ebx
shrd ecx, esi, 5
shr esi, 5
xor ecx, eax
xor esi, edx
shrd ecx, esi, 6
shr esi, 6
xor ecx, eax
xor esi, edx
shrd ecx, esi, 0x1c
mov dword [esp + 0x78], ecx
mov ecx, edx
shr esi, 0x1c
shld ecx, eax, 6
shl eax, 6
xor ecx, edx
xor eax, dword [esp + 0x68]
shld ecx, eax, 5
shl eax, 5
xor ecx, edx
xor eax, dword [esp + 0x68]
shld ecx, eax, 0x19
xor esi, ecx
shl eax, 0x19
xor dword [esp + 0x78], eax
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x4c]
mov edx, eax
and eax, dword [esp + 0x44]
xor edx, dword [esp + 0x44]
and edx, dword [esp + 0x50]
mov dword [esp + 0x5c], esi
xor edx, eax
mov eax, dword [esp + 0x5c]
mov esi, ecx
xor esi, dword [esp + 0x68]
and ecx, dword [esp + 0x68]
and esi, dword [esp + 0x58]
xor esi, ecx
mov ecx, dword [esp + 0x78]
add ecx, esi
adc eax, edx
add ecx, edi
mov dword [esp + 0x78], ecx
adc eax, ebx
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x148]
push dword [eax + 0x5c]
push dword [eax + 0x58]
call fcn.00496666
mov esi, dword [esp + 0x78]
mov edi, ebp
mov dword [esp + 0x90], eax
mov ebx, esi
shrd edi, ebx, 0x17
mov eax, ebp
mov dword [esp + 0xf8], edx
shr ebx, 0x17
xor edi, ebp
xor ebx, esi
mov ecx, esi
shld ecx, eax, 4
shrd edi, ebx, 4
shl eax, 4
xor ecx, esi
xor eax, ebp
shr ebx, 4
shld ecx, eax, 0x17
xor ebx, esi
xor edi, ebp
shl eax, 0x17
xor ecx, esi
xor eax, ebp
mov ebp, dword [esp + 0x38]
shld ecx, eax, 0x17
shrd edi, ebx, 0xe
shl eax, 0x17
shr ebx, 0xe
xor edi, eax
mov eax, dword [esp + 0x40]
xor ebx, ecx
xor eax, dword [esp + 0x3c]
mov ecx, ebp
xor ecx, dword [esp + 0x34]
and eax, esi
and ecx, dword [esp + 0x68]
xor eax, dword [esp + 0x40]
xor ecx, ebp
add edi, ecx
adc ebx, eax
add edi, dword [esp + 0x90]
adc ebx, edx
add edi, dword [esp + 0x30]
adc ebx, dword [esp + 0x44]
mov esi, dword [esp + 0x80]
add edi, 0xd5ffb4e2
mov edx, dword [esp + 0x64]
mov ecx, esi
adc ebx, 0x550c7dc3
mov eax, edx
add dword [esp + 0x60], edi
adc dword [esp + 0x58], ebx
shrd ecx, eax, 5
shr eax, 5
xor ecx, esi
xor eax, edx
shrd ecx, eax, 6
shr eax, 6
xor ecx, esi
xor eax, edx
shrd ecx, eax, 0x1c
shr eax, 0x1c
mov dword [esp + 0x30], eax
mov eax, esi
mov dword [esp + 0x74], ecx
mov ecx, edx
shld ecx, eax, 6
shl eax, 6
xor ecx, edx
xor eax, esi
shld ecx, eax, 5
shl eax, 5
xor ecx, edx
xor eax, esi
shld ecx, eax, 0x19
xor dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x70]
mov esi, ecx
xor esi, dword [esp + 0x80]
and ecx, dword [esp + 0x80]
and esi, dword [esp + 0x5c]
shl eax, 0x19
xor esi, ecx
xor dword [esp + 0x74], eax
mov eax, dword [esp + 0x4c]
mov edx, eax
and eax, dword [esp + 0x64]
xor edx, dword [esp + 0x64]
and edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x74]
xor edx, eax
mov eax, dword [esp + 0x30]
add ecx, esi
adc eax, edx
add ecx, edi
mov dword [esp + 0x74], ecx
adc eax, ebx
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x150]
push dword [eax + 0x64]
push dword [eax + 0x60]
call fcn.00496666
mov esi, dword [esp + 0x60]
mov ebx, esi
mov dword [esp + 0xac], edx
mov ecx, esi
mov edx, dword [esp + 0x68]
mov edi, edx
shrd edi, ebx, 0x17
mov dword [esp + 0xa0], eax
mov eax, edx
shr ebx, 0x17
xor edi, edx
xor ebx, esi
shrd edi, ebx, 4
shld ecx, eax, 4
shr ebx, 4
xor edi, edx
xor ebx, esi
shl eax, 4
shrd edi, ebx, 0xe
xor eax, edx
xor ecx, esi
shr ebx, 0xe
shld ecx, eax, 0x17
xor ecx, esi
shl eax, 0x17
xor eax, edx
shld ecx, eax, 0x17
xor ebx, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x3c]
xor edi, eax
xor ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x44]
and ecx, edx
xor eax, dword [esp + 0x80]
xor ecx, dword [esp + 0x3c]
and eax, esi
xor eax, dword [esp + 0x44]
add edi, ecx
mov edx, dword [esp + 0x38]
mov esi, edx
adc ebx, eax
add edi, dword [esp + 0xa0]
mov eax, dword [esp + 0x7c]
mov ecx, eax
adc ebx, dword [esp + 0xac]
add edi, ebp
mov ebp, dword [esp + 0x5c]
adc ebx, dword [esp + 0x48]
add edi, 0xf27b896f
adc ebx, 0x72be5d74
add dword [esp + 0x64], edi
adc ebp, ebx
shrd ecx, esi, 5
mov dword [esp + 0x5c], ebp
xor ecx, eax
shr esi, 5
xor esi, edx
shrd ecx, esi, 6
xor ecx, eax
shr esi, 6
xor esi, edx
shrd ecx, esi, 0x1c
mov dword [esp + 0x40], ecx
mov ecx, edx
shld ecx, eax, 6
shr esi, 0x1c
shl eax, 6
xor ecx, edx
xor eax, dword [esp + 0x7c]
shld ecx, eax, 5
shl eax, 5
xor ecx, edx
xor eax, dword [esp + 0x7c]
shld ecx, eax, 0x19
xor esi, ecx
shl eax, 0x19
xor dword [esp + 0x40], eax
mov ecx, dword [esp + 0x88]
mov eax, dword [esp + 0x6c]
mov edx, eax
and eax, dword [esp + 0x38]
xor edx, dword [esp + 0x38]
and edx, dword [esp + 0x54]
mov dword [esp + 0x50], esi
xor edx, eax
mov eax, dword [esp + 0x50]
mov esi, ecx
xor esi, dword [esp + 0x7c]
and ecx, dword [esp + 0x7c]
and esi, dword [esp + 0x78]
xor esi, ecx
mov ecx, dword [esp + 0x40]
add ecx, esi
adc eax, edx
add ecx, edi
mov dword [esp + 0x40], ecx
adc eax, ebx
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x158]
push dword [eax + 0x6c]
push dword [eax + 0x68]
call fcn.00496666
mov dword [esp + 0xb8], eax
mov esi, dword [esp + 0x6c]
mov ebx, ebp
mov edi, esi
mov dword [esp + 0xac], edx
shrd edi, ebx, 0x17
mov eax, esi
mov ecx, ebp
shld ecx, eax, 4
xor edi, esi
shr ebx, 0x17
shl eax, 4
xor ecx, ebp
xor eax, esi
xor ebx, ebp
shld ecx, eax, 0x17
shrd edi, ebx, 4
shl eax, 0x17
xor ecx, ebp
xor eax, esi
shr ebx, 4
shld ecx, eax, 0x17
xor edi, esi
xor ebx, ebp
mov ebp, dword [esp + 0x78]
shl eax, 0x17
shrd edi, ebx, 0xe
xor edi, eax
shr ebx, 0xe
mov eax, dword [esp + 0x88]
xor ebx, ecx
xor eax, dword [esp + 0x68]
mov ecx, ebp
xor ecx, dword [esp + 0x70]
and eax, dword [esp + 0x64]
and ecx, esi
xor eax, dword [esp + 0x88]
xor ecx, ebp
add edi, ecx
adc ebx, eax
add edi, dword [esp + 0xb8]
mov eax, dword [esp + 0x48]
mov ecx, eax
adc ebx, edx
add edi, dword [esp + 0x44]
mov edx, dword [esp + 0x58]
mov esi, edx
adc ebx, dword [esp + 0x4c]
add edi, 0x3b1696b1
adc ebx, 0x80deb1fe
add dword [esp + 0x80], edi
adc dword [esp + 0x5c], ebx
shrd ecx, esi, 5
xor ecx, eax
shr esi, 5
xor esi, edx
shrd ecx, esi, 6
xor ecx, eax
shr esi, 6
xor esi, edx
shrd ecx, esi, 0x1c
mov dword [esp + 0x44], ecx
mov ecx, edx
shld ecx, eax, 6
shr esi, 0x1c
shl eax, 6
xor ecx, edx
xor eax, dword [esp + 0x48]
shld ecx, eax, 5
shl eax, 5
xor ecx, edx
xor eax, dword [esp + 0x48]
shld ecx, eax, 0x19
xor esi, ecx
shl eax, 0x19
xor dword [esp + 0x44], eax
mov ecx, dword [esp + 0x84]
mov eax, dword [esp + 0x40]
mov edx, eax
mov dword [esp + 0x54], esi
mov esi, ecx
xor esi, dword [esp + 0x48]
and eax, dword [esp + 0x58]
xor edx, dword [esp + 0x58]
and ecx, dword [esp + 0x48]
and esi, dword [esp + 0x90]
and edx, dword [esp + 0x74]
xor esi, ecx
mov ecx, dword [esp + 0x44]
xor edx, eax
mov eax, dword [esp + 0x54]
add ecx, esi
adc eax, edx
add ecx, edi
mov dword [esp + 0x44], ecx
adc eax, ebx
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x160]
push dword [eax + 0x74]
push dword [eax + 0x70]
call fcn.00496666
mov esi, dword [esp + 0x88]
mov edi, esi
mov dword [esp + 0xac], eax
mov eax, esi
mov dword [esp + 0xb8], edx
mov edx, dword [esp + 0x64]
mov ebx, edx
shrd edi, ebx, 0x17
mov ecx, edx
shld ecx, eax, 4
shr ebx, 0x17
xor edi, esi
shl eax, 4
xor ecx, edx
xor eax, esi
xor ebx, edx
shld ecx, eax, 0x17
shrd edi, ebx, 4
xor ecx, edx
shl eax, 0x17
xor eax, esi
shr ebx, 4
shld ecx, eax, 0x17
xor edi, esi
xor ebx, edx
shrd edi, ebx, 0xe
shl eax, 0x17
shr ebx, 0xe
xor edi, eax
mov eax, dword [esp + 0x6c]
xor ebx, ecx
xor eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x74]
and eax, edx
xor ecx, dword [esp + 0x78]
xor eax, dword [esp + 0x70]
and ecx, esi
xor ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x5c]
add edi, ecx
mov esi, edx
adc ebx, eax
add edi, dword [esp + 0xac]
mov eax, dword [esp + 0x4c]
mov ecx, eax
adc ebx, dword [esp + 0xb8]
add edi, ebp
mov ebp, dword [esp + 0x7c]
adc ebx, dword [esp + 0x90]
add edi, 0x25c71235
adc ebx, 0x9bdc06a7
add dword [esp + 0x98], edi
adc ebp, ebx
shrd ecx, esi, 5
mov dword [esp + 0x7c], ebp
shr esi, 5
xor ecx, eax
xor esi, edx
shrd ecx, esi, 6
shr esi, 6
xor ecx, eax
xor esi, edx
shrd ecx, esi, 0x1c
mov dword [esp + 0x58], ecx
mov ecx, edx
shld ecx, eax, 6
shr esi, 0x1c
shl eax, 6
xor ecx, edx
xor eax, dword [esp + 0x4c]
shld ecx, eax, 5
shl eax, 5
xor ecx, edx
xor eax, dword [esp + 0x4c]
shld ecx, eax, 0x19
xor esi, ecx
shl eax, 0x19
xor dword [esp + 0x58], eax
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x60]
mov edx, eax
and eax, dword [esp + 0x5c]
xor edx, dword [esp + 0x5c]
and edx, dword [esp + 0x48]
mov dword [esp + 0x68], esi
xor edx, eax
mov eax, dword [esp + 0x68]
mov esi, ecx
xor esi, dword [esp + 0x4c]
and ecx, dword [esp + 0x4c]
and esi, dword [esp + 0x8c]
xor esi, ecx
mov ecx, dword [esp + 0x58]
add ecx, esi
adc eax, edx
add ecx, edi
mov dword [esp + 0x58], ecx
adc eax, ebx
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x168]
push dword [eax + 0x7c]
push dword [eax + 0x78]
call fcn.00496666
mov esi, dword [esp + 0xa0]
mov ebx, ebp
mov dword [esp + 0xa4], eax
mov edi, esi
shrd edi, ebx, 0x17
mov ecx, ebp
mov dword [esp + 0xa8], edx
shr ebx, 0x17
mov eax, esi
shld ecx, eax, 4
xor ebx, ebp
xor edi, esi
shl eax, 4
xor ecx, ebp
xor eax, esi
add esp, 0x40
shld ecx, eax, 0x17
shrd edi, ebx, 4
shl eax, 0x17
xor ecx, ebp
shr ebx, 4
xor eax, esi
shld ecx, eax, 0x17
xor ebx, ebp
xor edi, esi
mov ebp, dword [esp + 0x34]
shrd edi, ebx, 0xe
shl eax, 0x17
shr ebx, 0xe
xor edi, eax
xor ebx, ecx
mov eax, ebp
mov ecx, dword [esp + 0x3c]
xor ecx, dword [esp + 0x50]
xor eax, dword [esp + 0x2c]
and ecx, esi
and eax, dword [esp + 0x44]
xor ecx, dword [esp + 0x3c]
xor eax, ebp
add edi, ecx
adc ebx, eax
mov esi, dword [esp + 0x20]
add edi, dword [esp + 0x64]
mov ecx, esi
mov dword [esp + 0xfc], 4
adc ebx, edx
add edi, dword [esp + 0x40]
mov edx, dword [esp + 0x30]
mov eax, edx
adc ebx, dword [esp + 0x38]
add edi, 0xcf692694
adc ebx, 0xc19bf174
add dword [esp + 0x54], edi
adc dword [esp + 0x10], ebx
shrd ecx, eax, 5
shr eax, 5
xor ecx, esi
xor eax, edx
shrd ecx, eax, 6
shr eax, 6
xor ecx, esi
xor eax, edx
shrd ecx, eax, 0x1c
shr eax, 0x1c
mov dword [esp + 0x1c], eax
mov eax, esi
mov dword [esp + 0x34], ecx
mov ecx, edx
shld ecx, eax, 6
shl eax, 6
xor ecx, edx
xor eax, esi
shld ecx, eax, 5
shl eax, 5
xor ecx, edx
xor eax, esi
shld ecx, eax, 0x19
xor dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x14]
mov esi, ecx
xor esi, dword [esp + 0x20]
and ecx, dword [esp + 0x20]
and esi, dword [esp + 0x18]
shl eax, 0x19
xor esi, ecx
xor dword [esp + 0x34], eax
mov eax, dword [esp + 0x24]
mov edx, eax
xor edx, dword [esp + 0x30]
and eax, dword [esp + 0x30]
and edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x34]
xor edx, eax
mov eax, dword [esp + 0x1c]
add ecx, esi
adc eax, edx
add ecx, edi
mov edx, 0x51c5a8
mov dword [esp + 0x34], ecx
adc eax, ebx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x1c], eax
mov edx, dword [esp + 0xc0]
mov edi, edx
mov eax, dword [esp + 0xb4]
mov ecx, edx
mov ebx, eax
shrd edi, ebx, 1
shr ebx, 1
xor edi, edx
xor ebx, eax
shrd edi, ebx, 6
shr ebx, 6
xor edi, edx
xor ebx, eax
shld eax, ecx, 7
mov eax, dword [esp + 0x74]
shrd edi, ebx, 1
shl ecx, 7
xor ecx, edx
shr ebx, 1
shl ecx, 0x18
xor edx, edx
xor ebx, ecx
xor edi, 0
mov ecx, dword [esp + 0x80]
xor edx, ecx
mov esi, ecx
shr esi, 0xa
xor esi, eax
shrd esi, edx, 0xd
xor esi, eax
shr edx, 0xd
xor edx, ecx
mov ecx, eax
xor eax, eax
shl ecx, 0xa
xor eax, dword [esp + 0x74]
xor ecx, dword [esp + 0x80]
shld ecx, eax, 3
shrd esi, edx, 6
shl eax, 3
xor esi, eax
shr edx, 6
xor edx, ecx
add edi, esi
mov esi, dword [esp + 0x54]
mov eax, esi
adc ebx, edx
add edi, dword [esp + 0xe0]
mov edx, dword [esp + 0x10]
mov ecx, edx
adc ebx, dword [esp + 0xd4]
add dword [esp + 0x9c], edi
mov edi, esi
adc dword [esp + 0xa4], ebx
mov ebx, edx
shrd edi, ebx, 0x17
shld ecx, eax, 4
shr ebx, 0x17
xor edi, esi
shl eax, 4
xor ebx, edx
shrd edi, ebx, 4
xor eax, esi
xor ecx, edx
shld ecx, eax, 0x17
shr ebx, 4
xor edi, esi
shl eax, 0x17
xor ebx, edx
xor eax, esi
xor ecx, edx
shld ecx, eax, 0x17
shrd edi, ebx, 0xe
shl eax, 0x17
shr ebx, 0xe
xor edi, eax
mov eax, dword [esp + 0x2c]
xor ebx, ecx
mov ecx, dword [esp + 0x50]
xor ecx, dword [esp + 0x60]
xor eax, dword [esp + 0x44]
and eax, edx
and ecx, esi
xor eax, dword [esp + 0x2c]
xor ecx, dword [esp + 0x50]
add edi, ecx
mov esi, dword [esp + 0x1c]
mov edx, esi
mov ecx, esi
adc ebx, eax
mov eax, dword [esp + 0x4c]
add edi, dword [eax - 0x10]
adc ebx, dword [eax - 0xc]
add edi, dword [esp + 0x9c]
mov eax, dword [esp + 0x34]
adc ebx, dword [esp + 0xa4]
add edi, dword [esp + 0x3c]
adc ebx, ebp
add dword [esp + 0x18], edi
mov ebp, eax
adc dword [esp + 0x28], ebx
shrd ebp, edx, 5
xor ebp, eax
shr edx, 5
xor edx, esi
shrd ebp, edx, 6
xor ebp, eax
shr edx, 6
shld ecx, eax, 6
xor edx, esi
shl eax, 6
xor ecx, esi
xor eax, dword [esp + 0x34]
shld ecx, eax, 5
shrd ebp, edx, 0x1c
shl eax, 5
xor ecx, esi
xor eax, dword [esp + 0x34]
shld ecx, eax, 0x19
shr edx, 0x1c
xor edx, ecx
shl eax, 0x19
mov ecx, dword [esp + 0x20]
xor ebp, eax
mov eax, dword [esp + 0x30]
mov esi, ecx
and ecx, dword [esp + 0x34]
xor esi, dword [esp + 0x34]
and esi, dword [esp + 0x14]
mov dword [esp + 0x3c], edx
xor esi, ecx
mov edx, eax
and eax, dword [esp + 0x1c]
xor edx, dword [esp + 0x1c]
and edx, dword [esp + 0x24]
xor edx, eax
mov eax, dword [esp + 0x3c]
add ebp, esi
adc eax, edx
mov edx, dword [esp + 0xbc]
add ebp, edi
mov ecx, edx
mov edi, edx
adc eax, ebx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xc4]
mov ebx, eax
shrd edi, ebx, 1
shr ebx, 1
xor edi, edx
xor ebx, eax
shrd edi, ebx, 6
shr ebx, 6
xor edi, edx
xor ebx, eax
shld eax, ecx, 7
shrd edi, ebx, 1
shl ecx, 7
xor ecx, edx
shr ebx, 1
shl ecx, 0x18
xor edi, 0
xor ebx, ecx
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x68]
xor edx, edx
xor edx, ecx
mov esi, ecx
shr esi, 0xa
xor esi, eax
shrd esi, edx, 0xd
xor esi, eax
shr edx, 0xd
xor edx, ecx
mov ecx, eax
xor eax, eax
shl ecx, 0xa
xor eax, dword [esp + 0x64]
xor ecx, dword [esp + 0x68]
shld ecx, eax, 3
shrd esi, edx, 6
shl eax, 3
xor esi, eax
shr edx, 6
xor edx, ecx
add edi, esi
mov esi, dword [esp + 0x18]
mov eax, esi
adc ebx, edx
add edi, dword [esp + 0xd0]
mov edx, dword [esp + 0x28]
mov ecx, edx
adc ebx, dword [esp + 0xdc]
add dword [esp + 0xc0], edi
mov edi, esi
adc dword [esp + 0xb4], ebx
mov ebx, edx
shld ecx, eax, 4
shrd edi, ebx, 0x17
shl eax, 4
xor ecx, edx
shr ebx, 0x17
xor eax, esi
shld ecx, eax, 0x17
xor ebx, edx
xor edi, esi
shrd edi, ebx, 4
shl eax, 0x17
xor ecx, edx
shr ebx, 4
xor eax, esi
shld ecx, eax, 0x17
xor ebx, edx
xor edi, esi
shrd edi, ebx, 0xe
shl eax, 0x17
shr ebx, 0xe
xor edi, eax
mov eax, dword [esp + 0x44]
xor ebx, ecx
xor eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x60]
and eax, edx
xor ecx, dword [esp + 0x54]
xor eax, dword [esp + 0x44]
and ecx, esi
xor ecx, dword [esp + 0x60]
mov esi, ebp
mov edx, dword [esp + 0x3c]
add edi, ecx
adc ebx, eax
mov eax, dword [esp + 0x4c]
add edi, dword [eax - 8]
adc ebx, dword [eax - 4]
mov eax, edx
add edi, dword [esp + 0xc0]
adc ebx, dword [esp + 0xb4]
add edi, dword [esp + 0x50]
adc ebx, dword [esp + 0x2c]
add dword [esp + 0x14], edi
adc dword [esp + 0x24], ebx
shrd esi, eax, 5
shr eax, 5
xor eax, edx
xor esi, ebp
shrd esi, eax, 6
mov ecx, edx
shr eax, 6
xor esi, ebp
xor eax, edx
shrd esi, eax, 0x1c
shr eax, 0x1c
mov dword [esp + 0x58], eax
mov eax, ebp
shld ecx, eax, 6
xor ecx, edx
shl eax, 6
xor eax, ebp
shld ecx, eax, 5
xor ecx, edx
shl eax, 5
xor edx, dword [esp + 0x1c]
xor eax, ebp
and edx, dword [esp + 0x30]
shld ecx, eax, 0x19
xor dword [esp + 0x58], ecx
mov ecx, ebp
and ecx, dword [esp + 0x34]
shl eax, 0x19
xor esi, eax
mov eax, dword [esp + 0x3c]
and eax, dword [esp + 0x1c]
mov dword [esp + 0x2c], esi
xor edx, eax
mov eax, dword [esp + 0x2c]
mov esi, ebp
xor esi, dword [esp + 0x34]
and esi, dword [esp + 0x20]
xor esi, ecx
mov ecx, dword [esp + 0x58]
add eax, esi
adc ecx, edx
mov edx, dword [esp + 0xb0]
add eax, edi
mov edi, edx
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0xcc]
adc ecx, ebx
mov ebx, eax
mov dword [esp + 0x58], ecx
shrd edi, ebx, 1
mov ecx, edx
xor edi, edx
shr ebx, 1
xor ebx, eax
shrd edi, ebx, 6
shr ebx, 6
xor edi, edx
xor ebx, eax
shld eax, ecx, 7
mov eax, dword [esp + 0x9c]
shl ecx, 7
xor ecx, edx
xor edx, edx
shrd edi, ebx, 1
shl ecx, 0x18
shr ebx, 1
xor edi, 0
xor ebx, ecx
mov ecx, dword [esp + 0xa4]
xor edx, ecx
mov esi, ecx
shr esi, 0xa
xor esi, eax
shrd esi, edx, 0xd
shr edx, 0xd
xor esi, eax
xor edx, ecx
mov ecx, eax
shrd esi, edx, 6
xor eax, eax
shl ecx, 0xa
shr edx, 6
xor eax, dword [esp + 0x9c]
xor ecx, dword [esp + 0xa4]
shld ecx, eax, 3
shl eax, 3
xor edx, ecx
xor esi, eax
add edi, esi
mov esi, dword [esp + 0x24]
mov ecx, esi
adc ebx, edx
add edi, dword [esp + 0x70]
mov edx, dword [esp + 0x14]
mov eax, edx
adc ebx, dword [esp + 0xd8]
add dword [esp + 0xbc], edi
mov edi, edx
adc dword [esp + 0xc4], ebx
mov ebx, esi
shld ecx, eax, 4
shrd edi, ebx, 0x17
shl eax, 4
xor ecx, esi
xor eax, edx
shr ebx, 0x17
shld ecx, eax, 0x17
xor ebx, esi
xor edi, edx
shl eax, 0x17
xor ecx, esi
xor eax, edx
shld ecx, eax, 0x17
shrd edi, ebx, 4
shl eax, 0x17
shr ebx, 4
xor edi, edx
xor ebx, esi
shrd edi, ebx, 0xe
xor edi, eax
shr ebx, 0xe
mov eax, dword [esp + 0x10]
xor ebx, ecx
xor eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x54]
and eax, esi
xor ecx, dword [esp + 0x18]
xor eax, dword [esp + 0x10]
and ecx, edx
xor ecx, dword [esp + 0x54]
add edi, ecx
mov edx, dword [esp + 0x2c]
mov esi, dword [esp + 0x58]
mov ecx, esi
adc ebx, eax
mov eax, dword [esp + 0x4c]
add edi, dword [eax]
adc ebx, dword [eax + 4]
mov eax, edx
add edi, dword [esp + 0xbc]
adc ebx, dword [esp + 0xc4]
add edi, dword [esp + 0x60]
adc ebx, dword [esp + 0x44]
add dword [esp + 0x20], edi
adc dword [esp + 0x30], ebx
shrd eax, ecx, 5
shr ecx, 5
xor eax, edx
xor ecx, esi
shrd eax, ecx, 6
shr ecx, 6
xor eax, edx
xor ecx, esi
shrd eax, ecx, 0x1c
shr ecx, 0x1c
mov dword [esp + 0x48], eax
mov eax, edx
mov dword [esp + 0x38], ecx
mov ecx, esi
shld ecx, eax, 6
shl eax, 6
xor ecx, esi
xor eax, edx
shld ecx, eax, 5
xor ecx, esi
shl eax, 5
xor eax, edx
mov esi, ebp
shld ecx, eax, 0x19
xor esi, edx
xor dword [esp + 0x38], ecx
mov ecx, ebp
and ecx, dword [esp + 0x2c]
and esi, dword [esp + 0x34]
shl eax, 0x19
xor esi, ecx
xor dword [esp + 0x48], eax
mov eax, dword [esp + 0x3c]
mov edx, eax
xor edx, dword [esp + 0x58]
and edx, dword [esp + 0x1c]
and eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x38]
xor edx, eax
mov eax, dword [esp + 0x48]
add eax, esi
adc ecx, edx
mov edx, dword [esp + 0x98]
add eax, edi
mov edi, edx
mov dword [esp + 0x48], eax
adc ecx, ebx
mov eax, dword [esp + 0x8c]
mov ebx, eax
mov dword [esp + 0x38], ecx
shrd edi, ebx, 1
mov ecx, edx
xor edi, edx
shr ebx, 1
xor ebx, eax
shrd edi, ebx, 6
shr ebx, 6
xor edi, edx
xor ebx, eax
shld eax, ecx, 7
mov eax, dword [esp + 0xc0]
shl ecx, 7
xor ecx, edx
xor edx, edx
shrd edi, ebx, 1
shl ecx, 0x18
shr ebx, 1
xor edi, 0
xor ebx, ecx
mov ecx, dword [esp + 0xb4]
xor edx, ecx
mov esi, ecx
shr esi, 0xa
xor esi, eax
shrd esi, edx, 0xd
shr edx, 0xd
xor esi, eax
xor edx, ecx
mov ecx, eax
xor eax, eax
shl ecx, 0xa
xor eax, dword [esp + 0xc0]
xor ecx, dword [esp + 0xb4]
shrd esi, edx, 6
shld ecx, eax, 3
shr edx, 6
shl eax, 3
xor edx, ecx
xor esi, eax
add edi, esi
mov esi, dword [esp + 0x30]
adc ebx, edx
add edi, dword [esp + 0x78]
mov edx, dword [esp + 0x20]
adc ebx, dword [esp + 0x84]
add dword [esp + 0xb0], edi
mov edi, edx
adc dword [esp + 0xcc], ebx
mov ebx, esi
shrd edi, ebx, 0x17
shr ebx, 0x17
xor edi, edx
xor ebx, esi
mov eax, edx
shrd edi, ebx, 4
mov ecx, esi
shld ecx, eax, 4
shr ebx, 4
xor edi, edx
shl eax, 4
xor ecx, esi
xor eax, edx
xor ebx, esi
shld ecx, eax, 0x17
shrd edi, ebx, 0xe
shl eax, 0x17
xor ecx, esi
xor eax, edx
shr ebx, 0xe
shld ecx, eax, 0x17
xor ebx, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x18]
xor edi, eax
xor ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x28]
and ecx, edx
xor eax, dword [esp + 0x24]
xor ecx, dword [esp + 0x18]
and eax, esi
xor eax, dword [esp + 0x28]
add edi, ecx
mov edx, dword [esp + 0x48]
adc ebx, eax
mov esi, dword [esp + 0x38]
mov eax, dword [esp + 0x4c]
mov ecx, esi
add edi, dword [eax + 8]
adc ebx, dword [eax + 0xc]
mov eax, edx
add edi, dword [esp + 0xb0]
adc ebx, dword [esp + 0xcc]
add edi, dword [esp + 0x54]
adc ebx, dword [esp + 0x10]
add dword [esp + 0x34], edi
adc dword [esp + 0x1c], ebx
shrd eax, ecx, 5
xor eax, edx
shr ecx, 5
xor ecx, esi
shrd eax, ecx, 6
xor eax, edx
shr ecx, 6
xor ecx, esi
shrd eax, ecx, 0x1c
mov dword [esp + 0x40], eax
mov eax, edx
shr ecx, 0x1c
mov dword [esp + 0x10], ecx
mov ecx, esi
shld ecx, eax, 6
shl eax, 6
xor ecx, esi
xor eax, edx
shld ecx, eax, 5
shl eax, 5
xor ecx, esi
mov esi, dword [esp + 0x2c]
xor eax, edx
shld ecx, eax, 0x19
xor esi, edx
mov edx, dword [esp + 0x58]
xor dword [esp + 0x10], ecx
and esi, ebp
xor edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x2c]
and edx, dword [esp + 0x3c]
shl eax, 0x19
xor dword [esp + 0x40], eax
and ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x58]
and eax, dword [esp + 0x38]
xor esi, ecx
mov ecx, dword [esp + 0x10]
xor edx, eax
mov eax, dword [esp + 0x40]
add eax, esi
adc ecx, edx
mov edx, dword [esp + 0xa0]
add eax, edi
mov edi, edx
mov dword [esp + 0x40], eax
adc ecx, ebx
mov eax, dword [esp + 0xb8]
mov ebx, eax
mov dword [esp + 0x10], ecx
shrd edi, ebx, 1
mov ecx, edx
shr ebx, 1
xor edi, edx
xor ebx, eax
shrd edi, ebx, 6
shr ebx, 6
xor edi, edx
xor ebx, eax
shld eax, ecx, 7
mov eax, dword [esp + 0xbc]
shrd edi, ebx, 1
shl ecx, 7
xor ecx, edx
shr ebx, 1
shl ecx, 0x18
xor edx, edx
xor ebx, ecx
xor edi, 0
mov ecx, dword [esp + 0xc4]
xor edx, ecx
mov esi, ecx
shr esi, 0xa
xor esi, eax
shrd esi, edx, 0xd
xor esi, eax
shr edx, 0xd
xor edx, ecx
mov ecx, eax
xor eax, eax
shl ecx, 0xa
xor eax, dword [esp + 0xbc]
xor ecx, dword [esp + 0xc4]
shld ecx, eax, 3
shrd esi, edx, 6
shl eax, 3
xor esi, eax
shr edx, 6
xor edx, ecx
add edi, esi
mov esi, dword [esp + 0x34]
mov eax, esi
adc ebx, edx
add edi, dword [esp + 0x88]
mov edx, dword [esp + 0x1c]
mov ecx, edx
adc ebx, dword [esp + 0x7c]
add dword [esp + 0x98], edi
mov edi, esi
adc dword [esp + 0x8c], ebx
mov ebx, edx
shrd edi, ebx, 0x17
shld ecx, eax, 4
shr ebx, 0x17
xor edi, esi
xor ebx, edx
shl eax, 4
shrd edi, ebx, 4
xor eax, esi
xor ecx, edx
shr ebx, 4
xor edi, esi
xor ebx, edx
shrd edi, ebx, 0xe
shr ebx, 0xe
shld ecx, eax, 0x17
xor ecx, edx
shl eax, 0x17
xor eax, esi
shld ecx, eax, 0x17
xor ebx, ecx
shl eax, 0x17
xor edi, eax
mov ecx, dword [esp + 0x14]
xor ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
and ecx, esi
xor eax, dword [esp + 0x30]
xor ecx, dword [esp + 0x14]
and eax, edx
xor eax, dword [esp + 0x24]
add edi, ecx
mov edx, dword [esp + 0x40]
adc ebx, eax
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x4c]
mov ecx, esi
add edi, dword [eax + 0x10]
adc ebx, dword [eax + 0x14]
mov eax, edx
add edi, dword [esp + 0x98]
adc ebx, dword [esp + 0x8c]
add edi, dword [esp + 0x18]
adc ebx, dword [esp + 0x28]
add ebp, edi
adc dword [esp + 0x3c], ebx
shrd eax, ecx, 5
xor eax, edx
shr ecx, 5
xor ecx, esi
shrd eax, ecx, 6
xor eax, edx
shr ecx, 6
xor ecx, esi
shrd eax, ecx, 0x1c
shr ecx, 0x1c
mov dword [esp + 0x18], eax
mov eax, edx
mov dword [esp + 0x28], ecx
mov ecx, esi
shld ecx, eax, 6
shl eax, 6
xor ecx, esi
xor eax, edx
shld ecx, eax, 5
xor ecx, esi
shl eax, 5
mov esi, dword [esp + 0x48]
xor eax, edx
shld ecx, eax, 0x19
xor esi, edx
mov edx, dword [esp + 0x38]
xor dword [esp + 0x28], ecx
xor edx, dword [esp + 0x10]
and edx, dword [esp + 0x58]
and esi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x48]
and ecx, dword [esp + 0x40]
shl eax, 0x19
xor esi, ecx
xor dword [esp + 0x18], eax
mov eax, dword [esp + 0x38]
and eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
xor edx, eax
mov eax, dword [esp + 0x18]
add eax, esi
adc ecx, edx
mov edx, dword [esp + 0xa8]
add eax, edi
mov edi, edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xc8]
adc ecx, ebx
mov ebx, eax
mov dword [esp + 0x28], ecx
shrd edi, ebx, 1
shr ebx, 1
xor edi, edx
xor ebx, eax
mov ecx, edx
shrd edi, ebx, 6
shr ebx, 6
xor edi, edx
xor ebx, eax
shld eax, ecx, 7
mov eax, dword [esp + 0xb0]
shrd edi, ebx, 1
shl ecx, 7
xor ecx, edx
shr ebx, 1
shl ecx, 0x18
xor edx, edx
xor ebx, ecx
xor edi, 0
mov ecx, dword [esp + 0xcc]
xor edx, ecx
mov esi, ecx
shr esi, 0xa
xor esi, eax
shrd esi, edx, 0xd
xor esi, eax
shr edx, 0xd
xor edx, ecx
mov ecx, eax
xor eax, eax
shl ecx, 0xa
xor eax, dword [esp + 0xb0]
xor ecx, dword [esp + 0xcc]
shld ecx, eax, 3
shrd esi, edx, 6
shl eax, 3
xor esi, eax
shr edx, 6
xor edx, ecx
mov eax, ebp
add edi, esi
adc ebx, edx
add edi, dword [esp + 0x74]
mov edx, dword [esp + 0x3c]
mov ecx, edx
adc ebx, dword [esp + 0x80]
add dword [esp + 0xa0], edi
mov edi, ebp
adc dword [esp + 0xb8], ebx
mov ebx, edx
shld ecx, eax, 4
shrd edi, ebx, 0x17
shl eax, 4
xor ecx, edx
shr ebx, 0x17
xor eax, ebp
shld ecx, eax, 0x17
xor ebx, edx
xor edi, ebp
shrd edi, ebx, 4
shl eax, 0x17
xor ecx, edx
shr ebx, 4
xor eax, ebp
shld ecx, eax, 0x17
xor ebx, edx
xor edi, ebp
shrd edi, ebx, 0xe
shl eax, 0x17
shr ebx, 0xe
xor edi, eax
mov eax, dword [esp + 0x30]
xor ebx, ecx
mov ecx, dword [esp + 0x20]
xor ecx, dword [esp + 0x34]
xor eax, dword [esp + 0x1c]
and ecx, ebp
xor ecx, dword [esp + 0x20]
and eax, edx
xor eax, dword [esp + 0x30]
add edi, ecx
adc ebx, eax
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x28]
mov ecx, esi
add edi, dword [eax + 0x18]
adc ebx, dword [eax + 0x1c]
mov eax, edx
add edi, dword [esp + 0xa0]
adc ebx, dword [esp + 0xb8]
add edi, dword [esp + 0x14]
adc ebx, dword [esp + 0x24]
add dword [esp + 0x2c], edi
adc dword [esp + 0x58], ebx
shrd eax, ecx, 5
shr ecx, 5
xor eax, edx
xor ecx, esi
shrd eax, ecx, 6
shr ecx, 6
xor eax, edx
xor ecx, esi
shrd eax, ecx, 0x1c
shr ecx, 0x1c
mov dword [esp + 0x24], ecx
mov ecx, esi
mov dword [esp + 0x14], eax
mov eax, edx
shld ecx, eax, 6
xor ecx, esi
shl eax, 6
xor eax, edx
shld ecx, eax, 5
xor ecx, esi
shl eax, 5
mov esi, dword [esp + 0x40]
xor eax, edx
shld ecx, eax, 0x19
xor esi, edx
mov edx, dword [esp + 0x10]
xor dword [esp + 0x24], ecx
xor edx, dword [esp + 0x28]
and edx, dword [esp + 0x38]
and esi, dword [esp + 0x48]
mov ecx, dword [esp + 0x40]
and ecx, dword [esp + 0x18]
shl eax, 0x19
xor esi, ecx
xor dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
and eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
xor edx, eax
mov eax, dword [esp + 0x14]
add eax, esi
adc ecx, edx
mov edx, dword [esp + 0x90]
add eax, edi
mov edi, edx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x94]
adc ecx, ebx
mov ebx, eax
mov dword [esp + 0x24], ecx
shrd edi, ebx, 1
mov ecx, edx
shr ebx, 1
xor edi, edx
xor ebx, eax
shrd edi, ebx, 6
shr ebx, 6
xor edi, edx
xor ebx, eax
shld eax, ecx, 7
shrd edi, ebx, 1
shl ecx, 7
xor ecx, edx
shr ebx, 1
shl ecx, 0x18
xor edi, 0
xor ebx, ecx
mov ecx, dword [esp + 0x8c]
mov eax, dword [esp + 0x98]
mov esi, ecx
xor edx, edx
shr esi, 0xa
xor esi, eax
xor edx, ecx
shrd esi, edx, 0xd
xor esi, eax
shr edx, 0xd
xor edx, ecx
mov ecx, eax
xor eax, eax
shl ecx, 0xa
xor eax, dword [esp + 0x98]
xor ecx, dword [esp + 0x8c]
shld ecx, eax, 3
shrd esi, edx, 6
shl eax, 3
xor esi, eax
shr edx, 6
xor edx, ecx
add edi, esi
mov esi, dword [esp + 0x58]
mov ecx, esi
adc ebx, edx
add edi, dword [esp + 0x64]
mov edx, dword [esp + 0x2c]
mov eax, edx
adc ebx, dword [esp + 0x68]
add dword [esp + 0xa8], edi
mov edi, edx
adc dword [esp + 0xc8], ebx
mov ebx, esi
shld ecx, eax, 4
shrd edi, ebx, 0x17
shl eax, 4
xor ecx, esi
shr ebx, 0x17
xor eax, edx
shld ecx, eax, 0x17
xor ebx, esi
xor edi, edx
shrd edi, ebx, 4
shl eax, 0x17
xor ecx, esi
shr ebx, 4
xor eax, edx
shld ecx, eax, 0x17
xor ebx, esi
xor edi, edx
shrd edi, ebx, 0xe
shl eax, 0x17
shr ebx, 0xe
xor edi, eax
mov eax, dword [esp + 0x3c]
xor ebx, ecx
xor eax, dword [esp + 0x1c]
mov ecx, ebp
xor ecx, dword [esp + 0x34]
and eax, esi
xor eax, dword [esp + 0x1c]
and ecx, edx
xor ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x14]
add edi, ecx
mov esi, dword [esp + 0x24]
mov ecx, esi
adc ebx, eax
mov eax, dword [esp + 0x4c]
add edi, dword [eax + 0x20]
adc ebx, dword [eax + 0x24]
mov eax, edx
add edi, dword [esp + 0xa8]
adc ebx, dword [esp + 0xc8]
add edi, dword [esp + 0x20]
adc ebx, dword [esp + 0x30]
add dword [esp + 0x48], edi
adc dword [esp + 0x38], ebx
shrd eax, ecx, 5
shr ecx, 5
xor eax, edx
xor ecx, esi
shrd eax, ecx, 6
xor eax, edx
shr ecx, 6
xor ecx, esi
shrd eax, ecx, 0x1c
shr ecx, 0x1c
mov dword [esp + 0x20], eax
mov eax, edx
mov dword [esp + 0x30], ecx
mov ecx, esi
shld ecx, eax, 6
xor ecx, esi
shl eax, 6
xor eax, edx
shld ecx, eax, 5
xor ecx, esi
shl eax, 5
mov esi, dword [esp + 0x18]
xor eax, edx
shld ecx, eax, 0x19
xor esi, edx
mov edx, dword [esp + 0x28]
xor dword [esp + 0x30], ecx
xor edx, dword [esp + 0x24]
and edx, dword [esp + 0x10]
and esi, dword [esp + 0x40]
mov ecx, dword [esp + 0x18]
and ecx, dword [esp + 0x14]
xor esi, ecx
shl eax, 0x19
xor dword [esp + 0x20], eax
mov eax, dword [esp + 0x28]
and eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
xor edx, eax
mov eax, dword [esp + 0x20]
add eax, esi
adc ecx, edx
mov edx, dword [esp + 0xac]
add eax, edi
mov edi, edx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x6c]
adc ecx, ebx
mov ebx, eax
mov dword [esp + 0x30], ecx
shrd edi, ebx, 1
mov ecx, edx
xor edi, edx
shr ebx, 1
xor ebx, eax
shrd edi, ebx, 6
shr ebx, 6
xor edi, edx
xor ebx, eax
shld eax, ecx, 7
mov eax, dword [esp + 0xa0]
shl ecx, 7
xor ecx, edx
xor edx, edx
shrd edi, ebx, 1
shl ecx, 0x18
shr ebx, 1
xor edi, 0
xor ebx, ecx
mov ecx, dword [esp + 0xb8]
xor edx, ecx
mov esi, ecx
shr esi, 0xa
xor esi, eax
shrd esi, edx, 0xd
shr edx, 0xd
xor esi, eax
xor edx, ecx
mov ecx, eax
shrd esi, edx, 6
xor eax, eax
shl ecx, 0xa
shr edx, 6
xor eax, dword [esp + 0xa0]
xor ecx, dword [esp + 0xb8]
shld ecx, eax, 3
shl eax, 3
xor edx, ecx
xor esi, eax
add edi, esi
mov esi, dword [esp + 0x48]
mov eax, esi
adc ebx, edx
add edi, dword [esp + 0x9c]
mov edx, dword [esp + 0x38]
mov ecx, edx
adc ebx, dword [esp + 0xa4]
add dword [esp + 0x90], edi
mov edi, esi
adc dword [esp + 0x94], ebx
mov ebx, edx
shld ecx, eax, 4
shrd edi, ebx, 0x17
shl eax, 4
xor ecx, edx
xor eax, esi
shr ebx, 0x17
shld ecx, eax, 0x17
xor ebx, edx
xor edi, esi
shl eax, 0x17
xor ecx, edx
xor eax, esi
shld ecx, eax, 0x17
shrd edi, ebx, 4
shl eax, 0x17
shr ebx, 4
xor edi, esi
xor ebx, edx
shrd edi, ebx, 0xe
xor edi, eax
shr ebx, 0xe
mov eax, dword [esp + 0x3c]
xor ebx, ecx
xor eax, dword [esp + 0x58]
mov ecx, ebp
xor ecx, dword [esp + 0x2c]
and eax, edx
xor eax, dword [esp + 0x3c]
and ecx, esi
xor ecx, ebp
mov edx, dword [esp + 0x20]
add edi, ecx
mov esi, dword [esp + 0x30]
mov ecx, esi
adc ebx, eax
mov eax, dword [esp + 0x4c]
add edi, dword [eax + 0x28]
adc ebx, dword [eax + 0x2c]
mov eax, edx
add edi, dword [esp + 0x90]
adc ebx, dword [esp + 0x94]
add edi, dword [esp + 0x34]
adc ebx, dword [esp + 0x1c]
add dword [esp + 0x40], edi
adc dword [esp + 0x10], ebx
shrd eax, ecx, 5
shr ecx, 5
xor eax, edx
xor ecx, esi
shrd eax, ecx, 6
shr ecx, 6
xor eax, edx
xor ecx, esi
shrd eax, ecx, 0x1c
shr ecx, 0x1c
mov dword [esp + 0x5c], eax
mov eax, edx
mov dword [esp + 0x1c], ecx
mov ecx, esi
shld ecx, eax, 6
shl eax, 6
xor ecx, esi
xor eax, edx
shld ecx, eax, 5
xor ecx, esi
shl eax, 5
xor eax, edx
mov esi, dword [esp + 0x14]
shld ecx, eax, 0x19
xor esi, edx
mov edx, dword [esp + 0x24]
xor dword [esp + 0x1c], ecx
xor edx, dword [esp + 0x30]
and edx, dword [esp + 0x28]
and esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
and ecx, dword [esp + 0x20]
xor esi, ecx
shl eax, 0x19
xor dword [esp + 0x5c], eax
mov eax, dword [esp + 0x24]
and eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x1c]
xor edx, eax
mov eax, dword [esp + 0x5c]
add eax, esi
adc ecx, edx
mov edx, dword [esp + 0xe0]
add eax, edi
mov edi, edx
mov dword [esp + 0x5c], eax
adc ecx, ebx
mov eax, dword [esp + 0xd4]
mov ebx, eax
mov dword [esp + 0x1c], ecx
shrd edi, ebx, 1
mov ecx, edx
xor edi, edx
shr ebx, 1
xor ebx, eax
shrd edi, ebx, 6
shr ebx, 6
xor edi, edx
xor ebx, eax
shld eax, ecx, 7
mov eax, dword [esp + 0xa8]
shl ecx, 7
xor ecx, edx
xor edx, edx
shrd edi, ebx, 1
shl ecx, 0x18
shr ebx, 1
xor edi, 0
xor ebx, ecx
mov ecx, dword [esp + 0xc8]
xor edx, ecx
mov esi, ecx
shr esi, 0xa
xor esi, eax
shrd esi, edx, 0xd
shr edx, 0xd
xor esi, eax
xor edx, ecx
mov ecx, eax
xor eax, eax
shl ecx, 0xa
xor eax, dword [esp + 0xa8]
xor ecx, dword [esp + 0xc8]
shrd esi, edx, 6
shld ecx, eax, 3
shr edx, 6
shl eax, 3
xor edx, ecx
xor esi, eax
add edi, esi
mov esi, dword [esp + 0x10]
adc ebx, edx
add edi, dword [esp + 0xc0]
mov edx, dword [esp + 0x40]
adc ebx, dword [esp + 0xb4]
add dword [esp + 0xac], edi
mov edi, edx
adc dword [esp + 0x6c], ebx
mov ebx, esi
shrd edi, ebx, 0x17
shr ebx, 0x17
xor edi, edx
xor ebx, esi
mov eax, edx
shrd edi, ebx, 4
mov ecx, esi
shld ecx, eax, 4
shr ebx, 4
xor edi, edx
shl eax, 4
xor ecx, esi
xor eax, edx
xor ebx, esi
shld ecx, eax, 0x17
shrd edi, ebx, 0xe
shl eax, 0x17
xor ecx, esi
xor eax, edx
shr ebx, 0xe
shld ecx, eax, 0x17
shl eax, 0x17
xor ebx, ecx
mov ecx, dword [esp + 0x2c]
xor edi, eax
xor ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x58]
and ecx, edx
xor eax, dword [esp + 0x38]
xor ecx, dword [esp + 0x2c]
and eax, esi
xor eax, dword [esp + 0x58]
add edi, ecx
mov edx, dword [esp + 0x5c]
mov ecx, edx
adc ebx, eax
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x4c]
add edi, dword [eax + 0x30]
adc ebx, dword [eax + 0x34]
mov eax, esi
add edi, dword [esp + 0xac]
adc ebx, dword [esp + 0x6c]
add edi, ebp
mov ebp, dword [esp + 0x18]
adc ebx, dword [esp + 0x3c]
add ebp, edi
mov dword [esp + 0x18], ebp
adc dword [esp + 0x28], ebx
shrd ecx, eax, 5
shr eax, 5
xor ecx, edx
xor eax, esi
shrd ecx, eax, 6
shr eax, 6
xor ecx, edx
xor eax, esi
shrd ecx, eax, 0x1c
shr eax, 0x1c
mov dword [esp + 0x34], eax
mov eax, edx
mov dword [esp + 0x3c], ecx
mov ecx, esi
shld ecx, eax, 6
shl eax, 6
xor ecx, esi
xor eax, edx
shld ecx, eax, 5
shl eax, 5
xor ecx, esi
mov esi, dword [esp + 0x20]
xor eax, edx
shld ecx, eax, 0x19
xor esi, edx
mov edx, dword [esp + 0x30]
xor dword [esp + 0x34], ecx
xor edx, dword [esp + 0x1c]
and esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
shl eax, 0x19
xor dword [esp + 0x3c], eax
and edx, dword [esp + 0x24]
and ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x30]
xor esi, ecx
and eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x3c]
xor edx, eax
mov eax, dword [esp + 0x34]
add ecx, esi
adc eax, edx
mov edx, dword [esp + 0xd0]
add ecx, edi
mov edi, edx
mov dword [esp + 0x3c], ecx
mov ecx, edx
adc eax, ebx
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xdc]
mov ebx, eax
shrd edi, ebx, 1
shr ebx, 1
xor edi, edx
xor ebx, eax
shrd edi, ebx, 6
shr ebx, 6
xor edi, edx
xor ebx, eax
shld eax, ecx, 7
mov eax, dword [esp + 0x90]
shrd edi, ebx, 1
shl ecx, 7
xor ecx, edx
shr ebx, 1
shl ecx, 0x18
xor edx, edx
xor ebx, ecx
xor edi, 0
mov ecx, dword [esp + 0x94]
xor edx, ecx
mov esi, ecx
shr esi, 0xa
xor esi, eax
shrd esi, edx, 0xd
xor esi, eax
shr edx, 0xd
xor edx, ecx
mov ecx, eax
xor eax, eax
shl ecx, 0xa
xor eax, dword [esp + 0x90]
xor ecx, dword [esp + 0x94]
shld ecx, eax, 3
shrd esi, edx, 6
shl eax, 3
xor esi, eax
shr edx, 6
xor edx, ecx
mov eax, ebp
add edi, esi
mov esi, dword [esp + 0x28]
mov ecx, esi
adc ebx, edx
add edi, dword [esp + 0xbc]
adc ebx, dword [esp + 0xc4]
add dword [esp + 0xe0], edi
mov edi, ebp
adc dword [esp + 0xd4], ebx
mov ebx, esi
shrd edi, ebx, 0x17
shld ecx, eax, 4
shr ebx, 0x17
xor edi, ebp
xor ebx, esi
shl eax, 4
shrd edi, ebx, 4
xor eax, ebp
shr ebx, 4
xor edi, ebp
xor ebx, esi
shrd edi, ebx, 0xe
shr ebx, 0xe
xor ecx, esi
shld ecx, eax, 0x17
mov edx, dword [esp + 0x34]
xor ecx, esi
shl eax, 0x17
xor eax, ebp
mov ebp, dword [esp + 0x48]
shld ecx, eax, 0x17
xor ebx, ecx
shl eax, 0x17
xor edi, eax
mov ecx, ebp
xor ecx, dword [esp + 0x40]
and ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x38]
xor ecx, ebp
xor eax, dword [esp + 0x10]
and eax, esi
mov esi, edx
xor eax, dword [esp + 0x38]
add edi, ecx
adc ebx, eax
mov eax, dword [esp + 0x4c]
add edi, dword [eax + 0x38]
adc ebx, dword [eax + 0x3c]
add edi, dword [esp + 0xe0]
mov eax, dword [esp + 0x3c]
mov ecx, eax
adc ebx, dword [esp + 0xd4]
add edi, dword [esp + 0x2c]
adc ebx, dword [esp + 0x58]
add dword [esp + 0x14], edi
adc dword [esp + 0x24], ebx
shrd ecx, esi, 5
xor ecx, eax
shr esi, 5
xor esi, edx
shrd ecx, esi, 6
xor ecx, eax
shr esi, 6
xor esi, edx
shrd ecx, esi, 0x1c
mov dword [esp + 0x50], ecx
mov ecx, edx
shld ecx, eax, 6
shr esi, 0x1c
shl eax, 6
xor ecx, edx
xor eax, dword [esp + 0x3c]
shld ecx, eax, 5
shl eax, 5
xor ecx, edx
xor eax, dword [esp + 0x3c]
xor edx, dword [esp + 0x1c]
and edx, dword [esp + 0x30]
shld ecx, eax, 0x19
xor esi, ecx
shl eax, 0x19
xor dword [esp + 0x50], eax
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x34]
and eax, dword [esp + 0x1c]
mov dword [esp + 0x2c], esi
xor edx, eax
mov eax, dword [esp + 0x2c]
mov esi, ecx
xor esi, dword [esp + 0x5c]
and ecx, dword [esp + 0x5c]
and esi, dword [esp + 0x20]
xor esi, ecx
mov ecx, dword [esp + 0x50]
add ecx, esi
adc eax, edx
mov edx, dword [esp + 0x70]
add ecx, edi
mov edi, edx
mov dword [esp + 0x50], ecx
adc eax, ebx
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0xd8]
mov ebx, eax
shrd edi, ebx, 1
shr ebx, 1
xor edi, edx
xor ebx, eax
mov ecx, edx
shrd edi, ebx, 6
shr ebx, 6
xor edi, edx
xor ebx, eax
shld eax, ecx, 7
mov eax, dword [esp + 0xac]
shrd edi, ebx, 1
shl ecx, 7
xor ecx, edx
shr ebx, 1
shl ecx, 0x18
xor edx, edx
xor ebx, ecx
xor edi, 0
mov ecx, dword [esp + 0x6c]
xor edx, ecx
mov esi, ecx
shr esi, 0xa
xor esi, eax
shrd esi, edx, 0xd
xor esi, eax
shr edx, 0xd
xor edx, ecx
mov ecx, eax
xor eax, eax
shl ecx, 0xa
xor eax, dword [esp + 0xac]
xor ecx, dword [esp + 0x6c]
shld ecx, eax, 3
shrd esi, edx, 6
shl eax, 3
xor esi, eax
shr edx, 6
xor edx, ecx
add edi, esi
mov esi, dword [esp + 0x24]
mov ecx, esi
adc ebx, edx
add edi, dword [esp + 0xb0]
mov edx, dword [esp + 0x14]
mov eax, edx
adc ebx, dword [esp + 0xcc]
add dword [esp + 0xd0], edi
mov edi, edx
adc dword [esp + 0xdc], ebx
mov ebx, esi
shld ecx, eax, 4
shrd edi, ebx, 0x17
shl eax, 4
xor ecx, esi
shr ebx, 0x17
xor eax, edx
shld ecx, eax, 0x17
xor ebx, esi
xor edi, edx
shrd edi, ebx, 4
shl eax, 0x17
xor ecx, esi
shr ebx, 4
xor eax, edx
shld ecx, eax, 0x17
xor ebx, esi
xor edi, edx
shrd edi, ebx, 0xe
shl eax, 0x17
shr ebx, 0xe
xor edi, eax
mov eax, dword [esp + 0x10]
xor ebx, ecx
mov ecx, dword [esp + 0x40]
xor ecx, dword [esp + 0x18]
xor eax, dword [esp + 0x28]
and ecx, edx
xor ecx, dword [esp + 0x40]
and eax, esi
xor eax, dword [esp + 0x10]
add edi, ecx
adc ebx, eax
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x4c]
mov esi, edx
add edi, dword [eax + 0x40]
adc ebx, dword [eax + 0x44]
add edi, dword [esp + 0xd0]
mov eax, dword [esp + 0x50]
mov ecx, eax
adc ebx, dword [esp + 0xdc]
add edi, ebp
mov ebp, dword [esp + 0x20]
adc ebx, dword [esp + 0x38]
add ebp, edi
mov dword [esp + 0x20], ebp
adc dword [esp + 0x30], ebx
shrd ecx, esi, 5
xor ecx, eax
shr esi, 5
xor esi, edx
shrd ecx, esi, 6
xor ecx, eax
shr esi, 6
xor esi, edx
shrd ecx, esi, 0x1c
mov dword [esp + 0x60], ecx
mov ecx, edx
shld ecx, eax, 6
shr esi, 0x1c
shl eax, 6
xor ecx, edx
xor eax, dword [esp + 0x50]
shld ecx, eax, 5
shl eax, 5
xor ecx, edx
xor eax, dword [esp + 0x50]
shld ecx, eax, 0x19
xor esi, ecx
shl eax, 0x19
xor dword [esp + 0x60], eax
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x34]
mov edx, eax
and eax, dword [esp + 0x2c]
xor edx, dword [esp + 0x2c]
and edx, dword [esp + 0x1c]
mov dword [esp + 0x44], esi
xor edx, eax
mov eax, dword [esp + 0x44]
mov esi, ecx
and ecx, dword [esp + 0x50]
xor esi, dword [esp + 0x50]
and esi, dword [esp + 0x5c]
xor esi, ecx
mov ecx, dword [esp + 0x60]
add ecx, esi
mov esi, dword [esp + 0xd4]
adc eax, edx
mov edx, dword [esp + 0xe0]
add ecx, edi
mov dword [esp + 0x60], ecx
mov ecx, edx
adc eax, ebx
xor edi, edi
xor edi, esi
mov dword [esp + 0x44], eax
mov ebx, esi
shl ecx, 0xa
shr ebx, 0xa
xor eax, eax
xor ebx, edx
xor eax, edx
shrd ebx, edi, 0xd
xor ecx, esi
shr edi, 0xd
xor ebx, edx
xor edi, esi
shrd ebx, edi, 6
shld ecx, eax, 3
shr edi, 6
shl eax, 3
xor ebx, eax
xor edi, ecx
mov eax, dword [esp + 0x78]
mov edx, eax
mov ecx, dword [esp + 0x84]
mov esi, ecx
shrd edx, esi, 1
xor edx, eax
shr esi, 1
xor esi, ecx
shrd edx, esi, 6
xor edx, eax
shr esi, 6
xor esi, ecx
mov ecx, eax
mov eax, dword [esp + 0x84]
shld eax, ecx, 7
shrd edx, esi, 1
shl ecx, 7
mov eax, ebp
xor ecx, dword [esp + 0x78]
xor edx, 0
shl ecx, 0x18
shr esi, 1
xor esi, ecx
add ebx, edx
mov edx, dword [esp + 0x44]
adc edi, esi
add ebx, dword [esp + 0x98]
mov esi, dword [esp + 0x30]
mov ecx, esi
adc edi, dword [esp + 0x8c]
add dword [esp + 0x70], ebx
mov ebx, esi
adc dword [esp + 0xd8], edi
mov edi, ebp
shld ecx, eax, 4
shrd edi, ebx, 0x17
shl eax, 4
xor ecx, esi
shr ebx, 0x17
xor eax, ebp
shld ecx, eax, 0x17
xor ebx, esi
xor edi, ebp
shrd edi, ebx, 4
shl eax, 0x17
xor ecx, esi
shr ebx, 4
xor eax, ebp
shld ecx, eax, 0x17
xor ebx, esi
xor edi, ebp
mov ebp, dword [esp + 0x18]
shrd edi, ebx, 0xe
shl eax, 0x17
shr ebx, 0xe
xor edi, eax
mov eax, dword [esp + 0x28]
xor ebx, ecx
xor eax, dword [esp + 0x24]
mov ecx, ebp
xor ecx, dword [esp + 0x14]
and eax, esi
and ecx, dword [esp + 0x20]
xor eax, dword [esp + 0x28]
xor ecx, ebp
mov esi, dword [esp + 0x60]
add edi, ecx
mov ecx, esi
adc ebx, eax
mov eax, dword [esp + 0x4c]
add edi, dword [eax + 0x48]
adc ebx, dword [eax + 0x4c]
mov eax, edx
add edi, dword [esp + 0x70]
adc ebx, dword [esp + 0xd8]
add edi, dword [esp + 0x40]
adc ebx, dword [esp + 0x10]
add dword [esp + 0x5c], edi
adc dword [esp + 0x1c], ebx
shrd ecx, eax, 5
xor ecx, esi
shr eax, 5
xor eax, edx
shrd ecx, eax, 6
xor ecx, esi
shr eax, 6
xor eax, edx
shrd ecx, eax, 0x1c
shr eax, 0x1c
mov dword [esp + 0x10], eax
mov eax, esi
mov dword [esp + 0x54], ecx
mov ecx, edx
shld ecx, eax, 6
xor ecx, edx
shl eax, 6
xor eax, esi
shld ecx, eax, 5
xor ecx, edx
shl eax, 5
xor eax, esi
shld ecx, eax, 0x19
xor dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x50]
mov esi, ecx
xor esi, dword [esp + 0x60]
and esi, dword [esp + 0x3c]
and ecx, dword [esp + 0x60]
shl eax, 0x19
xor esi, ecx
xor dword [esp + 0x54], eax
mov eax, dword [esp + 0x2c]
mov edx, eax
xor edx, dword [esp + 0x44]
and eax, dword [esp + 0x44]
and edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x54]
xor edx, eax
mov eax, dword [esp + 0x10]
add ecx, esi
mov esi, dword [esp + 0xdc]
adc eax, edx
mov edx, dword [esp + 0xd0]
add ecx, edi
mov dword [esp + 0x54], ecx
mov ecx, edx
adc eax, ebx
mov ebx, esi
xor edi, edi
shr ebx, 0xa
xor edi, esi
mov dword [esp + 0x10], eax
xor ebx, edx
shl ecx, 0xa
shrd ebx, edi, 0xd
xor ecx, esi
xor eax, eax
xor eax, edx
shr edi, 0xd
xor edi, esi
xor ebx, edx
shld ecx, eax, 3
shrd ebx, edi, 6
shl eax, 3
shr edi, 6
xor ebx, eax
mov eax, dword [esp + 0x88]
xor edi, ecx
mov ecx, dword [esp + 0x7c]
mov edx, eax
mov esi, ecx
shrd edx, esi, 1
shr esi, 1
xor edx, eax
xor esi, ecx
shrd edx, esi, 6
shr esi, 6
xor edx, eax
xor esi, ecx
shrd edx, esi, 1
mov ecx, eax
shr esi, 1
mov eax, dword [esp + 0x7c]
xor edx, 0
shld eax, ecx, 7
shl ecx, 7
xor ecx, dword [esp + 0x88]
shl ecx, 0x18
xor esi, ecx
add ebx, edx
mov edx, dword [esp + 0x5c]
mov eax, edx
adc edi, esi
add ebx, dword [esp + 0xa0]
mov esi, dword [esp + 0x1c]
mov ecx, esi
adc edi, dword [esp + 0xb8]
add dword [esp + 0x78], ebx
mov ebx, esi
adc dword [esp + 0x84], edi
mov edi, edx
shld ecx, eax, 4
shrd edi, ebx, 0x17
xor ecx, esi
shl eax, 4
shr ebx, 0x17
xor eax, edx
xor ebx, esi
xor edi, edx
shld ecx, eax, 0x17
shrd edi, ebx, 4
xor ecx, esi
shl eax, 0x17
shr ebx, 4
xor eax, edx
xor ebx, esi
xor edi, edx
shld ecx, eax, 0x17
shrd edi, ebx, 0xe
shl eax, 0x17
shr ebx, 0xe
xor edi, eax
mov eax, dword [esp + 0x24]
xor ebx, ecx
xor eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x14]
and eax, esi
xor ecx, dword [esp + 0x20]
xor eax, dword [esp + 0x24]
and ecx, edx
xor ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
add edi, ecx
mov esi, edx
adc ebx, eax
mov eax, dword [esp + 0x4c]
add edi, dword [eax + 0x50]
adc ebx, dword [eax + 0x54]
add edi, dword [esp + 0x78]
mov eax, dword [esp + 0x54]
mov ecx, eax
adc ebx, dword [esp + 0x84]
add edi, ebp
mov ebp, dword [esp + 0x34]
adc ebx, dword [esp + 0x28]
add dword [esp + 0x3c], edi
adc ebp, ebx
shrd ecx, esi, 5
mov dword [esp + 0x34], ebp
shr esi, 5
xor ecx, eax
xor esi, edx
shrd ecx, esi, 6
shr esi, 6
xor ecx, eax
xor esi, edx
shrd ecx, esi, 0x1c
mov dword [esp + 0x18], ecx
mov ecx, edx
shr esi, 0x1c
shld ecx, eax, 6
xor ecx, edx
shl eax, 6
xor eax, dword [esp + 0x54]
shld ecx, eax, 5
xor ecx, edx
shl eax, 5
xor eax, dword [esp + 0x54]
shld ecx, eax, 0x19
xor esi, ecx
shl eax, 0x19
xor dword [esp + 0x18], eax
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x44]
mov edx, eax
xor edx, dword [esp + 0x10]
and eax, dword [esp + 0x10]
and edx, dword [esp + 0x2c]
mov dword [esp + 0x28], esi
xor edx, eax
mov eax, dword [esp + 0x28]
mov esi, ecx
xor esi, dword [esp + 0x54]
and esi, dword [esp + 0x50]
and ecx, dword [esp + 0x54]
xor esi, ecx
mov ecx, dword [esp + 0x18]
add ecx, esi
mov esi, dword [esp + 0xd8]
adc eax, edx
mov edx, dword [esp + 0x70]
add ecx, edi
mov dword [esp + 0x18], ecx
mov ecx, edx
adc eax, ebx
mov ebx, esi
xor edi, edi
shr ebx, 0xa
xor edi, esi
shl ecx, 0xa
xor ebx, edx
mov dword [esp + 0x28], eax
xor ecx, esi
xor eax, eax
shrd ebx, edi, 0xd
xor eax, edx
xor ebx, edx
shr edi, 0xd
xor edi, esi
shld ecx, eax, 3
shrd ebx, edi, 6
shl eax, 3
shr edi, 6
xor ebx, eax
mov eax, dword [esp + 0x74]
xor edi, ecx
mov ecx, dword [esp + 0x80]
mov edx, eax
mov esi, ecx
shrd edx, esi, 1
shr esi, 1
xor edx, eax
xor esi, ecx
shrd edx, esi, 6
shr esi, 6
xor edx, eax
xor esi, ecx
mov ecx, eax
mov eax, dword [esp + 0x80]
shld eax, ecx, 7
shrd edx, esi, 1
shl ecx, 7
xor ecx, dword [esp + 0x74]
xor edx, 0
shr esi, 1
shl ecx, 0x18
xor esi, ecx
add ebx, edx
adc edi, esi
add ebx, dword [esp + 0xa8]
adc edi, dword [esp + 0xc8]
add dword [esp + 0x88], ebx
adc dword [esp + 0x7c], edi
mov ebx, ebp
mov esi, dword [esp + 0x3c]
mov ecx, ebp
mov edi, esi
mov edx, dword [esp + 0x28]
shrd edi, ebx, 0x17
mov eax, esi
shld ecx, eax, 4
xor edi, esi
shr ebx, 0x17
shl eax, 4
xor ecx, ebp
xor eax, esi
xor ebx, ebp
shld ecx, eax, 0x17
shrd edi, ebx, 4
shl eax, 0x17
xor ecx, ebp
xor eax, esi
shr ebx, 4
shld ecx, eax, 0x17
xor edi, esi
xor ebx, ebp
mov ebp, dword [esp + 0x20]
shl eax, 0x17
shrd edi, ebx, 0xe
xor edi, eax
shr ebx, 0xe
mov eax, dword [esp + 0x30]
xor ebx, ecx
xor eax, dword [esp + 0x1c]
mov ecx, ebp
xor ecx, dword [esp + 0x5c]
and eax, dword [esp + 0x34]
and ecx, esi
xor eax, dword [esp + 0x30]
xor ecx, ebp
add edi, ecx
mov esi, edx
adc ebx, eax
mov eax, dword [esp + 0x4c]
add edi, dword [eax + 0x58]
adc ebx, dword [eax + 0x5c]
add edi, dword [esp + 0x88]
mov eax, dword [esp + 0x18]
mov ecx, eax
adc ebx, dword [esp + 0x7c]
add edi, dword [esp + 0x14]
adc ebx, dword [esp + 0x24]
add dword [esp + 0x50], edi
adc dword [esp + 0x2c], ebx
shrd ecx, esi, 5
xor ecx, eax
shr esi, 5
xor esi, edx
shrd ecx, esi, 6
xor ecx, eax
shr esi, 6
xor esi, edx
shrd ecx, esi, 0x1c
mov dword [esp + 0x14], ecx
mov ecx, edx
shld ecx, eax, 6
shr esi, 0x1c
shl eax, 6
xor ecx, edx
xor eax, dword [esp + 0x18]
shld ecx, eax, 5
shl eax, 5
xor ecx, edx
xor eax, dword [esp + 0x18]
shld ecx, eax, 0x19
xor esi, ecx
shl eax, 0x19
mov ecx, dword [esp + 0x54]
xor dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x24], esi
mov esi, ecx
xor esi, dword [esp + 0x18]
and ecx, dword [esp + 0x18]
mov edx, eax
xor edx, dword [esp + 0x28]
and eax, dword [esp + 0x28]
and esi, dword [esp + 0x60]
and edx, dword [esp + 0x44]
xor esi, ecx
mov ecx, dword [esp + 0x14]
xor edx, eax
mov eax, dword [esp + 0x24]
add ecx, esi
adc eax, edx
mov edx, dword [esp + 0x64]
add ecx, edi
mov edi, edx
mov dword [esp + 0x14], ecx
mov ecx, edx
adc eax, ebx
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x68]
mov ebx, eax
shrd edi, ebx, 1
shr ebx, 1
xor edi, edx
xor ebx, eax
shrd edi, ebx, 6
shr ebx, 6
xor edi, edx
xor ebx, eax
shld eax, ecx, 7
mov eax, dword [esp + 0x78]
shrd edi, ebx, 1
shl ecx, 7
xor ecx, edx
shr ebx, 1
shl ecx, 0x18
xor edx, edx
xor ebx, ecx
xor edi, 0
mov ecx, dword [esp + 0x84]
xor edx, ecx
mov esi, ecx
shr esi, 0xa
xor esi, eax
shrd esi, edx, 0xd
shr edx, 0xd
xor esi, eax
xor edx, ecx
mov ecx, eax
xor eax, eax
shl ecx, 0xa
xor eax, dword [esp + 0x78]
xor ecx, dword [esp + 0x84]
shrd esi, edx, 6
shld ecx, eax, 3
shr edx, 6
shl eax, 3
xor edx, ecx
xor esi, eax
add edi, esi
mov esi, dword [esp + 0x50]
mov eax, esi
adc ebx, edx
add edi, dword [esp + 0x90]
mov edx, dword [esp + 0x2c]
mov ecx, edx
adc ebx, dword [esp + 0x94]
add dword [esp + 0x74], edi
mov edi, esi
adc dword [esp + 0x80], ebx
mov ebx, edx
shrd edi, ebx, 0x17
shr ebx, 0x17
xor edi, esi
xor ebx, edx
shrd edi, ebx, 4
shr ebx, 4
xor edi, esi
xor ebx, edx
shrd edi, ebx, 0xe
shr ebx, 0xe
shld ecx, eax, 4
xor ecx, edx
shl eax, 4
xor eax, esi
shld ecx, eax, 0x17
xor ecx, edx
shl eax, 0x17
xor eax, esi
shld ecx, eax, 0x17
xor ebx, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x3c]
xor edi, eax
xor ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x34]
and ecx, esi
xor eax, dword [esp + 0x1c]
xor ecx, dword [esp + 0x5c]
and eax, edx
xor eax, dword [esp + 0x1c]
add edi, ecx
mov edx, dword [esp + 0x24]
mov esi, edx
adc ebx, eax
mov eax, dword [esp + 0x4c]
add edi, dword [eax + 0x60]
adc ebx, dword [eax + 0x64]
add edi, dword [esp + 0x74]
mov eax, dword [esp + 0x14]
mov ecx, eax
adc ebx, dword [esp + 0x80]
add edi, ebp
mov ebp, dword [esp + 0x44]
adc ebx, dword [esp + 0x30]
add dword [esp + 0x60], edi
adc ebp, ebx
shrd ecx, esi, 5
mov dword [esp + 0x44], ebp
xor ecx, eax
shr esi, 5
xor esi, edx
shrd ecx, esi, 6
xor ecx, eax
shr esi, 6
xor esi, edx
shrd ecx, esi, 0x1c
mov dword [esp + 0x20], ecx
mov ecx, edx
shld ecx, eax, 6
shr esi, 0x1c
shl eax, 6
xor ecx, edx
xor eax, dword [esp + 0x14]
shld ecx, eax, 5
shl eax, 5
xor ecx, edx
xor eax, dword [esp + 0x14]
shld ecx, eax, 0x19
xor esi, ecx
shl eax, 0x19
xor dword [esp + 0x20], eax
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x28]
mov edx, eax
xor edx, dword [esp + 0x24]
and eax, dword [esp + 0x24]
and edx, dword [esp + 0x10]
mov dword [esp + 0x30], esi
xor edx, eax
mov eax, dword [esp + 0x30]
mov esi, ecx
xor esi, dword [esp + 0x14]
and ecx, dword [esp + 0x14]
and esi, dword [esp + 0x54]
xor esi, ecx
mov ecx, dword [esp + 0x20]
add ecx, esi
adc eax, edx
add ecx, edi
mov dword [esp + 0x20], ecx
adc eax, ebx
mov edx, dword [esp + 0x9c]
mov edi, edx
mov dword [esp + 0x30], eax
mov ecx, edx
mov eax, dword [esp + 0xa4]
mov ebx, eax
shrd edi, ebx, 1
shr ebx, 1
xor edi, edx
xor ebx, eax
shrd edi, ebx, 6
shr ebx, 6
xor edi, edx
xor ebx, eax
shld eax, ecx, 7
mov eax, dword [esp + 0x88]
shrd edi, ebx, 1
shl ecx, 7
xor ecx, edx
shr ebx, 1
shl ecx, 0x18
xor edx, edx
xor ebx, ecx
xor edi, 0
mov ecx, dword [esp + 0x7c]
xor edx, ecx
mov esi, ecx
shr esi, 0xa
xor esi, eax
shrd esi, edx, 0xd
xor esi, eax
shr edx, 0xd
xor edx, ecx
mov ecx, eax
xor eax, eax
shl ecx, 0xa
xor eax, dword [esp + 0x88]
xor ecx, dword [esp + 0x7c]
shld ecx, eax, 3
shrd esi, edx, 6
shl eax, 3
xor esi, eax
shr edx, 6
xor edx, ecx
add edi, esi
mov esi, dword [esp + 0x60]
mov ecx, ebp
adc ebx, edx
mov eax, esi
add edi, dword [esp + 0xac]
adc ebx, dword [esp + 0x6c]
add dword [esp + 0x64], edi
mov edi, esi
adc dword [esp + 0x68], ebx
mov ebx, ebp
shrd edi, ebx, 0x17
shld ecx, eax, 4
shr ebx, 0x17
xor edi, esi
xor ebx, ebp
shl eax, 4
shrd edi, ebx, 4
xor eax, esi
xor ecx, ebp
shld ecx, eax, 0x17
shr ebx, 4
xor edi, esi
xor ebx, ebp
shl eax, 0x17
shrd edi, ebx, 0xe
xor eax, esi
xor ecx, ebp
mov ebp, dword [esp + 0x34]
shld ecx, eax, 0x17
shr ebx, 0xe
shl eax, 0x17
xor ebx, ecx
mov ecx, dword [esp + 0x3c]
xor edi, eax
xor ecx, dword [esp + 0x50]
mov eax, ebp
xor eax, dword [esp + 0x2c]
and ecx, esi
and eax, dword [esp + 0x44]
xor ecx, dword [esp + 0x3c]
xor eax, ebp
add edi, ecx
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x30]
mov ecx, esi
adc ebx, eax
mov eax, dword [esp + 0x4c]
add edi, dword [eax + 0x68]
adc ebx, dword [eax + 0x6c]
mov eax, edx
add edi, dword [esp + 0x64]
adc ebx, dword [esp + 0x68]
add edi, dword [esp + 0x5c]
adc ebx, dword [esp + 0x1c]
add dword [esp + 0x54], edi
adc dword [esp + 0x10], ebx
shrd ecx, eax, 5
shr eax, 5
xor ecx, esi
xor eax, edx
shrd ecx, eax, 6
shr eax, 6
xor ecx, esi
xor eax, edx
shrd ecx, eax, 0x1c
shr eax, 0x1c
mov dword [esp + 0x1c], eax
mov eax, esi
mov dword [esp + 0x34], ecx
mov ecx, edx
shld ecx, eax, 6
shl eax, 6
xor ecx, edx
xor eax, esi
shld ecx, eax, 5
shl eax, 5
xor ecx, edx
xor eax, esi
shld ecx, eax, 0x19
xor dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x14]
mov esi, ecx
xor esi, dword [esp + 0x20]
and ecx, dword [esp + 0x20]
and esi, dword [esp + 0x18]
shl eax, 0x19
xor esi, ecx
xor dword [esp + 0x34], eax
mov eax, dword [esp + 0x24]
mov edx, eax
xor edx, dword [esp + 0x30]
and eax, dword [esp + 0x30]
and edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x34]
xor edx, eax
mov eax, dword [esp + 0x1c]
add ecx, esi
adc eax, edx
add ecx, edi
mov dword [esp + 0x34], ecx
adc eax, ebx
sub dword [esp + 0x4c], 0xffffff80
dec dword [esp + 0xfc]
mov dword [esp + 0x1c], eax
jne 0x497e9b
mov edx, dword [esp + 0x120]
add edx, ecx
mov ecx, dword [esp + 0x110]
pop edi
adc ecx, eax
mov eax, dword [esp + 0x128]
pop esi
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x100]
add ecx, dword [esp + 0x18]
mov dword [eax], edx
mov edx, dword [esp + 0x110]
adc edx, dword [esp + 0x28]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x104]
add ecx, dword [esp + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x10c]
adc edx, dword [esp + 0x1c]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x114]
add ecx, dword [esp + 0x10]
mov dword [eax + 0x14], edx
mov edx, dword [esp + 0x11c]
adc edx, dword [esp + 0x20]
mov dword [eax + 0x18], ecx
mov ecx, dword [esp + 0xe4]
add ecx, dword [esp + 0x4c]
mov dword [eax + 0x1c], edx
mov edx, dword [esp + 0xdc]
adc edx, dword [esp + 8]
mov dword [eax + 0x20], ecx
mov ecx, dword [esp + 0xe8]
add ecx, dword [esp + 0x58]
mov dword [eax + 0x24], edx
mov edx, dword [esp + 0xe0]
adc edx, dword [esp + 0x3c]
mov dword [eax + 0x28], ecx
mov ecx, dword [esp + 0xec]
add ecx, dword [esp + 0x48]
mov dword [eax + 0x2c], edx
mov edx, dword [esp + 0xf0]
adc edx, dword [esp + 0x24]
mov dword [eax + 0x30], ecx
mov ecx, dword [esp + 0xf8]
add ecx, dword [esp + 0x34]
mov dword [eax + 0x34], edx
mov edx, dword [esp + 0xfc]
adc edx, ebp
mov dword [eax + 0x38], ecx
pop ebp
mov dword [eax + 0x3c], edx
pop ebx
add esp, 0x118
ret