Function at 0x10037410
Capabilities:
Encode data using xor
Hash data using sha512
Resolve function by parsing pe exports

Disassembly:
mov eax, 0xfc
call fcn.10079f60
mov eax, dword [0x100ce750]
xor eax, esp
mov dword [esp + 0xf8], eax
mov ecx, dword [esp + 0x108]
push esi
mov esi, dword [esp + 0x104]
mov dword [esp + 0x74], esi
test ecx, ecx
je 0x10039ea9
mov eax, dword [esp + 0x108]
push ebx
add eax, 0x10
push ebp
mov dword [esp + 0x68], eax
push edi
mov eax, dword [esi]
dec ecx
mov dword [esp + 0x48], eax
mov eax, dword [esi + 4]
mov dword [esp + 0x28], eax
mov eax, dword [esi + 8]
mov dword [esp + 0x24], eax
mov eax, dword [esi + 0xc]
mov edi, dword [esi + 0x24]
mov dword [esp + 0x58], eax
mov eax, dword [esi + 0x10]
mov dword [esp + 0x2c], eax
mov eax, dword [esi + 0x14]
mov dword [esp + 0x38], eax
mov eax, dword [esi + 0x18]
mov dword [esp + 0x44], eax
mov eax, dword [esi + 0x1c]
mov dword [esp + 0x4c], eax
mov eax, dword [esi + 0x20]
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0x28]
mov dword [esp + 0x68], eax
mov eax, dword [esi + 0x2c]
mov dword [esp + 0x60], eax
mov eax, dword [esi + 0x30]
mov dword [esp + 0x5c], eax
mov eax, dword [esi + 0x34]
mov dword [esp + 0x64], eax
mov eax, dword [esi + 0x38]
mov dword [esp + 0x74], eax
mov eax, dword [esi + 0x3c]
mov esi, dword [esp + 0x6c]
mov dword [esp + 0x118], ecx
mov dword [esp + 0x20], edi
mov dword [esp + 0x70], eax
lea ecx, [esi - 0x10]
call fcn.10036c20
mov ecx, dword [esp + 0x10]
mov ebx, eax
mov eax, dword [esp + 0x20]
mov ebp, edx
shld eax, ecx, 0x17
shr edi, 9
xor edx, edx
or edx, eax
shl ecx, 0x17
mov eax, dword [esp + 0x10]
or edi, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x14], edi
mov edi, eax
shrd eax, ecx, 0x12
mov dword [esp + 0x18], edx
xor edx, edx
shl edi, 0xe
or edx, eax
xor dword [esp + 0x14], edx
xor edx, edx
mov eax, dword [esp + 0x10]
shr ecx, 0x12
or edi, ecx
mov dword [esp + 0x88], ebx
xor dword [esp + 0x18], edi
mov edi, eax
mov ecx, dword [esp + 0x20]
shrd eax, ecx, 0xe
shl edi, 0x12
shr ecx, 0xe
or edx, eax
xor dword [esp + 0x14], edx
or edi, ecx
xor dword [esp + 0x18], edi
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x20]
not edi
mov ecx, dword [esp + 0x68]
not edx
and edi, dword [esp + 0x5c]
and edx, dword [esp + 0x64]
and ecx, dword [esp + 0x10]
mov dword [esp + 0x8c], ebp
mov eax, dword [esp + 0x60]
xor edi, ecx
and eax, dword [esp + 0x20]
xor edx, eax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
add ecx, edi
mov edi, dword [esp + 0x28]
adc eax, edx
add ecx, ebx
mov ebx, dword [esp + 0x58]
adc eax, ebp
add ecx, dword [esp + 0x74]
mov ebp, dword [esp + 0x24]
adc eax, dword [esp + 0x70]
add ecx, 0xd728ae22
mov dword [esp + 0x14], ecx
adc eax, 0x428a2f98
add dword [esp + 0x44], ecx
mov dword [esp + 0x18], eax
adc dword [esp + 0x4c], eax
xor edx, edx
mov eax, dword [esp + 0x24]
and ebx, edi
xor eax, dword [esp + 0x48]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x58]
xor eax, edi
mov dword [esp + 0x70], ebx
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x48]
mov ecx, eax
shl ecx, 4
and ebp, eax
mov dword [esp + 0x54], ecx
mov ecx, edi
shrd eax, ecx, 0x1c
shr edi, 2
or edx, eax
shr ecx, 0x1c
or dword [esp + 0x54], ecx
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x28]
shld ecx, eax, 0x1e
mov dword [esp + 0x40], edx
xor edx, edx
shl eax, 0x1e
or edx, ecx
xor dword [esp + 0x54], edx
or edi, eax
xor dword [esp + 0x40], edi
xor edx, edx
mov ecx, dword [esp + 0x28]
mov edi, ecx
mov eax, dword [esp + 0x48]
shld ecx, eax, 0x19
shr edi, 7
shl eax, 0x19
or edx, ecx
mov ecx, dword [esp + 0x50]
or edi, eax
xor dword [esp + 0x40], edi
and ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0x54]
xor ecx, ebp
mov eax, dword [esp + 0x34]
xor edi, edx
and eax, dword [esp + 0x38]
mov edx, dword [esp + 0x40]
xor eax, ebx
add edx, ecx
mov dword [esp + 0x74], ebp
lea ecx, [esi - 8]
adc edi, eax
add edx, dword [esp + 0x14]
mov dword [esp + 0x40], edx
adc edi, dword [esp + 0x18]
mov dword [esp + 0x54], edi
call fcn.10036c20
mov ebx, eax
mov ebp, edx
mov eax, dword [esp + 0x4c]
xor edx, edx
mov ecx, dword [esp + 0x44]
mov edi, eax
shld eax, ecx, 0x17
shr edi, 9
or edx, eax
shl ecx, 0x17
or edi, ecx
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x14], edi
mov edi, eax
shrd eax, ecx, 0x12
shl edi, 0xe
shr ecx, 0x12
or edi, ecx
mov dword [esp + 0x18], edx
xor dword [esp + 0x18], edi
xor edx, edx
mov ecx, dword [esp + 0x4c]
or edx, eax
xor dword [esp + 0x14], edx
xor edx, edx
mov eax, dword [esp + 0x44]
mov edi, eax
shrd eax, ecx, 0xe
shl edi, 0x12
or edx, eax
shr ecx, 0xe
xor dword [esp + 0x14], edx
or edi, ecx
xor dword [esp + 0x18], edi
mov edi, dword [esp + 0x44]
mov edx, dword [esp + 0x4c]
not edi
and edi, dword [esp + 0x68]
not edx
and edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x10]
and ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x20]
xor edi, ecx
and eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x14]
xor edx, eax
mov eax, dword [esp + 0x18]
add ecx, edi
mov dword [esp + 0x90], ebx
adc eax, edx
mov dword [esp + 0x94], ebp
add ecx, ebx
mov ebx, dword [esp + 0x40]
mov edi, ebx
adc eax, ebp
add ecx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x54]
adc eax, dword [esp + 0x64]
add ecx, 0x23ef65cd
mov dword [esp + 0x14], ecx
adc eax, 0x71374491
add dword [esp + 0x2c], ecx
mov dword [esp + 0x18], eax
mov ecx, ebp
adc dword [esp + 0x38], eax
mov eax, ebx
shrd eax, ecx, 0x1c
shl edi, 4
xor edx, edx
shr ecx, 0x1c
or edx, eax
or edi, ecx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x1c], edi
mov eax, ebx
mov ecx, ebp
mov edi, ebp
shld ecx, eax, 0x1e
shr edi, 2
xor edx, edx
shl eax, 0x1e
or edi, eax
or edx, ecx
xor dword [esp + 0x3c], edi
mov eax, ebx
xor dword [esp + 0x1c], edx
mov ecx, ebp
shld ecx, eax, 0x19
xor edx, edx
mov edi, ebp
shr edi, 7
or edx, ecx
mov ecx, dword [esp + 0x50]
shl eax, 0x19
and ecx, ebx
xor ecx, dword [esp + 0x74]
or edi, eax
xor dword [esp + 0x3c], edi
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x34]
xor edi, edx
mov edx, dword [esp + 0x3c]
and eax, ebp
xor eax, dword [esp + 0x70]
add edx, ecx
mov ecx, esi
adc edi, eax
add edx, dword [esp + 0x14]
mov dword [esp + 0x3c], edx
adc edi, dword [esp + 0x18]
mov dword [esp + 0x1c], edi
call fcn.10036c20
mov ecx, dword [esp + 0x2c]
mov ebx, eax
mov eax, dword [esp + 0x38]
mov ebp, edx
mov edi, eax
mov dword [esp + 0x98], ebx
shld eax, ecx, 0x17
shr edi, 9
xor edx, edx
or edx, eax
shl ecx, 0x17
mov eax, dword [esp + 0x2c]
or edi, ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x18], edi
mov edi, eax
shrd eax, ecx, 0x12
mov dword [esp + 0x34], edx
xor edx, edx
shl edi, 0xe
or edx, eax
xor dword [esp + 0x18], edx
xor edx, edx
mov eax, dword [esp + 0x2c]
shr ecx, 0x12
or edi, ecx
mov dword [esp + 0x9c], ebp
xor dword [esp + 0x34], edi
mov edi, eax
mov ecx, dword [esp + 0x38]
shrd eax, ecx, 0xe
shl edi, 0x12
shr ecx, 0xe
or edx, eax
xor dword [esp + 0x18], edx
or edi, ecx
xor dword [esp + 0x34], edi
mov edi, dword [esp + 0x2c]
mov edx, dword [esp + 0x38]
not edi
mov ecx, dword [esp + 0x44]
not edx
and ecx, dword [esp + 0x2c]
and edi, dword [esp + 0x10]
mov eax, dword [esp + 0x4c]
xor edi, ecx
and edx, dword [esp + 0x20]
and eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x18]
xor edx, eax
mov eax, dword [esp + 0x34]
add ecx, edi
adc eax, edx
add ecx, ebx
adc eax, ebp
add ecx, dword [esp + 0x68]
mov ebp, dword [esp + 0x3c]
mov edx, ebp
adc eax, dword [esp + 0x60]
add ecx, 0xec4d3b2f
mov dword [esp + 0x18], ecx
adc eax, 0xb5c0fbcf
add dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x1c]
adc dword [esp + 0x58], eax
xor ebx, ebx
mov dword [esp + 0x34], eax
mov eax, ebp
shrd eax, ecx, 0x1c
shl edx, 4
or ebx, eax
shr ecx, 0x1c
or edx, ecx
mov eax, ebp
mov ecx, dword [esp + 0x1c]
mov edi, ecx
shld ecx, eax, 0x1e
mov dword [esp + 0x14], edx
xor edx, edx
or edx, ecx
shr edi, 2
xor dword [esp + 0x14], edx
xor edx, edx
mov ecx, dword [esp + 0x1c]
shl eax, 0x1e
or edi, eax
mov eax, ebp
xor ebx, edi
mov edi, ecx
shld ecx, eax, 0x19
shr edi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x14], edx
or edi, eax
mov edx, dword [esp + 0x1c]
xor ebx, edi
xor edx, dword [esp + 0x28]
mov edi, ebp
xor edi, dword [esp + 0x48]
mov ecx, ebp
and ecx, dword [esp + 0x48]
and edi, dword [esp + 0x40]
and edx, dword [esp + 0x54]
xor edi, ecx
mov eax, dword [esp + 0x1c]
mov ecx, ebx
and eax, dword [esp + 0x28]
xor edx, eax
mov dword [esp + 0x50], ebx
mov ebx, dword [esp + 0x14]
add ecx, edi
adc ebx, edx
add ecx, dword [esp + 0x18]
mov dword [esp + 0x50], ecx
lea ecx, [esi + 8]
adc ebx, dword [esp + 0x34]
mov dword [esp + 0x14], ebx
call fcn.10036c20
mov ecx, dword [esp + 0x24]
mov ebx, eax
mov eax, dword [esp + 0x58]
mov ebp, edx
mov edi, eax
mov dword [esp + 0xa0], ebx
shld eax, ecx, 0x17
shr edi, 9
xor edx, edx
shl ecx, 0x17
mov dword [esp + 0xa4], ebp
or edi, ecx
or edx, eax
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x18], edi
mov edi, eax
shrd eax, ecx, 0x12
shl edi, 0xe
shr ecx, 0x12
or edi, ecx
mov dword [esp + 0x30], edx
xor dword [esp + 0x30], edi
xor edx, edx
or edx, eax
mov ecx, dword [esp + 0x58]
xor dword [esp + 0x18], edx
xor edx, edx
mov eax, dword [esp + 0x24]
mov edi, eax
shrd eax, ecx, 0xe
shl edi, 0x12
or edx, eax
shr ecx, 0xe
xor dword [esp + 0x18], edx
or edi, ecx
xor dword [esp + 0x30], edi
mov edi, dword [esp + 0x24]
mov edx, dword [esp + 0x58]
not edi
and edi, dword [esp + 0x44]
not edx
and edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x2c]
and ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x38]
xor edi, ecx
and eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x18]
xor edx, eax
mov eax, dword [esp + 0x30]
add ecx, edi
adc eax, edx
add ecx, ebx
mov ebx, dword [esp + 0x50]
mov edx, ebx
adc eax, ebp
add ecx, dword [esp + 0x10]
adc eax, dword [esp + 0x20]
add ecx, 0x8189dbbc
mov dword [esp + 0x18], ecx
adc eax, 0xe9b5dba5
add dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x14]
adc dword [esp + 0x28], eax
xor ebp, ebp
mov dword [esp + 0x30], eax
mov eax, ebx
shrd eax, ecx, 0x1c
shl edx, 4
shr ecx, 0x1c
or ebp, eax
or edx, ecx
mov eax, ebx
mov ecx, dword [esp + 0x14]
mov edi, ecx
shld ecx, eax, 0x1e
mov dword [esp + 0x20], edx
xor edx, edx
shl eax, 0x1e
or edx, ecx
mov ecx, dword [esp + 0x14]
xor dword [esp + 0x20], edx
xor edx, edx
shr edi, 2
or edi, eax
mov eax, ebx
xor ebp, edi
mov edi, ecx
shld ecx, eax, 0x19
shr edi, 7
shl eax, 0x19
or edi, eax
mov eax, dword [esp + 0x1c]
or edx, ecx
xor dword [esp + 0x20], edx
xor ebp, edi
mov edi, dword [esp + 0x3c]
mov edx, dword [esp + 0x1c]
xor edi, ebx
xor edx, dword [esp + 0x14]
and edi, dword [esp + 0x40]
and edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x3c]
and eax, dword [esp + 0x14]
and ecx, ebx
xor edi, ecx
xor edx, eax
mov ecx, dword [esp + 0x20]
add ebp, edi
adc ecx, edx
add ebp, dword [esp + 0x18]
mov dword [esp + 0x34], ebp
adc ecx, dword [esp + 0x30]
mov dword [esp + 0x20], ecx
lea ecx, [esi + 0x10]
call fcn.10036c20
mov ecx, dword [esp + 0x48]
mov ebx, eax
mov eax, dword [esp + 0x28]
mov ebp, edx
mov edi, eax
mov dword [esp + 0xa8], ebx
shld eax, ecx, 0x17
shr edi, 9
xor edx, edx
or edx, eax
shl ecx, 0x17
mov eax, dword [esp + 0x48]
or edi, ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], edi
mov edi, eax
shrd eax, ecx, 0x12
shl edi, 0xe
shr ecx, 0x12
or edi, ecx
mov dword [esp + 0x30], edx
xor dword [esp + 0x30], edi
xor edx, edx
mov ecx, dword [esp + 0x28]
or edx, eax
xor dword [esp + 0x10], edx
xor edx, edx
mov eax, dword [esp + 0x48]
mov edi, eax
shrd eax, ecx, 0xe
shl edi, 0x12
or edx, eax
shr ecx, 0xe
xor dword [esp + 0x10], edx
or edi, ecx
xor dword [esp + 0x30], edi
mov edi, dword [esp + 0x48]
mov edx, dword [esp + 0x28]
not edi
and edi, dword [esp + 0x2c]
not edx
and edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x24]
and ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x58]
xor edi, ecx
and eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x10]
xor edx, eax
mov eax, dword [esp + 0x30]
add ecx, edi
mov dword [esp + 0xac], ebp
adc eax, edx
add ecx, ebx
adc eax, ebp
add ecx, dword [esp + 0x44]
adc eax, dword [esp + 0x4c]
mov ebx, dword [esp + 0x34]
add ecx, 0xf348b538
mov dword [esp + 0x10], ecx
mov edx, ebx
adc eax, 0x3956c25b
add dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x20]
adc dword [esp + 0x54], eax
xor ebp, ebp
mov dword [esp + 0x30], eax
mov eax, ebx
shrd eax, ecx, 0x1c
shl edx, 4
shr ecx, 0x1c
or ebp, eax
or edx, ecx
mov eax, ebx
mov ecx, dword [esp + 0x20]
mov edi, ecx
shld ecx, eax, 0x1e
mov dword [esp + 0x18], edx
xor edx, edx
or edx, ecx
shr edi, 2
xor dword [esp + 0x18], edx
xor edx, edx
mov ecx, dword [esp + 0x20]
shl eax, 0x1e
or edi, eax
mov eax, ebx
xor ebp, edi
mov edi, ecx
shld ecx, eax, 0x19
shr edi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x18], edx
or edi, eax
mov edx, dword [esp + 0x14]
xor ebp, edi
xor edx, dword [esp + 0x20]
mov edi, dword [esp + 0x50]
and edx, dword [esp + 0x1c]
xor edi, ebx
and edi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x14]
and ecx, ebx
and eax, dword [esp + 0x20]
xor edi, ecx
mov ecx, dword [esp + 0x18]
xor edx, eax
add ebp, edi
adc ecx, edx
add ebp, dword [esp + 0x10]
mov dword [esp + 0x44], ebp
adc ecx, dword [esp + 0x30]
mov dword [esp + 0x18], ecx
lea ecx, [esi + 0x18]
call fcn.10036c20
mov ecx, dword [esp + 0x40]
mov ebx, eax
mov eax, dword [esp + 0x54]
mov ebp, edx
mov edi, eax
mov dword [esp + 0xb0], ebx
shld eax, ecx, 0x17
shr edi, 9
xor edx, edx
shl ecx, 0x17
or edx, eax
mov eax, dword [esp + 0x40]
or edi, ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x4c], edi
mov edi, eax
mov dword [esp + 0x10], edx
xor edx, edx
shl edi, 0xe
mov dword [esp + 0xb4], ebp
shrd eax, ecx, 0x12
or edx, eax
shr ecx, 0x12
xor dword [esp + 0x4c], edx
or edi, ecx
xor dword [esp + 0x10], edi
xor edx, edx
mov eax, dword [esp + 0x40]
mov edi, eax
mov ecx, dword [esp + 0x54]
shrd eax, ecx, 0xe
shl edi, 0x12
or edx, eax
shr ecx, 0xe
xor dword [esp + 0x4c], edx
or edi, ecx
xor dword [esp + 0x10], edi
mov edi, dword [esp + 0x40]
mov edx, dword [esp + 0x54]
not edi
and edi, dword [esp + 0x24]
not edx
and edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x40]
and ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x54]
xor edi, ecx
and eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x4c]
xor edx, eax
mov eax, dword [esp + 0x10]
add ecx, edi
adc eax, edx
add ecx, ebx
mov ebx, dword [esp + 0x44]
mov edx, ebx
adc eax, ebp
add ecx, dword [esp + 0x2c]
adc eax, dword [esp + 0x38]
add ecx, 0xb605d019
mov dword [esp + 0x4c], ecx
adc eax, 0x59f111f1
add dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x18]
adc dword [esp + 0x1c], eax
xor ebp, ebp
mov dword [esp + 0x10], eax
mov eax, ebx
shrd eax, ecx, 0x1c
shl edx, 4
or ebp, eax
shr ecx, 0x1c
or edx, ecx
mov eax, ebx
mov ecx, dword [esp + 0x18]
mov edi, ecx
shld ecx, eax, 0x1e
mov dword [esp + 0x2c], edx
xor edx, edx
shr edi, 2
or edx, ecx
mov ecx, dword [esp + 0x18]
xor dword [esp + 0x2c], edx
xor edx, edx
shl eax, 0x1e
or edi, eax
mov eax, ebx
xor ebp, edi
mov edi, ecx
shld ecx, eax, 0x19
shr edi, 7
shl eax, 0x19
or edx, ecx
xor dword [esp + 0x2c], edx
or edi, eax
mov edx, dword [esp + 0x20]
xor ebp, edi
mov edi, dword [esp + 0x34]
xor edx, dword [esp + 0x18]
xor edi, ebx
and edi, dword [esp + 0x50]
and edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x20]
and ecx, ebx
and eax, dword [esp + 0x18]
xor edi, ecx
mov ecx, dword [esp + 0x2c]
xor edx, eax
add ebp, edi
adc ecx, edx
add ebp, dword [esp + 0x4c]
mov dword [esp + 0x38], ebp
adc ecx, dword [esp + 0x10]
mov dword [esp + 0x2c], ecx
lea ecx, [esi + 0x20]
call fcn.10036c20
mov ecx, dword [esp + 0x3c]
mov ebx, eax
mov eax, dword [esp + 0x1c]
mov ebp, edx
mov edi, eax
mov dword [esp + 0xb8], ebx
shld eax, ecx, 0x17
shr edi, 9
xor edx, edx
or edx, eax
shl ecx, 0x17
mov eax, dword [esp + 0x3c]
or edi, ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x4c], edi
mov edi, eax
shrd eax, ecx, 0x12
shl edi, 0xe
shr ecx, 0x12
or edi, ecx
mov dword [esp + 0x10], edx
xor dword [esp + 0x10], edi
xor edx, edx
mov ecx, dword [esp + 0x1c]
or edx, eax
xor dword [esp + 0x4c], edx
xor edx, edx
mov eax, dword [esp + 0x3c]
mov edi, eax
shrd eax, ecx, 0xe
shl edi, 0x12
or edx, eax
shr ecx, 0xe
xor dword [esp + 0x4c], edx
or edi, ecx
xor dword [esp + 0x10], edi
mov edi, dword [esp + 0x3c]
mov edx, dword [esp + 0x1c]
not edi
and edi, dword [esp + 0x48]
not edx
and edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x40]
and ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x54]
xor edi, ecx
and eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x4c]
xor edx, eax
mov eax, dword [esp + 0x10]
add ecx, edi
mov dword [esp + 0xbc], ebp
adc eax, edx
add ecx, ebx
mov ebx, dword [esp + 0x38]
mov edx, ebx
adc eax, ebp
add ecx, dword [esp + 0x24]
adc eax, dword [esp + 0x58]
add ecx, 0xaf194f9b
mov dword [esp + 0x4c], ecx
adc eax, 0x923f82a4
add dword [esp + 0x50], ecx
mov dword [esp + 0x10], eax
adc dword [esp + 0x14], eax
xor ebp, ebp
mov ecx, dword [esp + 0x2c]
mov eax, ebx
shrd eax, ecx, 0x1c
shl edx, 4
shr ecx, 0x1c
or ebp, eax
or edx, ecx
mov eax, ebx
mov ecx, dword [esp + 0x2c]
mov edi, ecx
shld ecx, eax, 0x1e
mov dword [esp + 0x24], edx
xor edx, edx
or edx, ecx
shr edi, 2
xor dword [esp + 0x24], edx
xor edx, edx
mov ecx, dword [esp + 0x2c]
shl eax, 0x1e
or edi, eax
mov eax, ebx
xor ebp, edi
mov edi, ecx
shld ecx, eax, 0x19
shr edi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x24], edx
or edi, eax
mov edx, dword [esp + 0x18]
xor ebp, edi
xor edx, dword [esp + 0x2c]
mov edi, dword [esp + 0x44]
and edx, dword [esp + 0x20]
xor edi, ebx
and edi, dword [esp + 0x34]
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x18]
and ecx, ebx
and eax, dword [esp + 0x2c]
xor edi, ecx
mov ecx, dword [esp + 0x24]
xor edx, eax
add ebp, edi
adc ecx, edx
add dword [esp + 0x4c], ebp
adc ecx, dword [esp + 0x10]
mov dword [esp + 0x24], ecx
lea ecx, [esi + 0x28]
call fcn.10036c20
mov ecx, dword [esp + 0x50]
mov ebx, eax
mov eax, dword [esp + 0x14]
mov ebp, edx
mov edi, eax
mov dword [esp + 0xc0], ebx
shld eax, ecx, 0x17
shr edi, 9
xor edx, edx
shl ecx, 0x17
or edx, eax
mov eax, dword [esp + 0x50]
or edi, ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x58], edi
mov edi, eax
shrd eax, ecx, 0x12
mov dword [esp + 0x10], edx
xor edx, edx
shl edi, 0xe
or edx, eax
xor dword [esp + 0x58], edx
xor edx, edx
mov eax, dword [esp + 0x50]
shr ecx, 0x12
or edi, ecx
mov dword [esp + 0xc4], ebp
xor dword [esp + 0x10], edi
mov edi, eax
mov ecx, dword [esp + 0x14]
shl edi, 0x12
shrd eax, ecx, 0xe
or edx, eax
shr ecx, 0xe
xor dword [esp + 0x58], edx
or edi, ecx
xor dword [esp + 0x10], edi
mov edi, dword [esp + 0x50]
mov edx, dword [esp + 0x14]
not edi
and edi, dword [esp + 0x40]
not edx
and edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x3c]
and ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x1c]
xor edi, ecx
and eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x58]
xor edx, eax
mov eax, dword [esp + 0x10]
add ecx, edi
adc eax, edx
add ecx, ebx
mov ebx, dword [esp + 0x4c]
mov edx, ebx
adc eax, ebp
add ecx, dword [esp + 0x48]
adc eax, dword [esp + 0x28]
add ecx, 0xda6d8118
mov dword [esp + 0x58], ecx
adc eax, 0xab1c5ed5
add dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x24]
adc dword [esp + 0x20], eax
xor ebp, ebp
mov dword [esp + 0x10], eax
mov eax, ebx
shrd eax, ecx, 0x1c
shl edx, 4
shr ecx, 0x1c
or ebp, eax
or edx, ecx
mov eax, ebx
mov ecx, dword [esp + 0x24]
mov edi, ecx
shld ecx, eax, 0x1e
shr edi, 2
mov dword [esp + 0x48], edx
xor edx, edx
or edx, ecx
shl eax, 0x1e
xor dword [esp + 0x48], edx
or edi, eax
mov ecx, dword [esp + 0x24]
xor ebp, edi
mov edi, ecx
xor edx, edx
shr edi, 7
mov eax, ebx
shld ecx, eax, 0x19
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x48], edx
or edi, eax
mov edx, dword [esp + 0x2c]
xor ebp, edi
mov edi, dword [esp + 0x38]
xor edx, dword [esp + 0x24]
xor edi, ebx
and edi, dword [esp + 0x44]
mov ecx, dword [esp + 0x38]
and edx, dword [esp + 0x18]
and ecx, ebx
mov eax, dword [esp + 0x2c]
xor edi, ecx
and eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x48]
xor edx, eax
add ebp, edi
adc ecx, edx
add dword [esp + 0x58], ebp
adc ecx, dword [esp + 0x10]
mov dword [esp + 0x48], ecx
lea ecx, [esi + 0x30]
call fcn.10036c20
mov ecx, dword [esp + 0x34]
mov ebx, eax
mov eax, dword [esp + 0x20]
mov ebp, edx
mov edi, eax
mov dword [esp + 0xc8], ebx
shld eax, ecx, 0x17
shr edi, 9
xor edx, edx
or edx, eax
shl ecx, 0x17
mov eax, dword [esp + 0x34]
or edi, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x28], edi
mov edi, eax
shrd eax, ecx, 0x12
shl edi, 0xe
shr ecx, 0x12
or edi, ecx
mov dword [esp + 0x10], edx
xor dword [esp + 0x10], edi
xor edx, edx
mov ecx, dword [esp + 0x20]
or edx, eax
xor dword [esp + 0x28], edx
xor edx, edx
mov eax, dword [esp + 0x34]
mov edi, eax
shrd eax, ecx, 0xe
shl edi, 0x12
or edx, eax
shr ecx, 0xe
xor dword [esp + 0x28], edx
or edi, ecx
xor dword [esp + 0x10], edi
mov edi, dword [esp + 0x34]
mov edx, dword [esp + 0x20]
not edi
and edi, dword [esp + 0x3c]
not edx
and edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x50]
and ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x14]
xor edi, ecx
and eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
xor edx, eax
mov eax, dword [esp + 0x10]
add ecx, edi
mov edi, dword [esp + 0x48]
adc eax, edx
mov dword [esp + 0xcc], ebp
mov edx, dword [esp + 0x58]
add ecx, ebx
mov ebx, dword [esp + 0x24]
adc eax, ebp
add ecx, dword [esp + 0x40]
mov ebp, dword [esp + 0x4c]
adc eax, dword [esp + 0x54]
add ecx, 0xa3030242
mov dword [esp + 0x28], ecx
adc eax, 0xd807aa98
add dword [esp + 0x44], ecx
mov dword [esp + 0x10], eax
adc dword [esp + 0x18], eax
and ebp, edx
mov eax, dword [esp + 0x4c]
xor eax, edx
mov dword [esp + 0x74], ebp
mov dword [esp + 0x5c], eax
mov eax, ebx
xor eax, edi
and ebx, edi
mov dword [esp + 0x68], eax
mov dword [esp + 0x70], ebx
mov eax, edx
mov dword [esp + 0x30], 0
mov esi, edx
mov ecx, edi
shrd eax, ecx, 0x1c
shl esi, 4
xor edx, edx
or dword [esp + 0x30], eax
mov eax, dword [esp + 0x58]
shr ecx, 0x1c
or esi, ecx
shr edi, 2
mov ecx, dword [esp + 0x48]
shld ecx, eax, 0x1e
or edx, ecx
shl eax, 0x1e
mov ecx, dword [esp + 0x48]
or edi, eax
xor dword [esp + 0x30], edi
xor esi, edx
mov eax, dword [esp + 0x58]
mov edi, ecx
shld ecx, eax, 0x19
xor edx, edx
shr edi, 7
or edx, ecx
shl eax, 0x19
mov ecx, dword [esp + 0x5c]
or edi, eax
and ecx, dword [esp + 0x38]
xor esi, edx
xor dword [esp + 0x30], edi
xor ecx, ebp
mov eax, dword [esp + 0x68]
and eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
xor eax, ebx
add edx, ecx
mov ecx, dword [esp + 0x6c]
adc esi, eax
add edx, dword [esp + 0x28]
mov dword [esp + 0x30], edx
adc esi, dword [esp + 0x10]
add ecx, 0x38
mov dword [esp + 0x54], esi
call fcn.10036c20
mov ecx, dword [esp + 0x44]
mov ebx, eax
mov eax, dword [esp + 0x18]
mov ebp, edx
mov edi, eax
mov dword [esp + 0xd0], ebx
shld eax, ecx, 0x17
shr edi, 9
xor edx, edx
shl ecx, 0x17
or edx, eax
mov eax, dword [esp + 0x44]
or edi, ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x40], edi
mov edi, eax
shrd eax, ecx, 0x12
mov dword [esp + 0x28], edx
xor edx, edx
shr ecx, 0x12
or edx, eax
mov eax, dword [esp + 0x44]
xor dword [esp + 0x40], edx
xor edx, edx
shl edi, 0xe
or edi, ecx
mov dword [esp + 0xd4], ebp
xor dword [esp + 0x28], edi
mov edi, eax
mov ecx, dword [esp + 0x18]
shrd eax, ecx, 0xe
shl edi, 0x12
shr ecx, 0xe
or edx, eax
or edi, ecx
xor dword [esp + 0x28], edi
xor dword [esp + 0x40], edx
mov edi, dword [esp + 0x44]
mov edx, dword [esp + 0x18]
not edi
and edi, dword [esp + 0x50]
not edx
and edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x34]
and ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x20]
xor edi, ecx
and eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x40]
xor edx, eax
mov eax, dword [esp + 0x28]
add ecx, edi
adc eax, edx
add ecx, ebx
mov ebx, dword [esp + 0x54]
mov edi, ebx
adc eax, ebp
add ecx, dword [esp + 0x3c]
adc eax, dword [esp + 0x1c]
add ecx, 0x45706fbe
mov dword [esp + 0x40], ecx
adc eax, 0x12835b01
add dword [esp + 0x38], ecx
mov dword [esp + 0x28], eax
mov ecx, ebx
adc dword [esp + 0x2c], eax
xor ebp, ebp
mov eax, dword [esp + 0x30]
xor edx, edx
mov esi, eax
shr edi, 2
shrd eax, ecx, 0x1c
shl esi, 4
shr ecx, 0x1c
or ebp, eax
mov eax, dword [esp + 0x30]
or esi, ecx
mov ecx, ebx
shld ecx, eax, 0x1e
or edx, ecx
shl eax, 0x1e
or edi, eax
xor esi, edx
mov eax, dword [esp + 0x30]
xor ebp, edi
mov ecx, ebx
xor edx, edx
shld ecx, eax, 0x19
mov edi, ebx
or edx, ecx
shl eax, 0x19
mov ecx, dword [esp + 0x5c]
xor esi, edx
and ecx, dword [esp + 0x30]
xor ecx, dword [esp + 0x74]
shr edi, 7
or edi, eax
mov eax, dword [esp + 0x68]
and eax, ebx
xor ebp, edi
xor eax, dword [esp + 0x70]
add ebp, ecx
mov ecx, dword [esp + 0x6c]
adc esi, eax
add dword [esp + 0x40], ebp
adc esi, dword [esp + 0x28]
lea ecx, [ecx + 0x40]
call fcn.10036c20
mov ebx, eax
mov ebp, edx
mov eax, dword [esp + 0x2c]
mov edi, eax
shr edi, 9
xor edx, edx
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xdc], ebp
mov ecx, dword [esp + 0x38]
shld eax, ecx, 0x17
or edx, eax
shl ecx, 0x17
or edi, ecx
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x1c], edi
mov edi, eax
shrd eax, ecx, 0x12
shl edi, 0xe
shr ecx, 0x12
or edi, ecx
mov dword [esp + 0x3c], edx
xor dword [esp + 0x3c], edi
xor edx, edx
or edx, eax
mov ecx, dword [esp + 0x2c]
xor dword [esp + 0x1c], edx
xor edx, edx
mov eax, dword [esp + 0x38]
mov edi, eax
shrd eax, ecx, 0xe
shl edi, 0x12
or edx, eax
shr ecx, 0xe
xor dword [esp + 0x1c], edx
or edi, ecx
xor dword [esp + 0x3c], edi
mov edi, dword [esp + 0x38]
mov edx, dword [esp + 0x2c]
not edi
and edi, dword [esp + 0x34]
not edx
and edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x44]
and ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x18]
xor edi, ecx
and eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x1c]
xor edx, eax
mov eax, dword [esp + 0x3c]
add ecx, edi
mov edi, esi
adc eax, edx
add ecx, ebx
mov ebx, dword [esp + 0x40]
adc eax, ebp
add ecx, dword [esp + 0x50]
mov ebp, ebx
adc eax, dword [esp + 0x14]
add ecx, 0x4ee4b28c
mov dword [esp + 0x1c], ecx
adc eax, 0x243185be
add dword [esp + 0x4c], ecx
mov dword [esp + 0x3c], eax
mov ecx, esi
adc dword [esp + 0x24], eax
mov eax, ebx
shrd eax, ecx, 0x1c
xor edx, edx
shl ebp, 4
or edx, eax
shr ecx, 0x1c
or ebp, ecx
shr edi, 2
mov eax, ebx
mov dword [esp + 0x10], edx
mov ecx, esi
xor edx, edx
shld ecx, eax, 0x1e
shl eax, 0x1e
or edx, ecx
or edi, eax
xor ebp, edx
xor dword [esp + 0x10], edi
mov eax, ebx
mov edi, esi
shr edi, 7
xor edx, edx
mov ecx, esi
shld ecx, eax, 0x19
or edx, ecx
shl eax, 0x19
or edi, eax
xor ebp, edx
xor dword [esp + 0x10], edi
mov edx, esi
xor edx, dword [esp + 0x48]
mov edi, ebx
xor edi, dword [esp + 0x58]
mov ecx, ebx
and ecx, dword [esp + 0x58]
mov eax, esi
and edi, dword [esp + 0x30]
and edx, dword [esp + 0x54]
xor edi, ecx
and eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x10]
xor edx, eax
add ecx, edi
adc ebp, edx
add ecx, dword [esp + 0x1c]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x6c]
adc ebp, dword [esp + 0x3c]
mov dword [esp + 0x3c], ebp
lea ecx, [ecx + 0x48]
call fcn.10036c20
mov ecx, dword [esp + 0x4c]
mov ebx, eax
mov eax, dword [esp + 0x24]
mov ebp, edx
mov edi, eax
mov dword [esp + 0xe0], ebx
shld eax, ecx, 0x17
shr edi, 9
xor edx, edx
or edx, eax
shl ecx, 0x17
mov eax, dword [esp + 0x4c]
or edi, ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x14], edi
mov edi, eax
shrd eax, ecx, 0x12
mov dword [esp + 0x1c], edx
xor edx, edx
or edx, eax
shl edi, 0xe
xor dword [esp + 0x14], edx
xor edx, edx
mov eax, dword [esp + 0x4c]
shr ecx, 0x12
or edi, ecx
mov dword [esp + 0xe4], ebp
xor dword [esp + 0x1c], edi
mov edi, eax
mov ecx, dword [esp + 0x24]
shrd eax, ecx, 0xe
shl edi, 0x12
shr ecx, 0xe
or edx, eax
xor dword [esp + 0x14], edx
or edi, ecx
xor dword [esp + 0x1c], edi
mov edi, dword [esp + 0x4c]
mov edx, dword [esp + 0x24]
not edi
mov ecx, dword [esp + 0x38]
not edx
and ecx, dword [esp + 0x4c]
and edi, dword [esp + 0x44]
mov eax, dword [esp + 0x2c]
xor edi, ecx
and eax, dword [esp + 0x24]
and edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
xor edx, eax
mov eax, dword [esp + 0x1c]
add ecx, edi
adc eax, edx
add ecx, ebx
mov ebx, dword [esp + 0x3c]
mov edi, ebx
adc eax, ebp
add ecx, dword [esp + 0x34]
adc eax, dword [esp + 0x20]
add ecx, 0xd5ffb4e2
mov dword [esp + 0x14], ecx
adc eax, 0x550c7dc3
add dword [esp + 0x58], ecx
mov dword [esp + 0x1c], eax
mov ecx, ebx
adc dword [esp + 0x48], eax
xor edx, edx
mov eax, dword [esp + 0x10]
mov ebp, eax
shrd eax, ecx, 0x1c
shl ebp, 4
or edx, eax
shr ecx, 0x1c
mov eax, dword [esp + 0x10]
or ebp, ecx
mov dword [esp + 0x34], edx
mov ecx, ebx
shld ecx, eax, 0x1e
shr edi, 2
xor edx, edx
or edx, ecx
shl eax, 0x1e
or edi, eax
xor ebp, edx
xor dword [esp + 0x34], edi
xor edx, edx
mov eax, dword [esp + 0x10]
mov ecx, ebx
shld ecx, eax, 0x19
mov edi, ebx
or edx, ecx
shr edi, 7
mov ecx, dword [esp + 0x40]
xor ebp, edx
and ecx, dword [esp + 0x10]
mov edx, esi
shl eax, 0x19
xor edx, ebx
and edx, dword [esp + 0x54]
or edi, eax
xor dword [esp + 0x34], edi
mov eax, esi
mov edi, dword [esp + 0x40]
and eax, ebx
xor edi, dword [esp + 0x10]
xor edx, eax
and edi, dword [esp + 0x30]
xor edi, ecx
mov ecx, dword [esp + 0x34]
add ecx, edi
adc ebp, edx
add ecx, dword [esp + 0x14]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x6c]
adc ebp, dword [esp + 0x1c]
mov dword [esp + 0x1c], ebp
lea ecx, [ecx + 0x50]
call fcn.10036c20
mov ecx, dword [esp + 0x58]
mov ebx, eax
mov eax, dword [esp + 0x48]
mov ebp, edx
mov edi, eax
mov dword [esp + 0xe8], ebx
shld eax, ecx, 0x17
shr edi, 9
xor edx, edx
shl ecx, 0x17
or edi, ecx
mov dword [esp + 0xec], ebp
or edx, eax
mov dword [esp + 0x14], edi
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x58]
xor edx, edx
mov ecx, dword [esp + 0x48]
mov edi, eax
shrd eax, ecx, 0x12
shl edi, 0xe
or edx, eax
shr ecx, 0x12
xor dword [esp + 0x14], edx
or edi, ecx
xor dword [esp + 0x20], edi
xor edx, edx
mov eax, dword [esp + 0x58]
mov edi, eax
mov ecx, dword [esp + 0x48]
shrd eax, ecx, 0xe
shl edi, 0x12
or edx, eax
shr ecx, 0xe
xor dword [esp + 0x14], edx
or edi, ecx
xor dword [esp + 0x20], edi
mov edi, dword [esp + 0x58]
mov edx, dword [esp + 0x48]
not edi
and edi, dword [esp + 0x38]
not edx
and edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x4c]
and ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x24]
xor edi, ecx
and eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x14]
xor edx, eax
mov eax, dword [esp + 0x20]
add ecx, edi
adc eax, edx
add ecx, ebx
mov ebx, dword [esp + 0x1c]
mov edi, ebx
adc eax, ebp
add ecx, dword [esp + 0x44]
adc eax, dword [esp + 0x18]
add ecx, 0xf27b896f
mov dword [esp + 0x14], ecx
adc eax, 0x72be5d74
add dword [esp + 0x30], ecx
mov dword [esp + 0x20], eax
mov ecx, ebx
adc dword [esp + 0x54], eax
xor edx, edx
mov eax, dword [esp + 0x34]
mov ebp, eax
shrd eax, ecx, 0x1c
shl ebp, 4
or edx, eax
shr ecx, 0x1c
mov eax, dword [esp + 0x34]
or ebp, ecx
mov dword [esp + 0x50], edx
mov ecx, ebx
shld ecx, eax, 0x1e
shr edi, 2
xor edx, edx
shl eax, 0x1e
or edx, ecx
or edi, eax
mov ecx, ebx
xor dword [esp + 0x50], edi
xor ebp, edx
mov eax, dword [esp + 0x34]
mov edi, ebx
shld ecx, eax, 0x19
shr edi, 7
xor edx, edx
shl eax, 0x19
or edx, ecx
or edi, eax
xor dword [esp + 0x50], edi
xor ebp, edx
mov ecx, dword [esp + 0x10]
mov edi, ecx
xor edi, dword [esp + 0x34]
and ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x3c]
mov edx, eax
and edi, dword [esp + 0x40]
xor edx, ebx
xor edi, ecx
and edx, esi
mov ecx, dword [esp + 0x50]
and eax, ebx
xor edx, eax
add ecx, edi
adc ebp, edx
add ecx, dword [esp + 0x14]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x6c]
adc ebp, dword [esp + 0x20]
mov dword [esp + 0x18], ebp
lea ecx, [ecx + 0x58]
call fcn.10036c20
mov ecx, dword [esp + 0x30]
mov ebx, eax
mov eax, dword [esp + 0x54]
mov ebp, edx
mov edi, eax
mov dword [esp + 0xf0], ebx
shld eax, ecx, 0x17
shr edi, 9
xor edx, edx
or edx, eax
shl ecx, 0x17
mov eax, dword [esp + 0x30]
or edi, ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x44], edi
mov edi, eax
shrd eax, ecx, 0x12
shl edi, 0xe
shr ecx, 0x12
or edi, ecx
mov dword [esp + 0x14], edx
xor dword [esp + 0x14], edi
xor edx, edx
mov ecx, dword [esp + 0x54]
or edx, eax
xor dword [esp + 0x44], edx
xor edx, edx
mov eax, dword [esp + 0x30]
mov edi, eax
shrd eax, ecx, 0xe
shl edi, 0x12
or edx, eax
shr ecx, 0xe
xor dword [esp + 0x44], edx
or edi, ecx
xor dword [esp + 0x14], edi
mov ecx, dword [esp + 0x30]
mov edi, ecx
and ecx, dword [esp + 0x58]
not edi
mov eax, dword [esp + 0x54]
mov edx, eax
and eax, dword [esp + 0x48]
not edx
and edi, dword [esp + 0x4c]
and edx, dword [esp + 0x24]
xor edi, ecx
mov ecx, dword [esp + 0x44]
xor edx, eax
mov eax, dword [esp + 0x14]
add ecx, edi
mov dword [esp + 0xf4], ebp
adc eax, edx
add ecx, ebx
adc eax, ebp
add ecx, dword [esp + 0x38]
adc eax, dword [esp + 0x2c]
add ecx, 0x3b1696b1
mov dword [esp + 0x44], ecx
adc eax, 0x80deb1fe
mov ebx, dword [esp + 0x18]
add dword [esp + 0x40], ecx
mov edi, ebx
mov dword [esp + 0x14], eax
mov ecx, ebx
adc esi, eax
mov eax, dword [esp + 0x50]
mov ebp, eax
shr edi, 2
shrd eax, ecx, 0x1c
xor edx, edx
shl ebp, 4
or edx, eax
shr ecx, 0x1c
mov eax, dword [esp + 0x50]
or ebp, ecx
mov dword [esp + 0x28], edx
mov ecx, ebx
shld ecx, eax, 0x1e
xor edx, edx
or edx, ecx
shl eax, 0x1e
or edi, eax
xor ebp, edx
xor dword [esp + 0x28], edi
xor edx, edx
mov eax, dword [esp + 0x50]
mov ecx, ebx
shld ecx, eax, 0x19
mov edi, ebx
or edx, ecx
shr edi, 7
mov ecx, dword [esp + 0x34]
xor ebp, edx
shl eax, 0x19
or edi, eax
mov eax, dword [esp + 0x1c]
xor dword [esp + 0x28], edi
mov edx, eax
mov edi, ecx
xor edx, ebx
xor edi, dword [esp + 0x50]
and eax, ebx
and ecx, dword [esp + 0x50]
and edi, dword [esp + 0x10]
and edx, dword [esp + 0x3c]
xor edi, ecx
mov ecx, dword [esp + 0x28]
xor edx, eax
add ecx, edi
adc ebp, edx
add ecx, dword [esp + 0x44]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x6c]
adc ebp, dword [esp + 0x14]
mov dword [esp + 0x20], ebp
lea ecx, [ecx + 0x60]
call fcn.10036c20
mov ecx, dword [esp + 0x40]
mov ebx, eax
mov eax, esi
mov dword [esp + 0xf8], ebx
shld eax, ecx, 0x17
mov ebp, edx
mov edi, esi
shr edi, 9
xor edx, edx
shl ecx, 0x17
or edx, eax
mov eax, dword [esp + 0x40]
or edi, ecx
mov dword [esp + 0x38], edi
mov ecx, esi
mov edi, eax
mov dword [esp + 0x44], edx
shrd eax, ecx, 0x12
xor edx, edx
shl edi, 0xe
mov dword [esp + 0xfc], ebp
shr ecx, 0x12
or edx, eax
or edi, ecx
xor dword [esp + 0x44], edi
mov ecx, esi
xor dword [esp + 0x38], edx
xor edx, edx
mov eax, dword [esp + 0x40]
mov edi, eax
shrd eax, ecx, 0xe
shl edi, 0x12
or edx, eax
shr ecx, 0xe
xor dword [esp + 0x38], edx
or edi, ecx
xor dword [esp + 0x44], edi
mov edx, esi
mov edi, dword [esp + 0x40]
not edx
and edx, dword [esp + 0x48]
not edi
and edi, dword [esp + 0x58]
mov ecx, dword [esp + 0x30]
and ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x54]
xor edi, ecx
mov ecx, dword [esp + 0x38]
and eax, esi
xor edx, eax
mov eax, dword [esp + 0x44]
add ecx, edi
adc eax, edx
add ecx, ebx
mov ebx, dword [esp + 0x20]
mov edi, ebx
adc eax, ebp
add ecx, dword [esp + 0x4c]
adc eax, dword [esp + 0x24]
add ecx, 0x25c71235
mov dword [esp + 0x38], ecx
adc eax, 0x9bdc06a7
add dword [esp + 0x10], ecx
mov dword [esp + 0x44], eax
mov ecx, ebx
adc dword [esp + 0x3c], eax
xor edx, edx
mov eax, dword [esp + 0x28]
mov ebp, eax
shrd eax, ecx, 0x1c
shl ebp, 4
or edx, eax
shr ecx, 0x1c
mov eax, dword [esp + 0x28]
or ebp, ecx
mov dword [esp + 0x24], edx
mov ecx, ebx
shld ecx, eax, 0x1e
shr edi, 2
xor edx, edx
or edx, ecx
shl eax, 0x1e
or edi, eax
xor ebp, edx
xor dword [esp + 0x24], edi
mov ecx, ebx
mov eax, dword [esp + 0x28]
mov edi, ebx
shld ecx, eax, 0x19
shr edi, 7
xor edx, edx
shl eax, 0x19
or edx, ecx
mov ecx, dword [esp + 0x50]
or edi, eax
xor dword [esp + 0x24], edi
xor ebp, edx
mov eax, dword [esp + 0x18]
mov edi, ecx
xor edi, dword [esp + 0x28]
mov edx, eax
xor edx, ebx
and edi, dword [esp + 0x34]
and ecx, dword [esp + 0x28]
and eax, ebx
and edx, dword [esp + 0x1c]
xor edi, ecx
mov ecx, dword [esp + 0x24]
xor edx, eax
add ecx, edi
adc ebp, edx
add ecx, dword [esp + 0x38]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x6c]
adc ebp, dword [esp + 0x44]
mov dword [esp + 0x14], ebp
lea ecx, [ecx + 0x68]
call fcn.10036c20
mov ecx, dword [esp + 0x10]
mov ebx, eax
mov eax, dword [esp + 0x3c]
mov ebp, edx
mov edi, eax
mov dword [esp + 0x104], ebp
shld eax, ecx, 0x17
shr edi, 9
xor edx, edx
or edx, eax
shl ecx, 0x17
mov eax, dword [esp + 0x10]
or edi, ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x4c], edi
mov edi, eax
shrd eax, ecx, 0x12
shl edi, 0xe
shr ecx, 0x12
or edi, ecx
mov dword [esp + 0x38], edx
xor dword [esp + 0x38], edi
xor edx, edx
mov ecx, dword [esp + 0x3c]
or edx, eax
xor dword [esp + 0x4c], edx
xor edx, edx
mov eax, dword [esp + 0x10]
mov edi, eax
shrd eax, ecx, 0xe
shl edi, 0x12
or edx, eax
shr ecx, 0xe
xor dword [esp + 0x4c], edx
or edi, ecx
xor dword [esp + 0x38], edi
mov eax, esi
and eax, dword [esp + 0x3c]
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x3c]
not edi
and edi, dword [esp + 0x30]
not edx
and edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x40]
xor edx, eax
and ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x38]
xor edi, ecx
mov ecx, dword [esp + 0x4c]
add ecx, edi
mov dword [esp + 0x100], ebx
adc eax, edx
add ecx, ebx
adc eax, ebp
add ecx, dword [esp + 0x58]
adc eax, dword [esp + 0x48]
add ecx, 0xcf692694
mov dword [esp + 0x4c], ecx
adc eax, 0xc19bf174
add dword [esp + 0x34], ecx
mov dword [esp + 0x38], eax
adc dword [esp + 0x1c], eax
xor edx, edx
mov eax, dword [esp + 0x24]
mov ebp, eax
mov ebx, dword [esp + 0x14]
mov ecx, ebx
shrd eax, ecx, 0x1c
shl ebp, 4
mov edi, ebx
or edx, eax
shr ecx, 0x1c
mov eax, dword [esp + 0x24]
or ebp, ecx
mov dword [esp + 0x2c], edx
mov ecx, ebx
shld ecx, eax, 0x1e
shr edi, 2
xor edx, edx
or edx, ecx
shl eax, 0x1e
or edi, eax
xor ebp, edx
xor dword [esp + 0x2c], edi
xor edx, edx
mov eax, dword [esp + 0x24]
mov ecx, ebx
shld ecx, eax, 0x19
mov edi, ebx
or edx, ecx
shr edi, 7
mov ecx, dword [esp + 0x28]
xor ebp, edx
shl eax, 0x19
or edi, eax
mov eax, dword [esp + 0x20]
xor dword [esp + 0x2c], edi
mov edx, eax
mov edi, ecx
xor edx, ebx
xor edi, dword [esp + 0x24]
and eax, ebx
and ecx, dword [esp + 0x24]
and edi, dword [esp + 0x50]
and edx, dword [esp + 0x18]
xor edi, ecx
mov ecx, dword [esp + 0x2c]
xor edx, eax
add ecx, edi
adc ebp, edx
add ecx, dword [esp + 0x4c]
mov edx, 0x11
mov dword [esp + 0x2c], ecx
adc ebp, dword [esp + 0x38]
mov dword [esp + 0x48], ebp
mov dword [esp + 0x58], edx
mov dword [esp + 0x4c], 0x100a5220
mov eax, edx
lea ecx, [esp + 0x88]
and eax, 0xf
lea ecx, [ecx + eax*8]
mov dword [esp + 0x38], ecx
lea eax, [edx - 3]
and eax, 0xf
lea ecx, [esp + 0x88]
mov ebx, dword [ecx + eax*8 + 4]
lea eax, [ecx + eax*8]
mov ebp, dword [eax]
mov edi, ebp
mov dword [esp + 0x84], eax
lea eax, [edx - 1]
mov edx, ecx
shl edi, 0xd
and eax, 0xf
mov ecx, ebx
lea edx, [edx + eax*8]
mov eax, ebp
shrd eax, ecx, 0x13
mov dword [esp + 0x68], edx
xor edx, edx
or edx, eax
shr ecx, 0x13
or edi, ecx
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], edi
mov eax, ebp
mov ecx, ebx
mov edi, ebx
shld ecx, eax, 3
shrd ebp, ebx, 6
shl eax, 3
xor edx, edx
or edx, ecx
shr edi, 0x1d
mov ecx, dword [esp + 0x64]
or edi, eax
mov eax, dword [esp + 0x60]
xor ecx, edx
xor eax, edi
shr ebx, 6
mov edi, dword [esp + 0x38]
xor ecx, ebx
xor eax, ebp
mov dword [esp + 0x64], ecx
mov dword [esp + 0x60], eax
xor ebx, ebx
mov edx, dword [edi]
mov ebp, edx
mov ecx, dword [edi + 4]
mov eax, edx
shrd eax, ecx, 8
shl ebp, 0x18
mov edi, edx
shr ecx, 8
or ebx, eax
or ebp, ecx
shl edi, 0x1f
mov ecx, dword [esp + 0x38]
xor edx, edx
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
shrd eax, ecx, 1
shr ecx, 1
or edx, eax
or edi, ecx
xor ebx, edx
mov edx, dword [esp + 0x64]
xor ebp, edi
mov edi, dword [esp + 0x38]
mov eax, dword [edi + 4]
mov ecx, dword [edi]
shrd ecx, eax, 7
shr eax, 7
xor ebx, ecx
mov ecx, dword [esp + 0x60]
xor ebp, eax
add ecx, ebx
adc edx, ebp
mov eax, dword [esp + 0x58]
add eax, 0xfffffff8
and eax, 0xf
add ecx, dword [esp + eax*8 + 0x88]
adc edx, dword [esp + eax*8 + 0x8c]
mov eax, dword [esp + 0x68]
add dword [eax], ecx
mov ecx, dword [esp + 0x1c]
mov ebp, ecx
adc dword [eax + 4], edx
xor ebx, ebx
mov eax, dword [esp + 0x34]
xor edx, edx
shld ecx, eax, 0x17
shr ebp, 9
or ebx, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x1c]
or ebp, eax
mov eax, dword [esp + 0x34]
mov edi, eax
shrd eax, ecx, 0x12
shl edi, 0xe
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x34]
or edi, ecx
mov ecx, dword [esp + 0x1c]
xor ebx, edi
xor ebp, edx
mov edi, eax
shrd eax, ecx, 0xe
shl edi, 0x12
xor edx, edx
or edx, eax
shr ecx, 0xe
mov eax, dword [esp + 0x3c]
or edi, ecx
and eax, dword [esp + 0x1c]
xor ebx, edi
mov edi, dword [esp + 0x34]
xor ebp, edx
mov edx, dword [esp + 0x1c]
not edi
and edi, dword [esp + 0x40]
not edx
mov ecx, dword [esp + 0x10]
and edx, esi
and ecx, dword [esp + 0x34]
xor edx, eax
mov eax, dword [esp + 0x4c]
xor edi, ecx
mov ecx, dword [esp + 0x14]
add ebp, edi
mov edi, dword [esp + 0x24]
adc ebx, edx
mov edx, dword [esp + 0x68]
add ebp, dword [eax - 8]
adc ebx, dword [eax - 4]
mov eax, edi
add ebp, dword [edx]
adc ebx, dword [edx + 4]
add ebp, dword [esp + 0x30]
mov edx, dword [esp + 0x48]
adc ebx, dword [esp + 0x54]
add dword [esp + 0x50], ebp
mov dword [esp + 0x30], 0
adc dword [esp + 0x18], ebx
xor eax, dword [esp + 0x2c]
and edi, dword [esp + 0x2c]
mov dword [esp + 0x5c], eax
mov eax, ecx
xor eax, edx
mov dword [esp + 0x70], edi
and ecx, edx
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x2c]
mov edi, eax
mov dword [esp + 0x74], ecx
mov ecx, edx
shl edi, 4
shrd eax, ecx, 0x1c
or dword [esp + 0x30], eax
mov eax, dword [esp + 0x2c]
shr ecx, 0x1c
or edi, ecx
mov ecx, dword [esp + 0x48]
shld ecx, eax, 0x1e
mov dword [esp + 0x54], edi
mov edi, edx
shl eax, 0x1e
xor edx, edx
or edx, ecx
shr edi, 2
xor dword [esp + 0x54], edx
or edi, eax
xor dword [esp + 0x30], edi
xor edx, edx
mov ecx, dword [esp + 0x48]
mov edi, ecx
mov eax, dword [esp + 0x2c]
shld ecx, eax, 0x19
shr edi, 7
or edx, ecx
shl eax, 0x19
mov ecx, dword [esp + 0x5c]
or edi, eax
xor dword [esp + 0x30], edi
and ecx, dword [esp + 0x28]
xor ecx, dword [esp + 0x70]
mov edi, dword [esp + 0x54]
mov eax, dword [esp + 0x7c]
xor edi, edx
and eax, dword [esp + 0x20]
xor eax, dword [esp + 0x74]
mov edx, dword [esp + 0x30]
add edx, ecx
lea ecx, [esp + 0x88]
adc edi, eax
add edx, ebp
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x58]
adc edi, ebx
mov dword [esp + 0x54], edi
lea eax, [edx + 1]
and eax, 0xf
lea ecx, [ecx + eax*8]
lea eax, [edx - 2]
mov dword [esp + 0x44], ecx
and eax, 0xf
lea ecx, [esp + 0x88]
mov ebx, dword [ecx + eax*8 + 4]
lea eax, [ecx + eax*8]
mov ebp, dword [eax]
mov ecx, ebx
mov dword [esp + 0x78], eax
mov edi, ebp
mov eax, ebp
shl edi, 0xd
shrd eax, ecx, 0x13
xor edx, edx
or edx, eax
shr ecx, 0x13
or edi, ecx
mov dword [esp + 0x60], edx
mov ecx, ebx
mov dword [esp + 0x64], edi
mov eax, ebp
mov edi, ebx
shld ecx, eax, 3
shr edi, 0x1d
xor edx, edx
shl eax, 3
or edx, ecx
mov ecx, dword [esp + 0x64]
or edi, eax
mov eax, dword [esp + 0x60]
xor ecx, edx
shrd ebp, ebx, 6
xor eax, edi
shr ebx, 6
xor eax, ebp
mov edi, dword [esp + 0x44]
xor ecx, ebx
mov dword [esp + 0x64], ecx
xor ebx, ebx
mov dword [esp + 0x60], eax
mov edx, dword [edi]
mov ebp, edx
mov ecx, dword [edi + 4]
mov eax, edx
shrd eax, ecx, 8
shl ebp, 0x18
mov edi, edx
shr ecx, 8
or ebx, eax
or ebp, ecx
shl edi, 0x1f
mov ecx, dword [esp + 0x44]
xor edx, edx
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
shrd eax, ecx, 1
or edx, eax
shr ecx, 1
or edi, ecx
xor ebx, edx
xor ebp, edi
mov edx, dword [esp + 0x64]
mov edi, dword [esp + 0x44]
mov eax, dword [edi + 4]
mov ecx, dword [edi]
shrd ecx, eax, 7
xor ebx, ecx
shr eax, 7
mov ecx, dword [esp + 0x60]
xor ebp, eax
mov eax, dword [esp + 0x58]
add ecx, ebx
adc edx, ebp
add eax, 0xfffffff9
and eax, 0xf
add ecx, dword [esp + eax*8 + 0x88]
adc edx, dword [esp + eax*8 + 0x8c]
mov eax, dword [esp + 0x38]
add dword [eax], ecx
mov ecx, dword [esp + 0x18]
mov ebp, ecx
adc dword [eax + 4], edx
xor ebx, ebx
mov eax, dword [esp + 0x50]
xor edx, edx
shld ecx, eax, 0x17
shr ebp, 9
or ebx, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x18]
or ebp, eax
mov eax, dword [esp + 0x50]
mov edi, eax
shrd eax, ecx, 0x12
shl edi, 0xe
shr ecx, 0x12
or edx, eax
mov eax, dword [esp + 0x50]
or edi, ecx
mov ecx, dword [esp + 0x18]
xor ebx, edi
mov edi, eax
xor ebp, edx
shrd eax, ecx, 0xe
shl edi, 0x12
xor edx, edx
shr ecx, 0xe
or edx, eax
or edi, ecx
xor ebp, edx
mov edx, dword [esp + 0x18]
xor ebx, edi
mov edi, dword [esp + 0x50]
not edx
not edi
and edi, dword [esp + 0x10]
and edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x34]
and ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x1c]
xor edi, ecx
and eax, dword [esp + 0x18]
xor edx, eax
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x38]
add ebp, edi
adc ebx, edx
add ebp, dword [eax]
adc ebx, dword [eax + 4]
mov eax, dword [esp + 0x4c]
add ebp, dword [eax]
adc ebx, dword [eax + 4]
add ebp, dword [esp + 0x40]
mov eax, dword [esp + 0x30]
adc ebx, esi
add dword [esp + 0x28], ebp
mov esi, eax
adc dword [esp + 0x20], ebx
xor edx, edx
shrd eax, ecx, 0x1c
shl esi, 4
or edx, eax
shr ecx, 0x1c
mov eax, dword [esp + 0x30]
or esi, ecx
mov ecx, dword [esp + 0x54]
mov edi, ecx
shld ecx, eax, 0x1e
mov dword [esp + 0x40], edx
xor edx, edx
shl eax, 0x1e
or edx, ecx
mov ecx, dword [esp + 0x54]
xor esi, edx
shr edi, 2
xor edx, edx
or edi, eax
mov eax, dword [esp + 0x30]
xor dword [esp + 0x40], edi
mov edi, ecx
shld ecx, eax, 0x19
shr edi, 7
shl eax, 0x19
or edx, ecx
mov ecx, dword [esp + 0x5c]
or edi, eax
and ecx, dword [esp + 0x30]
xor esi, edx
xor dword [esp + 0x40], edi
xor ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x7c]
and eax, dword [esp + 0x54]
xor eax, dword [esp + 0x74]
mov edx, dword [esp + 0x40]
add edx, ecx
lea ecx, [esp + 0x88]
adc esi, eax
mov eax, dword [esp + 0x58]
add edx, ebp
mov dword [esp + 0x40], edx
adc esi, ebx
add eax, 2
and eax, 0xf
xor edx, edx
lea ecx, [ecx + eax*8]
mov eax, dword [esp + 0x68]
mov dword [esp + 0x64], ecx
mov ebp, dword [eax]
mov edi, ebp
mov ebx, dword [eax + 4]
mov eax, ebp
mov ecx, ebx
shl edi, 0xd
shrd eax, ecx, 0x13
shr ecx, 0x13
or edx, eax
mov dword [esp + 0x60], edx
or edi, ecx
mov eax, ebp
mov dword [esp + 0x5c], edi
mov ecx, ebx
shld ecx, eax, 3
mov edi, ebx
xor edx, edx
or edx, ecx
shl eax, 3
mov ecx, dword [esp + 0x5c]
xor ecx, edx
shr edi, 0x1d
or edi, eax
mov eax, dword [esp + 0x60]
xor eax, edi
mov edi, dword [esp + 0x64]
shrd ebp, ebx, 6
xor eax, ebp
shr ebx, 6
mov edx, dword [edi]
xor ecx, ebx
mov dword [esp + 0x5c], ecx
mov ebp, edx
mov ecx, dword [edi + 4]
xor ebx, ebx
mov dword [esp + 0x60], eax
mov edi, edx
mov eax, edx
shl ebp, 0x18
shrd eax, ecx, 8
shl edi, 0x1f
xor edx, edx
shr ecx, 8
or ebx, eax
or ebp, ecx
mov ecx, dword [esp + 0x64]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
shrd eax, ecx, 1
shr ecx, 1
or edx, eax
or edi, ecx
xor ebx, edx
mov edx, dword [esp + 0x5c]
xor ebp, edi
mov edi, dword [esp + 0x64]
mov eax, dword [edi + 4]
mov ecx, dword [edi]
shrd ecx, eax, 7
shr eax, 7
xor ebx, ecx
mov ecx, dword [esp + 0x60]
xor ebp, eax
mov eax, dword [esp + 0x58]
add ecx, ebx
adc edx, ebp
add eax, 0xfffffffa
and eax, 0xf
add ecx, dword [esp + eax*8 + 0x88]
adc edx, dword [esp + eax*8 + 0x8c]
mov eax, dword [esp + 0x44]
add dword [eax], ecx
mov ecx, dword [esp + 0x20]
mov ebp, ecx
adc dword [eax + 4], edx
xor ebx, ebx
mov eax, dword [esp + 0x28]
xor edx, edx
shld ecx, eax, 0x17
shr ebp, 9
shl eax, 0x17
or ebx, ecx
mov ecx, dword [esp + 0x20]
or ebp, eax
mov eax, dword [esp + 0x28]
mov edi, eax
shrd eax, ecx, 0x12
shl edi, 0xe
shr ecx, 0x12
or edx, eax
or edi, ecx
mov eax, dword [esp + 0x28]
xor ebx, edi
mov ecx, dword [esp + 0x20]
xor ebp, edx
xor edx, edx
mov edi, eax
shrd eax, ecx, 0xe
shl edi, 0x12
or edx, eax
shr ecx, 0xe
or edi, ecx
mov eax, dword [esp + 0x18]
and eax, dword [esp + 0x20]
xor ebx, edi
mov edi, dword [esp + 0x28]
xor ebp, edx
mov edx, dword [esp + 0x20]
not edi
and edi, dword [esp + 0x34]
not edx
and edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x50]
xor edx, eax
and ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x4c]
xor edi, ecx
add ebp, edi
mov ecx, esi
adc ebx, edx
add ebp, dword [eax + 8]
adc ebx, dword [eax + 0xc]
mov eax, dword [esp + 0x44]
add ebp, dword [eax]
adc ebx, dword [eax + 4]
add ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x40]
mov edx, eax
adc ebx, dword [esp + 0x3c]
add dword [esp + 0x24], ebp
adc dword [esp + 0x14], ebx
xor edi, edi
shrd eax, ecx, 0x1c
shl edx, 4
or edi, eax
shr ecx, 0x1c
mov eax, dword [esp + 0x40]
or edx, ecx
mov dword [esp + 0x10], edi
mov ecx, esi
shld ecx, eax, 0x1e
mov dword [esp + 0x3c], edx
mov edi, esi
shr edi, 2
xor edx, edx
or edx, ecx
shl eax, 0x1e
xor dword [esp + 0x3c], edx
or edi, eax
xor dword [esp + 0x10], edi
mov ecx, esi
mov eax, dword [esp + 0x40]
xor edx, edx
shld ecx, eax, 0x19
mov edi, esi
shr edi, 7
or edx, ecx
xor dword [esp + 0x3c], edx
mov edx, esi
xor edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x40]
and ecx, dword [esp + 0x2c]
and edx, dword [esp + 0x54]
shl eax, 0x19
or edi, eax
mov eax, esi
xor dword [esp + 0x10], edi
mov edi, dword [esp + 0x40]
xor edi, dword [esp + 0x2c]
and edi, dword [esp + 0x30]
and eax, dword [esp + 0x48]
xor edi, ecx
mov ecx, dword [esp + 0x10]
xor edx, eax
add ecx, edi
mov eax, dword [esp + 0x3c]
adc eax, edx
add ecx, ebp
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0x88]
adc eax, ebx
xor edx, edx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x58]
add eax, 3
and eax, 0xf
lea ecx, [ecx + eax*8]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x60], ecx
mov ebx, dword [eax + 4]
mov ecx, ebx
mov ebp, dword [eax]
mov eax, ebp
shrd eax, ecx, 0x13
mov edi, ebp
or edx, eax
shr ecx, 0x13
shl edi, 0xd
mov eax, ebp
or edi, ecx
mov dword [esp + 0x5c], edx
mov dword [esp + 0x38], edi
mov ecx, ebx
shld ecx, eax, 3
mov edi, ebx
xor edx, edx
or edx, ecx
shl eax, 3
mov ecx, dword [esp + 0x38]
xor ecx, edx
shr edi, 0x1d
or edi, eax
mov eax, dword [esp + 0x5c]
xor eax, edi
mov edi, dword [esp + 0x60]
shrd ebp, ebx, 6
xor eax, ebp
shr ebx, 6
mov edx, dword [edi]
xor ecx, ebx
mov dword [esp + 0x38], ecx
mov ebp, edx
mov ecx, dword [edi + 4]
xor ebx, ebx
mov dword [esp + 0x5c], eax
mov edi, edx
mov eax, edx
shl ebp, 0x18
shrd eax, ecx, 8
shl edi, 0x1f
xor edx, edx
shr ecx, 8
or ebx, eax
or ebp, ecx
mov ecx, dword [esp + 0x60]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
shrd eax, ecx, 1
shr ecx, 1
or edx, eax
or edi, ecx
xor ebx, edx
mov edx, dword [esp + 0x38]
xor ebp, edi
mov edi, dword [esp + 0x60]
mov eax, dword [edi + 4]
mov ecx, dword [edi]
shrd ecx, eax, 7
shr eax, 7
xor ebx, ecx
mov ecx, dword [esp + 0x5c]
xor ebp, eax
add ecx, ebx
adc edx, ebp
mov eax, dword [esp + 0x58]
add eax, 0xfffffffb
and eax, 0xf
add ecx, dword [esp + eax*8 + 0x88]
adc edx, dword [esp + eax*8 + 0x8c]
mov eax, dword [esp + 0x64]
add dword [eax], ecx
mov ecx, dword [esp + 0x14]
mov ebp, ecx
adc dword [eax + 4], edx
xor ebx, ebx
mov eax, dword [esp + 0x24]
xor edx, edx
shld ecx, eax, 0x17
shr ebp, 9
or ebx, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x14]
or ebp, eax
mov eax, dword [esp + 0x24]
mov edi, eax
shrd eax, ecx, 0x12
shl edi, 0xe
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x24]
or edi, ecx
mov ecx, dword [esp + 0x14]
xor ebx, edi
xor ebp, edx
mov edi, eax
shrd eax, ecx, 0xe
xor edx, edx
shl edi, 0x12
or edx, eax
shr ecx, 0xe
mov eax, dword [esp + 0x20]
or edi, ecx
and eax, dword [esp + 0x14]
xor ebx, edi
mov edi, dword [esp + 0x24]
xor ebp, edx
mov edx, dword [esp + 0x14]
not edi
and edi, dword [esp + 0x50]
not edx
and edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x28]
xor edx, eax
and ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x4c]
xor edi, ecx
add ebp, edi
mov ecx, dword [esp + 0x3c]
adc ebx, edx
add ebp, dword [eax + 0x10]
adc ebx, dword [eax + 0x14]
mov eax, dword [esp + 0x64]
add ebp, dword [eax]
adc ebx, dword [eax + 4]
add ebp, dword [esp + 0x34]
mov eax, dword [esp + 0x10]
mov edx, eax
adc ebx, dword [esp + 0x1c]
add dword [esp + 0x2c], ebp
adc dword [esp + 0x48], ebx
xor edi, edi
shrd eax, ecx, 0x1c
shl edx, 4
or edi, eax
shr ecx, 0x1c
mov eax, dword [esp + 0x10]
or edx, ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x34], edi
mov edi, ecx
mov dword [esp + 0x1c], edx
xor edx, edx
shr edi, 2
shld ecx, eax, 0x1e
or edx, ecx
shl eax, 0x1e
xor dword [esp + 0x1c], edx
or edi, eax
xor dword [esp + 0x34], edi
xor edx, edx
mov ecx, dword [esp + 0x3c]
mov edi, ecx
mov eax, dword [esp + 0x10]
shld ecx, eax, 0x19
shr edi, 7
shl eax, 0x19
or edx, ecx
xor dword [esp + 0x1c], edx
or edi, eax
xor dword [esp + 0x34], edi
mov edx, esi
xor edx, dword [esp + 0x3c]
mov eax, esi
and eax, dword [esp + 0x3c]
and edx, dword [esp + 0x54]
mov edi, dword [esp + 0x40]
xor edx, eax
xor edi, dword [esp + 0x10]
and edi, dword [esp + 0x30]
mov ecx, dword [esp + 0x40]
and ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
xor edi, ecx
mov ecx, dword [esp + 0x34]
add ecx, edi
adc eax, edx
add ecx, ebp
mov dword [esp + 0x34], ecx
lea ecx, [esp + 0x88]
adc eax, ebx
xor edx, edx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x58]
add eax, 4
and eax, 0xf
lea ecx, [ecx + eax*8]
mov eax, dword [esp + 0x44]
mov dword [esp + 0x38], ecx
mov ebx, dword [eax + 4]
mov ecx, ebx
mov ebp, dword [eax]
mov eax, ebp
shrd eax, ecx, 0x13
mov edi, ebp
or edx, eax
shr ecx, 0x13
shl edi, 0xd
mov eax, ebp
or edi, ecx
mov dword [esp + 0x5c], edx
mov dword [esp + 0x44], edi
mov ecx, ebx
shld ecx, eax, 3
mov edi, ebx
xor edx, edx
shl eax, 3
or edx, ecx
mov ecx, dword [esp + 0x44]
shr edi, 0x1d
xor ecx, edx
or edi, eax
mov eax, dword [esp + 0x5c]
xor eax, edi
mov edi, dword [esp + 0x38]
shrd ebp, ebx, 6
shr ebx, 6
xor eax, ebp
mov edx, dword [edi]
xor ecx, ebx
mov ebp, edx
mov dword [esp + 0x5c], eax
xor ebx, ebx
mov dword [esp + 0x44], ecx
shl ebp, 0x18
mov eax, edx
mov ecx, dword [edi + 4]
mov edi, edx
shrd eax, ecx, 8
shl edi, 0x1f
xor edx, edx
shr ecx, 8
or ebx, eax
or ebp, ecx
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
shrd eax, ecx, 1
or edx, eax
shr ecx, 1
or edi, ecx
xor ebx, edx
xor ebp, edi
mov edx, dword [esp + 0x44]
mov edi, dword [esp + 0x38]
mov eax, dword [edi + 4]
mov ecx, dword [edi]
shrd ecx, eax, 7
xor ebx, ecx
shr eax, 7
mov ecx, dword [esp + 0x5c]
xor ebp, eax
mov eax, dword [esp + 0x58]
add ecx, ebx
adc edx, ebp
add eax, 0xfffffffc
and eax, 0xf
add ecx, dword [esp + eax*8 + 0x88]
adc edx, dword [esp + eax*8 + 0x8c]
mov eax, dword [esp + 0x60]
add dword [eax], ecx
mov ecx, dword [esp + 0x48]
mov ebp, ecx
adc dword [eax + 4], edx
xor ebx, ebx
mov eax, dword [esp + 0x2c]
xor edx, edx
shld ecx, eax, 0x17
shr ebp, 9
or ebx, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x48]
or ebp, eax
mov eax, dword [esp + 0x2c]
mov edi, eax
shrd eax, ecx, 0x12
shl edi, 0xe
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x2c]
or edi, ecx
mov ecx, dword [esp + 0x48]
xor ebx, edi
xor ebp, edx
mov edi, eax
shrd eax, ecx, 0xe
shl edi, 0x12
xor edx, edx
or edx, eax
shr ecx, 0xe
mov eax, dword [esp + 0x14]
or edi, ecx
mov ecx, dword [esp + 0x24]
xor ebx, edi
mov edi, dword [esp + 0x2c]
xor ebp, edx
mov edx, dword [esp + 0x48]
not edi
and edi, dword [esp + 0x28]
not edx
and ecx, dword [esp + 0x2c]
and edx, dword [esp + 0x20]
xor edi, ecx
and eax, dword [esp + 0x48]
xor edx, eax
add ebp, edi
adc ebx, edx
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x1c]
add ebp, dword [eax + 0x18]
adc ebx, dword [eax + 0x1c]
mov eax, dword [esp + 0x60]
add ebp, dword [eax]
adc ebx, dword [eax + 4]
add ebp, dword [esp + 0x50]
mov eax, dword [esp + 0x34]
mov edx, eax
adc ebx, dword [esp + 0x18]
add dword [esp + 0x30], ebp
adc dword [esp + 0x54], ebx
xor edi, edi
shrd eax, ecx, 0x1c
shl edx, 4
or edi, eax
shr ecx, 0x1c
mov eax, dword [esp + 0x34]
or edx, ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x50], edi
mov edi, ecx
shld ecx, eax, 0x1e
shr edi, 2
shl eax, 0x1e
or edi, eax
mov dword [esp + 0x18], edx
xor dword [esp + 0x50], edi
xor edx, edx
mov eax, dword [esp + 0x34]
or edx, ecx
xor dword [esp + 0x18], edx
xor edx, edx
mov ecx, dword [esp + 0x1c]
mov edi, ecx
shld ecx, eax, 0x19
shr edi, 7
shl eax, 0x19
or edx, ecx
xor dword [esp + 0x18], edx
or edi, eax
xor dword [esp + 0x50], edi
mov ecx, dword [esp + 0x10]
mov edi, ecx
and ecx, dword [esp + 0x34]
xor edi, dword [esp + 0x34]
and edi, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
xor edi, ecx
mov ecx, dword [esp + 0x50]
mov edx, eax
and eax, dword [esp + 0x1c]
xor edx, dword [esp + 0x1c]
and edx, esi
xor edx, eax
mov eax, dword [esp + 0x18]
add ecx, edi
adc eax, edx
add ecx, ebp
mov dword [esp + 0x50], ecx
lea ecx, [esp + 0x88]
adc eax, ebx
xor edx, edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x58]
add eax, 5
and eax, 0xf
lea ecx, [ecx + eax*8]
mov eax, dword [esp + 0x64]
mov dword [esp + 0x44], ecx
mov ebp, dword [eax]
mov edi, ebp
mov ebx, dword [eax + 4]
mov eax, ebp
mov ecx, ebx
shl edi, 0xd
shrd eax, ecx, 0x13
shr ecx, 0x13
or edx, eax
mov dword [esp + 0x5c], edx
or edi, ecx
mov eax, ebp
mov dword [esp + 0x64], edi
mov ecx, ebx
shld ecx, eax, 3
mov edi, ebx
xor edx, edx
or edx, ecx
shl eax, 3
mov ecx, dword [esp + 0x64]
xor ecx, edx
shr edi, 0x1d
or edi, eax
mov eax, dword [esp + 0x5c]
xor eax, edi
mov edi, dword [esp + 0x44]
shrd ebp, ebx, 6
xor eax, ebp
shr ebx, 6
mov edx, dword [edi]
xor ecx, ebx
mov dword [esp + 0x64], ecx
mov ebp, edx
mov ecx, dword [edi + 4]
xor ebx, ebx
mov dword [esp + 0x5c], eax
mov edi, edx
mov eax, edx
shl ebp, 0x18
shrd eax, ecx, 8
shl edi, 0x1f
xor edx, edx
shr ecx, 8
or ebx, eax
or ebp, ecx
mov ecx, dword [esp + 0x44]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
shrd eax, ecx, 1
shr ecx, 1
or edx, eax
or edi, ecx
xor ebx, edx
mov edx, dword [esp + 0x84]
xor ebp, edi
mov edi, dword [esp + 0x44]
mov eax, dword [edi + 4]
mov ecx, dword [edi]
shrd ecx, eax, 7
shr eax, 7
xor ebx, ecx
mov ecx, dword [esp + 0x64]
xor ebp, eax
mov eax, dword [esp + 0x5c]
add eax, ebx
adc ecx, ebp
add eax, dword [edx]
adc ecx, dword [edx + 4]
mov edx, dword [esp + 0x38]
add dword [edx], eax
mov eax, dword [esp + 0x30]
adc dword [edx + 4], ecx
xor ebx, ebx
mov ecx, dword [esp + 0x54]
xor edx, edx
mov ebp, ecx
shld ecx, eax, 0x17
shr ebp, 9
shl eax, 0x17
or ebx, ecx
mov ecx, dword [esp + 0x54]
or ebp, eax
mov eax, dword [esp + 0x30]
mov edi, eax
shrd eax, ecx, 0x12
shl edi, 0xe
shr ecx, 0x12
or edx, eax
or edi, ecx
xor ebp, edx
xor ebx, edi
mov eax, dword [esp + 0x30]
xor edx, edx
mov ecx, dword [esp + 0x54]
mov edi, eax
shrd eax, ecx, 0xe
shl edi, 0x12
or edx, eax
shr ecx, 0xe
or edi, ecx
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x30]
xor ebx, edi
xor ebp, edx
mov edi, ecx
and ecx, dword [esp + 0x2c]
mov edx, eax
and eax, dword [esp + 0x48]
not edi
and edi, dword [esp + 0x24]
not edx
and edx, dword [esp + 0x14]
xor edi, ecx
xor edx, eax
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x4c]
add ebp, edi
adc ebx, edx
add ebp, dword [eax + 0x20]
adc ebx, dword [eax + 0x24]
mov eax, dword [esp + 0x38]
add ebp, dword [eax]
adc ebx, dword [eax + 4]
add ebp, dword [esp + 0x28]
mov eax, dword [esp + 0x50]
mov edx, eax
adc ebx, dword [esp + 0x20]
add dword [esp + 0x40], ebp
adc esi, ebx
xor edi, edi
shrd eax, ecx, 0x1c
shl edx, 4
or edi, eax
shr ecx, 0x1c
mov eax, dword [esp + 0x50]
or edx, ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x28], edi
mov edi, ecx
shld ecx, eax, 0x1e
mov dword [esp + 0x20], edx
xor edx, edx
shr edi, 2
or edx, ecx
xor dword [esp + 0x20], edx
xor edx, edx
mov ecx, dword [esp + 0x18]
shl eax, 0x1e
or edi, eax
mov eax, dword [esp + 0x50]
xor dword [esp + 0x28], edi
mov edi, ecx
shld ecx, eax, 0x19
shr edi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x20], edx
or edi, eax
xor dword [esp + 0x28], edi
mov ecx, dword [esp + 0x34]
mov edi, ecx
mov eax, dword [esp + 0x1c]
mov edx, eax
xor edi, dword [esp + 0x50]
xor edx, dword [esp + 0x18]
and ecx, dword [esp + 0x50]
and edi, dword [esp + 0x10]
and edx, dword [esp + 0x3c]
xor edi, ecx
and eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x28]
xor edx, eax
add ecx, edi
mov eax, dword [esp + 0x20]
adc eax, edx
add ecx, ebp
mov dword [esp + 0x28], ecx
lea ecx, [esp + 0x88]
adc eax, ebx
xor edx, edx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x58]
add eax, 6
and eax, 0xf
lea ecx, [ecx + eax*8]
mov eax, dword [esp + 0x60]
mov dword [esp + 0x64], ecx
mov ebx, dword [eax + 4]
mov ecx, ebx
mov ebp, dword [eax]
mov eax, ebp
shrd eax, ecx, 0x13
mov edi, ebp
or edx, eax
shr ecx, 0x13
shl edi, 0xd
mov eax, ebp
or edi, ecx
mov dword [esp + 0x5c], edx
mov dword [esp + 0x60], edi
mov ecx, ebx
shld ecx, eax, 3
mov edi, ebx
xor edx, edx
or edx, ecx
shl eax, 3
mov ecx, dword [esp + 0x60]
xor ecx, edx
shr edi, 0x1d
or edi, eax
mov eax, dword [esp + 0x5c]
xor eax, edi
mov edi, dword [esp + 0x64]
shrd ebp, ebx, 6
xor eax, ebp
shr ebx, 6
mov edx, dword [edi]
xor ecx, ebx
mov dword [esp + 0x60], ecx
mov ebp, edx
mov ecx, dword [edi + 4]
xor ebx, ebx
mov dword [esp + 0x5c], eax
mov edi, edx
mov eax, edx
shl ebp, 0x18
shrd eax, ecx, 8
shl edi, 0x1f
xor edx, edx
shr ecx, 8
or ebx, eax
or ebp, ecx
mov ecx, dword [esp + 0x64]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
shrd eax, ecx, 1
shr ecx, 1
or edx, eax
or edi, ecx
xor ebx, edx
mov edx, dword [esp + 0x78]
xor ebp, edi
mov edi, dword [esp + 0x64]
mov eax, dword [edi + 4]
mov ecx, dword [edi]
shrd ecx, eax, 7
shr eax, 7
xor ebx, ecx
mov ecx, dword [esp + 0x60]
xor ebp, eax
mov eax, dword [esp + 0x5c]
add eax, ebx
adc ecx, ebp
add eax, dword [edx]
mov ebp, esi
adc ecx, dword [edx + 4]
mov edx, dword [esp + 0x44]
add dword [edx], eax
mov eax, dword [esp + 0x40]
adc dword [edx + 4], ecx
xor ebx, ebx
shr ebp, 9
xor edx, edx
mov ecx, esi
shld ecx, eax, 0x17
or ebx, ecx
shl eax, 0x17
or ebp, eax
mov ecx, esi
mov eax, dword [esp + 0x40]
mov edi, eax
shrd eax, ecx, 0x12
shl edi, 0xe
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x40]
or edi, ecx
xor ebx, edi
xor ebp, edx
xor edx, edx
mov edi, eax
shl edi, 0x12
mov ecx, esi
shrd eax, ecx, 0xe
or edx, eax
shr ecx, 0xe
mov eax, dword [esp + 0x54]
or edi, ecx
mov ecx, dword [esp + 0x30]
xor ebx, edi
and ecx, dword [esp + 0x40]
xor ebp, edx
mov edi, dword [esp + 0x40]
and eax, esi
not edi
mov edx, esi
and edi, dword [esp + 0x2c]
not edx
and edx, dword [esp + 0x48]
xor edi, ecx
xor edx, eax
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x4c]
add ebp, edi
adc ebx, edx
add ebp, dword [eax + 0x28]
adc ebx, dword [eax + 0x2c]
mov eax, dword [esp + 0x44]
add ebp, dword [eax]
adc ebx, dword [eax + 4]
add ebp, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
mov edx, eax
adc ebx, dword [esp + 0x14]
add dword [esp + 0x10], ebp
adc dword [esp + 0x3c], ebx
xor edi, edi
shrd eax, ecx, 0x1c
shl edx, 4
or edi, eax
shr ecx, 0x1c
mov eax, dword [esp + 0x28]
or edx, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x24], edi
mov edi, ecx
shld ecx, eax, 0x1e
mov dword [esp + 0x14], edx
xor edx, edx
shr edi, 2
or edx, ecx
shl eax, 0x1e
or edi, eax
xor dword [esp + 0x24], edi
xor dword [esp + 0x14], edx
xor edx, edx
mov ecx, dword [esp + 0x20]
mov edi, ecx
mov eax, dword [esp + 0x28]
shld ecx, eax, 0x19
shr edi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x14], edx
or edi, eax
xor dword [esp + 0x24], edi
mov ecx, dword [esp + 0x50]
mov edi, ecx
and ecx, dword [esp + 0x28]
xor edi, dword [esp + 0x28]
and edi, dword [esp + 0x34]
mov eax, dword [esp + 0x18]
xor edi, ecx
mov ecx, dword [esp + 0x24]
mov edx, eax
and eax, dword [esp + 0x20]
xor edx, dword [esp + 0x20]
and edx, dword [esp + 0x1c]
xor edx, eax
mov eax, dword [esp + 0x14]
add ecx, edi
adc eax, edx
add ecx, ebp
mov dword [esp + 0x24], ecx
adc eax, ebx
xor edx, edx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x58]
add eax, 7
and eax, 0xf
mov ecx, dword [esp + eax*8 + 0x88]
mov eax, dword [esp + eax*8 + 0x8c]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x60], ecx
mov ebx, dword [eax + 4]
mov ecx, ebx
mov ebp, dword [eax]
mov eax, ebp
shrd eax, ecx, 0x13
mov edi, ebp
or edx, eax
shr ecx, 0x13
shl edi, 0xd
mov eax, ebp
or edi, ecx
mov dword [esp + 0x38], edx
mov ecx, ebx
mov dword [esp + 0x44], edi
shld ecx, eax, 3
mov edi, ebx
xor edx, edx
shl eax, 3
or edx, ecx
mov ecx, dword [esp + 0x44]
shrd ebp, ebx, 6
shr edi, 0x1d
xor ecx, edx
mov edx, dword [esp + 0x60]
or edi, eax
mov eax, dword [esp + 0x38]
xor eax, edi
shr ebx, 6
xor eax, ebp
xor ecx, ebx
mov dword [esp + 0x44], ecx
mov ebp, edx
mov ecx, dword [esp + 0x5c]
xor ebx, ebx
mov dword [esp + 0x38], eax
mov eax, edx
shrd eax, ecx, 8
shl ebp, 0x18
shr ecx, 8
or ebx, eax
or ebp, ecx
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
mov edi, edx
shrd eax, ecx, 1
xor edx, edx
shl edi, 0x1f
or edx, eax
shr ecx, 1
or edi, ecx
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x60]
xor ebx, edx
shrd ecx, eax, 7
mov edx, dword [esp + 0x68]
xor ebp, edi
xor ebx, ecx
shr eax, 7
mov ecx, dword [esp + 0x44]
xor ebp, eax
mov eax, dword [esp + 0x38]
add eax, ebx
adc ecx, ebp
add eax, dword [edx]
adc ecx, dword [edx + 4]
mov edx, dword [esp + 0x64]
add dword [edx], eax
mov eax, dword [esp + 0x10]
adc dword [edx + 4], ecx
xor ebx, ebx
mov ecx, dword [esp + 0x3c]
xor edx, edx
mov ebp, ecx
shld ecx, eax, 0x17
shr ebp, 9
or ebx, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x3c]
or ebp, eax
mov eax, dword [esp + 0x10]
mov edi, eax
shrd eax, ecx, 0x12
shl edi, 0xe
or edx, eax
shr ecx, 0x12
mov eax, dword [esp + 0x10]
or edi, ecx
mov ecx, dword [esp + 0x3c]
xor ebx, edi
xor ebp, edx
mov edi, eax
shrd eax, ecx, 0xe
xor edx, edx
shl edi, 0x12
or edx, eax
shr ecx, 0xe
or edi, ecx
xor ebp, edx
mov edx, dword [esp + 0x3c]
xor ebx, edi
mov edi, dword [esp + 0x10]
not edx
and edx, dword [esp + 0x54]
not edi
and edi, dword [esp + 0x30]
mov eax, esi
and eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
xor edx, eax
and ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x4c]
xor edi, ecx
add ebp, edi
adc ebx, edx
add ebp, dword [eax + 0x30]
adc ebx, dword [eax + 0x34]
mov eax, dword [esp + 0x64]
add ebp, dword [eax]
adc ebx, dword [eax + 4]
add ebp, dword [esp + 0x2c]
adc ebx, dword [esp + 0x48]
add dword [esp + 0x34], ebp
mov eax, dword [esp + 0x24]
mov edx, eax
adc dword [esp + 0x1c], ebx
xor edi, edi
mov ecx, dword [esp + 0x14]
shrd eax, ecx, 0x1c
shl edx, 4
or edi, eax
shr ecx, 0x1c
mov eax, dword [esp + 0x24]
or edx, ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x2c], edi
mov edi, ecx
shld ecx, eax, 0x1e
mov dword [esp + 0x48], edx
xor edx, edx
or edx, ecx
shr edi, 2
xor dword [esp + 0x48], edx
xor edx, edx
mov ecx, dword [esp + 0x14]
shl eax, 0x1e
or edi, eax
mov eax, dword [esp + 0x24]
xor dword [esp + 0x2c], edi
mov edi, ecx
shld ecx, eax, 0x19
shr edi, 7
or edx, ecx
shl eax, 0x19
xor dword [esp + 0x48], edx
or edi, eax
xor dword [esp + 0x2c], edi
mov eax, dword [esp + 0x20]
mov edx, eax
xor edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov edi, ecx
xor edi, dword [esp + 0x24]
and edx, dword [esp + 0x18]
and ecx, dword [esp + 0x24]
and eax, dword [esp + 0x14]
and edi, dword [esp + 0x50]
xor edx, eax
mov eax, dword [esp + 0x2c]
xor edi, ecx
mov ecx, dword [esp + 0x48]
add eax, edi
adc ecx, edx
mov edx, dword [esp + 0x58]
add eax, ebp
mov dword [esp + 0x2c], eax
adc ecx, ebx
add dword [esp + 0x4c], 0x40
add edx, 8
mov dword [esp + 0x48], ecx
mov dword [esp + 0x58], edx
lea eax, [edx - 1]
cmp eax, 0x50
jl 0x10038c41
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x78], esi
mov esi, dword [esp + 0x80]
add dword [esi], eax
mov eax, dword [esp + 0x24]
adc dword [esi + 4], ecx
add dword [esi + 8], eax
mov eax, dword [esp + 0x14]
adc dword [esi + 0xc], eax
mov eax, dword [esp + 0x28]
add dword [esi + 0x10], eax
mov eax, dword [esp + 0x20]
adc dword [esi + 0x14], eax
mov eax, dword [esp + 0x50]
add dword [esi + 0x18], eax
mov eax, dword [esp + 0x18]
adc dword [esi + 0x1c], eax
mov eax, dword [esp + 0x34]
add dword [esi + 0x20], eax
mov eax, dword [esp + 0x1c]
adc dword [esi + 0x24], eax
mov eax, dword [esp + 0x10]
add dword [esi + 0x28], eax
mov eax, dword [esp + 0x3c]
adc dword [esi + 0x2c], eax
mov eax, dword [esp + 0x40]
add dword [esi + 0x30], eax
mov eax, dword [esp + 0x78]
adc dword [esi + 0x34], eax
mov eax, dword [esp + 0x30]
add dword [esi + 0x38], eax
mov eax, dword [esp + 0x54]
adc dword [esi + 0x3c], eax
sub dword [esp + 0x6c], 0xffffff80
mov ecx, dword [esp + 0x118]
test ecx, ecx
jne 0x10037454
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 0xfc]
pop esi
xor ecx, esp
call fcn.1007ba40
add esp, 0xfc
ret