Function at 0x40d829
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x168
push ebx
mov dword [esp + 0x58], ecx
push ebp
mov ebp, edx
push esi
push edi
mov dword [esp + 0x110], ebp
mov edx, dword [ebp + 0x78]
mov ecx, dword [ebp + 0x58]
mov ebx, dword [ebp + 0x7c]
mov eax, dword [ebp + 0x5c]
mov edi, dword [ebp + 0x44]
mov dword [esp + 0xe4], ecx
add ecx, edx
mov dword [esp + 0x134], eax
adc eax, ebx
mov dword [esp + 0x140], edx
lea edx, [ebp + 0x70]
mov dword [esp + 0xf8], ebx
mov esi, dword [edx + 4]
mov ebx, dword [edx]
mov dword [esp + 0x150], edx
mov edx, dword [ebp + 0x40]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x78], eax
mov dword [esp + 0xe0], edx
add edx, ebx
mov dword [esp + 0x20], edi
adc edi, esi
mov dword [esp + 0x104], esi
mov dword [esp + 0x28], edx
mov esi, edi
add edx, ecx
mov dword [esp + 0x30], edi
mov ecx, dword [ebp + 0x68]
mov edi, dword [ebp + 0x60]
adc esi, eax
mov eax, dword [ebp + 0x6c]
mov dword [esp + 0x154], eax
mov dword [esp + 0x168], ecx
mov dword [esp + 0x160], edi
add edi, ecx
mov ecx, dword [ebp + 0x54]
mov dword [esp + 0x10], ebx
mov ebx, dword [ebp + 0x64]
mov dword [esp + 0x15c], ebx
adc ebx, eax
mov eax, dword [ebp + 0x50]
mov dword [esp + 0xc0], eax
mov eax, dword [ebp + 0x48]
mov ebp, dword [ebp + 0x4c]
mov dword [esp + 0x88], eax
mov dword [esp + 0x16c], ecx
mov dword [esp + 0xec], ebp
mov ebp, eax
add ebp, dword [esp + 0xc0]
mov eax, dword [esp + 0xec]
adc eax, ecx
mov ecx, ebp
add ecx, edi
mov dword [esp + 0x14], eax
mov dword [esp + 0x94], ecx
mov ecx, dword [esp + 0x154]
adc eax, ebx
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x168]
add eax, edx
adc ecx, esi
add eax, 0xaaaaaaaa
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x15c]
adc ecx, 0xaaaaaaaa
mov dword [esp + 0xe8], ecx
mov ecx, dword [esp + 0x160]
add ecx, edx
adc eax, esi
and dword [esp + 0x6c], 0
mov dword [esp + 0xa4], eax
shr dword [esp + 0xa4], 0x1b
shld eax, ecx, 5
shl ecx, 5
or dword [esp + 0x6c], eax
or dword [esp + 0xa4], ecx
mov ecx, dword [esp + 0x88]
add ecx, edx
mov eax, dword [esp + 0xec]
adc eax, esi
xor esi, esi
mov edx, eax
shld eax, ecx, 0x13
shr edx, 0xd
or esi, eax
shl ecx, 0x13
or edx, ecx
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0xe0]
add ecx, dword [esp + 0x94]
mov dword [esp + 0xb8], edx
adc eax, dword [esp + 0x7c]
mov edx, eax
mov dword [esp + 0xbc], esi
shld eax, ecx, 0x1d
shr edx, 3
xor esi, esi
or esi, eax
shl ecx, 0x1d
mov eax, dword [esp + 0x104]
or edx, ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x5c], esi
mov esi, dword [esp + 0x94]
add ecx, esi
mov dword [esp + 0x34], edx
adc eax, dword [esp + 0x7c]
and dword [esp + 0x80], 0
mov edx, eax
shld eax, ecx, 0x1f
shr edx, 1
or dword [esp + 0x80], eax
mov eax, dword [esp + 0x16c]
shl ecx, 0x1f
or edx, ecx
mov ecx, dword [esp + 0xc0]
add ecx, edi
mov dword [esp + 0xb4], edx
adc eax, ebx
add ecx, dword [esp + 0x50]
mov edx, ecx
adc eax, dword [esp + 0x78]
xor ebx, ebx
shrd ecx, eax, 0x17
shl edx, 9
shr eax, 0x17
or ebx, ecx
mov ecx, dword [esp + 0x140]
or edx, eax
mov eax, dword [esp + 0xf8]
add ecx, ebp
mov dword [esp + 0x94], edx
adc eax, dword [esp + 0x14]
add ecx, dword [esp + 0x28]
mov ebp, ecx
adc eax, dword [esp + 0x30]
xor edi, edi
shrd ecx, eax, 7
shl ebp, 0x19
shr eax, 7
or edi, ecx
mov ecx, dword [esp + 0xe4]
or ebp, eax
mov eax, dword [esp + 0x134]
add ecx, esi
mov esi, ecx
adc eax, dword [esp + 0x7c]
xor edx, edx
shrd ecx, eax, 3
shl esi, 0x1d
shr eax, 3
or edx, ecx
or esi, eax
mov eax, dword [esp + 0xb4]
xor eax, dword [esp + 0xb0]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x80]
xor eax, dword [esp + 0xe8]
mov dword [esp + 0x54], eax
mov eax, edx
xor eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0xac], eax
mov eax, esi
xor eax, dword [esp + 0x6c]
mov dword [esp + 0xf0], eax
mov eax, ecx
xor eax, dword [esp + 0xb8]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x5c]
xor eax, dword [esp + 0xbc]
mov dword [esp + 0x98], eax
mov eax, edi
xor eax, ebx
mov dword [esp + 0x44], ebp
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x94]
xor dword [esp + 0x44], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x60], eax
xor dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x44]
xor ecx, dword [esp + 0x5c]
mov dword [esp + 0x34], ecx
mov ecx, eax
xor ecx, dword [esp + 0xb8]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x44]
xor ecx, dword [esp + 0xbc]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x90]
xor ecx, ebx
mov ebx, dword [esp + 0x3c]
mov dword [esp + 0x48], ecx
mov eax, ebx
xor eax, dword [esp + 0xa4]
xor ebx, edx
mov ecx, dword [esp + 0x98]
xor ecx, dword [esp + 0x94]
mov edx, dword [esp + 0xac]
mov dword [esp + 0x58], eax
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x54]
mov eax, ecx
xor eax, dword [esp + 0x6c]
xor ecx, esi
mov dword [esp + 0x74], eax
mov eax, edx
xor edx, dword [esp + 0xb0]
xor eax, edi
mov dword [esp + 0x8c], eax
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0xf0]
mov eax, ecx
xor ecx, dword [esp + 0xe8]
xor eax, ebp
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x90]
xor eax, dword [esp + 0xb4]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x98]
xor eax, dword [esp + 0x80]
mov dword [esp + 0xf0], ecx
mov ecx, dword [esp + 0x110]
mov dword [esp + 0xac], edx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x98], eax
mov edx, dword [ecx]
mov ebx, dword [ecx + 8]
mov eax, dword [ecx + 0xc]
mov ebp, dword [ecx + 4]
mov dword [esp + 0x14c], edx
add edx, ebx
mov dword [esp + 0x170], ebx
mov dword [esp + 0x164], eax
mov dword [esp + 0xe8], ebp
mov ebx, dword [ecx + 0x10]
mov esi, ebp
mov ebp, dword [ecx + 0x28]
adc esi, eax
mov eax, dword [ecx + 0x2c]
mov edi, ebx
add edi, ebp
mov dword [esp + 0x118], eax
mov eax, dword [ecx + 0x14]
mov dword [esp + 0xb8], eax
mov dword [esp + 0x2c], ebp
mov ebp, edi
mov dword [esp + 0xbc], ebx
mov ebx, eax
adc ebx, dword [esp + 0x118]
add ebp, edx
mov eax, ebx
mov dword [esp + 0x50], ebp
mov ebp, dword [ecx + 0x20]
adc eax, esi
mov dword [esp + 0x78], eax
mov eax, dword [ecx + 0x24]
mov dword [esp + 0x4c], eax
mov eax, dword [ecx + 0x18]
mov ecx, dword [ecx + 0x1c]
mov dword [esp + 0x120], eax
add eax, ebp
mov dword [esp + 0x5c], ecx
adc ecx, dword [esp + 0x4c]
mov dword [esp + 0x7c], eax
add dword [esp + 0x7c], edx
mov edx, ecx
mov dword [esp + 0x18], ebp
adc edx, esi
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x110]
mov ebp, dword [edx + 0x38]
mov esi, dword [edx + 0x30]
mov dword [esp + 0x174], ebp
mov ebp, dword [edx + 0x3c]
mov dword [esp + 0x38], ebp
mov ebp, dword [edx + 0x34]
mov edx, esi
add edx, dword [esp + 0x174]
mov dword [esp + 0xb0], esi
mov esi, ebp
adc esi, dword [esp + 0x38]
mov dword [esp + 0x6c], edx
add dword [esp + 0x6c], eax
mov eax, esi
mov dword [esp + 0xb4], ebp
adc eax, ecx
mov ecx, dword [esp + 0x38]
add edx, edi
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x174]
adc esi, ebx
mov dword [esp + 0x28], edx
add eax, dword [esp + 0x50]
mov ebx, dword [esp + 0x7c]
adc ecx, dword [esp + 0x78]
add eax, 0x55555555
mov dword [esp + 0x1c], eax
mov eax, ebp
adc ecx, 0x55555555
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0xb0]
add ecx, ebx
adc eax, dword [esp + 0x14]
and dword [esp + 0x80], 0
mov edi, eax
shld eax, ecx, 3
shr edi, 0x1d
or dword [esp + 0x80], eax
mov eax, dword [esp + 0x5c]
shl ecx, 3
or edi, ecx
mov ecx, dword [esp + 0x120]
add ecx, dword [esp + 0x50]
mov dword [esp + 0xa4], edi
adc eax, dword [esp + 0x78]
mov edx, eax
xor ebp, ebp
shld eax, ecx, 0x11
shr edx, 0xf
or ebp, eax
shl ecx, 0x11
or edx, ecx
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xbc]
add ecx, dword [esp + 0x6c]
mov dword [esp + 0x114], edx
adc eax, dword [esp + 0x94]
mov edx, eax
mov dword [esp + 0x130], ebp
shld eax, ecx, 0x17
shr edx, 9
xor ebp, ebp
or ebp, eax
shl ecx, 0x17
mov eax, dword [esp + 0x118]
or edx, ecx
mov ecx, dword [esp + 0x2c]
add ecx, ebx
mov dword [esp + 0x7c], edx
mov dword [esp + 0xc4], ebp
adc eax, dword [esp + 0x14]
xor ebx, ebx
mov edx, eax
shld eax, ecx, 0x1f
shr edx, 1
or ebx, eax
shl ecx, 0x1f
mov eax, dword [esp + 0x4c]
or edx, ecx
mov ecx, dword [esp + 0x18]
add ecx, dword [esp + 0x28]
mov dword [esp + 0x50], edx
mov edx, ecx
adc eax, esi
mov dword [esp + 0x110], ebx
shrd ecx, eax, 0x1b
xor ebp, ebp
shl edx, 5
shr eax, 0x1b
or ebp, ecx
mov ecx, dword [esp + 0x170]
or edx, eax
add ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x164]
mov ebx, ecx
adc eax, esi
mov dword [esp + 0xdc], edx
shrd ecx, eax, 0x13
xor edi, edi
shl ebx, 0xd
shr eax, 0x13
or edi, ecx
mov ecx, dword [esp + 0x14c]
or ebx, eax
add ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0xe8]
mov esi, ecx
adc eax, dword [esp + 0x94]
xor edx, edx
shrd ecx, eax, 5
shl esi, 0x1b
shr eax, 5
or edx, ecx
mov ecx, dword [esp + 0xdc]
or esi, eax
mov eax, dword [esp + 0xa4]
xor eax, dword [esp + 0x1c]
mov dword [esp + 0x128], eax
mov eax, dword [esp + 0x80]
xor eax, dword [esp + 0x70]
mov dword [esp + 0x10c], eax
mov eax, ebp
xor eax, dword [esp + 0x114]
xor ecx, dword [esp + 0x130]
mov dword [esp + 0x124], eax
mov dword [esp + 0xf4], ecx
mov eax, dword [esp + 0x50]
xor eax, dword [esp + 0x7c]
mov dword [esp + 0x12c], eax
mov eax, dword [esp + 0x110]
xor eax, dword [esp + 0xc4]
mov dword [esp + 0x144], eax
mov eax, edx
xor eax, edi
mov dword [esp + 0xd4], eax
mov eax, esi
xor eax, ebx
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0x12c]
xor eax, edi
mov edi, dword [esp + 0xfc]
mov dword [esp + 0x138], eax
mov eax, dword [esp + 0x144]
xor eax, ebx
mov ebx, dword [esp + 0x138]
add ebx, dword [esp + 0x60]
mov dword [esp + 0x138], ebx
adc eax, dword [esp + 0x34]
mov ebx, dword [esp + 0x124]
xor ebx, edx
mov dword [esp + 0x13c], eax
mov eax, dword [esp + 0xd4]
mov edx, ecx
xor edx, esi
mov ecx, edi
add ebx, dword [esp + 0x24]
mov dword [esp + 0x148], ebx
adc edx, dword [esp + 0x44]
xor eax, dword [esp + 0x50]
xor ecx, dword [esp + 0x110]
add eax, dword [esp + 0x48]
mov dword [esp + 0xa0], edx
adc ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x128]
mov esi, edx
mov dword [esp + 0x11c], ecx
xor esi, ebp
mov ecx, dword [esp + 0x10c]
mov ebx, ecx
xor ebx, dword [esp + 0xdc]
add esi, dword [esp + 0x58]
mov ebp, dword [esp + 0x144]
adc ebx, dword [esp + 0x74]
xor edi, dword [esp + 0x130]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0xd4]
xor eax, dword [esp + 0x114]
add eax, dword [esp + 0x3c]
mov dword [esp + 0xd4], eax
adc edi, dword [esp + 0x54]
xor ecx, dword [esp + 0xc4]
xor edx, dword [esp + 0x7c]
add edx, dword [esp + 0x8c]
mov eax, dword [esp + 0xf4]
adc ecx, dword [esp + 0xa8]
xor ebp, dword [esp + 0x70]
mov dword [esp + 0xfc], edi
mov edi, dword [esp + 0x12c]
xor edi, dword [esp + 0x1c]
add edi, dword [esp + 0x90]
mov dword [esp + 0x10c], ecx
adc ebp, dword [esp + 0x98]
mov ecx, dword [esp + 0x124]
xor ecx, dword [esp + 0xa4]
xor eax, dword [esp + 0x80]
add ecx, dword [esp + 0xac]
mov dword [esp + 0x124], ecx
adc eax, dword [esp + 0xf0]
add ecx, esi
mov dword [esp + 0xf4], eax
mov dword [esp + 0x158], esi
adc eax, ebx
mov dword [esp + 0x110], ebx
mov dword [esp + 0x128], edx
mov dword [esp + 0x12c], edi
mov dword [esp + 0x144], ebp
mov dword [esp + 0x50], ecx
mov edx, dword [esp + 0xd4]
add edx, dword [esp + 0xd0]
mov ebx, dword [esp + 0xfc]
adc ebx, dword [esp + 0x11c]
mov dword [esp + 0x28], edx
mov esi, ebx
add edx, ecx
mov dword [esp + 0x78], eax
mov dword [esp + 0x30], ebx
mov ebx, ebp
adc esi, eax
mov ebp, dword [esp + 0x148]
add edi, dword [esp + 0x128]
mov eax, dword [esp + 0xa0]
adc ebx, dword [esp + 0x10c]
add ebp, dword [esp + 0x138]
mov ecx, ebp
adc eax, dword [esp + 0x13c]
add ecx, edi
mov dword [esp + 0x14], eax
adc eax, ebx
mov dword [esp + 0x94], ecx
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x128]
add eax, edx
adc ecx, esi
add eax, 0xaaaaaaaa
mov dword [esp + 0x24], eax
adc ecx, 0xaaaaaaaa
mov eax, dword [esp + 0x144]
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 0x12c]
add ecx, edx
adc eax, esi
and dword [esp + 0x6c], 0
mov dword [esp + 0xa4], eax
shr dword [esp + 0xa4], 0x1b
shld eax, ecx, 5
or dword [esp + 0x6c], eax
mov eax, dword [esp + 0xa0]
shl ecx, 5
or dword [esp + 0xa4], ecx
mov ecx, dword [esp + 0x148]
add ecx, edx
adc eax, esi
xor esi, esi
mov edx, eax
shld eax, ecx, 0x13
shr edx, 0xd
shl ecx, 0x13
or esi, eax
mov eax, dword [esp + 0x11c]
or edx, ecx
mov ecx, dword [esp + 0xd0]
add ecx, dword [esp + 0x94]
mov dword [esp + 0x54], edx
adc eax, dword [esp + 0x7c]
mov edx, eax
mov dword [esp + 0xac], esi
shld eax, ecx, 0x1d
shr edx, 3
xor esi, esi
shl ecx, 0x1d
or esi, eax
mov eax, dword [esp + 0xfc]
or edx, ecx
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x3c], esi
mov esi, dword [esp + 0x94]
add ecx, esi
mov dword [esp + 0x34], edx
adc eax, dword [esp + 0x7c]
and dword [esp + 0x80], 0
mov edx, eax
shld eax, ecx, 0x1f
shr edx, 1
shl ecx, 0x1f
or edx, ecx
or dword [esp + 0x80], eax
mov dword [esp + 0xf0], edx
mov ecx, dword [esp + 0x138]
mov eax, dword [esp + 0x13c]
add ecx, edi
adc eax, ebx
add ecx, dword [esp + 0x50]
mov edx, ecx
adc eax, dword [esp + 0x78]
xor ebx, ebx
shrd ecx, eax, 0x17
shl edx, 9
shr eax, 0x17
or ebx, ecx
mov ecx, dword [esp + 0x158]
or edx, eax
mov eax, dword [esp + 0x110]
add ecx, ebp
mov dword [esp + 0x94], edx
adc eax, dword [esp + 0x14]
add ecx, dword [esp + 0x28]
mov ebp, ecx
adc eax, dword [esp + 0x30]
xor edi, edi
shrd ecx, eax, 7
shl ebp, 0x19
shr eax, 7
or edi, ecx
mov ecx, dword [esp + 0x124]
or ebp, eax
mov eax, dword [esp + 0xf4]
add ecx, esi
mov esi, ecx
mov dword [esp + 0x44], ebp
adc eax, dword [esp + 0x7c]
xor edx, edx
shrd ecx, eax, 3
shl esi, 0x1d
shr eax, 3
or edx, ecx
or esi, eax
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xf0]
xor eax, dword [esp + 0x24]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x80]
xor eax, dword [esp + 0x98]
mov dword [esp + 0x130], eax
mov eax, edx
xor eax, dword [esp + 0xa4]
mov dword [esp + 0x114], eax
mov eax, esi
xor eax, dword [esp + 0x6c]
mov dword [esp + 0xdc], eax
mov eax, ecx
xor eax, dword [esp + 0x54]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x3c]
xor eax, dword [esp + 0xac]
mov dword [esp + 0xc4], eax
mov eax, edi
xor eax, ebx
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x94]
xor dword [esp + 0x44], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x7c], eax
xor dword [esp + 0x7c], ecx
mov ecx, dword [esp + 0x44]
xor ecx, dword [esp + 0x3c]
mov dword [esp + 0x14], ecx
mov ecx, eax
xor ecx, dword [esp + 0x54]
mov dword [esp + 0x90], ecx
mov ecx, dword [esp + 0x44]
xor ecx, dword [esp + 0xac]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x70]
xor ecx, ebx
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0xc4]
xor ecx, dword [esp + 0x94]
mov dword [esp + 0x30], ecx
mov ebx, dword [esp + 0x60]
mov eax, ebx
xor eax, dword [esp + 0xa4]
xor ebx, edx
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x114]
mov dword [esp + 0x34], eax
mov eax, ecx
xor eax, dword [esp + 0x6c]
xor ecx, esi
mov dword [esp + 0x48], eax
mov eax, edx
xor edx, dword [esp + 0x24]
xor eax, edi
mov esi, dword [esp + 0xec]
mov edi, dword [esp + 0xc0]
mov dword [esp + 0x40], eax
mov dword [esp + 0x130], ecx
mov ecx, dword [esp + 0xdc]
mov eax, ecx
xor ecx, dword [esp + 0x98]
xor eax, ebp
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x70]
xor eax, dword [esp + 0xf0]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0xc4]
xor eax, dword [esp + 0x80]
mov dword [esp + 0x114], edx
mov edx, dword [esp + 0x88]
add edx, dword [esp + 0xe0]
mov dword [esp + 0x60], ebx
adc esi, dword [esp + 0x20]
add edi, dword [esp + 0x168]
mov ebx, dword [esp + 0x16c]
mov ebp, edi
adc ebx, dword [esp + 0x154]
add ebp, edx
mov dword [esp + 0xc4], eax
mov eax, ebx
adc eax, esi
mov dword [esp + 0xdc], ecx
mov ecx, dword [esp + 0x15c]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x160]
add eax, dword [esp + 0xe4]
mov dword [esp + 0x6c], eax
adc ecx, dword [esp + 0x134]
add dword [esp + 0x6c], edx
mov edx, ecx
mov dword [esp + 0x50], ebp
mov ebp, dword [esp + 0x104]
adc edx, esi
mov esi, dword [esp + 0x10]
add esi, dword [esp + 0x140]
mov dword [esp + 0x1c], ebp
mov ebp, dword [esp + 0xf8]
adc dword [esp + 0x1c], ebp
mov dword [esp + 0x80], esi
add dword [esp + 0x80], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
adc dword [esp + 0x24], ecx
add esi, edi
mov ecx, dword [esp + 0x140]
adc eax, ebx
add ecx, dword [esp + 0x50]
mov ebx, ebp
mov dword [esp + 0x1c], eax
adc ebx, dword [esp + 0x78]
add ecx, 0x55555555
mov dword [esp + 0x140], ecx
mov ecx, dword [esp + 0x6c]
adc ebx, 0x55555555
add dword [esp + 0x10], ecx
mov dword [esp + 0xf8], ebx
mov ebx, dword [esp + 0x104]
adc ebx, edx
mov dword [esp + 0x104], ebx
shr ebx, 0x1d
xor edi, edi
mov ecx, dword [esp + 0x10]
shld dword [esp + 0x104], ecx, 3
or edi, dword [esp + 0x104]
shl ecx, 3
or ebx, ecx
mov ebp, dword [esp + 0x16c]
mov ecx, dword [esp + 0x134]
mov dword [esp + 0xc8], edi
mov edi, dword [esp + 0xe4]
add edi, dword [esp + 0x50]
mov dword [esp + 0x100], ebx
adc ecx, dword [esp + 0x78]
xor ebx, ebx
mov eax, ecx
shld ecx, edi, 0x11
shr eax, 0xf
or ebx, ecx
shl edi, 0x11
mov ecx, dword [esp + 0xc0]
or eax, edi
add ecx, dword [esp + 0x80]
mov dword [esp + 0xe4], eax
adc ebp, dword [esp + 0x24]
mov dword [esp + 0xa4], ebx
mov eax, ebp
shld ebp, ecx, 0x17
xor ebx, ebx
shr eax, 9
or ebx, ebp
shl ecx, 0x17
or eax, ecx
mov dword [esp + 0x104], ebx
mov ebx, dword [esp + 0x168]
add ebx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x154]
adc ecx, edx
mov dword [esp + 0x16c], eax
mov edx, dword [esp + 0x160]
mov ebp, ecx
shld ecx, ebx, 0x1f
xor eax, eax
shr ebp, 1
or eax, ecx
shl ebx, 0x1f
mov ecx, dword [esp + 0x15c]
or ebp, ebx
add edx, esi
mov dword [esp + 0x154], eax
mov ebx, edx
mov dword [esp + 0x94], ebp
adc ecx, dword [esp + 0x1c]
xor edi, edi
shrd edx, ecx, 0x1b
shl ebx, 5
shr ecx, 0x1b
or edi, edx
or ebx, ecx
add dword [esp + 0x88], esi
mov ecx, dword [esp + 0xec]
adc ecx, dword [esp + 0x1c]
xor edx, edx
mov eax, dword [esp + 0x88]
mov esi, eax
shrd eax, ecx, 0x13
shl esi, 0xd
shr ecx, 0x13
or edx, eax
mov eax, dword [esp + 0x20]
or esi, ecx
mov ecx, dword [esp + 0xe0]
add ecx, dword [esp + 0x80]
mov dword [esp + 0xe0], ecx
adc eax, dword [esp + 0x24]
mov dword [esp + 0x20], eax
xor eax, eax
mov ebp, dword [esp + 0x20]
shrd dword [esp + 0xe0], ebp, 5
or eax, dword [esp + 0xe0]
shl ecx, 0x1b
shr ebp, 5
or ecx, ebp
mov ebp, dword [esp + 0x100]
xor ebp, dword [esp + 0x140]
mov dword [esp + 0xac], ebp
mov ebp, dword [esp + 0xc8]
xor ebp, dword [esp + 0xf8]
mov dword [esp + 0x54], ebp
mov ebp, edi
xor ebp, dword [esp + 0xe4]
mov dword [esp + 0xec], ebp
mov ebp, ebx
xor ebp, dword [esp + 0xa4]
mov dword [esp + 0x3c], ebp
mov ebp, dword [esp + 0x94]
xor ebp, dword [esp + 0x16c]
mov dword [esp + 0x88], ebp
mov ebp, dword [esp + 0x154]
xor ebp, dword [esp + 0x104]
mov dword [esp + 0x134], ebp
mov ebp, eax
xor ebp, edx
mov dword [esp + 0xc0], ebp
mov ebp, ecx
xor ebp, esi
mov dword [esp + 0x98], ebp
mov ebp, dword [esp + 0x88]
xor ebp, edx
mov edx, dword [esp + 0x134]
xor edx, esi
add ebp, dword [esp + 0x7c]
mov esi, dword [esp + 0x3c]
adc edx, dword [esp + 0x14]
mov dword [esp + 0x74], edx
mov edx, dword [esp + 0xec]
xor edx, eax
mov dword [esp + 0x8c], ebp
mov eax, esi
xor eax, ecx
add edx, dword [esp + 0x90]
mov ecx, dword [esp + 0x98]
adc eax, dword [esp + 0x44]
xor ecx, dword [esp + 0x154]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xc0]
xor eax, dword [esp + 0x94]
add eax, dword [esp + 0x28]
mov dword [esp + 0x90], eax
adc ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x54]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0xac]
mov ebp, ecx
mov dword [esp + 0xf0], edx
xor ebp, edi
mov edx, eax
xor edx, ebx
add ebp, dword [esp + 0x34]
mov ebx, dword [esp + 0xc0]
adc edx, dword [esp + 0x48]
xor ebx, dword [esp + 0xe4]
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x98]
xor edx, dword [esp + 0xa4]
add ebx, dword [esp + 0x60]
mov dword [esp + 0x10], ebp
adc edx, dword [esp + 0x130]
xor ecx, dword [esp + 0x16c]
xor eax, dword [esp + 0x104]
add ecx, dword [esp + 0x40]
mov dword [esp + 0xac], ecx
adc eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0x88]
xor ecx, dword [esp + 0x140]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x134]
xor eax, dword [esp + 0xf8]
add ecx, dword [esp + 0x70]
mov dword [esp + 0xc0], ebx
adc eax, dword [esp + 0xc4]
mov dword [esp + 0x98], edx
mov dword [esp + 0x88], ecx
mov dword [esp + 0x134], eax
xor esi, dword [esp + 0xc8]
mov eax, dword [esp + 0xec]
xor eax, dword [esp + 0x100]
add eax, dword [esp + 0x114]
mov edi, dword [esp + 0x64]
adc esi, dword [esp + 0xdc]
mov dword [esp + 0x3c], esi
mov esi, dword [esp + 0x64]
mov dword [esp + 0xec], eax
mov eax, dword [esi + 0x60]
mov ecx, dword [esi + 0x40]
mov ebx, dword [esi + 0x48]
add ecx, eax
mov edx, dword [esi + 0x4c]
mov dword [esp + 0x20], eax
mov eax, dword [esi + 0x44]
adc eax, dword [esi + 0x64]
add ebx, dword [esi + 0x78]
mov dword [esp + 0x30], ebx
adc edx, dword [esi + 0x7c]
add ebx, ecx
mov dword [esp + 0x34], edx
adc edx, eax
mov dword [esp + 0x14], ecx
mov ecx, dword [esi + 0x58]
mov dword [esp + 0x78], edx
mov edx, dword [esi + 0x50]
mov ebp, edx
add ebp, ecx
mov dword [esp + 0x28], eax
mov eax, dword [esi + 0x5c]
mov esi, dword [esi + 0x54]
mov dword [esp + 0x44], esi
adc esi, eax
mov dword [esp + 0xc8], esi
mov esi, dword [edi + 0x70]
mov dword [esp + 0x50], ebx
mov ebx, dword [esp + 0x64]
mov dword [esp + 0xa4], edx
mov edx, dword [edi + 0x74]
mov edi, dword [edi + 0x68]
add edi, esi
mov dword [esp + 0x100], edi
mov edi, dword [ebx + 0x6c]
adc edi, edx
mov ebx, dword [esp + 0x78]
mov dword [esp + 0x94], edi
mov edi, dword [esp + 0x100]
add edi, ebp
mov dword [esp + 0xdc], edi
mov edi, dword [esp + 0x94]
adc edi, dword [esp + 0xc8]
mov dword [esp + 0x114], edi
mov edi, dword [esp + 0x50]
add dword [esp + 0xa4], edi
adc dword [esp + 0x44], ebx
add dword [esp + 0xa4], 0xaaaaaaaa
adc dword [esp + 0x44], 0xaaaaaaaa
add ecx, edi
adc eax, ebx
and dword [esp + 0xc4], 0
mov dword [esp + 0xf8], eax
shr dword [esp + 0xf8], 0x1b
shld eax, ecx, 5
or dword [esp + 0xc4], eax
shl ecx, 5
or dword [esp + 0xf8], ecx
add esi, edi
adc edx, ebx
xor ecx, ecx
mov eax, edx
shld edx, esi, 0x13
shr eax, 0xd
shl esi, 0x13
or ecx, edx
or eax, esi
mov dword [esp + 0x60], ecx
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x64]
mov ebx, dword [eax + 0x78]
add ebx, dword [esp + 0xdc]
mov edx, dword [eax + 0x7c]
adc edx, dword [esp + 0x114]
xor ecx, ecx
mov eax, edx
shld edx, ebx, 0x1d
shr eax, 3
or ecx, edx
shl ebx, 0x1d
mov edx, dword [esp + 0x64]
or eax, ebx
mov dword [esp + 0x16c], ecx
mov dword [esp + 0x168], eax
mov ecx, dword [edx + 0x48]
add ecx, dword [esp + 0xdc]
mov eax, dword [edx + 0x4c]
adc eax, dword [esp + 0x114]
xor ebx, ebx
mov edx, eax
shld eax, ecx, 0x1f
shr edx, 1
shl ecx, 0x1f
or ebx, eax
or edx, ecx
mov dword [esp + 0x80], ebx
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0x64]
mov ecx, dword [edx + 0x68]
mov eax, dword [edx + 0x6c]
add ecx, ebp
adc eax, dword [esp + 0xc8]
add ecx, dword [esp + 0x14]
mov ebx, ecx
adc eax, dword [esp + 0x28]
xor esi, esi
shrd ecx, eax, 0x17
shl ebx, 9
shr eax, 0x17
or esi, ecx
mov ecx, dword [edx + 0x40]
or ebx, eax
add ecx, dword [esp + 0x100]
mov eax, dword [edx + 0x44]
adc eax, dword [esp + 0x94]
add ecx, dword [esp + 0x30]
mov edi, ecx
adc eax, dword [esp + 0x34]
xor edx, edx
shrd ecx, eax, 7
shl edi, 0x19
shr eax, 7
or edx, ecx
mov ecx, dword [esp + 0x64]
or edi, eax
mov eax, dword [esp + 0x20]
add eax, dword [esp + 0xdc]
mov dword [esp + 0x20], eax
mov ebp, dword [ecx + 0x64]
mov ecx, eax
adc ebp, dword [esp + 0x114]
xor eax, eax
shrd dword [esp + 0x20], ebp, 3
or eax, dword [esp + 0x20]
shr ebp, 3
shl ecx, 0x1d
or ecx, ebp
mov ebp, dword [esp + 0x6c]
xor ebp, dword [esp + 0xa4]
mov dword [esp + 0x130], ebp
mov ebp, dword [esp + 0x80]
xor ebp, dword [esp + 0x44]
mov dword [esp + 0x15c], ebp
mov ebp, eax
xor ebp, dword [esp + 0xf8]
mov dword [esp + 0x160], ebp
mov ebp, ecx
xor ebp, dword [esp + 0xc4]
mov dword [esp + 0x154], ebp
mov ebp, dword [esp + 0x168]
xor ebp, dword [esp + 0x7c]
mov dword [esp + 0x20], ebp
mov ebp, dword [esp + 0x16c]
xor ebp, dword [esp + 0x60]
mov dword [esp + 0xe4], ebp
mov ebp, edx
xor ebp, esi
mov dword [esp + 0x70], edi
xor dword [esp + 0x70], ebx
mov dword [esp + 0x114], ebp
mov dword [esp + 0xdc], ebp
mov ebp, dword [esp + 0x168]
xor dword [esp + 0xdc], ebp
mov ebp, dword [esp + 0x70]
xor ebp, dword [esp + 0x16c]
mov dword [esp + 0x14], ebp
mov ebp, dword [esp + 0x114]
xor ebp, dword [esp + 0x7c]
mov dword [esp + 0x114], ebp
mov ebp, dword [esp + 0x70]
xor ebp, dword [esp + 0x60]
mov dword [esp + 0x70], ebp
mov ebp, dword [esp + 0x20]
xor ebp, esi
mov esi, dword [esp + 0x130]
mov dword [esp + 0x28], ebp
mov ebp, dword [esp + 0xe4]
xor ebp, ebx
mov ebx, esi
xor ebx, dword [esp + 0xf8]
xor esi, eax
mov dword [esp + 0x30], ebp
mov ebp, dword [esp + 0x15c]
mov dword [esp + 0x34], ebx
mov ebx, ebp
xor ebx, dword [esp + 0xc4]
xor ebp, ecx
mov ecx, dword [esp + 0x154]
mov dword [esp + 0x48], ebx
mov ebx, dword [esp + 0x160]
mov eax, ebx
xor ebx, dword [esp + 0xa4]
xor eax, edx
mov edx, dword [esp + 0xd4]
mov dword [esp + 0xa8], eax
mov eax, ecx
xor ecx, dword [esp + 0x44]
xor eax, edi
mov edi, dword [esp + 0x128]
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0x20]
xor eax, dword [esp + 0x6c]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xe4]
xor eax, dword [esp + 0x80]
add edx, dword [esp + 0x158]
mov dword [esp + 0x130], esi
mov esi, dword [esp + 0xfc]
adc esi, dword [esp + 0x110]
add edi, dword [esp + 0x138]
mov dword [esp + 0x15c], ebp
mov ebp, edi
mov dword [esp + 0x160], ebx
mov ebx, dword [esp + 0x10c]
adc ebx, dword [esp + 0x13c]
add ebp, edx
mov dword [esp + 0xe4], eax
mov eax, ebx
adc eax, esi
mov dword [esp + 0x154], ecx
mov ecx, dword [esp + 0xf4]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x124]
add eax, dword [esp + 0x12c]
mov dword [esp + 0xc4], eax
adc ecx, dword [esp + 0x144]
add dword [esp + 0xc4], edx
mov edx, ecx
mov dword [esp + 0x50], ebp
mov ebp, dword [esp + 0x11c]
adc edx, esi
mov esi, dword [esp + 0xd0]
add esi, dword [esp + 0x148]
mov dword [esp + 0xf8], ebp
mov ebp, dword [esp + 0xa0]
adc dword [esp + 0xf8], ebp
mov dword [esp + 0x6c], esi
add dword [esp + 0x6c], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x80], eax
adc dword [esp + 0x80], ecx
add esi, edi
mov ecx, dword [esp + 0xd0]
adc eax, ebx
add ecx, dword [esp + 0x50]
mov ebx, dword [esp + 0x11c]
adc ebx, dword [esp + 0x78]
add ecx, 0x55555555
mov dword [esp + 0xd0], ecx
adc ebx, 0x55555555
mov ecx, dword [esp + 0xc4]
add dword [esp + 0x148], ecx
mov ecx, dword [esp + 0x148]
mov dword [esp + 0x11c], ebx
mov ebx, ebp
adc ebx, edx
mov ebp, dword [esp + 0x128]
mov dword [esp + 0xa0], ebx
xor edi, edi
shld dword [esp + 0xa0], ecx, 3
or dword [esp + 0xa0], edi
mov edi, dword [esp + 0x12c]
shl ecx, 3
shr ebx, 0x1d
or ebx, ecx
mov dword [esp + 0xf8], eax
add edi, dword [esp + 0x50]
mov ecx, dword [esp + 0x144]
adc ecx, dword [esp + 0x78]
mov eax, ecx
mov dword [esp + 0xa4], ebx
shld ecx, edi, 0x11
xor ebx, ebx
shr eax, 0xf
or ebx, ecx
shl edi, 0x11
mov ecx, dword [esp + 0x10c]
or eax, edi
add ebp, dword [esp + 0x6c]
mov dword [esp + 0x12c], ebx
adc ecx, dword [esp + 0x80]
xor ebx, ebx
mov dword [esp + 0x94], eax
mov eax, ecx
shld ecx, ebp, 0x17
shr eax, 9
or ebx, ecx
shl ebp, 0x17
mov ecx, dword [esp + 0x13c]
or eax, ebp
mov dword [esp + 0x128], ebx
mov ebx, dword [esp + 0x138]
add ebx, dword [esp + 0xc4]
mov dword [esp + 0x10c], eax
adc ecx, edx
mov edx, dword [esp + 0x124]
mov ebp, ecx
xor eax, eax
shld ecx, ebx, 0x1f
shr ebp, 1
shl ebx, 0x1f
or eax, ecx
mov ecx, dword [esp + 0xf4]
or ebp, ebx
add edx, esi
mov dword [esp + 0xc8], eax
mov ebx, edx
adc ecx, dword [esp + 0xf8]
xor edi, edi
shrd edx, ecx, 0x1b
shl ebx, 5
or edi, edx
shr ecx, 0x1b
mov dword [esp + 0x100], edi
or ebx, ecx
mov edi, dword [esp + 0xd4]
add edi, esi
mov ecx, dword [esp + 0xfc]
mov eax, dword [esp + 0x158]
mov esi, edi
adc ecx, dword [esp + 0xf8]
xor edx, edx
shrd edi, ecx, 0x13
shl esi, 0xd
or edx, edi
shr ecx, 0x13
mov edi, dword [esp + 0x110]
or esi, ecx
add eax, dword [esp + 0x6c]
mov dword [esp + 0x158], eax
mov ecx, eax
adc edi, dword [esp + 0x80]
xor eax, eax
shrd dword [esp + 0x158], edi, 5
or eax, dword [esp + 0x158]
shr edi, 5
shl ecx, 0x1b
or ecx, edi
mov edi, dword [esp + 0xa4]
xor edi, dword [esp + 0xd0]
mov dword [esp + 0xe0], edi
mov edi, dword [esp + 0xa0]
xor edi, dword [esp + 0x11c]
mov dword [esp + 0x104], edi
mov edi, dword [esp + 0x100]
xor edi, dword [esp + 0x94]
mov dword [esp + 0x140], edi
mov edi, ebx
xor edi, dword [esp + 0x12c]
mov dword [esp + 0xd4], edi
mov edi, ebp
xor edi, dword [esp + 0x10c]
mov dword [esp + 0x44], edi
mov edi, dword [esp + 0xc8]
xor edi, dword [esp + 0x128]
mov dword [esp + 0x158], edi
mov edi, eax
xor edi, edx
mov dword [esp + 0x124], edi
mov edi, ecx
xor edi, esi
mov dword [esp + 0xfc], edi
mov edi, dword [esp + 0x44]
xor edi, edx
mov edx, dword [esp + 0x158]
xor edx, esi
add edi, dword [esp + 0xdc]
mov dword [esp + 0x60], edi
adc edx, dword [esp + 0x14]
mov edi, dword [esp + 0x104]
mov dword [esp + 0x138], edx
mov edx, dword [esp + 0x140]
xor edx, eax
mov eax, dword [esp + 0xd4]
xor eax, ecx
add edx, dword [esp + 0x114]
mov ecx, dword [esp + 0xfc]
mov esi, ecx
adc eax, dword [esp + 0x70]
xor esi, dword [esp + 0xc8]
mov dword [esp + 0x16c], eax
mov dword [esp + 0x168], edx
mov edx, dword [esp + 0x124]
mov eax, edx
xor eax, ebp
mov ebp, dword [esp + 0xe0]
add eax, dword [esp + 0x28]
mov dword [esp + 0x7c], eax
mov eax, edi
adc esi, dword [esp + 0x30]
xor eax, ebx
xor ebp, dword [esp + 0x100]
add ebp, dword [esp + 0x34]
mov dword [esp + 0x40], esi
adc eax, dword [esp + 0x48]
mov dword [esp + 0x144], ebp
xor ecx, dword [esp + 0x12c]
xor edx, dword [esp + 0x94]
add edx, dword [esp + 0x130]
mov ebp, dword [esp + 0x158]
adc ecx, dword [esp + 0x15c]
xor edi, dword [esp + 0x128]
mov dword [esp + 0x148], eax
mov eax, dword [esp + 0xe0]
xor eax, dword [esp + 0x10c]
add eax, dword [esp + 0xa8]
mov dword [esp + 0xfc], ecx
adc edi, dword [esp + 0x108]
xor ebp, dword [esp + 0x11c]
mov ecx, dword [esp + 0x140]
mov ebx, dword [esp + 0xfc]
mov dword [esp + 0x104], edi
mov edi, dword [esp + 0x44]
xor edi, dword [esp + 0xd0]
add edi, dword [esp + 0x20]
mov dword [esp + 0xe0], eax
adc ebp, dword [esp + 0xe4]
xor ecx, dword [esp + 0xa4]
mov eax, dword [esp + 0xd4]
xor eax, dword [esp + 0xa0]
add ecx, dword [esp + 0x160]
mov dword [esp + 0x140], ecx
adc eax, dword [esp + 0x154]
add ecx, dword [esp + 0x144]
mov dword [esp + 0xd4], eax
adc eax, dword [esp + 0x148]
mov dword [esp + 0x124], edx
add edx, dword [esp + 0x7c]
mov dword [esp + 0x128], eax
adc ebx, esi
mov dword [esp + 0xa4], edx
add edx, ecx
mov dword [esp + 0x44], edi
mov esi, ebx
mov dword [esp + 0x158], ebp
adc esi, eax
mov dword [esp + 0x11c], ebx
add edi, dword [esp + 0xe0]
mov eax, ebp
mov ebp, dword [esp + 0x168]
adc eax, dword [esp + 0x104]
add ebp, dword [esp + 0x60]
mov ebx, dword [esp + 0x16c]
adc ebx, dword [esp + 0x138]
mov dword [esp + 0x154], eax
mov dword [esp + 0x10c], ecx
mov ecx, dword [esp + 0x104]
mov dword [esp + 0x160], edi
mov dword [esp + 0x12c], ebp
add ebp, edi
mov edi, ebx
mov dword [esp + 0xf8], ebx
adc edi, eax
mov dword [esp + 0x108], ebp
mov eax, dword [esp + 0xe0]
add eax, edx
mov dword [esp + 0x50], edi
adc ecx, esi
add eax, 0xaaaaaaaa
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x158]
adc ecx, 0xaaaaaaaa
mov dword [esp + 0xa8], ecx
mov ecx, dword [esp + 0x44]
add ecx, edx
adc eax, esi
and dword [esp + 0xe4], 0
mov ebx, eax
shld eax, ecx, 5
shr ebx, 0x1b
or dword [esp + 0xe4], eax
mov eax, dword [esp + 0x16c]
shl ecx, 5
or ebx, ecx
mov ecx, dword [esp + 0x168]
mov dword [esp + 0xc4], ebx
add ecx, edx
adc eax, esi
xor ebx, ebx
mov edx, eax
shld eax, ecx, 0x13
shr edx, 0xd
or ebx, eax
shl ecx, 0x13
or edx, ecx
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x7c]
add ecx, ebp
mov dword [esp + 0x100], edx
mov dword [esp + 0x94], ebx
adc eax, edi
xor ebx, ebx
mov edx, eax
shld eax, ecx, 0x1d
shr edx, 3
or ebx, eax
shl ecx, 0x1d
mov eax, dword [esp + 0xfc]
or edx, ecx
mov ecx, dword [esp + 0x124]
add ecx, ebp
mov dword [esp + 0x78], edx
mov dword [esp + 0xc8], ebx
adc eax, edi
xor ebx, ebx
mov edx, eax
shld eax, ecx, 0x1f
shr edx, 1
or ebx, eax
shl ecx, 0x1f
mov eax, dword [esp + 0x138]
or edx, ecx
mov ecx, dword [esp + 0x60]
add ecx, dword [esp + 0x160]
mov dword [esp + 0x70], edx
adc eax, dword [esp + 0x154]
add ecx, dword [esp + 0x10c]
mov edx, ecx
mov dword [esp + 0xa0], ebx
adc eax, dword [esp + 0x128]
xor ebx, ebx
shrd ecx, eax, 0x17
shl edx, 9
shr eax, 0x17
or ebx, ecx
mov ecx, dword [esp + 0x144]
or edx, eax
add ecx, dword [esp + 0x12c]
mov eax, dword [esp + 0x148]
adc eax, dword [esp + 0xf8]
add ecx, dword [esp + 0xa4]
mov ebp, ecx
mov dword [esp + 0x13c], edx
adc eax, dword [esp + 0x11c]
xor edi, edi
shrd ecx, eax, 7
shl ebp, 0x19
shr eax, 7
or edi, ecx
mov ecx, dword [esp + 0x140]
or ebp, eax
add ecx, dword [esp + 0x108]
mov eax, dword [esp + 0xd4]
mov esi, ecx
adc eax, dword [esp + 0x50]
xor edx, edx
shrd ecx, eax, 3
shl esi, 0x1d
shr eax, 3
or edx, ecx
or esi, eax
mov eax, dword [esp + 0x70]
xor eax, dword [esp + 0xd0]
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0xa0]
xor eax, dword [esp + 0xa8]
mov dword [esp + 0x114], eax
mov eax, edx
xor eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x130], eax
mov eax, esi
xor eax, dword [esp + 0xe4]
mov dword [esp + 0x15c], eax
mov eax, ecx
xor eax, dword [esp + 0x100]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0xc8]
xor eax, dword [esp + 0x94]
mov dword [esp + 0xf4], eax
mov eax, edi
xor eax, ebx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x13c]
xor dword [esp + 0x20], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x110], eax
xor dword [esp + 0x110], ecx
mov ecx, dword [esp + 0x20]
xor ecx, dword [esp + 0xc8]
mov dword [esp + 0x78], ecx
mov ecx, eax
xor ecx, dword [esp + 0x100]
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x20]
xor ecx, dword [esp + 0x94]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x80]
xor ecx, ebx
mov ebx, dword [esp + 0xdc]
mov dword [esp + 0x30], ecx
mov eax, ebx
xor eax, dword [esp + 0xc4]
xor ebx, edx
mov ecx, dword [esp + 0xf4]
xor ecx, dword [esp + 0x13c]
mov edx, dword [esp + 0x130]
mov dword [esp + 0xd8], eax
mov dword [esp + 0xcc], ecx
mov ecx, dword [esp + 0x114]
mov eax, ecx
xor eax, dword [esp + 0xe4]
xor ecx, esi
mov esi, dword [esp + 0x98]
mov dword [esp + 0x9c], eax
mov eax, edx
xor edx, dword [esp + 0xd0]
xor eax, edi
mov edi, dword [esp + 0xac]
mov dword [esp + 0x84], eax
mov dword [esp + 0x114], ecx
mov ecx, dword [esp + 0x15c]
mov eax, ecx
xor ecx, dword [esp + 0xa8]
xor eax, ebp
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x80]
xor eax, dword [esp + 0x70]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0xf4]
xor eax, dword [esp + 0xa0]
mov dword [esp + 0x130], edx
mov edx, dword [esp + 0xc0]
add edx, dword [esp + 0x10]
mov dword [esp + 0xdc], ebx
adc esi, dword [esp + 0x58]
add edi, dword [esp + 0x8c]
mov ebx, dword [esp + 0x54]
mov ebp, edi
adc ebx, dword [esp + 0x74]
add ebp, edx
mov dword [esp + 0xf4], eax
mov eax, ebx
adc eax, esi
mov dword [esp + 0x15c], ecx
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0x108], ebp
add eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x3c]
adc ecx, dword [esp + 0x134]
mov ebp, dword [esp + 0x24]
mov dword [esp + 0xe4], eax
add dword [esp + 0xe4], edx
mov edx, ecx
mov dword [esp + 0x70], ebp
adc edx, esi
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x90]
add esi, dword [esp + 0xf0]
mov dword [esp + 0x13c], esi
adc dword [esp + 0x70], ebp
add dword [esp + 0x13c], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0xc4], eax
adc dword [esp + 0xc4], ecx
add esi, edi
mov ecx, dword [esp + 0x90]
adc eax, ebx
add ecx, dword [esp + 0x108]
mov ebx, dword [esp + 0x24]
adc ebx, dword [esp + 0x50]
add ecx, 0x55555555
mov dword [esp + 0x90], ecx
adc ebx, 0x55555555
mov ecx, dword [esp + 0xe4]
add dword [esp + 0xf0], ecx
mov ecx, dword [esp + 0xf0]
mov dword [esp + 0x24], ebx
mov ebx, ebp
adc ebx, edx
mov ebp, dword [esp + 0xac]
mov dword [esp + 0x1c], ebx
xor edi, edi
shld dword [esp + 0x1c], ecx, 3
or dword [esp + 0x1c], edi
mov edi, dword [esp + 0x88]
shl ecx, 3
shr ebx, 0x1d
or ebx, ecx
mov dword [esp + 0x70], eax
add edi, dword [esp + 0x108]
mov ecx, dword [esp + 0x134]
adc ecx, dword [esp + 0x50]
mov eax, ecx
mov dword [esp + 0xf0], ebx
shld ecx, edi, 0x11
xor ebx, ebx
shr eax, 0xf
or ebx, ecx
shl edi, 0x11
mov ecx, dword [esp + 0x54]
or eax, edi
add ebp, dword [esp + 0x13c]
mov dword [esp + 0xa8], eax
adc ecx, dword [esp + 0xc4]
mov dword [esp + 0xc8], ebx
mov eax, ecx
shld ecx, ebp, 0x17
xor ebx, ebx
shr eax, 9
or ebx, ecx
shl ebp, 0x17
mov ecx, dword [esp + 0x74]
or eax, ebp
mov dword [esp + 0x94], ebx
mov ebx, dword [esp + 0x8c]
add ebx, dword [esp + 0xe4]
mov dword [esp + 0x100], eax
adc ecx, edx
mov edx, dword [esp + 0xec]
mov ebp, ecx
xor eax, eax
shld ecx, ebx, 0x1f
shr ebp, 1
shl ebx, 0x1f
or ebp, ebx
or eax, ecx
mov dword [esp + 0x74], eax
mov ecx, dword [esp + 0x3c]
add edx, esi
mov eax, dword [esp + 0x10]
mov ebx, edx
adc ecx, dword [esp + 0x70]
xor edi, edi
shrd edx, ecx, 0x1b
shl ebx, 5
or edi, edx
shr ecx, 0x1b
mov dword [esp + 0x8c], edi
or ebx, ecx
mov edi, dword [esp + 0xc0]
add edi, esi
mov ecx, dword [esp + 0x98]
mov esi, edi
adc ecx, dword [esp + 0x70]
xor edx, edx
shrd edi, ecx, 0x13
shl esi, 0xd
or edx, edi
shr ecx, 0x13
mov edi, dword [esp + 0x58]
or esi, ecx
add eax, dword [esp + 0x13c]
mov dword [esp + 0x10], eax
mov ecx, eax
adc edi, dword [esp + 0xc4]
xor eax, eax
shrd dword [esp + 0x10], edi, 5
or eax, dword [esp + 0x10]
shr edi, 5
shl ecx, 0x1b
or ecx, edi
mov edi, dword [esp + 0xf0]
xor edi, dword [esp + 0x90]
mov dword [esp + 0x88], edi
mov edi, dword [esp + 0x1c]
xor edi, dword [esp + 0x24]
mov dword [esp + 0xa0], edi
mov edi, dword [esp + 0x8c]
xor edi, dword [esp + 0xa8]
mov dword [esp + 0xd0], edi
mov edi, ebx
xor edi, dword [esp + 0xc8]
mov dword [esp + 0x134], edi
mov edi, ebp
xor edi, dword [esp + 0x100]
mov dword [esp + 0xec], edi
mov edi, dword [esp + 0x74]
xor edi, dword [esp + 0x94]
mov dword [esp + 0xe4], edi
mov edi, eax
xor edi, edx
mov dword [esp + 0x13c], edi
mov edi, ecx
xor edi, esi
mov dword [esp + 0xc4], edi
mov edi, dword [esp + 0xec]
xor edi, edx
mov edx, dword [esp + 0xe4]
xor edx, esi
add edi, dword [esp + 0x110]
mov esi, dword [esp + 0x13c]
adc edx, dword [esp + 0x78]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0xd0]
xor edx, eax
mov dword [esp + 0x28], edi
mov eax, dword [esp + 0x134]
xor eax, ecx
add edx, dword [esp + 0x6c]
mov dword [esp + 0x48], edx
mov ecx, esi
adc eax, dword [esp + 0x20]
xor ecx, ebp
mov edx, dword [esp + 0xc4]
mov dword [esp + 0x20], eax
mov eax, edx
xor eax, dword [esp + 0x74]
add ecx, dword [esp + 0x30]
adc eax, dword [esp + 0xcc]
mov ebp, dword [esp + 0x88]
mov edi, dword [esp + 0xa0]
mov dword [esp + 0x34], ecx
mov ecx, ebp
xor ecx, dword [esp + 0x8c]
mov dword [esp + 0x30], eax
mov eax, edi
xor eax, ebx
add ecx, dword [esp + 0xd8]
mov dword [esp + 0x70], ecx
adc eax, dword [esp + 0x9c]
xor esi, dword [esp + 0xa8]
xor edx, dword [esp + 0xc8]
add esi, dword [esp + 0xdc]
mov ecx, dword [esp + 0xec]
adc edx, dword [esp + 0x114]
xor ebp, dword [esp + 0x100]
xor edi, dword [esp + 0x94]
add ebp, dword [esp + 0x84]
mov dword [esp + 0x6c], eax
adc edi, dword [esp + 0x68]
xor ecx, dword [esp + 0x90]
mov eax, dword [esp + 0xe4]
xor eax, dword [esp + 0x24]
add ecx, dword [esp + 0x80]
mov ebx, dword [esp + 0xf8]
adc eax, dword [esp + 0xf4]
mov dword [esp + 0xec], ecx
mov ecx, dword [esp + 0xd0]
xor ecx, dword [esp + 0xf0]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x134]
xor eax, dword [esp + 0x1c]
add ecx, dword [esp + 0x130]
mov dword [esp + 0x88], ebp
adc eax, dword [esp + 0x15c]
mov ebp, dword [esp + 0xe0]
mov dword [esp + 0x134], eax
mov eax, dword [esp + 0xa4]
add eax, dword [esp + 0x10c]
mov dword [esp + 0xd0], ecx
mov ecx, dword [esp + 0x11c]
adc ecx, dword [esp + 0x128]
mov dword [esp + 0x13c], esi
mov esi, dword [esp + 0x104]
mov dword [esp + 0xc4], edx
mov edx, dword [esp + 0x12c]
add edx, dword [esp + 0x160]
mov dword [esp + 0xa0], edi
adc ebx, dword [esp + 0x154]
add ebp, eax
mov dword [esp + 0x68], edx
adc esi, ecx
mov dword [esp + 0x84], ebx
add ebp, 0xaaaaaaaa
mov dword [esp + 0xe0], ebp
mov ebp, dword [esp + 0x158]
adc esi, 0xaaaaaaaa
add dword [esp + 0x44], eax
mov edi, dword [esp + 0x44]
adc ebp, ecx
mov dword [esp + 0x104], esi
mov dword [esp + 0x158], ebp
xor esi, esi
shld dword [esp + 0x158], edi, 5
or esi, dword [esp + 0x158]
shr ebp, 0x1b
shl edi, 5
or ebp, edi
mov dword [esp + 0xa8], esi
mov esi, dword [esp + 0x168]
add esi, eax
mov dword [esp + 0x8c], ebp
mov ebp, dword [esp + 0x16c]
adc ebp, ecx
xor ecx, ecx
mov eax, ebp
shld ebp, esi, 0x13
shr eax, 0xd
shl esi, 0x13
or eax, esi
or ecx, ebp
mov esi, dword [esp + 0x7c]
add esi, edx
mov dword [esp + 0x58], eax
mov dword [esp + 0x74], ecx
mov ecx, dword [esp + 0x40]
adc ecx, ebx
xor eax, eax
mov ebp, ecx
shld ecx, esi, 0x1d
shr ebp, 3
or eax, ecx
shl esi, 0x1d
mov dword [esp + 0x40], eax
or ebp, esi
mov esi, dword [esp + 0x124]
add esi, edx
mov dword [esp + 0x9c], ebp
mov edx, dword [esp + 0xfc]
adc edx, ebx
xor ecx, ecx
mov eax, edx
shr eax, 1
shld edx, esi, 0x1f
or ecx, edx
shl esi, 0x1f
or eax, esi
mov dword [esp + 0x94], ecx
mov ecx, dword [esp + 0x60]
add ecx, dword [esp + 0x160]
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0x138]
adc eax, dword [esp + 0x154]
add ecx, dword [esp + 0x10c]
mov ebx, ecx
adc eax, dword [esp + 0x128]
xor esi, esi
shrd ecx, eax, 0x17
shl ebx, 9
shr eax, 0x17
or esi, ecx
mov ecx, dword [esp + 0x144]
or ebx, eax
add ecx, dword [esp + 0x12c]
mov eax, dword [esp + 0x148]
adc eax, dword [esp + 0xf8]
add ecx, dword [esp + 0xa4]
mov edi, ecx
adc eax, dword [esp + 0x11c]
xor edx, edx
shrd ecx, eax, 7
shl edi, 0x19
shr eax, 7
or edx, ecx
mov ecx, dword [esp + 0x140]
or edi, eax
add ecx, dword [esp + 0x68]
mov eax, dword [esp + 0xd4]
adc eax, dword [esp + 0x84]
mov dword [esp + 0xd4], eax
xor eax, eax
mov ebp, dword [esp + 0xd4]
mov dword [esp + 0x140], ecx
shrd dword [esp + 0x140], ebp, 3
or eax, dword [esp + 0x140]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x100]
xor eax, dword [esp + 0xe0]
mov dword [esp + 0x160], eax
mov eax, dword [esp + 0x94]
xor eax, dword [esp + 0x104]
mov dword [esp + 0x154], eax
mov eax, dword [esp + 0xc8]
xor eax, dword [esp + 0x8c]
shl ecx, 0x1d
shr ebp, 3
or ecx, ebp
mov dword [esp + 0xc0], eax
mov eax, ecx
xor eax, dword [esp + 0xa8]
mov ebp, dword [esp + 0x9c]
mov dword [esp + 0x168], eax
mov eax, ebp
xor eax, dword [esp + 0x58]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x40]
xor eax, dword [esp + 0x74]
mov dword [esp + 0xac], eax
mov eax, edx
xor eax, esi
mov dword [esp + 0x1c], edi
xor dword [esp + 0x1c], ebx
mov dword [esp + 0x130], eax
xor dword [esp + 0x130], ebp
mov ebp, dword [esp + 0x1c]
xor ebp, dword [esp + 0x40]
mov dword [esp + 0xcc], ebp
mov ebp, eax
xor ebp, dword [esp + 0x58]
mov dword [esp + 0x15c], ebp
mov ebp, dword [esp + 0x1c]
xor ebp, dword [esp + 0x74]
mov dword [esp + 0x1c], ebp
mov ebp, dword [esp + 0x54]
xor ebp, esi
mov esi, dword [esp + 0x160]
mov dword [esp + 0x108], ebp
mov ebp, dword [esp + 0xac]
xor ebp, ebx
mov ebx, esi
xor ebx, dword [esp + 0x8c]
xor esi, dword [esp + 0xc8]
mov dword [esp + 0x78], ebx
mov dword [esp + 0x50], ebp
mov ebp, dword [esp + 0x154]
mov ebx, ebp
xor ebx, dword [esp + 0xa8]
xor ebp, ecx
mov ecx, dword [esp + 0x168]
mov dword [esp + 0x60], ebx
mov ebx, dword [esp + 0xc0]
mov eax, ebx
xor ebx, dword [esp + 0xe0]
xor eax, edx
mov dword [esp + 0x80], eax
mov eax, ecx
xor ecx, dword [esp + 0x104]
xor eax, edi
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0x54]
xor eax, dword [esp + 0x100]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0xac]
xor eax, dword [esp + 0x94]
mov dword [esp + 0x154], ebp
mov ebp, dword [esp + 0x64]
mov dword [esp + 0xac], eax
mov dword [esp + 0x160], esi
mov dword [esp + 0x168], ecx
mov eax, dword [ebp + 8]
mov edx, dword [ebp]
mov ecx, dword [ebp + 4]
mov esi, ecx
mov edi, dword [ebp + 0x10]
mov dword [esp + 0x90], edx
add edx, eax
mov dword [esp + 0xdc], eax
adc esi, dword [ebp + 0xc]
add edi, dword [ebp + 0x28]
mov dword [esp + 0xc0], ebx
mov eax, edi
mov ebx, dword [ebp + 0x14]
adc ebx, dword [ebp + 0x2c]
add eax, edx
mov ebp, dword [ebp + 0x1c]
mov dword [esp + 0x68], eax
mov eax, ebx
adc eax, esi
mov dword [esp + 0x114], ecx
mov dword [esp + 0x84], eax
mov dword [esp + 0xd8], ebp
mov ecx, dword [esp + 0x64]
mov eax, dword [ecx + 0x18]
add eax, dword [ecx + 0x20]
mov ecx, ebp
mov ebp, dword [esp + 0x64]
mov dword [esp + 0x110], eax
adc ecx, dword [ebp + 0x24]
add dword [esp + 0x110], edx
mov edx, ecx
adc edx, esi
mov esi, ebp
mov dword [esp + 0x9c], edx
mov edx, dword [esi + 0x3c]
mov ebp, dword [esi + 0x38]
mov esi, dword [esi + 0x30]
mov dword [esp + 0x98], edx
mov edx, dword [esp + 0x64]
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x10], esi
add dword [esp + 0x10], ebp
mov edx, dword [edx + 0x34]
mov ebp, dword [esp + 0x98]
mov dword [esp + 0x24], edx
adc dword [esp + 0x24], ebp
mov ebp, dword [esp + 0x10]
add ebp, eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x40], ebp
mov ebp, eax
adc ebp, ecx
add dword [esp + 0x10], edi
mov dword [esp + 0x58], ebp
adc eax, ebx
mov ebp, dword [esp + 0x98]
mov ebx, dword [esp + 0x3c]
add ebx, dword [esp + 0x68]
mov dword [esp + 0x24], eax
adc ebp, dword [esp + 0x84]
add ebx, 0x55555555
mov dword [esp + 0x3c], ebx
mov ebx, dword [esp + 0x110]
adc ebp, 0x55555555
add esi, ebx
mov dword [esp + 0x98], ebp
adc edx, dword [esp + 0x9c]
and dword [esp + 0xf0], 0
mov ebp, edx
shld edx, esi, 3
shr ebp, 0x1d
or dword [esp + 0xf0], edx
shl esi, 3
or ebp, esi
mov esi, dword [esp + 0x64]
mov dword [esp + 0x110], ebp
mov ebp, dword [esp + 0xd8]
mov edx, dword [esi + 0x18]
add edx, dword [esp + 0x68]
adc ebp, dword [esp + 0x84]
xor ecx, ecx
mov eax, ebp
shld ebp, edx, 0x11
shr eax, 0xf
or ecx, ebp
shl edx, 0x11
or eax, edx
mov dword [esp + 0xc8], ecx
mov ecx, dword [esi + 0x10]
add ecx, dword [esp + 0x40]
mov dword [esp + 0xa8], eax
mov eax, dword [esi + 0x14]
adc eax, dword [esp + 0x58]
xor ebp, ebp
mov edx, eax
shld eax, ecx, 0x17
shr edx, 9
shl ecx, 0x17
or edx, ecx
or ebp, eax
mov dword [esp + 0x100], edx
mov edx, dword [esi + 0x28]
mov dword [esp + 0x94], ebp
mov ecx, dword [esi + 0x2c]
add edx, ebx
adc ecx, dword [esp + 0x9c]
xor eax, eax
mov ebp, ecx
shr ebp, 1
shld ecx, edx, 0x1f
shl edx, 0x1f
or eax, ecx
or ebp, edx
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x74], ebp
mov ebp, esi
mov esi, dword [ebp + 0x20]
mov edx, dword [ebp + 0x24]
add esi, eax
mov ebx, esi
adc edx, dword [esp + 0x24]
xor edi, edi
shrd esi, edx, 0x1b
shl ebx, 5
shr edx, 0x1b
or edi, esi
or ebx, edx
add dword [esp + 0xdc], eax
mov eax, dword [ebp + 0xc]
adc eax, dword [esp + 0x24]
xor edx, edx
mov ecx, dword [esp + 0xdc]
mov esi, ecx
shrd ecx, eax, 0x13
shl esi, 0xd
or edx, ecx
shr eax, 0x13
mov ecx, dword [esp + 0x90]
or esi, eax
add ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x114]
adc eax, dword [esp + 0x58]
mov dword [esp + 0x114], eax
xor eax, eax
mov ebp, dword [esp + 0x114]
mov dword [esp + 0x90], ecx
shrd dword [esp + 0x90], ebp, 5
or eax, dword [esp + 0x90]
shr ebp, 5
shl ecx, 0x1b
or ecx, ebp
mov ebp, dword [esp + 0x110]
xor ebp, dword [esp + 0x3c]
mov dword [esp + 0xe0], ebp
mov ebp, dword [esp + 0xf0]
mov dword [esp + 0x11c], ebp
mov ebp, dword [esp + 0x98]
xor dword [esp + 0x11c], ebp
mov ebp, edi
xor ebp, dword [esp + 0xa8]
mov dword [esp + 0x124], ebp
mov ebp, ebx
xor ebp, dword [esp + 0xc8]
mov dword [esp + 0x90], ebp
mov ebp, dword [esp + 0x74]
xor ebp, dword [esp + 0x100]
mov dword [esp + 0x104], ebp
mov ebp, dword [esp + 0x8c]
xor ebp, dword [esp + 0x94]
mov dword [esp + 0xfc], ebp
mov ebp, eax
xor ebp, edx
mov dword [esp + 0x10c], ebp
mov ebp, ecx
xor ebp, esi
mov dword [esp + 0x128], ebp
mov ebp, dword [esp + 0x104]
xor ebp, edx
mov edx, dword [esp + 0xfc]
xor edx, esi
add ebp, dword [esp + 0x130]
mov dword [esp + 0x16c], ebp
adc edx, dword [esp + 0xcc]
mov esi, dword [esp + 0x90]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x124]
xor edx, eax
mov eax, esi
xor eax, ecx
add edx, dword [esp + 0x15c]
mov ecx, dword [esp + 0x128]
adc eax, dword [esp + 0x1c]
xor ecx, dword [esp + 0x8c]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x10c]
xor eax, dword [esp + 0x74]
add eax, dword [esp + 0x108]
mov dword [esp + 0x144], eax
adc ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x11c]
mov dword [esp + 0x12c], ecx
mov ecx, dword [esp + 0xe0]
mov ebp, ecx
mov dword [esp + 0x24], edx
xor ebp, edi
mov edx, eax
mov edi, dword [esp + 0x48]
xor edx, ebx
add ebp, dword [esp + 0x78]
mov ebx, dword [esp + 0x10c]
adc edx, dword [esp + 0x60]
xor ebx, dword [esp + 0xa8]
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x128]
xor edx, dword [esp + 0xc8]
add ebx, dword [esp + 0x160]
mov dword [esp + 0x10c], ebx
adc edx, dword [esp + 0x154]
xor eax, dword [esp + 0x94]
xor ecx, dword [esp + 0x100]
add ecx, dword [esp + 0x80]
mov ebx, dword [esp + 0x134]
adc eax, dword [esp + 0xf4]
mov dword [esp + 0x11c], eax
mov eax, dword [esp + 0xfc]
xor eax, dword [esp + 0x98]
mov dword [esp + 0xe0], ecx
mov ecx, dword [esp + 0x104]
xor ecx, dword [esp + 0x3c]
add ecx, dword [esp + 0x54]
mov dword [esp + 0x104], ecx
adc eax, dword [esp + 0xac]
xor esi, dword [esp + 0xf0]
mov ecx, dword [esp + 0xd0]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0x124]
xor eax, dword [esp + 0x110]
add eax, dword [esp + 0xc0]
mov dword [esp + 0x124], eax
adc esi, dword [esp + 0x168]
add ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x13c]
adc ebx, dword [esp + 0x6c]
add eax, dword [esp + 0x34]
mov dword [esp + 0x128], edx
mov edx, dword [esp + 0xc4]
adc edx, dword [esp + 0x30]
mov dword [esp + 0x68], ecx
mov dword [esp + 0xd8], eax
add eax, ecx
mov ecx, edx
mov dword [esp + 0xcc], edx
mov edx, dword [esp + 0xec]
adc ecx, ebx
add edx, dword [esp + 0x88]
mov dword [esp + 0x90], esi
mov dword [esp + 0x84], ebx
mov ebx, dword [esp + 0xe4]
mov esi, ebx
adc esi, dword [esp + 0xa0]
add edi, dword [esp + 0x28]
mov dword [esp + 0xd4], ebp
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x9c], edi
adc ebp, dword [esp + 0x14]
mov dword [esp + 0x3c], edi
add dword [esp + 0x3c], edx
mov edi, dword [esp + 0x88]
mov dword [esp + 0x54], ebp
adc dword [esp + 0x54], esi
add edi, eax
adc dword [esp + 0xa0], ecx
add edi, 0xaaaaaaaa
mov dword [esp + 0x88], edi
adc dword [esp + 0xa0], 0xaaaaaaaa
mov edi, dword [esp + 0xec]
add edi, eax
adc ebx, ecx
and dword [esp + 0xac], 0
mov dword [esp + 0x10], ebx
shr dword [esp + 0x10], 0x1b
shld ebx, edi, 5
or dword [esp + 0xac], ebx
mov ebx, dword [esp + 0x48]
shl edi, 5
or dword [esp + 0x10], edi
add ebx, eax
mov eax, dword [esp + 0x20]
adc eax, ecx
mov edi, dword [esp + 0x34]
mov dword [esp + 0x20], eax
xor ecx, ecx
shld dword [esp + 0x20], ebx, 0x13
or ecx, dword [esp + 0x20]
shl ebx, 0x13
shr eax, 0xd
or eax, ebx
mov dword [esp + 0x40], ecx
add edi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x30]
adc ebx, dword [esp + 0x54]
xor ecx, ecx
mov dword [esp + 0x48], eax
mov eax, ebx
shld ebx, edi, 0x1d
shr eax, 3
shl edi, 0x1d
or ecx, ebx
mov ebx, dword [esp + 0xc4]
or eax, edi
mov edi, dword [esp + 0x13c]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x3c]
add edi, eax
mov dword [esp + 0x34], ecx
adc ebx, dword [esp + 0x54]
and dword [esp + 0x3c], 0
mov dword [esp + 0x1c], ebx
shr dword [esp + 0x1c], 1
shld ebx, edi, 0x1f
or dword [esp + 0x3c], ebx
shl edi, 0x1f
or dword [esp + 0x1c], edi
mov edi, dword [esp + 0x28]
add edi, edx
mov edx, dword [esp + 0x14]
adc edx, esi
add edi, dword [esp + 0x68]
mov ebx, edi
adc edx, dword [esp + 0x84]
xor esi, esi
shrd edi, edx, 0x17
shl ebx, 9
shr edx, 0x17
or esi, edi
or ebx, edx
mov edx, dword [esp + 0x70]
add edx, dword [esp + 0x9c]
adc dword [esp + 0x6c], ebp
add edx, dword [esp + 0xd8]
mov ebp, dword [esp + 0x6c]
mov edi, edx
adc ebp, dword [esp + 0xcc]
mov dword [esp + 0x70], edx
xor edx, edx
shrd dword [esp + 0x70], ebp, 7
or edx, dword [esp + 0x70]
shr ebp, 7
shl edi, 0x19
or edi, ebp
add dword [esp + 0xd0], eax
mov ebp, dword [esp + 0x134]
adc ebp, dword [esp + 0x54]
xor eax, eax
mov ecx, dword [esp + 0xd0]
shrd dword [esp + 0xd0], ebp, 3
or eax, dword [esp + 0xd0]
shr ebp, 3
shl ecx, 0x1d
or ecx, ebp
mov dword [esp + 0x20], edi
mov ebp, dword [esp + 0x1c]
xor ebp, dword [esp + 0x88]
mov dword [esp + 0x114], ebp
mov ebp, dword [esp + 0x3c]
xor ebp, dword [esp + 0xa0]
mov dword [esp + 0x130], ebp
mov ebp, eax
xor ebp, dword [esp + 0x10]
mov dword [esp + 0x15c], ebp
mov ebp, ecx
xor ebp, dword [esp + 0xac]
xor dword [esp + 0x20], ebx
mov dword [esp + 0x160], ebp
mov ebp, dword [esp + 0x30]
xor ebp, dword [esp + 0x48]
mov dword [esp + 0x70], ebp
mov ebp, dword [esp + 0x34]
xor ebp, dword [esp + 0x40]
mov dword [esp + 0x54], ebp
mov ebp, edx
xor ebp, esi
mov dword [esp + 0xdc], ebp
mov dword [esp + 0x110], ebp
mov ebp, dword [esp + 0x30]
xor dword [esp + 0x110], ebp
mov ebp, dword [esp + 0x20]
xor ebp, dword [esp + 0x34]
mov dword [esp + 0xd8], ebp
mov ebp, dword [esp + 0xdc]
xor ebp, dword [esp + 0x48]
mov dword [esp + 0xdc], ebp
mov ebp, dword [esp + 0x20]
xor ebp, dword [esp + 0x40]
mov dword [esp + 0x20], ebp
mov ebp, dword [esp + 0x70]
xor ebp, esi
mov esi, dword [esp + 0x114]
mov dword [esp + 0xcc], ebp
mov ebp, dword [esp + 0x54]
xor ebp, ebx
mov ebx, esi
xor ebx, dword [esp + 0x10]
xor esi, eax
mov dword [esp + 0x108], ebp
mov ebp, dword [esp + 0x130]
mov dword [esp + 0x50], ebx
mov ebx, ebp
xor ebx, dword [esp + 0xac]
xor ebp, ecx
mov ecx, dword [esp + 0x160]
mov dword [esp + 0x78], ebx
mov ebx, dword [esp + 0x15c]
mov eax, ebx
xor eax, edx
mov dword [esp + 0x114], esi
mov dword [esp + 0x6c], eax
mov eax, ecx
xor eax, edi
mov dword [esp + 0x130], ebp
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x70]
xor eax, dword [esp + 0x1c]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x54]
xor eax, dword [esp + 0x3c]
xor ecx, dword [esp + 0xa0]
xor ebx, dword [esp + 0x88]
mov edx, dword [esp + 0xe0]
mov ebp, dword [esp + 0x124]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x128]
mov dword [esp + 0x160], ecx
mov ecx, dword [esp + 0x11c]
mov dword [esp + 0x15c], ebx
mov ebx, dword [esp + 0x10c]
add ebx, dword [esp + 0xd4]
mov dword [esp + 0x158], ebx
adc eax, dword [esp + 0x60]
add edx, dword [esp + 0x16c]
mov dword [esp + 0x140], eax
adc ecx, dword [esp + 0x7c]
mov esi, ecx
mov dword [esp + 0x168], ecx
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x154], edx
add edx, ebx
adc esi, eax
add ebp, dword [esp + 0x104]
mov edi, ebp
mov dword [esp + 0xc8], ebp
adc ecx, dword [esp + 0xfc]
add edi, ebx
mov ebx, ecx
mov dword [esp + 0xd0], ecx
adc ebx, eax
mov eax, dword [esp + 0x144]
add eax, dword [esp + 0x24]
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0x12c]
adc eax, dword [esp + 0x44]
mov dword [esp + 0x138], eax
mov eax, dword [esp + 0xf4]
add eax, ebp
mov ebp, dword [esp + 0xf4]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x138]
adc eax, ecx
add ebp, dword [esp + 0x154]
mov ecx, dword [esp + 0x12c]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x138]
adc eax, dword [esp + 0x168]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x144]
add eax, edx
mov dword [esp + 0x84], ebp
adc ecx, esi
add eax, 0x55555555
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x44]
adc ecx, 0x55555555
mov dword [esp + 0xa8], ecx
mov ecx, dword [esp + 0x24]
add ecx, edi
adc eax, ebx
and dword [esp + 0x3c], 0
mov dword [esp + 0x10], eax
shr dword [esp + 0x10], 0x1d
shld eax, ecx, 3
or dword [esp + 0x3c], eax
mov eax, dword [esp + 0xfc]
shl ecx, 3
or dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x104]
add ecx, edx
adc eax, esi
xor esi, esi
mov edx, eax
shld eax, ecx, 0x11
shr edx, 0xf
shl ecx, 0x11
or edx, ecx
mov ecx, dword [esp + 0xe0]
or esi, eax
mov dword [esp + 0x48], edx
mov dword [esp + 0x40], esi
add ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x11c]
adc eax, dword [esp + 0x28]
xor esi, esi
mov edx, eax
shld eax, ecx, 0x17
shr edx, 9
or esi, eax
shl ecx, 0x17
mov eax, dword [esp + 0x7c]
or edx, ecx
mov ecx, dword [esp + 0x16c]
add ecx, edi
mov dword [esp + 0x58], edx
mov dword [esp + 0x74], esi
adc eax, ebx
xor ebx, ebx
mov edx, eax
shld eax, ecx, 0x1f
shr edx, 1
or ebx, eax
shl ecx, 0x1f
mov eax, dword [esp + 0x90]
or edx, ecx
mov ecx, dword [esp + 0x124]
add ecx, ebp
mov dword [esp + 0x9c], edx
mov edx, ecx
mov dword [esp + 0x30], ebx
adc eax, dword [esp + 0x68]
xor ebp, ebp
shrd ecx, eax, 0x1b
shl edx, 5
shr eax, 0x1b
or ebp, ecx
mov ecx, dword [esp + 0x10c]
or edx, eax
add ecx, dword [esp + 0x84]
mov eax, dword [esp + 0x128]
mov ebx, ecx
adc eax, dword [esp + 0x68]
xor edi, edi
shrd ecx, eax, 0x13
shl ebx, 0xd
shr eax, 0x13
or edi, ecx
mov ecx, dword [esp + 0xd4]
or ebx, eax
add ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x60]
mov esi, ecx
adc eax, dword [esp + 0x28]
shrd ecx, eax, 5
shl esi, 0x1b
shr eax, 5
or esi, eax
mov dword [esp + 0x34], edx
mov eax, dword [esp + 0x10]
xor edx, edx
xor eax, dword [esp + 0x8c]
or edx, ecx
mov ecx, dword [esp + 0x34]
xor ecx, dword [esp + 0x40]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x3c]
xor eax, dword [esp + 0xa8]
mov dword [esp + 0x13c], eax
mov eax, ebp
xor eax, dword [esp + 0x48]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x9c]
xor eax, dword [esp + 0x58]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x30]
xor eax, dword [esp + 0x74]
mov dword [esp + 0xf0], eax
mov eax, edx
xor eax, edi
mov dword [esp + 0xec], ecx
mov dword [esp + 0x134], eax
mov eax, esi
xor eax, ebx
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x98]
xor eax, edi
mov edi, dword [esp + 0xf0]
mov dword [esp + 0xc4], eax
mov eax, edi
xor eax, ebx
mov ebx, dword [esp + 0xc4]
add ebx, dword [esp + 0x110]
mov dword [esp + 0xc4], ebx
adc eax, dword [esp + 0xd8]
mov ebx, dword [esp + 0xc0]
xor ebx, edx
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0x134]
mov edx, ecx
mov ecx, dword [esp + 0xa4]
xor edx, esi
add ebx, dword [esp + 0xdc]
mov dword [esp + 0xac], ebx
adc edx, dword [esp + 0x20]
xor eax, dword [esp + 0x9c]
xor ecx, dword [esp + 0x30]
add eax, dword [esp + 0xcc]
mov dword [esp + 0x148], edx
adc ecx, dword [esp + 0x108]
mov edx, dword [esp + 0xe4]
mov esi, edx
mov dword [esp + 0xa0], ecx
xor esi, ebp
mov ecx, dword [esp + 0x13c]
mov ebx, ecx
xor ebx, dword [esp + 0x34]
add esi, dword [esp + 0x50]
mov dword [esp + 0x88], eax
adc ebx, dword [esp + 0x78]
mov eax, dword [esp + 0xa4]
xor eax, dword [esp + 0x40]
mov dword [esp + 0x94], ebx
mov ebx, dword [esp + 0x134]
xor ebx, dword [esp + 0x48]
add ebx, dword [esp + 0x114]
mov dword [esp + 0x134], ebx
adc eax, dword [esp + 0x130]
xor ecx, dword [esp + 0x74]
xor edx, dword [esp + 0x58]
add edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x38]
adc ecx, dword [esp + 0x80]
xor edi, dword [esp + 0xa8]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x98]
xor eax, dword [esp + 0x8c]
add eax, dword [esp + 0x70]
mov dword [esp + 0x13c], ecx
adc edi, dword [esp + 0x54]
mov ecx, dword [esp + 0xc0]
xor ecx, dword [esp + 0x10]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xec]
xor eax, dword [esp + 0x3c]
add ecx, dword [esp + 0x15c]
mov dword [esp + 0xc0], ecx
adc eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x174]
add ecx, dword [esp + 0x120]
mov dword [esp + 0xec], eax
adc ebx, dword [esp + 0x5c]
mov eax, dword [esp + 0xb0]
add eax, dword [esp + 0x14c]
mov dword [esp + 0xe4], edx
mov edx, dword [esp + 0xb4]
adc edx, dword [esp + 0xe8]
mov dword [esp + 0xd8], eax
add eax, ecx
mov dword [esp + 0xf8], esi
mov dword [esp + 0xf0], edi
mov dword [esp + 0x68], ecx
mov dword [esp + 0x84], ebx
mov dword [esp + 0xcc], edx
mov esi, dword [esp + 0x4c]
mov ecx, edx
adc ecx, ebx
mov edi, dword [esp + 0xbc]
mov ebx, dword [esp + 0x18]
mov edx, ebx
add edx, dword [esp + 0x2c]
mov ebp, dword [esp + 0xb8]
adc esi, dword [esp + 0x118]
add edi, dword [esp + 0x170]
mov dword [esp + 0x3c], edi
adc ebp, dword [esp + 0x164]
add dword [esp + 0x3c], edx
mov dword [esp + 0x9c], edi
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x54], ebp
adc dword [esp + 0x54], esi
add edi, eax
adc dword [esp + 0x118], ecx
add edi, 0xaaaaaaaa
mov dword [esp + 0x2c], edi
adc dword [esp + 0x118], 0xaaaaaaaa
add ebx, eax
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x4c]
adc ebx, ecx
mov edi, dword [esp + 0x18]
and dword [esp + 0x4c], 0
mov dword [esp + 0x10], ebx
shr dword [esp + 0x10], 0x1b
shld ebx, edi, 5
or dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x164]
shl edi, 5
or dword [esp + 0x10], edi
mov edi, dword [esp + 0x170]
add edi, eax
adc ebx, ecx
xor ecx, ecx
mov eax, ebx
shld ebx, edi, 0x13
shr eax, 0xd
shl edi, 0x13
or ecx, ebx
mov ebx, dword [esp + 0xe8]
or eax, edi
mov edi, dword [esp + 0x14c]
add edi, dword [esp + 0x3c]
mov dword [esp + 0x30], eax
adc ebx, dword [esp + 0x54]
mov eax, ebx
mov dword [esp + 0x34], ecx
shld ebx, edi, 0x1d
shr eax, 3
xor ecx, ecx
shl edi, 0x1d
or ecx, ebx
mov ebx, dword [esp + 0xb4]
or eax, edi
mov edi, dword [esp + 0xb0]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x3c]
add edi, eax
mov dword [esp + 0x28], ecx
adc ebx, dword [esp + 0x54]
and dword [esp + 0x18], 0
mov dword [esp + 0x1c], ebx
shr dword [esp + 0x1c], 1
shld ebx, edi, 0x1f
or dword [esp + 0x18], ebx
shl edi, 0x1f
or dword [esp + 0x1c], edi
mov edi, dword [esp + 0xbc]
add edi, edx
mov edx, dword [esp + 0xb8]
adc edx, esi
add edi, dword [esp + 0x68]
mov ebx, edi
adc edx, dword [esp + 0x84]
xor esi, esi
shl ebx, 9
shrd edi, edx, 0x17
shr edx, 0x17
or esi, edi
or ebx, edx
mov edx, dword [esp + 0x174]
add edx, dword [esp + 0x9c]
adc dword [esp + 0x38], ebp
add edx, dword [esp + 0xd8]
mov ebp, dword [esp + 0x38]
mov edi, edx
adc ebp, dword [esp + 0xcc]
mov dword [esp + 0x174], edx
xor edx, edx
shrd dword [esp + 0x174], ebp, 7
or edx, dword [esp + 0x174]
shr ebp, 7
shl edi, 0x19
or edi, ebp
add dword [esp + 0x120], eax
mov ebp, dword [esp + 0x5c]
adc ebp, dword [esp + 0x54]
xor eax, eax
mov ecx, dword [esp + 0x120]
shrd dword [esp + 0x120], ebp, 3
or eax, dword [esp + 0x120]
shr ebp, 3
shl ecx, 0x1d
or ecx, ebp
mov dword [esp + 0x38], edi
mov ebp, dword [esp + 0x1c]
xor ebp, dword [esp + 0x2c]
mov dword [esp + 0xbc], ebp
mov ebp, dword [esp + 0x18]
xor ebp, dword [esp + 0x118]
mov dword [esp + 0xb4], ebp
mov ebp, eax
xor ebp, dword [esp + 0x10]
mov dword [esp + 0xb0], ebp
mov ebp, ecx
xor ebp, dword [esp + 0x4c]
xor dword [esp + 0x38], ebx
mov dword [esp + 0xe8], ebp
mov ebp, dword [esp + 0x14]
xor ebp, dword [esp + 0x30]
mov dword [esp + 0x20], ebp
mov ebp, dword [esp + 0x28]
xor ebp, dword [esp + 0x34]
mov dword [esp + 0x3c], ebp
mov ebp, edx
xor ebp, esi
mov dword [esp + 0xb8], ebp
mov dword [esp + 0x5c], ebp
mov ebp, dword [esp + 0x14]
xor dword [esp + 0x5c], ebp
mov ebp, dword [esp + 0x38]
xor ebp, dword [esp + 0x28]
mov dword [esp + 0x68], ebp
mov ebp, dword [esp + 0xb8]
xor ebp, dword [esp + 0x30]
mov dword [esp + 0xb8], ebp
mov ebp, dword [esp + 0x38]
xor ebp, dword [esp + 0x34]
mov dword [esp + 0x38], ebp
mov ebp, dword [esp + 0x20]
xor ebp, esi
mov esi, dword [esp + 0xbc]
mov dword [esp + 0x84], ebp
mov ebp, dword [esp + 0x3c]
xor ebp, ebx
mov ebx, esi
xor ebx, dword [esp + 0x10]
xor esi, eax
mov dword [esp + 0x9c], ebp
mov ebp, dword [esp + 0xb4]
mov dword [esp + 0x78], ebx
mov ebx, ebp
xor ebx, dword [esp + 0x4c]
xor ebp, ecx
mov dword [esp + 0x14c], ebx
mov dword [esp + 0xbc], esi
mov dword [esp + 0xb4], ebp
mov ebx, dword [esp + 0xb0]
mov eax, ebx
mov ecx, dword [esp + 0xe8]
xor eax, edx
xor ebx, dword [esp + 0x2c]
mov dword [esp + 0x164], eax
mov eax, ecx
xor eax, edi
xor ecx, dword [esp + 0x118]
mov edx, dword [esp + 0xc8]
mov esi, dword [esp + 0xd0]
mov dword [esp + 0x170], eax
mov eax, dword [esp + 0x20]
xor eax, dword [esp + 0x1c]
mov ebp, dword [esp + 0x138]
mov edi, dword [esp + 0xf4]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x3c]
xor eax, dword [esp + 0x18]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x154]
add eax, dword [esp + 0x158]
mov dword [esp + 0xe8], ecx
mov ecx, dword [esp + 0x168]
adc ecx, dword [esp + 0x140]
add edx, dword [esp + 0x158]
mov dword [esp + 0xb0], ebx
adc esi, dword [esp + 0x140]
mov ebx, dword [esp + 0xf4]
add ebx, dword [esp + 0xc8]
adc ebp, dword [esp + 0xd0]
add edi, dword [esp + 0x154]
mov dword [esp + 0xf4], edi
mov edi, dword [esp + 0x138]
adc edi, dword [esp + 0x168]
mov dword [esp + 0x14], ebp
mov ebp, dword [esp + 0x144]
add ebp, eax
mov dword [esp + 0x138], edi
mov edi, dword [esp + 0x12c]
adc edi, ecx
add ebp, 0x55555555
mov dword [esp + 0x144], ebp
adc edi, 0x55555555
add dword [esp + 0x24], edx
mov ebp, dword [esp + 0x24]
mov dword [esp + 0x12c], edi
mov edi, dword [esp + 0x44]
adc edi, esi
and dword [esp + 0x18], 0
mov dword [esp + 0x44], edi
shld dword [esp + 0x44], ebp, 3
shr edi, 0x1d
shl ebp, 3
or edi, ebp
mov ebp, dword [esp + 0xfc]
mov dword [esp + 0xa8], edi
mov edi, dword [esp + 0x44]
or dword [esp + 0x18], edi
mov edi, dword [esp + 0x104]
add edi, eax
adc ebp, ecx
xor ecx, ecx
mov eax, ebp
shld ebp, edi, 0x11
shr eax, 0xf
shl edi, 0x11
or ecx, ebp
or eax, edi
mov dword [esp + 0x48], ecx
add dword [esp + 0xe0], ebx
mov edi, dword [esp + 0x11c]
adc edi, dword [esp + 0x14]
xor ecx, ecx
mov ebp, dword [esp + 0xe0]
mov dword [esp + 0x34], eax
mov eax, edi
shld edi, ebp, 0x17
shr eax, 9
shl ebp, 0x17
or eax, ebp
mov ebp, dword [esp + 0x16c]
or ecx, edi
add ebp, edx
mov dword [esp + 0x58], ecx
mov edx, dword [esp + 0x7c]
adc edx, esi
mov dword [esp + 0x40], eax
xor ecx, ecx
mov eax, edx
shld edx, ebp, 0x1f
shr eax, 1
or ecx, edx
shl ebp, 0x1f
mov edx, dword [esp + 0x90]
or eax, ebp
mov ebp, dword [esp + 0x124]
add ebp, dword [esp + 0xf4]
mov dword [esp + 0x30], ecx
mov edi, ebp
adc edx, dword [esp + 0x138]
xor esi, esi
mov ecx, dword [esp + 0x128]
shrd ebp, edx, 0x1b
shl edi, 5
shr edx, 0x1b
or esi, ebp
or edi, edx
mov dword [esp + 0x28], eax
mov edx, dword [esp + 0x10c]
add edx, dword [esp + 0xf4]
mov ebp, edx
mov dword [esp + 0x50], edi
adc ecx, dword [esp + 0x138]
xor eax, eax
shrd edx, ecx, 0x13
shl ebp, 0xd
shr ecx, 0x13
or eax, edx
mov edx, dword [esp + 0xd4]
or ebp, ecx
mov ecx, dword [esp + 0x60]
add edx, ebx
mov dword [esp + 0xd4], edx
mov ebx, edx
adc ecx, dword [esp + 0x14]
xor edx, edx
shrd dword [esp + 0xd4], ecx, 5
xor edi, dword [esp + 0x48]
or edx, dword [esp + 0xd4]
shr ecx, 5
shl ebx, 0x1b
or ebx, ecx
mov dword [esp + 0xcc], esi
mov ecx, dword [esp + 0xa8]
xor ecx, dword [esp + 0x144]
xor esi, dword [esp + 0x34]
mov dword [esp + 0xd8], ecx
mov ecx, dword [esp + 0x18]
xor ecx, dword [esp + 0x12c]
mov dword [esp + 0x108], ecx
mov ecx, dword [esp + 0x28]
xor ecx, dword [esp + 0x40]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x30]
xor ecx, dword [esp + 0x58]
mov dword [esp + 0x74], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xc8], edi
xor ecx, eax
mov edi, edx
mov dword [esp + 0x8c], esi
xor edi, eax
mov esi, ebx
mov eax, dword [esp + 0x74]
xor esi, ebp
xor eax, ebp
add ecx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x64]
adc eax, dword [esp + 0x68]
mov dword [ebp + 0x28], ecx
mov dword [ebp + 0x2c], eax
mov ecx, dword [esp + 0x8c]
mov eax, dword [esp + 0xc8]
xor ecx, edx
xor eax, ebx
mov edx, ebp
add ecx, dword [esp + 0xb8]
mov ebx, dword [esp + 0xd8]
adc eax, dword [esp + 0x38]
mov dword [edx + 0x34], eax
mov eax, esi
xor eax, dword [esp + 0x30]
mov dword [edx + 0x30], ecx
mov ecx, edi
xor ecx, dword [esp + 0x28]
add ecx, dword [esp + 0x84]
mov dword [edx + 0x38], ecx
mov ecx, ebx
adc eax, dword [esp + 0x9c]
xor ecx, dword [esp + 0xcc]
mov dword [edx + 0x3c], eax
mov edx, dword [esp + 0x108]
mov eax, edx
xor eax, dword [esp + 0x50]
add ecx, dword [esp + 0x78]
mov dword [ebp], ecx
mov ecx, ebp
adc eax, dword [esp + 0x14c]
xor esi, dword [esp + 0x48]
xor edi, dword [esp + 0x34]
add edi, dword [esp + 0xbc]
mov ebp, dword [esp + 0xc8]
adc esi, dword [esp + 0xb4]
xor edx, dword [esp + 0x58]
xor ebx, dword [esp + 0x40]
add ebx, dword [esp + 0x164]
mov dword [ecx + 4], eax
adc edx, dword [esp + 0x170]
mov eax, dword [esp + 0x74]
xor eax, dword [esp + 0x12c]
mov dword [ecx + 0xc], esi
mov esi, ecx
mov dword [ecx + 8], edi
mov ecx, dword [esp + 0x14]
xor ecx, dword [esp + 0x144]
add ecx, dword [esp + 0x20]
mov dword [esi + 0x10], ebx
adc eax, dword [esp + 0x3c]
xor ebp, dword [esp + 0x18]
mov ebx, dword [esi + 0x38]
mov dword [esi + 0x1c], eax
mov eax, dword [esp + 0x8c]
xor eax, dword [esp + 0xa8]
add eax, dword [esp + 0xb0]
mov dword [esi + 0x20], eax
adc ebp, dword [esp + 0xe8]
mov dword [esi + 0x14], edx
mov edx, dword [esi + 0x3c]
mov dword [esp + 0x24], eax
add eax, dword [esi]
mov dword [esi + 0x24], ebp
adc ebp, dword [esi + 4]
add ebx, dword [esi + 8]
mov dword [esp + 0xcc], ebx
adc edx, dword [esi + 0xc]
add ebx, eax
mov dword [esp + 0x108], edx
adc edx, ebp
mov dword [esp + 0xd8], ebp
mov dword [esp + 0x84], edx
mov ebp, ecx
mov edx, dword [esi + 0x10]
add ebp, edx
mov dword [esp + 0x9c], eax
mov eax, dword [esi + 0x1c]
mov dword [esp + 0x38], edx
mov edx, eax
mov dword [esi + 0x18], ecx
mov esi, dword [esi + 0x14]
adc edx, esi
mov dword [esp + 0x68], ebx
mov dword [esp + 0x10], esi
mov edi, dword [esp + 0x64]
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x14], edx
mov esi, dword [edi + 0x30]
mov edx, dword [edi + 0x34]
mov edi, esi
add edi, dword [ebx + 0x28]
mov dword [esp + 0x28], edi
mov edi, edx
adc edi, dword [ebx + 0x2c]
mov ebx, dword [esp + 0x84]
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x28]
add edi, ebp
mov dword [esp + 0x34], edi
mov edi, dword [esp + 0x30]
adc edi, dword [esp + 0x14]
mov dword [esp + 0x48], edi
mov edi, dword [esp + 0x68]
add dword [esp + 0x38], edi
adc dword [esp + 0x10], ebx
add dword [esp + 0x38], 0xaaaaaaaa
adc dword [esp + 0x10], 0xaaaaaaaa
add ecx, edi
adc eax, ebx
and dword [esp + 0x18], 0
mov dword [esp + 0x2c], eax
shr dword [esp + 0x2c], 0x1b
shld eax, ecx, 5
or dword [esp + 0x18], eax
shl ecx, 5
or dword [esp + 0x2c], ecx
add esi, edi
adc edx, ebx
xor ecx, ecx
mov eax, edx
shld edx, esi, 0x13
shr eax, 0xd
or ecx, edx
shl esi, 0x13
mov dword [esp + 0x8c], ecx
or eax, esi
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x74], eax
mov ebx, dword [ecx + 0x38]
add ebx, dword [esp + 0x34]
mov eax, dword [ecx + 0x3c]
adc eax, dword [esp + 0x48]
xor edx, edx
mov ecx, eax
shld eax, ebx, 0x1d
shr ecx, 3
or edx, eax
shl ebx, 0x1d
or ecx, ebx
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x64]
mov dword [esp + 0x40], ecx
mov ecx, dword [edx + 8]
add ecx, dword [esp + 0x34]
mov eax, dword [edx + 0xc]
adc eax, dword [esp + 0x48]
xor ebx, ebx
mov edx, eax
shld eax, ecx, 0x1f
shr edx, 1
shl ecx, 0x1f
or ebx, eax
or edx, ecx
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xa8], edx
mov edx, dword [esp + 0x64]
mov ecx, dword [edx + 0x28]
mov eax, dword [edx + 0x2c]
add ecx, ebp
adc eax, dword [esp + 0x14]
add ecx, dword [esp + 0x9c]
mov ebx, ecx
adc eax, dword [esp + 0xd8]
xor esi, esi
shl ebx, 9
shrd ecx, eax, 0x17
shr eax, 0x17
or esi, ecx
mov ecx, dword [edx]
or ebx, eax
add ecx, dword [esp + 0x28]
mov eax, dword [edx + 4]
adc eax, dword [esp + 0x30]
add ecx, dword [esp + 0xcc]
mov edi, ecx
adc eax, dword [esp + 0x108]
xor edx, edx
shrd ecx, eax, 7
shl edi, 0x19
or edx, ecx
shr eax, 7
mov ecx, dword [esp + 0x64]
or edi, eax
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x34]
mov dword [esp + 0x24], eax
mov ebp, dword [ecx + 0x24]
mov ecx, eax
adc ebp, dword [esp + 0x48]
xor eax, eax
shrd dword [esp + 0x24], ebp, 3
or eax, dword [esp + 0x24]
shr ebp, 3
shl ecx, 0x1d
or ecx, ebp
mov dword [esp + 0x1c], edi
mov ebp, dword [esp + 0xa8]
xor ebp, dword [esp + 0x38]
mov dword [esp + 0xb0], ebp
mov ebp, dword [esp + 0xc8]
xor ebp, dword [esp + 0x10]
mov dword [esp + 0xe8], ebp
mov ebp, eax
xor ebp, dword [esp + 0x2c]
mov dword [esp + 0x14c], ebp
mov ebp, ecx
xor ebp, dword [esp + 0x18]
xor dword [esp + 0x1c], ebx
mov dword [esp + 0x164], ebp
mov ebp, dword [esp + 0x40]
xor ebp, dword [esp + 0x74]
mov dword [esp + 0x20], ebp
mov ebp, dword [esp + 0x58]
xor ebp, dword [esp + 0x8c]
mov dword [esp + 0x4c], ebp
mov ebp, edx
xor ebp, esi
mov dword [esp + 0xb4], ebp
mov dword [esp + 0xbc], ebp
mov ebp, dword [esp + 0x40]
xor dword [esp + 0xbc], ebp
mov ebp, dword [esp + 0x1c]
xor ebp, dword [esp + 0x58]
mov dword [esp + 0x9c], ebp
mov ebp, dword [esp + 0xb4]
xor ebp, dword [esp + 0x74]
mov dword [esp + 0xb4], ebp
mov ebp, dword [esp + 0x1c]
xor ebp, dword [esp + 0x8c]
mov dword [esp + 0x1c], ebp
mov ebp, dword [esp + 0x20]
xor ebp, esi
mov esi, dword [esp + 0xb0]
mov dword [esp + 0xd8], ebp
mov ebp, dword [esp + 0x4c]
xor ebp, ebx
mov ebx, esi
xor ebx, dword [esp + 0x2c]
mov dword [esp + 0xcc], ebp
mov ebp, dword [esp + 0xe8]
mov dword [esp + 0x78], ebx
mov ebx, ebp
xor ebx, dword [esp + 0x18]
xor esi, eax
mov dword [esp + 0x170], ebx
mov dword [esp + 0xb0], esi
mov ebx, dword [esp + 0x14c]
xor ebp, ecx
mov ecx, dword [esp + 0x164]
mov eax, ebx
xor ebx, dword [esp + 0x38]
xor eax, edx
mov edx, dword [esp + 0x134]
mov esi, dword [esp + 0xa4]
mov dword [esp + 0x110], eax
mov eax, ecx
xor ecx, dword [esp + 0x10]
xor eax, edi
mov edi, dword [esp + 0xe4]
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x20]
xor eax, dword [esp + 0xa8]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x4c]
xor eax, dword [esp + 0xc8]
add edx, dword [esp + 0xf8]
mov dword [esp + 0x14c], ebx
adc esi, dword [esp + 0x94]
add edi, dword [esp + 0xc4]
mov ebx, dword [esp + 0x13c]
adc ebx, dword [esp + 0x100]
mov dword [esp + 0xe8], ebp
mov ebp, edi
add ebp, edx
mov dword [esp + 0x4c], eax
mov eax, ebx
mov dword [esp + 0x164], ecx
adc eax, esi
mov ecx, dword [esp + 0xec]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0xc0]
add eax, dword [esp + 0x98]
mov dword [esp + 0x5c], eax
adc ecx, dword [esp + 0xf0]
add dword [esp + 0x5c], edx
mov edx, ecx
mov dword [esp + 0x68], ebp
mov ebp, dword [esp + 0xa0]
adc edx, esi
mov esi, dword [esp + 0x88]
add esi, dword [esp + 0xac]
mov dword [esp + 0xb8], esi
mov dword [esp + 0x24], ebp
mov ebp, dword [esp + 0x148]
adc dword [esp + 0x24], ebp
add dword [esp + 0xb8], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x18], eax
adc dword [esp + 0x18], ecx
add esi, edi
mov ecx, dword [esp + 0x88]
adc eax, ebx
mov dword [esp + 0x14], esi
add ecx, dword [esp + 0x68]
mov ebx, dword [esp + 0xa0]
adc ebx, dword [esp + 0x84]
add ecx, 0x55555555
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0x5c]
adc ebx, 0x55555555
add dword [esp + 0xac], ecx
mov esi, dword [esp + 0xac]
mov dword [esp + 0xa0], ebx
mov ebx, ebp
adc ebx, edx
mov dword [esp + 0x24], eax
mov dword [esp + 0x148], ebx
xor edi, edi
shld dword [esp + 0x148], esi, 3
or edi, dword [esp + 0x148]
shl esi, 3
shr ebx, 0x1d
or ebx, esi
mov dword [esp + 0x5c], edi
mov esi, dword [esp + 0x98]
add esi, dword [esp + 0x68]
mov dword [esp + 0xa8], ebx
mov ebp, dword [esp + 0xf0]
adc ebp, dword [esp + 0x84]
xor ebx, ebx
mov edi, dword [esp + 0xe4]
mov eax, ebp
shld ebp, esi, 0x11
shr eax, 0xf
or ebx, ebp
shl esi, 0x11
or eax, esi
mov dword [esp + 0x48], ebx
add edi, dword [esp + 0xb8]
mov esi, dword [esp + 0x13c]
adc esi, dword [esp + 0x18]
xor ebp, ebp
mov dword [esp + 0x34], eax
mov eax, esi
shld esi, edi, 0x17
shr eax, 9
or ebp, esi
shl edi, 0x17
mov esi, dword [esp + 0xc4]
or eax, edi
add esi, ecx
mov dword [esp + 0x58], ebp
mov ebp, dword [esp + 0x100]
adc ebp, edx
mov dword [esp + 0x40], eax
mov edx, dword [esp + 0xc0]
xor ecx, ecx
mov eax, ebp
shld ebp, esi, 0x1f
shr eax, 1
or ecx, ebp
shl esi, 0x1f
mov dword [esp + 0x30], ecx
or eax, esi
add edx, dword [esp + 0x14]
mov ecx, dword [esp + 0xec]
mov edi, edx
adc ecx, dword [esp + 0x24]
xor esi, esi
shrd edx, ecx, 0x1b
shl edi, 5
shr ecx, 0x1b
or esi, edx
mov edx, dword [esp + 0x134]
or edi, ecx
add edx, dword [esp + 0x14]
mov ecx, dword [esp + 0xa4]
mov ebp, edx
adc ecx, dword [esp + 0x24]
shrd edx, ecx, 0x13
mov dword [esp + 0x28], eax
xor eax, eax
shr ecx, 0x13
or eax, edx
mov edx, dword [esp + 0xf8]
shl ebp, 0xd
or ebp, ecx
mov dword [esp + 0x84], esi
add edx, dword [esp + 0xb8]
mov ecx, dword [esp + 0x94]
mov ebx, edx
adc ecx, dword [esp + 0x18]
mov dword [esp + 0xf8], edx
xor edx, edx
shrd dword [esp + 0xf8], ecx, 5
or edx, dword [esp + 0xf8]
shr ecx, 5
shl ebx, 0x1b
or ebx, ecx
mov dword [esp + 0x50], edi
mov ecx, dword [esp + 0xa8]
xor ecx, dword [esp + 0x88]
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x5c]
xor ecx, dword [esp + 0xa0]
xor esi, dword [esp + 0x34]
mov dword [esp + 0x108], ecx
mov dword [esp + 0x8c], esi
xor edi, dword [esp + 0x48]
mov esi, ebx
mov ecx, dword [esp + 0x28]
xor esi, ebp
xor ecx, dword [esp + 0x40]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x30]
xor ecx, dword [esp + 0x58]
mov dword [esp + 0x74], ecx
mov ecx, dword [esp + 0x14]
xor ecx, eax
mov dword [esp + 0xc8], edi
mov edi, edx
xor edi, eax
mov eax, dword [esp + 0x74]
xor eax, ebp
add ecx, dword [esp + 0xbc]
mov ebp, dword [esp + 0x64]
adc eax, dword [esp + 0x9c]
mov dword [ebp + 0x6c], eax
mov eax, dword [esp + 0xc8]
xor eax, ebx
mov dword [ebp + 0x68], ecx
mov ecx, dword [esp + 0x8c]
xor ecx, edx
mov ebx, dword [esp + 0x68]
add ecx, dword [esp + 0xb4]
mov edx, ebp
adc eax, dword [esp + 0x1c]
mov dword [edx + 0x74], eax
mov eax, esi
xor eax, dword [esp + 0x30]
mov dword [edx + 0x70], ecx
mov ecx, edi
xor ecx, dword [esp + 0x28]
add ecx, dword [esp + 0xd8]
mov dword [edx + 0x78], ecx
mov ecx, ebx
adc eax, dword [esp + 0xcc]
xor ecx, dword [esp + 0x84]
mov dword [edx + 0x7c], eax
mov edx, dword [esp + 0x108]
mov eax, edx
xor eax, dword [esp + 0x50]
add ecx, dword [esp + 0x78]
mov dword [ebp + 0x40], ecx
mov ecx, ebp
adc eax, dword [esp + 0x170]
xor edi, dword [esp + 0x34]
xor esi, dword [esp + 0x48]
add edi, dword [esp + 0xb0]
mov ebp, dword [esp + 0xc8]
adc esi, dword [esp + 0xe8]
xor ebx, dword [esp + 0x40]
xor edx, dword [esp + 0x58]
add ebx, dword [esp + 0x110]
mov dword [ecx + 0x44], eax
adc edx, dword [esp + 0xdc]
mov eax, dword [esp + 0x74]
xor eax, dword [esp + 0xa0]
mov dword [ecx + 0x48], edi
mov edi, ecx
mov ecx, dword [esp + 0x14]
xor ecx, dword [esp + 0x88]
add ecx, dword [esp + 0x20]
mov dword [edi + 0x4c], esi
adc eax, dword [esp + 0x4c]
xor ebp, dword [esp + 0x5c]
mov dword [edi + 0x5c], eax
mov eax, dword [esp + 0x8c]
xor eax, dword [esp + 0xa8]
add eax, dword [esp + 0x14c]
mov dword [edi + 0x50], ebx
adc ebp, dword [esp + 0x164]
mov dword [edi + 0x54], edx
mov dword [edi + 0x58], ecx
jmp 0x414e43
mov edi, dword [esp + 0x150]
sub edi, 0xffffff80
mov dword [esp + 0x150], edi
mov eax, dword [edi + 8]
mov ecx, dword [edi - 0x18]
add ecx, eax
mov edx, dword [edi + 0xc]
mov ebx, dword [edi]
mov ebp, dword [edi + 4]
mov esi, dword [edi - 0x2c]
mov dword [esp + 0x10], eax
mov eax, dword [edi - 0x14]
adc eax, edx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x1c], edx
mov edx, dword [edi - 0x30]
mov edi, dword [edi - 0x10]
mov dword [esp + 0x88], edx
add edx, ebx
mov dword [esp + 0x84], eax
mov dword [esp + 0xc0], esi
adc esi, ebp
mov dword [esp + 0xd8], edx
add edx, ecx
mov ecx, dword [esp + 0x150]
mov dword [esp + 0xcc], esi
adc esi, eax
mov dword [esp + 0x24], ebx
mov dword [esp + 0x44], ebp
add edi, dword [ecx - 8]
mov eax, dword [ecx - 0x28]
mov ebp, eax
mov ebx, dword [ecx - 0xc]
adc ebx, dword [ecx - 4]
add ebp, dword [ecx - 0x20]
mov dword [esp + 0x98], eax
mov eax, dword [ecx - 0x24]
adc eax, dword [ecx - 0x1c]
mov ecx, ebp
add ecx, edi
mov dword [esp + 0x9c], eax
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x150]
adc eax, ebx
mov dword [esp + 0x5c], eax
mov eax, dword [ecx - 8]
mov ecx, dword [ecx - 4]
add eax, edx
adc ecx, esi
add eax, 0xaaaaaaaa
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x150]
adc ecx, 0xaaaaaaaa
mov dword [esp + 0x58], ecx
mov ecx, dword [eax - 0x10]
mov eax, dword [eax - 0xc]
add ecx, edx
adc eax, esi
and dword [esp + 0x18], 0
mov dword [esp + 0x2c], eax
shr dword [esp + 0x2c], 0x1b
shld eax, ecx, 5
or dword [esp + 0x18], eax
mov eax, dword [esp + 0x150]
shl ecx, 5
or dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x98]
mov eax, dword [eax - 0x24]
add ecx, edx
adc eax, esi
xor esi, esi
mov edx, eax
shld eax, ecx, 0x13
shr edx, 0xd
shl ecx, 0x13
or esi, eax
or edx, ecx
mov dword [esp + 0x34], esi
mov ecx, dword [esp + 0x88]
add ecx, dword [esp + 0x14]
mov dword [esp + 0x30], edx
mov eax, dword [esp + 0xc0]
adc eax, dword [esp + 0x5c]
xor esi, esi
mov edx, eax
shld eax, ecx, 0x1d
shr edx, 3
or esi, eax
shl ecx, 0x1d
mov eax, dword [esp + 0x44]
or edx, ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x28], esi
mov esi, dword [esp + 0x14]
add ecx, esi
mov dword [esp + 0x108], edx
adc eax, dword [esp + 0x5c]
and dword [esp + 0x4c], 0
mov edx, eax
shld eax, ecx, 0x1f
shr edx, 1
or dword [esp + 0x4c], eax
mov eax, dword [esp + 0x150]
shl ecx, 0x1f
or edx, ecx
mov dword [esp + 0x48], edx
mov ecx, dword [eax - 0x20]
mov eax, dword [eax - 0x1c]
add ecx, edi
adc eax, ebx
add ecx, dword [esp + 0x68]
mov edx, ecx
adc eax, dword [esp + 0x84]
xor ebx, ebx
shrd ecx, eax, 0x17
shl edx, 9
shr eax, 0x17
or ebx, ecx
mov ecx, dword [esp + 0x10]
or edx, eax
mov eax, dword [esp + 0x1c]
add ecx, ebp
mov dword [esp + 0x14], edx
adc eax, dword [esp + 0x9c]
add ecx, dword [esp + 0xd8]
mov ebp, ecx
adc eax, dword [esp + 0xcc]
xor edi, edi
shrd ecx, eax, 7
shl ebp, 0x19
shr eax, 7
or edi, ecx
or ebp, eax
mov eax, dword [esp + 0x150]
mov ecx, dword [eax - 0x18]
mov eax, dword [eax - 0x14]
add ecx, esi
mov esi, ecx
adc eax, dword [esp + 0x5c]
xor edx, edx
shrd ecx, eax, 3
shl esi, 0x1d
shr eax, 3
or edx, ecx
mov ecx, dword [esp + 0x108]
or esi, eax
mov eax, dword [esp + 0x48]
xor eax, dword [esp + 0x40]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x4c]
xor eax, dword [esp + 0x58]
mov dword [esp + 0xb4], eax
mov eax, edx
xor eax, dword [esp + 0x2c]
mov dword [esp + 0xb0], eax
mov eax, esi
xor eax, dword [esp + 0x18]
mov dword [esp + 0xe8], eax
mov eax, ecx
xor eax, dword [esp + 0x30]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x28]
xor eax, dword [esp + 0x34]
mov dword [esp + 0xac], eax
mov eax, edi
xor eax, ebx
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x14]
xor dword [esp + 0x38], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xb8], eax
xor dword [esp + 0xb8], ecx
mov ecx, dword [esp + 0x38]
xor ecx, dword [esp + 0x28]
mov dword [esp + 0x108], ecx
mov ecx, eax
xor ecx, dword [esp + 0x30]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x38]
xor ecx, dword [esp + 0x34]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x54]
xor ecx, ebx
mov ebx, dword [esp + 0xbc]
mov dword [esp + 0x50], ecx
mov eax, ebx
xor eax, dword [esp + 0x2c]
xor ebx, edx
mov ecx, dword [esp + 0xac]
xor ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xb0]
mov dword [esp + 0xc8], eax
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0xb4]
mov eax, ecx
xor eax, dword [esp + 0x18]
xor ecx, esi
mov dword [esp + 0x100], eax
mov eax, edx
xor edx, dword [esp + 0x40]
xor eax, edi
mov dword [esp + 0x164], eax
mov dword [esp + 0xb4], ecx
mov ecx, dword [esp + 0xe8]
mov eax, ecx
xor ecx, dword [esp + 0x58]
xor eax, ebp
mov dword [esp + 0x170], eax
mov eax, dword [esp + 0x54]
xor eax, dword [esp + 0x48]
mov dword [esp + 0xbc], ebx
mov ebx, dword [esp + 0x150]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0xac]
xor eax, dword [esp + 0x4c]
mov esi, dword [ebx - 0x6c]
mov edi, dword [ebx - 0x60]
mov dword [esp + 0xb0], edx
mov edx, dword [ebx - 0x70]
add edx, dword [ebx - 0x68]
mov dword [esp + 0xac], eax
mov eax, dword [ebx - 0x64]
adc esi, eax
mov dword [esp + 0x94], eax
mov eax, dword [ebx - 0x48]
add edi, eax
mov dword [esp + 0xe8], ecx
mov ebp, edi
mov ecx, dword [ebx - 0x44]
mov ebx, dword [ebx - 0x5c]
adc ebx, ecx
mov dword [esp + 0xf8], eax
add ebp, edx
mov dword [esp + 0x104], ecx
mov dword [esp + 0x68], ebp
mov eax, ebx
mov ebp, dword [esp + 0x150]
adc eax, esi
mov dword [esp + 0x84], eax
mov ecx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x58]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x174], eax
add eax, ecx
mov ecx, dword [ebp - 0x54]
adc ecx, dword [ebp - 0x4c]
mov dword [esp + 0x5c], eax
add dword [esp + 0x5c], edx
mov edx, ecx
adc edx, esi
mov esi, dword [esp + 0x150]
mov dword [esp + 0x9c], edx
mov edx, dword [ebp - 0x38]
mov ebp, dword [ebp - 0x34]
mov dword [esp + 0xa4], edx
add edx, dword [esi - 0x40]
mov esi, ebp
mov dword [esp + 0x6c], ebp
mov ebp, dword [esp + 0x150]
mov dword [esp + 0x18], edx
adc esi, dword [ebp - 0x3c]
add dword [esp + 0x18], eax
mov eax, esi
adc eax, ecx
mov ecx, dword [esp + 0x6c]
add edx, edi
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xa4]
adc esi, ebx
mov dword [esp + 0xd8], edx
add eax, dword [esp + 0x68]
mov dword [esp + 0xcc], esi
adc ecx, dword [esp + 0x84]
add eax, 0x55555555
mov dword [esp + 0x74], eax
mov eax, ebp
adc ecx, 0x55555555
mov dword [esp + 0x8c], ecx
mov ecx, dword [eax - 0x40]
add ecx, dword [esp + 0x5c]
mov eax, dword [eax - 0x3c]
adc eax, dword [esp + 0x9c]
and dword [esp + 0x4c], 0
mov edi, eax
shld eax, ecx, 3
shr edi, 0x1d
or dword [esp + 0x4c], eax
shl ecx, 3
or edi, ecx
mov ecx, dword [esp + 0x174]
add ecx, dword [esp + 0x68]
mov dword [esp + 0xa8], edi
mov edi, ebp
mov eax, dword [edi - 0x54]
adc eax, dword [esp + 0x84]
xor ebp, ebp
mov edx, eax
shld eax, ecx, 0x11
shr edx, 0xf
shl ecx, 0x11
or ebp, eax
mov eax, dword [edi - 0x5c]
or edx, ecx
mov ecx, dword [edi - 0x60]
add ecx, dword [esp + 0x18]
mov dword [esp + 0x34], edx
adc eax, dword [esp + 0x14]
mov edx, eax
mov dword [esp + 0x48], ebp
shld eax, ecx, 0x17
shr edx, 9
xor ebp, ebp
shl ecx, 0x17
or ebp, eax
mov eax, dword [esp + 0x104]
or edx, ecx
mov ecx, dword [esp + 0xf8]
add ecx, dword [esp + 0x5c]
mov dword [esp + 0x40], edx
adc eax, dword [esp + 0x9c]
mov edx, eax
mov dword [esp + 0x58], ebp
shr edx, 1
shld eax, ecx, 0x1f
xor ebx, ebx
or ebx, eax
shl ecx, 0x1f
mov eax, dword [edi - 0x4c]
or edx, ecx
mov ecx, dword [esp + 0x7c]
add ecx, dword [esp + 0xd8]
mov dword [esp + 0x68], edx
mov edx, ecx
adc eax, esi
mov dword [esp + 0x28], ebx
shrd ecx, eax, 0x1b
shl edx, 5
xor ebp, ebp
shr eax, 0x1b
or ebp, ecx
or edx, eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x30], edx
mov edx, edi
mov ecx, dword [edx - 0x68]
add ecx, dword [esp + 0xd8]
mov ebx, ecx
adc eax, esi
shl ebx, 0xd
shrd ecx, eax, 0x13
xor edi, edi
shr eax, 0x13
or edi, ecx
mov ecx, dword [edx - 0x70]
or ebx, eax
add ecx, dword [esp + 0x18]
mov eax, dword [edx - 0x6c]
mov esi, ecx
adc eax, dword [esp + 0x14]
xor edx, edx
shrd ecx, eax, 5
shl esi, 0x1b
shr eax, 5
or edx, ecx
or esi, eax
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0xa8]
xor eax, dword [esp + 0x74]
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0x4c]
xor eax, dword [esp + 0x8c]
mov dword [esp + 0x124], eax
mov eax, ebp
xor eax, dword [esp + 0x34]
mov dword [esp + 0x10c], eax
mov eax, dword [esp + 0x68]
xor eax, dword [esp + 0x40]
xor ecx, dword [esp + 0x48]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x28]
xor eax, dword [esp + 0x58]
mov dword [esp + 0xfc], eax
mov eax, edx
xor eax, edi
mov dword [esp + 0x128], ecx
mov dword [esp + 0x11c], eax
mov eax, esi
xor eax, ebx
mov dword [esp + 0x144], eax
mov eax, dword [esp + 0x70]
xor eax, edi
mov dword [esp + 0x138], eax
mov eax, dword [esp + 0xfc]
xor eax, ebx
mov ebx, dword [esp + 0x138]
add ebx, dword [esp + 0xb8]
mov dword [esp + 0x138], ebx
adc eax, dword [esp + 0x108]
mov ebx, dword [esp + 0x10c]
xor ebx, edx
mov dword [esp + 0xe4], eax
mov edx, ecx
xor edx, esi
add ebx, dword [esp + 0x3c]
adc edx, dword [esp + 0x38]
mov edi, dword [esp + 0x144]
mov ecx, edi
xor ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x11c]
xor eax, dword [esp + 0x68]
add eax, dword [esp + 0x50]
mov dword [esp + 0x120], edx
adc ecx, dword [esp + 0x78]
mov edx, dword [esp + 0xf4]
mov esi, edx
xor esi, ebp
mov dword [esp + 0x158], ecx
mov ecx, dword [esp + 0x124]
mov ebp, dword [esp + 0xfc]
mov dword [esp + 0x20], ebx
mov ebx, ecx
xor ebx, dword [esp + 0x30]
add esi, dword [esp + 0xc8]
mov dword [esp + 0xd4], eax
adc ebx, dword [esp + 0x100]
xor edi, dword [esp + 0x48]
mov eax, dword [esp + 0x11c]
xor eax, dword [esp + 0x34]
add eax, dword [esp + 0xbc]
mov dword [esp + 0x11c], eax
adc edi, dword [esp + 0xb4]
xor ecx, dword [esp + 0x58]
xor edx, dword [esp + 0x40]
add edx, dword [esp + 0x164]
mov eax, dword [esp + 0x128]
adc ecx, dword [esp + 0x170]
xor ebp, dword [esp + 0x8c]
mov dword [esp + 0x144], edi
mov edi, dword [esp + 0x70]
xor edi, dword [esp + 0x74]
add edi, dword [esp + 0x54]
mov dword [esp + 0x124], ecx
adc ebp, dword [esp + 0xac]
xor eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x10c]
xor ecx, dword [esp + 0xa8]
add ecx, dword [esp + 0xb0]
mov dword [esp + 0x10c], ecx
adc eax, dword [esp + 0xe8]
add ecx, esi
mov dword [esp + 0xf4], edx
mov edx, dword [esp + 0x11c]
mov dword [esp + 0x128], eax
adc eax, ebx
add edx, dword [esp + 0xd4]
mov dword [esp + 0x14c], ebx
mov ebx, dword [esp + 0x144]
adc ebx, dword [esp + 0x158]
mov dword [esp + 0x118], esi
mov esi, ebx
mov dword [esp + 0xd8], edx
add edx, ecx
mov dword [esp + 0x70], edi
adc esi, eax
mov dword [esp + 0xcc], ebx
add edi, dword [esp + 0xf4]
mov ebx, ebp
mov dword [esp + 0xfc], ebp
adc ebx, dword [esp + 0x124]
mov ebp, dword [esp + 0x20]
add ebp, dword [esp + 0x138]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x120]
adc eax, dword [esp + 0xe4]
mov dword [esp + 0x68], ecx
mov ecx, ebp
add ecx, edi
mov dword [esp + 0x9c], eax
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x124]
adc eax, ebx
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0xf4]
add eax, edx
adc ecx, esi
add eax, 0xaaaaaaaa
mov dword [esp + 0x40], eax
adc ecx, 0xaaaaaaaa
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x70]
add ecx, edx
adc eax, esi
and dword [esp + 0x18], 0
mov dword [esp + 0x2c], eax
shr dword [esp + 0x2c], 0x1b
shld eax, ecx, 5
or dword [esp + 0x18], eax
mov eax, dword [esp + 0x120]
shl ecx, 5
or dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x20]
add ecx, edx
adc eax, esi
xor esi, esi
mov edx, eax
shld eax, ecx, 0x13
shr edx, 0xd
or esi, eax
shl ecx, 0x13
mov eax, dword [esp + 0x158]
or edx, ecx
mov ecx, dword [esp + 0xd4]
add ecx, dword [esp + 0x14]
mov dword [esp + 0x30], edx
adc eax, dword [esp + 0x5c]
mov edx, eax
mov dword [esp + 0x34], esi
shld eax, ecx, 0x1d
shr edx, 3
xor esi, esi
or esi, eax
shl ecx, 0x1d
mov eax, dword [esp + 0x144]
or edx, ecx
mov ecx, dword [esp + 0x11c]
mov dword [esp + 0x28], esi
mov esi, dword [esp + 0x14]
add ecx, esi
mov dword [esp + 0x108], edx
adc eax, dword [esp + 0x5c]
and dword [esp + 0x4c], 0
mov edx, eax
shld eax, ecx, 0x1f
shr edx, 1
or dword [esp + 0x4c], eax
mov eax, dword [esp + 0xe4]
shl ecx, 0x1f
or edx, ecx
mov ecx, dword [esp + 0x138]
add ecx, edi
mov dword [esp + 0x48], edx
adc eax, ebx
add ecx, dword [esp + 0x68]
mov edx, ecx
adc eax, dword [esp + 0x84]
xor ebx, ebx
shrd ecx, eax, 0x17
shl edx, 9
shr eax, 0x17
or ebx, ecx
mov ecx, dword [esp + 0x118]
or edx, eax
mov eax, dword [esp + 0x14c]
add ecx, ebp
mov dword [esp + 0x14], edx
adc eax, dword [esp + 0x9c]
add ecx, dword [esp + 0xd8]
mov ebp, ecx
adc eax, dword [esp + 0xcc]
xor edi, edi
shrd ecx, eax, 7
shl ebp, 0x19
shr eax, 7
or edi, ecx
or ebp, eax
mov ecx, dword [esp + 0x10c]
mov eax, dword [esp + 0x128]
add ecx, esi
mov esi, ecx
mov dword [esp + 0x38], ebp
adc eax, dword [esp + 0x5c]
xor edx, edx
shrd ecx, eax, 3
shl esi, 0x1d
shr eax, 3
or edx, ecx
or esi, eax
mov ecx, dword [esp + 0x108]
mov eax, dword [esp + 0x48]
xor eax, dword [esp + 0x40]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x4c]
xor eax, dword [esp + 0x58]
mov dword [esp + 0xbc], eax
mov eax, edx
xor eax, dword [esp + 0x2c]
mov dword [esp + 0xb4], eax
mov eax, esi
xor eax, dword [esp + 0x18]
mov dword [esp + 0xb0], eax
mov eax, ecx
xor eax, dword [esp + 0x30]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x28]
xor eax, dword [esp + 0x34]
mov dword [esp + 0xf0], eax
mov eax, edi
xor eax, ebx
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x14]
xor dword [esp + 0x38], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x5c], eax
xor dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x38]
xor ecx, dword [esp + 0x28]
mov dword [esp + 0x9c], ecx
mov ecx, eax
xor ecx, dword [esp + 0x30]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x38]
xor ecx, dword [esp + 0x34]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0xac]
xor ecx, ebx
mov ebx, dword [esp + 0xb8]
mov dword [esp + 0xd8], ecx
mov eax, ebx
xor eax, dword [esp + 0x2c]
xor ebx, edx
mov ecx, dword [esp + 0xf0]
xor ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xb4]
mov dword [esp + 0x108], eax
mov dword [esp + 0xcc], ecx
mov ecx, dword [esp + 0xbc]
mov eax, ecx
xor eax, dword [esp + 0x18]
xor ecx, esi
mov dword [esp + 0x50], eax
mov eax, edx
xor eax, edi
mov dword [esp + 0xbc], ecx
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0x8c], eax
mov eax, ecx
xor eax, ebp
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0xac]
xor eax, dword [esp + 0x48]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0xf0]
xor eax, dword [esp + 0x4c]
xor edx, dword [esp + 0x40]
mov dword [esp + 0xf0], eax
xor ecx, dword [esp + 0x58]
mov esi, dword [esp + 0xc0]
mov dword [esp + 0xb0], ecx
mov ecx, dword [esp + 0x150]
mov dword [esp + 0xb4], edx
mov edx, dword [esp + 0x88]
add edx, dword [esp + 0x98]
mov edi, dword [ecx - 8]
adc esi, dword [ecx - 0x24]
add edi, dword [ecx - 0x20]
mov ebx, dword [ecx - 4]
mov ebp, edi
adc ebx, dword [ecx - 0x1c]
add ebp, edx
mov eax, ebx
mov dword [esp + 0x68], ebp
adc eax, esi
mov ebp, dword [esp + 0x150]
mov dword [esp + 0x84], eax
mov eax, dword [ecx - 0x10]
add eax, dword [ecx - 0x18]
mov ecx, dword [ecx - 0xc]
adc ecx, dword [ebp - 0x14]
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x18], eax
add dword [esp + 0x18], edx
mov edx, ecx
mov dword [esp + 0x90], ebp
mov ebp, dword [esp + 0x44]
adc edx, esi
mov esi, dword [esp + 0x10]
add esi, dword [esp + 0x24]
mov dword [esp + 0x4c], esi
adc dword [esp + 0x90], ebp
add dword [esp + 0x4c], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x3c], eax
adc dword [esp + 0x3c], ecx
add esi, edi
mov ecx, dword [esp + 0x10]
adc eax, ebx
add ecx, dword [esp + 0x68]
mov ebx, dword [esp + 0x1c]
adc ebx, dword [esp + 0x84]
add ecx, 0x55555555
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x18]
adc ebx, 0x55555555
add dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x1c], ebx
mov ebx, ebp
adc ebx, edx
mov dword [esp + 0x90], eax
mov dword [esp + 0x44], ebx
xor edi, edi
shld dword [esp + 0x44], ecx, 3
or edi, dword [esp + 0x44]
shl ecx, 3
shr ebx, 0x1d
or ebx, ecx
mov dword [esp + 0x74], edi
mov dword [esp + 0x58], ebx
mov ebx, dword [esp + 0x150]
mov edi, dword [ebx - 0x18]
add edi, dword [esp + 0x68]
mov ecx, dword [ebx - 0x14]
adc ecx, dword [esp + 0x84]
xor ebx, ebx
mov eax, ecx
shld ecx, edi, 0x11
shr eax, 0xf
shl edi, 0x11
or ebx, ecx
or eax, edi
mov dword [esp + 0x34], ebx
mov edi, dword [esp + 0x150]
mov dword [esp + 0x30], eax
mov ecx, dword [edi - 0x20]
add ecx, dword [esp + 0x4c]
mov ebp, dword [edi - 0x1c]
adc ebp, dword [esp + 0x3c]
xor ebx, ebx
mov eax, ebp
shld ebp, ecx, 0x17
shr eax, 9
shl ecx, 0x17
or ebx, ebp
or eax, ecx
mov dword [esp + 0x40], ebx
mov ebx, dword [edi - 8]
mov ecx, dword [edi - 4]
add ebx, dword [esp + 0x18]
mov dword [esp + 0x48], eax
adc ecx, edx
mov edx, dword [edi - 0x10]
mov ebp, ecx
xor eax, eax
shld ecx, ebx, 0x1f
shr ebp, 1
or eax, ecx
shl ebx, 0x1f
mov ecx, dword [edi - 0xc]
or ebp, ebx
add edx, esi
mov dword [esp + 0x14], eax
mov ebx, edx
adc ecx, dword [esp + 0x90]
xor edi, edi
shrd edx, ecx, 0x1b
shl ebx, 5
or edi, edx
shr ecx, 0x1b
mov edx, dword [esp + 0x150]
or ebx, ecx
add dword [esp + 0x98], esi
mov eax, dword [esp + 0x98]
mov esi, eax
mov dword [esp + 0x28], edi
mov ecx, dword [edx - 0x24]
adc ecx, dword [esp + 0x90]
xor edx, edx
shrd eax, ecx, 0x13
shl esi, 0xd
shr ecx, 0x13
or edx, eax
mov eax, dword [esp + 0xc0]
or esi, ecx
mov ecx, dword [esp + 0x88]
add ecx, dword [esp + 0x4c]
mov dword [esp + 0x88], ecx
adc eax, dword [esp + 0x3c]
mov dword [esp + 0xc0], eax
xor eax, eax
mov edi, dword [esp + 0xc0]
shrd dword [esp + 0x88], edi, 5
or eax, dword [esp + 0x88]
shr edi, 5
shl ecx, 0x1b
or ecx, edi
mov edi, dword [esp + 0x58]
xor edi, dword [esp + 0x10]
mov dword [esp + 0xc4], edi
mov edi, dword [esp + 0x74]
xor edi, dword [esp + 0x1c]
mov dword [esp + 0xd0], edi
mov edi, dword [esp + 0x28]
mov dword [esp + 0x44], edi
xor edi, dword [esp + 0x30]
mov dword [esp + 0x44], edi
mov edi, ebx
xor edi, dword [esp + 0x34]
mov dword [esp + 0x60], edi
mov edi, ebp
xor edi, dword [esp + 0x48]
mov dword [esp + 0x90], edi
mov edi, dword [esp + 0x14]
xor edi, dword [esp + 0x40]
mov dword [esp + 0x98], edi
mov edi, eax
xor edi, edx
mov dword [esp + 0xc0], edi
mov edi, ecx
xor edi, esi
mov dword [esp + 0xec], edi
mov edi, dword [esp + 0x90]
xor edi, edx
mov edx, dword [esp + 0x98]
xor edx, esi
add edi, dword [esp + 0x5c]
mov esi, dword [esp + 0x60]
adc edx, dword [esp + 0x9c]
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0x44]
xor edx, eax
mov dword [esp + 0x100], edi
mov eax, esi
mov edi, dword [esp + 0x64]
xor eax, ecx
add edx, dword [esp + 0x54]
mov ecx, dword [esp + 0xec]
adc eax, dword [esp + 0x38]
xor ecx, dword [esp + 0x14]
mov dword [esp + 0x12c], eax
mov eax, dword [esp + 0xc0]
xor eax, ebp
mov dword [esp + 0x13c], edx
add eax, dword [esp + 0xd8]
mov dword [esp + 0x134], eax
adc ecx, dword [esp + 0xcc]
mov eax, dword [esp + 0xd0]
mov edx, eax
xor edx, ebx
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0xc4]
mov ebp, ecx
xor ebp, dword [esp + 0x28]
add ebp, dword [esp + 0x108]
mov ebx, dword [esp + 0xc0]
adc edx, dword [esp + 0x50]
xor ebx, dword [esp + 0x30]
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0xec]
xor edx, dword [esp + 0x34]
add ebx, dword [esp + 0xb8]
mov dword [esp + 0x148], ebp
adc edx, dword [esp + 0xbc]
xor eax, dword [esp + 0x40]
xor ecx, dword [esp + 0x48]
add ecx, dword [esp + 0x8c]
mov ebp, dword [edi + 0x48]
adc eax, dword [esp + 0xa8]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x98]
xor eax, dword [esp + 0x1c]
mov dword [esp + 0xc4], ecx
mov ecx, dword [esp + 0x90]
xor ecx, dword [esp + 0x10]
add ecx, dword [esp + 0xac]
mov dword [esp + 0x90], ecx
adc eax, dword [esp + 0xf0]
xor esi, dword [esp + 0x74]
mov ecx, dword [edi + 0x40]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x44]
xor eax, dword [esp + 0x58]
add eax, dword [esp + 0xb4]
mov dword [esp + 0x44], eax
adc esi, dword [esp + 0xb0]
mov eax, dword [edi + 0x60]
add ecx, eax
mov dword [esp + 0x24], eax
mov eax, dword [edi + 0x44]
adc eax, dword [edi + 0x64]
add ebp, dword [edi + 0x78]
mov dword [esp + 0xc0], ebx
mov ebx, dword [edi + 0x7c]
mov dword [esp + 0xec], edx
mov edx, dword [edi + 0x4c]
mov dword [esp + 0x60], esi
mov dword [esp + 0x84], ecx
mov dword [esp + 0x9c], eax
mov dword [esp + 0xd8], ebp
adc edx, ebx
mov esi, ebp
mov ebp, dword [edi + 0x50]
add esi, ecx
mov ecx, dword [edi + 0x58]
mov dword [esp + 0xcc], edx
adc edx, eax
mov eax, dword [edi + 0x5c]
mov edi, dword [edi + 0x54]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x4c], ebp
add ebp, ecx
mov dword [esp + 0x14], ebp
adc edi, eax
mov ebp, dword [esp + 0x64]
mov dword [esp + 0x28], edi
mov edi, dword [ebp + 0x68]
add edi, dword [ebp + 0x70]
mov ebp, dword [ebp + 0x6c]
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x64]
adc ebp, dword [edi + 0x74]
mov dword [esp + 0x68], ebp
mov ebp, dword [esp + 0x30]
add ebp, dword [esp + 0x14]
mov edi, dword [esp + 0x68]
adc edi, dword [esp + 0x28]
mov dword [esp + 0x5c], edi
mov edi, dword [esp + 0x4c]
add edi, esi
adc dword [esp + 0x2c], edx
add edi, 0xaaaaaaaa
mov dword [esp + 0x4c], edi
adc dword [esp + 0x2c], 0xaaaaaaaa
add ecx, esi
adc eax, edx
and dword [esp + 0x18], 0
mov edi, eax
shld eax, ecx, 5
shr edi, 0x1b
or dword [esp + 0x18], eax
shl ecx, 5
or edi, ecx
mov dword [esp + 0x8c], edi
mov edi, dword [esp + 0x64]
add esi, dword [edi + 0x70]
adc edx, dword [edi + 0x74]
xor ecx, ecx
mov eax, edx
shld edx, esi, 0x13
shr eax, 0xd
or ecx, edx
shl esi, 0x13
mov edx, dword [edi + 0x78]
or eax, esi
add edx, ebp
mov dword [esp + 0x58], eax
mov dword [esp + 0x74], ecx
adc ebx, dword [esp + 0x5c]
xor ecx, ecx
mov eax, ebx
shld ebx, edx, 0x1d
shr eax, 3
or ecx, ebx
shl edx, 0x1d
or eax, edx
mov dword [esp + 0x40], ecx
mov ecx, dword [edi + 0x48]
add ecx, ebp
mov dword [esp + 0x48], eax
mov eax, dword [edi + 0x4c]
adc eax, dword [esp + 0x5c]
xor ebx, ebx
mov edx, eax
shld eax, ecx, 0x1f
shr edx, 1
shl ecx, 0x1f
or edx, ecx
or ebx, eax
mov dword [esp + 0xa8], edx
mov dword [esp + 0xc8], ebx
mov ecx, dword [esp + 0x14]
mov edx, edi
add ecx, dword [edi + 0x68]
mov eax, dword [esp + 0x28]
adc eax, dword [edi + 0x6c]
add ecx, dword [esp + 0x84]
mov ebx, ecx
adc eax, dword [esp + 0x9c]
xor esi, esi
shrd ecx, eax, 0x17
shl ebx, 9
shr eax, 0x17
or esi, ecx
mov ecx, dword [edx + 0x40]
or ebx, eax
add ecx, dword [esp + 0x30]
mov eax, dword [edx + 0x44]
adc eax, dword [esp + 0x68]
add ecx, dword [esp + 0xd8]
mov edi, ecx
adc eax, dword [esp + 0xcc]
xor edx, edx
shrd ecx, eax, 7
shl edi, 0x19
or edx, ecx
shr eax, 7
mov ecx, dword [esp + 0x64]
or edi, eax
mov eax, dword [esp + 0x24]
add eax, ebp
mov dword [esp + 0x38], edi
mov dword [esp + 0x24], eax
mov ebp, dword [ecx + 0x64]
mov ecx, eax
adc ebp, dword [esp + 0x5c]
xor eax, eax
shrd dword [esp + 0x24], ebp, 3
or eax, dword [esp + 0x24]
shr ebp, 3
shl ecx, 0x1d
or ecx, ebp
xor dword [esp + 0x38], ebx
mov ebp, dword [esp + 0xa8]
xor ebp, dword [esp + 0x4c]
mov dword [esp + 0xbc], ebp
mov ebp, dword [esp + 0xc8]
xor ebp, dword [esp + 0x2c]
mov dword [esp + 0xb4], ebp
mov ebp, eax
xor ebp, dword [esp + 0x8c]
mov dword [esp + 0xb0], ebp
mov ebp, ecx
xor ebp, dword [esp + 0x18]
mov dword [esp + 0xe8], ebp
mov ebp, dword [esp + 0x48]
xor ebp, dword [esp + 0x58]
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x40]
xor ebp, dword [esp + 0x74]
mov dword [esp + 0x54], ebp
mov ebp, edx
xor ebp, esi
mov dword [esp + 0xb8], ebp
mov dword [esp + 0x5c], ebp
mov ebp, dword [esp + 0x48]
xor dword [esp + 0x5c], ebp
mov ebp, dword [esp + 0x38]
xor ebp, dword [esp + 0x40]
mov dword [esp + 0x9c], ebp
mov ebp, dword [esp + 0xb8]
xor ebp, dword [esp + 0x58]
mov dword [esp + 0xb8], ebp
mov ebp, dword [esp + 0x38]
xor ebp, dword [esp + 0x74]
mov dword [esp + 0x38], ebp
mov ebp, dword [esp + 0x10]
xor ebp, esi
mov dword [esp + 0xd8], ebp
mov ebp, dword [esp + 0x54]
xor ebp, ebx
mov dword [esp + 0xcc], ebp
mov esi, dword [esp + 0xbc]
mov ebx, esi
xor ebx, dword [esp + 0x8c]
xor esi, eax
mov ebp, dword [esp + 0xb4]
mov dword [esp + 0x108], ebx
mov ebx, ebp
xor ebx, dword [esp + 0x18]
xor ebp, ecx
mov ecx, dword [esp + 0xe8]
mov dword [esp + 0x8c], ebx
mov ebx, dword [esp + 0xb0]
mov eax, ebx
xor ebx, dword [esp + 0x4c]
xor eax, edx
mov edx, dword [esp + 0x11c]
mov dword [esp + 0xdc], eax
mov eax, ecx
xor ecx, dword [esp + 0x2c]
xor eax, edi
mov edi, dword [esp + 0xf4]
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x10]
xor eax, dword [esp + 0xa8]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x54]
xor eax, dword [esp + 0xc8]
add edx, dword [esp + 0x118]
mov dword [esp + 0xbc], esi
mov esi, dword [esp + 0x144]
adc esi, dword [esp + 0x14c]
add edi, dword [esp + 0x138]
mov dword [esp + 0xb0], ebx
mov ebx, dword [esp + 0x124]
adc ebx, dword [esp + 0xe4]
mov dword [esp + 0xb4], ebp
mov ebp, edi
add ebp, edx
mov dword [esp + 0x54], eax
mov eax, ebx
mov dword [esp + 0xe8], ecx
mov ecx, dword [esp + 0x128]
adc eax, esi
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x10c]
add eax, dword [esp + 0x70]
mov dword [esp + 0x18], eax
adc ecx, dword [esp + 0xfc]
add dword [esp + 0x18], edx
mov edx, ecx
mov dword [esp + 0x68], ebp
mov ebp, dword [esp + 0x158]
adc edx, esi
mov esi, dword [esp + 0xd4]
add esi, dword [esp + 0x20]
mov dword [esp + 0x24], ebp
mov ebp, dword [esp + 0x120]
adc dword [esp + 0x24], ebp
mov dword [esp + 0x4c], esi
add dword [esp + 0x4c], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x3c], eax
adc dword [esp + 0x3c], ecx
add esi, edi
mov ecx, dword [esp + 0xd4]
adc eax, ebx
add ecx, dword [esp + 0x68]
mov ebx, dword [esp + 0x158]
adc ebx, dword [esp + 0x84]
add ecx, 0x55555555
mov dword [esp + 0xd4], ecx
mov ecx, dword [esp + 0x18]
adc ebx, 0x55555555
add dword [esp + 0x20], ecx
mov dword [esp + 0x158], ebx
mov ebx, ebp
adc ebx, edx
mov dword [esp + 0x24], eax
mov dword [esp + 0x120], ebx
shr ebx, 0x1d
xor edi, edi
mov ecx, dword [esp + 0x20]
shld dword [esp + 0x120], ecx, 3
or edi, dword [esp + 0x120]
shl ecx, 3
or ebx, ecx
mov ebp, dword [esp + 0xf4]
mov ecx, dword [esp + 0xfc]
mov dword [esp + 0x74], edi
mov edi, dword [esp + 0x70]
add edi, dword [esp + 0x68]
mov dword [esp + 0x58], ebx
adc ecx, dword [esp + 0x84]
xor ebx, ebx
mov eax, ecx
shld ecx, edi, 0x11
shr eax, 0xf
or ebx, ecx
shl edi, 0x11
mov ecx, dword [esp + 0x124]
or eax, edi
add ebp, dword [esp + 0x4c]
mov dword [esp + 0x30], eax
adc ecx, dword [esp + 0x3c]
mov eax, ecx
mov dword [esp + 0x34], ebx
shld ecx, ebp, 0x17
xor ebx, ebx
shr eax, 9
or ebx, ecx
shl ebp, 0x17
mov ecx, dword [esp + 0xe4]
or eax, ebp
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x138]
add ebx, dword [esp + 0x18]
mov dword [esp + 0x48], eax
adc ecx, edx
mov edx, dword [esp + 0x10c]
mov ebp, ecx
xor eax, eax
shld ecx, ebx, 0x1f
shr ebp, 1
or eax, ecx
shl ebx, 0x1f
mov ecx, dword [esp + 0x128]
or ebp, ebx
add edx, esi
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x118]
mov ebx, edx
adc ecx, dword [esp + 0x24]
xor edi, edi
shrd edx, ecx, 0x1b
shl ebx, 5
or edi, edx
shr ecx, 0x1b
mov dword [esp + 0x28], edi
or ebx, ecx
mov edi, dword [esp + 0x11c]
mov ecx, dword [esp + 0x144]
add edi, esi
mov esi, edi
adc ecx, dword [esp + 0x24]
xor edx, edx
shrd edi, ecx, 0x13
shl esi, 0xd
shr ecx, 0x13
or edx, edi
mov edi, dword [esp + 0x14c]
or esi, ecx
add eax, dword [esp + 0x4c]
mov dword [esp + 0x118], eax
mov ecx, eax
adc edi, dword [esp + 0x3c]
xor eax, eax
shrd dword [esp + 0x118], edi, 5
or eax, dword [esp + 0x118]
shr edi, 5
shl ecx, 0x1b
or ecx, edi
mov edi, dword [esp + 0x58]
xor edi, dword [esp + 0xd4]
mov dword [esp + 0xe0], edi
mov edi, dword [esp + 0x74]
xor edi, dword [esp + 0x158]
mov dword [esp + 0x120], edi
mov edi, dword [esp + 0x28]
mov dword [esp + 0x140], edi
xor edi, dword [esp + 0x30]
mov dword [esp + 0x140], edi
mov edi, ebx
xor edi, dword [esp + 0x34]
mov dword [esp + 0xa0], edi
mov edi, ebp
xor edi, dword [esp + 0x48]
mov dword [esp + 0x88], edi
mov edi, dword [esp + 0x14]
xor edi, dword [esp + 0x40]
mov dword [esp + 0x118], edi
mov edi, eax
xor edi, edx
mov dword [esp + 0xe4], edi
mov edi, ecx
xor edi, esi
mov dword [esp + 0x20], edi
mov edi, dword [esp + 0x88]
xor edi, edx
mov edx, dword [esp + 0x118]
xor edx, esi
add edi, dword [esp + 0x5c]
mov dword [esp + 0x110], edi
adc edx, dword [esp + 0x9c]
mov edi, dword [esp + 0x120]
mov dword [esp + 0x114], edx
mov edx, dword [esp + 0x140]
xor edx, eax
mov eax, dword [esp + 0xa0]
xor eax, ecx
add edx, dword [esp + 0xb8]
mov ecx, dword [esp + 0x20]
mov esi, ecx
adc eax, dword [esp + 0x38]
xor esi, dword [esp + 0x14]
mov dword [esp + 0x164], eax
mov dword [esp + 0x14c], edx
mov edx, dword [esp + 0xe4]
mov eax, edx
xor eax, ebp
mov ebp, dword [esp + 0xe0]
add eax, dword [esp + 0xd8]
mov dword [esp + 0x170], eax
mov eax, edi
adc esi, dword [esp + 0xcc]
xor eax, ebx
xor ebp, dword [esp + 0x28]
add ebp, dword [esp + 0x108]
mov dword [esp + 0x160], ebp
adc eax, dword [esp + 0x8c]
xor ecx, dword [esp + 0x34]
xor edx, dword [esp + 0x30]
add edx, dword [esp + 0xbc]
mov ebp, dword [esp + 0x118]
adc ecx, dword [esp + 0xb4]
xor edi, dword [esp + 0x40]
mov dword [esp + 0x168], eax
mov eax, dword [esp + 0xe0]
xor eax, dword [esp + 0x48]
add eax, dword [esp + 0xdc]
mov dword [esp + 0x20], ecx
adc edi, dword [esp + 0x130]
xor ebp, dword [esp + 0x158]
mov ecx, dword [esp + 0x140]
mov dword [esp + 0x120], edi
mov edi, dword [esp + 0x88]
xor edi, dword [esp + 0xd4]
add edi, dword [esp + 0x10]
mov dword [esp + 0xa8], esi
adc ebp, dword [esp + 0x54]
mov dword [esp + 0xe4], edx
mov dword [esp + 0xe0], eax
mov dword [esp + 0x88], edi
mov dword [esp + 0x118], ebp
xor ecx, dword [esp + 0x58]
mov eax, dword [esp + 0xa0]
xor eax, dword [esp + 0x74]
add ecx, dword [esp + 0xb0]
mov ebx, dword [esp + 0x20]
adc eax, dword [esp + 0xe8]
mov dword [esp + 0x140], ecx
add ecx, dword [esp + 0x160]
mov dword [esp + 0xa0], eax
adc eax, dword [esp + 0x168]
add edx, dword [esp + 0x170]
mov dword [esp + 0x15c], eax
adc ebx, esi
mov dword [esp + 0x38], edx
add edx, ecx
mov dword [esp + 0xfc], ebx
mov esi, ebx
mov dword [esp + 0x130], ecx
adc esi, eax
mov ebx, dword [esp + 0x164]
add edi, dword [esp + 0xe0]
mov eax, ebp
mov ebp, dword [esp + 0x14c]
adc eax, dword [esp + 0x120]
add ebp, dword [esp + 0x110]
mov ecx, dword [esp + 0x120]
adc ebx, dword [esp + 0x114]
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe8], edi
mov dword [esp + 0x154], ebp
add ebp, edi
mov edi, ebx
mov dword [esp + 0x16c], ebx
adc edi, eax
mov dword [esp + 0x68], ebp
mov eax, dword [esp + 0xe0]
add eax, edx
mov dword [esp + 0x84], edi
adc ecx, esi
add eax, 0xaaaaaaaa
mov dword [esp + 0x74], eax
adc ecx, 0xaaaaaaaa
mov eax, dword [esp + 0x118]
mov dword [esp + 0x8c], ecx
mov ecx, dword [esp + 0x88]
add ecx, edx
adc eax, esi
and dword [esp + 0x18], 0
mov ebx, eax
shld eax, ecx, 5
shr ebx, 0x1b
or dword [esp + 0x18], eax
mov eax, dword [esp + 0x164]
shl ecx, 5
or ebx, ecx
mov ecx, dword [esp + 0x14c]
add ecx, edx
mov dword [esp + 0x48], ebx
adc eax, esi
xor ebx, ebx
mov edx, eax
shld eax, ecx, 0x13
shr edx, 0xd
shl ecx, 0x13
or ebx, eax
mov eax, dword [esp + 0xa8]
or edx, ecx
mov ecx, dword [esp + 0x170]
add ecx, ebp
mov dword [esp + 0x28], edx
mov dword [esp + 0x30], ebx
adc eax, edi
xor ebx, ebx
mov edx, eax
shld eax, ecx, 0x1d
shr edx, 3
shl ecx, 0x1d
or edx, ecx
or ebx, eax
mov dword [esp + 0x9c], edx
mov dword [esp + 0x14], ebx
mov ecx, dword [esp + 0xe4]
mov eax, dword [esp + 0x20]
add ecx, ebp
adc eax, edi
xor ebx, ebx
mov edx, eax
shld eax, ecx, 0x1f
shr edx, 1
or ebx, eax
shl ecx, 0x1f
mov eax, dword [esp + 0x114]
or edx, ecx
mov ecx, dword [esp + 0x110]
add ecx, dword [esp + 0xe8]
mov dword [esp + 0x40], edx
adc eax, dword [esp + 0xdc]
add ecx, dword [esp + 0x130]
mov edx, ecx
mov dword [esp + 0x58], ebx
adc eax, dword [esp + 0x15c]
xor ebx, ebx
shrd ecx, eax, 0x17
shl edx, 9
shr eax, 0x17
or ebx, ecx
mov ecx, dword [esp + 0x160]
or edx, eax
add ecx, dword [esp + 0x154]
mov eax, dword [esp + 0x168]
adc eax, dword [esp + 0x16c]
add ecx, dword [esp + 0x38]
mov ebp, ecx
mov dword [esp + 0x34], edx
adc eax, dword [esp + 0xfc]
xor edi, edi
shrd ecx, eax, 7
shl ebp, 0x19
shr eax, 7
or edi, ecx
mov ecx, dword [esp + 0x140]
or ebp, eax
add ecx, dword [esp + 0x68]
mov eax, dword [esp + 0xa0]
mov esi, ecx
adc eax, dword [esp + 0x84]
xor edx, edx
shrd ecx, eax, 3
shl esi, 0x1d
shr eax, 3
or edx, ecx
or esi, eax
mov ecx, dword [esp + 0x9c]
mov eax, dword [esp + 0x40]
xor eax, dword [esp + 0x74]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x58]
xor eax, dword [esp + 0x8c]
mov dword [esp + 0xbc], eax
mov eax, edx
xor eax, dword [esp + 0x48]
mov dword [esp + 0xb4], eax
mov eax, esi
xor eax, dword [esp + 0x18]
mov dword [esp + 0xb0], eax
mov eax, ecx
xor eax, dword [esp + 0x28]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x14]
xor eax, dword [esp + 0x30]
mov dword [esp + 0xf0], eax
mov eax, edi
xor eax, ebx
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x34]
xor dword [esp + 0x2c], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x5c], eax
xor dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x2c]
xor ecx, dword [esp + 0x14]
mov dword [esp + 0x9c], ecx
mov ecx, eax
xor ecx, dword [esp + 0x28]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x2c]
xor ecx, dword [esp + 0x30]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0xac]
xor ecx, ebx
mov ebx, dword [esp + 0xb8]
mov dword [esp + 0xd8], ecx
mov eax, ebx
xor eax, dword [esp + 0x48]
xor ebx, edx
mov ecx, dword [esp + 0xf0]
xor ecx, dword [esp + 0x34]
mov edx, dword [esp + 0xb4]
mov dword [esp + 0x108], eax
mov dword [esp + 0xcc], ecx
mov ecx, dword [esp + 0xbc]
mov eax, ecx
xor eax, dword [esp + 0x18]
xor ecx, esi
mov dword [esp + 0x124], eax
mov eax, edx
xor edx, dword [esp + 0x74]
xor eax, edi
mov esi, dword [esp + 0xec]
mov edi, dword [esp + 0xc4]
mov dword [esp + 0x138], eax
mov dword [esp + 0xbc], ecx
mov ecx, dword [esp + 0xb0]
mov eax, ecx
xor ecx, dword [esp + 0x8c]
xor eax, ebp
mov dword [esp + 0x10c], eax
mov eax, dword [esp + 0xac]
xor eax, dword [esp + 0x40]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0xf0]
xor eax, dword [esp + 0x58]
mov dword [esp + 0xb4], edx
mov edx, dword [esp + 0xc0]
add edx, dword [esp + 0x148]
mov dword [esp + 0xb8], ebx
adc esi, dword [esp + 0x50]
add edi, dword [esp + 0x100]
mov ebx, dword [esp + 0xd0]
mov ebp, edi
adc ebx, dword [esp + 0x78]
add ebp, edx
mov dword [esp + 0xf0], eax
mov eax, ebx
adc eax, esi
mov dword [esp + 0xb0], ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x44]
add eax, dword [esp + 0x90]
mov dword [esp + 0x18], eax
adc ecx, dword [esp + 0x98]
add dword [esp + 0x18], edx
mov edx, ecx
mov dword [esp + 0x68], ebp
mov ebp, dword [esp + 0x80]
adc edx, esi
mov esi, dword [esp + 0x134]
add esi, dword [esp + 0x13c]
mov dword [esp + 0x24], ebp
mov ebp, dword [esp + 0x12c]
adc dword [esp + 0x24], ebp
mov dword [esp + 0x4c], esi
add dword [esp + 0x4c], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x3c], eax
adc dword [esp + 0x3c], ecx
add esi, edi
mov ecx, dword [esp + 0x134]
adc eax, ebx
add ecx, dword [esp + 0x68]
mov dword [esp + 0x24], eax
mov ebx, dword [esp + 0x80]
adc ebx, dword [esp + 0x84]
add ecx, 0x55555555
mov dword [esp + 0x134], ecx
adc ebx, 0x55555555
mov ecx, dword [esp + 0x18]
add dword [esp + 0x13c], ecx
mov ecx, dword [esp + 0x13c]
mov dword [esp + 0x80], ebx
mov ebx, ebp
adc ebx, edx
mov ebp, dword [esp + 0xc4]
mov dword [esp + 0x12c], ebx
xor edi, edi
shld dword [esp + 0x12c], ecx, 3
or edi, dword [esp + 0x12c]
shl ecx, 3
shr ebx, 0x1d
or ebx, ecx
mov dword [esp + 0x58], edi
mov edi, dword [esp + 0x90]
add edi, dword [esp + 0x68]
mov ecx, dword [esp + 0x98]
adc ecx, dword [esp + 0x84]
mov eax, ecx
mov dword [esp + 0x40], ebx
shld ecx, edi, 0x11
xor ebx, ebx
shr eax, 0xf
or ebx, ecx
shl edi, 0x11
mov ecx, dword [esp + 0xd0]
or eax, edi
add ebp, dword [esp + 0x4c]
mov dword [esp + 0x30], ebx
adc ecx, dword [esp + 0x3c]
xor ebx, ebx
mov dword [esp + 0x28], eax
mov eax, ecx
shld ecx, ebp, 0x17
shr eax, 9
or ebx, ecx
shl ebp, 0x17
mov ecx, dword [esp + 0x78]
or eax, ebp
mov dword [esp + 0x48], ebx
mov ebx, dword [esp + 0x100]
add ebx, dword [esp + 0x18]
mov dword [esp + 0x34], eax
adc ecx, edx
mov edx, dword [esp + 0x44]
mov ebp, ecx
xor eax, eax
shld ecx, ebx, 0x1f
shr ebp, 1
or eax, ecx
shl ebx, 0x1f
mov ecx, dword [esp + 0x60]
or ebp, ebx
add edx, esi
mov dword [esp + 0x78], eax
mov ebx, edx
adc ecx, dword [esp + 0x24]
xor edi, edi
shrd edx, ecx, 0x1b
shl ebx, 5
or edi, edx
shr ecx, 0x1b
or ebx, ecx
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0xc0]
mov ecx, dword [esp + 0xec]
add edi, esi
mov esi, edi
adc ecx, dword [esp + 0x24]
xor edx, edx
shrd edi, ecx, 0x13
shl esi, 0xd
shr ecx, 0x13
or edx, edi
or esi, ecx
mov eax, dword [esp + 0x148]
add eax, dword [esp + 0x4c]
mov edi, dword [esp + 0x50]
mov ecx, eax
adc edi, dword [esp + 0x3c]
mov dword [esp + 0x148], eax
xor eax, eax
shrd dword [esp + 0x148], edi, 5
or eax, dword [esp + 0x148]
shr edi, 5
shl ecx, 0x1b
or ecx, edi
mov edi, dword [esp + 0x40]
xor edi, dword [esp + 0x134]
mov dword [esp + 0x44], edi
mov edi, dword [esp + 0x58]
xor edi, dword [esp + 0x80]
mov dword [esp + 0xd4], edi
mov edi, dword [esp + 0x14]
mov dword [esp + 0xd0], edi
xor edi, dword [esp + 0x28]
mov dword [esp + 0xd0], edi
mov edi, ebx
xor edi, dword [esp + 0x30]
mov dword [esp + 0xec], edi
mov edi, ebp
xor edi, dword [esp + 0x34]
mov dword [esp + 0xc0], edi
mov edi, dword [esp + 0x78]
xor edi, dword [esp + 0x48]
mov dword [esp + 0x13c], edi
mov edi, eax
xor edi, edx
mov dword [esp + 0xc4], edi
mov edi, ecx
xor edi, esi
mov dword [esp + 0x70], edi
mov edi, dword [esp + 0xc0]
xor edi, edx
mov edx, dword [esp + 0x13c]
xor edx, esi
add edi, dword [esp + 0x5c]
mov esi, dword [esp + 0xc4]
adc edx, dword [esp + 0x9c]
mov dword [esp + 0xf4], edx
mov edx, dword [esp + 0xd0]
xor edx, eax
mov dword [esp + 0x100], edi
mov eax, dword [esp + 0xec]
mov edi, dword [esp + 0xd4]
xor eax, ecx
add edx, dword [esp + 0x54]
mov ecx, esi
mov dword [esp + 0x74], edx
adc eax, dword [esp + 0x2c]
xor ecx, ebp
mov edx, dword [esp + 0x70]
mov ebp, dword [esp + 0x44]
mov dword [esp + 0x10], eax
mov eax, edx
xor eax, dword [esp + 0x78]
add ecx, dword [esp + 0xd8]
mov dword [esp + 0x8c], ecx
mov ecx, ebp
adc eax, dword [esp + 0xcc]
xor ecx, dword [esp + 0x14]
mov dword [esp + 0xc8], eax
mov eax, edi
xor eax, ebx
add ecx, dword [esp + 0x108]
mov dword [esp + 0x1c], ecx
adc eax, dword [esp + 0x124]
xor esi, dword [esp + 0x28]
xor edx, dword [esp + 0x30]
add esi, dword [esp + 0xb8]
mov dword [esp + 0x54], eax
adc edx, dword [esp + 0xbc]
xor ebp, dword [esp + 0x34]
xor edi, dword [esp + 0x48]
mov dword [esp + 0xc4], esi
mov dword [esp + 0x70], edx
add ebp, dword [esp + 0x138]
mov ecx, dword [esp + 0xc0]
adc edi, dword [esp + 0x10c]
xor ecx, dword [esp + 0x134]
mov eax, dword [esp + 0x13c]
xor eax, dword [esp + 0x80]
add ecx, dword [esp + 0xac]
mov edx, dword [esp + 0x154]
adc eax, dword [esp + 0xf0]
mov ebx, dword [esp + 0x16c]
mov esi, dword [esp + 0x120]
mov dword [esp + 0xc0], ecx
mov ecx, dword [esp + 0xd0]
xor ecx, dword [esp + 0x40]
mov dword [esp + 0x13c], eax
mov eax, dword [esp + 0xec]
xor eax, dword [esp + 0x58]
add ecx, dword [esp + 0xb4]
mov dword [esp + 0x44], ebp
adc eax, dword [esp + 0xb0]
mov ebp, dword [esp + 0xe0]
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x38]
add eax, dword [esp + 0x130]
mov dword [esp + 0xd0], ecx
mov ecx, dword [esp + 0xfc]
adc ecx, dword [esp + 0x15c]
add edx, dword [esp + 0xe8]
mov dword [esp + 0xd4], edi
adc ebx, dword [esp + 0xdc]
add ebp, eax
mov dword [esp + 0x68], edx
adc esi, ecx
mov dword [esp + 0x84], ebx
add ebp, 0xaaaaaaaa
mov dword [esp + 0xe0], ebp
mov ebp, dword [esp + 0x118]
adc esi, 0xaaaaaaaa
add dword [esp + 0x88], eax
mov edi, dword [esp + 0x88]
adc ebp, ecx
mov dword [esp + 0x120], esi
mov dword [esp + 0x118], ebp
xor esi, esi
shld dword [esp + 0x118], edi, 5
or esi, dword [esp + 0x118]
shr ebp, 0x1b
mov dword [esp + 0x30], esi
mov esi, dword [esp + 0x14c]
shl edi, 5
or ebp, edi
add esi, eax
mov dword [esp + 0x28], ebp
mov ebp, dword [esp + 0x164]
adc ebp, ecx
xor ecx, ecx
mov eax, ebp
shld ebp, esi, 0x13
shr eax, 0xd
shl esi, 0x13
or ecx, ebp
or eax, esi
mov dword [esp + 0x14], ecx
mov esi, dword [esp + 0x170]
mov ecx, dword [esp + 0xa8]
add esi, edx
mov dword [esp + 0x78], eax
adc ecx, ebx
xor eax, eax
mov ebp, ecx
shld ecx, esi, 0x1d
shr ebp, 3
shl esi, 0x1d
or eax, ecx
or ebp, esi
mov dword [esp + 0x50], eax
mov esi, dword [esp + 0xe4]
add esi, edx
mov dword [esp + 0x9c], ebp
mov edx, dword [esp + 0x20]
adc edx, ebx
xor ecx, ecx
mov eax, edx
shr eax, 1
shld edx, esi, 0x1f
or ecx, edx
shl esi, 0x1f
or eax, esi
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x110]
add ecx, dword [esp + 0xe8]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x114]
adc eax, dword [esp + 0xdc]
add ecx, dword [esp + 0x130]
mov ebx, ecx
adc eax, dword [esp + 0x15c]
xor esi, esi
shrd ecx, eax, 0x17
shl ebx, 9
shr eax, 0x17
or esi, ecx
mov ecx, dword [esp + 0x160]
or ebx, eax
add ecx, dword [esp + 0x154]
mov eax, dword [esp + 0x168]
adc eax, dword [esp + 0x16c]
add ecx, dword [esp + 0x38]
mov edi, ecx
adc eax, dword [esp + 0xfc]
xor edx, edx
shrd ecx, eax, 7
shl edi, 0x19
shr eax, 7
or edx, ecx
mov ecx, dword [esp + 0x140]
or edi, eax
add ecx, dword [esp + 0x68]
mov eax, dword [esp + 0xa0]
adc eax, dword [esp + 0x84]
mov dword [esp + 0xa0], eax
xor eax, eax
mov ebp, dword [esp + 0xa0]
mov dword [esp + 0x140], ecx
shrd dword [esp + 0x140], ebp, 3
or eax, dword [esp + 0x140]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x48]
xor eax, dword [esp + 0xe0]
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0x40]
xor eax, dword [esp + 0x120]
mov dword [esp + 0x14c], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x98], eax
xor eax, dword [esp + 0x28]
shr ebp, 3
mov dword [esp + 0x98], eax
shl ecx, 0x1d
or ecx, ebp
mov dword [esp + 0xa0], ebp
mov ebp, dword [esp + 0x9c]
mov eax, ecx
xor eax, dword [esp + 0x30]
mov dword [esp + 0x164], eax
mov eax, ebp
xor eax, dword [esp + 0x78]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x50]
xor eax, dword [esp + 0x14]
mov dword [esp + 0x4c], eax
mov eax, edx
xor eax, esi
mov dword [esp + 0x38], edi
xor dword [esp + 0x38], ebx
mov dword [esp + 0xb4], eax
xor dword [esp + 0xb4], ebp
mov ebp, dword [esp + 0x38]
xor ebp, dword [esp + 0x50]
mov dword [esp + 0xd8], ebp
mov ebp, eax
mov dword [esp + 0xb0], eax
xor ebp, dword [esp + 0x78]
mov dword [esp + 0xb0], ebp
mov ebp, dword [esp + 0x38]
xor ebp, dword [esp + 0x14]
mov dword [esp + 0x38], ebp
mov ebp, dword [esp + 0x18]
xor ebp, esi
mov esi, dword [esp + 0xe8]
mov dword [esp + 0xcc], ebp
mov ebp, dword [esp + 0x4c]
xor ebp, ebx
mov ebx, esi
xor ebx, dword [esp + 0x28]
xor esi, dword [esp + 0x34]
mov dword [esp + 0x108], ebp
mov ebp, dword [esp + 0x14c]
mov dword [esp + 0xa8], ebx
mov ebx, ebp
xor ebx, dword [esp + 0x30]
xor ebp, ecx
mov ecx, dword [esp + 0x164]
mov dword [esp + 0xdc], ebx
mov ebx, dword [esp + 0x98]
mov eax, ebx
xor eax, edx
xor ebx, dword [esp + 0xe0]
mov dword [esp + 0x114], eax
mov eax, ecx
xor ecx, dword [esp + 0x120]
xor eax, edi
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x18]
xor eax, dword [esp + 0x48]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x4c]
xor eax, dword [esp + 0x40]
mov dword [esp + 0x164], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x4c], eax
mov dword [esp + 0xe8], esi
mov dword [esp + 0x14c], ebp
mov eax, dword [ecx + 8]
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov esi, ecx
mov dword [esp + 0x24], edx
add edx, eax
mov dword [esp + 0xbc], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x98], ebx
mov dword [esp + 0xb8], eax
adc esi, dword [ecx + 0xc]
mov edi, dword [ecx + 0x10]
add edi, dword [ecx + 0x28]
mov ebx, dword [ecx + 0x14]
mov ebp, edi
adc ebx, dword [ecx + 0x2c]
add ebp, edx
mov eax, ebx
mov dword [esp + 0x68], ebp
mov ebp, dword [esp + 0x64]
adc eax, esi
mov dword [esp + 0x84], eax
mov eax, dword [ecx + 0x18]
add eax, dword [ecx + 0x20]
mov ecx, dword [ecx + 0x1c]
adc ecx, dword [ebp + 0x24]
mov dword [esp + 0x5c], eax
add dword [esp + 0x5c], edx
mov edx, ecx
adc edx, esi
mov esi, ebp
mov dword [esp + 0x9c], edx
mov edx, dword [esi + 0x3c]
mov ebp, dword [esi + 0x38]
mov esi, dword [esi + 0x30]
mov dword [esp + 0x90], edx
mov edx, dword [esp + 0x64]
mov dword [esp + 0x60], ebp
mov dword [esp + 0x2c], esi
mov edx, dword [edx + 0x34]
add dword [esp + 0x2c], ebp
mov ebp, dword [esp + 0x90]
mov dword [esp + 0x80], edx
adc dword [esp + 0x80], ebp
mov ebp, dword [esp + 0x2c]
add ebp, eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x50], ebp
mov ebp, eax
adc ebp, ecx
add dword [esp + 0x2c], edi
mov ecx, dword [esp + 0x60]
adc eax, ebx
mov dword [esp + 0x78], ebp
add ecx, dword [esp + 0x68]
mov ebx, dword [esp + 0x90]
adc ebx, dword [esp + 0x84]
add ecx, 0x55555555
mov dword [esp + 0x60], ecx
adc ebx, 0x55555555
mov dword [esp + 0x80], eax
add esi, dword [esp + 0x5c]
mov dword [esp + 0x90], ebx
adc edx, dword [esp + 0x9c]
and dword [esp + 0x3c], 0
mov ecx, edx
shld edx, esi, 3
shr ecx, 0x1d
or dword [esp + 0x3c], edx
shl esi, 3
or ecx, esi
mov esi, dword [esp + 0x64]
mov dword [esp + 0x58], ecx
mov edx, dword [esi + 0x18]
add edx, dword [esp + 0x68]
mov ecx, dword [esi + 0x1c]
adc ecx, dword [esp + 0x84]
xor ebp, ebp
mov eax, ecx
shld ecx, edx, 0x11
shr eax, 0xf
or ebp, ecx
shl edx, 0x11
mov ecx, dword [esi + 0x10]
or eax, edx
add ecx, dword [esp + 0x50]
mov dword [esp + 0x30], eax
mov eax, dword [esi + 0x14]
adc eax, dword [esp + 0x78]
mov edx, eax
mov dword [esp + 0x34], ebp
shld eax, ecx, 0x17
shr edx, 9
xor ebp, ebp
shl ecx, 0x17
or ebp, eax
or edx, ecx
mov dword [esp + 0x40], ebp
mov ecx, dword [esi + 0x2c]
mov dword [esp + 0x48], edx
mov edx, dword [esi + 0x28]
add edx, dword [esp + 0x5c]
adc ecx, dword [esp + 0x9c]
xor eax, eax
mov ebp, ecx
shld ecx, edx, 0x1f
shr ebp, 1
shl edx, 0x1f
or eax, ecx
or ebp, edx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x14], ebp
mov ebp, esi
mov esi, dword [ebp + 0x20]
mov edx, dword [ebp + 0x24]
add esi, eax
mov ebx, esi
adc edx, dword [esp + 0x80]
xor edi, edi
shl ebx, 5
shrd esi, edx, 0x1b
shr edx, 0x1b
or edi, esi
or ebx, edx
add dword [esp + 0xb8], eax
mov eax, dword [ebp + 0xc]
adc eax, dword [esp + 0x80]
xor edx, edx
mov ecx, dword [esp + 0xb8]
mov esi, ecx
shrd ecx, eax, 0x13
shl esi, 0xd
or edx, ecx
shr eax, 0x13
mov ecx, dword [esp + 0x24]
or esi, eax
add ecx, dword [esp + 0x50]
mov eax, dword [esp + 0xbc]
adc eax, dword [esp + 0x78]
mov dword [esp + 0xbc], eax
xor eax, eax
mov ebp, dword [esp + 0xbc]
mov dword [esp + 0x24], ecx
shrd dword [esp + 0x24], ebp, 5
or eax, dword [esp + 0x24]
shr ebp, 5
shl ecx, 0x1b
or ecx, ebp
mov ebp, dword [esp + 0x58]
xor ebp, dword [esp + 0x60]
mov dword [esp + 0x118], ebp
mov ebp, dword [esp + 0x3c]
mov dword [esp + 0x11c], ebp
mov ebp, dword [esp + 0x90]
xor dword [esp + 0x11c], ebp
mov ebp, edi
xor ebp, dword [esp + 0x30]
mov dword [esp + 0xfc], ebp
mov ebp, ebx
xor ebp, dword [esp + 0x34]
mov dword [esp + 0x134], ebp
mov ebp, dword [esp + 0x14]
xor ebp, dword [esp + 0x48]
mov dword [esp + 0x120], ebp
mov ebp, dword [esp + 0x28]
xor ebp, dword [esp + 0x40]
mov dword [esp + 0x20], ebp
mov ebp, eax
xor ebp, edx
mov dword [esp + 0x124], ebp
mov ebp, ecx
xor ebp, esi
mov dword [esp + 0x138], ebp
mov ebp, dword [esp + 0x120]
xor ebp, edx
mov edx, dword [esp + 0x20]
xor edx, esi
add ebp, dword [esp + 0xb4]
mov esi, dword [esp + 0x134]
adc edx, dword [esp + 0xd8]
mov dword [esp + 0x110], edx
mov edx, dword [esp + 0xfc]
xor edx, eax
mov dword [esp + 0x170], ebp
mov eax, esi
xor eax, ecx
add edx, dword [esp + 0xb0]
mov ecx, dword [esp + 0x138]
adc eax, dword [esp + 0x38]
xor ecx, dword [esp + 0x28]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x124]
xor eax, dword [esp + 0x14]
add eax, dword [esp + 0xcc]
mov dword [esp + 0x24], edx
adc ecx, dword [esp + 0x108]
mov dword [esp + 0x128], ecx
mov ecx, dword [esp + 0x118]
mov ebp, ecx
mov dword [esp + 0x10c], eax
xor ebp, edi
mov eax, dword [esp + 0x11c]
mov edx, eax
xor edx, ebx
mov edi, dword [esp + 0x74]
add ebp, dword [esp + 0xa8]
mov ebx, dword [esp + 0x124]
adc edx, dword [esp + 0xdc]
xor ebx, dword [esp + 0x30]
mov dword [esp + 0xdc], edx
mov edx, dword [esp + 0x138]
xor edx, dword [esp + 0x34]
add ebx, dword [esp + 0xe8]
mov dword [esp + 0x124], ebx
adc edx, dword [esp + 0x14c]
xor eax, dword [esp + 0x40]
xor ecx, dword [esp + 0x48]
add ecx, dword [esp + 0x114]
mov ebx, dword [esp + 0xec]
adc eax, dword [esp + 0x130]
mov dword [esp + 0x11c], eax
mov eax, dword [esp + 0x20]
xor eax, dword [esp + 0x90]
mov dword [esp + 0x118], ecx
mov ecx, dword [esp + 0x120]
xor ecx, dword [esp + 0x60]
add ecx, dword [esp + 0x18]
mov dword [esp + 0x120], ecx
adc eax, dword [esp + 0x4c]
xor esi, dword [esp + 0x3c]
mov ecx, dword [esp + 0xd0]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xfc]
xor eax, dword [esp + 0x58]
add eax, dword [esp + 0x98]
mov dword [esp + 0xfc], eax
adc esi, dword [esp + 0x164]
add ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0xc4]
adc ebx, dword [esp + 0x54]
add eax, dword [esp + 0x8c]
mov dword [esp + 0x138], edx
mov edx, dword [esp + 0x70]
adc edx, dword [esp + 0xc8]
mov dword [esp + 0x68], ecx
mov dword [esp + 0xd8], eax
add eax, ecx
mov ecx, edx
mov dword [esp + 0xcc], edx
mov edx, dword [esp + 0xc0]
adc ecx, ebx
add edx, dword [esp + 0x44]
mov dword [esp + 0x84], ebx
mov ebx, dword [esp + 0x13c]
mov dword [esp + 0x134], esi
mov esi, ebx
adc esi, dword [esp + 0xd4]
add edi, dword [esp + 0x100]
mov dword [esp + 0x60], edi
mov dword [esp + 0xa0], ebp
mov ebp, dword [esp + 0x10]
adc ebp, dword [esp + 0xf4]
add dword [esp + 0x60], edx
mov dword [esp + 0x9c], edi
mov edi, dword [esp + 0x44]
mov dword [esp + 0x18], ebp
adc dword [esp + 0x18], esi
add edi, eax
adc dword [esp + 0xd4], ecx
add edi, 0xaaaaaaaa
mov dword [esp + 0x44], edi
adc dword [esp + 0xd4], 0xaaaaaaaa
mov edi, dword [esp + 0xc0]
add edi, eax
adc ebx, ecx
and dword [esp + 0x4c], 0
mov dword [esp + 0x2c], ebx
shr dword [esp + 0x2c], 0x1b
shld ebx, edi, 5
shl edi, 5
or dword [esp + 0x2c], edi
or dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x74]
add ebx, eax
mov edi, dword [esp + 0x8c]
mov eax, dword [esp + 0x10]
adc eax, ecx
xor ecx, ecx
mov dword [esp + 0x10], eax
shld dword [esp + 0x10], ebx, 0x13
or ecx, dword [esp + 0x10]
shl ebx, 0x13
shr eax, 0xd
or eax, ebx
mov dword [esp + 0x28], ecx
add edi, dword [esp + 0x60]
mov ebx, dword [esp + 0xc8]
adc ebx, dword [esp + 0x18]
xor ecx, ecx
mov dword [esp + 0x14], eax
mov eax, ebx
shld ebx, edi, 0x1d
shr eax, 3
shl edi, 0x1d
or ecx, ebx
mov ebx, dword [esp + 0x70]
or eax, edi
mov edi, dword [esp + 0xc4]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x60]
add edi, eax
mov dword [esp + 0x78], ecx
adc ebx, dword [esp + 0x18]
and dword [esp + 0x60], 0
mov dword [esp + 0x38], ebx
shr dword [esp + 0x38], 1
shld ebx, edi, 0x1f
or dword [esp + 0x60], ebx
shl edi, 0x1f
or dword [esp + 0x38], edi
mov edi, dword [esp + 0x100]
add edi, edx
mov edx, dword [esp + 0xf4]
adc edx, esi
add edi, dword [esp + 0x68]
mov ebx, edi
adc edx, dword [esp + 0x84]
xor esi, esi
shrd edi, edx, 0x17
shl ebx, 9
shr edx, 0x17
or esi, edi
or ebx, edx
mov edx, dword [esp + 0x1c]
add edx, dword [esp + 0x9c]
adc dword [esp + 0x54], ebp
add edx, dword [esp + 0xd8]
mov ebp, dword [esp + 0x54]
mov edi, edx
adc ebp, dword [esp + 0xcc]
mov dword [esp + 0x1c], edx
xor edx, edx
shrd dword [esp + 0x1c], ebp, 7
or edx, dword [esp + 0x1c]
shr ebp, 7
shl edi, 0x19
or edi, ebp
add dword [esp + 0xd0], eax
mov ebp, dword [esp + 0xec]
adc ebp, dword [esp + 0x18]
xor eax, eax
mov ecx, dword [esp + 0xd0]
shrd dword [esp + 0xd0], ebp, 3
or eax, dword [esp + 0xd0]
shr ebp, 3
shl ecx, 0x1d
or ecx, ebp
mov ebp, dword [esp + 0x38]
xor ebp, dword [esp + 0x44]
mov dword [esp + 0xbc], ebp
mov ebp, dword [esp + 0x60]
xor ebp, dword [esp + 0xd4]
mov dword [esp + 0xb4], ebp
mov ebp, eax
mov dword [esp + 0x10], edi
xor ebp, dword [esp + 0x2c]
xor dword [esp + 0x10], ebx
mov dword [esp + 0xb0], ebp
mov ebp, ecx
xor ebp, dword [esp + 0x4c]
mov dword [esp + 0xe8], ebp
mov ebp, dword [esp + 0x50]
mov dword [esp + 0x1c], ebp
xor ebp, dword [esp + 0x14]
mov dword [esp + 0x1c], ebp
mov ebp, dword [esp + 0x78]
xor ebp, dword [esp + 0x28]
mov dword [esp + 0x18], ebp
mov ebp, edx
xor ebp, esi
mov dword [esp + 0xb8], ebp
mov dword [esp + 0x5c], ebp
mov ebp, dword [esp + 0x50]
xor dword [esp + 0x5c], ebp
mov ebp, dword [esp + 0x10]
xor ebp, dword [esp + 0x78]
mov dword [esp + 0xd8], ebp
mov ebp, dword [esp + 0xb8]
xor ebp, dword [esp + 0x14]
mov dword [esp + 0xb8], ebp
mov ebp, dword [esp + 0x10]
xor ebp, dword [esp + 0x28]
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x1c]
xor ebp, esi
mov esi, dword [esp + 0xbc]
mov dword [esp + 0xcc], ebp
mov ebp, dword [esp + 0x18]
xor ebp, ebx
mov ebx, esi
xor ebx, dword [esp + 0x2c]
xor esi, eax
mov dword [esp + 0xc8], ebx
mov dword [esp + 0x108], ebp
mov ebp, dword [esp + 0xb4]
mov ebx, ebp
xor ebx, dword [esp + 0x4c]
xor ebp, ecx
mov ecx, dword [esp + 0xe8]
mov dword [esp + 0x100], ebx
mov ebx, dword [esp + 0xb0]
mov eax, ebx
xor ebx, dword [esp + 0x44]
xor eax, edx
mov edx, dword [esp + 0x118]
mov dword [esp + 0x114], eax
mov eax, ecx
xor ecx, dword [esp + 0xd4]
xor eax, edi
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x1c]
xor eax, dword [esp + 0x38]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x18]
xor eax, dword [esp + 0x60]
mov dword [esp + 0xb0], ebx
mov ebx, dword [esp + 0x124]
add ebx, dword [esp + 0xa0]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x138]
adc eax, dword [esp + 0xdc]
add edx, dword [esp + 0x170]
mov dword [esp + 0xe8], ecx
mov ecx, dword [esp + 0x11c]
adc ecx, dword [esp + 0x110]
mov dword [esp + 0xbc], esi
mov esi, ecx
mov dword [esp + 0x14c], edx
add edx, ebx
mov dword [esp + 0xb4], ebp
mov dword [esp + 0x15c], ebx
adc esi, eax
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], ecx
mov ebp, dword [esp + 0xfc]
add ebp, dword [esp + 0x120]
mov ecx, dword [esp + 0x134]
mov edi, ebp
adc ecx, dword [esp + 0x20]
add edi, ebx
mov ebx, ecx
mov dword [esp + 0x154], ecx
adc ebx, eax
mov dword [esp + 0x8c], ebp
mov eax, dword [esp + 0x10c]
add eax, dword [esp + 0x24]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x128]
adc eax, dword [esp + 0x88]
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0x70]
add eax, ebp
mov ebp, dword [esp + 0x70]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0xf4]
adc eax, ecx
add ebp, dword [esp + 0x14c]
mov ecx, dword [esp + 0x128]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0xf4]
adc eax, dword [esp + 0x164]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x10c]
add eax, edx
mov dword [esp + 0x84], ebp
adc ecx, esi
add eax, 0x55555555
mov dword [esp + 0x58], eax
adc ecx, 0x55555555
mov eax, dword [esp + 0x88]
mov dword [esp + 0x74], ecx
mov ecx, dword [esp + 0x24]
add ecx, edi
adc eax, ebx
and dword [esp + 0x60], 0
mov dword [esp + 0x2c], eax
shr dword [esp + 0x2c], 0x1d
shld eax, ecx, 3
or dword [esp + 0x60], eax
mov eax, dword [esp + 0x20]
shl ecx, 3
or dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x120]
add ecx, edx
adc eax, esi
xor esi, esi
mov edx, eax
shld eax, ecx, 0x11
shr edx, 0xf
shl ecx, 0x11
or esi, eax
mov eax, dword [esp + 0x11c]
or edx, ecx
mov ecx, dword [esp + 0x118]
add ecx, dword [esp + 0x50]
mov dword [esp + 0x30], edx
adc eax, dword [esp + 0x78]
mov edx, eax
mov dword [esp + 0x34], esi
shld eax, ecx, 0x17
shr edx, 9
xor esi, esi
shl ecx, 0x17
or esi, eax
mov eax, dword [esp + 0x110]
or edx, ecx
mov ecx, dword [esp + 0x170]
add ecx, edi
mov dword [esp + 0x48], edx
mov dword [esp + 0x40], esi
adc eax, ebx
xor ebx, ebx
mov edx, eax
shr edx, 1
shld eax, ecx, 0x1f
or ebx, eax
shl ecx, 0x1f
mov eax, dword [esp + 0x134]
or edx, ecx
mov ecx, dword [esp + 0xfc]
add ecx, ebp
mov dword [esp + 0x9c], edx
mov edx, ecx
mov dword [esp + 0x14], ebx
adc eax, dword [esp + 0x68]
xor ebp, ebp
shrd ecx, eax, 0x1b
shl edx, 5
shr eax, 0x1b
or ebp, ecx
or edx, eax
mov ecx, dword [esp + 0x124]
add ecx, dword [esp + 0x84]
mov eax, dword [esp + 0x138]
mov ebx, ecx
adc eax, dword [esp + 0x68]
xor edi, edi
shrd ecx, eax, 0x13
shl ebx, 0xd
shr eax, 0x13
or edi, ecx
mov ecx, dword [esp + 0xa0]
or ebx, eax
add ecx, dword [esp + 0x50]
mov eax, dword [esp + 0xdc]
mov esi, ecx
adc eax, dword [esp + 0x78]
shrd ecx, eax, 5
shl esi, 0x1b
shr eax, 5
or esi, eax
mov dword [esp + 0x28], edx
mov eax, dword [esp + 0x2c]
xor edx, edx
xor eax, dword [esp + 0x58]
or edx, ecx
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x60]
xor eax, dword [esp + 0x74]
mov dword [esp + 0xac], eax
mov eax, ebp
xor eax, dword [esp + 0x30]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x9c]
xor eax, dword [esp + 0x48]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x14]
xor eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x28]
xor ecx, dword [esp + 0x34]
mov dword [esp + 0x3c], eax
mov eax, edx
xor eax, edi
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xec], eax
mov eax, esi
xor eax, ebx
mov dword [esp + 0x148], eax
mov eax, dword [esp + 0x90]
xor eax, edi
mov edi, dword [esp + 0x3c]
mov dword [esp + 0xf0], eax
mov eax, edi
xor eax, ebx
mov ebx, dword [esp + 0xf0]
add ebx, dword [esp + 0x5c]
mov dword [esp + 0xf0], ebx
adc eax, dword [esp + 0xd8]
mov ebx, dword [esp + 0x98]
xor ebx, edx
mov dword [esp + 0xa8], eax
mov edx, ecx
xor edx, esi
add ebx, dword [esp + 0xb8]
mov dword [esp + 0x4c], ebx
adc edx, dword [esp + 0x10]
mov eax, dword [esp + 0xec]
xor eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x148]
xor ecx, dword [esp + 0x14]
add eax, dword [esp + 0xcc]
mov dword [esp + 0x144], edx
adc ecx, dword [esp + 0x108]
mov edx, dword [esp + 0x54]
mov esi, edx
xor esi, ebp
mov dword [esp + 0xe0], ecx
mov ecx, dword [esp + 0xac]
mov ebx, ecx
xor ebx, dword [esp + 0x28]
add esi, dword [esp + 0xc8]
mov ebp, dword [esp + 0x150]
adc ebx, dword [esp + 0x100]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x148]
xor eax, dword [esp + 0x34]
mov dword [esp + 0xc8], ebx
mov ebx, dword [esp + 0xec]
xor ebx, dword [esp + 0x30]
add ebx, dword [esp + 0xbc]
mov dword [esp + 0xec], ebx
adc eax, dword [esp + 0xb4]
xor ecx, dword [esp + 0x40]
xor edx, dword [esp + 0x48]
add edx, dword [esp + 0x114]
mov ebx, dword [ebp - 0x54]
adc ecx, dword [esp + 0x130]
xor edi, dword [esp + 0x74]
mov dword [esp + 0x148], eax
mov eax, dword [esp + 0x90]
xor eax, dword [esp + 0x58]
add eax, dword [esp + 0x1c]
mov dword [esp + 0xac], ecx
adc edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x98]
xor ecx, dword [esp + 0x2c]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0xc0]
xor eax, dword [esp + 0x60]
add ecx, dword [esp + 0xb0]
mov dword [esp + 0x98], ecx
adc eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0x174]
add ecx, dword [esp + 0xa4]
mov dword [esp + 0xc0], eax
adc ebx, dword [esp + 0x6c]
mov eax, dword [ebp - 0x70]
add eax, dword [ebp - 0x40]
mov dword [esp + 0x54], edx
mov edx, dword [ebp - 0x6c]
adc edx, dword [ebp - 0x3c]
mov dword [esp + 0x68], ecx
mov dword [esp + 0xd8], eax
add eax, ecx
mov ecx, edx
mov dword [esp + 0x84], ebx
adc ecx, ebx
mov dword [esp + 0xcc], edx
mov ebx, dword [esp + 0x7c]
mov edx, ebx
add edx, dword [esp + 0xf8]
mov dword [esp + 0x3c], edi
mov edi, dword [ebp - 0x60]
mov dword [esp + 0x12c], esi
mov esi, dword [ebp - 0x4c]
adc esi, dword [esp + 0x104]
add edi, dword [ebp - 0x68]
mov ebp, dword [ebp - 0x5c]
adc ebp, dword [esp + 0x94]
mov dword [esp + 0x80], edi
add dword [esp + 0x80], edx
mov dword [esp + 0x9c], edi
mov edi, dword [esp + 0xf8]
mov dword [esp + 0x60], ebp
adc dword [esp + 0x60], esi
add edi, eax
adc dword [esp + 0x104], ecx
add edi, 0xaaaaaaaa
mov dword [esp + 0xf8], edi
adc dword [esp + 0x104], 0xaaaaaaaa
add ebx, eax
mov edi, dword [esp + 0x150]
mov dword [esp + 0x7c], ebx
mov ebx, dword [edi - 0x4c]
adc ebx, ecx
mov edi, dword [esp + 0x7c]
and dword [esp + 0x18], 0
mov dword [esp + 0x2c], ebx
shr dword [esp + 0x2c], 0x1b
shld ebx, edi, 5
or dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x150]
shl edi, 5
or dword [esp + 0x2c], edi
mov edi, dword [ebx - 0x68]
mov ebx, dword [esp + 0x94]
add edi, eax
adc ebx, ecx
xor ecx, ecx
mov eax, ebx
shld ebx, edi, 0x13
shr eax, 0xd
shl edi, 0x13
or ecx, ebx
or eax, edi
mov dword [esp + 0x28], ecx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x150]
mov edi, dword [eax - 0x70]
add edi, dword [esp + 0x80]
mov ebx, dword [eax - 0x6c]
adc ebx, dword [esp + 0x60]
xor ecx, ecx
mov eax, ebx
shld ebx, edi, 0x1d
shr eax, 3
or ecx, ebx
shl edi, 0x1d
or eax, edi
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x150]
mov dword [esp + 0x50], eax
mov eax, ecx
mov edi, dword [ecx - 0x40]
add edi, dword [esp + 0x80]
mov ebx, dword [eax - 0x3c]
adc ebx, dword [esp + 0x60]
and dword [esp + 0x7c], 0
mov dword [esp + 0x38], ebx
shr dword [esp + 0x38], 1
shld ebx, edi, 0x1f
or dword [esp + 0x7c], ebx
mov ebx, ecx
shl edi, 0x1f
or dword [esp + 0x38], edi
mov edi, dword [ebx - 0x60]
add edi, edx
mov edx, dword [ebx - 0x5c]
adc edx, esi
add edi, dword [esp + 0x68]
mov ebx, edi
adc edx, dword [esp + 0x84]
xor esi, esi
shrd edi, edx, 0x17
shl ebx, 9
shr edx, 0x17
or esi, edi
or ebx, edx
mov edx, dword [esp + 0xa4]
add edx, dword [esp + 0x9c]
adc dword [esp + 0x6c], ebp
add edx, dword [esp + 0xd8]
mov ebp, dword [esp + 0x6c]
mov edi, edx
adc ebp, dword [esp + 0xcc]
mov dword [esp + 0xa4], edx
xor edx, edx
shl edi, 0x19
shrd dword [esp + 0xa4], ebp, 7
or edx, dword [esp + 0xa4]
shr ebp, 7
or edi, ebp
mov eax, dword [esp + 0x80]
add dword [esp + 0x174], eax
mov eax, ecx
mov ecx, dword [esp + 0x174]
mov dword [esp + 0x10], edi
mov ebp, dword [eax - 0x54]
adc ebp, dword [esp + 0x60]
xor eax, eax
shrd dword [esp + 0x174], ebp, 3
or eax, dword [esp + 0x174]
shr ebp, 3
shl ecx, 0x1d
or ecx, ebp
xor dword [esp + 0x10], ebx
mov ebp, dword [esp + 0x38]
xor ebp, dword [esp + 0xf8]
mov dword [esp + 0xb8], ebp
mov ebp, dword [esp + 0x7c]
xor ebp, dword [esp + 0x104]
mov dword [esp + 0xbc], ebp
mov ebp, eax
xor ebp, dword [esp + 0x2c]
mov dword [esp + 0xb4], ebp
mov ebp, ecx
xor ebp, dword [esp + 0x18]
mov dword [esp + 0xb0], ebp
mov ebp, dword [esp + 0x50]
mov dword [esp + 0x1c], ebp
xor ebp, dword [esp + 0x14]
mov dword [esp + 0x1c], ebp
mov ebp, dword [esp + 0x78]
xor ebp, dword [esp + 0x28]
mov dword [esp + 0x60], ebp
mov ebp, edx
xor ebp, esi
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x94], ebp
mov ebp, dword [esp + 0x50]
xor dword [esp + 0x94], ebp
mov ebp, dword [esp + 0x10]
xor ebp, dword [esp + 0x78]
mov dword [esp + 0x68], ebp
mov ebp, dword [esp + 0x5c]
xor ebp, dword [esp + 0x14]
mov dword [esp + 0x5c], ebp
mov ebp, dword [esp + 0x10]
xor ebp, dword [esp + 0x28]
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x1c]
xor ebp, esi
mov esi, dword [esp + 0xb8]
mov dword [esp + 0x9c], ebp
mov ebp, dword [esp + 0x60]
xor ebp, ebx
mov ebx, esi
xor ebx, dword [esp + 0x2c]
xor esi, eax
mov dword [esp + 0xd8], ebp
mov ebp, dword [esp + 0xbc]
mov dword [esp + 0xe8], ebx
mov ebx, ebp
xor ebx, dword [esp + 0x18]
xor ebp, ecx
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0x114], ebx
mov ebx, dword [esp + 0xb4]
mov eax, ebx
xor eax, edx
mov dword [esp + 0xb8], esi
mov dword [esp + 0x130], eax
mov eax, ecx
xor eax, edi
mov dword [esp + 0xbc], ebp
mov dword [esp + 0x168], eax
mov eax, dword [esp + 0x1c]
xor eax, dword [esp + 0x38]
mov dword [esp + 0x1c], eax
xor ecx, dword [esp + 0x104]
xor ebx, dword [esp + 0xf8]
mov eax, dword [esp + 0x60]
xor eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x8c]
mov esi, dword [esp + 0x154]
mov ebp, dword [esp + 0xf4]
mov edi, dword [esp + 0x70]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x14c]
add eax, dword [esp + 0x15c]
mov dword [esp + 0xb0], ecx
mov ecx, dword [esp + 0x164]
adc ecx, dword [esp + 0x160]
add edx, dword [esp + 0x15c]
mov dword [esp + 0xb4], ebx
adc esi, dword [esp + 0x160]
mov ebx, dword [esp + 0x70]
add ebx, dword [esp + 0x8c]
adc ebp, dword [esp + 0x154]
add edi, dword [esp + 0x14c]
mov dword [esp + 0x70], edi
mov edi, dword [esp + 0xf4]
adc edi, dword [esp + 0x164]
mov dword [esp + 0x50], ebp
mov ebp, dword [esp + 0x10c]
add ebp, eax
mov dword [esp + 0xf4], edi
mov edi, dword [esp + 0x128]
adc edi, ecx
add ebp, 0x55555555
mov dword [esp + 0x10c], ebp
adc edi, 0x55555555
add dword [esp + 0x24], edx
mov ebp, dword [esp + 0x24]
mov dword [esp + 0x128], edi
mov edi, dword [esp + 0x88]
adc edi, esi
and dword [esp + 0x7c], 0
mov dword [esp + 0x88], edi
shld dword [esp + 0x88], ebp, 3
shr edi, 0x1d
shl ebp, 3
or edi, ebp
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x74], edi
mov edi, dword [esp + 0x88]
or dword [esp + 0x7c], edi
mov edi, dword [esp + 0x120]
add edi, eax
adc ebp, ecx
xor ecx, ecx
mov eax, ebp
shld ebp, edi, 0x11
shr eax, 0xf
or ecx, ebp
shl edi, 0x11
or eax, edi
mov dword [esp + 0x30], ecx
add dword [esp + 0x118], ebx
mov edi, dword [esp + 0x11c]
adc edi, dword [esp + 0x50]
xor ecx, ecx
mov ebp, dword [esp + 0x118]
mov dword [esp + 0x28], eax
mov eax, edi
shld edi, ebp, 0x17
shr eax, 9
shl ebp, 0x17
or ecx, edi
or eax, ebp
mov dword [esp + 0x48], ecx
mov ebp, dword [esp + 0x170]
add ebp, edx
mov dword [esp + 0x34], eax
mov edx, dword [esp + 0x110]
adc edx, esi
xor ecx, ecx
mov eax, edx
shr eax, 1
shld edx, ebp, 0x1f
or ecx, edx
shl ebp, 0x1f
mov edx, dword [esp + 0x134]
or eax, ebp
mov ebp, dword [esp + 0xfc]
add ebp, dword [esp + 0x70]
mov dword [esp + 0x14], ecx
mov edi, ebp
adc edx, dword [esp + 0xf4]
xor esi, esi
mov ecx, dword [esp + 0x138]
shrd ebp, edx, 0x1b
shl edi, 5
shr edx, 0x1b
or esi, ebp
or edi, edx
mov dword [esp + 0x78], eax
mov edx, dword [esp + 0x124]
add edx, dword [esp + 0x70]
mov ebp, edx
mov dword [esp + 0x100], edi
adc ecx, dword [esp + 0xf4]
xor eax, eax
shrd edx, ecx, 0x13
shl ebp, 0xd
shr ecx, 0x13
or eax, edx
mov edx, dword [esp + 0xa0]
or ebp, ecx
mov ecx, dword [esp + 0xdc]
add edx, ebx
mov dword [esp + 0xa0], edx
mov ebx, edx
adc ecx, dword [esp + 0x50]
xor edx, edx
shrd dword [esp + 0xa0], ecx, 5
xor edi, dword [esp + 0x30]
shr ecx, 5
or edx, dword [esp + 0xa0]
shl ebx, 0x1b
or ebx, ecx
mov dword [esp + 0x108], esi
mov ecx, dword [esp + 0x74]
xor ecx, dword [esp + 0x10c]
xor esi, dword [esp + 0x28]
mov dword [esp + 0xcc], ecx
mov ecx, dword [esp + 0x7c]
xor ecx, dword [esp + 0x128]
mov dword [esp + 0x8c], ecx
mov ecx, dword [esp + 0x78]
xor ecx, dword [esp + 0x34]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x14]
xor ecx, dword [esp + 0x48]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x50]
xor ecx, eax
mov dword [esp + 0x84], edi
mov edi, edx
mov dword [esp + 0x58], esi
xor edi, eax
mov esi, ebx
mov eax, dword [esp + 0x40]
xor esi, ebp
xor eax, ebp
add ecx, dword [esp + 0x94]
mov ebp, dword [esp + 0x64]
adc eax, dword [esp + 0x68]
mov dword [ebp + 0x28], ecx
mov ecx, dword [esp + 0x58]
mov dword [ebp + 0x2c], eax
xor ecx, edx
mov ebp, dword [esp + 0x84]
mov eax, ebp
mov edx, dword [esp + 0x64]
xor eax, ebx
add ecx, dword [esp + 0x5c]
adc eax, dword [esp + 0x10]
mov dword [edx + 0x30], ecx
mov ecx, edi
mov dword [edx + 0x34], eax
xor ecx, dword [esp + 0x78]
mov eax, esi
xor eax, dword [esp + 0x14]
add ecx, dword [esp + 0x9c]
mov dword [edx + 0x38], ecx
adc eax, dword [esp + 0xd8]
mov dword [edx + 0x3c], eax
mov ebx, dword [esp + 0xcc]
mov ecx, ebx
xor ecx, dword [esp + 0x108]
mov edx, dword [esp + 0x8c]
mov eax, edx
xor eax, dword [esp + 0x100]
add ecx, dword [esp + 0xe8]
adc eax, dword [esp + 0x114]
xor esi, dword [esp + 0x30]
xor edi, dword [esp + 0x28]
add edi, dword [esp + 0xb8]
mov dword [esp + 0x68], eax
adc esi, dword [esp + 0xbc]
xor edx, dword [esp + 0x48]
mov eax, dword [esp + 0x64]
xor ebx, dword [esp + 0x34]
add ebx, dword [esp + 0x130]
adc edx, dword [esp + 0x168]
mov dword [eax], ecx
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x68]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x40]
xor eax, dword [esp + 0x128]
mov dword [ecx + 8], edi
mov dword [ecx + 0xc], esi
mov esi, ecx
mov ecx, dword [esp + 0x50]
xor ecx, dword [esp + 0x10c]
add ecx, dword [esp + 0x1c]
mov dword [esi + 0x10], ebx
adc eax, dword [esp + 0x60]
xor ebp, dword [esp + 0x7c]
mov dword [esi + 0x14], edx
mov dword [esi + 0x18], ecx
mov dword [esi + 0x1c], eax
mov eax, dword [esp + 0x58]
xor eax, dword [esp + 0x74]
add eax, dword [esp + 0xb4]
mov edi, dword [esp + 0x64]
adc ebp, dword [esp + 0xb0]
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], ebp
mov eax, dword [esi + 0x20]
mov ebx, dword [esi + 0x38]
mov edx, dword [esi + 0x3c]
mov ecx, dword [esi + 0x18]
mov dword [esp + 0x6c], eax
add eax, dword [esi]
mov dword [esp + 0x9c], eax
adc ebp, dword [esi + 4]
add ebx, dword [esi + 8]
mov dword [esp + 0xcc], ebx
adc edx, dword [esi + 0xc]
add ebx, eax
mov eax, dword [esi + 0x1c]
mov dword [esp + 0x108], edx
adc edx, ebp
mov dword [esp + 0x84], edx
mov edx, dword [esi + 0x10]
mov esi, dword [esi + 0x14]
mov dword [esp + 0xd8], ebp
mov ebp, ecx
mov dword [esp + 0x38], edx
add ebp, edx
mov edx, eax
mov dword [esp + 0x10], esi
adc edx, esi
mov dword [esp + 0x68], ebx
mov esi, dword [edi + 0x30]
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x50], edx
mov edx, dword [edi + 0x34]
mov edi, esi
add edi, dword [ebx + 0x28]
mov dword [esp + 0x78], edi
mov edi, edx
adc edi, dword [ebx + 0x2c]
mov ebx, dword [esp + 0x84]
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x78]
add edi, ebp
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x14]
adc edi, dword [esp + 0x50]
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x68]
add dword [esp + 0x38], edi
adc dword [esp + 0x10], ebx
add dword [esp + 0x38], 0xaaaaaaaa
adc dword [esp + 0x10], 0xaaaaaaaa
add ecx, edi
adc eax, ebx
and dword [esp + 0x7c], 0
mov dword [esp + 0x2c], eax
shr dword [esp + 0x2c], 0x1b
shld eax, ecx, 5
or dword [esp + 0x7c], eax
shl ecx, 5
or dword [esp + 0x2c], ecx
add esi, edi
adc edx, ebx
xor ecx, ecx
mov eax, edx
shld edx, esi, 0x13
shr eax, 0xd
or ecx, edx
shl esi, 0x13
mov dword [esp + 0x58], ecx
or eax, esi
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x40], eax
mov ebx, dword [ecx + 0x38]
mov eax, dword [ecx + 0x3c]
add ebx, dword [esp + 0x28]
adc eax, dword [esp + 0x30]
xor edx, edx
mov ecx, eax
shld eax, ebx, 0x1d
shr ecx, 3
or edx, eax
shl ebx, 0x1d
or ecx, ebx
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x64]
mov dword [esp + 0x34], ecx
mov ecx, dword [edx + 8]
add ecx, dword [esp + 0x28]
mov eax, dword [edx + 0xc]
adc eax, dword [esp + 0x30]
xor ebx, ebx
mov edx, eax
shld eax, ecx, 0x1f
shr edx, 1
shl ecx, 0x1f
or ebx, eax
or edx, ecx
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x74], edx
mov edx, dword [esp + 0x64]
mov ecx, dword [edx + 0x28]
mov eax, dword [edx + 0x2c]
add ecx, ebp
adc eax, dword [esp + 0x50]
add ecx, dword [esp + 0x9c]
mov ebx, ecx
adc eax, dword [esp + 0xd8]
xor esi, esi
shrd ecx, eax, 0x17
shl ebx, 9
shr eax, 0x17
or esi, ecx
mov ecx, dword [edx]
or ebx, eax
add ecx, dword [esp + 0x78]
mov eax, dword [edx + 4]
adc eax, dword [esp + 0x14]
add ecx, dword [esp + 0xcc]
mov edi, ecx
adc eax, dword [esp + 0x108]
xor edx, edx
shrd ecx, eax, 7
shl edi, 0x19
shr eax, 7
or edx, ecx
mov ecx, dword [esp + 0x64]
or edi, eax
mov eax, dword [esp + 0x6c]
add eax, dword [esp + 0x28]
mov dword [esp + 0x6c], eax
mov ebp, dword [ecx + 0x24]
mov ecx, eax
adc ebp, dword [esp + 0x30]
xor eax, eax
shrd dword [esp + 0x6c], ebp, 3
or eax, dword [esp + 0x6c]
shr ebp, 3
shl ecx, 0x1d
or ecx, ebp
mov dword [esp + 0x1c], edi
mov ebp, dword [esp + 0x74]
xor ebp, dword [esp + 0x38]
mov dword [esp + 0xb4], ebp
mov ebp, dword [esp + 0x8c]
xor ebp, dword [esp + 0x10]
mov dword [esp + 0xb0], ebp
mov ebp, eax
xor ebp, dword [esp + 0x2c]
mov dword [esp + 0xe8], ebp
mov ebp, ecx
xor ebp, dword [esp + 0x7c]
xor dword [esp + 0x1c], ebx
mov dword [esp + 0x14c], ebp
mov ebp, dword [esp + 0x34]
xor ebp, dword [esp + 0x40]
mov dword [esp + 0x20], ebp
mov ebp, dword [esp + 0x48]
xor ebp, dword [esp + 0x58]
mov dword [esp + 0x60], ebp
mov ebp, edx
xor ebp, esi
mov dword [esp + 0xbc], ebp
mov dword [esp + 0xb8], ebp
mov ebp, dword [esp + 0x34]
xor dword [esp + 0xb8], ebp
mov ebp, dword [esp + 0x1c]
xor ebp, dword [esp + 0x48]
mov dword [esp + 0x9c], ebp
mov ebp, dword [esp + 0xbc]
xor ebp, dword [esp + 0x40]
mov dword [esp + 0xbc], ebp
mov ebp, dword [esp + 0x1c]
xor ebp, dword [esp + 0x58]
mov dword [esp + 0x1c], ebp
mov ebp, dword [esp + 0x20]
xor ebp, esi
mov esi, dword [esp + 0xb4]
mov dword [esp + 0xd8], ebp
mov ebp, dword [esp + 0x60]
xor ebp, ebx
mov ebx, esi
xor ebx, dword [esp + 0x2c]
xor esi, eax
mov dword [esp + 0xcc], ebp
mov ebp, dword [esp + 0xb0]
mov dword [esp + 0x164], ebx
mov ebx, ebp
xor ebx, dword [esp + 0x7c]
xor ebp, ecx
mov dword [esp + 0x170], ebx
mov ebx, dword [esp + 0xe8]
mov eax, ebx
xor eax, edx
mov dword [esp + 0xb4], esi
mov dword [esp + 0xb0], ebp
mov dword [esp + 0x110], eax
xor ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0x14c]
mov eax, ecx
xor ecx, dword [esp + 0x10]
xor eax, edi
mov edx, dword [esp + 0xec]
mov esi, dword [esp + 0x148]
mov edi, dword [esp + 0x54]
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x20]
xor eax, dword [esp + 0x74]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x60]
xor eax, dword [esp + 0x8c]
add edx, dword [esp + 0x12c]
mov dword [esp + 0xe8], ebx
adc esi, dword [esp + 0xc8]
add edi, dword [esp + 0xf0]
mov ebx, dword [esp + 0xac]
mov ebp, edi
adc ebx, dword [esp + 0xa8]
add ebp, edx
mov dword [esp + 0x60], eax
mov eax, ebx
adc eax, esi
mov dword [esp + 0x14c], ecx
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x98]
add eax, dword [esp + 0x90]
mov dword [esp + 0x94], eax
adc ecx, dword [esp + 0x3c]
add dword [esp + 0x94], edx
mov edx, ecx
mov dword [esp + 0x68], ebp
mov ebp, dword [esp + 0xe0]
adc edx, esi
mov esi, dword [esp + 0x44]
add esi, dword [esp + 0x4c]
mov dword [esp + 0x5c], esi
mov dword [esp + 0x6c], ebp
mov ebp, dword [esp + 0x144]
adc dword [esp + 0x6c], ebp
add dword [esp + 0x5c], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x7c], eax
adc dword [esp + 0x7c], ecx
add esi, edi
mov ecx, dword [esp + 0x44]
adc eax, ebx
mov dword [esp + 0x50], esi
add ecx, dword [esp + 0x68]
mov ebx, dword [esp + 0xe0]
adc ebx, dword [esp + 0x84]
add ecx, 0x55555555
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x94]
adc ebx, 0x55555555
add dword [esp + 0x4c], ecx
mov esi, dword [esp + 0x4c]
mov dword [esp + 0xe0], ebx
mov ebx, ebp
mov ebp, dword [esp + 0x3c]
adc ebx, edx
mov dword [esp + 0x144], ebx
xor edi, edi
shld dword [esp + 0x144], esi, 3
or edi, dword [esp + 0x144]
shr ebx, 0x1d
shl esi, 3
or ebx, esi
mov dword [esp + 0x6c], eax
mov esi, dword [esp + 0x90]
add esi, dword [esp + 0x68]
mov dword [esp + 0x74], ebx
adc ebp, dword [esp + 0x84]
xor ebx, ebx
mov eax, ebp
mov dword [esp + 0x8c], edi
shr eax, 0xf
shld ebp, esi, 0x11
mov edi, dword [esp + 0x54]
or ebx, ebp
shl esi, 0x11
or eax, esi
mov dword [esp + 0x30], ebx
add edi, dword [esp + 0x5c]
mov esi, dword [esp + 0xac]
adc esi, dword [esp + 0x7c]
xor ebp, ebp
mov dword [esp + 0x28], eax
mov eax, esi
shld esi, edi, 0x17
shr eax, 9
or ebp, esi
shl edi, 0x17
mov esi, dword [esp + 0xf0]
or eax, edi
add esi, ecx
mov dword [esp + 0x48], ebp
mov ebp, dword [esp + 0xa8]
adc ebp, edx
mov dword [esp + 0x34], eax
mov edx, dword [esp + 0x98]
xor ecx, ecx
mov eax, ebp
shld ebp, esi, 0x1f
shr eax, 1
or ecx, ebp
shl esi, 0x1f
mov dword [esp + 0x14], ecx
or eax, esi
add edx, dword [esp + 0x50]
mov ecx, dword [esp + 0xc0]
mov edi, edx
adc ecx, dword [esp + 0x6c]
xor esi, esi
shrd edx, ecx, 0x1b
shl edi, 5
shr ecx, 0x1b
or esi, edx
mov edx, dword [esp + 0xec]
or edi, ecx
add edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x148]
mov ebp, edx
adc ecx, dword [esp + 0x6c]
shrd edx, ecx, 0x13
mov dword [esp + 0x78], eax
xor eax, eax
shr ecx, 0x13
or eax, edx
mov edx, dword [esp + 0x12c]
shl ebp, 0xd
or ebp, ecx
mov dword [esp + 0x108], esi
add edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0xc8]
mov ebx, edx
adc ecx, dword [esp + 0x7c]
xor esi, dword [esp + 0x28]
mov dword [esp + 0x12c], edx
xor edx, edx
shrd dword [esp + 0x12c], ecx, 5
or edx, dword [esp + 0x12c]
shr ecx, 5
shl ebx, 0x1b
or ebx, ecx
mov dword [esp + 0x100], edi
mov ecx, dword [esp + 0x74]
xor ecx, dword [esp + 0x44]
xor edi, dword [esp + 0x30]
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 0x8c]
xor ecx, dword [esp + 0xe0]
mov dword [esp + 0xa8], ecx
mov ecx, dword [esp + 0x78]
xor ecx, dword [esp + 0x34]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x58], esi
mov dword [esp + 0x68], edi
xor ecx, dword [esp + 0x48]
mov edi, edx
xor edi, eax
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x50]
mov esi, ebx
xor ecx, eax
xor esi, ebp
mov eax, dword [esp + 0x40]
xor eax, ebp
add ecx, dword [esp + 0xb8]
mov ebp, dword [esp + 0x64]
adc eax, dword [esp + 0x9c]
mov dword [ebp + 0x68], ecx
mov dword [ebp + 0x6c], eax
mov ebp, dword [esp + 0x68]
mov eax, ebp
mov ecx, dword [esp + 0x58]
xor eax, ebx
xor ecx, edx
mov ebx, dword [esp + 0x84]
add ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0x64]
adc eax, dword [esp + 0x1c]
mov dword [edx + 0x70], ecx
mov ecx, edi
xor ecx, dword [esp + 0x78]
mov dword [edx + 0x74], eax
mov eax, esi
xor eax, dword [esp + 0x14]
add ecx, dword [esp + 0xd8]
mov dword [edx + 0x78], ecx
mov ecx, ebx
adc eax, dword [esp + 0xcc]
xor ecx, dword [esp + 0x108]
mov dword [edx + 0x7c], eax
mov edx, dword [esp + 0xa8]
mov eax, edx
xor eax, dword [esp + 0x100]
add ecx, dword [esp + 0x164]
adc eax, dword [esp + 0x170]
xor edi, dword [esp + 0x28]
xor esi, dword [esp + 0x30]
add edi, dword [esp + 0xb4]
mov dword [esp + 0x68], eax
adc esi, dword [esp + 0xb0]
mov eax, dword [esp + 0x64]
xor ebx, dword [esp + 0x34]
xor edx, dword [esp + 0x48]
add ebx, dword [esp + 0x110]
mov dword [eax + 0x40], ecx
mov ecx, dword [esp + 0x64]
adc edx, dword [esp + 0xdc]
mov eax, dword [esp + 0x68]
mov dword [ecx + 0x44], eax
mov eax, dword [esp + 0x40]
xor eax, dword [esp + 0xe0]
mov dword [ecx + 0x48], edi
mov edi, ecx
mov ecx, dword [esp + 0x50]
xor ecx, dword [esp + 0x44]
add ecx, dword [esp + 0x20]
mov dword [edi + 0x4c], esi
adc eax, dword [esp + 0x60]
xor ebp, dword [esp + 0x8c]
mov dword [edi + 0x50], ebx
mov dword [edi + 0x54], edx
mov dword [edi + 0x58], ecx
mov dword [edi + 0x5c], eax
mov eax, dword [esp + 0x58]
xor eax, dword [esp + 0x74]
add eax, dword [esp + 0xe8]
adc ebp, dword [esp + 0x14c]
dec dword [esp + 0x17c]
mov dword [edi + 0x60], eax
mov dword [edi + 0x64], ebp
jne 0x4114ce
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x168
ret