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

Disassembly:
mov eax, 0x18c
call fcn.004a72f0
mov eax, dword [0x595978]
xor eax, esp
mov dword [esp + 0x188], eax
cmp dword [esp + 0x194], 0
mov eax, dword [esp + 0x190]
mov dword [esp + 0xb4], eax
je 0x4f1d94
push ebx
push ebp
add ecx, 0x10
push esi
mov dword [esp + 0x5c], ecx
push edi
nop
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov esi, dword [eax + 0x20]
mov edi, dword [eax + 0x24]
dec dword [esp + 0x1a4]
mov dword [esp + 0x48], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x50], ecx
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x4c], edx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x38], ecx
mov ecx, dword [eax + 0x18]
mov dword [esp + 0x54], edx
mov edx, dword [eax + 0x14]
mov dword [esp + 0x30], ecx
mov ecx, dword [eax + 0x28]
mov dword [esp + 0x3c], edx
mov edx, dword [eax + 0x1c]
mov dword [esp + 0x20], ecx
mov ecx, dword [eax + 0x30]
mov dword [esp + 0x34], edx
mov edx, dword [eax + 0x2c]
mov dword [esp + 0x28], ecx
mov ecx, dword [eax + 0x38]
mov dword [esp + 0x24], edx
mov edx, dword [eax + 0x34]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x2c], edx
mov edx, dword [eax + 0x3c]
add ecx, 0xfffffff0
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], edi
mov dword [esp + 0x14], edx
call fcn.004ef450
mov dword [esp + 0x11c], edx
xor ecx, ecx
mov edx, esi
mov ebx, edi
shld ebx, edx, 0x17
or ecx, ebx
shl edx, 0x17
mov dword [esp + 0x118], eax
mov dword [esp + 0xb8], ecx
mov ebx, esi
mov ebp, edi
shrd ebx, ebp, 0x12
shr ebp, 0x12
mov eax, edi
shr eax, 9
or eax, edx
xor edx, edx
or edx, ebx
mov ecx, esi
shl ecx, 0xe
or ecx, ebp
xor dword [esp + 0xb8], ecx
xor eax, edx
mov ebx, esi
mov ebp, edi
shrd ebx, ebp, 0xe
xor ecx, ecx
or ecx, ebx
mov edx, esi
shl edx, 0x12
shr ebp, 0xe
or edx, ebp
mov ebp, dword [esp + 0x20]
xor eax, ecx
mov ecx, dword [esp + 0xb8]
xor ecx, edx
mov edx, esi
mov ebx, edi
and ebp, esi
mov esi, dword [esp + 0x24]
not edx
and edx, dword [esp + 0x28]
not ebx
and ebx, dword [esp + 0x2c]
and esi, edi
xor edx, ebp
xor ebx, esi
add eax, edx
adc ecx, ebx
add eax, dword [esp + 0x118]
mov esi, dword [esp + 0x30]
adc ecx, dword [esp + 0x11c]
add eax, dword [esp + 0x10]
mov ebp, dword [esp + 0x50]
adc ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x54]
add eax, 0xd728ae22
adc ecx, 0x428a2f98
mov dword [esp + 0x1c], ecx
mov edx, ebp
add esi, eax
adc dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x48]
xor edx, ecx
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0x4c]
xor ebx, edx
mov dword [esp + 0x7c], ebx
mov ebx, ebp
and ebx, ecx
mov dword [esp + 0x84], ebx
mov ebx, dword [esp + 0x54]
and ebx, edx
mov dword [esp + 0x88], ebx
mov ebx, ecx
shl ebx, 4
mov dword [esp + 0xa4], ebx
mov ebx, ecx
shrd ebx, edx, 0x1c
shr edx, 0x1c
or dword [esp + 0xa4], edx
mov edx, dword [esp + 0x4c]
xor ebp, ebp
or ebp, ebx
mov ebx, edx
shld edx, ecx, 0x1e
mov dword [esp + 0xa0], ebp
xor ebp, ebp
or ebp, edx
xor dword [esp + 0xa4], ebp
mov ebp, dword [esp + 0x48]
shl ecx, 0x1e
shr ebx, 2
or ebx, ecx
xor dword [esp + 0xa0], ebx
mov ecx, dword [esp + 0x4c]
mov edx, ecx
shld ecx, ebp, 0x19
shr edx, 7
xor ebx, ebx
or ebx, ecx
mov ecx, dword [esp + 0xa0]
shl ebp, 0x19
or edx, ebp
mov ebp, dword [esp + 0x7c]
and ebp, dword [esp + 0x3c]
xor ecx, edx
mov edx, dword [esp + 0xa4]
xor ebp, dword [esp + 0x88]
xor edx, ebx
mov ebx, dword [esp + 0x78]
and ebx, dword [esp + 0x38]
mov dword [esp + 0x30], esi
xor ebx, dword [esp + 0x84]
add ecx, ebx
adc edx, ebp
add ecx, eax
adc edx, dword [esp + 0x1c]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x60]
add ecx, 0xfffffff8
mov dword [esp + 0x14], edx
call fcn.004ef450
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], edx
xor edx, edx
mov ebp, ecx
and edi, dword [esp + 0x34]
mov eax, ecx
mov ebx, esi
shld ebp, ebx, 0x17
or edx, ebp
shl ebx, 0x17
shr eax, 9
or eax, ebx
xor ebx, ebx
mov dword [esp + 0xf4], edx
mov ebp, esi
shrd ebp, ecx, 0x12
or ebx, ebp
mov ebp, dword [esp + 0x34]
xor eax, ebx
shr ecx, 0x12
mov edx, esi
shl edx, 0xe
or edx, ecx
xor dword [esp + 0xf4], edx
xor ecx, ecx
mov ebx, esi
shrd ebx, ebp, 0xe
or ecx, ebx
mov ebx, dword [esp + 0x34]
shr ebp, 0xe
xor eax, ecx
mov ecx, dword [esp + 0xf4]
mov edx, esi
shl edx, 0x12
or edx, ebp
mov ebp, dword [esp + 0x40]
xor ecx, edx
and ebp, esi
not ebx
and ebx, dword [esp + 0x24]
mov edx, esi
mov esi, dword [esp + 0x38]
xor ebx, edi
not edx
and edx, dword [esp + 0x20]
xor edx, ebp
mov ebp, dword [esp + 0x14]
add eax, edx
adc ecx, ebx
add eax, dword [esp + 0x120]
mov edx, dword [esp + 0x10]
adc ecx, dword [esp + 0x124]
add eax, dword [esp + 0x28]
mov edi, edx
adc ecx, dword [esp + 0x2c]
add eax, 0x23ef65cd
adc ecx, 0x71374491
add esi, eax
adc dword [esp + 0x3c], ecx
shl edi, 4
mov dword [esp + 0x98], edi
mov edi, edx
shrd edi, ebp, 0x1c
xor ebx, ebx
or ebx, edi
mov edi, dword [esp + 0x14]
mov dword [esp + 0x94], ebx
mov ebx, edi
shld edi, edx, 0x1e
shr ebp, 0x1c
or dword [esp + 0x98], ebp
shl edx, 0x1e
shr ebx, 2
or ebx, edx
mov edx, dword [esp + 0x14]
xor dword [esp + 0x94], ebx
xor ebp, ebp
or ebp, edi
xor dword [esp + 0x98], ebp
mov edi, edx
shr edi, 7
mov dword [esp + 0x38], esi
xor ebx, ebx
mov ebp, dword [esp + 0x10]
shld edx, ebp, 0x19
or ebx, edx
mov edx, dword [esp + 0x78]
and edx, dword [esp + 0x10]
shl ebp, 0x19
xor edx, dword [esp + 0x84]
or edi, ebp
mov ebp, dword [esp + 0x98]
mov dword [esp + 0x80], ebx
mov ebx, dword [esp + 0x94]
xor ebp, dword [esp + 0x80]
xor ebx, edi
mov edi, dword [esp + 0x7c]
and edi, dword [esp + 0x14]
xor edi, dword [esp + 0x88]
add ebx, edx
adc ebp, edi
add ebx, eax
adc ebp, ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebp
call fcn.004ef450
mov dword [esp + 0x12c], edx
mov edx, dword [esp + 0x3c]
xor ecx, ecx
mov ebx, edx
mov dword [esp + 0x128], eax
mov eax, edx
mov edi, esi
shld ebx, edi, 0x17
or ecx, ebx
shl edi, 0x17
xor ebx, ebx
shr eax, 9
or eax, edi
mov ebp, esi
shrd ebp, edx, 0x12
or ebx, ebp
mov ebp, dword [esp + 0x3c]
xor eax, ebx
shr edx, 0x12
mov edi, esi
shl edi, 0xe
or edi, edx
xor ecx, edi
mov ebx, esi
shrd ebx, ebp, 0xe
xor edi, edi
or edi, ebx
shr ebp, 0xe
mov edx, esi
shl edx, 0x12
or edx, ebp
mov ebp, dword [esp + 0x30]
xor ecx, edx
mov edx, dword [esp + 0x3c]
xor eax, edi
and ebp, esi
mov edi, esi
mov esi, dword [esp + 0x34]
not edi
and edi, dword [esp + 0x40]
mov ebx, edx
and esi, edx
not ebx
and ebx, dword [esp + 0x44]
xor edi, ebp
xor ebx, esi
add eax, edi
adc ecx, ebx
add eax, dword [esp + 0x128]
adc ecx, dword [esp + 0x12c]
add eax, dword [esp + 0x20]
adc ecx, dword [esp + 0x24]
add eax, 0xec4d3b2f
adc ecx, 0xb5c0fbcf
add dword [esp + 0x50], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ecx
adc dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
mov edi, esi
mov ebx, ecx
shrd edi, ebx, 0x1c
shr ebx, 0x1c
mov eax, esi
shl eax, 4
or eax, ebx
xor ebx, ebx
mov ebp, ecx
shld ebp, esi, 0x1e
or ebx, ebp
xor eax, ebx
mov ebx, dword [esp + 0x28]
xor edx, edx
or edx, edi
shl esi, 0x1e
mov edi, ecx
shr edi, 2
or edi, esi
xor edx, edi
mov ebp, ecx
shld ebp, ebx, 0x19
xor edi, edi
or edi, ebp
shl ebx, 0x19
mov esi, ecx
xor eax, edi
mov edi, dword [esp + 0x28]
shr esi, 7
or esi, ebx
xor edx, esi
mov esi, dword [esp + 0x48]
mov ebp, ecx
xor ebp, dword [esp + 0x4c]
and ecx, dword [esp + 0x4c]
and ebp, dword [esp + 0x14]
mov ebx, edi
xor ebx, esi
and ebx, dword [esp + 0x10]
and edi, esi
xor ebp, ecx
mov ecx, dword [esp + 0x60]
xor ebx, edi
add edx, ebx
adc eax, ebp
add edx, dword [esp + 0x18]
adc eax, dword [esp + 0x1c]
add ecx, 8
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], eax
call fcn.004ef450
mov esi, dword [esp + 0x54]
mov ebx, esi
mov dword [esp + 0x134], edx
mov edx, dword [esp + 0x50]
mov edi, edx
shld ebx, edi, 0x17
mov dword [esp + 0x130], eax
mov eax, esi
shl edi, 0x17
shr eax, 9
or eax, edi
mov ebp, edx
shrd ebp, esi, 0x12
xor ecx, ecx
or ecx, ebx
mov edi, edx
shl edi, 0xe
shr esi, 0x12
xor ebx, ebx
or edi, esi
or ebx, ebp
xor ecx, edi
xor eax, ebx
mov esi, edx
xor edi, edi
shl esi, 0x12
mov ebx, edx
mov ebp, dword [esp + 0x54]
shrd ebx, ebp, 0xe
or edi, ebx
xor eax, edi
shr ebp, 0xe
or esi, ebp
mov ebp, dword [esp + 0x38]
xor ecx, esi
mov esi, dword [esp + 0x54]
and ebp, edx
mov edi, edx
mov edx, dword [esp + 0x3c]
and edx, esi
not edi
and edi, dword [esp + 0x30]
mov ebx, esi
xor edi, ebp
not ebx
and ebx, dword [esp + 0x34]
mov esi, dword [esp + 0x20]
xor ebx, edx
add eax, edi
adc ecx, ebx
add eax, dword [esp + 0x130]
mov edi, esi
adc ecx, dword [esp + 0x134]
add eax, dword [esp + 0x40]
adc ecx, dword [esp + 0x44]
add eax, 0x8189dbbc
adc ecx, 0xe9b5dba5
add dword [esp + 0x48], eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], eax
adc dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x24]
mov eax, esi
mov ebx, ecx
shrd edi, ebx, 0x1c
shr ebx, 0x1c
shl eax, 4
or eax, ebx
xor ebx, ebx
mov ebp, ecx
shld ebp, esi, 0x1e
or ebx, ebp
xor eax, ebx
mov ebx, dword [esp + 0x20]
xor edx, edx
or edx, edi
shl esi, 0x1e
mov edi, ecx
shr edi, 2
or edi, esi
xor edx, edi
mov ebp, ecx
shld ebp, ebx, 0x19
xor edi, edi
or edi, ebp
mov ebp, dword [esp + 0x2c]
shl ebx, 0x19
mov esi, ecx
shr esi, 7
or esi, ebx
xor eax, edi
mov edi, dword [esp + 0x28]
xor edx, esi
mov esi, dword [esp + 0x20]
mov ebx, edi
xor ebx, esi
and ebx, dword [esp + 0x10]
and edi, esi
mov esi, dword [esp + 0x2c]
xor ebp, ecx
and ebp, dword [esp + 0x14]
and esi, ecx
xor ebx, edi
xor ebp, esi
add edx, ebx
adc eax, ebp
add edx, dword [esp + 0x18]
mov dword [esp + 0x40], edx
adc eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x60]
add ecx, 0x10
mov dword [esp + 0x44], eax
call fcn.004ef450
mov esi, dword [esp + 0x4c]
mov ebx, esi
mov dword [esp + 0x138], eax
mov dword [esp + 0x13c], edx
mov edx, dword [esp + 0x48]
xor ecx, ecx
mov eax, esi
mov edi, edx
shld ebx, edi, 0x17
or ecx, ebx
shl edi, 0x17
xor ebx, ebx
shr eax, 9
or eax, edi
mov ebp, edx
shrd ebp, esi, 0x12
or ebx, ebp
mov ebp, dword [esp + 0x4c]
xor eax, ebx
shr esi, 0x12
mov edi, edx
shl edi, 0xe
or edi, esi
xor ecx, edi
xor edi, edi
mov ebx, edx
shrd ebx, ebp, 0xe
or edi, ebx
xor eax, edi
shr ebp, 0xe
mov esi, edx
shl esi, 0x12
or esi, ebp
mov ebp, dword [esp + 0x50]
xor ecx, esi
mov esi, dword [esp + 0x4c]
and ebp, edx
mov edi, edx
mov edx, dword [esp + 0x54]
and edx, esi
not edi
and edi, dword [esp + 0x38]
mov ebx, esi
mov esi, dword [esp + 0x40]
xor edi, ebp
not ebx
and ebx, dword [esp + 0x3c]
xor ebx, edx
add eax, edi
adc ecx, ebx
add eax, dword [esp + 0x138]
mov edi, esi
adc ecx, dword [esp + 0x13c]
add eax, dword [esp + 0x30]
adc ecx, dword [esp + 0x34]
add eax, 0xf348b538
adc ecx, 0x3956c25b
add dword [esp + 0x10], eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], eax
adc dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x44]
mov ebx, ecx
shrd edi, ebx, 0x1c
mov eax, esi
xor edx, edx
mov ebp, ecx
shr ebx, 0x1c
or edx, edi
shl eax, 4
shld ebp, esi, 0x1e
or eax, ebx
mov edi, ecx
shr edi, 2
xor ebx, ebx
shl esi, 0x1e
or ebx, ebp
xor eax, ebx
mov ebx, dword [esp + 0x40]
or edi, esi
xor edx, edi
mov ebp, ecx
shld ebp, ebx, 0x19
xor edi, edi
or edi, ebp
mov ebp, dword [esp + 0x24]
shl ebx, 0x19
mov esi, ecx
shr esi, 7
or esi, ebx
xor eax, edi
mov edi, dword [esp + 0x20]
xor edx, esi
mov esi, dword [esp + 0x40]
xor ebp, ecx
and ebp, dword [esp + 0x2c]
mov ebx, edi
xor ebx, esi
and ebx, dword [esp + 0x28]
and edi, esi
mov esi, dword [esp + 0x24]
and esi, ecx
mov ecx, dword [esp + 0x60]
xor ebx, edi
xor ebp, esi
add edx, ebx
adc eax, ebp
add edx, dword [esp + 0x18]
adc eax, dword [esp + 0x1c]
add ecx, 0x18
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], eax
call fcn.004ef450
mov esi, dword [esp + 0x14]
mov ebx, esi
mov dword [esp + 0x144], edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x140], eax
mov eax, esi
mov edi, edx
shld ebx, edi, 0x17
shl edi, 0x17
xor ecx, ecx
or ecx, ebx
xor ebx, ebx
mov ebp, edx
shrd ebp, esi, 0x12
or ebx, ebp
mov ebp, dword [esp + 0x14]
shr eax, 9
or eax, edi
xor eax, ebx
shr esi, 0x12
mov edi, edx
shl edi, 0xe
or edi, esi
mov ebx, edx
shrd ebx, ebp, 0xe
xor ecx, edi
xor edi, edi
or edi, ebx
mov esi, edx
shl esi, 0x12
shr ebp, 0xe
or esi, ebp
xor eax, edi
xor ecx, esi
mov esi, dword [esp + 0x14]
mov edi, edx
and edx, dword [esp + 0x48]
not edi
and edi, dword [esp + 0x50]
mov ebx, esi
and esi, dword [esp + 0x4c]
not ebx
and ebx, dword [esp + 0x54]
xor edi, edx
xor ebx, esi
add eax, edi
adc ecx, ebx
add eax, dword [esp + 0x140]
mov esi, dword [esp + 0x30]
adc ecx, dword [esp + 0x144]
add eax, dword [esp + 0x38]
mov edi, esi
adc ecx, dword [esp + 0x3c]
add eax, 0xb605d019
adc ecx, 0x59f111f1
add dword [esp + 0x28], eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], eax
adc dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x34]
mov eax, esi
mov ebx, ecx
shrd edi, ebx, 0x1c
shr ebx, 0x1c
shl eax, 4
or eax, ebx
xor ebx, ebx
mov ebp, ecx
shld ebp, esi, 0x1e
or ebx, ebp
xor eax, ebx
mov ebx, dword [esp + 0x30]
xor edx, edx
or edx, edi
shl esi, 0x1e
mov edi, ecx
shr edi, 2
or edi, esi
xor edx, edi
mov ebp, ecx
shld ebp, ebx, 0x19
xor edi, edi
or edi, ebp
mov ebp, dword [esp + 0x44]
shl ebx, 0x19
mov esi, ecx
shr esi, 7
or esi, ebx
xor eax, edi
mov edi, dword [esp + 0x40]
xor edx, esi
mov esi, dword [esp + 0x30]
xor ebp, ecx
and ebp, dword [esp + 0x24]
mov ebx, edi
xor ebx, esi
and ebx, dword [esp + 0x20]
and edi, esi
mov esi, dword [esp + 0x44]
and esi, ecx
mov ecx, dword [esp + 0x60]
xor ebx, edi
xor ebp, esi
add edx, ebx
adc eax, ebp
add edx, dword [esp + 0x18]
adc eax, dword [esp + 0x1c]
add ecx, 0x20
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], eax
call fcn.004ef450
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x14c], edx
mov edx, dword [esp + 0x28]
mov edi, edx
mov ebx, esi
shld ebx, edi, 0x17
mov dword [esp + 0x148], eax
mov eax, esi
shl edi, 0x17
shr eax, 9
xor ecx, ecx
or eax, edi
or ecx, ebx
mov edi, edx
xor ebx, ebx
shl edi, 0xe
mov ebp, edx
shrd ebp, esi, 0x12
or ebx, ebp
mov ebp, dword [esp + 0x2c]
xor eax, ebx
shr esi, 0x12
or edi, esi
xor ecx, edi
xor edi, edi
mov ebx, edx
shrd ebx, ebp, 0xe
or edi, ebx
xor eax, edi
shr ebp, 0xe
mov esi, edx
shl esi, 0x12
or esi, ebp
mov ebp, dword [esp + 0x10]
xor ecx, esi
mov esi, dword [esp + 0x2c]
and ebp, edx
mov edi, edx
mov edx, dword [esp + 0x14]
and edx, esi
not edi
and edi, dword [esp + 0x48]
mov ebx, esi
xor edi, ebp
not ebx
and ebx, dword [esp + 0x4c]
mov esi, dword [esp + 0x38]
xor ebx, edx
add eax, edi
adc ecx, ebx
add eax, dword [esp + 0x148]
mov edi, esi
adc ecx, dword [esp + 0x14c]
add eax, dword [esp + 0x50]
adc ecx, dword [esp + 0x54]
add eax, 0xaf194f9b
adc ecx, 0x923f82a4
add dword [esp + 0x20], eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], eax
adc dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x3c]
mov eax, esi
mov ebx, ecx
shrd edi, ebx, 0x1c
shr ebx, 0x1c
shl eax, 4
or eax, ebx
xor ebx, ebx
mov ebp, ecx
shld ebp, esi, 0x1e
or ebx, ebp
xor edx, edx
or edx, edi
xor eax, ebx
mov ebx, dword [esp + 0x38]
shl esi, 0x1e
mov edi, ecx
shr edi, 2
or edi, esi
xor edx, edi
mov ebp, ecx
shld ebp, ebx, 0x19
xor edi, edi
mov esi, ecx
shr esi, 7
shl ebx, 0x19
or edi, ebp
or esi, ebx
xor eax, edi
mov edi, dword [esp + 0x30]
xor edx, esi
mov esi, dword [esp + 0x38]
mov ebx, edi
xor ebx, esi
mov ebp, dword [esp + 0x34]
and ebx, dword [esp + 0x40]
xor ebp, ecx
and ebp, dword [esp + 0x44]
and edi, esi
mov esi, dword [esp + 0x34]
and esi, ecx
mov ecx, dword [esp + 0x60]
xor ebx, edi
xor ebp, esi
add edx, ebx
adc eax, ebp
add edx, dword [esp + 0x18]
adc eax, dword [esp + 0x1c]
add ecx, 0x28
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], eax
call fcn.004ef450
mov esi, dword [esp + 0x24]
mov dword [esp + 0x150], eax
mov dword [esp + 0x154], edx
mov edx, dword [esp + 0x20]
xor ecx, ecx
mov ebx, esi
mov eax, esi
mov edi, edx
shld ebx, edi, 0x17
or ecx, ebx
shl edi, 0x17
xor ebx, ebx
shr eax, 9
or eax, edi
mov ebp, edx
shrd ebp, esi, 0x12
or ebx, ebp
mov ebp, dword [esp + 0x24]
xor eax, ebx
shr esi, 0x12
mov edi, edx
shl edi, 0xe
or edi, esi
xor ecx, edi
mov ebx, edx
shrd ebx, ebp, 0xe
xor edi, edi
or edi, ebx
shr ebp, 0xe
mov esi, edx
shl esi, 0x12
or esi, ebp
mov ebp, dword [esp + 0x28]
xor ecx, esi
mov esi, dword [esp + 0x24]
xor eax, edi
and ebp, edx
mov edi, edx
mov edx, dword [esp + 0x2c]
and edx, esi
mov ebx, esi
mov esi, dword [esp + 0x50]
not edi
and edi, dword [esp + 0x10]
not ebx
and ebx, dword [esp + 0x14]
xor edi, ebp
xor ebx, edx
add eax, edi
adc ecx, ebx
add eax, dword [esp + 0x150]
adc ecx, dword [esp + 0x154]
add eax, dword [esp + 0x48]
adc ecx, dword [esp + 0x4c]
add eax, 0xda6d8118
adc ecx, 0xab1c5ed5
add dword [esp + 0x40], eax
mov dword [esp + 0x18], eax
mov eax, esi
adc dword [esp + 0x44], ecx
xor edx, edx
mov dword [esp + 0x1c], ecx
shl eax, 4
mov ecx, dword [esp + 0x54]
mov edi, esi
mov ebx, ecx
shrd edi, ebx, 0x1c
shr ebx, 0x1c
or eax, ebx
or edx, edi
xor ebx, ebx
mov ebp, ecx
shld ebp, esi, 0x1e
or ebx, ebp
xor eax, ebx
mov ebx, dword [esp + 0x50]
shl esi, 0x1e
mov edi, ecx
shr edi, 2
or edi, esi
xor edx, edi
mov ebp, ecx
shld ebp, ebx, 0x19
xor edi, edi
or edi, ebp
mov ebp, dword [esp + 0x3c]
shl ebx, 0x19
mov esi, ecx
shr esi, 7
or esi, ebx
xor eax, edi
mov edi, dword [esp + 0x38]
xor edx, esi
mov esi, dword [esp + 0x50]
xor ebp, ecx
and ebp, dword [esp + 0x34]
mov ebx, edi
xor ebx, esi
and ebx, dword [esp + 0x30]
and edi, esi
mov esi, dword [esp + 0x3c]
and esi, ecx
mov ecx, dword [esp + 0x60]
xor ebx, edi
xor ebp, esi
add edx, ebx
adc eax, ebp
add edx, dword [esp + 0x18]
adc eax, dword [esp + 0x1c]
add ecx, 0x30
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], eax
call fcn.004ef450
mov esi, dword [esp + 0x44]
mov ebx, esi
mov dword [esp + 0x15c], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x158], eax
mov eax, esi
mov edi, edx
shld ebx, edi, 0x17
xor ecx, ecx
or ecx, ebx
shl edi, 0x17
mov ebp, edx
shrd ebp, esi, 0x12
xor ebx, ebx
or ebx, ebp
mov ebp, dword [esp + 0x44]
shr eax, 9
or eax, edi
xor eax, ebx
shr esi, 0x12
mov edi, edx
shl edi, 0xe
or edi, esi
mov ebx, edx
shrd ebx, ebp, 0xe
xor ecx, edi
mov esi, edx
xor edi, edi
shl esi, 0x12
shr ebp, 0xe
or edi, ebx
or esi, ebp
mov ebp, dword [esp + 0x20]
xor ecx, esi
mov esi, dword [esp + 0x44]
xor eax, edi
and ebp, edx
mov edi, edx
mov edx, dword [esp + 0x24]
not edi
and edi, dword [esp + 0x28]
and edx, esi
xor edi, ebp
mov ebp, dword [esp + 0x54]
mov ebx, esi
mov esi, dword [esp + 0x30]
not ebx
and ebx, dword [esp + 0x2c]
xor ebx, edx
mov edx, dword [esp + 0x48]
add eax, edi
adc ecx, ebx
add eax, dword [esp + 0x158]
mov ebx, dword [esp + 0x50]
adc ecx, dword [esp + 0x15c]
add eax, dword [esp + 0x10]
mov edi, dword [esp + 0x4c]
adc ecx, dword [esp + 0x14]
add eax, 0xa3030242
adc ecx, 0xd807aa98
mov dword [esp + 0x1c], ecx
add esi, eax
adc dword [esp + 0x34], ecx
mov ecx, ebx
xor ecx, edx
mov dword [esp + 0x78], ecx
mov ecx, ebp
xor ecx, edi
and ebp, edi
mov dword [esp + 0x7c], ecx
mov ecx, ebx
and ecx, edx
mov dword [esp + 0x88], ebp
mov ebp, edx
shrd ebp, edi, 0x1c
shr edi, 0x1c
mov dword [esp + 0x84], ecx
mov ecx, edx
xor ebx, ebx
or ebx, ebp
mov dword [esp + 0xd0], ebx
shl ecx, 4
or ecx, edi
mov edi, dword [esp + 0x4c]
mov ebx, edi
shld edi, edx, 0x1e
shr ebx, 2
xor ebp, ebp
or ebp, edi
shl edx, 0x1e
or ebx, edx
mov edx, dword [esp + 0x4c]
xor dword [esp + 0xd0], ebx
xor ecx, ebp
mov ebp, dword [esp + 0x48]
mov edi, edx
shld edx, ebp, 0x19
shr edi, 7
xor ebx, ebx
or ebx, edx
mov edx, dword [esp + 0xd0]
shl ebp, 0x19
or edi, ebp
xor edx, edi
mov edi, dword [esp + 0x78]
and edi, dword [esp + 0x38]
xor ecx, ebx
mov ebx, dword [esp + 0x7c]
and ebx, dword [esp + 0x3c]
xor edi, dword [esp + 0x84]
xor ebx, dword [esp + 0x88]
mov dword [esp + 0x30], esi
add edx, edi
adc ecx, ebx
add edx, eax
adc ecx, dword [esp + 0x1c]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x60]
add ecx, 0x38
call fcn.004ef450
mov dword [esp + 0x164], edx
mov edx, dword [esp + 0x34]
xor ecx, ecx
mov ebx, edx
mov dword [esp + 0x160], eax
mov edi, esi
shld ebx, edi, 0x17
or ecx, ebx
shl edi, 0x17
xor ebx, ebx
mov eax, edx
mov ebp, esi
shrd ebp, edx, 0x12
or ebx, ebp
mov ebp, dword [esp + 0x34]
shr eax, 9
or eax, edi
xor eax, ebx
shr edx, 0x12
mov edi, esi
shl edi, 0xe
or edi, edx
xor ecx, edi
xor edi, edi
mov ebx, esi
shrd ebx, ebp, 0xe
or edi, ebx
shr ebp, 0xe
xor eax, edi
mov edx, esi
shl edx, 0x12
or edx, ebp
mov ebp, dword [esp + 0x40]
xor ecx, edx
mov edx, dword [esp + 0x34]
and ebp, esi
mov edi, esi
mov esi, dword [esp + 0x44]
not edi
and edi, dword [esp + 0x20]
and esi, edx
xor edi, ebp
mov ebp, dword [esp + 0x14]
mov ebx, edx
mov edx, dword [esp + 0x10]
not ebx
and ebx, dword [esp + 0x24]
xor ebx, esi
mov esi, dword [esp + 0x38]
add eax, edi
adc ecx, ebx
add eax, dword [esp + 0x160]
mov ebx, edx
adc ecx, dword [esp + 0x164]
add eax, dword [esp + 0x28]
adc ecx, dword [esp + 0x2c]
add eax, 0x45706fbe
adc ecx, 0x12835b01
add esi, eax
adc dword [esp + 0x3c], ecx
shrd ebx, ebp, 0x1c
xor edi, edi
or edi, ebx
mov dword [esp + 0x1c], ecx
mov ecx, edx
mov dword [esp + 0x110], edi
mov edi, dword [esp + 0x14]
shl ecx, 4
shr ebp, 0x1c
mov dword [esp + 0x38], esi
or ecx, ebp
mov ebx, edi
shld edi, edx, 0x1e
shl edx, 0x1e
shr ebx, 2
or ebx, edx
xor dword [esp + 0x110], ebx
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
xor ebp, ebp
or ebp, edi
mov edi, edx
shld edx, ebx, 0x19
xor ecx, ebp
shr edi, 7
shl ebx, 0x19
or edi, ebx
mov ebx, dword [esp + 0x110]
xor ebp, ebp
or ebp, edx
mov edx, dword [esp + 0x78]
and edx, dword [esp + 0x10]
xor ebx, edi
mov edi, dword [esp + 0x7c]
and edi, dword [esp + 0x14]
xor edx, dword [esp + 0x84]
xor edi, dword [esp + 0x88]
xor ecx, ebp
add ebx, edx
adc ecx, edi
add ebx, eax
adc ecx, dword [esp + 0x1c]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x60]
add ecx, 0x40
call fcn.004ef450
mov dword [esp + 0x16c], edx
mov edx, dword [esp + 0x3c]
mov ebx, edx
mov edi, esi
shld ebx, edi, 0x17
shl edi, 0x17
mov dword [esp + 0x168], eax
mov eax, edx
mov ebp, esi
shrd ebp, edx, 0x12
xor ecx, ecx
or ecx, ebx
xor ebx, ebx
or ebx, ebp
mov ebp, dword [esp + 0x3c]
shr eax, 9
or eax, edi
xor eax, ebx
shr edx, 0x12
mov edi, esi
shl edi, 0xe
or edi, edx
mov ebx, esi
shrd ebx, ebp, 0xe
xor ecx, edi
mov edx, esi
xor edi, edi
or edi, ebx
shr ebp, 0xe
shl edx, 0x12
or edx, ebp
mov ebp, dword [esp + 0x30]
xor eax, edi
xor ecx, edx
mov edx, dword [esp + 0x3c]
mov edi, esi
and ebp, esi
mov esi, dword [esp + 0x34]
not edi
and edi, dword [esp + 0x40]
mov ebx, edx
not ebx
and ebx, dword [esp + 0x44]
and esi, edx
xor edi, ebp
xor ebx, esi
add eax, edi
adc ecx, ebx
add eax, dword [esp + 0x168]
mov esi, dword [esp + 0x28]
adc ecx, dword [esp + 0x16c]
add eax, dword [esp + 0x20]
mov edi, esi
adc ecx, dword [esp + 0x24]
add eax, 0x4ee4b28c
adc ecx, 0x243185be
add dword [esp + 0x50], eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], eax
adc dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x2c]
mov ebx, ecx
shrd edi, ebx, 0x1c
shr ebx, 0x1c
mov eax, esi
shl eax, 4
or eax, ebx
xor ebx, ebx
mov ebp, ecx
shld ebp, esi, 0x1e
or ebx, ebp
xor eax, ebx
mov ebx, dword [esp + 0x28]
xor edx, edx
or edx, edi
shl esi, 0x1e
mov edi, ecx
shr edi, 2
or edi, esi
xor edx, edi
mov ebp, ecx
shld ebp, ebx, 0x19
xor edi, edi
or edi, ebp
shl ebx, 0x19
mov esi, ecx
xor eax, edi
mov edi, dword [esp + 0x28]
shr esi, 7
or esi, ebx
xor edx, esi
mov esi, dword [esp + 0x48]
mov ebp, ecx
xor ebp, dword [esp + 0x4c]
and ecx, dword [esp + 0x4c]
and ebp, dword [esp + 0x14]
mov ebx, edi
xor ebx, esi
and ebx, dword [esp + 0x10]
and edi, esi
xor ebp, ecx
mov ecx, dword [esp + 0x60]
xor ebx, edi
add edx, ebx
adc eax, ebp
add edx, dword [esp + 0x18]
adc eax, dword [esp + 0x1c]
add ecx, 0x48
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], eax
call fcn.004ef450
mov esi, dword [esp + 0x54]
mov dword [esp + 0x174], edx
mov edx, dword [esp + 0x50]
mov edi, edx
mov ebx, esi
shld ebx, edi, 0x17
mov dword [esp + 0x170], eax
mov eax, esi
shl edi, 0x17
shr eax, 9
xor ecx, ecx
or eax, edi
or ecx, ebx
mov edi, edx
xor ebx, ebx
shl edi, 0xe
mov ebp, edx
shrd ebp, esi, 0x12
or ebx, ebp
mov ebp, dword [esp + 0x54]
xor eax, ebx
shr esi, 0x12
or edi, esi
xor ecx, edi
xor edi, edi
mov ebx, edx
shrd ebx, ebp, 0xe
or edi, ebx
xor eax, edi
shr ebp, 0xe
mov esi, edx
shl esi, 0x12
or esi, ebp
mov ebp, dword [esp + 0x38]
xor ecx, esi
mov esi, dword [esp + 0x54]
and ebp, edx
mov edi, edx
mov edx, dword [esp + 0x3c]
and edx, esi
not edi
and edi, dword [esp + 0x30]
mov ebx, esi
xor edi, ebp
not ebx
and ebx, dword [esp + 0x34]
mov esi, dword [esp + 0x20]
xor ebx, edx
add eax, edi
adc ecx, ebx
add eax, dword [esp + 0x170]
mov edi, esi
adc ecx, dword [esp + 0x174]
add eax, dword [esp + 0x40]
adc ecx, dword [esp + 0x44]
add eax, 0xd5ffb4e2
adc ecx, 0x550c7dc3
add dword [esp + 0x48], eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], eax
adc dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x24]
mov eax, esi
mov ebx, ecx
shrd edi, ebx, 0x1c
shr ebx, 0x1c
shl eax, 4
or eax, ebx
xor ebx, ebx
mov ebp, ecx
shld ebp, esi, 0x1e
or ebx, ebp
xor eax, ebx
mov ebx, dword [esp + 0x20]
xor edx, edx
or edx, edi
shl esi, 0x1e
mov edi, ecx
shr edi, 2
or edi, esi
mov ebp, ecx
shld ebp, ebx, 0x19
xor edx, edi
shl ebx, 0x19
mov esi, ecx
shr esi, 7
or esi, ebx
xor edi, edi
or edi, ebp
mov ebp, dword [esp + 0x2c]
xor edx, esi
mov esi, dword [esp + 0x28]
xor eax, edi
mov edi, dword [esp + 0x20]
mov ebx, esi
xor ebx, edi
xor ebp, ecx
and ebx, dword [esp + 0x10]
and ebp, dword [esp + 0x14]
and esi, edi
mov edi, dword [esp + 0x2c]
and edi, ecx
mov ecx, dword [esp + 0x60]
xor ebx, esi
xor ebp, edi
add edx, ebx
adc eax, ebp
add edx, dword [esp + 0x18]
adc eax, dword [esp + 0x1c]
add ecx, 0x50
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], eax
call fcn.004ef450
mov esi, dword [esp + 0x4c]
xor ecx, ecx
mov dword [esp + 0x178], eax
mov dword [esp + 0x17c], edx
mov edx, dword [esp + 0x48]
mov ebx, esi
mov eax, esi
mov edi, edx
shld ebx, edi, 0x17
or ecx, ebx
shl edi, 0x17
xor ebx, ebx
shr eax, 9
or eax, edi
mov ebp, edx
shrd ebp, esi, 0x12
or ebx, ebp
mov ebp, dword [esp + 0x4c]
xor eax, ebx
shr esi, 0x12
mov edi, edx
shl edi, 0xe
or edi, esi
xor ecx, edi
xor edi, edi
mov ebx, edx
shrd ebx, ebp, 0xe
or edi, ebx
shr ebp, 0xe
xor eax, edi
mov esi, edx
shl esi, 0x12
or esi, ebp
mov ebp, dword [esp + 0x50]
xor ecx, esi
mov esi, dword [esp + 0x4c]
and ebp, edx
mov edi, edx
mov edx, dword [esp + 0x54]
and edx, esi
not edi
and edi, dword [esp + 0x38]
mov ebx, esi
mov esi, dword [esp + 0x40]
xor edi, ebp
not ebx
and ebx, dword [esp + 0x3c]
xor ebx, edx
mov edx, dword [esp + 0x44]
add eax, edi
adc ecx, ebx
add eax, dword [esp + 0x178]
mov edi, esi
adc ecx, dword [esp + 0x17c]
add eax, dword [esp + 0x30]
adc ecx, dword [esp + 0x34]
add eax, 0xf27b896f
adc ecx, 0x72be5d74
add dword [esp + 0x10], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ecx
adc dword [esp + 0x14], ecx
mov eax, esi
xor ecx, ecx
shl eax, 4
mov ebx, edx
shrd edi, ebx, 0x1c
shr ebx, 0x1c
or eax, ebx
or ecx, edi
xor ebx, ebx
mov ebp, edx
shld ebp, esi, 0x1e
or ebx, ebp
xor eax, ebx
mov ebx, dword [esp + 0x40]
shl esi, 0x1e
mov edi, edx
shr edi, 2
or edi, esi
xor ecx, edi
mov ebp, edx
shld ebp, ebx, 0x19
shl ebx, 0x19
mov esi, edx
shr esi, 7
or esi, ebx
xor edi, edi
or edi, ebp
mov ebp, dword [esp + 0x24]
xor ecx, esi
mov esi, dword [esp + 0x20]
xor eax, edi
mov edi, dword [esp + 0x40]
mov ebx, esi
xor ebx, edi
and ebx, dword [esp + 0x28]
xor ebp, edx
and ebp, dword [esp + 0x2c]
and esi, edi
mov edi, dword [esp + 0x24]
and edi, edx
xor ebx, esi
xor ebp, edi
add ecx, ebx
adc eax, ebp
add ecx, dword [esp + 0x18]
adc eax, dword [esp + 0x1c]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x60]
add ecx, 0x58
mov dword [esp + 0x34], eax
call fcn.004ef450
mov esi, dword [esp + 0x14]
mov ebx, esi
mov dword [esp + 0x184], edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x180], eax
mov eax, esi
mov edi, edx
shld ebx, edi, 0x17
shl edi, 0x17
xor ecx, ecx
or ecx, ebx
mov ebp, edx
shrd ebp, esi, 0x12
xor ebx, ebx
or ebx, ebp
mov ebp, dword [esp + 0x14]
shr eax, 9
or eax, edi
shr esi, 0x12
xor eax, ebx
mov edi, edx
shl edi, 0xe
or edi, esi
mov ebx, edx
shrd ebx, ebp, 0xe
xor ecx, edi
mov esi, edx
xor edi, edi
shl esi, 0x12
shr ebp, 0xe
or edi, ebx
or esi, ebp
xor eax, edi
xor ecx, esi
mov esi, dword [esp + 0x14]
mov edi, edx
and edx, dword [esp + 0x48]
not edi
and edi, dword [esp + 0x50]
mov ebx, esi
and esi, dword [esp + 0x4c]
xor edi, edx
not ebx
and ebx, dword [esp + 0x54]
xor ebx, esi
add eax, edi
adc ecx, ebx
add eax, dword [esp + 0x180]
mov esi, dword [esp + 0x30]
adc ecx, dword [esp + 0x184]
add eax, dword [esp + 0x38]
mov edi, esi
adc ecx, dword [esp + 0x3c]
add eax, 0x3b1696b1
adc ecx, 0x80deb1fe
add dword [esp + 0x28], eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], eax
adc dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x34]
mov eax, esi
mov ebx, ecx
shrd edi, ebx, 0x1c
shr ebx, 0x1c
shl eax, 4
or eax, ebx
xor ebx, ebx
mov ebp, ecx
shld ebp, esi, 0x1e
or ebx, ebp
xor eax, ebx
mov ebx, dword [esp + 0x30]
xor edx, edx
or edx, edi
shl esi, 0x1e
mov edi, ecx
shr edi, 2
or edi, esi
mov ebp, ecx
shld ebp, ebx, 0x19
xor edx, edi
shl ebx, 0x19
mov esi, ecx
shr esi, 7
or esi, ebx
xor edi, edi
or edi, ebp
mov ebp, dword [esp + 0x44]
xor eax, edi
mov edi, dword [esp + 0x30]
xor edx, esi
mov esi, dword [esp + 0x40]
xor ebp, ecx
and ebp, dword [esp + 0x24]
mov ebx, esi
xor ebx, edi
and ebx, dword [esp + 0x20]
and esi, edi
mov edi, dword [esp + 0x44]
and edi, ecx
mov ecx, dword [esp + 0x60]
xor ebx, esi
xor ebp, edi
add edx, ebx
adc eax, ebp
add edx, dword [esp + 0x18]
adc eax, dword [esp + 0x1c]
add ecx, 0x60
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], eax
call fcn.004ef450
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], edx
mov edx, dword [esp + 0x28]
mov ebx, esi
xor ecx, ecx
mov eax, esi
mov edi, edx
shld ebx, edi, 0x17
or ecx, ebx
shl edi, 0x17
xor ebx, ebx
shr eax, 9
or eax, edi
mov ebp, edx
shrd ebp, esi, 0x12
or ebx, ebp
mov ebp, dword [esp + 0x2c]
xor eax, ebx
shr esi, 0x12
mov edi, edx
shl edi, 0xe
or edi, esi
xor ecx, edi
xor edi, edi
mov ebx, edx
shrd ebx, ebp, 0xe
or edi, ebx
xor eax, edi
shr ebp, 0xe
mov esi, edx
shl esi, 0x12
or esi, ebp
mov ebp, dword [esp + 0x10]
xor ecx, esi
mov esi, dword [esp + 0x2c]
and ebp, edx
mov edi, edx
mov edx, dword [esp + 0x14]
and edx, esi
not edi
and edi, dword [esp + 0x48]
mov ebx, esi
mov esi, dword [esp + 0x38]
xor edi, ebp
not ebx
and ebx, dword [esp + 0x4c]
xor ebx, edx
add eax, edi
adc ecx, ebx
add eax, dword [esp + 0x188]
mov edi, esi
adc ecx, dword [esp + 0x18c]
add eax, dword [esp + 0x50]
adc ecx, dword [esp + 0x54]
add eax, 0x25c71235
adc ecx, 0x9bdc06a7
add dword [esp + 0x20], eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], eax
adc dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x3c]
mov eax, esi
mov ebx, ecx
shrd edi, ebx, 0x1c
xor edx, edx
or edx, edi
mov ebp, ecx
shld ebp, esi, 0x1e
shr ebx, 0x1c
shl eax, 4
or eax, ebx
shl esi, 0x1e
mov edi, ecx
shr edi, 2
xor ebx, ebx
or edi, esi
or ebx, ebp
mov esi, ecx
xor eax, ebx
mov ebx, dword [esp + 0x38]
xor edx, edi
shr esi, 7
xor edi, edi
mov ebp, ecx
shld ebp, ebx, 0x19
shl ebx, 0x19
or esi, ebx
or edi, ebp
mov ebp, dword [esp + 0x34]
xor eax, edi
mov edi, dword [esp + 0x38]
xor edx, esi
mov esi, dword [esp + 0x30]
xor ebp, ecx
and ebp, dword [esp + 0x44]
mov ebx, esi
xor ebx, edi
and ebx, dword [esp + 0x40]
and esi, edi
mov edi, dword [esp + 0x34]
and edi, ecx
mov ecx, dword [esp + 0x60]
xor ebx, esi
xor ebp, edi
add edx, ebx
adc eax, ebp
add edx, dword [esp + 0x18]
adc eax, dword [esp + 0x1c]
add ecx, 0x68
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], eax
call fcn.004ef450
mov esi, dword [esp + 0x24]
mov dword [esp + 0x194], edx
mov edx, dword [esp + 0x20]
mov ebx, esi
mov dword [esp + 0x190], eax
mov eax, esi
xor ecx, ecx
mov edi, edx
shld ebx, edi, 0x17
or ecx, ebx
shl edi, 0x17
xor ebx, ebx
mov ebp, edx
shrd ebp, esi, 0x12
or ebx, ebp
mov ebp, dword [esp + 0x24]
shr eax, 9
or eax, edi
xor eax, ebx
shr esi, 0x12
mov edi, edx
shl edi, 0xe
or edi, esi
xor ecx, edi
mov ebx, edx
shrd ebx, ebp, 0xe
xor edi, edi
or edi, ebx
shr ebp, 0xe
mov esi, edx
shl esi, 0x12
or esi, ebp
mov ebp, dword [esp + 0x28]
xor eax, edi
xor ecx, esi
mov esi, dword [esp + 0x24]
mov edi, edx
and ebp, edx
mov edx, dword [esp + 0x2c]
not edi
and edi, dword [esp + 0x10]
mov ebx, esi
not ebx
and ebx, dword [esp + 0x14]
and edx, esi
xor edi, ebp
xor ebx, edx
add eax, edi
adc ecx, ebx
add eax, dword [esp + 0x190]
adc ecx, dword [esp + 0x194]
add eax, dword [esp + 0x48]
adc ecx, dword [esp + 0x4c]
mov esi, dword [esp + 0x50]
add eax, 0xcf692694
adc ecx, 0xc19bf174
add dword [esp + 0x40], eax
mov edi, esi
mov dword [esp + 0x18], eax
adc dword [esp + 0x44], ecx
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x54]
mov eax, esi
shl eax, 4
mov ebx, ecx
shrd edi, ebx, 0x1c
shr ebx, 0x1c
or eax, ebx
xor ebx, ebx
mov ebp, ecx
shld ebp, esi, 0x1e
or ebx, ebp
xor eax, ebx
mov ebx, dword [esp + 0x50]
xor edx, edx
or edx, edi
shl esi, 0x1e
mov edi, ecx
shr edi, 2
or edi, esi
xor edx, edi
mov ebp, ecx
shld ebp, ebx, 0x19
shl ebx, 0x19
xor edi, edi
or edi, ebp
mov ebp, dword [esp + 0x3c]
mov esi, ecx
shr esi, 7
or esi, ebx
xor eax, edi
mov edi, dword [esp + 0x50]
xor edx, esi
mov esi, dword [esp + 0x38]
mov ebx, esi
xor ebx, edi
and ebx, dword [esp + 0x30]
and esi, edi
mov edi, dword [esp + 0x3c]
xor ebp, ecx
and ebp, dword [esp + 0x34]
and edi, ecx
xor ebx, esi
xor ebp, edi
add edx, ebx
adc eax, ebp
add edx, dword [esp + 0x18]
mov dword [esp + 0x70], 0x5648f0
adc eax, dword [esp + 0x1c]
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], eax
mov eax, 0x11
mov dword [esp + 0x6c], eax
mov ecx, eax
and ecx, 0xf
lea edx, [esp + ecx*8 + 0x118]
mov ecx, dword [edx]
mov dword [esp + 0x90], edx
mov edx, dword [edx + 4]
mov dword [esp + 0x5c], edx
lea esi, [eax - 3]
and esi, 0xf
mov edx, dword [esp + esi*8 + 0x118]
lea esi, [esp + esi*8 + 0x118]
mov ebx, edx
mov dword [esp + 0xb0], esi
mov esi, dword [esi + 4]
lea edi, [eax - 7]
dec eax
mov ebp, esi
shrd ebx, ebp, 0x13
mov dword [esp + 0x64], edx
and eax, 0xf
mov dword [esp + 0x8c], edi
xor edi, edi
or edi, ebx
lea eax, [esp + eax*8 + 0x118]
mov dword [esp + 0x68], esi
mov ebx, esi
mov dword [esp + 0xac], eax
mov eax, edx
shld esi, edx, 3
add edx, edx
add edx, edx
shr ebp, 0x13
add edx, edx
shl eax, 0xd
or eax, ebp
shr ebx, 0x1d
or ebx, edx
mov edx, dword [esp + 0x68]
xor ebp, ebp
or ebp, esi
mov esi, dword [esp + 0x64]
shrd esi, edx, 6
shr edx, 6
xor eax, ebp
xor eax, edx
mov edx, dword [esp + 0x5c]
xor edi, ebx
xor edi, esi
mov ebp, edx
mov ebx, ecx
shrd ebx, ebp, 8
mov dword [esp + 0x80], edi
xor edi, edi
or edi, ebx
mov dword [esp + 0x58], ecx
mov esi, ecx
mov ebx, ecx
shrd ecx, edx, 1
shl esi, 0x18
shr ebp, 8
shr edx, 1
or esi, ebp
xor ebp, ebp
or ebp, ecx
mov ecx, dword [esp + 0x5c]
shl ebx, 0x1f
or ebx, edx
mov edx, dword [esp + 0x58]
shrd edx, ecx, 7
shr ecx, 7
xor esi, ebx
xor edi, ebp
xor edi, edx
mov edx, dword [esp + 0x8c]
xor esi, ecx
mov ecx, dword [esp + 0x80]
add ecx, edi
adc eax, esi
dec edx
and edx, 0xf
add ecx, dword [esp + edx*8 + 0x118]
adc eax, dword [esp + edx*8 + 0x11c]
mov edx, dword [esp + 0xac]
add ecx, dword [edx]
mov esi, dword [esp + 0x44]
adc eax, dword [edx + 4]
mov dword [edx], ecx
mov dword [edx + 4], eax
mov edx, dword [esp + 0x40]
mov ebx, esi
mov dword [esp + 0xe4], eax
mov eax, esi
mov edi, edx
shld ebx, edi, 0x17
shl edi, 0x17
mov dword [esp + 0xe0], ecx
xor ecx, ecx
or ecx, ebx
xor ebx, ebx
mov ebp, edx
shrd ebp, esi, 0x12
or ebx, ebp
mov ebp, dword [esp + 0x44]
shr eax, 9
or eax, edi
xor eax, ebx
shr esi, 0x12
mov edi, edx
shl edi, 0xe
or edi, esi
xor ecx, edi
mov ebx, edx
shrd ebx, ebp, 0xe
xor edi, edi
or edi, ebx
mov esi, edx
shl esi, 0x12
shr ebp, 0xe
or esi, ebp
mov ebp, dword [esp + 0x20]
xor ecx, esi
mov esi, dword [esp + 0x44]
xor eax, edi
and ebp, edx
mov edi, edx
mov edx, dword [esp + 0x24]
and edx, esi
mov ebx, esi
not edi
and edi, dword [esp + 0x28]
not ebx
and ebx, dword [esp + 0x2c]
xor edi, ebp
xor ebx, edx
mov edx, dword [esp + 0x70]
add eax, edi
mov edi, dword [esp + 0x50]
adc ecx, ebx
add eax, dword [edx - 8]
mov ebx, dword [esp + 0x54]
adc ecx, dword [edx - 4]
add eax, dword [esp + 0xe0]
mov edx, edi
adc ecx, dword [esp + 0xe4]
add eax, dword [esp + 0x10]
mov esi, ebx
adc ecx, dword [esp + 0x14]
add dword [esp + 0x30], eax
mov dword [esp + 0x1c], ecx
adc dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x48]
xor edx, ecx
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0x4c]
xor esi, edx
mov dword [esp + 0x7c], esi
mov esi, edi
and esi, ecx
and ebx, edx
mov dword [esp + 0x84], esi
mov dword [esp + 0x88], ebx
mov esi, ecx
mov ebp, edx
mov ebx, ecx
shrd ebx, ebp, 0x1c
xor edi, edi
or edi, ebx
mov ebx, edx
shld edx, ecx, 0x1e
shr ebp, 0x1c
shl esi, 4
or esi, ebp
xor ebp, ebp
or ebp, edx
xor esi, ebp
mov ebp, dword [esp + 0x48]
shr ebx, 2
shl ecx, 0x1e
or ebx, ecx
mov ecx, dword [esp + 0x4c]
xor edi, ebx
mov edx, ecx
shld ecx, ebp, 0x19
shr edx, 7
xor ebx, ebx
or ebx, ecx
mov ecx, dword [esp + 0x78]
and ecx, dword [esp + 0x38]
shl ebp, 0x19
xor ecx, dword [esp + 0x84]
or edx, ebp
xor edi, edx
mov edx, dword [esp + 0x7c]
and edx, dword [esp + 0x3c]
xor esi, ebx
xor edx, dword [esp + 0x88]
add edi, ecx
adc esi, edx
mov edx, dword [esp + 0x6c]
add edi, eax
adc esi, dword [esp + 0x1c]
lea eax, [edx + 1]
and eax, 0xf
mov ecx, dword [esp + eax*8 + 0x118]
lea eax, [esp + eax*8 + 0x118]
mov dword [esp + 0x9c], eax
mov eax, dword [eax + 4]
mov dword [esp + 0x5c], eax
lea eax, [edx - 2]
and eax, 0xf
mov edx, dword [esp + eax*8 + 0x118]
lea eax, [esp + eax*8 + 0x118]
mov dword [esp + 0x14], esi
mov esi, dword [eax + 4]
mov ebx, edx
mov ebp, esi
shrd ebx, ebp, 0x13
mov dword [esp + 0x10], edi
mov dword [esp + 0x64], edx
xor edi, edi
or edi, ebx
mov dword [esp + 0xa8], eax
mov eax, edx
mov dword [esp + 0x68], esi
mov ebx, esi
shld esi, edx, 3
add edx, edx
shr ebp, 0x13
shl eax, 0xd
or eax, ebp
add edx, edx
add edx, edx
shr ebx, 0x1d
xor ebp, ebp
or ebp, esi
mov esi, dword [esp + 0x64]
or ebx, edx
mov edx, dword [esp + 0x68]
xor edi, ebx
xor eax, ebp
shrd esi, edx, 6
mov dword [esp + 0x58], ecx
shr edx, 6
xor edi, esi
xor eax, edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x80], edi
xor edi, edi
mov ebx, ecx
mov ebp, edx
shrd ebx, ebp, 8
or edi, ebx
mov esi, ecx
mov ebx, ecx
shrd ecx, edx, 1
shl esi, 0x18
shr ebp, 8
or esi, ebp
shl ebx, 0x1f
shr edx, 1
or ebx, edx
mov edx, dword [esp + 0x58]
xor esi, ebx
xor ebp, ebp
or ebp, ecx
mov ecx, dword [esp + 0x5c]
xor edi, ebp
shrd edx, ecx, 7
xor edi, edx
mov edx, dword [esp + 0x8c]
shr ecx, 7
xor esi, ecx
mov ecx, dword [esp + 0x80]
add ecx, edi
adc eax, esi
mov esi, dword [esp + 0x34]
and edx, 0xf
add ecx, dword [esp + edx*8 + 0x118]
mov ebx, esi
adc eax, dword [esp + edx*8 + 0x11c]
mov edx, dword [esp + 0x90]
add ecx, dword [edx]
adc eax, dword [edx + 4]
mov dword [edx], ecx
mov dword [edx + 4], eax
mov edx, dword [esp + 0x30]
mov dword [esp + 0x104], eax
mov eax, esi
mov edi, edx
shld ebx, edi, 0x17
shl edi, 0x17
mov dword [esp + 0x100], ecx
xor ecx, ecx
or ecx, ebx
xor ebx, ebx
mov ebp, edx
shrd ebp, esi, 0x12
or ebx, ebp
mov ebp, dword [esp + 0x34]
shr eax, 9
or eax, edi
xor eax, ebx
shr esi, 0x12
mov edi, edx
shl edi, 0xe
or edi, esi
mov ebx, edx
shrd ebx, ebp, 0xe
xor ecx, edi
xor edi, edi
or edi, ebx
mov esi, edx
shl esi, 0x12
shr ebp, 0xe
or esi, ebp
xor eax, edi
xor ecx, esi
mov esi, dword [esp + 0x34]
mov edi, edx
mov ebx, esi
not edi
and edi, dword [esp + 0x20]
not ebx
and ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x40]
and ebp, edx
mov edx, dword [esp + 0x44]
and edx, esi
xor ebx, edx
mov edx, dword [esp + 0x70]
xor edi, ebp
add eax, edi
adc ecx, ebx
add eax, dword [esp + 0x100]
adc ecx, dword [esp + 0x104]
add eax, dword [edx]
adc ecx, dword [edx + 4]
add eax, dword [esp + 0x28]
mov edx, dword [esp + 0x14]
adc ecx, dword [esp + 0x2c]
add dword [esp + 0x38], eax
mov dword [esp + 0x1c], ecx
mov ebp, edx
adc dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x10]
mov ebx, ecx
shrd ebx, ebp, 0x1c
xor edi, edi
or edi, ebx
mov ebx, edx
mov esi, ecx
shld edx, ecx, 0x1e
shr ebp, 0x1c
shl esi, 4
or esi, ebp
shl ecx, 0x1e
xor ebp, ebp
or ebp, edx
xor esi, ebp
mov ebp, dword [esp + 0x10]
shr ebx, 2
or ebx, ecx
mov ecx, dword [esp + 0x14]
mov edx, ecx
shld ecx, ebp, 0x19
xor edi, ebx
shr edx, 7
xor ebx, ebx
or ebx, ecx
mov ecx, dword [esp + 0x78]
and ecx, dword [esp + 0x10]
shl ebp, 0x19
xor ecx, dword [esp + 0x84]
or edx, ebp
xor edi, edx
mov edx, dword [esp + 0x7c]
and edx, dword [esp + 0x14]
xor esi, ebx
xor edx, dword [esp + 0x88]
add edi, ecx
adc esi, edx
add edi, eax
adc esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x6c]
add eax, 2
and eax, 0xf
mov edx, dword [esp + eax*8 + 0x11c]
mov ecx, dword [esp + eax*8 + 0x118]
lea eax, [esp + eax*8 + 0x118]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0x5c], edx
mov edx, dword [eax]
mov dword [esp + 0x2c], esi
mov esi, dword [eax + 4]
mov eax, edx
mov dword [esp + 0x28], edi
mov ebx, edx
mov ebp, esi
xor edi, edi
shl eax, 0xd
mov dword [esp + 0x58], ecx
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], esi
shrd ebx, ebp, 0x13
or edi, ebx
mov ebx, esi
shld esi, edx, 3
add edx, edx
add edx, edx
shr ebp, 0x13
or eax, ebp
add edx, edx
shr ebx, 0x1d
or ebx, edx
mov edx, dword [esp + 0x68]
xor edi, ebx
xor ebp, ebp
or ebp, esi
mov esi, dword [esp + 0x64]
shrd esi, edx, 6
xor eax, ebp
xor edi, esi
shr edx, 6
xor eax, edx
mov edx, dword [esp + 0x5c]
mov ebx, ecx
mov ebp, edx
shrd ebx, ebp, 8
mov dword [esp + 0x74], edi
xor edi, edi
or edi, ebx
mov esi, ecx
mov ebx, ecx
shrd ecx, edx, 1
shl esi, 0x18
shr ebp, 8
or esi, ebp
shr edx, 1
shl ebx, 0x1f
or ebx, edx
mov edx, dword [esp + 0x58]
xor ebp, ebp
or ebp, ecx
mov ecx, dword [esp + 0x5c]
shrd edx, ecx, 7
xor edi, ebp
xor esi, ebx
xor edi, edx
mov edx, dword [esp + 0x8c]
shr ecx, 7
xor esi, ecx
mov ecx, dword [esp + 0x74]
add ecx, edi
adc eax, esi
mov esi, dword [esp + 0x3c]
inc edx
and edx, 0xf
add ecx, dword [esp + edx*8 + 0x118]
mov ebx, esi
adc eax, dword [esp + edx*8 + 0x11c]
mov edx, dword [esp + 0x9c]
add ecx, dword [edx]
adc eax, dword [edx + 4]
mov dword [edx], ecx
mov dword [edx + 4], eax
mov edx, dword [esp + 0x38]
mov edi, edx
shld ebx, edi, 0x17
mov dword [esp + 0xc0], eax
mov eax, esi
shl edi, 0x17
mov ebp, edx
shrd ebp, esi, 0x12
mov dword [esp + 0xbc], ecx
shr eax, 9
or eax, edi
xor ecx, ecx
or ecx, ebx
mov edi, edx
xor ebx, ebx
shl edi, 0xe
shr esi, 0x12
or ebx, ebp
or edi, esi
xor eax, ebx
mov ebp, dword [esp + 0x3c]
xor ecx, edi
mov ebx, edx
shrd ebx, ebp, 0xe
shr ebp, 0xe
mov esi, edx
xor edi, edi
or edi, ebx
shl esi, 0x12
or esi, ebp
mov ebp, dword [esp + 0x30]
xor ecx, esi
mov esi, dword [esp + 0x3c]
and ebp, edx
xor eax, edi
mov edi, edx
mov edx, dword [esp + 0x34]
and edx, esi
mov ebx, esi
not ebx
and ebx, dword [esp + 0x44]
not edi
and edi, dword [esp + 0x40]
xor ebx, edx
mov edx, dword [esp + 0x70]
xor edi, ebp
add eax, edi
adc ecx, ebx
add eax, dword [edx + 8]
adc ecx, dword [edx + 0xc]
add eax, dword [esp + 0xbc]
adc ecx, dword [esp + 0xc0]
add eax, dword [esp + 0x20]
adc ecx, dword [esp + 0x24]
add dword [esp + 0x50], eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], eax
adc dword [esp + 0x54], ecx
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
mov edx, ecx
mov esi, ecx
mov ebx, eax
shrd edx, ebx, 0x1c
shr ebx, 0x1c
shl esi, 4
or esi, ebx
xor ebx, ebx
mov ebp, eax
shld ebp, ecx, 0x1e
or ebx, ebp
xor esi, ebx
mov ebx, dword [esp + 0x28]
xor edi, edi
or edi, edx
shl ecx, 0x1e
mov edx, eax
shr edx, 2
or edx, ecx
mov ebp, eax
shld ebp, ebx, 0x19
shl ebx, 0x19
xor edi, edx
mov ecx, eax
shr ecx, 7
or ecx, ebx
xor edx, edx
or edx, ebp
xor edi, ecx
mov ecx, dword [esp + 0x28]
xor esi, edx
mov edx, dword [esp + 0x48]
mov ebx, ecx
mov ebp, eax
xor ebp, dword [esp + 0x4c]
and eax, dword [esp + 0x4c]
and ebp, dword [esp + 0x14]
xor ebx, edx
and ebx, dword [esp + 0x10]
and ecx, edx
xor ebx, ecx
xor ebp, eax
mov eax, dword [esp + 0x6c]
add edi, ebx
adc esi, ebp
add edi, dword [esp + 0x18]
adc esi, dword [esp + 0x1c]
add eax, 3
and eax, 0xf
mov ecx, dword [esp + eax*8 + 0x118]
mov edx, dword [esp + eax*8 + 0x11c]
mov dword [esp + 0x5c], edx
lea eax, [esp + eax*8 + 0x118]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x90]
mov edx, dword [eax]
mov ebx, edx
mov dword [esp + 0x24], esi
mov esi, dword [eax + 4]
mov ebp, esi
shrd ebx, ebp, 0x13
mov dword [esp + 0x64], edx
mov eax, edx
mov dword [esp + 0x20], edi
xor edi, edi
or edi, ebx
mov dword [esp + 0x68], esi
mov ebx, esi
shld esi, edx, 3
add edx, edx
add edx, edx
shr ebp, 0x13
add edx, edx
shl eax, 0xd
or eax, ebp
shr ebx, 0x1d
or ebx, edx
mov edx, dword [esp + 0x68]
xor ebp, ebp
or ebp, esi
mov esi, dword [esp + 0x64]
shrd esi, edx, 6
shr edx, 6
xor eax, ebp
xor eax, edx
mov edx, dword [esp + 0x5c]
xor edi, ebx
xor edi, esi
mov ebp, edx
mov ebx, ecx
shrd ebx, ebp, 8
mov dword [esp + 0x74], edi
xor edi, edi
or edi, ebx
mov dword [esp + 0x58], ecx
mov esi, ecx
mov ebx, ecx
shrd ecx, edx, 1
shl esi, 0x18
shr ebp, 8
shr edx, 1
or esi, ebp
xor ebp, ebp
or ebp, ecx
mov ecx, dword [esp + 0x5c]
shl ebx, 0x1f
or ebx, edx
mov edx, dword [esp + 0x58]
shrd edx, ecx, 7
shr ecx, 7
xor esi, ebx
xor edi, ebp
xor edi, edx
mov edx, dword [esp + 0x6c]
xor esi, ecx
mov ecx, dword [esp + 0x74]
add ecx, edi
adc eax, esi
add edx, 0xfffffffb
and edx, 0xf
add ecx, dword [esp + edx*8 + 0x118]
adc eax, dword [esp + edx*8 + 0x11c]
mov edx, dword [esp + 0x80]
add ecx, dword [edx]
mov esi, dword [esp + 0x54]
adc eax, dword [edx + 4]
mov dword [edx], ecx
mov dword [edx + 4], eax
mov edx, dword [esp + 0x50]
mov ebx, esi
mov dword [esp + 0xcc], eax
mov edi, edx
shld ebx, edi, 0x17
shl edi, 0x17
mov dword [esp + 0xc8], ecx
xor ecx, ecx
or ecx, ebx
xor ebx, ebx
mov eax, esi
mov ebp, edx
shrd ebp, esi, 0x12
or ebx, ebp
mov ebp, dword [esp + 0x54]
shr eax, 9
or eax, edi
xor eax, ebx
shr esi, 0x12
mov edi, edx
shl edi, 0xe
or edi, esi
xor ecx, edi
mov ebx, edx
shrd ebx, ebp, 0xe
xor edi, edi
or edi, ebx
mov esi, edx
shl esi, 0x12
shr ebp, 0xe
or esi, ebp
mov ebp, dword [esp + 0x38]
xor ecx, esi
mov esi, dword [esp + 0x54]
xor eax, edi
and ebp, edx
mov edi, edx
mov edx, dword [esp + 0x3c]
and edx, esi
mov ebx, esi
not ebx
and ebx, dword [esp + 0x34]
not edi
and edi, dword [esp + 0x30]
xor ebx, edx
mov edx, dword [esp + 0x70]
xor edi, ebp
add eax, edi
adc ecx, ebx
add eax, dword [edx + 0x10]
adc ecx, dword [edx + 0x14]
add eax, dword [esp + 0xc8]
adc ecx, dword [esp + 0xcc]
add eax, dword [esp + 0x40]
adc ecx, dword [esp + 0x44]
add dword [esp + 0x48], eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], eax
adc dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
mov edx, ecx
mov ebx, eax
shrd edx, ebx, 0x1c
mov esi, ecx
xor edi, edi
shr ebx, 0x1c
or edi, edx
shl esi, 4
or esi, ebx
mov edx, eax
mov ebp, eax
shr edx, 2
xor ebx, ebx
shld ebp, ecx, 0x1e
or ebx, ebp
xor esi, ebx
mov ebx, dword [esp + 0x20]
mov ebp, eax
shld ebp, ebx, 0x19
shl ecx, 0x1e
or edx, ecx
xor edi, edx
xor edx, edx
or edx, ebp
mov ebp, dword [esp + 0x2c]
xor esi, edx
mov edx, dword [esp + 0x28]
mov ecx, eax
shl ebx, 0x19
xor ebp, eax
and ebp, dword [esp + 0x14]
shr ecx, 7
or ecx, ebx
xor edi, ecx
mov ecx, dword [esp + 0x20]
mov ebx, edx
xor ebx, ecx
and ebx, dword [esp + 0x10]
and edx, ecx
mov ecx, dword [esp + 0x2c]
and ecx, eax
mov eax, dword [esp + 0x6c]
xor ebx, edx
xor ebp, ecx
add edi, ebx
adc esi, ebp
add edi, dword [esp + 0x18]
adc esi, dword [esp + 0x1c]
add eax, 4
and eax, 0xf
mov ecx, dword [esp + eax*8 + 0x118]
lea eax, [esp + eax*8 + 0x118]
mov dword [esp + 0x90], eax
mov eax, dword [eax + 4]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x9c]
mov edx, dword [eax]
mov dword [esp + 0x44], esi
mov esi, dword [eax + 4]
mov ebx, edx
mov ebp, esi
shrd ebx, ebp, 0x13
mov dword [esp + 0x40], edi
mov dword [esp + 0x64], edx
mov eax, edx
xor edi, edi
or edi, ebx
mov dword [esp + 0x68], esi
mov ebx, esi
shld esi, edx, 3
add edx, edx
shl eax, 0xd
shr ebp, 0x13
add edx, edx
or eax, ebp
add edx, edx
shr ebx, 0x1d
or ebx, edx
mov edx, dword [esp + 0x68]
xor ebp, ebp
or ebp, esi
mov esi, dword [esp + 0x64]
shrd esi, edx, 6
xor edi, ebx
xor edi, esi
shr edx, 6
xor eax, ebp
mov dword [esp + 0x74], edi
xor eax, edx
mov edx, dword [esp + 0x5c]
mov esi, ecx
xor edi, edi
mov dword [esp + 0x58], ecx
shl esi, 0x18
mov ebx, ecx
mov ebp, edx
shrd ebx, ebp, 8
or edi, ebx
mov ebx, ecx
shrd ecx, edx, 1
shr ebp, 8
or esi, ebp
shl ebx, 0x1f
shr edx, 1
or ebx, edx
mov edx, dword [esp + 0x58]
xor esi, ebx
xor ebp, ebp
or ebp, ecx
mov ecx, dword [esp + 0x5c]
xor edi, ebp
shrd edx, ecx, 7
xor edi, edx
mov edx, dword [esp + 0x6c]
shr ecx, 7
xor esi, ecx
mov ecx, dword [esp + 0x74]
add ecx, edi
adc eax, esi
mov esi, dword [esp + 0x4c]
add edx, 0xfffffffc
and edx, 0xf
add ecx, dword [esp + edx*8 + 0x118]
mov ebx, esi
adc eax, dword [esp + edx*8 + 0x11c]
mov edx, dword [esp + 0x8c]
add ecx, dword [edx]
adc eax, dword [edx + 4]
mov dword [edx], ecx
mov dword [edx + 4], eax
mov edx, dword [esp + 0x48]
mov dword [esp + 0xdc], eax
mov eax, esi
mov edi, edx
shld ebx, edi, 0x17
shl edi, 0x17
mov dword [esp + 0xd8], ecx
mov ebp, edx
shrd ebp, esi, 0x12
xor ecx, ecx
or ecx, ebx
xor ebx, ebx
or ebx, ebp
mov ebp, dword [esp + 0x4c]
shr eax, 9
or eax, edi
xor eax, ebx
shr esi, 0x12
mov edi, edx
shl edi, 0xe
or edi, esi
mov ebx, edx
shrd ebx, ebp, 0xe
xor ecx, edi
mov esi, edx
xor edi, edi
or edi, ebx
shr ebp, 0xe
shl esi, 0x12
or esi, ebp
mov ebp, dword [esp + 0x50]
xor eax, edi
xor ecx, esi
mov esi, dword [esp + 0x4c]
mov edi, edx
and ebp, edx
mov edx, dword [esp + 0x54]
not edi
and edi, dword [esp + 0x38]
mov ebx, esi
not ebx
and ebx, dword [esp + 0x3c]
and edx, esi
xor edi, ebp
xor ebx, edx
add eax, edi
adc ecx, ebx
mov edx, dword [esp + 0x70]
add eax, dword [edx + 0x18]
adc ecx, dword [edx + 0x1c]
add eax, dword [esp + 0xd8]
adc ecx, dword [esp + 0xdc]
add eax, dword [esp + 0x30]
adc ecx, dword [esp + 0x34]
add dword [esp + 0x10], eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], eax
adc dword [esp + 0x14], ecx
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
mov edx, ecx
mov ebx, eax
shrd edx, ebx, 0x1c
shr ebx, 0x1c
mov esi, ecx
mov ebp, eax
shld ebp, ecx, 0x1e
shl esi, 4
or esi, ebx
xor ebx, ebx
or ebx, ebp
xor esi, ebx
mov ebx, dword [esp + 0x40]
xor edi, edi
or edi, edx
mov edx, eax
shl ecx, 0x1e
shr edx, 2
or edx, ecx
mov ebp, eax
shld ebp, ebx, 0x19
xor edi, edx
mov ecx, eax
xor edx, edx
or edx, ebp
mov ebp, dword [esp + 0x24]
shl ebx, 0x19
shr ecx, 7
or ecx, ebx
xor esi, edx
mov edx, dword [esp + 0x20]
xor edi, ecx
mov ecx, dword [esp + 0x40]
xor ebp, eax
and ebp, dword [esp + 0x2c]
mov ebx, edx
xor ebx, ecx
and ebx, dword [esp + 0x28]
and edx, ecx
mov ecx, dword [esp + 0x24]
and ecx, eax
mov eax, dword [esp + 0x6c]
xor ebx, edx
xor ebp, ecx
add edi, ebx
adc esi, ebp
add edi, dword [esp + 0x18]
adc esi, dword [esp + 0x1c]
add eax, 5
and eax, 0xf
mov ecx, dword [esp + eax*8 + 0x118]
lea eax, [esp + eax*8 + 0x118]
mov dword [esp + 0x9c], eax
mov eax, dword [eax + 4]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x80]
mov edx, dword [eax]
mov dword [esp + 0x34], esi
mov esi, dword [eax + 4]
mov dword [esp + 0x30], edi
mov eax, edx
xor edi, edi
mov dword [esp + 0x58], ecx
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], esi
shl eax, 0xd
mov ebx, edx
mov ebp, esi
shrd ebx, ebp, 0x13
or edi, ebx
mov ebx, esi
shld esi, edx, 3
add edx, edx
shr ebp, 0x13
or eax, ebp
add edx, edx
add edx, edx
shr ebx, 0x1d
or ebx, edx
mov edx, dword [esp + 0x68]
xor edi, ebx
xor ebp, ebp
or ebp, esi
mov esi, dword [esp + 0x64]
shrd esi, edx, 6
xor eax, ebp
xor edi, esi
shr edx, 6
xor eax, edx
mov edx, dword [esp + 0x5c]
mov ebx, ecx
mov ebp, edx
shrd ebx, ebp, 8
mov dword [esp + 0x74], edi
xor edi, edi
or edi, ebx
mov esi, ecx
mov ebx, ecx
shrd ecx, edx, 1
shl esi, 0x18
shr ebp, 8
or esi, ebp
shr edx, 1
shl ebx, 0x1f
or ebx, edx
mov edx, dword [esp + 0x58]
xor ebp, ebp
or ebp, ecx
mov ecx, dword [esp + 0x5c]
shrd edx, ecx, 7
xor edi, ebp
xor esi, ebx
xor edi, edx
mov edx, dword [esp + 0xb0]
shr ecx, 7
xor esi, ecx
mov ecx, dword [esp + 0x74]
add ecx, edi
adc eax, esi
add ecx, dword [edx]
mov esi, dword [esp + 0x14]
adc eax, dword [edx + 4]
mov edx, dword [esp + 0x90]
add ecx, dword [edx]
mov ebx, esi
adc eax, dword [edx + 4]
mov dword [edx], ecx
mov dword [edx + 4], eax
mov edx, dword [esp + 0x10]
mov edi, edx
shld ebx, edi, 0x17
mov dword [esp + 0xec], eax
mov eax, esi
shl edi, 0x17
mov ebp, edx
shrd ebp, esi, 0x12
mov dword [esp + 0xe8], ecx
shr eax, 9
or eax, edi
xor ecx, ecx
or ecx, ebx
mov edi, edx
xor ebx, ebx
shl edi, 0xe
shr esi, 0x12
or ebx, ebp
or edi, esi
xor eax, ebx
mov ebp, dword [esp + 0x14]
xor ecx, edi
mov ebx, edx
shrd ebx, ebp, 0xe
mov esi, edx
xor edi, edi
or edi, ebx
shl esi, 0x12
shr ebp, 0xe
or esi, ebp
xor ecx, esi
mov esi, dword [esp + 0x14]
xor eax, edi
mov edi, edx
and edx, dword [esp + 0x48]
mov ebx, esi
and esi, dword [esp + 0x4c]
not ebx
and ebx, dword [esp + 0x54]
not edi
and edi, dword [esp + 0x50]
xor ebx, esi
xor edi, edx
mov edx, dword [esp + 0x70]
add eax, edi
adc ecx, ebx
add eax, dword [edx + 0x20]
adc ecx, dword [edx + 0x24]
add eax, dword [esp + 0xe8]
adc ecx, dword [esp + 0xec]
add eax, dword [esp + 0x38]
adc ecx, dword [esp + 0x3c]
add dword [esp + 0x28], eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], eax
adc dword [esp + 0x2c], ecx
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov edx, ecx
mov esi, ecx
mov ebx, eax
shrd edx, ebx, 0x1c
shr ebx, 0x1c
shl esi, 4
or esi, ebx
xor ebx, ebx
mov ebp, eax
shld ebp, ecx, 0x1e
or ebx, ebp
xor esi, ebx
mov ebx, dword [esp + 0x30]
xor edi, edi
or edi, edx
shl ecx, 0x1e
mov edx, eax
shr edx, 2
or edx, ecx
xor edi, edx
mov ebp, eax
shld ebp, ebx, 0x19
xor edx, edx
or edx, ebp
mov ebp, dword [esp + 0x44]
shl ebx, 0x19
mov ecx, eax
shr ecx, 7
or ecx, ebx
xor esi, edx
mov edx, dword [esp + 0x40]
xor edi, ecx
mov ecx, dword [esp + 0x30]
mov ebx, edx
xor ebx, ecx
and ebx, dword [esp + 0x20]
and edx, ecx
mov ecx, dword [esp + 0x44]
xor ebp, eax
and ebp, dword [esp + 0x24]
and ecx, eax
xor ebx, edx
xor ebp, ecx
mov eax, dword [esp + 0x6c]
add edi, ebx
adc esi, ebp
add edi, dword [esp + 0x18]
adc esi, dword [esp + 0x1c]
add eax, 6
and eax, 0xf
mov ecx, dword [esp + eax*8 + 0x118]
lea eax, [esp + eax*8 + 0x118]
mov dword [esp + 0x74], eax
mov eax, dword [eax + 4]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x8c]
mov edx, dword [eax]
mov dword [esp + 0x3c], esi
mov esi, dword [eax + 4]
mov ebx, edx
mov ebp, esi
shrd ebx, ebp, 0x13
mov dword [esp + 0x64], edx
mov eax, edx
mov dword [esp + 0x38], edi
xor edi, edi
or edi, ebx
mov dword [esp + 0x68], esi
mov ebx, esi
shld esi, edx, 3
add edx, edx
shr ebp, 0x13
add edx, edx
add edx, edx
shl eax, 0xd
or eax, ebp
shr ebx, 0x1d
or ebx, edx
mov edx, dword [esp + 0x68]
xor ebp, ebp
or ebp, esi
mov esi, dword [esp + 0x64]
shrd esi, edx, 6
xor eax, ebp
shr edx, 6
xor edi, ebx
xor eax, edx
mov edx, dword [esp + 0x5c]
xor edi, esi
mov ebx, ecx
mov ebp, edx
shrd ebx, ebp, 8
mov dword [esp + 0xb0], edi
xor edi, edi
or edi, ebx
mov dword [esp + 0x58], ecx
mov esi, ecx
mov ebx, ecx
shrd ecx, edx, 1
shl esi, 0x18
shr ebp, 8
or esi, ebp
shr edx, 1
xor ebp, ebp
or ebp, ecx
mov ecx, dword [esp + 0x5c]
shl ebx, 0x1f
or ebx, edx
mov edx, dword [esp + 0x58]
shrd edx, ecx, 7
xor esi, ebx
shr ecx, 7
xor esi, ecx
mov ecx, dword [esp + 0xb0]
xor edi, ebp
xor edi, edx
mov edx, dword [esp + 0x9c]
add ecx, edi
adc eax, esi
add ecx, dword [edx]
mov esi, dword [esp + 0xa8]
adc eax, dword [edx + 4]
add ecx, dword [esi]
mov dword [esp + 0xf8], ecx
adc eax, dword [esi + 4]
mov esi, dword [esp + 0x2c]
mov dword [edx], ecx
mov dword [edx + 4], eax
mov edx, dword [esp + 0x28]
xor ecx, ecx
mov ebx, esi
mov edi, edx
shld ebx, edi, 0x17
or ecx, ebx
shl edi, 0x17
xor ebx, ebx
mov dword [esp + 0xfc], eax
mov eax, esi
mov ebp, edx
shrd ebp, esi, 0x12
or ebx, ebp
mov ebp, dword [esp + 0x2c]
shr eax, 9
or eax, edi
xor eax, ebx
shr esi, 0x12
mov edi, edx
shl edi, 0xe
or edi, esi
xor ecx, edi
mov ebx, edx
shrd ebx, ebp, 0xe
xor edi, edi
or edi, ebx
mov esi, edx
shl esi, 0x12
shr ebp, 0xe
or esi, ebp
mov ebp, dword [esp + 0x10]
xor ecx, esi
mov esi, dword [esp + 0x2c]
xor eax, edi
and ebp, edx
mov edi, edx
mov edx, dword [esp + 0x14]
and edx, esi
mov ebx, esi
not ebx
and ebx, dword [esp + 0x4c]
not edi
and edi, dword [esp + 0x48]
xor ebx, edx
mov edx, dword [esp + 0x70]
xor edi, ebp
add eax, edi
adc ecx, ebx
add eax, dword [edx + 0x28]
adc ecx, dword [edx + 0x2c]
add eax, dword [esp + 0xf8]
adc ecx, dword [esp + 0xfc]
add eax, dword [esp + 0x50]
adc ecx, dword [esp + 0x54]
add dword [esp + 0x20], eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], eax
adc dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
mov edx, ecx
mov ebx, eax
shrd edx, ebx, 0x1c
mov esi, ecx
mov ebp, eax
xor edi, edi
or edi, edx
shld ebp, ecx, 0x1e
shr ebx, 0x1c
shl esi, 4
mov edx, eax
or esi, ebx
shr edx, 2
shl ecx, 0x1e
xor ebx, ebx
or edx, ecx
or ebx, ebp
xor esi, ebx
mov ebx, dword [esp + 0x38]
xor edi, edx
xor edx, edx
mov ebp, eax
shld ebp, ebx, 0x19
or edx, ebp
mov ebp, dword [esp + 0x34]
xor esi, edx
mov edx, dword [esp + 0x30]
shl ebx, 0x19
xor ebp, eax
and ebp, dword [esp + 0x44]
mov ecx, eax
shr ecx, 7
or ecx, ebx
xor edi, ecx
mov ecx, dword [esp + 0x38]
mov ebx, edx
xor ebx, ecx
and ebx, dword [esp + 0x40]
and edx, ecx
mov ecx, dword [esp + 0x34]
xor ebx, edx
and ecx, eax
mov eax, dword [esp + 0x6c]
xor ebp, ecx
add edi, ebx
adc esi, ebp
add edi, dword [esp + 0x18]
adc esi, dword [esp + 0x1c]
add eax, 7
and eax, 0xf
mov ecx, dword [esp + eax*8 + 0x118]
mov edx, dword [esp + eax*8 + 0x11c]
mov eax, dword [esp + 0x90]
mov dword [esp + 0x5c], edx
mov edx, dword [eax]
mov dword [esp + 0x54], esi
mov esi, dword [eax + 4]
mov ebx, edx
mov ebp, esi
shrd ebx, ebp, 0x13
mov dword [esp + 0x50], edi
xor edi, edi
or edi, ebx
mov dword [esp + 0x64], edx
mov eax, edx
mov dword [esp + 0x68], esi
mov ebx, esi
shld esi, edx, 3
shr ebp, 0x13
add edx, edx
shl eax, 0xd
or eax, ebp
add edx, edx
xor ebp, ebp
or ebp, esi
mov esi, dword [esp + 0x64]
add edx, edx
shr ebx, 0x1d
or ebx, edx
mov edx, dword [esp + 0x68]
shrd esi, edx, 6
xor eax, ebp
shr edx, 6
xor edi, ebx
xor eax, edx
mov edx, dword [esp + 0x5c]
xor edi, esi
mov ebx, ecx
mov ebp, edx
shrd ebx, ebp, 8
mov dword [esp + 0xa8], edi
mov esi, ecx
xor edi, edi
shl esi, 0x18
shr ebp, 8
or edi, ebx
mov dword [esp + 0x58], ecx
or esi, ebp
mov ebx, ecx
shrd ecx, edx, 1
shl ebx, 0x1f
shr edx, 1
or ebx, edx
mov edx, dword [esp + 0x58]
xor esi, ebx
xor ebp, ebp
or ebp, ecx
mov ecx, dword [esp + 0x5c]
xor edi, ebp
shrd edx, ecx, 7
xor edi, edx
mov edx, dword [esp + 0xac]
shr ecx, 7
xor esi, ecx
mov ecx, dword [esp + 0xa8]
add ecx, edi
adc eax, esi
add ecx, dword [edx]
mov esi, dword [esp + 0x24]
adc eax, dword [edx + 4]
mov edx, dword [esp + 0x74]
add ecx, dword [edx]
mov ebx, esi
adc eax, dword [edx + 4]
mov dword [edx], ecx
mov dword [edx + 4], eax
mov edx, dword [esp + 0x20]
mov dword [esp + 0x10c], eax
mov dword [esp + 0x108], ecx
xor ecx, ecx
mov edi, edx
shld ebx, edi, 0x17
or ecx, ebx
shl edi, 0x17
mov eax, esi
xor ebx, ebx
mov ebp, edx
shrd ebp, esi, 0x12
or ebx, ebp
mov ebp, dword [esp + 0x24]
shr eax, 9
or eax, edi
xor eax, ebx
shr esi, 0x12
mov edi, edx
shl edi, 0xe
or edi, esi
xor ecx, edi
mov ebx, edx
shrd ebx, ebp, 0xe
xor edi, edi
or edi, ebx
shr ebp, 0xe
mov esi, edx
shl esi, 0x12
or esi, ebp
mov ebp, dword [esp + 0x28]
xor ecx, esi
mov esi, dword [esp + 0x24]
xor eax, edi
and ebp, edx
mov edi, edx
mov edx, dword [esp + 0x2c]
not edi
and edi, dword [esp + 0x10]
mov ebx, esi
and edx, esi
not ebx
and ebx, dword [esp + 0x14]
xor edi, ebp
xor ebx, edx
mov edx, dword [esp + 0x70]
add eax, edi
adc ecx, ebx
add eax, dword [edx + 0x30]
adc ecx, dword [edx + 0x34]
add eax, dword [esp + 0x108]
adc ecx, dword [esp + 0x10c]
add eax, dword [esp + 0x48]
adc ecx, dword [esp + 0x4c]
add dword [esp + 0x40], eax
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x50]
adc dword [esp + 0x44], ecx
mov edx, eax
mov esi, eax
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x54]
shl esi, 4
mov ebx, ecx
shrd edx, ebx, 0x1c
shr ebx, 0x1c
or esi, ebx
xor ebx, ebx
xor edi, edi
or edi, edx
mov ebp, ecx
shld ebp, eax, 0x1e
or ebx, ebp
xor esi, ebx
mov ebx, dword [esp + 0x50]
shl eax, 0x1e
mov edx, ecx
shr edx, 2
or edx, eax
xor edi, edx
xor edx, edx
mov ebp, ecx
shld ebp, ebx, 0x19
or edx, ebp
mov ebp, dword [esp + 0x3c]
shl ebx, 0x19
xor esi, edx
mov edx, dword [esp + 0x38]
mov eax, ecx
shr eax, 7
or eax, ebx
xor edi, eax
mov eax, dword [esp + 0x50]
mov ebx, edx
xor ebx, eax
and ebx, dword [esp + 0x30]
and edx, eax
mov eax, dword [esp + 0x3c]
xor ebp, ecx
and ebp, dword [esp + 0x34]
and eax, ecx
xor ebp, eax
mov eax, dword [esp + 0x6c]
xor edx, ebx
add edx, edi
adc esi, ebp
add edx, dword [esp + 0x18]
adc esi, dword [esp + 0x1c]
add dword [esp + 0x70], 0x40
add eax, 8
lea edi, [eax - 1]
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], esi
mov dword [esp + 0x6c], eax
cmp edi, 0x50
jl 0x4f0af2
mov eax, dword [esp + 0xc4]
add dword [eax], edx
mov edx, dword [esp + 0x50]
adc dword [eax + 4], esi
add dword [eax + 8], edx
mov edx, dword [esp + 0x3c]
adc dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x38]
add dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x30]
adc dword [eax + 0x14], edx
add dword [eax + 0x18], ecx
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x40]
adc dword [eax + 0x1c], edx
add dword [eax + 0x20], ecx
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x20]
adc dword [eax + 0x24], edx
add dword [eax + 0x28], ecx
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
adc dword [eax + 0x2c], edx
add dword [eax + 0x30], ecx
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x10]
adc dword [eax + 0x34], edx
add dword [eax + 0x38], ecx
mov edx, dword [esp + 0x14]
adc dword [eax + 0x3c], edx
sub dword [esp + 0x60], 0xffffff80
cmp dword [esp + 0x1a4], 0
jne 0x4ef4a0
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x188]
xor ecx, esp
call fcn.0049cc86
add esp, 0x18c
ret