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