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

Disassembly:
sub esp, 0x94
push ebx
push ebp
mov ebp, ecx
xor eax, eax
push esi
push edi
push 0x10
lea esi, [ebp + 0x10]
mov dword [esp + 0x14], ebp
pop ecx
lea edi, [esp + 0x60]
mov dword [esp + 0x5c], eax
rep movsd dword es:[edi], dword [esi]
mov ebx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0x80]
mov dword [esp + 0x24], ebx
mov ebx, dword [esp + 0x78]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x98]
mov dword [esp + 0x58], ebx
mov ebx, dword [esp + 0x74]
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x38], ebx
mov ebx, dword [esp + 0x70]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x50], ebx
mov ebx, dword [esp + 0x6c]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x3c], ebx
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x44], ebx
jmp 0x420692
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x2c]
test eax, eax
je 0x420775
mov ebx, dword [ebp + 0x58]
mov edx, ebx
mov edi, dword [ebp + 0x5c]
mov eax, ebx
shl edx, 0x18
mov ecx, edi
shrd eax, ecx, 8
xor ebp, ebp
mov esi, ebx
or ebp, eax
shr ecx, 8
or edx, ecx
shl esi, 0x1f
mov eax, ebx
mov dword [esp + 0x18], edx
mov ecx, edi
xor edx, edx
shrd eax, ecx, 1
shrd ebx, edi, 7
or edx, eax
shr ecx, 1
mov eax, dword [esp + 0x18]
or esi, ecx
xor eax, esi
shr edi, 7
xor eax, edi
xor ebp, edx
mov edx, dword [esp + 0x10]
xor ebp, ebx
mov dword [esp + 0x18], eax
xor edi, edi
mov eax, dword [edx + 0xc0]
mov ebx, eax
mov ecx, dword [edx + 0xc4]
shrd eax, ecx, 0x13
shl ebx, 0xd
shr ecx, 0x13
or edi, eax
or ebx, ecx
mov ecx, dword [edx + 0xc4]
mov esi, ecx
xor edx, edx
shr esi, 0x1d
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x10]
mov eax, dword [esi + 0xc0]
mov esi, dword [esp + 0x14]
shld ecx, eax, 3
or edx, ecx
shl eax, 3
xor ebx, edx
or esi, eax
mov edx, dword [esp + 0x10]
xor edi, esi
mov eax, dword [edx + 0xc4]
mov ecx, dword [edx + 0xc0]
shrd ecx, eax, 6
shr eax, 6
xor edi, ecx
mov ecx, dword [esp + 0x1c]
xor ebx, eax
mov eax, dword [esp + 0x18]
add ebp, edi
adc eax, ebx
add ebp, dword [edx + 0x98]
adc eax, dword [edx + 0x9c]
add dword [edx + 0x50], ebp
mov ebp, edx
mov edx, dword [esp + 0x2c]
adc dword [ebp + 0x54], eax
mov ebx, ecx
xor edi, edi
shr ebx, 9
mov eax, edx
shld ecx, eax, 0x17
mov esi, edx
xor edx, edx
or edi, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x1c]
or ebx, eax
mov eax, dword [esp + 0x2c]
shrd eax, ecx, 0x12
shl esi, 0xe
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x2c]
or esi, ecx
mov ecx, dword [esp + 0x1c]
xor edi, esi
mov esi, eax
xor ebx, edx
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
or edx, eax
shr ecx, 0xe
mov eax, dword [esp + 0x34]
or esi, ecx
xor eax, dword [esp + 0x28]
xor edi, esi
and eax, dword [esp + 0x1c]
xor ebx, edx
xor eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x54]
xor ecx, dword [esp + 0x48]
and ecx, dword [esp + 0x2c]
xor ecx, dword [esp + 0x48]
add ebx, ecx
mov ecx, dword [esp + 0x4c]
adc edi, eax
mov eax, dword [esp + 0x5c]
add ebx, dword [eax*8 + 0x42ce40]
adc edi, dword [eax*8 + 0x42ce44]
add ebx, dword [ebp + 0x50]
mov eax, dword [esp + 0x20]
adc edi, dword [ebp + 0x54]
add ecx, ebx
mov dword [esp + 0x4c], ecx
adc eax, edi
add dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x30]
adc dword [esp + 0x24], eax
xor edi, edi
mov dword [esp + 0x20], eax
xor edx, edx
mov eax, dword [esp + 0x44]
mov ebx, eax
shrd eax, ecx, 0x1c
shl ebx, 4
shr ecx, 0x1c
or edi, eax
mov eax, dword [esp + 0x44]
or ebx, ecx
mov ecx, dword [esp + 0x30]
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
shl eax, 0x1e
or edx, ecx
mov ecx, dword [esp + 0x30]
or esi, eax
mov eax, dword [esp + 0x44]
xor edi, esi
mov esi, ecx
xor ebx, edx
shld ecx, eax, 0x19
shr esi, 7
xor edx, edx
shl eax, 0x19
or esi, eax
mov eax, dword [esp + 0x3c]
or edx, ecx
mov ecx, dword [esp + 0x40]
xor edi, esi
xor ebx, edx
mov esi, ecx
xor esi, dword [esp + 0x44]
mov edx, eax
xor edx, dword [esp + 0x30]
and esi, dword [esp + 0x50]
and ecx, dword [esp + 0x44]
and edx, dword [esp + 0x38]
or esi, ecx
and eax, dword [esp + 0x30]
or edx, eax
add edi, esi
adc ebx, edx
add dword [esp + 0x4c], edi
adc dword [esp + 0x20], ebx
cmp dword [esp + 0x5c], 0
je 0x420985
mov ebx, dword [ebp + 0x60]
mov edx, ebx
mov edi, dword [ebp + 0x64]
mov eax, ebx
mov ecx, edi
shl edx, 0x18
shrd eax, ecx, 8
xor ebp, ebp
mov esi, ebx
or ebp, eax
shr ecx, 8
or edx, ecx
shl esi, 0x1f
mov eax, ebx
mov dword [esp + 0x18], edx
mov ecx, edi
xor edx, edx
shrd eax, ecx, 1
shrd ebx, edi, 7
or edx, eax
shr ecx, 1
mov eax, dword [esp + 0x18]
or esi, ecx
xor eax, esi
shr edi, 7
xor eax, edi
xor ebp, edx
mov edx, dword [esp + 0x10]
xor ebp, ebx
mov dword [esp + 0x18], eax
xor edi, edi
mov eax, dword [edx + 0xc8]
mov ebx, eax
mov ecx, dword [edx + 0xcc]
shrd eax, ecx, 0x13
shl ebx, 0xd
shr ecx, 0x13
or edi, eax
or ebx, ecx
mov ecx, dword [edx + 0xcc]
mov esi, ecx
xor edx, edx
shr esi, 0x1d
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x10]
mov eax, dword [esi + 0xc8]
mov esi, dword [esp + 0x14]
shld ecx, eax, 3
or edx, ecx
shl eax, 3
or esi, eax
xor ebx, edx
mov edx, dword [esp + 0x10]
xor edi, esi
mov eax, dword [edx + 0xcc]
mov ecx, dword [edx + 0xc8]
shrd ecx, eax, 6
shr eax, 6
xor edi, ecx
xor ebx, eax
mov eax, dword [esp + 0x18]
add ebp, edi
adc eax, ebx
add ebp, dword [edx + 0xa0]
adc eax, dword [edx + 0xa4]
add dword [edx + 0x58], ebp
mov ebp, edx
adc dword [ebp + 0x5c], eax
mov ecx, dword [esp + 0x24]
xor edi, edi
mov eax, dword [esp + 0x58]
mov ebx, ecx
shld ecx, eax, 0x17
shr ebx, 9
xor edx, edx
or edi, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x24]
or ebx, eax
mov eax, dword [esp + 0x58]
mov esi, eax
shrd eax, ecx, 0x12
shl esi, 0xe
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x58]
or esi, ecx
mov ecx, dword [esp + 0x24]
xor edi, esi
mov esi, eax
xor ebx, edx
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
or edx, eax
shr ecx, 0xe
mov eax, dword [esp + 0x34]
or esi, ecx
xor eax, dword [esp + 0x1c]
xor edi, esi
and eax, dword [esp + 0x24]
xor ebx, edx
xor eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x54]
xor ecx, dword [esp + 0x2c]
and ecx, dword [esp + 0x58]
xor ecx, dword [esp + 0x54]
add ebx, ecx
mov ecx, dword [esp + 0x48]
adc edi, eax
mov eax, dword [esp + 0x5c]
add ebx, dword [eax*8 + 0x42ce48]
adc edi, dword [eax*8 + 0x42ce4c]
add ebx, dword [ebp + 0x58]
mov eax, dword [esp + 0x28]
adc edi, dword [ebp + 0x5c]
add ecx, ebx
mov dword [esp + 0x48], ecx
adc eax, edi
add dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x20]
adc dword [esp + 0x38], eax
xor edi, edi
mov dword [esp + 0x28], eax
xor edx, edx
mov eax, dword [esp + 0x4c]
mov ebx, eax
shrd eax, ecx, 0x1c
shl ebx, 4
shr ecx, 0x1c
or edi, eax
mov eax, dword [esp + 0x4c]
or ebx, ecx
mov ecx, dword [esp + 0x20]
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
shl eax, 0x1e
or edx, ecx
mov ecx, dword [esp + 0x20]
or esi, eax
mov eax, dword [esp + 0x4c]
xor edi, esi
mov esi, ecx
xor ebx, edx
shld ecx, eax, 0x19
shr esi, 7
xor edx, edx
shl eax, 0x19
or esi, eax
or edx, ecx
mov ecx, dword [esp + 0x44]
xor edi, esi
mov eax, dword [esp + 0x30]
xor ebx, edx
mov edx, dword [esp + 0x30]
mov esi, ecx
xor esi, dword [esp + 0x4c]
xor edx, dword [esp + 0x20]
and esi, dword [esp + 0x40]
and ecx, dword [esp + 0x4c]
and edx, dword [esp + 0x3c]
or esi, ecx
and eax, dword [esp + 0x20]
or edx, eax
add edi, esi
adc ebx, edx
add dword [esp + 0x48], edi
adc dword [esp + 0x28], ebx
cmp dword [esp + 0x5c], 0
je 0x420b93
mov ebx, dword [ebp + 0x68]
xor edx, edx
mov edi, dword [ebp + 0x6c]
mov eax, ebx
mov ebp, dword [ebp + 0x54]
mov ecx, edi
shrd eax, ecx, 8
mov esi, ebx
shr ecx, 8
or edx, eax
shl esi, 0x18
mov eax, ebx
or esi, ecx
mov dword [esp + 0x18], edx
mov ecx, edi
mov dword [esp + 0x14], esi
shrd eax, ecx, 1
mov esi, ebx
xor edx, edx
shr ecx, 1
or edx, eax
mov eax, dword [esp + 0x18]
shrd ebx, edi, 7
shl esi, 0x1f
xor eax, edx
or esi, ecx
shr edi, 7
mov ecx, dword [esp + 0x14]
xor eax, ebx
xor ecx, esi
mov dword [esp + 0x18], eax
xor ecx, edi
xor edx, edx
mov dword [esp + 0x14], ecx
xor edi, edi
mov ecx, dword [esp + 0x10]
mov esi, ebp
shr esi, 0x1d
mov eax, dword [ecx + 0x50]
mov ebx, eax
mov ecx, ebp
shl ebx, 0xd
shrd eax, ecx, 0x13
shr ecx, 0x13
or edi, eax
or ebx, ecx
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x50]
mov ecx, ebp
shld ecx, eax, 3
or edx, ecx
shl eax, 3
mov ecx, dword [esp + 0x10]
or esi, eax
xor edi, esi
xor ebx, edx
mov eax, dword [ecx + 0x50]
mov ecx, dword [esp + 0x14]
shrd eax, ebp, 6
shr ebp, 6
xor edi, eax
mov eax, dword [esp + 0x18]
xor ebx, ebp
mov ebp, dword [esp + 0x10]
add eax, edi
adc ecx, ebx
add eax, dword [ebp + 0xa8]
adc ecx, dword [ebp + 0xac]
add dword [ebp + 0x60], eax
adc dword [ebp + 0x64], ecx
mov ecx, dword [esp + 0x38]
xor edi, edi
mov eax, dword [esp + 0x50]
mov ebx, ecx
shld ecx, eax, 0x17
shr ebx, 9
xor edx, edx
or edi, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x38]
or ebx, eax
mov eax, dword [esp + 0x50]
mov esi, eax
shrd eax, ecx, 0x12
shl esi, 0xe
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x50]
or esi, ecx
mov ecx, dword [esp + 0x38]
xor edi, esi
mov esi, eax
xor ebx, edx
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
or edx, eax
shr ecx, 0xe
mov eax, dword [esp + 0x24]
or esi, ecx
xor eax, dword [esp + 0x1c]
xor edi, esi
and eax, dword [esp + 0x38]
xor ebx, edx
xor eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x58]
xor ecx, dword [esp + 0x2c]
and ecx, dword [esp + 0x50]
xor ecx, dword [esp + 0x2c]
add ebx, ecx
mov ecx, dword [esp + 0x54]
adc edi, eax
mov eax, dword [esp + 0x5c]
add ebx, dword [eax*8 + 0x42ce50]
adc edi, dword [eax*8 + 0x42ce54]
add ebx, dword [ebp + 0x60]
mov eax, dword [esp + 0x34]
adc edi, dword [ebp + 0x64]
add ecx, ebx
mov dword [esp + 0x54], ecx
adc eax, edi
add dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x28]
adc dword [esp + 0x3c], eax
xor edi, edi
mov dword [esp + 0x34], eax
xor edx, edx
mov eax, dword [esp + 0x48]
mov ebx, eax
shrd eax, ecx, 0x1c
shl ebx, 4
shr ecx, 0x1c
or edi, eax
mov eax, dword [esp + 0x48]
or ebx, ecx
mov ecx, dword [esp + 0x28]
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
shl eax, 0x1e
or edx, ecx
mov ecx, dword [esp + 0x28]
or esi, eax
mov eax, dword [esp + 0x48]
xor edi, esi
mov esi, ecx
xor ebx, edx
shld ecx, eax, 0x19
shr esi, 7
xor edx, edx
shl eax, 0x19
or esi, eax
or edx, ecx
mov ecx, dword [esp + 0x48]
xor edi, esi
mov eax, dword [esp + 0x28]
xor ebx, edx
mov edx, dword [esp + 0x28]
mov esi, ecx
xor esi, dword [esp + 0x4c]
xor edx, dword [esp + 0x20]
and esi, dword [esp + 0x44]
and ecx, dword [esp + 0x4c]
and edx, dword [esp + 0x30]
or esi, ecx
and eax, dword [esp + 0x20]
or edx, eax
add edi, esi
adc ebx, edx
add dword [esp + 0x54], edi
adc dword [esp + 0x34], ebx
cmp dword [esp + 0x5c], 0
je 0x420d93
mov ebx, dword [ebp + 0x58]
mov edx, ebx
mov edi, dword [ebp + 0x5c]
mov eax, ebx
mov ecx, edi
shl edx, 0xd
shrd eax, ecx, 0x13
xor ebp, ebp
mov esi, edi
or ebp, eax
shr ecx, 0x13
or edx, ecx
shr esi, 0x1d
mov eax, ebx
mov dword [esp + 0x14], edx
mov ecx, edi
xor edx, edx
shld ecx, eax, 3
shrd ebx, edi, 6
shl eax, 3
or edx, ecx
mov ecx, dword [esp + 0x10]
or esi, eax
mov eax, dword [esp + 0x14]
xor ebp, esi
xor eax, edx
shr edi, 6
xor eax, edi
xor ebp, ebx
mov edx, dword [ecx + 0x70]
xor edi, edi
mov ecx, dword [ecx + 0x74]
mov ebx, edx
mov dword [esp + 0x14], eax
mov esi, edx
mov eax, edx
shl ebx, 0x18
shrd eax, ecx, 8
xor edx, edx
shl esi, 0x1f
shr ecx, 8
or edi, eax
or ebx, ecx
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x70]
mov ecx, dword [ecx + 0x74]
shrd eax, ecx, 1
or edx, eax
shr ecx, 1
xor edi, edx
or esi, ecx
mov edx, dword [esp + 0x10]
xor ebx, esi
mov eax, dword [edx + 0x74]
mov ecx, dword [edx + 0x70]
shrd ecx, eax, 7
shr eax, 7
xor edi, ecx
xor ebx, eax
mov eax, dword [esp + 0x14]
add ebp, edi
adc eax, ebx
add ebp, dword [edx + 0xb0]
adc eax, dword [edx + 0xb4]
add dword [edx + 0x68], ebp
mov ebp, edx
adc dword [ebp + 0x6c], eax
mov ecx, dword [esp + 0x3c]
xor edi, edi
mov eax, dword [esp + 0x40]
mov ebx, ecx
shld ecx, eax, 0x17
shr ebx, 9
xor edx, edx
or edi, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x3c]
or ebx, eax
mov eax, dword [esp + 0x40]
mov esi, eax
shrd eax, ecx, 0x12
shl esi, 0xe
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x40]
or esi, ecx
mov ecx, dword [esp + 0x3c]
xor edi, esi
mov esi, eax
xor ebx, edx
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
or edx, eax
shr ecx, 0xe
mov eax, dword [esp + 0x38]
or esi, ecx
xor eax, dword [esp + 0x24]
xor edi, esi
and eax, dword [esp + 0x3c]
xor ebx, edx
xor eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x50]
xor ecx, dword [esp + 0x58]
and ecx, dword [esp + 0x40]
xor ecx, dword [esp + 0x58]
add ebx, ecx
mov ecx, dword [esp + 0x2c]
adc edi, eax
mov eax, dword [esp + 0x5c]
add ebx, dword [eax*8 + 0x42ce58]
adc edi, dword [eax*8 + 0x42ce5c]
add ebx, dword [ebp + 0x68]
mov eax, dword [esp + 0x1c]
adc edi, dword [ebp + 0x6c]
add ecx, ebx
mov dword [esp + 0x2c], ecx
adc eax, edi
add dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x34]
adc dword [esp + 0x30], eax
xor edi, edi
mov dword [esp + 0x1c], eax
xor edx, edx
mov eax, dword [esp + 0x54]
mov ebx, eax
shrd eax, ecx, 0x1c
shl ebx, 4
shr ecx, 0x1c
or edi, eax
mov eax, dword [esp + 0x54]
or ebx, ecx
mov ecx, dword [esp + 0x34]
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
shl eax, 0x1e
or edx, ecx
mov ecx, dword [esp + 0x34]
or esi, eax
mov eax, dword [esp + 0x54]
xor edi, esi
mov esi, ecx
xor ebx, edx
shld ecx, eax, 0x19
shr esi, 7
xor edx, edx
shl eax, 0x19
or esi, eax
or edx, ecx
mov ecx, dword [esp + 0x54]
xor edi, esi
mov eax, dword [esp + 0x34]
xor ebx, edx
mov edx, dword [esp + 0x34]
mov esi, ecx
xor esi, dword [esp + 0x48]
xor edx, dword [esp + 0x28]
and esi, dword [esp + 0x4c]
and ecx, dword [esp + 0x48]
and edx, dword [esp + 0x20]
or esi, ecx
and eax, dword [esp + 0x28]
or edx, eax
add edi, esi
adc ebx, edx
add dword [esp + 0x2c], edi
adc dword [esp + 0x1c], ebx
cmp dword [esp + 0x5c], 0
je 0x420f93
mov ebx, dword [ebp + 0x60]
mov edx, ebx
mov edi, dword [ebp + 0x64]
mov eax, ebx
mov ecx, edi
shl edx, 0xd
shrd eax, ecx, 0x13
xor ebp, ebp
mov esi, edi
or ebp, eax
shr ecx, 0x13
or edx, ecx
shr esi, 0x1d
mov eax, ebx
mov dword [esp + 0x14], edx
mov ecx, edi
xor edx, edx
shld ecx, eax, 3
shrd ebx, edi, 6
shl eax, 3
or edx, ecx
mov ecx, dword [esp + 0x10]
or esi, eax
mov eax, dword [esp + 0x14]
xor ebp, esi
xor eax, edx
shr edi, 6
xor eax, edi
xor ebp, ebx
mov edx, dword [ecx + 0x78]
xor edi, edi
mov ecx, dword [ecx + 0x7c]
mov ebx, edx
mov dword [esp + 0x14], eax
mov esi, edx
mov eax, edx
shl ebx, 0x18
shrd eax, ecx, 8
xor edx, edx
shl esi, 0x1f
shr ecx, 8
or edi, eax
or ebx, ecx
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x78]
mov ecx, dword [ecx + 0x7c]
shrd eax, ecx, 1
or edx, eax
shr ecx, 1
xor edi, edx
or esi, ecx
mov edx, dword [esp + 0x10]
xor ebx, esi
mov eax, dword [edx + 0x7c]
mov ecx, dword [edx + 0x78]
shrd ecx, eax, 7
shr eax, 7
xor edi, ecx
xor ebx, eax
mov eax, dword [esp + 0x14]
add ebp, edi
adc eax, ebx
add ebp, dword [edx + 0xb8]
adc eax, dword [edx + 0xbc]
add dword [edx + 0x70], ebp
mov ebp, edx
adc dword [ebp + 0x74], eax
mov ecx, dword [esp + 0x30]
xor edi, edi
mov eax, dword [esp + 0x44]
mov ebx, ecx
shld ecx, eax, 0x17
shr ebx, 9
xor edx, edx
or edi, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x30]
or ebx, eax
mov eax, dword [esp + 0x44]
mov esi, eax
shrd eax, ecx, 0x12
shl esi, 0xe
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x44]
or esi, ecx
mov ecx, dword [esp + 0x30]
xor edi, esi
mov esi, eax
xor ebx, edx
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
or edx, eax
shr ecx, 0xe
mov eax, dword [esp + 0x38]
or esi, ecx
xor eax, dword [esp + 0x3c]
xor edi, esi
and eax, dword [esp + 0x30]
xor ebx, edx
xor eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x50]
xor ecx, dword [esp + 0x40]
and ecx, dword [esp + 0x44]
xor ecx, dword [esp + 0x50]
add ebx, ecx
mov ecx, dword [esp + 0x58]
adc edi, eax
mov eax, dword [esp + 0x5c]
add ebx, dword [eax*8 + 0x42ce60]
adc edi, dword [eax*8 + 0x42ce64]
add ebx, dword [ebp + 0x70]
mov eax, dword [esp + 0x24]
adc edi, dword [ebp + 0x74]
add ecx, ebx
mov dword [esp + 0x58], ecx
adc eax, edi
add dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x1c]
adc dword [esp + 0x20], eax
xor edi, edi
mov dword [esp + 0x24], eax
xor edx, edx
mov eax, dword [esp + 0x2c]
mov ebx, eax
shrd eax, ecx, 0x1c
shl ebx, 4
shr ecx, 0x1c
or edi, eax
mov eax, dword [esp + 0x2c]
or ebx, ecx
mov ecx, dword [esp + 0x1c]
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
shl eax, 0x1e
or edx, ecx
mov ecx, dword [esp + 0x1c]
or esi, eax
mov eax, dword [esp + 0x2c]
xor edi, esi
mov esi, ecx
xor ebx, edx
shld ecx, eax, 0x19
shr esi, 7
xor edx, edx
shl eax, 0x19
or esi, eax
or edx, ecx
mov ecx, dword [esp + 0x54]
xor edi, esi
mov eax, dword [esp + 0x34]
xor ebx, edx
mov esi, ecx
mov edx, eax
xor esi, dword [esp + 0x2c]
xor edx, dword [esp + 0x1c]
and esi, dword [esp + 0x48]
and ecx, dword [esp + 0x2c]
and edx, dword [esp + 0x28]
or esi, ecx
and eax, dword [esp + 0x1c]
or edx, eax
add edi, esi
adc ebx, edx
add dword [esp + 0x58], edi
adc dword [esp + 0x24], ebx
cmp dword [esp + 0x5c], 0
je 0x4211a3
mov ebx, dword [ebp + 0x68]
mov edx, ebx
mov edi, dword [ebp + 0x6c]
mov eax, ebx
mov ecx, edi
shl edx, 0xd
shrd eax, ecx, 0x13
xor ebp, ebp
mov esi, edi
or ebp, eax
shr ecx, 0x13
or edx, ecx
shr esi, 0x1d
mov eax, ebx
mov dword [esp + 0x14], edx
mov ecx, edi
xor edx, edx
shld ecx, eax, 3
shrd ebx, edi, 6
shl eax, 3
or edx, ecx
mov ecx, dword [esp + 0x10]
or esi, eax
mov eax, dword [esp + 0x14]
xor ebp, esi
xor eax, edx
shr edi, 6
xor eax, edi
xor ebp, ebx
mov edx, dword [ecx + 0x80]
xor edi, edi
mov ecx, dword [ecx + 0x84]
mov ebx, edx
mov dword [esp + 0x14], eax
mov esi, edx
mov eax, edx
shl ebx, 0x18
shrd eax, ecx, 8
xor edx, edx
shl esi, 0x1f
shr ecx, 8
or edi, eax
or ebx, ecx
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x80]
mov ecx, dword [ecx + 0x84]
shrd eax, ecx, 1
or edx, eax
shr ecx, 1
xor edi, edx
or esi, ecx
mov edx, dword [esp + 0x10]
xor ebx, esi
mov eax, dword [edx + 0x84]
mov ecx, dword [edx + 0x80]
shrd ecx, eax, 7
shr eax, 7
xor edi, ecx
xor ebx, eax
mov eax, dword [esp + 0x14]
add ebp, edi
adc eax, ebx
add ebp, dword [edx + 0xc0]
adc eax, dword [edx + 0xc4]
add dword [edx + 0x78], ebp
mov ebp, edx
adc dword [ebp + 0x7c], eax
mov ecx, dword [esp + 0x20]
xor edi, edi
mov eax, dword [esp + 0x4c]
mov ebx, ecx
shld ecx, eax, 0x17
shr ebx, 9
xor edx, edx
or edi, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x20]
or ebx, eax
mov eax, dword [esp + 0x4c]
mov esi, eax
shrd eax, ecx, 0x12
shl esi, 0xe
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x4c]
or esi, ecx
mov ecx, dword [esp + 0x20]
xor edi, esi
mov esi, eax
xor ebx, edx
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
or edx, eax
shr ecx, 0xe
mov eax, dword [esp + 0x3c]
or esi, ecx
xor eax, dword [esp + 0x30]
xor edi, esi
and eax, dword [esp + 0x20]
xor ebx, edx
xor eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
xor ecx, dword [esp + 0x44]
and ecx, dword [esp + 0x4c]
xor ecx, dword [esp + 0x40]
add ebx, ecx
mov ecx, dword [esp + 0x50]
adc edi, eax
mov eax, dword [esp + 0x5c]
add ebx, dword [eax*8 + 0x42ce68]
adc edi, dword [eax*8 + 0x42ce6c]
add ebx, dword [ebp + 0x78]
mov eax, dword [esp + 0x38]
adc edi, dword [ebp + 0x7c]
add ecx, ebx
mov dword [esp + 0x50], ecx
adc eax, edi
add dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x24]
adc dword [esp + 0x28], eax
xor edi, edi
mov dword [esp + 0x38], eax
xor edx, edx
mov eax, dword [esp + 0x58]
mov ebx, eax
shrd eax, ecx, 0x1c
shl ebx, 4
shr ecx, 0x1c
or edi, eax
mov eax, dword [esp + 0x58]
or ebx, ecx
mov ecx, dword [esp + 0x24]
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
shl eax, 0x1e
or edx, ecx
mov ecx, dword [esp + 0x24]
or esi, eax
mov eax, dword [esp + 0x58]
xor edi, esi
mov esi, ecx
xor ebx, edx
shld ecx, eax, 0x19
shr esi, 7
xor edx, edx
shl eax, 0x19
or esi, eax
or edx, ecx
mov ecx, dword [esp + 0x58]
xor edi, esi
mov eax, dword [esp + 0x24]
xor ebx, edx
mov edx, dword [esp + 0x24]
mov esi, ecx
xor esi, dword [esp + 0x2c]
xor edx, dword [esp + 0x1c]
and esi, dword [esp + 0x54]
and ecx, dword [esp + 0x2c]
and edx, dword [esp + 0x34]
or esi, ecx
and eax, dword [esp + 0x1c]
or edx, eax
add edi, esi
adc ebx, edx
add dword [esp + 0x50], edi
adc dword [esp + 0x38], ebx
cmp dword [esp + 0x5c], 0
je 0x4213bd
mov ebx, dword [ebp + 0x88]
xor edx, edx
mov edi, dword [ebp + 0x8c]
mov eax, ebx
mov ebp, dword [ebp + 0x74]
mov ecx, edi
shrd eax, ecx, 8
mov esi, ebx
shr ecx, 8
or edx, eax
shl esi, 0x18
mov eax, ebx
or esi, ecx
mov dword [esp + 0x14], edx
mov ecx, edi
mov dword [esp + 0x18], esi
shrd eax, ecx, 1
mov esi, ebx
xor edx, edx
shr ecx, 1
or edx, eax
mov eax, dword [esp + 0x14]
shrd ebx, edi, 7
shl esi, 0x1f
xor eax, edx
or esi, ecx
shr edi, 7
mov ecx, dword [esp + 0x18]
xor eax, ebx
xor ecx, esi
mov dword [esp + 0x14], eax
xor ecx, edi
xor edx, edx
mov dword [esp + 0x18], ecx
xor edi, edi
mov ecx, dword [esp + 0x10]
mov esi, ebp
shr esi, 0x1d
mov eax, dword [ecx + 0x70]
mov ebx, eax
mov ecx, ebp
shl ebx, 0xd
shrd eax, ecx, 0x13
shr ecx, 0x13
or edi, eax
or ebx, ecx
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x70]
mov ecx, ebp
shld ecx, eax, 3
or edx, ecx
shl eax, 3
mov ecx, dword [esp + 0x10]
or esi, eax
xor edi, esi
xor ebx, edx
mov eax, dword [ecx + 0x70]
mov ecx, dword [esp + 0x18]
shrd eax, ebp, 6
shr ebp, 6
xor edi, eax
mov eax, dword [esp + 0x14]
xor ebx, ebp
mov ebp, dword [esp + 0x10]
add eax, edi
adc ecx, ebx
add eax, dword [ebp + 0xc8]
adc ecx, dword [ebp + 0xcc]
add dword [ebp + 0x80], eax
adc dword [ebp + 0x84], ecx
mov ecx, dword [esp + 0x28]
xor edi, edi
mov eax, dword [esp + 0x48]
mov ebx, ecx
shld ecx, eax, 0x17
shr ebx, 9
xor edx, edx
or edi, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x28]
or ebx, eax
mov eax, dword [esp + 0x48]
mov esi, eax
shrd eax, ecx, 0x12
shl esi, 0xe
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x48]
or esi, ecx
mov ecx, dword [esp + 0x28]
xor edi, esi
mov esi, eax
xor ebx, edx
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
or edx, eax
shr ecx, 0xe
mov eax, dword [esp + 0x30]
or esi, ecx
xor eax, dword [esp + 0x20]
xor edi, esi
and eax, dword [esp + 0x28]
xor ebx, edx
xor eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x44]
xor ecx, dword [esp + 0x4c]
and ecx, dword [esp + 0x48]
xor ecx, dword [esp + 0x44]
add ebx, ecx
mov ecx, dword [esp + 0x40]
adc edi, eax
mov eax, dword [esp + 0x5c]
add ebx, dword [eax*8 + 0x42ce70]
adc edi, dword [eax*8 + 0x42ce74]
add ebx, dword [ebp + 0x80]
mov eax, dword [esp + 0x3c]
adc edi, dword [ebp + 0x84]
add ecx, ebx
mov dword [esp + 0x40], ecx
adc eax, edi
add dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x38]
adc dword [esp + 0x34], eax
xor edi, edi
mov dword [esp + 0x3c], eax
xor edx, edx
mov eax, dword [esp + 0x50]
mov ebx, eax
shrd eax, ecx, 0x1c
shl ebx, 4
shr ecx, 0x1c
or edi, eax
mov eax, dword [esp + 0x50]
or ebx, ecx
mov ecx, dword [esp + 0x38]
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
shl eax, 0x1e
or edx, ecx
mov ecx, dword [esp + 0x38]
or esi, eax
mov eax, dword [esp + 0x50]
xor edi, esi
mov esi, ecx
xor ebx, edx
shld ecx, eax, 0x19
shr esi, 7
xor edx, edx
shl eax, 0x19
or esi, eax
or edx, ecx
mov ecx, dword [esp + 0x50]
xor edi, esi
mov eax, dword [esp + 0x38]
xor ebx, edx
mov edx, dword [esp + 0x38]
mov esi, ecx
xor esi, dword [esp + 0x58]
xor edx, dword [esp + 0x24]
and esi, dword [esp + 0x2c]
and ecx, dword [esp + 0x58]
and edx, dword [esp + 0x1c]
or esi, ecx
and eax, dword [esp + 0x24]
or edx, eax
add edi, esi
adc ebx, edx
add dword [esp + 0x40], edi
adc dword [esp + 0x3c], ebx
cmp dword [esp + 0x5c], 0
je 0x4215d7
mov ebx, dword [ebp + 0x90]
xor edx, edx
mov edi, dword [ebp + 0x94]
mov eax, ebx
mov ebp, dword [ebp + 0x7c]
mov ecx, edi
shrd eax, ecx, 8
mov esi, ebx
shr ecx, 8
or edx, eax
shl esi, 0x18
mov eax, ebx
or esi, ecx
mov dword [esp + 0x14], edx
mov ecx, edi
mov dword [esp + 0x18], esi
shrd eax, ecx, 1
mov esi, ebx
xor edx, edx
shr ecx, 1
or edx, eax
mov eax, dword [esp + 0x14]
shrd ebx, edi, 7
shl esi, 0x1f
xor eax, edx
or esi, ecx
shr edi, 7
mov ecx, dword [esp + 0x18]
xor eax, ebx
xor ecx, esi
mov dword [esp + 0x14], eax
xor ecx, edi
xor edx, edx
mov dword [esp + 0x18], ecx
xor edi, edi
mov ecx, dword [esp + 0x10]
mov esi, ebp
shr esi, 0x1d
mov eax, dword [ecx + 0x78]
mov ebx, eax
mov ecx, ebp
shl ebx, 0xd
shrd eax, ecx, 0x13
shr ecx, 0x13
or edi, eax
or ebx, ecx
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x78]
mov ecx, ebp
shld ecx, eax, 3
or edx, ecx
shl eax, 3
mov ecx, dword [esp + 0x10]
or esi, eax
xor edi, esi
xor ebx, edx
mov eax, dword [ecx + 0x78]
mov ecx, dword [esp + 0x18]
shrd eax, ebp, 6
shr ebp, 6
xor edi, eax
mov eax, dword [esp + 0x14]
xor ebx, ebp
mov ebp, dword [esp + 0x10]
add eax, edi
adc ecx, ebx
add eax, dword [ebp + 0x50]
adc ecx, dword [ebp + 0x54]
add dword [ebp + 0x88], eax
adc dword [ebp + 0x8c], ecx
mov ecx, dword [esp + 0x34]
xor edi, edi
mov eax, dword [esp + 0x54]
mov ebx, ecx
shld ecx, eax, 0x17
shr ebx, 9
xor edx, edx
or edi, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x34]
or ebx, eax
mov eax, dword [esp + 0x54]
mov esi, eax
shrd eax, ecx, 0x12
shl esi, 0xe
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x54]
or esi, ecx
mov ecx, dword [esp + 0x34]
xor edi, esi
mov esi, eax
xor ebx, edx
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
or edx, eax
shr ecx, 0xe
mov eax, dword [esp + 0x28]
or esi, ecx
xor eax, dword [esp + 0x20]
xor edi, esi
and eax, dword [esp + 0x34]
xor ebx, edx
xor eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x48]
xor ecx, dword [esp + 0x4c]
and ecx, dword [esp + 0x54]
xor ecx, dword [esp + 0x4c]
add ebx, ecx
mov ecx, dword [esp + 0x44]
adc edi, eax
mov eax, dword [esp + 0x5c]
add ebx, dword [eax*8 + 0x42ce78]
adc edi, dword [eax*8 + 0x42ce7c]
add ebx, dword [ebp + 0x88]
mov eax, dword [esp + 0x30]
adc edi, dword [ebp + 0x8c]
add ecx, ebx
mov dword [esp + 0x44], ecx
adc eax, edi
add dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x3c]
adc dword [esp + 0x1c], eax
xor edi, edi
mov dword [esp + 0x30], eax
xor edx, edx
mov eax, dword [esp + 0x40]
mov ebx, eax
shrd eax, ecx, 0x1c
shl ebx, 4
shr ecx, 0x1c
or edi, eax
mov eax, dword [esp + 0x40]
or ebx, ecx
mov ecx, dword [esp + 0x3c]
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
shl eax, 0x1e
or edx, ecx
mov ecx, dword [esp + 0x3c]
or esi, eax
mov eax, dword [esp + 0x40]
xor edi, esi
mov esi, ecx
xor ebx, edx
shld ecx, eax, 0x19
shr esi, 7
xor edx, edx
shl eax, 0x19
or esi, eax
or edx, ecx
mov ecx, dword [esp + 0x50]
xor edi, esi
mov eax, dword [esp + 0x38]
xor ebx, edx
mov esi, ecx
mov edx, eax
xor esi, dword [esp + 0x40]
xor edx, dword [esp + 0x3c]
and esi, dword [esp + 0x58]
and ecx, dword [esp + 0x40]
and edx, dword [esp + 0x24]
or esi, ecx
and eax, dword [esp + 0x3c]
or edx, eax
add edi, esi
adc ebx, edx
add dword [esp + 0x44], edi
adc dword [esp + 0x30], ebx
cmp dword [esp + 0x5c], 0
je 0x4217fb
mov ebx, dword [ebp + 0x98]
xor edx, edx
mov edi, dword [ebp + 0x9c]
mov eax, ebx
mov ebp, dword [ebp + 0x84]
mov ecx, edi
shrd eax, ecx, 8
mov esi, ebx
shr ecx, 8
or edx, eax
shl esi, 0x18
mov eax, ebx
or esi, ecx
mov dword [esp + 0x14], edx
mov ecx, edi
mov dword [esp + 0x18], esi
shrd eax, ecx, 1
mov esi, ebx
xor edx, edx
shr ecx, 1
or edx, eax
mov eax, dword [esp + 0x14]
shrd ebx, edi, 7
shl esi, 0x1f
xor eax, edx
or esi, ecx
shr edi, 7
mov ecx, dword [esp + 0x18]
xor eax, ebx
xor ecx, esi
mov dword [esp + 0x14], eax
xor ecx, edi
xor edx, edx
mov dword [esp + 0x18], ecx
xor edi, edi
mov ecx, dword [esp + 0x10]
mov esi, ebp
shr esi, 0x1d
mov eax, dword [ecx + 0x80]
mov ebx, eax
mov ecx, ebp
shl ebx, 0xd
shrd eax, ecx, 0x13
shr ecx, 0x13
or edi, eax
or ebx, ecx
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x80]
mov ecx, ebp
shld ecx, eax, 3
or edx, ecx
shl eax, 3
mov ecx, dword [esp + 0x10]
or esi, eax
xor edi, esi
xor ebx, edx
mov eax, dword [ecx + 0x80]
mov ecx, dword [esp + 0x18]
shrd eax, ebp, 6
shr ebp, 6
xor edi, eax
mov eax, dword [esp + 0x14]
xor ebx, ebp
mov ebp, dword [esp + 0x10]
add eax, edi
adc ecx, ebx
add eax, dword [ebp + 0x58]
adc ecx, dword [ebp + 0x5c]
add dword [ebp + 0x90], eax
adc dword [ebp + 0x94], ecx
mov ecx, dword [esp + 0x1c]
xor edi, edi
mov eax, dword [esp + 0x2c]
mov ebx, ecx
shld ecx, eax, 0x17
shr ebx, 9
xor edx, edx
or edi, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x1c]
or ebx, eax
mov eax, dword [esp + 0x2c]
mov esi, eax
shrd eax, ecx, 0x12
shl esi, 0xe
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x2c]
or esi, ecx
mov ecx, dword [esp + 0x1c]
xor edi, esi
mov esi, eax
xor ebx, edx
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
or edx, eax
shr ecx, 0xe
mov eax, dword [esp + 0x34]
or esi, ecx
xor eax, dword [esp + 0x28]
xor edi, esi
and eax, dword [esp + 0x1c]
xor ebx, edx
xor eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x54]
xor ecx, dword [esp + 0x48]
and ecx, dword [esp + 0x2c]
xor ecx, dword [esp + 0x48]
add ebx, ecx
mov ecx, dword [esp + 0x4c]
adc edi, eax
mov eax, dword [esp + 0x5c]
add ebx, dword [eax*8 + 0x42ce80]
adc edi, dword [eax*8 + 0x42ce84]
add ebx, dword [ebp + 0x90]
mov eax, dword [esp + 0x20]
adc edi, dword [ebp + 0x94]
add ecx, ebx
mov dword [esp + 0x4c], ecx
adc eax, edi
add dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x30]
adc dword [esp + 0x24], eax
xor edi, edi
mov dword [esp + 0x20], eax
xor edx, edx
mov eax, dword [esp + 0x44]
mov ebx, eax
shrd eax, ecx, 0x1c
shl ebx, 4
shr ecx, 0x1c
or edi, eax
mov eax, dword [esp + 0x44]
or ebx, ecx
mov ecx, dword [esp + 0x30]
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
shl eax, 0x1e
or edx, ecx
mov ecx, dword [esp + 0x30]
or esi, eax
mov eax, dword [esp + 0x44]
xor edi, esi
mov esi, ecx
xor ebx, edx
shld ecx, eax, 0x19
shr esi, 7
xor edx, edx
shl eax, 0x19
or esi, eax
or edx, ecx
mov ecx, dword [esp + 0x40]
xor edi, esi
mov eax, dword [esp + 0x3c]
xor ebx, edx
mov esi, ecx
mov edx, eax
xor esi, dword [esp + 0x44]
xor edx, dword [esp + 0x30]
and esi, dword [esp + 0x50]
and ecx, dword [esp + 0x44]
and edx, dword [esp + 0x38]
or esi, ecx
and eax, dword [esp + 0x30]
or edx, eax
add edi, esi
adc ebx, edx
add dword [esp + 0x4c], edi
adc dword [esp + 0x20], ebx
cmp dword [esp + 0x5c], 0
je 0x421a1f
mov ebx, dword [ebp + 0xa0]
xor edx, edx
mov edi, dword [ebp + 0xa4]
mov eax, ebx
mov ebp, dword [ebp + 0x8c]
mov ecx, edi
shrd eax, ecx, 8
mov esi, ebx
shr ecx, 8
or edx, eax
shl esi, 0x18
mov eax, ebx
or esi, ecx
mov dword [esp + 0x14], edx
mov ecx, edi
mov dword [esp + 0x18], esi
shrd eax, ecx, 1
mov esi, ebx
xor edx, edx
shr ecx, 1
or edx, eax
mov eax, dword [esp + 0x14]
shrd ebx, edi, 7
shl esi, 0x1f
xor eax, edx
or esi, ecx
shr edi, 7
mov ecx, dword [esp + 0x18]
xor eax, ebx
xor ecx, esi
mov dword [esp + 0x14], eax
xor ecx, edi
xor edx, edx
mov dword [esp + 0x18], ecx
xor edi, edi
mov ecx, dword [esp + 0x10]
mov esi, ebp
shr esi, 0x1d
mov eax, dword [ecx + 0x88]
mov ebx, eax
mov ecx, ebp
shl ebx, 0xd
shrd eax, ecx, 0x13
shr ecx, 0x13
or edi, eax
or ebx, ecx
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x88]
mov ecx, ebp
shld ecx, eax, 3
or edx, ecx
shl eax, 3
mov ecx, dword [esp + 0x10]
or esi, eax
xor edi, esi
xor ebx, edx
mov eax, dword [ecx + 0x88]
mov ecx, dword [esp + 0x18]
shrd eax, ebp, 6
shr ebp, 6
xor edi, eax
mov eax, dword [esp + 0x14]
xor ebx, ebp
mov ebp, dword [esp + 0x10]
add eax, edi
adc ecx, ebx
add eax, dword [ebp + 0x60]
adc ecx, dword [ebp + 0x64]
add dword [ebp + 0x98], eax
adc dword [ebp + 0x9c], ecx
mov ecx, dword [esp + 0x24]
xor edi, edi
mov eax, dword [esp + 0x58]
mov ebx, ecx
shld ecx, eax, 0x17
shr ebx, 9
xor edx, edx
or edi, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x24]
or ebx, eax
mov eax, dword [esp + 0x58]
mov esi, eax
shrd eax, ecx, 0x12
shl esi, 0xe
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x58]
or esi, ecx
mov ecx, dword [esp + 0x24]
xor edi, esi
mov esi, eax
xor ebx, edx
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
or edx, eax
shr ecx, 0xe
mov eax, dword [esp + 0x34]
or esi, ecx
xor eax, dword [esp + 0x1c]
xor edi, esi
and eax, dword [esp + 0x24]
xor ebx, edx
xor eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x54]
xor ecx, dword [esp + 0x2c]
and ecx, dword [esp + 0x58]
xor ecx, dword [esp + 0x54]
add ebx, ecx
mov ecx, dword [esp + 0x48]
adc edi, eax
mov eax, dword [esp + 0x5c]
add ebx, dword [eax*8 + 0x42ce88]
adc edi, dword [eax*8 + 0x42ce8c]
add ebx, dword [ebp + 0x98]
mov eax, dword [esp + 0x28]
adc edi, dword [ebp + 0x9c]
add ecx, ebx
mov dword [esp + 0x48], ecx
adc eax, edi
add dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x20]
adc dword [esp + 0x38], eax
xor edi, edi
mov dword [esp + 0x28], eax
xor edx, edx
mov eax, dword [esp + 0x4c]
mov ebx, eax
shrd eax, ecx, 0x1c
shl ebx, 4
shr ecx, 0x1c
or edi, eax
mov eax, dword [esp + 0x4c]
or ebx, ecx
mov ecx, dword [esp + 0x20]
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
shl eax, 0x1e
or edx, ecx
mov ecx, dword [esp + 0x20]
or esi, eax
mov eax, dword [esp + 0x4c]
xor edi, esi
mov esi, ecx
xor ebx, edx
shld ecx, eax, 0x19
shr esi, 7
xor edx, edx
shl eax, 0x19
or esi, eax
or edx, ecx
mov ecx, dword [esp + 0x44]
xor edi, esi
mov eax, dword [esp + 0x30]
xor ebx, edx
mov edx, dword [esp + 0x30]
mov esi, ecx
xor esi, dword [esp + 0x4c]
xor edx, dword [esp + 0x20]
and esi, dword [esp + 0x40]
and ecx, dword [esp + 0x4c]
and edx, dword [esp + 0x3c]
or esi, ecx
and eax, dword [esp + 0x20]
or edx, eax
add edi, esi
adc ebx, edx
add dword [esp + 0x48], edi
adc dword [esp + 0x28], ebx
cmp dword [esp + 0x5c], 0
je 0x421c45
mov ebx, dword [ebp + 0xa8]
xor edx, edx
mov edi, dword [ebp + 0xac]
mov eax, ebx
mov ebp, dword [ebp + 0x94]
mov ecx, edi
shrd eax, ecx, 8
mov esi, ebx
shr ecx, 8
or edx, eax
shl esi, 0x18
mov eax, ebx
or esi, ecx
mov dword [esp + 0x14], edx
mov ecx, edi
mov dword [esp + 0x18], esi
shrd eax, ecx, 1
mov esi, ebx
xor edx, edx
shr ecx, 1
or edx, eax
mov eax, dword [esp + 0x14]
shrd ebx, edi, 7
shl esi, 0x1f
xor eax, edx
or esi, ecx
shr edi, 7
mov ecx, dword [esp + 0x18]
xor eax, ebx
xor ecx, esi
mov dword [esp + 0x14], eax
xor ecx, edi
xor edx, edx
mov dword [esp + 0x18], ecx
xor edi, edi
mov ecx, dword [esp + 0x10]
mov esi, ebp
shr esi, 0x1d
mov eax, dword [ecx + 0x90]
mov ebx, eax
mov ecx, ebp
shl ebx, 0xd
shrd eax, ecx, 0x13
shr ecx, 0x13
or edi, eax
or ebx, ecx
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x90]
mov ecx, ebp
shld ecx, eax, 3
or edx, ecx
shl eax, 3
mov ecx, dword [esp + 0x10]
or esi, eax
xor edi, esi
xor ebx, edx
mov eax, dword [ecx + 0x90]
mov ecx, dword [esp + 0x18]
shrd eax, ebp, 6
shr ebp, 6
xor edi, eax
mov eax, dword [esp + 0x14]
xor ebx, ebp
mov ebp, dword [esp + 0x10]
add eax, edi
adc ecx, ebx
add eax, dword [ebp + 0x68]
adc ecx, dword [ebp + 0x6c]
add dword [ebp + 0xa0], eax
adc dword [ebp + 0xa4], ecx
mov ecx, dword [esp + 0x38]
xor edi, edi
mov eax, dword [esp + 0x50]
mov ebx, ecx
shld ecx, eax, 0x17
shr ebx, 9
xor edx, edx
or edi, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x38]
or ebx, eax
mov eax, dword [esp + 0x50]
mov esi, eax
shrd eax, ecx, 0x12
shl esi, 0xe
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x50]
or esi, ecx
mov ecx, dword [esp + 0x38]
xor edi, esi
mov esi, eax
xor ebx, edx
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
or edx, eax
shr ecx, 0xe
mov eax, dword [esp + 0x24]
or esi, ecx
xor eax, dword [esp + 0x1c]
xor edi, esi
and eax, dword [esp + 0x38]
xor ebx, edx
xor eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x58]
xor ecx, dword [esp + 0x2c]
and ecx, dword [esp + 0x50]
xor ecx, dword [esp + 0x2c]
add ebx, ecx
mov ecx, dword [esp + 0x54]
adc edi, eax
mov eax, dword [esp + 0x5c]
add ebx, dword [eax*8 + 0x42ce90]
adc edi, dword [eax*8 + 0x42ce94]
add ebx, dword [ebp + 0xa0]
mov eax, dword [esp + 0x34]
adc edi, dword [ebp + 0xa4]
add ecx, ebx
mov dword [esp + 0x54], ecx
adc eax, edi
add dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x28]
adc dword [esp + 0x3c], eax
xor edi, edi
mov dword [esp + 0x34], eax
xor edx, edx
mov eax, dword [esp + 0x48]
mov ebx, eax
shrd eax, ecx, 0x1c
shl ebx, 4
shr ecx, 0x1c
or edi, eax
mov eax, dword [esp + 0x48]
or ebx, ecx
mov ecx, dword [esp + 0x28]
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
shl eax, 0x1e
or edx, ecx
mov ecx, dword [esp + 0x28]
or esi, eax
mov eax, dword [esp + 0x48]
xor edi, esi
mov esi, ecx
xor ebx, edx
shld ecx, eax, 0x19
shr esi, 7
xor edx, edx
shl eax, 0x19
or esi, eax
or edx, ecx
mov ecx, dword [esp + 0x48]
xor edi, esi
mov eax, dword [esp + 0x28]
xor ebx, edx
mov edx, dword [esp + 0x28]
mov esi, ecx
xor esi, dword [esp + 0x4c]
xor edx, dword [esp + 0x20]
and esi, dword [esp + 0x44]
and ecx, dword [esp + 0x4c]
and edx, dword [esp + 0x30]
or esi, ecx
and eax, dword [esp + 0x20]
or edx, eax
add edi, esi
adc ebx, edx
add dword [esp + 0x54], edi
adc dword [esp + 0x34], ebx
cmp dword [esp + 0x5c], 0
je 0x421e6b
mov ebx, dword [ebp + 0xb0]
xor edx, edx
mov edi, dword [ebp + 0xb4]
mov eax, ebx
mov ebp, dword [ebp + 0x9c]
mov ecx, edi
shrd eax, ecx, 8
mov esi, ebx
shr ecx, 8
or edx, eax
shl esi, 0x18
mov eax, ebx
or esi, ecx
mov dword [esp + 0x14], edx
mov ecx, edi
mov dword [esp + 0x18], esi
shrd eax, ecx, 1
mov esi, ebx
xor edx, edx
shr ecx, 1
or edx, eax
mov eax, dword [esp + 0x14]
shrd ebx, edi, 7
shl esi, 0x1f
xor eax, edx
or esi, ecx
shr edi, 7
mov ecx, dword [esp + 0x18]
xor eax, ebx
xor ecx, esi
mov dword [esp + 0x14], eax
xor ecx, edi
xor edx, edx
mov dword [esp + 0x18], ecx
xor edi, edi
mov ecx, dword [esp + 0x10]
mov esi, ebp
shr esi, 0x1d
mov eax, dword [ecx + 0x98]
mov ebx, eax
mov ecx, ebp
shl ebx, 0xd
shrd eax, ecx, 0x13
shr ecx, 0x13
or edi, eax
or ebx, ecx
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x98]
mov ecx, ebp
shld ecx, eax, 3
or edx, ecx
shl eax, 3
mov ecx, dword [esp + 0x10]
or esi, eax
xor edi, esi
xor ebx, edx
mov eax, dword [ecx + 0x98]
mov ecx, dword [esp + 0x18]
shrd eax, ebp, 6
shr ebp, 6
xor edi, eax
mov eax, dword [esp + 0x14]
xor ebx, ebp
mov ebp, dword [esp + 0x10]
add eax, edi
adc ecx, ebx
add eax, dword [ebp + 0x70]
adc ecx, dword [ebp + 0x74]
add dword [ebp + 0xa8], eax
adc dword [ebp + 0xac], ecx
mov ecx, dword [esp + 0x3c]
xor edi, edi
mov eax, dword [esp + 0x40]
mov ebx, ecx
shld ecx, eax, 0x17
shr ebx, 9
xor edx, edx
or edi, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x3c]
or ebx, eax
mov eax, dword [esp + 0x40]
mov esi, eax
shrd eax, ecx, 0x12
shl esi, 0xe
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x40]
or esi, ecx
mov ecx, dword [esp + 0x3c]
xor edi, esi
mov esi, eax
xor ebx, edx
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
or edx, eax
shr ecx, 0xe
mov eax, dword [esp + 0x38]
or esi, ecx
xor eax, dword [esp + 0x24]
xor edi, esi
and eax, dword [esp + 0x3c]
xor ebx, edx
xor eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x50]
xor ecx, dword [esp + 0x58]
and ecx, dword [esp + 0x40]
xor ecx, dword [esp + 0x58]
add ebx, ecx
mov ecx, dword [esp + 0x2c]
adc edi, eax
mov eax, dword [esp + 0x5c]
add ebx, dword [eax*8 + 0x42ce98]
adc edi, dword [eax*8 + 0x42ce9c]
add ebx, dword [ebp + 0xa8]
mov eax, dword [esp + 0x1c]
adc edi, dword [ebp + 0xac]
add ecx, ebx
mov dword [esp + 0x2c], ecx
adc eax, edi
add dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x34]
adc dword [esp + 0x30], eax
xor edi, edi
mov dword [esp + 0x1c], eax
xor edx, edx
mov eax, dword [esp + 0x54]
mov ebx, eax
shrd eax, ecx, 0x1c
shl ebx, 4
shr ecx, 0x1c
or edi, eax
mov eax, dword [esp + 0x54]
or ebx, ecx
mov ecx, dword [esp + 0x34]
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
shl eax, 0x1e
or edx, ecx
mov ecx, dword [esp + 0x34]
or esi, eax
mov eax, dword [esp + 0x54]
xor edi, esi
mov esi, ecx
xor ebx, edx
shld ecx, eax, 0x19
shr esi, 7
xor edx, edx
shl eax, 0x19
or esi, eax
or edx, ecx
mov ecx, dword [esp + 0x54]
xor edi, esi
mov eax, dword [esp + 0x34]
xor ebx, edx
mov edx, dword [esp + 0x34]
mov esi, ecx
xor esi, dword [esp + 0x48]
xor edx, dword [esp + 0x28]
and esi, dword [esp + 0x4c]
and ecx, dword [esp + 0x48]
and edx, dword [esp + 0x20]
or esi, ecx
and eax, dword [esp + 0x28]
or edx, eax
add edi, esi
adc ebx, edx
add dword [esp + 0x2c], edi
adc dword [esp + 0x1c], ebx
cmp dword [esp + 0x5c], 0
je 0x422089
mov ebx, dword [ebp + 0xa0]
mov edx, ebx
mov edi, dword [ebp + 0xa4]
mov eax, ebx
mov ecx, edi
shl edx, 0xd
shrd eax, ecx, 0x13
xor ebp, ebp
mov esi, edi
or ebp, eax
shr ecx, 0x13
or edx, ecx
shr esi, 0x1d
mov eax, ebx
mov dword [esp + 0x14], edx
mov ecx, edi
xor edx, edx
shld ecx, eax, 3
shrd ebx, edi, 6
shl eax, 3
or edx, ecx
mov ecx, dword [esp + 0x10]
or esi, eax
mov eax, dword [esp + 0x14]
xor ebp, esi
xor eax, edx
shr edi, 6
xor eax, edi
xor ebp, ebx
mov edx, dword [ecx + 0xb8]
xor edi, edi
mov ecx, dword [ecx + 0xbc]
mov ebx, edx
mov dword [esp + 0x14], eax
mov esi, edx
mov eax, edx
shl ebx, 0x18
shrd eax, ecx, 8
xor edx, edx
shl esi, 0x1f
shr ecx, 8
or edi, eax
or ebx, ecx
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0xb8]
mov ecx, dword [ecx + 0xbc]
shrd eax, ecx, 1
or edx, eax
shr ecx, 1
xor edi, edx
or esi, ecx
mov edx, dword [esp + 0x10]
xor ebx, esi
mov eax, dword [edx + 0xbc]
mov ecx, dword [edx + 0xb8]
shrd ecx, eax, 7
shr eax, 7
xor edi, ecx
xor ebx, eax
mov eax, dword [esp + 0x14]
add ebp, edi
adc eax, ebx
add ebp, dword [edx + 0x78]
adc eax, dword [edx + 0x7c]
add dword [edx + 0xb0], ebp
mov ebp, edx
adc dword [ebp + 0xb4], eax
mov ecx, dword [esp + 0x30]
xor edi, edi
mov eax, dword [esp + 0x44]
mov ebx, ecx
shld ecx, eax, 0x17
shr ebx, 9
xor edx, edx
or edi, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x30]
or ebx, eax
mov eax, dword [esp + 0x44]
mov esi, eax
shrd eax, ecx, 0x12
shl esi, 0xe
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x44]
or esi, ecx
mov ecx, dword [esp + 0x30]
xor edi, esi
mov esi, eax
xor ebx, edx
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
or edx, eax
shr ecx, 0xe
mov eax, dword [esp + 0x38]
or esi, ecx
xor eax, dword [esp + 0x3c]
xor edi, esi
and eax, dword [esp + 0x30]
xor ebx, edx
xor eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x50]
xor ecx, dword [esp + 0x40]
and ecx, dword [esp + 0x44]
xor ecx, dword [esp + 0x50]
add ebx, ecx
mov ecx, dword [esp + 0x58]
adc edi, eax
mov eax, dword [esp + 0x5c]
add ebx, dword [eax*8 + 0x42cea0]
adc edi, dword [eax*8 + 0x42cea4]
add ebx, dword [ebp + 0xb0]
mov eax, dword [esp + 0x24]
adc edi, dword [ebp + 0xb4]
add ecx, ebx
mov dword [esp + 0x58], ecx
adc eax, edi
add dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x1c]
adc dword [esp + 0x20], eax
xor edi, edi
mov dword [esp + 0x24], eax
xor edx, edx
mov eax, dword [esp + 0x2c]
mov ebx, eax
shrd eax, ecx, 0x1c
shl ebx, 4
shr ecx, 0x1c
or edi, eax
mov eax, dword [esp + 0x2c]
or ebx, ecx
mov ecx, dword [esp + 0x1c]
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
shl eax, 0x1e
or edx, ecx
mov ecx, dword [esp + 0x1c]
or esi, eax
mov eax, dword [esp + 0x2c]
xor edi, esi
mov esi, ecx
xor ebx, edx
shld ecx, eax, 0x19
shr esi, 7
xor edx, edx
shl eax, 0x19
or esi, eax
or edx, ecx
mov ecx, dword [esp + 0x54]
xor edi, esi
mov eax, dword [esp + 0x34]
xor ebx, edx
mov esi, ecx
mov edx, eax
xor esi, dword [esp + 0x2c]
xor edx, dword [esp + 0x1c]
and esi, dword [esp + 0x48]
and ecx, dword [esp + 0x2c]
and edx, dword [esp + 0x28]
or esi, ecx
and eax, dword [esp + 0x1c]
or edx, eax
add edi, esi
adc ebx, edx
add dword [esp + 0x58], edi
adc dword [esp + 0x24], ebx
cmp dword [esp + 0x5c], 0
je 0x4222ab
mov ebx, dword [ebp + 0xa8]
mov edx, ebx
mov edi, dword [ebp + 0xac]
mov eax, ebx
mov ecx, edi
shl edx, 0xd
shrd eax, ecx, 0x13
xor ebp, ebp
mov esi, edi
or ebp, eax
shr ecx, 0x13
or edx, ecx
shr esi, 0x1d
mov eax, ebx
mov dword [esp + 0x14], edx
mov ecx, edi
xor edx, edx
shld ecx, eax, 3
shrd ebx, edi, 6
shl eax, 3
or edx, ecx
mov ecx, dword [esp + 0x10]
or esi, eax
mov eax, dword [esp + 0x14]
xor ebp, esi
xor eax, edx
shr edi, 6
xor eax, edi
xor ebp, ebx
mov edx, dword [ecx + 0xc0]
xor edi, edi
mov ecx, dword [ecx + 0xc4]
mov ebx, edx
mov dword [esp + 0x14], eax
mov esi, edx
mov eax, edx
shl ebx, 0x18
shrd eax, ecx, 8
xor edx, edx
shl esi, 0x1f
shr ecx, 8
or edi, eax
or ebx, ecx
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0xc0]
mov ecx, dword [ecx + 0xc4]
shrd eax, ecx, 1
or edx, eax
shr ecx, 1
xor edi, edx
or esi, ecx
mov edx, dword [esp + 0x10]
xor ebx, esi
mov eax, dword [edx + 0xc4]
mov ecx, dword [edx + 0xc0]
shrd ecx, eax, 7
shr eax, 7
xor edi, ecx
xor ebx, eax
mov eax, dword [esp + 0x14]
add ebp, edi
adc eax, ebx
add ebp, dword [edx + 0x80]
adc eax, dword [edx + 0x84]
add dword [edx + 0xb8], ebp
mov ebp, edx
adc dword [ebp + 0xbc], eax
mov ecx, dword [esp + 0x20]
xor edi, edi
mov eax, dword [esp + 0x4c]
mov ebx, ecx
shld ecx, eax, 0x17
shr ebx, 9
xor edx, edx
or edi, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x20]
or ebx, eax
mov eax, dword [esp + 0x4c]
mov esi, eax
shrd eax, ecx, 0x12
shl esi, 0xe
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x4c]
or esi, ecx
mov ecx, dword [esp + 0x20]
xor edi, esi
mov esi, eax
xor ebx, edx
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
or edx, eax
shr ecx, 0xe
mov eax, dword [esp + 0x3c]
or esi, ecx
xor eax, dword [esp + 0x30]
xor edi, esi
and eax, dword [esp + 0x20]
xor ebx, edx
xor eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
xor ecx, dword [esp + 0x44]
and ecx, dword [esp + 0x4c]
xor ecx, dword [esp + 0x40]
add ebx, ecx
mov ecx, dword [esp + 0x50]
adc edi, eax
mov eax, dword [esp + 0x5c]
add ebx, dword [eax*8 + 0x42cea8]
adc edi, dword [eax*8 + 0x42ceac]
add ebx, dword [ebp + 0xb8]
mov eax, dword [esp + 0x38]
adc edi, dword [ebp + 0xbc]
add ecx, ebx
mov dword [esp + 0x50], ecx
adc eax, edi
add dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x24]
adc dword [esp + 0x28], eax
xor edi, edi
mov dword [esp + 0x38], eax
xor edx, edx
mov eax, dword [esp + 0x58]
mov ebx, eax
shrd eax, ecx, 0x1c
shl ebx, 4
shr ecx, 0x1c
or edi, eax
mov eax, dword [esp + 0x58]
or ebx, ecx
mov ecx, dword [esp + 0x24]
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
shl eax, 0x1e
or edx, ecx
mov ecx, dword [esp + 0x24]
or esi, eax
mov eax, dword [esp + 0x58]
xor edi, esi
mov esi, ecx
xor ebx, edx
shld ecx, eax, 0x19
shr esi, 7
xor edx, edx
shl eax, 0x19
or esi, eax
or edx, ecx
mov ecx, dword [esp + 0x58]
xor edi, esi
mov eax, dword [esp + 0x24]
xor ebx, edx
mov edx, dword [esp + 0x24]
mov esi, ecx
xor esi, dword [esp + 0x2c]
xor edx, dword [esp + 0x1c]
and esi, dword [esp + 0x54]
and ecx, dword [esp + 0x2c]
and edx, dword [esp + 0x34]
or esi, ecx
and eax, dword [esp + 0x1c]
or edx, eax
add edi, esi
adc ebx, edx
add dword [esp + 0x50], edi
adc dword [esp + 0x38], ebx
cmp dword [esp + 0x5c], 0
je 0x4224d7
mov ebx, dword [ebp + 0xc8]
xor edx, edx
mov edi, dword [ebp + 0xcc]
mov eax, ebx
mov ebp, dword [ebp + 0xb4]
mov ecx, edi
shrd eax, ecx, 8
mov esi, ebx
shr ecx, 8
or edx, eax
shl esi, 0x18
mov eax, ebx
or esi, ecx
mov dword [esp + 0x14], edx
mov ecx, edi
mov dword [esp + 0x18], esi
shrd eax, ecx, 1
mov esi, ebx
xor edx, edx
shr ecx, 1
or edx, eax
mov eax, dword [esp + 0x14]
shrd ebx, edi, 7
shl esi, 0x1f
xor eax, edx
or esi, ecx
shr edi, 7
mov ecx, dword [esp + 0x18]
xor eax, ebx
xor ecx, esi
mov dword [esp + 0x14], eax
xor ecx, edi
xor edx, edx
mov dword [esp + 0x18], ecx
xor edi, edi
mov ecx, dword [esp + 0x10]
mov esi, ebp
shr esi, 0x1d
mov eax, dword [ecx + 0xb0]
mov ebx, eax
mov ecx, ebp
shl ebx, 0xd
shrd eax, ecx, 0x13
shr ecx, 0x13
or edi, eax
or ebx, ecx
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0xb0]
mov ecx, ebp
shld ecx, eax, 3
or edx, ecx
shl eax, 3
mov ecx, dword [esp + 0x10]
or esi, eax
xor edi, esi
xor ebx, edx
mov eax, dword [ecx + 0xb0]
mov ecx, dword [esp + 0x18]
shrd eax, ebp, 6
shr ebp, 6
xor edi, eax
mov eax, dword [esp + 0x14]
xor ebx, ebp
mov ebp, dword [esp + 0x10]
add eax, edi
adc ecx, ebx
add eax, dword [ebp + 0x88]
adc ecx, dword [ebp + 0x8c]
add dword [ebp + 0xc0], eax
adc dword [ebp + 0xc4], ecx
mov ecx, dword [esp + 0x28]
xor edi, edi
mov eax, dword [esp + 0x48]
mov ebx, ecx
shld ecx, eax, 0x17
shr ebx, 9
xor edx, edx
or edi, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x28]
or ebx, eax
mov eax, dword [esp + 0x48]
mov esi, eax
shrd eax, ecx, 0x12
shl esi, 0xe
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x48]
or esi, ecx
mov ecx, dword [esp + 0x28]
xor edi, esi
mov esi, eax
xor ebx, edx
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
or edx, eax
shr ecx, 0xe
mov eax, dword [esp + 0x30]
or esi, ecx
xor eax, dword [esp + 0x20]
xor edi, esi
and eax, dword [esp + 0x28]
xor ebx, edx
xor eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x44]
xor ecx, dword [esp + 0x4c]
and ecx, dword [esp + 0x48]
xor ecx, dword [esp + 0x44]
add ebx, ecx
mov ecx, dword [esp + 0x40]
adc edi, eax
mov eax, dword [esp + 0x5c]
add ebx, dword [eax*8 + 0x42ceb0]
adc edi, dword [eax*8 + 0x42ceb4]
add ebx, dword [ebp + 0xc0]
mov eax, dword [esp + 0x3c]
adc edi, dword [ebp + 0xc4]
add ecx, ebx
mov dword [esp + 0x40], ecx
adc eax, edi
add dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x38]
adc dword [esp + 0x34], eax
xor edi, edi
mov dword [esp + 0x3c], eax
xor edx, edx
mov eax, dword [esp + 0x50]
mov ebx, eax
shrd eax, ecx, 0x1c
shl ebx, 4
shr ecx, 0x1c
or edi, eax
mov eax, dword [esp + 0x50]
or ebx, ecx
mov ecx, dword [esp + 0x38]
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
shl eax, 0x1e
or edx, ecx
mov ecx, dword [esp + 0x38]
or esi, eax
mov eax, dword [esp + 0x50]
xor edi, esi
mov esi, ecx
xor ebx, edx
shld ecx, eax, 0x19
shr esi, 7
xor edx, edx
shl eax, 0x19
or esi, eax
or edx, ecx
mov ecx, dword [esp + 0x50]
xor edi, esi
mov eax, dword [esp + 0x38]
xor ebx, edx
mov edx, dword [esp + 0x38]
mov esi, ecx
xor esi, dword [esp + 0x58]
xor edx, dword [esp + 0x24]
and esi, dword [esp + 0x2c]
and ecx, dword [esp + 0x58]
and edx, dword [esp + 0x1c]
or esi, ecx
and eax, dword [esp + 0x24]
or edx, eax
add edi, esi
adc ebx, edx
add dword [esp + 0x40], edi
adc dword [esp + 0x3c], ebx
cmp dword [esp + 0x5c], 0
je 0x4226f9
mov ebx, dword [ebp + 0xb8]
xor edx, edx
mov edi, dword [ebp + 0xbc]
mov eax, ebx
mov ebp, dword [ebp + 0x54]
mov ecx, edi
shrd eax, ecx, 0x13
mov esi, ebx
or edx, eax
shr ecx, 0x13
shl esi, 0xd
mov eax, ebx
or esi, ecx
mov dword [esp + 0x14], edx
mov ecx, edi
mov dword [esp + 0x18], esi
shld ecx, eax, 3
mov esi, edi
xor edx, edx
shl eax, 3
or edx, ecx
mov ecx, dword [esp + 0x18]
shrd ebx, edi, 6
shr esi, 0x1d
xor ecx, edx
or esi, eax
shr edi, 6
mov eax, dword [esp + 0x14]
xor ecx, edi
xor eax, esi
mov dword [esp + 0x18], ecx
xor eax, ebx
mov ecx, ebp
mov dword [esp + 0x14], eax
xor edi, edi
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x50]
mov eax, edx
shrd eax, ecx, 8
mov ebx, edx
mov esi, edx
shr ecx, 8
or edi, eax
shl ebx, 0x18
xor edx, edx
or ebx, ecx
shl esi, 0x1f
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x50]
mov ecx, ebp
shrd eax, ecx, 1
shr ecx, 1
or edx, eax
or esi, ecx
xor edi, edx
mov ecx, dword [esp + 0x10]
xor ebx, esi
mov eax, dword [ecx + 0x50]
mov ecx, dword [esp + 0x18]
shrd eax, ebp, 7
shr ebp, 7
xor edi, eax
mov eax, dword [esp + 0x14]
xor ebx, ebp
mov ebp, dword [esp + 0x10]
add eax, edi
adc ecx, ebx
add eax, dword [ebp + 0x90]
adc ecx, dword [ebp + 0x94]
add dword [ebp + 0xc8], eax
adc dword [ebp + 0xcc], ecx
mov ecx, dword [esp + 0x34]
xor edi, edi
mov eax, dword [esp + 0x54]
mov ebx, ecx
shld ecx, eax, 0x17
shr ebx, 9
xor edx, edx
or edi, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x34]
or ebx, eax
mov eax, dword [esp + 0x54]
mov esi, eax
shrd eax, ecx, 0x12
shl esi, 0xe
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x54]
or esi, ecx
mov ecx, dword [esp + 0x34]
xor edi, esi
mov esi, eax
xor ebx, edx
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
or edx, eax
shr ecx, 0xe
mov eax, dword [esp + 0x28]
or esi, ecx
xor eax, dword [esp + 0x20]
xor edi, esi
and eax, dword [esp + 0x34]
xor ebx, edx
xor eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x48]
xor ecx, dword [esp + 0x4c]
and ecx, dword [esp + 0x54]
xor ecx, dword [esp + 0x4c]
add ebx, ecx
mov ecx, dword [esp + 0x44]
adc edi, eax
mov eax, dword [esp + 0x5c]
add ebx, dword [eax*8 + 0x42ceb8]
adc edi, dword [eax*8 + 0x42cebc]
add ebx, dword [ebp + 0xc8]
mov eax, dword [esp + 0x30]
adc edi, dword [ebp + 0xcc]
add ecx, ebx
mov dword [esp + 0x44], ecx
adc eax, edi
add dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x3c]
adc dword [esp + 0x1c], eax
xor edi, edi
mov dword [esp + 0x30], eax
xor edx, edx
mov eax, dword [esp + 0x40]
mov ebx, eax
shrd eax, ecx, 0x1c
shl ebx, 4
shr ecx, 0x1c
or edi, eax
mov eax, dword [esp + 0x40]
or ebx, ecx
mov ecx, dword [esp + 0x3c]
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
shl eax, 0x1e
or edx, ecx
mov ecx, dword [esp + 0x3c]
or esi, eax
mov eax, dword [esp + 0x40]
xor edi, esi
mov esi, ecx
xor ebx, edx
shld ecx, eax, 0x19
shr esi, 7
xor edx, edx
shl eax, 0x19
or esi, eax
or edx, ecx
mov ecx, dword [esp + 0x50]
xor edi, esi
mov eax, dword [esp + 0x38]
xor ebx, edx
mov esi, ecx
mov edx, eax
xor esi, dword [esp + 0x40]
xor edx, dword [esp + 0x3c]
and esi, dword [esp + 0x58]
and ecx, dword [esp + 0x40]
and eax, dword [esp + 0x3c]
or esi, ecx
and edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x44]
or edx, eax
mov eax, dword [esp + 0x5c]
add edi, esi
mov esi, dword [esp + 0x30]
adc ebx, edx
add ecx, edi
mov dword [esp + 0x44], ecx
adc esi, ebx
add eax, 0x10
mov dword [esp + 0x30], esi
mov dword [esp + 0x5c], eax
cmp eax, 0x50
jb 0x42068a
add dword [ebp + 0x10], ecx
mov eax, dword [esp + 0x40]
adc dword [ebp + 0x14], esi
add dword [ebp + 0x18], eax
mov eax, dword [esp + 0x3c]
adc dword [ebp + 0x1c], eax
mov eax, dword [esp + 0x50]
add dword [ebp + 0x20], eax
mov eax, dword [esp + 0x38]
adc dword [ebp + 0x24], eax
mov eax, dword [esp + 0x58]
add dword [ebp + 0x28], eax
mov eax, dword [esp + 0x24]
adc dword [ebp + 0x2c], eax
mov eax, dword [esp + 0x2c]
add dword [ebp + 0x30], eax
mov eax, dword [esp + 0x1c]
adc dword [ebp + 0x34], eax
mov eax, dword [esp + 0x54]
add dword [ebp + 0x38], eax
mov eax, dword [esp + 0x34]
adc dword [ebp + 0x3c], eax
mov eax, dword [esp + 0x48]
add dword [ebp + 0x40], eax
mov eax, dword [esp + 0x28]
adc dword [ebp + 0x44], eax
mov eax, dword [esp + 0x4c]
add dword [ebp + 0x48], eax
mov eax, dword [esp + 0x20]
adc dword [ebp + 0x4c], eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94
ret