Function at 0x83520db0
Capabilities:
Encode data using xor

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x37c
mov eax, dword [ebp + 8]
mov edx, dword [eax + 4]
mov ecx, dword [eax]
mov dword [ebp - 0x338], edx
mov dword [ebp - 0x20], edx
mov edx, dword [eax + 8]
mov dword [ebp - 0x324], edx
mov dword [ebp - 0x54], edx
mov edx, dword [eax + 0x10]
push ebx
mov dword [ebp - 0x314], edx
mov dword [ebp - 0x3c], edx
mov edx, dword [eax + 0x18]
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, dword [eax + 0x14]
mov dword [ebp - 0x310], edi
mov dword [ebp - 0x38], edi
mov edi, dword [eax + 0x1c]
mov dword [ebp - 0x334], edx
mov dword [ebp - 0x4c], edx
mov edx, dword [eax + 0x20]
mov dword [ebp - 0x330], edi
mov dword [ebp - 0x48], edi
mov edi, dword [eax + 0x24]
mov dword [ebp - 0x2fc], edx
mov dword [ebp - 0x1c], edx
mov edx, dword [eax + 0x28]
mov dword [ebp - 0x2f8], edi
mov dword [ebp - 0x18], edi
mov edi, dword [eax + 0x2c]
mov dword [ebp - 0x30c], edx
mov dword [ebp - 0x44], edx
mov edx, dword [eax + 0x30]
mov dword [ebp - 0x33c], ecx
mov dword [ebp - 0x24], ecx
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x308], edi
mov dword [ebp - 0x40], edi
mov edi, dword [eax + 0x34]
mov dword [ebp - 0x2e4], edx
mov dword [ebp - 0x34], edx
mov edx, dword [eax + 0x38]
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x2e8], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x320], ecx
mov dword [ebp - 0x2e0], edi
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x2ec], edx
mov dword [ebp - 0x14], edx
xor eax, eax
jmp 0x83520e87
mov esi, dword [ebp + 0xc]
mov ebx, dword [esi]
mov edx, dword [esi + 4]
add esi, 8
mov dword [ebp + 0xc], esi
xor esi, esi
or edx, esi
xor edi, edi
or edi, ebx
mov ebx, edx
mov dword [ebp - 0x84], ebx
mov dword [ebp - 0x80], edi
mov esi, edi
shld edi, ebx, 8
shrd edx, esi, 8
shl ebx, 8
xor edx, ebx
mov ebx, dword [ebp - 0x80]
shr esi, 8
xor esi, edi
mov edi, dword [ebp - 0x84]
shld ebx, edi, 8
and edx, 0xff00ff
shl edi, 8
xor edx, edi
mov edi, edx
and esi, 0xff00ff
xor esi, ebx
mov dword [ebp - 0x84], edx
mov ebx, esi
shrd edi, ebx, 0x10
shr ebx, 0x10
mov dword [ebp - 0x80], esi
shld esi, edx, 0x10
xor ebx, esi
mov esi, dword [ebp - 0x80]
shl edx, 0x10
xor edi, edx
mov edx, dword [ebp - 0x84]
shld esi, edx, 0x10
shl edx, 0x10
and ebx, 0xffff
xor ebx, esi
mov esi, dword [ebp - 0x18]
and edi, 0xffff
xor edi, edx
mov dword [ebp + eax*8 - 0x2d0], ebx
mov dword [ebp + eax*8 - 0x2d4], edi
mov edi, dword [ebp - 0x1c]
mov ebx, edi
mov edx, esi
shrd ebx, edx, 0xe
mov dword [ebp - 0x20c], ebx
mov ebx, edi
shrd edx, ebx, 0xe
mov dword [ebp - 0x208], edx
mov edx, esi
shrd ebx, edx, 0x12
mov dword [ebp - 0x16c], ebx
mov ebx, edi
shrd edx, ebx, 0x12
mov dword [ebp - 0x168], edx
mov edx, edi
mov ebx, esi
shrd ebx, edx, 9
mov dword [ebp - 0xd4], ebx
mov ebx, esi
shrd edx, ebx, 9
mov ebx, dword [ebp - 0x44]
mov dword [ebp - 0xd0], edx
mov edx, edi
and ebx, edi
mov edi, dword [ebp - 0x40]
and edi, dword [ebp - 0x18]
not esi
and esi, dword [ebp - 0x30]
not edx
and edx, dword [ebp - 0x34]
xor esi, edi
mov edi, dword [ebp - 0xd4]
xor edx, ebx
xor edi, dword [ebp - 0x16c]
mov dword [ebp - 0x8c], edi
mov edi, dword [ebp - 0xd0]
xor edi, dword [ebp - 0x168]
mov dword [ebp - 0x88], edi
mov edi, dword [ebp - 0x20c]
xor dword [ebp - 0x8c], edi
mov edi, dword [ebp - 0x88]
xor edi, dword [ebp - 0x208]
add edx, dword [ebp - 0x8c]
adc esi, edi
add edx, dword [eax*8 - 0x786335c8]
adc esi, dword [eax*8 - 0x786335c4]
add edx, dword [ebp + eax*8 - 0x2d4]
adc esi, dword [ebp + eax*8 - 0x2d0]
add edx, dword [ebp - 0x14]
adc esi, dword [ebp - 0x10]
add dword [ebp - 0x4c], edx
mov dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x24]
adc dword [ebp - 0x48], esi
mov dword [ebp - 0x28], esi
mov esi, dword [ebp - 0x20]
mov ebx, edx
mov edi, esi
shrd ebx, edi, 0x1c
mov dword [ebp - 0x234], ebx
mov ebx, edx
shrd edi, ebx, 0x1c
mov dword [ebp - 0x230], edi
mov edi, edx
mov ebx, esi
shrd ebx, edi, 2
mov dword [ebp - 0xdc], ebx
mov ebx, esi
shrd edi, ebx, 2
mov dword [ebp - 0xd8], edi
mov edi, esi
mov edi, edx
shrd ebx, edi, 7
mov dword [ebp - 0xec], ebx
mov ebx, esi
shrd edi, ebx, 7
mov dword [ebp - 0xe8], edi
mov edi, dword [ebp - 0x54]
xor edi, edx
mov ebx, ecx
xor ebx, esi
mov dword [ebp - 0xc0], ebx
mov ebx, dword [ebp - 0x54]
and ebx, edx
mov edx, ecx
and edx, esi
mov esi, dword [ebp - 0xc0]
and esi, dword [ebp - 0x38]
mov dword [ebp - 0xe0], edx
xor esi, edx
mov edx, dword [ebp - 0xec]
xor edx, dword [ebp - 0xdc]
mov dword [ebp - 0xc4], edi
and edi, dword [ebp - 0x3c]
mov dword [ebp - 0x94], edx
mov edx, dword [ebp - 0xe8]
xor edx, dword [ebp - 0xd8]
xor edi, ebx
mov dword [ebp - 0x90], edx
mov edx, dword [ebp - 0x234]
xor dword [ebp - 0x94], edx
mov edx, dword [ebp - 0x90]
xor edx, dword [ebp - 0x230]
add edi, dword [ebp - 0x94]
mov dword [ebp - 0xe4], ebx
adc esi, edx
add edi, dword [ebp - 0x2c]
adc esi, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x10], esi
mov esi, dword [ebp + 0xc]
mov ebx, dword [esi]
mov edx, dword [esi + 4]
mov dword [ebp - 0x14], edi
add esi, 8
mov dword [ebp + 0xc], esi
xor edi, edi
or edi, ebx
xor esi, esi
or edx, esi
mov ebx, edx
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x68], edi
mov esi, edi
shld edi, ebx, 8
shrd edx, esi, 8
shl ebx, 8
xor edx, ebx
mov ebx, dword [ebp - 0x68]
shr esi, 8
xor esi, edi
mov edi, dword [ebp - 0x6c]
shld ebx, edi, 8
and edx, 0xff00ff
shl edi, 8
xor edx, edi
mov edi, edx
and esi, 0xff00ff
xor esi, ebx
mov dword [ebp - 0x6c], edx
mov ebx, esi
shrd edi, ebx, 0x10
shr ebx, 0x10
mov dword [ebp - 0x68], esi
shld esi, edx, 0x10
xor ebx, esi
mov esi, dword [ebp - 0x68]
shl edx, 0x10
xor edi, edx
mov edx, dword [ebp - 0x6c]
shld esi, edx, 0x10
shl edx, 0x10
and ebx, 0xffff
xor ebx, esi
mov esi, dword [ebp - 0x48]
and edi, 0xffff
xor edi, edx
mov dword [ebp + eax*8 - 0x2d0], ebx
mov dword [ebp + eax*8 - 0x2d4], edi
mov edi, dword [ebp - 0x4c]
mov ebx, edi
mov edx, esi
shrd ebx, edx, 0xe
mov dword [ebp - 0x1e4], ebx
mov ebx, edi
shrd edx, ebx, 0xe
mov dword [ebp - 0x1e0], edx
mov edx, esi
shrd ebx, edx, 0x12
mov dword [ebp - 0x1f4], ebx
mov ebx, edi
shrd edx, ebx, 0x12
mov dword [ebp - 0x1f0], edx
mov edx, edi
mov ebx, esi
shrd ebx, edx, 9
mov dword [ebp - 0xcc], ebx
mov ebx, esi
shrd edx, ebx, 9
mov ebx, dword [ebp - 0x1c]
and ebx, edi
mov dword [ebp - 0xc8], edx
mov edx, edi
mov edi, dword [ebp - 0x18]
and edi, dword [ebp - 0x48]
not esi
and esi, dword [ebp - 0x40]
not edx
and edx, dword [ebp - 0x44]
xor esi, edi
mov edi, dword [ebp - 0xcc]
xor edi, dword [ebp - 0x1f4]
xor edx, ebx
mov dword [ebp - 0x74], edi
mov edi, dword [ebp - 0xc8]
xor edi, dword [ebp - 0x1f0]
mov dword [ebp - 0x70], edi
mov edi, dword [ebp - 0x1e4]
xor dword [ebp - 0x74], edi
mov edi, dword [ebp - 0x70]
xor edi, dword [ebp - 0x1e0]
add edx, dword [ebp - 0x74]
mov ebx, dword [ebp - 0x14]
adc esi, edi
add edx, dword [eax*8 - 0x786335c8]
mov edi, dword [ebp - 0x10]
adc esi, dword [eax*8 - 0x786335c4]
add edx, dword [ebp + eax*8 - 0x2d4]
adc esi, dword [ebp + eax*8 - 0x2d0]
add edx, dword [ebp - 0x34]
adc esi, dword [ebp - 0x30]
add dword [ebp - 0x3c], edx
adc dword [ebp - 0x38], esi
shrd ebx, edi, 0x1c
mov dword [ebp - 0x184], ebx
mov ebx, dword [ebp - 0x14]
shrd edi, ebx, 0x1c
mov dword [ebp - 0x180], edi
mov edi, ebx
mov ebx, dword [ebp - 0x10]
shrd ebx, edi, 2
mov dword [ebp - 0xac], ebx
mov ebx, dword [ebp - 0x10]
shrd edi, ebx, 2
mov dword [ebp - 0xa8], edi
mov edi, dword [ebp - 0x14]
shrd ebx, edi, 7
mov dword [ebp - 0xbc], ebx
mov ebx, dword [ebp - 0x10]
shrd edi, ebx, 7
mov dword [ebp - 0xb8], edi
mov edi, dword [ebp - 0xc4]
and edi, dword [ebp - 0x14]
mov dword [ebp - 0x64], edi
mov edi, dword [ebp - 0xc0]
and edi, ebx
xor edi, dword [ebp - 0xe0]
mov ebx, dword [ebp - 0xe4]
xor dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], edi
mov edi, dword [ebp - 0xbc]
xor edi, dword [ebp - 0xac]
mov dword [ebp - 0x5c], edi
mov edi, dword [ebp - 0xb8]
xor edi, dword [ebp - 0xa8]
mov dword [ebp - 0x58], edi
mov edi, dword [ebp - 0x184]
xor dword [ebp - 0x5c], edi
mov edi, dword [ebp - 0x180]
xor dword [ebp - 0x58], edi
mov edi, dword [ebp - 0x5c]
add dword [ebp - 0x64], edi
mov edi, dword [ebp - 0x60]
mov ebx, dword [ebp - 0x64]
adc edi, dword [ebp - 0x58]
add ebx, edx
adc edi, esi
mov esi, dword [ebp + 0xc]
mov edx, dword [esi + 4]
mov dword [ebp - 0x34], ebx
mov ebx, dword [esi]
add esi, 8
mov dword [ebp + 0xc], esi
xor esi, esi
mov dword [ebp - 0x30], edi
xor edi, edi
or edx, esi
or edi, ebx
mov ebx, edx
mov esi, edi
mov dword [ebp - 0xc], ebx
shrd edx, esi, 8
mov dword [ebp - 8], edi
shld edi, ebx, 8
inc eax
shr esi, 8
shl ebx, 8
xor edx, ebx
xor esi, edi
mov edi, dword [ebp - 0xc]
mov ebx, dword [ebp - 8]
shld ebx, edi, 8
shl edi, 8
and edx, 0xff00ff
xor edx, edi
and esi, 0xff00ff
xor esi, ebx
mov edi, edx
mov dword [ebp - 0xc], edx
mov ebx, esi
shrd edi, ebx, 0x10
shr ebx, 0x10
mov dword [ebp - 8], esi
shld esi, edx, 0x10
xor ebx, esi
mov esi, dword [ebp - 8]
shl edx, 0x10
xor edi, edx
mov edx, dword [ebp - 0xc]
shld esi, edx, 0x10
and edi, 0xffff
shl edx, 0x10
xor edi, edx
and ebx, 0xffff
xor ebx, esi
mov esi, dword [ebp - 0x38]
mov dword [ebp + eax*8 - 0x2d4], edi
mov edi, dword [ebp - 0x3c]
mov dword [ebp + eax*8 - 0x2d0], ebx
mov ebx, edi
mov edx, esi
shrd ebx, edx, 0xe
mov dword [ebp - 0x21c], ebx
mov ebx, edi
shrd edx, ebx, 0xe
mov dword [ebp - 0x218], edx
mov edx, esi
shrd ebx, edx, 0x12
mov dword [ebp - 0x194], ebx
mov ebx, edi
shrd edx, ebx, 0x12
mov dword [ebp - 0x190], edx
mov edx, edi
mov ebx, esi
shrd ebx, edx, 9
mov dword [ebp - 0xb4], ebx
mov ebx, esi
shrd edx, ebx, 9
mov ebx, dword [ebp - 0x4c]
and ebx, edi
mov dword [ebp - 0xb0], edx
mov edx, edi
mov edi, dword [ebp - 0x48]
and edi, dword [ebp - 0x38]
not esi
and esi, dword [ebp - 0x18]
not edx
and edx, dword [ebp - 0x1c]
xor esi, edi
mov edi, dword [ebp - 0xb4]
xor edi, dword [ebp - 0x194]
xor edx, ebx
mov dword [ebp - 0x9c], edi
mov edi, dword [ebp - 0xb0]
xor edi, dword [ebp - 0x190]
mov dword [ebp - 0x98], edi
mov edi, dword [ebp - 0x21c]
xor dword [ebp - 0x9c], edi
mov edi, dword [ebp - 0x98]
xor edi, dword [ebp - 0x218]
add edx, dword [ebp - 0x9c]
adc esi, edi
add edx, dword [eax*8 - 0x786335c8]
adc esi, dword [eax*8 - 0x786335c4]
add edx, dword [ebp + eax*8 - 0x2d4]
adc esi, dword [ebp + eax*8 - 0x2d0]
add edx, dword [ebp - 0x44]
mov dword [ebp - 0x2c], edx
adc esi, dword [ebp - 0x40]
add dword [ebp - 0x54], edx
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x28], esi
adc ecx, esi
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x34]
mov esi, edx
mov edi, ecx
shrd edi, esi, 0x1c
shrd esi, ecx, 0x1c
mov dword [ebp - 0x1a0], esi
mov dword [ebp - 0x1a4], edi
mov esi, edx
mov edi, edx
mov esi, ecx
shrd edi, esi, 2
mov dword [ebp - 0x1c4], edi
mov edi, edx
shrd esi, edi, 2
mov dword [ebp - 0x1c0], esi
mov esi, edx
and edx, dword [ebp - 0x20]
mov esi, ecx
mov ebx, edi
shrd ebx, esi, 7
shrd esi, edi, 7
xor edi, dword [ebp - 0x20]
mov dword [ebp - 0x228], esi
and edi, dword [ebp - 0x10]
mov esi, ecx
and ecx, dword [ebp - 0x24]
xor esi, dword [ebp - 0x24]
xor edi, edx
and esi, dword [ebp - 0x14]
mov edx, dword [ebp - 0x228]
xor edx, dword [ebp - 0x1c0]
xor esi, ecx
xor edx, dword [ebp - 0x1a0]
mov ecx, ebx
xor ecx, dword [ebp - 0x1c4]
mov dword [ebp - 0x22c], ebx
xor ecx, dword [ebp - 0x1a4]
add esi, ecx
mov ecx, dword [ebp + 0xc]
adc edi, edx
add esi, dword [ebp - 0x2c]
mov edx, dword [ecx]
adc edi, dword [ebp - 0x28]
add ecx, 8
mov dword [ebp - 0x44], esi
mov esi, dword [ecx - 4]
mov dword [ebp - 0x40], edi
mov dword [ebp + 0xc], ecx
xor edi, edi
or edi, edx
xor ecx, ecx
or esi, ecx
mov ebx, edi
mov edx, esi
shrd edx, ebx, 8
shr ebx, 8
mov ecx, edx
mov edx, ebx
mov dword [ebp - 0x210], edi
mov ebx, esi
shld edi, ebx, 8
xor edx, edi
mov edi, dword [ebp - 0x210]
shl ebx, 8
shld edi, esi, 8
xor ecx, ebx
shl esi, 8
and ecx, 0xff00ff
and edx, 0xff00ff
xor ecx, esi
inc eax
xor edx, edi
mov dword [ebp - 0x210], edx
mov esi, ecx
mov edi, edx
shrd esi, edi, 0x10
mov ebx, ecx
shld edx, ebx, 0x10
shr edi, 0x10
xor edi, edx
mov edx, dword [ebp - 0x210]
shld edx, ecx, 0x10
and edi, 0xffff
xor edi, edx
mov edx, dword [ebp - 0x50]
shl ecx, 0x10
shl ebx, 0x10
xor esi, ebx
and esi, 0xffff
xor esi, ecx
mov dword [ebp + eax*8 - 0x2d0], edi
mov edi, dword [ebp - 0x54]
mov ecx, edx
mov dword [ebp + eax*8 - 0x2d4], esi
mov esi, edi
shrd esi, ecx, 0xe
shrd ecx, edi, 0xe
mov dword [ebp - 0x1b0], ecx
mov ecx, edx
mov ebx, edx
mov dword [ebp - 0x1b4], esi
mov esi, edi
shrd esi, ecx, 0x12
shrd ecx, edi, 0x12
mov dword [ebp - 0x200], ecx
mov ecx, edi
mov dword [ebp - 0x204], esi
mov esi, ebx
shrd esi, ecx, 9
xor esi, dword [ebp - 0x204]
shrd ecx, ebx, 9
mov ebx, dword [ebp - 0x3c]
xor esi, dword [ebp - 0x1b4]
and ebx, edi
mov dword [ebp - 0x248], ecx
mov ecx, edi
mov edi, dword [ebp - 0x38]
and edi, dword [ebp - 0x50]
not edx
and edx, dword [ebp - 0x48]
not ecx
and ecx, dword [ebp - 0x4c]
xor edx, edi
mov edi, dword [ebp - 0x248]
xor edi, dword [ebp - 0x200]
xor ecx, ebx
xor edi, dword [ebp - 0x1b0]
add ecx, esi
adc edx, edi
add ecx, dword [eax*8 - 0x786335c8]
mov esi, dword [ebp - 0x44]
adc edx, dword [eax*8 - 0x786335c4]
add ecx, dword [ebp + eax*8 - 0x2d4]
mov edi, esi
adc edx, dword [ebp + eax*8 - 0x2d0]
add ecx, dword [ebp - 0x1c]
adc edx, dword [ebp - 0x18]
add dword [ebp - 0x24], ecx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x2c], ecx
adc dword [ebp - 0x20], edx
mov ecx, dword [ebp - 0x40]
mov edx, ecx
shrd edi, edx, 0x1c
shrd edx, esi, 0x1c
mov dword [ebp - 0x198], edx
mov dword [ebp - 0x19c], edi
mov edx, ecx
mov edi, ecx
mov edx, esi
shrd edi, edx, 2
mov dword [ebp - 0x224], edi
mov edi, ecx
shrd edx, edi, 2
mov dword [ebp - 0x220], edx
mov edx, ecx
mov ebx, edi
mov edx, esi
shrd ebx, edx, 7
shrd edx, edi, 7
mov dword [ebp - 0x1d0], edx
mov edx, dword [ebp - 0x34]
mov edi, edx
and edx, dword [ebp - 0x44]
xor edi, esi
and edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x30]
xor edi, edx
mov edx, dword [ebp - 0x1d0]
xor edx, dword [ebp - 0x220]
mov dword [ebp - 0x1d4], ebx
xor edx, dword [ebp - 0x198]
mov ebx, esi
xor ebx, ecx
and ebx, dword [ebp - 0x10]
and esi, ecx
mov ecx, dword [ebp - 0x1d4]
xor ecx, dword [ebp - 0x224]
xor ebx, esi
xor ecx, dword [ebp - 0x19c]
add edi, ecx
adc ebx, edx
add edi, dword [ebp - 0x2c]
mov ecx, dword [ebp + 0xc]
adc ebx, dword [ebp - 0x28]
mov edx, dword [ecx]
mov esi, dword [ecx + 4]
mov dword [ebp - 0x1c], edi
add ecx, 8
xor edi, edi
or edi, edx
mov dword [ebp + 0xc], ecx
xor ecx, ecx
or esi, ecx
mov dword [ebp - 0x18], ebx
mov ebx, edi
mov edx, esi
shrd edx, ebx, 8
shr ebx, 8
mov ecx, edx
mov dword [ebp - 0xf0], edi
mov edx, ebx
mov ebx, esi
shld edi, ebx, 8
xor edx, edi
mov edi, dword [ebp - 0xf0]
shld edi, esi, 8
shl ebx, 8
xor ecx, ebx
shl esi, 8
and edx, 0xff00ff
xor edx, edi
and ecx, 0xff00ff
xor ecx, esi
mov edi, edx
mov esi, ecx
shrd esi, edi, 0x10
mov dword [ebp - 0xf0], edx
mov ebx, ecx
shld edx, ebx, 0x10
shr edi, 0x10
xor edi, edx
mov edx, dword [ebp - 0xf0]
shl ebx, 0x10
shld edx, ecx, 0x10
xor esi, ebx
shl ecx, 0x10
and esi, 0xffff
inc eax
and edi, 0xffff
xor esi, ecx
xor edi, edx
mov edx, dword [ebp - 0x20]
mov dword [ebp + eax*8 - 0x2d0], edi
mov edi, dword [ebp - 0x24]
mov dword [ebp + eax*8 - 0x2d4], esi
mov ecx, edx
mov esi, edi
shrd esi, ecx, 0xe
shrd ecx, edi, 0xe
mov dword [ebp - 0x1a8], ecx
mov ecx, edx
mov ebx, edx
mov dword [ebp - 0x1ac], esi
mov esi, edi
shrd esi, ecx, 0x12
shrd ecx, edi, 0x12
mov dword [ebp - 0x108], ecx
mov ecx, edi
mov dword [ebp - 0x10c], esi
mov esi, ebx
shrd esi, ecx, 9
xor esi, dword [ebp - 0x10c]
shrd ecx, ebx, 9
mov ebx, dword [ebp - 0x54]
xor esi, dword [ebp - 0x1ac]
and ebx, edi
not edx
and edx, dword [ebp - 0x38]
mov dword [ebp - 0x250], ecx
mov ecx, edi
mov edi, dword [ebp - 0x50]
and edi, dword [ebp - 0x20]
not ecx
and ecx, dword [ebp - 0x3c]
xor edx, edi
mov edi, dword [ebp - 0x250]
xor edi, dword [ebp - 0x108]
xor ecx, ebx
xor edi, dword [ebp - 0x1a8]
add ecx, esi
adc edx, edi
add ecx, dword [eax*8 - 0x786335c8]
mov esi, dword [ebp - 0x1c]
adc edx, dword [eax*8 - 0x786335c4]
add ecx, dword [ebp + eax*8 - 0x2d4]
mov edi, esi
adc edx, dword [ebp + eax*8 - 0x2d0]
add ecx, dword [ebp - 0x4c]
adc edx, dword [ebp - 0x48]
add dword [ebp - 0x14], ecx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x2c], ecx
adc dword [ebp - 0x10], edx
mov ecx, dword [ebp - 0x18]
mov edx, ecx
shrd edi, edx, 0x1c
shrd edx, esi, 0x1c
mov dword [ebp - 0x118], edx
mov dword [ebp - 0x11c], edi
mov edx, ecx
mov edi, ecx
mov edx, esi
shrd edi, edx, 2
mov dword [ebp - 0x17c], edi
mov edi, ecx
shrd edx, edi, 2
mov dword [ebp - 0x178], edx
mov edx, ecx
mov edx, esi
mov ebx, edi
shrd ebx, edx, 7
shrd edx, edi, 7
mov edi, dword [ebp - 0x44]
mov dword [ebp - 0x174], ebx
mov dword [ebp - 0x170], edx
mov edx, dword [ebp - 0x40]
mov ebx, edi
and edi, dword [ebp - 0x1c]
xor ebx, esi
and ebx, dword [ebp - 0x34]
mov esi, edx
xor esi, ecx
and esi, dword [ebp - 0x30]
and edx, ecx
mov ecx, dword [ebp - 0x174]
xor ebx, edi
xor esi, edx
xor ecx, dword [ebp - 0x17c]
mov edx, dword [ebp - 0x170]
xor edx, dword [ebp - 0x178]
xor ecx, dword [ebp - 0x11c]
xor edx, dword [ebp - 0x118]
add ebx, ecx
adc esi, edx
add ebx, dword [ebp - 0x2c]
mov ecx, dword [ebp + 0xc]
adc esi, dword [ebp - 0x28]
mov edx, dword [ecx]
add ecx, 8
mov dword [ebp - 0x48], esi
mov esi, dword [ecx - 4]
mov dword [ebp + 0xc], ecx
xor ecx, ecx
or esi, ecx
xor edi, edi
or edi, edx
mov dword [ebp - 0x4c], ebx
mov ebx, edi
mov edx, esi
shrd edx, ebx, 8
mov ecx, edx
shr ebx, 8
mov dword [ebp - 0x188], edi
mov edx, ebx
mov ebx, esi
shld edi, ebx, 8
xor edx, edi
mov edi, dword [ebp - 0x188]
shld edi, esi, 8
shl ebx, 8
xor ecx, ebx
and ecx, 0xff00ff
and edx, 0xff00ff
xor edx, edi
shl esi, 8
xor ecx, esi
mov esi, ecx
mov edi, edx
shrd esi, edi, 0x10
mov ebx, ecx
mov dword [ebp - 0x188], edx
shld edx, ebx, 0x10
shr edi, 0x10
xor edi, edx
mov edx, dword [ebp - 0x188]
shld edx, ecx, 0x10
shl ecx, 0x10
shl ebx, 0x10
xor esi, ebx
mov ebx, dword [ebp - 0x10]
and edi, 0xffff
xor edi, edx
inc eax
and esi, 0xffff
xor esi, ecx
mov dword [ebp + eax*8 - 0x2d0], edi
mov edi, dword [ebp - 0x14]
mov ecx, ebx
mov edx, edi
shrd edx, ecx, 0xe
shrd ecx, edi, 0xe
mov dword [ebp - 0x128], ecx
mov dword [ebp - 0x12c], edx
mov ecx, ebx
mov edx, edi
shrd edx, ecx, 0x12
shrd ecx, edi, 0x12
mov dword [ebp - 0x1b8], ecx
mov dword [ebp - 0x1bc], edx
mov edx, ebx
mov dword [ebp + eax*8 - 0x2d4], esi
mov ecx, edi
mov esi, edx
shrd esi, ecx, 9
shrd ecx, edx, 9
mov dword [ebp - 0x238], ecx
mov ecx, edi
not ecx
and edi, dword [ebp - 0x24]
and ecx, dword [ebp - 0x54]
xor esi, dword [ebp - 0x1bc]
and ebx, dword [ebp - 0x20]
xor esi, dword [ebp - 0x12c]
xor ecx, edi
mov edi, dword [ebp - 0x238]
xor edi, dword [ebp - 0x1b8]
not edx
and edx, dword [ebp - 0x50]
xor edi, dword [ebp - 0x128]
xor edx, ebx
add ecx, esi
adc edx, edi
add ecx, dword [eax*8 - 0x786335c8]
mov esi, dword [ebp - 0x4c]
adc edx, dword [eax*8 - 0x786335c4]
add ecx, dword [ebp + eax*8 - 0x2d4]
mov edi, esi
adc edx, dword [ebp + eax*8 - 0x2d0]
add ecx, dword [ebp - 0x3c]
adc edx, dword [ebp - 0x38]
add dword [ebp - 0x34], ecx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x2c], ecx
adc dword [ebp - 0x30], edx
mov ecx, dword [ebp - 0x48]
mov edx, ecx
shrd edi, edx, 0x1c
shrd edx, esi, 0x1c
mov dword [ebp - 0x1c8], edx
mov edx, ecx
mov dword [ebp - 0x1cc], edi
mov edi, edx
mov edx, esi
shrd edi, edx, 2
mov dword [ebp - 0x104], edi
mov edi, ecx
shrd edx, edi, 2
mov dword [ebp - 0x100], edx
mov edx, ecx
mov edx, esi
mov ebx, edi
shrd ebx, edx, 7
shrd edx, edi, 7
mov edi, dword [ebp - 0x1c]
mov dword [ebp - 0xfc], ebx
mov dword [ebp - 0xf8], edx
mov edx, dword [ebp - 0x18]
mov ebx, edi
and edi, dword [ebp - 0x4c]
xor ebx, esi
and ebx, dword [ebp - 0x44]
mov esi, edx
xor esi, ecx
and esi, dword [ebp - 0x40]
and edx, ecx
mov ecx, dword [ebp - 0xfc]
xor ecx, dword [ebp - 0x104]
xor esi, edx
xor ecx, dword [ebp - 0x1cc]
mov edx, dword [ebp - 0xf8]
xor edx, dword [ebp - 0x100]
xor ebx, edi
xor edx, dword [ebp - 0x1c8]
add ebx, ecx
mov ecx, dword [ebp + 0xc]
adc esi, edx
add ebx, dword [ebp - 0x2c]
mov edx, dword [ecx]
adc esi, dword [ebp - 0x28]
add ecx, 8
mov dword [ebp - 0x38], esi
mov esi, dword [ecx - 4]
mov dword [ebp + 0xc], ecx
xor ecx, ecx
xor edi, edi
inc eax
or esi, ecx
mov dword [ebp - 0x3c], ebx
or edi, edx
mov ebx, edi
mov edx, esi
shrd edx, ebx, 8
shr ebx, 8
mov ecx, edx
mov dword [ebp - 0x110], edi
mov edx, ebx
mov ebx, esi
shld edi, ebx, 8
xor edx, edi
mov edi, dword [ebp - 0x110]
shld edi, esi, 8
shl esi, 8
shl ebx, 8
xor ecx, ebx
and ecx, 0xff00ff
xor ecx, esi
and edx, 0xff00ff
xor edx, edi
mov esi, ecx
mov ebx, ecx
mov edi, edx
shrd esi, edi, 0x10
mov dword [ebp - 0x110], edx
shld edx, ebx, 0x10
shr edi, 0x10
xor edi, edx
mov edx, dword [ebp - 0x110]
shld edx, ecx, 0x10
shl ecx, 0x10
and edi, 0xffff
xor edi, edx
mov edx, dword [ebp - 0x30]
shl ebx, 0x10
xor esi, ebx
and esi, 0xffff
xor esi, ecx
mov dword [ebp + eax*8 - 0x2d4], esi
mov dword [ebp + eax*8 - 0x2d0], edi
mov edi, dword [ebp - 0x34]
mov ecx, edx
mov esi, edi
shrd esi, ecx, 0xe
shrd ecx, edi, 0xe
mov dword [ebp - 0x1d8], ecx
mov ecx, edx
mov dword [ebp - 0x1dc], esi
mov esi, edi
shrd esi, ecx, 0x12
shrd ecx, edi, 0x12
mov dword [ebp - 0x138], ecx
mov ebx, edx
mov ecx, edi
mov dword [ebp - 0x13c], esi
mov esi, ebx
shrd esi, ecx, 9
xor esi, dword [ebp - 0x13c]
shrd ecx, ebx, 9
mov ebx, dword [ebp - 0x14]
xor esi, dword [ebp - 0x1dc]
mov dword [ebp - 0x240], ecx
and ebx, edi
mov ecx, edi
mov edi, dword [ebp - 0x10]
and edi, dword [ebp - 0x30]
not edx
and edx, dword [ebp - 0x20]
not ecx
and ecx, dword [ebp - 0x24]
xor edx, edi
mov edi, dword [ebp - 0x240]
xor edi, dword [ebp - 0x138]
xor ecx, ebx
xor edi, dword [ebp - 0x1d8]
add ecx, esi
adc edx, edi
add ecx, dword [eax*8 - 0x786335c8]
adc edx, dword [eax*8 - 0x786335c4]
add ecx, dword [ebp + eax*8 - 0x2d4]
adc edx, dword [ebp + eax*8 - 0x2d0]
add ecx, dword [ebp - 0x54]
adc edx, dword [ebp - 0x50]
add dword [ebp - 0x44], ecx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x2c], ecx
adc dword [ebp - 0x40], edx
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
mov esi, edx
mov edi, ecx
shrd edi, esi, 0x1c
shrd esi, ecx, 0x1c
mov dword [ebp - 0x148], esi
mov dword [ebp - 0x14c], edi
mov esi, edx
mov edi, edx
mov esi, ecx
shrd edi, esi, 2
mov dword [ebp - 0x134], edi
mov edi, edx
shrd esi, edi, 2
mov dword [ebp - 0x130], esi
mov ebx, edi
mov esi, edx
mov esi, ecx
shrd ebx, esi, 7
shrd esi, edi, 7
mov dword [ebp - 0x120], esi
mov esi, dword [ebp - 0x4c]
mov dword [ebp - 0x124], ebx
mov ebx, dword [ebp - 0x48]
xor ebx, edx
and ebx, dword [ebp - 0x18]
mov edi, esi
and esi, ecx
xor edi, ecx
and edi, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x48]
and ecx, edx
mov edx, dword [ebp - 0x120]
xor edx, dword [ebp - 0x130]
xor ebx, ecx
xor edx, dword [ebp - 0x148]
mov ecx, dword [ebp - 0x124]
xor ecx, dword [ebp - 0x134]
xor edi, esi
xor ecx, dword [ebp - 0x14c]
mov esi, dword [ebp + 0xc]
add edi, ecx
adc ebx, edx
add edi, dword [ebp - 0x2c]
mov edx, dword [esi + 4]
adc ebx, dword [ebp - 0x28]
add esi, 8
mov ecx, ebx
mov ebx, dword [esi - 8]
mov dword [ebp + 0xc], esi
xor esi, esi
or edx, esi
mov dword [ebp - 0x54], edi
xor edi, edi
or edi, ebx
mov ebx, edx
mov dword [ebp - 0x7c], ebx
mov esi, edi
shrd edx, esi, 8
mov dword [ebp - 0x78], edi
shld edi, ebx, 8
shl ebx, 8
shr esi, 8
xor edx, ebx
mov ebx, dword [ebp - 0x78]
xor esi, edi
mov edi, dword [ebp - 0x7c]
shld ebx, edi, 8
and edx, 0xff00ff
shl edi, 8
xor edx, edi
and esi, 0xff00ff
inc eax
mov dword [ebp - 0x7c], edx
xor esi, ebx
mov edi, edx
mov ebx, esi
shrd edi, ebx, 0x10
mov dword [ebp - 0x78], esi
shld esi, edx, 0x10
shl edx, 0x10
xor edi, edx
mov edx, dword [ebp - 0x7c]
shr ebx, 0x10
xor ebx, esi
mov esi, dword [ebp - 0x78]
shld esi, edx, 0x10
and edi, 0xffff
shl edx, 0x10
xor edi, edx
and ebx, 0xffff
xor ebx, esi
mov esi, dword [ebp - 0x40]
mov dword [ebp + eax*8 - 0x2d4], edi
mov edi, dword [ebp - 0x44]
mov dword [ebp + eax*8 - 0x2d0], ebx
mov ebx, edi
mov edx, esi
shrd ebx, edx, 0xe
mov dword [ebp - 0x15c], ebx
mov ebx, edi
shrd edx, ebx, 0xe
mov dword [ebp - 0x158], edx
mov edx, esi
shrd ebx, edx, 0x12
mov dword [ebp - 0x1ec], ebx
mov ebx, edi
shrd edx, ebx, 0x12
mov dword [ebp - 0x1e8], edx
mov edx, edi
mov ebx, esi
shrd ebx, edx, 9
mov dword [ebp - 0x144], ebx
mov ebx, esi
shrd edx, ebx, 9
mov ebx, dword [ebp - 0x34]
and ebx, edi
mov dword [ebp - 0x140], edx
mov edx, edi
mov edi, dword [ebp - 0x30]
and edi, dword [ebp - 0x40]
not esi
and esi, dword [ebp - 0x10]
not edx
and edx, dword [ebp - 0x14]
xor esi, edi
mov edi, dword [ebp - 0x144]
xor edi, dword [ebp - 0x1ec]
xor edx, ebx
mov dword [ebp - 0xa4], edi
mov edi, dword [ebp - 0x140]
xor edi, dword [ebp - 0x1e8]
mov dword [ebp - 0xa0], edi
mov edi, dword [ebp - 0x15c]
xor dword [ebp - 0xa4], edi
mov edi, dword [ebp - 0xa0]
xor edi, dword [ebp - 0x158]
add edx, dword [ebp - 0xa4]
adc esi, edi
add edx, dword [eax*8 - 0x786335c8]
adc esi, dword [eax*8 - 0x786335c4]
add edx, dword [ebp + eax*8 - 0x2d4]
adc esi, dword [ebp + eax*8 - 0x2d0]
add edx, dword [ebp - 0x24]
adc esi, dword [ebp - 0x20]
add dword [ebp - 0x1c], edx
mov dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x54]
adc dword [ebp - 0x18], esi
mov dword [ebp - 0x28], esi
mov esi, ecx
mov edi, edx
shrd edi, esi, 0x1c
shrd esi, edx, 0x1c
mov dword [ebp - 0x1fc], edi
mov dword [ebp - 0x1f8], esi
mov esi, ecx
mov edi, ecx
mov dword [ebp - 0x31c], esi
mov esi, edx
shrd edi, esi, 2
mov dword [ebp - 0x164], edi
mov edi, ecx
shrd esi, edi, 2
mov dword [ebp - 0x160], esi
mov ebx, edi
mov esi, edx
shrd ebx, esi, 7
shrd esi, edi, 7
mov dword [ebp - 0x150], esi
mov esi, dword [ebp - 0x3c]
mov dword [ebp - 0x154], ebx
mov ebx, dword [ebp - 0x38]
mov edi, esi
and esi, edx
xor edi, edx
and edi, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x38]
xor ebx, ecx
and ebx, dword [ebp - 0x48]
and edx, ecx
xor ebx, edx
mov edx, dword [ebp - 0x154]
xor edx, dword [ebp - 0x164]
xor edi, esi
mov esi, dword [ebp - 0x150]
xor esi, dword [ebp - 0x160]
xor edx, dword [ebp - 0x1fc]
xor esi, dword [ebp - 0x1f8]
add edi, edx
adc ebx, esi
add edi, dword [ebp - 0x2c]
adc ebx, dword [ebp - 0x28]
mov esi, edi
inc eax
mov edi, ebx
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x20], edi
cmp eax, 0x10
jb 0x83520e84
cmp eax, 0x50
jae 0x8352338f
lea edx, [eax - 7]
mov dword [ebp - 0x70], edx
lea edx, [eax - 2]
mov dword [ebp + 0xc], edx
lea edx, [eax + 1]
mov dword [ebp - 4], edx
mov edi, edi
and edx, 0xf
mov esi, dword [ebp + edx*8 - 0x2d4]
mov edx, dword [ebp + edx*8 - 0x2d0]
mov edi, edx
mov ebx, esi
shrd ebx, edi, 1
mov dword [ebp - 0x64], ebx
mov ebx, esi
shrd edi, ebx, 1
mov dword [ebp - 0x60], edi
mov edi, edx
shrd ebx, edi, 8
mov dword [ebp - 0x84], ebx
mov ebx, esi
shrd edi, ebx, 8
shrd esi, edx, 7
xor esi, dword [ebp - 0x84]
shr edx, 7
xor esi, dword [ebp - 0x64]
xor edx, edi
xor edx, dword [ebp - 0x60]
mov dword [ebp - 0x6c], esi
mov dword [ebp - 0x68], edx
mov edx, dword [ebp + 0xc]
and edx, 0xf
mov esi, dword [ebp + edx*8 - 0x2d0]
mov edi, dword [ebp + edx*8 - 0x2d4]
mov ebx, edi
mov edx, esi
shrd ebx, edx, 0x13
mov dword [ebp - 0x5c], ebx
mov ebx, edi
shrd edx, ebx, 0x13
mov dword [ebp - 0x58], edx
mov edx, edi
mov ebx, esi
mov dword [ebp - 0x78], ebx
shrd ebx, edx, 0x1d
mov dword [ebp - 0x344], ebx
shrd edi, esi, 6
mov ebx, esi
shrd edx, ebx, 0x1d
mov ebx, edx
mov edx, edi
mov edi, dword [ebp - 0x18]
shr esi, 6
xor esi, ebx
mov ebx, dword [ebp - 0x1c]
shrd ebx, edi, 0xe
mov dword [ebp - 0x20c], ebx
mov ebx, dword [ebp - 0x1c]
shrd edi, ebx, 0xe
mov dword [ebp - 0x208], edi
mov edi, dword [ebp - 0x18]
shrd ebx, edi, 0x12
xor edx, dword [ebp - 0x344]
mov dword [ebp - 0x16c], ebx
mov ebx, dword [ebp - 0x1c]
shrd edi, ebx, 0x12
xor edx, dword [ebp - 0x5c]
xor esi, dword [ebp - 0x58]
mov dword [ebp - 0x168], edi
mov edi, ebx
mov ebx, dword [ebp - 0x18]
shrd ebx, edi, 9
mov dword [ebp - 0x164], ebx
mov ebx, dword [ebp - 0x18]
shrd edi, ebx, 9
mov ebx, dword [ebp - 0x70]
and ebx, 0xf
mov dword [ebp - 0x160], edi
mov dword [ebp - 8], ebx
mov ebx, dword [ebp + ebx*8 - 0x2d4]
mov edi, eax
and edi, 0xf
add ebx, edx
mov edx, dword [ebp - 8]
mov edx, dword [ebp + edx*8 - 0x2d0]
lea edi, [ebp + edi*8 - 0x2d4]
mov dword [ebp - 0x78], edi
adc edx, esi
add ebx, dword [ebp - 0x6c]
mov esi, dword [ebp - 0x18]
adc edx, dword [ebp - 0x68]
add dword [edi], ebx
mov ebx, dword [ebp - 0x44]
not esi
adc dword [edi + 4], edx
and esi, dword [ebp - 0x30]
mov edi, dword [ebp - 0x1c]
and ebx, edi
mov edx, edi
mov edi, dword [ebp - 0x40]
and edi, dword [ebp - 0x18]
not edx
xor esi, edi
mov edi, dword [ebp - 0x16c]
xor edi, dword [ebp - 0x20c]
and edx, dword [ebp - 0x34]
mov dword [ebp - 0xa4], edi
mov edi, dword [ebp - 0x168]
xor edi, dword [ebp - 0x208]
xor edx, ebx
mov dword [ebp - 0xa0], edi
mov edi, dword [ebp - 0x164]
xor dword [ebp - 0xa4], edi
mov edi, dword [ebp - 0xa0]
xor edi, dword [ebp - 0x160]
add edx, dword [ebp - 0xa4]
mov ebx, dword [ebp - 0x20]
adc esi, edi
add edx, dword [eax*8 - 0x786335c8]
mov edi, dword [ebp - 0x78]
adc esi, dword [eax*8 - 0x786335c4]
add edx, dword [ebp - 0x14]
adc esi, dword [ebp - 0x10]
add edx, dword [edi]
adc esi, dword [edi + 4]
add dword [ebp - 0x4c], edx
mov edi, dword [ebp - 0x24]
mov dword [ebp - 0x28], esi
adc dword [ebp - 0x48], esi
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0x2c], edx
mov edx, edi
shrd edx, esi, 0x1c
shrd esi, edi, 0x1c
mov dword [ebp - 0x230], esi
mov esi, edi
shrd ebx, esi, 2
mov dword [ebp - 0x144], ebx
mov ebx, dword [ebp - 0x20]
shrd esi, ebx, 2
mov dword [ebp - 0x140], esi
mov esi, edi
shrd ebx, esi, 7
mov dword [ebp - 0x154], ebx
mov ebx, dword [ebp - 0x20]
xor edx, dword [ebp - 0x154]
shrd esi, ebx, 7
mov dword [ebp - 0x150], esi
mov esi, dword [ebp - 0x54]
xor esi, edi
mov edi, ecx
xor edi, ebx
mov dword [ebp - 0xc0], edi
mov edi, dword [ebp - 0x54]
and edi, dword [ebp - 0x24]
mov dword [ebp - 0xc4], esi
and esi, dword [ebp - 0x3c]
mov dword [ebp - 0xe4], edi
xor esi, dword [ebp - 0xe4]
mov edi, ecx
and edi, ebx
mov dword [ebp - 0xe0], edi
mov edi, dword [ebp - 0xc0]
and edi, dword [ebp - 0x38]
mov dword [ebp - 0x9c], edx
mov edx, dword [ebp - 0x230]
xor edi, dword [ebp - 0xe0]
xor edx, dword [ebp - 0x150]
mov dword [ebp - 0x98], edx
mov edx, dword [ebp - 0x144]
xor dword [ebp - 0x9c], edx
mov edx, dword [ebp - 0x98]
xor edx, dword [ebp - 0x140]
add esi, dword [ebp - 0x9c]
adc edi, edx
add esi, dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
adc edi, dword [ebp - 0x28]
mov dword [ebp - 0x14], esi
mov esi, 1
add dword [ebp + 0xc], esi
add dword [ebp - 0x70], esi
add edx, esi
mov dword [ebp - 4], edx
and edx, 0xf
add eax, esi
mov esi, dword [ebp + edx*8 - 0x2d4]
mov edx, dword [ebp + edx*8 - 0x2d0]
mov ebx, esi
mov dword [ebp - 0x10], edi
mov edi, edx
shrd ebx, edi, 1
mov dword [ebp - 0x64], ebx
mov ebx, esi
shrd edi, ebx, 1
mov dword [ebp - 0x60], edi
mov edi, edx
shrd ebx, edi, 8
mov dword [ebp - 0x84], ebx
mov ebx, esi
shrd esi, edx, 7
xor esi, dword [ebp - 0x84]
shrd edi, ebx, 8
xor esi, dword [ebp - 0x64]
shr edx, 7
xor edx, edi
xor edx, dword [ebp - 0x60]
mov dword [ebp - 0x6c], esi
mov dword [ebp - 0x68], edx
mov edx, dword [ebp + 0xc]
and edx, 0xf
mov esi, dword [ebp + edx*8 - 0x2d0]
mov edi, dword [ebp + edx*8 - 0x2d4]
mov edx, esi
mov ebx, edi
shrd ebx, edx, 0x13
mov dword [ebp - 0x5c], ebx
mov ebx, edi
shrd edx, ebx, 0x13
mov ebx, esi
mov dword [ebp - 0x58], edx
mov edx, edi
mov dword [ebp - 8], ebx
shrd ebx, edx, 0x1d
shrd edi, esi, 6
mov dword [ebp - 0x37c], ebx
mov ebx, esi
shrd edx, ebx, 0x1d
mov ebx, dword [ebp - 0x4c]
shr esi, 6
xor esi, edx
xor esi, dword [ebp - 0x58]
mov edx, dword [ebp - 0x48]
xor edi, dword [ebp - 0x37c]
mov dword [ebp - 0x100], esi
xor edi, dword [ebp - 0x5c]
mov esi, ebx
shrd esi, edx, 0xe
mov dword [ebp - 0x1e4], esi
mov esi, ebx
shrd edx, esi, 0xe
mov dword [ebp - 0x1e0], edx
mov edx, dword [ebp - 0x48]
shrd esi, edx, 0x12
mov dword [ebp - 0x1f4], esi
mov esi, ebx
shrd edx, esi, 0x12
mov esi, dword [ebp - 0x48]
mov dword [ebp - 0x1f0], edx
mov edx, ebx
shrd esi, edx, 9
mov dword [ebp - 0x134], esi
mov esi, dword [ebp - 0x48]
shrd edx, esi, 9
mov dword [ebp - 0x130], edx
mov edx, eax
and edx, 0xf
lea edx, [ebp + edx*8 - 0x2d4]
mov dword [ebp - 0x78], edx
mov edx, dword [ebp - 0x70]
and edx, 0xf
mov esi, dword [ebp + edx*8 - 0x2d4]
add esi, edi
mov edi, dword [ebp + edx*8 - 0x2d0]
adc edi, dword [ebp - 0x100]
add esi, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x78]
adc edi, dword [ebp - 0x68]
add dword [edx], esi
mov esi, dword [ebp - 0x1c]
adc dword [edx + 4], edi
and esi, ebx
mov edi, dword [ebp - 0x48]
mov edx, ebx
mov ebx, dword [ebp - 0x18]
and ebx, dword [ebp - 0x48]
not edx
and edx, dword [ebp - 0x44]
not edi
and edi, dword [ebp - 0x40]
xor edx, esi
mov esi, dword [ebp - 0x1f4]
xor esi, dword [ebp - 0x1e4]
xor edi, ebx
mov dword [ebp - 0xb4], esi
mov esi, dword [ebp - 0x1f0]
xor esi, dword [ebp - 0x1e0]
mov ebx, dword [ebp - 0x14]
mov dword [ebp - 0xb0], esi
mov esi, dword [ebp - 0x134]
xor dword [ebp - 0xb4], esi
mov esi, dword [ebp - 0xb0]
xor esi, dword [ebp - 0x130]
add edx, dword [ebp - 0xb4]
adc edi, esi
add edx, dword [eax*8 - 0x786335c8]
mov esi, dword [ebp - 0x78]
adc edi, dword [eax*8 - 0x786335c4]
add edx, dword [ebp - 0x34]
adc edi, dword [ebp - 0x30]
add edx, dword [esi]
adc edi, dword [esi + 4]
add dword [ebp - 0x3c], edx
mov esi, dword [ebp - 0x10]
adc dword [ebp - 0x38], edi
shrd ebx, esi, 0x1c
mov dword [ebp - 0x184], ebx
mov ebx, dword [ebp - 0x14]
shrd esi, ebx, 0x1c
mov dword [ebp - 0x180], esi
mov esi, ebx
mov ebx, dword [ebp - 0x10]
shrd ebx, esi, 2
mov dword [ebp - 0x114], ebx
mov ebx, dword [ebp - 0x10]
shrd esi, ebx, 2
mov dword [ebp - 0x110], esi
mov esi, dword [ebp - 0x14]
shrd ebx, esi, 7
mov dword [ebp - 0x124], ebx
mov ebx, dword [ebp - 0x10]
shrd esi, ebx, 7
mov dword [ebp - 0x120], esi
mov esi, dword [ebp - 0xc4]
and esi, dword [ebp - 0x14]
mov dword [ebp - 0x8c], esi
mov esi, dword [ebp - 0xc0]
and esi, ebx
mov ebx, dword [ebp - 0xe4]
xor dword [ebp - 0x8c], ebx
xor esi, dword [ebp - 0xe0]
mov dword [ebp - 0x88], esi
mov esi, dword [ebp - 0x184]
xor esi, dword [ebp - 0x124]
mov dword [ebp - 0x94], esi
mov esi, dword [ebp - 0x180]
xor esi, dword [ebp - 0x120]
mov dword [ebp - 0x90], esi
mov esi, dword [ebp - 0x114]
xor dword [ebp - 0x94], esi
mov esi, dword [ebp - 0x110]
xor dword [ebp - 0x90], esi
mov esi, dword [ebp - 0x94]
add dword [ebp - 0x8c], esi
mov esi, dword [ebp - 0x88]
mov ebx, dword [ebp - 0x8c]
adc esi, dword [ebp - 0x90]
add ebx, edx
adc esi, edi
mov edx, dword [ebp - 4]
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x34], ebx
mov esi, 1
add dword [ebp + 0xc], esi
add dword [ebp - 0x70], esi
add edx, esi
mov dword [ebp - 4], edx
and edx, 0xf
add eax, esi
mov esi, dword [ebp + edx*8 - 0x2d4]
mov edx, dword [ebp + edx*8 - 0x2d0]
mov edi, edx
mov ebx, esi
shrd ebx, edi, 1
mov dword [ebp - 0x64], ebx
mov ebx, esi
shrd edi, ebx, 1
mov dword [ebp - 0x60], edi
mov edi, edx
shrd ebx, edi, 8
mov dword [ebp - 0x84], ebx
mov ebx, esi
shrd esi, edx, 7
xor esi, dword [ebp - 0x84]
shrd edi, ebx, 8
xor esi, dword [ebp - 0x64]
shr edx, 7
xor edx, edi
xor edx, dword [ebp - 0x60]
mov dword [ebp - 0x6c], esi
mov dword [ebp - 0x68], edx
mov edx, dword [ebp + 0xc]
and edx, 0xf
mov esi, dword [ebp + edx*8 - 0x2d0]
mov edi, dword [ebp + edx*8 - 0x2d4]
mov edx, esi
mov ebx, edi
shrd ebx, edx, 0x13
mov dword [ebp - 0x5c], ebx
mov ebx, edi
shrd edx, ebx, 0x13
mov dword [ebp - 0x58], edx
mov ebx, esi
mov edx, edi
mov dword [ebp - 8], ebx
shrd ebx, edx, 0x1d
mov dword [ebp - 0x354], ebx
mov ebx, esi
shrd edx, ebx, 0x1d
shrd edi, esi, 6
mov ebx, edx
shr esi, 6
xor esi, ebx
xor esi, dword [ebp - 0x58]
mov edx, edi
xor edx, dword [ebp - 0x354]
mov edi, dword [ebp - 0x3c]
xor edx, dword [ebp - 0x5c]
mov dword [ebp - 0x100], esi
mov esi, dword [ebp - 0x38]
mov ebx, edi
shrd ebx, esi, 0xe
mov dword [ebp - 0x21c], ebx
mov ebx, edi
shrd esi, ebx, 0xe
mov dword [ebp - 0x218], esi
mov esi, dword [ebp - 0x38]
shrd ebx, esi, 0x12
mov dword [ebp - 0x194], ebx
mov ebx, edi
shrd esi, ebx, 0x12
mov ebx, dword [ebp - 0x38]
mov dword [ebp - 0x190], esi
mov esi, edi
shrd ebx, esi, 9
mov dword [ebp - 0xfc], ebx
mov ebx, dword [ebp - 0x38]
shrd esi, ebx, 9
mov dword [ebp - 0xf8], esi
mov esi, eax
and esi, 0xf
lea esi, [ebp + esi*8 - 0x2d4]
mov dword [ebp - 0x78], esi
mov esi, dword [ebp - 0x70]
and esi, 0xf
mov ebx, dword [ebp + esi*8 - 0x2d4]
mov esi, dword [ebp + esi*8 - 0x2d0]
add ebx, edx
adc esi, dword [ebp - 0x100]
add ebx, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x78]
adc esi, dword [ebp - 0x68]
add dword [edx], ebx
mov ebx, dword [ebp - 0x4c]
adc dword [edx + 4], esi
mov esi, dword [ebp - 0x38]
and ebx, edi
mov edx, edi
mov edi, dword [ebp - 0x48]
and edi, dword [ebp - 0x38]
not esi
and esi, dword [ebp - 0x18]
not edx
and edx, dword [ebp - 0x1c]
xor esi, edi
mov edi, dword [ebp - 0x194]
xor edi, dword [ebp - 0x21c]
xor edx, ebx
mov dword [ebp - 0xac], edi
mov edi, dword [ebp - 0x190]
xor edi, dword [ebp - 0x218]
mov dword [ebp - 0xa8], edi
mov edi, dword [ebp - 0xfc]
xor dword [ebp - 0xac], edi
mov edi, dword [ebp - 0xa8]
xor edi, dword [ebp - 0xf8]
add edx, dword [ebp - 0xac]
adc esi, edi
add edx, dword [eax*8 - 0x786335c8]
mov edi, dword [ebp - 0x78]
adc esi, dword [eax*8 - 0x786335c4]
add edx, dword [ebp - 0x44]
adc esi, dword [ebp - 0x40]
add edx, dword [edi]
adc esi, dword [edi + 4]
add dword [ebp - 0x54], edx
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x30]
adc ecx, esi
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x34]
mov esi, edx
mov edi, ecx
shrd edi, esi, 0x1c
shrd esi, ecx, 0x1c
mov dword [ebp - 0x1a0], esi
mov esi, edx
mov dword [ebp - 0x1a4], edi
mov edi, esi
mov esi, ecx
shrd edi, esi, 2
mov dword [ebp - 0x17c], edi
mov edi, edx
shrd esi, edi, 2
mov dword [ebp - 0x178], esi
mov esi, edx
and edx, dword [ebp - 0x20]
mov esi, ecx
mov ebx, edi
shrd ebx, esi, 7
shrd esi, edi, 7
xor edi, dword [ebp - 0x20]
mov dword [ebp - 0x188], esi
and edi, dword [ebp - 0x10]
mov esi, ecx
and ecx, dword [ebp - 0x24]
xor esi, dword [ebp - 0x24]
xor edi, edx
and esi, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1a0]
xor edx, dword [ebp - 0x188]
xor esi, ecx
xor edx, dword [ebp - 0x178]
mov ecx, dword [ebp - 0x1a4]
xor ecx, ebx
xor ecx, dword [ebp - 0x17c]
mov dword [ebp - 0x18c], ebx
add esi, ecx
mov ecx, dword [ebp - 4]
adc edi, edx
add esi, dword [ebp - 0x2c]
mov edx, 1
adc edi, dword [ebp - 0x28]
add dword [ebp + 0xc], edx
add dword [ebp - 0x70], edx
add ecx, edx
mov dword [ebp - 4], ecx
and ecx, 0xf
add eax, edx
mov edx, dword [ebp + ecx*8 - 0x2d4]
mov ecx, dword [ebp + ecx*8 - 0x2d0]
mov ebx, edx
mov dword [ebp - 0x44], esi
mov esi, edi
mov edi, ecx
shrd ebx, edi, 1
mov dword [ebp - 0x64], ebx
mov ebx, edx
shrd edi, ebx, 1
mov dword [ebp - 0x60], edi
mov edi, ecx
shrd ebx, edi, 8
mov dword [ebp - 0x84], ebx
mov ebx, edx
shrd edi, ebx, 8
shrd edx, ecx, 7
xor edx, dword [ebp - 0x84]
shr ecx, 7
xor edx, dword [ebp - 0x64]
xor ecx, edi
xor ecx, dword [ebp - 0x60]
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x68], ecx
mov ecx, dword [ebp + 0xc]
and ecx, 0xf
mov edi, dword [ebp + ecx*8 - 0x2d4]
mov edx, dword [ebp + ecx*8 - 0x2d0]
mov ecx, edx
mov ebx, edi
shrd ebx, ecx, 0x13
mov dword [ebp - 0x5c], ebx
mov ebx, edi
shrd ecx, ebx, 0x13
mov dword [ebp - 0x58], ecx
mov ebx, edx
mov ecx, edi
mov dword [ebp - 8], ebx
shrd ebx, ecx, 0x1d
mov dword [ebp - 0x374], ebx
mov ebx, edx
shrd ecx, ebx, 0x1d
mov dword [ebp - 0x40], esi
mov ebx, ecx
shrd edi, edx, 6
shr edx, 6
xor edx, ebx
mov ebx, dword [ebp - 0x54]
mov ecx, edi
mov edi, dword [ebp - 0x50]
shrd ebx, edi, 0xe
mov dword [ebp - 0x1b4], ebx
mov ebx, dword [ebp - 0x54]
shrd edi, ebx, 0xe
xor ecx, dword [ebp - 0x374]
mov dword [ebp - 0x1b0], edi
mov edi, dword [ebp - 0x50]
shrd ebx, edi, 0x12
xor ecx, dword [ebp - 0x5c]
xor edx, dword [ebp - 0x58]
mov dword [ebp - 0x204], ebx
mov ebx, dword [ebp - 0x54]
shrd edi, ebx, 0x12
mov dword [ebp - 0x200], edi
mov edi, ebx
mov ebx, dword [ebp - 0x50]
shrd ebx, edi, 9
mov dword [ebp - 0x174], ebx
mov ebx, dword [ebp - 0x50]
shrd edi, ebx, 9
mov ebx, dword [ebp - 0x70]
mov dword [ebp - 0x170], edi
and ebx, 0xf
mov dword [ebp - 8], ebx
mov ebx, dword [ebp + ebx*8 - 0x2d4]
mov edi, eax
and edi, 0xf
add ebx, ecx
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp + ecx*8 - 0x2d0]
adc ecx, edx
add ebx, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x50]
adc ecx, dword [ebp - 0x68]
add dword [ebp + edi*8 - 0x2d4], ebx
mov ebx, dword [ebp - 0x3c]
lea edi, [ebp + edi*8 - 0x2d4]
adc dword [edi + 4], ecx
mov dword [ebp - 0x78], edi
mov edi, dword [ebp - 0x54]
and ebx, edi
mov ecx, edi
mov edi, dword [ebp - 0x38]
and edi, dword [ebp - 0x50]
not edx
and edx, dword [ebp - 0x48]
not ecx
and ecx, dword [ebp - 0x4c]
xor edx, edi
mov edi, dword [ebp - 0x204]
xor edi, dword [ebp - 0x1b4]
xor ecx, ebx
mov dword [ebp - 0xbc], edi
mov edi, dword [ebp - 0x200]
xor edi, dword [ebp - 0x1b0]
mov dword [ebp - 0xb8], edi
mov edi, dword [ebp - 0x174]
xor dword [ebp - 0xbc], edi
mov edi, dword [ebp - 0xb8]
xor edi, dword [ebp - 0x170]
add ecx, dword [ebp - 0xbc]
adc edx, edi
add ecx, dword [eax*8 - 0x786335c8]
mov edi, dword [ebp - 0x78]
adc edx, dword [eax*8 - 0x786335c4]
add ecx, dword [ebp - 0x1c]
adc edx, dword [ebp - 0x18]
add ecx, dword [edi]
adc edx, dword [edi + 4]
add dword [ebp - 0x24], ecx
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 0x44]
adc dword [ebp - 0x20], edx
mov dword [ebp - 0x28], edx
mov edx, esi
mov edi, ecx
shrd edi, edx, 0x1c
shrd edx, ecx, 0x1c
mov dword [ebp - 0x198], edx
mov dword [ebp - 0x19c], edi
mov edx, esi
mov edi, esi
mov edx, ecx
shrd edi, edx, 2
mov dword [ebp - 0x224], edi
mov edi, esi
shrd edx, edi, 2
mov dword [ebp - 0x220], edx
mov ebx, edi
mov edx, esi
mov edx, ecx
shrd ebx, edx, 7
shrd edx, edi, 7
mov dword [ebp - 0xf4], ebx
mov ebx, dword [ebp - 0x30]
mov dword [ebp - 0xf0], edx
mov edx, dword [ebp - 0x34]
mov edi, edx
and edx, ecx
xor edi, ecx
and edi, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x30]
and ecx, esi
xor ebx, esi
and ebx, dword [ebp - 0x10]
xor edi, edx
mov edx, dword [ebp - 0x198]
xor edx, dword [ebp - 0xf0]
xor ebx, ecx
xor edx, dword [ebp - 0x220]
mov ecx, dword [ebp - 0x19c]
xor ecx, dword [ebp - 0xf4]
xor ecx, dword [ebp - 0x224]
add edi, ecx
mov ecx, dword [ebp - 4]
adc ebx, edx
add edi, dword [ebp - 0x2c]
mov edx, 1
adc ebx, dword [ebp - 0x28]
add dword [ebp + 0xc], edx
add dword [ebp - 0x70], edx
add ecx, edx
mov dword [ebp - 4], ecx
and ecx, 0xf
add eax, edx
mov edx, dword [ebp + ecx*8 - 0x2d4]
mov ecx, dword [ebp + ecx*8 - 0x2d0]
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x1c], edi
mov edi, ecx
mov ebx, edx
shrd ebx, edi, 1
mov dword [ebp - 0x64], ebx
mov ebx, edx
shrd edi, ebx, 1
mov dword [ebp - 0x60], edi
mov edi, ecx
shrd ebx, edi, 8
mov dword [ebp - 0x84], ebx
mov ebx, edx
shrd edx, ecx, 7
xor edx, dword [ebp - 0x84]
shrd edi, ebx, 8
xor edx, dword [ebp - 0x64]
shr ecx, 7
xor ecx, edi
xor ecx, dword [ebp - 0x60]
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x68], ecx
mov ecx, dword [ebp + 0xc]
and ecx, 0xf
mov edi, dword [ebp + ecx*8 - 0x2d4]
mov edx, dword [ebp + ecx*8 - 0x2d0]
mov ebx, edi
mov ecx, edx
shrd ebx, ecx, 0x13
mov dword [ebp - 0x5c], ebx
mov ebx, edi
shrd ecx, ebx, 0x13
mov dword [ebp - 0x58], ecx
mov ecx, edi
shrd edi, edx, 6
mov ebx, edx
mov dword [ebp - 8], ebx
shrd ebx, ecx, 0x1d
mov dword [ebp - 0x364], ebx
mov ebx, edx
shrd ecx, ebx, 0x1d
mov ebx, ecx
mov ecx, edi
mov edi, dword [ebp - 0x20]
shr edx, 6
xor edx, ebx
mov ebx, dword [ebp - 0x24]
shrd ebx, edi, 0xe
mov dword [ebp - 0x1ac], ebx
mov ebx, dword [ebp - 0x24]
shrd edi, ebx, 0xe
mov dword [ebp - 0x1a8], edi
mov edi, dword [ebp - 0x20]
shrd ebx, edi, 0x12
xor ecx, dword [ebp - 0x364]
xor edx, dword [ebp - 0x58]
xor ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x10c], ebx
mov ebx, dword [ebp - 0x24]
shrd edi, ebx, 0x12
mov dword [ebp - 0x108], edi
mov edi, ebx
mov ebx, dword [ebp - 0x20]
shrd ebx, edi, 9
mov dword [ebp - 0x1d4], ebx
mov ebx, dword [ebp - 0x20]
shrd edi, ebx, 9
mov ebx, dword [ebp - 0x70]
mov dword [ebp - 0x1d0], edi
and ebx, 0xf
mov dword [ebp - 8], ebx
mov ebx, dword [ebp + ebx*8 - 0x2d4]
mov edi, eax
and edi, 0xf
add ebx, ecx
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp + ecx*8 - 0x2d0]
adc ecx, edx
add ebx, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x20]
adc ecx, dword [ebp - 0x68]
add dword [ebp + edi*8 - 0x2d4], ebx
mov ebx, dword [ebp - 0x54]
lea edi, [ebp + edi*8 - 0x2d4]
adc dword [edi + 4], ecx
mov dword [ebp - 0x78], edi
mov edi, dword [ebp - 0x24]
and ebx, edi
mov ecx, edi
mov edi, dword [ebp - 0x50]
and edi, dword [ebp - 0x20]
not edx
and edx, dword [ebp - 0x38]
not ecx
and ecx, dword [ebp - 0x3c]
xor edx, edi
mov edi, dword [ebp - 0x10c]
xor edi, dword [ebp - 0x1ac]
xor ecx, ebx
mov dword [ebp - 0xcc], edi
mov edi, dword [ebp - 0x108]
xor edi, dword [ebp - 0x1a8]
mov dword [ebp - 0xc8], edi
mov edi, dword [ebp - 0x1d4]
xor dword [ebp - 0xcc], edi
mov edi, dword [ebp - 0xc8]
xor edi, dword [ebp - 0x1d0]
add ecx, dword [ebp - 0xcc]
adc edx, edi
add ecx, dword [eax*8 - 0x786335c8]
adc edx, dword [eax*8 - 0x786335c4]
add ecx, dword [ebp - 0x4c]
mov edi, dword [ebp - 0x78]
adc edx, dword [ebp - 0x48]
add ecx, dword [edi]
adc edx, dword [edi + 4]
add dword [ebp - 0x14], ecx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x2c], ecx
adc dword [ebp - 0x10], edx
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x18]
mov edi, ecx
shrd edi, edx, 0x1c
shrd edx, ecx, 0x1c
mov dword [ebp - 0x11c], edi
mov edi, dword [ebp - 0x18]
mov dword [ebp - 0x118], edx
mov edx, ecx
shrd edi, edx, 2
mov dword [ebp - 0x1c4], edi
mov edi, dword [ebp - 0x18]
shrd edx, edi, 2
mov dword [ebp - 0x1c0], edx
mov edx, ecx
mov ebx, edi
shrd ebx, edx, 7
shrd edx, edi, 7
mov dword [ebp - 0x210], edx
mov edx, dword [ebp - 0x44]
mov edi, edx
xor edi, ecx
and edi, dword [ebp - 0x34]
and edx, ecx
mov ecx, dword [ebp - 0x11c]
mov dword [ebp - 0x214], ebx
xor ecx, dword [ebp - 0x214]
xor edi, edx
xor ecx, dword [ebp - 0x1c4]
mov edx, dword [ebp - 0x118]
xor edx, dword [ebp - 0x210]
mov ebx, esi
xor ebx, dword [ebp - 0x18]
and esi, dword [ebp - 0x18]
and ebx, dword [ebp - 0x30]
xor edx, dword [ebp - 0x1c0]
xor ebx, esi
add edi, ecx
mov ecx, dword [ebp - 4]
adc ebx, edx
add edi, dword [ebp - 0x2c]
mov edx, 1
adc ebx, dword [ebp - 0x28]
add dword [ebp + 0xc], edx
add dword [ebp - 0x70], edx
add ecx, edx
mov dword [ebp - 4], ecx
and ecx, 0xf
add eax, edx
mov edx, dword [ebp + ecx*8 - 0x2d4]
mov ecx, dword [ebp + ecx*8 - 0x2d0]
mov esi, ebx
mov dword [ebp - 0x4c], edi
mov ebx, edx
mov edi, ecx
shrd ebx, edi, 1
mov dword [ebp - 0x64], ebx
mov ebx, edx
shrd edi, ebx, 1
mov dword [ebp - 0x60], edi
mov edi, ecx
shrd ebx, edi, 8
mov dword [ebp - 0x84], ebx
mov ebx, edx
shrd edx, ecx, 7
xor edx, dword [ebp - 0x84]
shrd edi, ebx, 8
shr ecx, 7
xor ecx, edi
xor edx, dword [ebp - 0x64]
mov dword [ebp - 0x48], esi
xor ecx, dword [ebp - 0x60]
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x68], ecx
mov ecx, dword [ebp + 0xc]
and ecx, 0xf
mov edx, dword [ebp + ecx*8 - 0x2d0]
mov edi, dword [ebp + ecx*8 - 0x2d4]
mov ebx, edi
mov ecx, edx
shrd ebx, ecx, 0x13
mov dword [ebp - 0x5c], ebx
mov ebx, edi
shrd ecx, ebx, 0x13
mov dword [ebp - 0x58], ecx
mov ecx, edi
shrd edi, edx, 6
mov ebx, edx
mov dword [ebp - 8], ebx
shrd ebx, ecx, 0x1d
mov dword [ebp - 0x34c], ebx
mov ebx, edx
shrd ecx, ebx, 0x1d
mov ebx, ecx
mov ecx, edi
mov edi, dword [ebp - 0x10]
shr edx, 6
xor edx, ebx
mov ebx, dword [ebp - 0x14]
shrd ebx, edi, 0xe
mov dword [ebp - 0x12c], ebx
mov ebx, dword [ebp - 0x14]
shrd edi, ebx, 0xe
xor ecx, dword [ebp - 0x34c]
mov dword [ebp - 0x128], edi
mov edi, dword [ebp - 0x10]
shrd ebx, edi, 0x12
xor ecx, dword [ebp - 0x5c]
xor edx, dword [ebp - 0x58]
mov dword [ebp - 0x1bc], ebx
mov ebx, dword [ebp - 0x14]
shrd edi, ebx, 0x12
mov dword [ebp - 0x1b8], edi
mov edi, ebx
mov ebx, dword [ebp - 0x10]
shrd ebx, edi, 9
mov dword [ebp - 0x22c], ebx
mov ebx, dword [ebp - 0x10]
shrd edi, ebx, 9
mov ebx, dword [ebp - 0x70]
and ebx, 0xf
mov dword [ebp - 0x228], edi
mov dword [ebp - 8], ebx
mov ebx, dword [ebp + ebx*8 - 0x2d4]
mov edi, eax
and edi, 0xf
add ebx, ecx
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp + ecx*8 - 0x2d0]
adc ecx, edx
add ebx, dword [ebp - 0x6c]
lea edi, [ebp + edi*8 - 0x2d4]
adc ecx, dword [ebp - 0x68]
add dword [edi], ebx
mov ebx, dword [ebp - 0x10]
mov dword [ebp - 0x78], edi
adc dword [edi + 4], ecx
mov edi, dword [ebp - 0x14]
mov ecx, edi
and edi, dword [ebp - 0x24]
not ecx
and ecx, dword [ebp - 0x54]
mov edx, ebx
and ebx, dword [ebp - 0x20]
not edx
and edx, dword [ebp - 0x50]
xor ecx, edi
mov edi, dword [ebp - 0x1bc]
xor edx, ebx
xor edi, dword [ebp - 0x12c]
mov dword [ebp - 0xdc], edi
mov edi, dword [ebp - 0x1b8]
xor edi, dword [ebp - 0x128]
mov dword [ebp - 0xd8], edi
mov edi, dword [ebp - 0x22c]
xor dword [ebp - 0xdc], edi
mov edi, dword [ebp - 0xd8]
xor edi, dword [ebp - 0x228]
add ecx, dword [ebp - 0xdc]
adc edx, edi
add ecx, dword [eax*8 - 0x786335c8]
mov edi, dword [ebp - 0x78]
adc edx, dword [eax*8 - 0x786335c4]
add ecx, dword [ebp - 0x3c]
adc edx, dword [ebp - 0x38]
add ecx, dword [edi]
adc edx, dword [edi + 4]
add dword [ebp - 0x34], ecx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x2c], ecx
adc dword [ebp - 0x30], edx
mov ecx, dword [ebp - 0x4c]
mov edi, ecx
mov edx, esi
shrd edi, edx, 0x1c
shrd edx, ecx, 0x1c
mov dword [ebp - 0x1c8], edx
mov dword [ebp - 0x1cc], edi
mov edx, esi
mov edi, esi
mov edx, ecx
shrd edi, edx, 2
mov dword [ebp - 0x32c], edi
mov edi, esi
shrd edx, edi, 2
mov dword [ebp - 0x328], edx
mov ebx, edi
mov edx, esi
mov edx, ecx
shrd ebx, edx, 7
shrd edx, edi, 7
mov dword [ebp - 0x2dc], ebx
mov ebx, dword [ebp - 0x18]
mov dword [ebp - 0x2d8], edx
mov edx, dword [ebp - 0x1c]
xor ebx, esi
and ebx, dword [ebp - 0x40]
mov edi, edx
and edx, ecx
xor edi, ecx
and edi, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x18]
and ecx, esi
xor ebx, ecx
mov ecx, dword [ebp - 0x1cc]
xor ecx, dword [ebp - 0x2dc]
xor edi, edx
xor ecx, dword [ebp - 0x32c]
mov edx, dword [ebp - 0x1c8]
xor edx, dword [ebp - 0x2d8]
xor edx, dword [ebp - 0x328]
add edi, ecx
mov ecx, dword [ebp - 4]
adc ebx, edx
add edi, dword [ebp - 0x2c]
mov edx, 1
adc ebx, dword [ebp - 0x28]
add dword [ebp + 0xc], edx
add dword [ebp - 0x70], edx
add ecx, edx
mov dword [ebp - 4], ecx
and ecx, 0xf
add eax, edx
mov edx, dword [ebp + ecx*8 - 0x2d4]
mov ecx, dword [ebp + ecx*8 - 0x2d0]
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x3c], edi
mov edi, ecx
mov ebx, edx
shrd ebx, edi, 1
mov dword [ebp - 0x64], ebx
mov ebx, edx
shrd edi, ebx, 1
mov dword [ebp - 0x60], edi
mov edi, ecx
shrd ebx, edi, 8
mov dword [ebp - 0x84], ebx
mov ebx, edx
shrd edi, ebx, 8
shrd edx, ecx, 7
xor edx, dword [ebp - 0x84]
shr ecx, 7
xor edx, dword [ebp - 0x64]
xor ecx, edi
xor ecx, dword [ebp - 0x60]
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x68], ecx
mov ecx, dword [ebp + 0xc]
and ecx, 0xf
mov edx, dword [ebp + ecx*8 - 0x2d0]
mov edi, dword [ebp + ecx*8 - 0x2d4]
mov ebx, edi
mov ecx, edx
shrd ebx, ecx, 0x13
mov dword [ebp - 0x5c], ebx
mov ebx, edi
shrd ecx, ebx, 0x13
mov dword [ebp - 0x58], ecx
mov ecx, edi
mov ebx, edx
mov dword [ebp - 8], ebx
shrd ebx, ecx, 0x1d
mov dword [ebp - 0x35c], ebx
shrd edi, edx, 6
mov ebx, edx
shrd ecx, ebx, 0x1d
mov ebx, ecx
mov ecx, edi
mov edi, dword [ebp - 0x30]
shr edx, 6
xor edx, ebx
mov ebx, dword [ebp - 0x34]
shrd ebx, edi, 0xe
mov dword [ebp - 0x1dc], ebx
mov ebx, dword [ebp - 0x34]
shrd edi, ebx, 0xe
xor ecx, dword [ebp - 0x35c]
mov dword [ebp - 0x1d8], edi
mov edi, dword [ebp - 0x30]
shrd ebx, edi, 0x12
xor ecx, dword [ebp - 0x5c]
xor edx, dword [ebp - 0x58]
mov dword [ebp - 0x13c], ebx
mov ebx, dword [ebp - 0x34]
shrd edi, ebx, 0x12
mov dword [ebp - 0x138], edi
mov edi, ebx
mov ebx, dword [ebp - 0x30]
shrd ebx, edi, 9
mov dword [ebp - 0x304], ebx
mov ebx, dword [ebp - 0x30]
shrd edi, ebx, 9
mov ebx, dword [ebp - 0x70]
and ebx, 0xf
mov dword [ebp - 0x300], edi
mov dword [ebp - 8], ebx
mov ebx, dword [ebp + ebx*8 - 0x2d4]
mov edi, eax
and edi, 0xf
add ebx, ecx
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp + ecx*8 - 0x2d0]
adc ecx, edx
add ebx, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x30]
adc ecx, dword [ebp - 0x68]
add dword [ebp + edi*8 - 0x2d4], ebx
lea edi, [ebp + edi*8 - 0x2d4]
mov dword [ebp - 0x78], edi
adc dword [edi + 4], ecx
mov edi, dword [ebp - 0x34]
mov ecx, edi
not ecx
not edx
and edx, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x14]
and ebx, edi
mov edi, dword [ebp - 0x10]
and edi, dword [ebp - 0x30]
and ecx, dword [ebp - 0x24]
xor edx, edi
mov edi, dword [ebp - 0x13c]
xor edi, dword [ebp - 0x1dc]
xor ecx, ebx
mov dword [ebp - 0xec], edi
mov edi, dword [ebp - 0x138]
xor edi, dword [ebp - 0x1d8]
mov dword [ebp - 0xe8], edi
mov edi, dword [ebp - 0x304]
xor dword [ebp - 0xec], edi
mov edi, dword [ebp - 0xe8]
xor edi, dword [ebp - 0x300]
add ecx, dword [ebp - 0xec]
adc edx, edi
add ecx, dword [eax*8 - 0x786335c8]
mov edi, dword [ebp - 0x78]
adc edx, dword [eax*8 - 0x786335c4]
add ecx, dword [ebp - 0x54]
adc edx, dword [ebp - 0x50]
add ecx, dword [edi]
adc edx, dword [edi + 4]
add dword [ebp - 0x44], ecx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x2c], ecx
adc dword [ebp - 0x40], edx
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
mov edi, ecx
shrd edi, edx, 0x1c
shrd edx, ecx, 0x1c
mov dword [ebp - 0x148], edx
mov dword [ebp - 0x14c], edi
mov edi, dword [ebp - 0x38]
mov edx, ecx
shrd edi, edx, 2
mov dword [ebp - 0x244], edi
mov edi, dword [ebp - 0x38]
shrd edx, edi, 2
mov dword [ebp - 0x240], edx
mov ebx, edi
mov edx, ecx
shrd ebx, edx, 7
shrd edx, edi, 7
mov dword [ebp - 0x2f0], edx
mov edx, dword [ebp - 0x4c]
mov edi, edx
and edx, ecx
xor edi, ecx
and edi, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x14c]
mov dword [ebp - 0x2f4], ebx
xor ecx, dword [ebp - 0x2f4]
xor edi, edx
mov edx, dword [ebp - 0x148]
xor edx, dword [ebp - 0x2f0]
xor ecx, dword [ebp - 0x244]
xor edx, dword [ebp - 0x240]
mov ebx, esi
xor ebx, dword [ebp - 0x38]
and esi, dword [ebp - 0x38]
and ebx, dword [ebp - 0x18]
xor ebx, esi
add edi, ecx
adc ebx, edx
add edi, dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
adc ebx, dword [ebp - 0x28]
mov esi, 1
add dword [ebp + 0xc], esi
add edx, esi
add eax, esi
add dword [ebp - 0x70], esi
mov dword [ebp - 0x54], edi
mov ecx, ebx
mov dword [ebp - 4], edx
and edx, 0xf
mov esi, dword [ebp + edx*8 - 0x2d4]
mov edx, dword [ebp + edx*8 - 0x2d0]
mov edi, edx
mov ebx, esi
shrd ebx, edi, 1
mov dword [ebp - 0x64], ebx
mov ebx, esi
shrd edi, ebx, 1
mov dword [ebp - 0x60], edi
mov edi, edx
shrd ebx, edi, 8
mov dword [ebp - 0x84], ebx
mov ebx, esi
shrd edi, ebx, 8
shrd esi, edx, 7
xor esi, dword [ebp - 0x84]
shr edx, 7
xor esi, dword [ebp - 0x64]
xor edx, edi
xor edx, dword [ebp - 0x60]
mov dword [ebp - 0x6c], esi
mov dword [ebp - 0x68], edx
mov edx, dword [ebp + 0xc]
and edx, 0xf
mov esi, dword [ebp + edx*8 - 0x2d0]
mov edi, dword [ebp + edx*8 - 0x2d4]
mov ebx, edi
mov edx, esi
shrd ebx, edx, 0x13
mov dword [ebp - 0x5c], ebx
mov ebx, edi
shrd edx, ebx, 0x13
mov dword [ebp - 0x58], edx
mov edx, edi
mov ebx, esi
mov dword [ebp - 8], ebx
shrd ebx, edx, 0x1d
mov dword [ebp - 0x36c], ebx
shrd edi, esi, 6
mov ebx, esi
shrd edx, ebx, 0x1d
mov ebx, edx
mov edx, edi
mov edi, dword [ebp - 0x40]
shr esi, 6
xor esi, ebx
mov ebx, dword [ebp - 0x44]
shrd ebx, edi, 0xe
mov dword [ebp - 0x15c], ebx
mov ebx, dword [ebp - 0x44]
shrd edi, ebx, 0xe
mov dword [ebp - 0x158], edi
mov edi, dword [ebp - 0x40]
shrd ebx, edi, 0x12
xor edx, dword [ebp - 0x36c]
mov dword [ebp - 0x1ec], ebx
mov ebx, dword [ebp - 0x44]
shrd edi, ebx, 0x12
xor edx, dword [ebp - 0x5c]
xor esi, dword [ebp - 0x58]
mov dword [ebp - 0x1e8], edi
mov edi, ebx
mov ebx, dword [ebp - 0x40]
shrd ebx, edi, 9
mov dword [ebp - 0x23c], ebx
mov ebx, dword [ebp - 0x40]
shrd edi, ebx, 9
mov ebx, dword [ebp - 0x70]
and ebx, 0xf
mov dword [ebp - 0x238], edi
mov dword [ebp - 8], ebx
mov ebx, dword [ebp + ebx*8 - 0x2d4]
mov edi, eax
and edi, 0xf
add ebx, edx
mov edx, dword [ebp - 8]
mov edx, dword [ebp + edx*8 - 0x2d0]
lea edi, [ebp + edi*8 - 0x2d4]
mov dword [ebp - 0x78], edi
adc edx, esi
add ebx, dword [ebp - 0x6c]
mov esi, dword [ebp - 0x40]
adc edx, dword [ebp - 0x68]
add dword [edi], ebx
mov ebx, dword [ebp - 0x34]
not esi
adc dword [edi + 4], edx
and esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0x44]
and ebx, edi
mov edx, edi
mov edi, dword [ebp - 0x30]
and edi, dword [ebp - 0x40]
not edx
xor esi, edi
mov edi, dword [ebp - 0x1ec]
xor edi, dword [ebp - 0x15c]
and edx, dword [ebp - 0x14]
mov dword [ebp - 0xd4], edi
mov edi, dword [ebp - 0x1e8]
xor edi, dword [ebp - 0x158]
xor edx, ebx
mov dword [ebp - 0xd0], edi
mov edi, dword [ebp - 0x23c]
xor dword [ebp - 0xd4], edi
mov edi, dword [ebp - 0xd0]
xor edi, dword [ebp - 0x238]
add edx, dword [ebp - 0xd4]
adc esi, edi
add edx, dword [eax*8 - 0x786335c8]
mov edi, dword [ebp - 0x78]
adc esi, dword [eax*8 - 0x786335c4]
add edx, dword [ebp - 0x24]
adc esi, dword [ebp - 0x20]
add edx, dword [edi]
adc esi, dword [edi + 4]
add dword [ebp - 0x1c], edx
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x2c], edx
adc dword [ebp - 0x18], esi
mov edx, dword [ebp - 0x54]
mov edi, edx
mov esi, ecx
shrd edi, esi, 0x1c
shrd esi, edx, 0x1c
mov dword [ebp - 0x1f8], esi
mov dword [ebp - 0x1fc], edi
mov esi, ecx
mov edi, ecx
mov dword [ebp - 0x31c], esi
mov esi, edx
shrd edi, esi, 2
mov dword [ebp - 0x24c], edi
mov edi, ecx
shrd esi, edi, 2
mov dword [ebp - 0x248], esi
mov esi, edx
mov ebx, edi
shrd ebx, esi, 7
shrd esi, edi, 7
mov dword [ebp - 0x250], esi
mov esi, dword [ebp - 0x3c]
mov dword [ebp - 0x254], ebx
mov ebx, dword [ebp - 0x38]
mov edi, esi
and esi, edx
xor edi, edx
mov edx, dword [ebp - 0x38]
and edi, dword [ebp - 0x4c]
xor ebx, ecx
and ebx, dword [ebp - 0x48]
and edx, ecx
xor ebx, edx
mov edx, dword [ebp - 0x1fc]
xor edx, dword [ebp - 0x254]
xor edi, esi
mov esi, dword [ebp - 0x1f8]
xor esi, dword [ebp - 0x250]
xor edx, dword [ebp - 0x24c]
xor esi, dword [ebp - 0x248]
add edi, edx
mov edx, dword [ebp - 4]
adc ebx, esi
add edi, dword [ebp - 0x2c]
adc ebx, dword [ebp - 0x28]
inc dword [ebp + 0xc]
inc dword [ebp - 0x70]
mov esi, edi
inc eax
inc edx
mov edi, ebx
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x20], edi
mov dword [ebp - 4], edx
cmp eax, 0x50
jb 0x83521f40
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x33c]
add edx, esi
mov esi, dword [ebp - 0x338]
adc esi, edi
mov dword [eax], edx
mov edx, dword [ebp - 0x324]
add edx, dword [ebp - 0x54]
mov dword [eax + 4], esi
mov esi, dword [ebp - 0x320]
adc esi, ecx
mov ecx, dword [ebp - 0x314]
add ecx, dword [ebp - 0x3c]
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x310]
adc edx, dword [ebp - 0x38]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0x334]
add ecx, dword [ebp - 0x4c]
mov dword [eax + 0x14], edx
mov edx, dword [ebp - 0x330]
adc edx, dword [ebp - 0x48]
mov dword [eax + 0x18], ecx
mov ecx, dword [ebp - 0x2fc]
add ecx, dword [ebp - 0x1c]
mov dword [eax + 0x1c], edx
mov edx, dword [ebp - 0x2f8]
adc edx, dword [ebp - 0x18]
mov dword [eax + 0x20], ecx
mov ecx, dword [ebp - 0x30c]
add ecx, dword [ebp - 0x44]
mov dword [eax + 0x24], edx
mov edx, dword [ebp - 0x308]
adc edx, dword [ebp - 0x40]
mov dword [eax + 0x28], ecx
mov ecx, dword [ebp - 0x2e4]
add ecx, dword [ebp - 0x34]
mov dword [eax + 0x2c], edx
mov edx, dword [ebp - 0x2e0]
adc edx, dword [ebp - 0x30]
mov dword [eax + 0x30], ecx
mov ecx, dword [ebp - 0x2ec]
add ecx, dword [ebp - 0x14]
mov dword [eax + 0x34], edx
mov edx, dword [ebp - 0x2e8]
adc edx, dword [ebp - 0x10]
pop edi
mov dword [eax + 0xc], esi
pop esi
mov dword [eax + 0x38], ecx
mov dword [eax + 0x3c], edx
pop ebx
mov esp, ebp
pop ebp
ret 8