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

Disassembly:
mov eax, 0x188
call fcn.100a1060
mov eax, dword [esp + 0x190]
mov ecx, dword [esp + 0x18c]
push esi
test dword [0x100ec9f0], 0x4000000
jne 0x10012b73
test eax, eax
je 0x10012b7e
push ebx
lea esi, [edx + 2]
push ebp
mov dword [esp + 0x5c], esi
mov dword [esp + 0xa8], eax
push edi
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov dword [esp + 0x178], eax
mov dword [esp + 0x40], eax
mov eax, dword [ecx + 8]
mov dword [esp + 0x138], eax
mov dword [esp + 0x48], eax
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x140], eax
mov dword [esp + 0x18], eax
mov eax, dword [ecx + 0x24]
mov dword [esp + 0x164], eax
mov dword [esp + 0x3c], eax
mov eax, dword [ecx + 0x28]
mov dword [esp + 0x170], eax
mov dword [esp + 0x28], eax
mov eax, dword [ecx + 0x30]
mov dword [esp + 0x17c], edx
mov dword [esp + 0x44], edx
mov edx, dword [ecx + 0xc]
mov dword [esp + 0x180], eax
mov dword [esp + 0x30], eax
movzx eax, byte [esi - 2]
mov dword [esp + 0x13c], edx
mov dword [esp + 0x4c], edx
mov edx, dword [ecx + 0x14]
mov dword [esp + 0x144], edx
mov dword [esp + 0x1c], edx
mov edx, dword [ecx + 0x2c]
mov dword [esp + 0x174], edx
mov dword [esp + 0x2c], edx
mov edx, dword [ecx + 0x34]
mov dword [esp + 0x184], edx
mov dword [esp + 0x34], edx
cdq
shld edx, eax, 8
shl eax, 8
mov ebx, eax
movzx eax, byte [esi - 1]
mov ebp, edx
cdq
or ebx, eax
movzx eax, byte [esi]
or ebp, edx
shld ebp, ebx, 8
shl ebx, 8
cdq
or ebx, eax
movzx eax, byte [esi + 1]
or ebp, edx
shld ebp, ebx, 8
shl ebx, 8
cdq
or ebx, eax
movzx eax, byte [esi + 2]
or ebp, edx
shld ebp, ebx, 8
shl ebx, 8
cdq
or ebx, eax
movzx eax, byte [esi + 3]
mov edi, dword [ecx + 0x20]
or ebp, edx
shld ebp, ebx, 8
shl ebx, 8
cdq
or ebx, eax
movzx eax, byte [esi + 4]
or ebp, edx
shld ebp, ebx, 8
cdq
shl ebx, 8
or ebx, eax
movzx eax, byte [esi + 5]
or ebp, edx
shld ebp, ebx, 8
cdq
shl ebx, 8
mov dword [esp + 0x160], edi
mov dword [esp + 0x38], edi
or ebx, eax
mov eax, dword [ecx + 0x38]
mov ecx, dword [ecx + 0x3c]
or ebp, edx
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xa8], ecx
mov ecx, dword [esp + 0x3c]
mov ebx, ecx
mov dword [esp + 0xa4], eax
xor edx, edx
mov dword [esp + 0xb4], ebp
mov eax, ecx
mov esi, edi
shld ebx, esi, 0x17
or edx, ebx
shl esi, 0x17
xor ebx, ebx
shr eax, 9
or eax, esi
mov ebp, edi
shrd ebp, ecx, 0x12
or ebx, ebp
mov ebp, dword [esp + 0x3c]
xor eax, ebx
shr ecx, 0x12
mov esi, edi
shl esi, 0xe
or esi, ecx
xor edx, esi
xor esi, esi
mov ebx, edi
shrd ebx, ebp, 0xe
or esi, ebx
xor eax, esi
shr ebp, 0xe
mov ecx, edi
shl ecx, 0x12
or ecx, ebp
mov ebp, dword [esp + 0x30]
xor edx, ecx
mov ecx, dword [esp + 0x3c]
mov esi, edi
not esi
and esi, ebp
mov ebp, dword [esp + 0x34]
mov ebx, ecx
not ebx
and ebx, ebp
mov ebp, dword [esp + 0x28]
and ebp, edi
mov edi, dword [esp + 0x2c]
and edi, ecx
mov ecx, dword [esp + 0xb4]
xor esi, ebp
xor ebx, edi
mov edi, dword [esp + 0xa8]
add eax, esi
mov esi, dword [esp + 0xb0]
adc edx, ebx
add eax, dword [esp + 0xa4]
mov ebx, dword [esp + 0x48]
adc edx, edi
add eax, esi
mov esi, dword [esp + 0x19c]
adc edx, ecx
mov ecx, dword [esi + 0x18]
mov esi, dword [esi + 0x1c]
add eax, 0xd728ae22
adc edx, 0x428a2f98
mov dword [esp + 0x150], ecx
add ecx, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x154], esi
adc esi, edx
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x40]
mov eax, ebx
xor eax, edx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], esi
mov dword [esp + 0x78], eax
mov ebp, dword [esp + 0x4c]
mov edi, dword [esp + 0x44]
mov eax, ebp
xor eax, edi
mov dword [esp + 0x7c], eax
mov eax, ebx
and eax, edx
mov dword [esp + 0x80], eax
mov eax, ebp
and eax, edi
mov ebp, edx
shrd ebp, edi, 0x1c
mov dword [esp + 0x84], eax
xor ebx, ebx
or ebx, ebp
shr edi, 0x1c
mov eax, edx
shl eax, 4
or eax, edi
mov edi, dword [esp + 0x44]
mov dword [esp + 0x190], ebx
mov ebx, edi
shld edi, edx, 0x1e
xor ebp, ebp
or ebp, edi
mov edi, dword [esp + 0x190]
xor eax, ebp
mov ebp, dword [esp + 0x40]
shr ebx, 2
shl edx, 0x1e
or ebx, edx
mov edx, dword [esp + 0x44]
xor edi, ebx
mov dword [esp + 0x190], edi
mov edi, edx
shld edx, ebp, 0x19
xor ebx, ebx
or ebx, edx
mov edx, dword [esp + 0x190]
xor eax, ebx
mov ebx, dword [esp + 0x18]
shl ebp, 0x19
shr edi, 7
or edi, ebp
mov ebp, dword [esp + 0x1c]
xor edx, edi
mov edi, dword [esp + 0x78]
and edi, ebx
mov ebx, dword [esp + 0x7c]
and ebx, ebp
xor edi, dword [esp + 0x80]
xor ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0x14]
add edx, edi
mov edi, dword [esp + 0x10]
adc eax, ebx
add edx, edi
mov edi, dword [esp + 0x60]
adc eax, ebp
mov dword [esp + 0x24], eax
movzx eax, byte [edi + 6]
mov dword [esp + 0x20], edx
cdq
shld edx, eax, 8
shl eax, 8
mov ebx, eax
movzx eax, byte [edi + 7]
mov ebp, edx
cdq
or ebx, eax
movzx eax, byte [edi + 8]
or ebp, edx
shld ebp, ebx, 8
shl ebx, 8
cdq
or ebx, eax
or ebp, edx
shld ebp, ebx, 8
shl ebx, 8
movzx eax, byte [edi + 9]
cdq
or ebx, eax
movzx eax, byte [edi + 0xa]
or ebp, edx
shld ebp, ebx, 8
shl ebx, 8
cdq
or ebx, eax
movzx eax, byte [edi + 0xb]
or ebp, edx
shld ebp, ebx, 8
shl ebx, 8
cdq
or ebx, eax
movzx eax, byte [edi + 0xc]
or ebp, edx
shld ebp, ebx, 8
shl ebx, 8
cdq
or ebx, eax
movzx eax, byte [edi + 0xd]
or ebp, edx
shld ebp, ebx, 8
cdq
shl ebx, 8
or ebx, eax
or ebp, edx
mov dword [esp + 0xb8], ebx
xor eax, eax
mov dword [esp + 0xbc], ebp
mov edi, ecx
mov ebx, esi
shld ebx, edi, 0x17
or eax, ebx
shl edi, 0x17
mov dword [esp + 0x134], eax
mov ebx, ecx
mov ebp, esi
shrd ebx, ebp, 0x12
shr ebp, 0x12
mov edx, esi
shr edx, 9
or edx, edi
xor edi, edi
or edi, ebx
xor edx, edi
mov edi, dword [esp + 0x134]
mov eax, ecx
shl eax, 0xe
or eax, ebp
xor edi, eax
mov dword [esp + 0x134], edi
mov ebx, ecx
mov ebp, esi
shrd ebx, ebp, 0xe
xor eax, eax
or eax, ebx
shr ebp, 0xe
mov edi, ecx
shl edi, 0x12
or edi, ebp
mov ebp, dword [esp + 0x28]
xor edx, eax
mov eax, dword [esp + 0x134]
xor eax, edi
mov edi, ecx
not edi
and edi, ebp
mov ebp, dword [esp + 0x2c]
mov ebx, esi
not ebx
and ebx, ebp
mov ebp, dword [esp + 0x38]
and ebp, ecx
mov ecx, dword [esp + 0x3c]
and ecx, esi
xor edi, ebp
xor ebx, ecx
add edx, edi
adc eax, ebx
mov ebx, dword [esp + 0xb8]
mov edi, dword [esp + 0xbc]
mov ecx, dword [esp + 0x30]
mov ebp, dword [esp + 0x34]
add edx, ebx
adc eax, edi
add edx, ecx
adc eax, ebp
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
add edx, 0x23ef65cd
adc eax, 0x71374491
add ecx, edx
adc ebp, eax
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x20]
xor edi, edi
mov dword [esp + 0x1c], ebp
mov ebp, dword [esp + 0x24]
mov ebx, ecx
shrd ebx, ebp, 0x1c
or edi, ebx
mov dword [esp + 0x168], edi
mov edi, dword [esp + 0x24]
mov dword [esp + 0x14], eax
mov ebx, edi
mov eax, ecx
shld edi, ecx, 0x1e
shl eax, 4
shr ebp, 0x1c
or eax, ebp
shr ebx, 2
xor ebp, ebp
or ebp, edi
mov edi, dword [esp + 0x168]
shl ecx, 0x1e
or ebx, ecx
mov ecx, dword [esp + 0x24]
xor edi, ebx
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x168], edi
xor eax, ebp
mov edi, ecx
shld ecx, ebx, 0x19
shr edi, 7
shl ebx, 0x19
or edi, ebx
mov ebx, dword [esp + 0x168]
xor ebx, edi
mov edi, dword [esp + 0x20]
xor ebp, ebp
or ebp, ecx
mov ecx, dword [esp + 0x78]
xor eax, ebp
mov ebp, dword [esp + 0x24]
and ecx, edi
mov edi, dword [esp + 0x7c]
and edi, ebp
xor ecx, dword [esp + 0x80]
xor edi, dword [esp + 0x84]
add ebx, ecx
mov ecx, dword [esp + 0x60]
adc eax, edi
add ebx, edx
mov dword [esp + 0x30], ebx
adc eax, dword [esp + 0x14]
mov dword [esp + 0x34], eax
movzx eax, byte [ecx + 0xe]
cdq
shld edx, eax, 8
shl eax, 8
mov edi, eax
movzx eax, byte [ecx + 0xf]
mov ebx, edx
cdq
or edi, eax
or ebx, edx
shld ebx, edi, 8
movzx eax, byte [ecx + 0x10]
shl edi, 8
cdq
or edi, eax
movzx eax, byte [ecx + 0x11]
or ebx, edx
shld ebx, edi, 8
shl edi, 8
cdq
or edi, eax
movzx eax, byte [ecx + 0x12]
or ebx, edx
shld ebx, edi, 8
shl edi, 8
cdq
or edi, eax
movzx eax, byte [ecx + 0x13]
or ebx, edx
shld ebx, edi, 8
shl edi, 8
cdq
or edi, eax
movzx eax, byte [ecx + 0x14]
or ebx, edx
shld ebx, edi, 8
shl edi, 8
cdq
or ebx, edx
or edi, eax
movzx eax, byte [ecx + 0x15]
shld ebx, edi, 8
shl edi, 8
cdq
or ebx, edx
mov edx, dword [esp + 0x18]
or edi, eax
mov dword [esp + 0xc0], edi
mov edi, dword [esp + 0x1c]
mov dword [esp + 0xc4], ebx
mov ebp, edi
mov ebx, edx
shld ebp, ebx, 0x17
mov eax, edi
shl ebx, 0x17
shr eax, 9
or eax, ebx
mov ebx, edx
shrd edx, edi, 0x12
xor ecx, ecx
or ecx, ebp
xor ebp, ebp
or ebp, edx
mov edx, dword [esp + 0x18]
shr edi, 0x12
xor eax, ebp
mov ebp, dword [esp + 0x1c]
shl ebx, 0xe
or ebx, edi
mov edi, edx
shrd edx, ebp, 0xe
xor ecx, ebx
shr ebp, 0xe
xor ebx, ebx
shl edi, 0x12
or edi, ebp
mov ebp, dword [esp + 0x38]
or ebx, edx
mov edx, dword [esp + 0x18]
xor ecx, edi
xor eax, ebx
mov ebx, dword [esp + 0x1c]
mov edi, edx
not edi
and edi, ebp
mov ebp, dword [esp + 0x3c]
not ebx
and ebx, ebp
mov ebp, dword [esp + 0x50]
and ebp, edx
and esi, dword [esp + 0x1c]
xor ebx, esi
mov esi, dword [esp + 0xc4]
mov edx, dword [esp + 0x28]
xor edi, ebp
mov ebp, dword [esp + 0x2c]
add eax, edi
adc ecx, ebx
add eax, dword [esp + 0xc0]
adc ecx, esi
mov esi, dword [esp + 0x48]
add eax, edx
adc ecx, ebp
mov edx, dword [esp + 0x4c]
add eax, 0xec4d3b2f
adc ecx, 0xb5c0fbcf
add esi, eax
adc edx, ecx
mov dword [esp + 0x48], esi
mov esi, dword [esp + 0x30]
mov edi, esi
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x34]
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 + 0x30]
mov dword [esp + 0x4c], edx
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 edx, esi
mov esi, dword [esp + 0x30]
xor edi, edi
or edi, ebp
xor eax, edi
mov edi, dword [esp + 0x40]
mov ebx, esi
xor ebx, edi
and ebx, dword [esp + 0x20]
mov ebp, ecx
xor ebp, dword [esp + 0x44]
and esi, edi
and ebp, dword [esp + 0x24]
and ecx, dword [esp + 0x44]
xor ebx, esi
mov esi, dword [esp + 0x10]
xor ebp, ecx
mov ecx, dword [esp + 0x14]
add edx, ebx
adc eax, ebp
add edx, esi
adc eax, ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x2c], eax
movzx eax, byte [ecx + 0x16]
mov dword [esp + 0x28], edx
cdq
shld edx, eax, 8
shl eax, 8
mov esi, eax
movzx eax, byte [ecx + 0x17]
mov edi, edx
cdq
or esi, eax
movzx eax, byte [ecx + 0x18]
or edi, edx
shld edi, esi, 8
shl esi, 8
cdq
or esi, eax
movzx eax, byte [ecx + 0x19]
or edi, edx
shld edi, esi, 8
shl esi, 8
cdq
or esi, eax
movzx eax, byte [ecx + 0x1a]
or edi, edx
shld edi, esi, 8
shl esi, 8
cdq
or esi, eax
movzx eax, byte [ecx + 0x1b]
or edi, edx
shld edi, esi, 8
shl esi, 8
cdq
or esi, eax
movzx eax, byte [ecx + 0x1c]
or edi, edx
shld edi, esi, 8
shl esi, 8
cdq
or esi, eax
movzx eax, byte [ecx + 0x1d]
or edi, edx
shld edi, esi, 8
shl esi, 8
cdq
or esi, eax
or edi, edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0xcc], edi
mov dword [esp + 0xc8], esi
mov esi, dword [esp + 0x4c]
mov ebx, esi
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 + 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
xor edi, edi
or edi, ebx
mov esi, edx
shl esi, 0x12
shr ebp, 0xe
or esi, ebp
mov ebp, dword [esp + 0x50]
xor eax, edi
xor ecx, esi
mov esi, dword [esp + 0x4c]
mov edi, edx
mov ebx, esi
not edi
not ebx
and edi, ebp
and ebx, dword [esp + 0x54]
mov ebp, dword [esp + 0x18]
and ebp, edx
mov edx, dword [esp + 0x1c]
and edx, esi
mov esi, dword [esp + 0xcc]
xor edi, ebp
xor ebx, edx
mov edx, dword [esp + 0x38]
mov ebp, dword [esp + 0x3c]
add eax, edi
adc ecx, ebx
add eax, dword [esp + 0xc8]
adc ecx, esi
mov esi, dword [esp + 0x40]
add eax, edx
adc ecx, ebp
mov edx, dword [esp + 0x44]
add eax, 0x8189dbbc
adc ecx, 0xe9b5dba5
add esi, eax
adc edx, ecx
mov dword [esp + 0x40], esi
mov esi, dword [esp + 0x28]
mov edi, esi
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x10], eax
mov eax, esi
mov ebx, ecx
shrd edi, ebx, 0x1c
shr ebx, 0x1c
shl eax, 4
or eax, ebx
xor ebx, ebx
mov dword [esp + 0x44], edx
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
mov ebp, dword [esp + 0x34]
shl ebx, 0x19
mov esi, ecx
shr esi, 7
or esi, ebx
xor eax, edi
mov edi, dword [esp + 0x30]
xor edx, esi
mov esi, dword [esp + 0x28]
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 + 0x34]
and esi, ecx
mov ecx, dword [esp + 0x14]
xor ebp, esi
mov esi, dword [esp + 0x10]
xor ebx, edi
add edx, ebx
adc eax, ebp
add edx, esi
mov dword [esp + 0x38], edx
adc eax, ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x3c], eax
movzx eax, byte [ecx + 0x1e]
cdq
shld edx, eax, 8
shl eax, 8
mov esi, eax
movzx eax, byte [ecx + 0x1f]
mov edi, edx
cdq
or esi, eax
movzx eax, byte [ecx + 0x20]
or edi, edx
shld edi, esi, 8
shl esi, 8
cdq
or esi, eax
movzx eax, byte [ecx + 0x21]
or edi, edx
shld edi, esi, 8
shl esi, 8
cdq
or esi, eax
movzx eax, byte [ecx + 0x22]
or edi, edx
shld edi, esi, 8
shl esi, 8
cdq
or esi, eax
movzx eax, byte [ecx + 0x23]
or edi, edx
shld edi, esi, 8
shl esi, 8
cdq
or esi, eax
movzx eax, byte [ecx + 0x24]
or edi, edx
shld edi, esi, 8
shl esi, 8
cdq
or esi, eax
movzx eax, byte [ecx + 0x25]
or edi, edx
shld edi, esi, 8
cdq
shl esi, 8
or esi, eax
or edi, edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0xd0], esi
mov esi, dword [esp + 0x44]
mov dword [esp + 0xd4], edi
mov ebx, esi
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 + 0x44]
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
mov ebp, dword [esp + 0x18]
xor ecx, esi
mov esi, dword [esp + 0x44]
mov edi, edx
not edi
and edi, ebp
mov ebp, dword [esp + 0x1c]
mov ebx, esi
not ebx
and ebx, ebp
mov ebp, dword [esp + 0x48]
and ebp, edx
mov edx, dword [esp + 0x4c]
and edx, esi
mov esi, dword [esp + 0xd4]
xor ebx, edx
mov edx, dword [esp + 0x50]
xor edi, ebp
mov ebp, dword [esp + 0x54]
add eax, edi
adc ecx, ebx
add eax, dword [esp + 0xd0]
adc ecx, esi
mov esi, dword [esp + 0x20]
add eax, edx
adc ecx, ebp
mov edx, dword [esp + 0x24]
add eax, 0xf348b538
adc ecx, 0x3956c25b
add esi, eax
adc edx, ecx
mov dword [esp + 0x20], esi
mov esi, dword [esp + 0x38]
mov edi, esi
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x10], eax
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
mov dword [esp + 0x24], edx
xor eax, ebx
mov ebx, dword [esp + 0x38]
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 + 0x38]
mov ebx, edi
xor ebx, esi
and ebx, dword [esp + 0x30]
and edi, esi
mov esi, dword [esp + 0x2c]
xor ebp, ecx
and ebp, dword [esp + 0x34]
and esi, ecx
xor ebx, edi
xor ebp, esi
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
add edx, ebx
adc eax, ebp
add edx, esi
adc eax, ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x54], eax
movzx eax, byte [ecx + 0x26]
mov dword [esp + 0x50], edx
cdq
shld edx, eax, 8
shl eax, 8
mov esi, eax
movzx eax, byte [ecx + 0x27]
mov edi, edx
cdq
or esi, eax
movzx eax, byte [ecx + 0x28]
or edi, edx
shld edi, esi, 8
shl esi, 8
cdq
or esi, eax
movzx eax, byte [ecx + 0x29]
or edi, edx
shld edi, esi, 8
shl esi, 8
cdq
or esi, eax
movzx eax, byte [ecx + 0x2a]
or edi, edx
shld edi, esi, 8
shl esi, 8
cdq
or esi, eax
movzx eax, byte [ecx + 0x2b]
or edi, edx
shld edi, esi, 8
shl esi, 8
cdq
or esi, eax
movzx eax, byte [ecx + 0x2c]
or edi, edx
shld edi, esi, 8
shl esi, 8
cdq
or esi, eax
movzx eax, byte [ecx + 0x2d]
or edi, edx
shld edi, esi, 8
cdq
shl esi, 8
or esi, eax
or edi, edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0xd8], esi
mov esi, dword [esp + 0x24]
mov dword [esp + 0xdc], edi
mov ebx, esi
mov edi, edx
shld ebx, edi, 0x17
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
or edi, esi
xor ebx, ebx
or ebx, ebp
xor ecx, edi
mov esi, edx
xor eax, ebx
xor edi, edi
shl esi, 0x12
mov ebp, dword [esp + 0x24]
mov ebx, edx
shrd ebx, ebp, 0xe
or edi, ebx
xor eax, edi
shr ebp, 0xe
or esi, ebp
mov ebp, dword [esp + 0x48]
xor ecx, esi
mov esi, dword [esp + 0x24]
mov edi, edx
not edi
and edi, ebp
mov ebp, dword [esp + 0x4c]
mov ebx, esi
not ebx
and ebx, ebp
and edx, dword [esp + 0x40]
and esi, dword [esp + 0x44]
mov ebp, dword [esp + 0x1c]
xor ebx, esi
mov esi, dword [esp + 0xdc]
xor edi, edx
mov edx, dword [esp + 0x18]
add eax, edi
adc ecx, ebx
add eax, dword [esp + 0xd8]
adc ecx, esi
mov esi, dword [esp + 0x30]
add eax, edx
adc ecx, ebp
mov edx, dword [esp + 0x34]
add eax, 0xb605d019
adc ecx, 0x59f111f1
add esi, eax
adc edx, ecx
mov dword [esp + 0x30], esi
mov esi, dword [esp + 0x50]
mov edi, esi
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x10], eax
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
mov dword [esp + 0x34], edx
xor edx, edx
or edx, edi
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
shl ebx, 0x19
or edi, ebp
mov ebp, dword [esp + 0x3c]
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]
mov ebx, edi
xor ebx, esi
xor ebp, ecx
and edi, esi
and ebx, dword [esp + 0x28]
and ebp, dword [esp + 0x2c]
mov esi, dword [esp + 0x3c]
and esi, ecx
mov ecx, dword [esp + 0x14]
xor ebp, esi
mov esi, dword [esp + 0x10]
xor ebx, edi
add edx, ebx
adc eax, ebp
add edx, esi
adc eax, ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x1c], eax
movzx eax, byte [ecx + 0x2e]
mov dword [esp + 0x18], edx
cdq
shld edx, eax, 8
shl eax, 8
mov esi, eax
movzx eax, byte [ecx + 0x2f]
mov edi, edx
cdq
or esi, eax
movzx eax, byte [ecx + 0x30]
or edi, edx
shld edi, esi, 8
shl esi, 8
cdq
or esi, eax
movzx eax, byte [ecx + 0x31]
or edi, edx
shld edi, esi, 8
shl esi, 8
cdq
or esi, eax
movzx eax, byte [ecx + 0x32]
or edi, edx
shld edi, esi, 8
shl esi, 8
cdq
or esi, eax
movzx eax, byte [ecx + 0x33]
or edi, edx
shld edi, esi, 8
shl esi, 8
cdq
or esi, eax
movzx eax, byte [ecx + 0x34]
or edi, edx
shld edi, esi, 8
cdq
or edi, edx
shl esi, 8
or esi, eax
movzx eax, byte [ecx + 0x35]
shld edi, esi, 8
cdq
shl esi, 8
or esi, eax
or edi, edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0xe0], esi
mov esi, dword [esp + 0x34]
mov dword [esp + 0xe4], edi
mov ebx, esi
mov edi, edx
shld ebx, edi, 0x17
mov eax, esi
shl edi, 0x17
shr eax, 9
mov ebp, edx
or eax, edi
xor ecx, ecx
shrd ebp, esi, 0x12
or ecx, ebx
mov edi, edx
xor ebx, ebx
shl edi, 0xe
shr esi, 0x12
or ebx, ebp
mov ebp, dword [esp + 0x34]
or edi, esi
xor eax, ebx
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 + 0x40]
xor ecx, esi
mov esi, dword [esp + 0x34]
mov edi, edx
not edi
and edi, ebp
mov ebp, dword [esp + 0x44]
mov ebx, esi
not ebx
and ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, edx
mov edx, dword [esp + 0x24]
and edx, esi
mov esi, dword [esp + 0xe4]
xor ebx, edx
mov edx, dword [esp + 0x48]
xor edi, ebp
mov ebp, dword [esp + 0x4c]
add eax, edi
mov edi, dword [esp + 0xe0]
adc ecx, ebx
add eax, edi
adc ecx, esi
mov esi, dword [esp + 0x28]
add eax, edx
mov edx, dword [esp + 0x2c]
adc ecx, ebp
add eax, 0xaf194f9b
adc ecx, 0x923f82a4
add esi, eax
adc edx, ecx
mov dword [esp + 0x28], esi
mov esi, dword [esp + 0x18]
mov edi, esi
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x1c]
mov ebx, ecx
shrd edi, ebx, 0x1c
mov dword [esp + 0x10], eax
mov eax, esi
shr ebx, 0x1c
shl eax, 4
or eax, ebx
mov ebp, ecx
shld ebp, esi, 0x1e
xor ebx, ebx
or ebx, ebp
mov dword [esp + 0x2c], edx
xor edx, edx
or edx, edi
xor eax, ebx
mov ebx, dword [esp + 0x18]
shl esi, 0x1e
mov edi, ecx
shr edi, 2
or edi, esi
mov ebp, ecx
shld ebp, ebx, 0x19
xor edx, edi
mov esi, ecx
shr esi, 7
shl ebx, 0x19
xor edi, edi
or esi, ebx
or edi, ebp
xor edx, esi
xor eax, edi
mov edi, dword [esp + 0x50]
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x54]
mov ebx, edi
and edi, esi
xor ebx, esi
and ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x54]
and esi, ecx
xor ebx, edi
xor ebp, ecx
and ebp, dword [esp + 0x3c]
mov ecx, dword [esp + 0x14]
xor ebp, esi
mov esi, dword [esp + 0x10]
add edx, ebx
adc eax, ebp
add edx, esi
adc eax, ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x4c], eax
movzx eax, byte [ecx + 0x36]
mov dword [esp + 0x48], edx
cdq
shld edx, eax, 8
shl eax, 8
mov esi, eax
movzx eax, byte [ecx + 0x37]
mov edi, edx
cdq
or esi, eax
movzx eax, byte [ecx + 0x38]
or edi, edx
shld edi, esi, 8
shl esi, 8
cdq
or esi, eax
movzx eax, byte [ecx + 0x39]
or edi, edx
shld edi, esi, 8
shl esi, 8
cdq
or esi, eax
movzx eax, byte [ecx + 0x3a]
or edi, edx
shld edi, esi, 8
shl esi, 8
cdq
or esi, eax
movzx eax, byte [ecx + 0x3b]
or edi, edx
shld edi, esi, 8
cdq
shl esi, 8
or esi, eax
movzx eax, byte [ecx + 0x3c]
or edi, edx
shld edi, esi, 8
cdq
shl esi, 8
or esi, eax
movzx eax, byte [ecx + 0x3d]
or edi, edx
shld edi, esi, 8
cdq
shl esi, 8
or esi, eax
or edi, edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0xe8], esi
mov esi, dword [esp + 0x2c]
mov dword [esp + 0xec], edi
mov edi, edx
mov ebx, esi
shld ebx, edi, 0x17
mov eax, esi
shr eax, 9
shl edi, 0x17
xor ecx, ecx
or eax, edi
or ecx, ebx
xor ebx, ebx
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 + 0x20]
xor ecx, esi
mov esi, dword [esp + 0x2c]
mov edi, edx
not edi
and edi, ebp
mov ebp, dword [esp + 0x24]
mov ebx, esi
not ebx
and ebx, ebp
mov ebp, dword [esp + 0x30]
and ebp, edx
mov edx, dword [esp + 0x34]
and edx, esi
mov esi, dword [esp + 0xec]
xor ebx, edx
mov edx, dword [esp + 0x40]
xor edi, ebp
mov ebp, dword [esp + 0x44]
add eax, edi
mov edi, dword [esp + 0xe8]
adc ecx, ebx
add eax, edi
adc ecx, esi
mov esi, dword [esp + 0x38]
add eax, edx
mov edx, dword [esp + 0x3c]
adc ecx, ebp
add eax, 0xda6d8118
adc ecx, 0xab1c5ed5
add esi, eax
adc edx, ecx
mov dword [esp + 0x38], esi
mov esi, dword [esp + 0x48]
mov edi, esi
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x10], eax
mov eax, esi
mov ebx, ecx
shrd edi, ebx, 0x1c
mov dword [esp + 0x3c], edx
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
or edi, esi
xor ebx, ebx
or ebx, ebp
mov esi, ecx
xor edx, edi
xor eax, ebx
shr esi, 7
xor edi, edi
mov ebx, dword [esp + 0x48]
mov ebp, ecx
shld ebp, ebx, 0x19
or edi, ebp
xor eax, edi
mov edi, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
shl ebx, 0x19
or esi, ebx
xor edx, esi
mov esi, dword [esp + 0x48]
mov ebx, edi
and edi, esi
xor ebx, esi
and ebx, dword [esp + 0x50]
mov esi, dword [esp + 0x1c]
and esi, ecx
xor ebx, edi
xor ebp, ecx
and ebp, dword [esp + 0x54]
mov ecx, dword [esp + 0x14]
xor ebp, esi
mov esi, dword [esp + 0x10]
add edx, ebx
adc eax, ebp
add edx, esi
adc eax, ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x44], eax
movzx eax, byte [ecx + 0x3e]
mov dword [esp + 0x40], edx
cdq
shld edx, eax, 8
shl eax, 8
mov esi, eax
movzx eax, byte [ecx + 0x3f]
mov edi, edx
cdq
or esi, eax
movzx eax, byte [ecx + 0x40]
or edi, edx
shld edi, esi, 8
shl esi, 8
cdq
or esi, eax
movzx eax, byte [ecx + 0x41]
or edi, edx
shld edi, esi, 8
shl esi, 8
cdq
or esi, eax
movzx eax, byte [ecx + 0x42]
or edi, edx
shld edi, esi, 8
shl esi, 8
cdq
or esi, eax
movzx eax, byte [ecx + 0x43]
or edi, edx
shld edi, esi, 8
shl esi, 8
cdq
or esi, eax
movzx eax, byte [ecx + 0x44]
or edi, edx
shld edi, esi, 8
cdq
shl esi, 8
or esi, eax
movzx eax, byte [ecx + 0x45]
or edi, edx
shld edi, esi, 8
cdq
shl esi, 8
or esi, eax
mov dword [esp + 0xf0], esi
mov esi, dword [esp + 0x3c]
or edi, edx
mov eax, esi
mov dword [esp + 0xf4], edi
shr eax, 9
mov edx, dword [esp + 0x38]
mov ebx, esi
xor ecx, ecx
mov edi, edx
shld ebx, edi, 0x17
or ecx, ebx
shl edi, 0x17
or eax, edi
xor ebx, ebx
mov ebp, edx
shrd ebp, esi, 0x12
or ebx, ebp
mov ebp, dword [esp + 0x3c]
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 + 0x30]
xor ecx, esi
mov esi, dword [esp + 0x3c]
mov edi, edx
not edi
and edi, ebp
mov ebp, dword [esp + 0x34]
mov ebx, esi
not ebx
and ebx, ebp
mov ebp, dword [esp + 0x28]
and ebp, edx
mov edx, dword [esp + 0x2c]
and edx, esi
mov esi, dword [esp + 0xf0]
xor edi, ebp
mov ebp, dword [esp + 0x20]
xor ebx, edx
mov edx, dword [esp + 0xf4]
add eax, edi
mov edi, dword [esp + 0x54]
adc ecx, ebx
mov ebx, dword [esp + 0x24]
add eax, esi
mov esi, dword [esp + 0x50]
adc ecx, edx
mov edx, dword [esp + 0x44]
add eax, ebp
mov ebp, dword [esp + 0x4c]
adc ecx, ebx
mov ebx, dword [esp + 0x48]
add eax, 0xa3030242
adc ecx, 0xd807aa98
add esi, eax
mov dword [esp + 0x10], eax
adc edi, ecx
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x40]
mov eax, ebx
xor eax, ecx
mov dword [esp + 0x78], eax
mov eax, ebp
xor eax, edx
mov dword [esp + 0x7c], eax
mov eax, ebx
and eax, ecx
mov dword [esp + 0x80], eax
mov eax, ebp
and eax, edx
mov dword [esp + 0x84], eax
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], edi
mov eax, ecx
xor ebx, ebx
shl eax, 4
mov ebp, ecx
shrd ebp, edx, 0x1c
or ebx, ebp
shr edx, 0x1c
or eax, edx
mov edx, dword [esp + 0x44]
mov dword [esp + 0x148], ebx
mov ebx, edx
shld edx, ecx, 0x1e
shr ebx, 2
xor ebp, ebp
or ebp, edx
mov edx, dword [esp + 0x148]
xor eax, ebp
mov ebp, dword [esp + 0x40]
shl ecx, 0x1e
or ebx, ecx
xor edx, ebx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x148], edx
xor ebx, ebx
mov edx, ecx
shld ecx, ebp, 0x19
or ebx, ecx
mov ecx, dword [esp + 0x148]
xor eax, ebx
mov ebx, dword [esp + 0x18]
shl ebp, 0x19
shr edx, 7
or edx, ebp
mov ebp, dword [esp + 0x1c]
xor ecx, edx
mov edx, dword [esp + 0x78]
and edx, ebx
mov ebx, dword [esp + 0x7c]
and ebx, ebp
xor edx, dword [esp + 0x80]
xor ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0x14]
add ecx, edx
mov edx, dword [esp + 0x10]
adc eax, ebx
add ecx, edx
adc eax, ebp
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x60]
movzx eax, byte [ecx + 0x46]
cdq
shld edx, eax, 8
shl eax, 8
mov ebx, eax
movzx eax, byte [ecx + 0x47]
mov ebp, edx
cdq
or ebx, eax
movzx eax, byte [ecx + 0x48]
or ebp, edx
shld ebp, ebx, 8
shl ebx, 8
cdq
or ebx, eax
movzx eax, byte [ecx + 0x49]
or ebp, edx
shld ebp, ebx, 8
shl ebx, 8
cdq
or ebx, eax
movzx eax, byte [ecx + 0x4a]
or ebp, edx
shld ebp, ebx, 8
shl ebx, 8
cdq
or ebx, eax
or ebp, edx
shld ebp, ebx, 8
shl ebx, 8
movzx eax, byte [ecx + 0x4b]
cdq
or ebx, eax
movzx eax, byte [ecx + 0x4c]
or ebp, edx
shld ebp, ebx, 8
shl ebx, 8
cdq
or ebp, edx
or ebx, eax
movzx eax, byte [ecx + 0x4d]
shld ebp, ebx, 8
shl ebx, 8
cdq
or ebp, edx
or ebx, eax
mov dword [esp + 0xf8], ebx
xor eax, eax
mov dword [esp + 0xfc], ebp
mov edx, esi
mov ebx, edi
shld ebx, edx, 0x17
or eax, ebx
shl edx, 0x17
mov dword [esp + 0x18c], eax
mov ebx, esi
mov ebp, edi
shrd ebx, ebp, 0x12
shr ebp, 0x12
mov ecx, edi
shr ecx, 9
or ecx, edx
xor edx, edx
or edx, ebx
xor ecx, edx
mov edx, dword [esp + 0x18c]
mov eax, esi
shl eax, 0xe
or eax, ebp
xor edx, eax
xor eax, eax
mov dword [esp + 0x18c], edx
mov ebx, esi
mov ebp, edi
shrd ebx, ebp, 0xe
or eax, ebx
shr ebp, 0xe
xor ecx, eax
mov eax, dword [esp + 0x18c]
mov edx, esi
shl edx, 0x12
or edx, ebp
mov ebp, dword [esp + 0x28]
xor eax, edx
mov edx, esi
not edx
and edx, ebp
mov ebp, dword [esp + 0x2c]
mov ebx, edi
not ebx
and ebx, ebp
mov ebp, dword [esp + 0x38]
and ebp, esi
mov esi, dword [esp + 0x3c]
and esi, edi
xor edx, ebp
mov ebp, dword [esp + 0x34]
xor ebx, esi
mov esi, dword [esp + 0xfc]
add ecx, edx
mov edx, dword [esp + 0x30]
adc eax, ebx
add ecx, dword [esp + 0xf8]
adc eax, esi
add ecx, edx
mov edx, dword [esp + 0x18]
adc eax, ebp
add ecx, 0x45706fbe
adc eax, 0x12835b01
mov dword [esp + 0x14], eax
mov ebp, dword [esp + 0x1c]
add edx, ecx
adc ebp, eax
xor esi, esi
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x20]
mov ebx, edx
mov dword [esp + 0x1c], ebp
mov ebp, dword [esp + 0x24]
shrd ebx, ebp, 0x1c
or esi, ebx
mov dword [esp + 0x158], esi
mov esi, dword [esp + 0x24]
mov ebx, esi
mov eax, edx
shld esi, edx, 0x1e
shl eax, 4
shr ebx, 2
shr ebp, 0x1c
or eax, ebp
shl edx, 0x1e
or ebx, edx
mov edx, dword [esp + 0x24]
xor ebp, ebp
or ebp, esi
mov esi, dword [esp + 0x158]
xor esi, ebx
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x158], esi
xor eax, ebp
mov esi, edx
shld edx, ebx, 0x19
shr esi, 7
shl ebx, 0x19
or esi, ebx
mov ebx, dword [esp + 0x158]
xor ebx, esi
mov esi, dword [esp + 0x20]
xor ebp, ebp
or ebp, edx
mov edx, dword [esp + 0x78]
and edx, esi
mov esi, dword [esp + 0x7c]
xor eax, ebp
and esi, dword [esp + 0x24]
xor edx, dword [esp + 0x80]
xor esi, dword [esp + 0x84]
add ebx, edx
adc eax, esi
add ebx, ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x30], ebx
adc eax, dword [esp + 0x14]
mov dword [esp + 0x34], eax
movzx eax, byte [ecx + 0x4e]
cdq
shld edx, eax, 8
shl eax, 8
mov esi, eax
movzx eax, byte [ecx + 0x4f]
mov ebx, edx
cdq
or esi, eax
movzx eax, byte [ecx + 0x50]
or ebx, edx
shld ebx, esi, 8
shl esi, 8
cdq
or esi, eax
movzx eax, byte [ecx + 0x51]
or ebx, edx
shld ebx, esi, 8
cdq
shl esi, 8
or esi, eax
or ebx, edx
shld ebx, esi, 8
movzx eax, byte [ecx + 0x52]
shl esi, 8
cdq
or esi, eax
movzx eax, byte [ecx + 0x53]
or ebx, edx
shld ebx, esi, 8
shl esi, 8
cdq
or esi, eax
movzx eax, byte [ecx + 0x54]
or ebx, edx
shld ebx, esi, 8
shl esi, 8
cdq
or ebx, edx
or esi, eax
movzx eax, byte [ecx + 0x55]
shld ebx, esi, 8
shl esi, 8
cdq
or ebx, edx
mov edx, dword [esp + 0x18]
or esi, eax
mov dword [esp + 0x100], esi
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x104], ebx
mov ebp, esi
mov ebx, edx
shld ebp, ebx, 0x17
shl ebx, 0x17
mov eax, esi
shr eax, 9
or eax, ebx
xor ecx, ecx
or ecx, ebp
xor ebp, ebp
mov ebx, edx
shrd edx, esi, 0x12
or ebp, edx
mov edx, dword [esp + 0x18]
shr esi, 0x12
xor eax, ebp
mov ebp, dword [esp + 0x1c]
shl ebx, 0xe
or ebx, esi
xor ecx, ebx
mov esi, edx
shrd edx, ebp, 0xe
shl esi, 0x12
shr ebp, 0xe
or esi, ebp
mov ebp, dword [esp + 0x38]
xor ebx, ebx
or ebx, edx
mov edx, dword [esp + 0x18]
xor ecx, esi
xor eax, ebx
mov ebx, dword [esp + 0x1c]
mov esi, edx
not esi
and esi, ebp
mov ebp, dword [esp + 0x3c]
not ebx
and ebx, ebp
mov ebp, dword [esp + 0x50]
and ebp, edx
and edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x28]
xor esi, ebp
mov ebp, dword [esp + 0x2c]
xor ebx, edi
mov edi, dword [esp + 0x100]
add eax, esi
mov esi, dword [esp + 0x104]
adc ecx, ebx
add eax, edi
adc ecx, esi
add eax, edx
adc ecx, ebp
mov esi, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
add eax, 0x4ee4b28c
adc ecx, 0x243185be
add esi, eax
adc edx, ecx
mov dword [esp + 0x48], esi
mov esi, dword [esp + 0x30]
mov edi, esi
mov dword [esp + 0x10], eax
mov eax, esi
shl eax, 4
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x34]
mov ebx, ecx
shrd edi, ebx, 0x1c
shr ebx, 0x1c
or eax, ebx
xor ebx, ebx
mov dword [esp + 0x4c], edx
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
xor eax, edi
mov edi, dword [esp + 0x40]
shl ebx, 0x19
mov esi, ecx
shr esi, 7
or esi, ebx
xor edx, esi
mov esi, dword [esp + 0x30]
mov ebx, esi
and esi, edi
xor ebx, edi
and ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x44]
mov ebp, ecx
xor ebp, dword [esp + 0x44]
and ecx, edi
and ebp, dword [esp + 0x24]
xor ebx, esi
mov esi, dword [esp + 0x10]
xor ebp, ecx
mov ecx, dword [esp + 0x14]
add edx, ebx
adc eax, ebp
add edx, esi
adc eax, ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x2c], eax
movzx eax, byte [ecx + 0x56]
mov dword [esp + 0x28], edx
cdq
shld edx, eax, 8
shl eax, 8
mov esi, eax
movzx eax, byte [ecx + 0x57]
mov edi, edx
cdq
or esi, eax
movzx eax, byte [ecx + 0x58]
or edi, edx
shld edi, esi, 8
cdq
shl esi, 8
or esi, eax
or edi, edx
shld edi, esi, 8
movzx eax, byte [ecx + 0x59]
shl esi, 8
cdq
or esi, eax
movzx eax, byte [ecx + 0x5a]
or edi, edx
shld edi, esi, 8
shl esi, 8
cdq
or esi, eax
movzx eax, byte [ecx + 0x5b]
or edi, edx
shld edi, esi, 8
shl esi, 8
cdq
or esi, eax
movzx eax, byte [ecx + 0x5c]
or edi, edx
shld edi, esi, 8
shl esi, 8
cdq
or edi, edx
or esi, eax
movzx eax, byte [ecx + 0x5d]
shld edi, esi, 8
shl esi, 8
cdq
or edi, edx
mov edx, dword [esp + 0x48]
or esi, eax
mov dword [esp + 0x10c], edi
mov dword [esp + 0x108], esi
mov esi, dword [esp + 0x4c]
mov ebx, esi
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 + 0x4c]
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 + 0x50]
xor eax, edi
xor ecx, esi
mov esi, dword [esp + 0x4c]
mov edi, edx
not edi
and edi, ebp
mov ebp, dword [esp + 0x54]
mov ebx, esi
not ebx
and ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, edx
mov edx, dword [esp + 0x1c]
and edx, esi
xor edi, ebp
xor ebx, edx
add eax, edi
mov edi, dword [esp + 0x108]
adc ecx, ebx
mov esi, dword [esp + 0x10c]
mov edx, dword [esp + 0x38]
mov ebp, dword [esp + 0x3c]
add eax, edi
adc ecx, esi
mov esi, dword [esp + 0x40]
add eax, edx
adc ecx, ebp
mov edx, dword [esp + 0x44]
add eax, 0xd5ffb4e2
adc ecx, 0x550c7dc3
add esi, eax
adc edx, ecx
mov dword [esp + 0x40], esi
mov esi, dword [esp + 0x28]
mov edi, esi
mov dword [esp + 0x10], eax
mov eax, esi
shl eax, 4
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x2c]
mov ebx, ecx
shrd edi, ebx, 0x1c
shr ebx, 0x1c
or eax, ebx
xor ebx, ebx
mov dword [esp + 0x44], edx
xor edx, edx
or edx, edi
mov ebp, ecx
shld ebp, esi, 0x1e
or ebx, ebp
xor eax, ebx
mov ebx, dword [esp + 0x28]
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 + 0x34]
xor eax, edi
mov edi, dword [esp + 0x30]
shl ebx, 0x19
mov esi, ecx
shr esi, 7
or esi, ebx
xor edx, esi
mov esi, dword [esp + 0x28]
mov ebx, edi
xor ebx, esi
and ebx, dword [esp + 0x20]
and edi, esi
mov esi, dword [esp + 0x34]
xor ebp, ecx
and ebp, dword [esp + 0x24]
and esi, ecx
mov ecx, dword [esp + 0x14]
xor ebp, esi
mov esi, dword [esp + 0x10]
xor ebx, edi
add edx, ebx
adc eax, ebp
add edx, esi
adc eax, ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x3c], eax
movzx eax, byte [ecx + 0x5e]
mov dword [esp + 0x38], edx
cdq
shld edx, eax, 8
shl eax, 8
mov esi, eax
movzx eax, byte [ecx + 0x5f]
mov edi, edx
cdq
or esi, eax
or edi, edx
shld edi, esi, 8
movzx eax, byte [ecx + 0x60]
shl esi, 8
cdq
or esi, eax
movzx eax, byte [ecx + 0x61]
or edi, edx
shld edi, esi, 8
shl esi, 8
cdq
or esi, eax
movzx eax, byte [ecx + 0x62]
or edi, edx
shld edi, esi, 8
shl esi, 8
cdq
or esi, eax
movzx eax, byte [ecx + 0x63]
or edi, edx
shld edi, esi, 8
shl esi, 8
cdq
or esi, eax
movzx eax, byte [ecx + 0x64]
or edi, edx
shld edi, esi, 8
shl esi, 8
cdq
or esi, eax
movzx eax, byte [ecx + 0x65]
or edi, edx
shld edi, esi, 8
shl esi, 8
cdq
or esi, eax
or edi, edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x114], edi
mov dword [esp + 0x110], esi
mov esi, dword [esp + 0x44]
mov ebx, esi
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 + 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
shr ebp, 0xe
mov esi, edx
shl esi, 0x12
or esi, ebp
mov ebp, dword [esp + 0x18]
xor eax, edi
xor ecx, esi
mov esi, dword [esp + 0x44]
mov edi, edx
not edi
and edi, ebp
mov ebp, dword [esp + 0x1c]
mov ebx, esi
not ebx
and ebx, ebp
mov ebp, dword [esp + 0x48]
and ebp, edx
mov edx, dword [esp + 0x4c]
xor edi, ebp
and edx, esi
mov esi, dword [esp + 0x50]
xor ebx, edx
add eax, edi
adc ecx, ebx
mov ebx, dword [esp + 0x110]
mov edi, dword [esp + 0x114]
mov edx, dword [esp + 0x54]
add eax, ebx
adc ecx, edi
mov edi, dword [esp + 0x20]
add eax, esi
adc ecx, edx
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x24]
add eax, 0xf27b896f
adc ecx, 0x72be5d74
add edi, eax
adc esi, ecx
mov dword [esp + 0x24], esi
mov esi, dword [esp + 0x38]
mov dword [esp + 0x20], edi
mov edi, esi
mov dword [esp + 0x10], eax
mov eax, esi
mov ebx, edx
shrd edi, ebx, 0x1c
shr ebx, 0x1c
shl eax, 4
or eax, ebx
xor ebx, ebx
mov dword [esp + 0x14], ecx
mov ebp, edx
shld ebp, esi, 0x1e
or ebx, ebp
xor eax, ebx
mov ebx, dword [esp + 0x38]
xor ecx, ecx
or ecx, edi
shl esi, 0x1e
mov edi, edx
shr edi, 2
or edi, esi
xor ecx, edi
mov ebp, edx
shld ebp, ebx, 0x19
xor edi, edi
or edi, ebp
mov ebp, dword [esp + 0x2c]
shl ebx, 0x19
xor eax, edi
mov edi, dword [esp + 0x28]
mov esi, edx
shr esi, 7
or esi, ebx
xor ecx, esi
mov esi, dword [esp + 0x38]
xor ebp, edx
and ebp, dword [esp + 0x34]
mov ebx, edi
xor ebx, esi
and ebx, dword [esp + 0x30]
and edi, esi
mov esi, dword [esp + 0x2c]
and esi, edx
mov edx, dword [esp + 0x10]
xor ebx, edi
xor ebp, esi
add ecx, ebx
adc eax, ebp
add ecx, edx
mov dword [esp + 0x50], ecx
adc eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x54], eax
movzx eax, byte [ecx + 0x66]
cdq
shld edx, eax, 8
shl eax, 8
mov esi, eax
movzx eax, byte [ecx + 0x67]
mov edi, edx
cdq
or esi, eax
movzx eax, byte [ecx + 0x68]
or edi, edx
shld edi, esi, 8
shl esi, 8
cdq
or esi, eax
movzx eax, byte [ecx + 0x69]
or edi, edx
shld edi, esi, 8
shl esi, 8
cdq
or esi, eax
movzx eax, byte [ecx + 0x6a]
or edi, edx
shld edi, esi, 8
shl esi, 8
cdq
or esi, eax
movzx eax, byte [ecx + 0x6b]
or edi, edx
shld edi, esi, 8
shl esi, 8
cdq
or esi, eax
movzx eax, byte [ecx + 0x6c]
or edi, edx
shld edi, esi, 8
shl esi, 8
cdq
or esi, eax
movzx eax, byte [ecx + 0x6d]
or edi, edx
shld edi, esi, 8
shl esi, 8
cdq
or esi, eax
or edi, edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x11c], edi
mov dword [esp + 0x118], esi
mov esi, dword [esp + 0x24]
mov ebx, esi
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 + 0x24]
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 + 0x24]
mov edi, edx
not edi
mov ebx, esi
and edi, dword [esp + 0x48]
mov ebp, dword [esp + 0x4c]
not ebx
and ebx, ebp
and edx, dword [esp + 0x40]
and esi, dword [esp + 0x44]
xor ebx, esi
mov esi, dword [esp + 0x11c]
mov ebp, dword [esp + 0x1c]
xor edi, edx
mov edx, dword [esp + 0x18]
add eax, edi
adc ecx, ebx
add eax, dword [esp + 0x118]
adc ecx, esi
mov esi, dword [esp + 0x30]
add eax, edx
adc ecx, ebp
mov edx, dword [esp + 0x34]
add eax, 0x3b1696b1
adc ecx, 0x80deb1fe
add esi, eax
adc edx, ecx
mov dword [esp + 0x30], esi
mov esi, dword [esp + 0x50]
mov edi, esi
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x10], eax
mov eax, esi
mov ebx, ecx
shrd edi, ebx, 0x1c
shr ebx, 0x1c
shl eax, 4
or eax, ebx
xor ebx, ebx
mov dword [esp + 0x34], edx
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
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]
mov ebx, edi
xor ebx, esi
and ebx, dword [esp + 0x28]
and edi, esi
mov esi, dword [esp + 0x3c]
xor ebp, ecx
and ebp, dword [esp + 0x2c]
and esi, ecx
xor ebp, esi
mov esi, dword [esp + 0x10]
xor ebx, edi
add edx, ebx
adc eax, ebp
add edx, esi
mov dword [esp + 0x18], edx
adc eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x1c], eax
movzx eax, byte [ecx + 0x6e]
cdq
shld edx, eax, 8
shl eax, 8
mov esi, eax
movzx eax, byte [ecx + 0x6f]
mov edi, edx
cdq
or esi, eax
movzx eax, byte [ecx + 0x70]
or edi, edx
shld edi, esi, 8
shl esi, 8
cdq
or esi, eax
movzx eax, byte [ecx + 0x71]
or edi, edx
shld edi, esi, 8
shl esi, 8
cdq
or esi, eax
movzx eax, byte [ecx + 0x72]
or edi, edx
shld edi, esi, 8
shl esi, 8
cdq
or esi, eax
movzx eax, byte [ecx + 0x73]
or edi, edx
shld edi, esi, 8
shl esi, 8
cdq
or esi, eax
movzx eax, byte [ecx + 0x74]
or edi, edx
shld edi, esi, 8
shl esi, 8
cdq
or esi, eax
movzx eax, byte [ecx + 0x75]
or edi, edx
shld edi, esi, 8
cdq
shl esi, 8
or esi, eax
or edi, edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x124], edi
mov dword [esp + 0x120], esi
mov esi, dword [esp + 0x34]
mov ebx, esi
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 + 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
mov esi, edx
xor edi, edi
shl esi, 0x12
shr ebp, 0xe
or edi, ebx
or esi, ebp
mov ebp, dword [esp + 0x40]
xor eax, edi
xor ecx, esi
mov esi, dword [esp + 0x34]
mov edi, edx
not edi
and edi, ebp
mov ebp, dword [esp + 0x44]
mov ebx, esi
not ebx
and ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, edx
mov edx, dword [esp + 0x24]
and edx, esi
mov esi, dword [esp + 0x124]
xor edi, ebp
mov ebp, dword [esp + 0x4c]
xor ebx, edx
mov edx, dword [esp + 0x48]
add eax, edi
adc ecx, ebx
add eax, dword [esp + 0x120]
adc ecx, esi
mov esi, dword [esp + 0x28]
add eax, edx
adc ecx, ebp
mov edx, dword [esp + 0x2c]
add eax, 0x25c71235
adc ecx, 0x9bdc06a7
add esi, eax
adc edx, ecx
mov dword [esp + 0x28], esi
mov esi, dword [esp + 0x18]
mov edi, esi
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x10], eax
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
mov dword [esp + 0x2c], edx
xor edx, edx
or edx, edi
xor eax, ebx
mov ebx, dword [esp + 0x18]
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 + 0x54]
shl ebx, 0x19
mov esi, ecx
shr esi, 7
or esi, ebx
xor eax, edi
mov edi, dword [esp + 0x50]
xor edx, esi
mov esi, dword [esp + 0x18]
mov ebx, edi
xor ebx, esi
and ebx, dword [esp + 0x38]
xor ebp, ecx
and ebp, dword [esp + 0x3c]
and edi, esi
mov esi, dword [esp + 0x54]
and esi, ecx
xor ebp, esi
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
xor ebx, edi
add edx, ebx
adc eax, ebp
add edx, esi
adc eax, ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x4c], eax
movzx eax, byte [ecx + 0x76]
mov dword [esp + 0x48], edx
cdq
shld edx, eax, 8
shl eax, 8
mov esi, eax
movzx eax, byte [ecx + 0x77]
mov edi, edx
cdq
or esi, eax
movzx eax, byte [ecx + 0x78]
or edi, edx
shld edi, esi, 8
shl esi, 8
cdq
or esi, eax
movzx eax, byte [ecx + 0x79]
or edi, edx
shld edi, esi, 8
shl esi, 8
cdq
or esi, eax
movzx eax, byte [ecx + 0x7a]
or edi, edx
shld edi, esi, 8
shl esi, 8
cdq
or esi, eax
movzx eax, byte [ecx + 0x7b]
or edi, edx
shld edi, esi, 8
shl esi, 8
cdq
or esi, eax
movzx eax, byte [ecx + 0x7c]
or edi, edx
shld edi, esi, 8
shl esi, 8
cdq
or esi, eax
movzx eax, byte [ecx + 0x7d]
or edi, edx
shld edi, esi, 8
cdq
shl esi, 8
or esi, eax
or edi, edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x128], esi
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x12c], edi
mov ebx, esi
mov edi, edx
shld ebx, edi, 0x17
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
xor ebx, ebx
shr esi, 0x12
shl edi, 0xe
or ebx, ebp
or edi, esi
xor eax, ebx
xor ecx, edi
mov esi, edx
mov ebp, dword [esp + 0x2c]
xor edi, edi
shl esi, 0x12
mov ebx, edx
shrd ebx, ebp, 0xe
or edi, ebx
xor eax, edi
shr ebp, 0xe
or esi, ebp
mov ebp, dword [esp + 0x20]
xor ecx, esi
mov esi, dword [esp + 0x2c]
mov edi, edx
not edi
and edi, ebp
mov ebp, dword [esp + 0x24]
mov ebx, esi
not ebx
and ebx, ebp
mov ebp, dword [esp + 0x30]
and ebp, edx
mov edx, dword [esp + 0x34]
and edx, esi
mov esi, dword [esp + 0x12c]
xor ebx, edx
mov edx, dword [esp + 0x40]
xor edi, ebp
mov ebp, dword [esp + 0x44]
add eax, edi
adc ecx, ebx
add eax, dword [esp + 0x128]
adc ecx, esi
mov esi, dword [esp + 0x38]
add eax, edx
adc ecx, ebp
mov edx, dword [esp + 0x3c]
add eax, 0xcf692694
adc ecx, 0xc19bf174
add esi, eax
adc edx, ecx
mov dword [esp + 0x38], esi
mov esi, dword [esp + 0x48]
mov edi, esi
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x10], eax
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
mov dword [esp + 0x3c], edx
or ebx, ebp
xor edx, edx
or edx, edi
xor eax, ebx
mov ebx, dword [esp + 0x48]
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 + 0x18]
xor edx, esi
mov esi, dword [esp + 0x48]
mov ebx, edi
xor ebx, esi
mov ebp, dword [esp + 0x1c]
and ebx, dword [esp + 0x50]
xor ebp, ecx
and ebp, dword [esp + 0x54]
and edi, esi
mov esi, dword [esp + 0x1c]
and esi, ecx
mov ecx, dword [esp + 0x14]
xor ebp, esi
mov esi, dword [esp + 0x10]
xor ebx, edi
add edx, ebx
adc eax, ebp
add edx, esi
adc eax, ecx
mov ecx, 0x11
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], eax
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x74], 0x100a2c78
mov eax, ecx
lea esi, [ecx - 3]
lea edi, [ecx - 7]
and eax, 0xf
and esi, 0xf
dec ecx
and ecx, 0xf
lea ecx, [esp + ecx*8 + 0xb0]
lea edx, [esp + eax*8 + 0xb0]
mov eax, dword [edx]
mov dword [esp + 0x90], edx
mov edx, dword [edx + 4]
mov dword [esp + 0x5c], edx
mov edx, dword [esp + esi*8 + 0xb0]
mov dword [esp + 0x98], ecx
mov ecx, edx
lea esi, [esp + esi*8 + 0xb0]
mov dword [esp + 0x9c], esi
mov esi, dword [esi + 4]
xor ebx, ebx
mov ebp, esi
shrd ecx, ebp, 0x13
or ebx, ecx
mov dword [esp + 0x64], edx
mov dword [esp + 0x8c], edi
mov edi, edx
mov dword [esp + 0x68], esi
mov ecx, esi
shld esi, edx, 3
shl edx, 3
shr ecx, 0x1d
or ecx, edx
mov edx, dword [esp + 0x64]
xor ebx, ecx
mov ecx, dword [esp + 0x68]
shrd edx, ecx, 6
shr ebp, 0x13
xor ebx, edx
shl edi, 0xd
or edi, ebp
xor ebp, ebp
or ebp, esi
xor edi, ebp
shr ecx, 6
xor edi, ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x70], ebx
mov ebp, ecx
mov ebx, eax
shrd ebx, ebp, 8
xor esi, esi
or esi, ebx
mov dword [esp + 0x58], eax
mov edx, eax
shl edx, 0x18
shr ebp, 8
or edx, ebp
mov ebx, eax
shrd eax, ecx, 1
shr ecx, 1
xor ebp, ebp
shl ebx, 0x1f
or ebx, ecx
mov ecx, dword [esp + 0x58]
or ebp, eax
mov eax, dword [esp + 0x5c]
shrd ecx, eax, 7
xor esi, ebp
xor edx, ebx
shr eax, 7
xor esi, ecx
mov ecx, dword [esp + 0x70]
xor edx, eax
add ecx, esi
adc edi, edx
mov edx, dword [esp + 0x8c]
dec edx
and edx, 0xf
add ecx, dword [esp + edx*8 + 0xb0]
adc edi, dword [esp + edx*8 + 0xb4]
mov eax, dword [esp + 0x98]
mov esi, dword [eax]
mov edx, dword [eax + 4]
add esi, ecx
adc edx, edi
mov dword [eax], esi
mov esi, dword [esp + 0x3c]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x38]
mov ebx, esi
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 + 0x3c]
shr eax, 9
or eax, edi
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 + 0x30]
xor ecx, esi
mov esi, dword [esp + 0x3c]
mov edi, edx
not edi
and edi, ebp
mov ebp, dword [esp + 0x34]
mov ebx, esi
not ebx
and ebx, ebp
mov ebp, dword [esp + 0x28]
and ebp, edx
mov edx, dword [esp + 0x2c]
and edx, esi
xor ebx, edx
mov edx, dword [esp + 0x74]
mov esi, dword [edx - 4]
xor edi, ebp
add eax, edi
mov edi, dword [edx - 8]
mov edx, dword [esp + 0x98]
mov ebp, dword [edx]
adc ecx, ebx
mov ebx, dword [edx + 4]
mov edx, dword [esp + 0x50]
add eax, edi
mov edi, dword [esp + 0x20]
adc ecx, esi
mov esi, dword [esp + 0x24]
add eax, ebp
adc ecx, ebx
add eax, edi
adc ecx, esi
mov esi, dword [esp + 0x48]
add edx, eax
mov dword [esp + 0x10], eax
adc dword [esp + 0x54], ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x50], edx
mov eax, esi
mov ecx, dword [esp + 0x40]
mov edi, dword [esp + 0x4c]
xor eax, ecx
mov edx, edi
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x44]
xor edx, eax
mov dword [esp + 0x7c], edx
mov edx, esi
and edx, ecx
mov dword [esp + 0x80], edx
mov edx, edi
and edx, eax
mov edi, ecx
mov dword [esp + 0x84], edx
mov edx, ecx
shl edx, 4
mov ebx, eax
shrd edi, ebx, 0x1c
shr ebx, 0x1c
or edx, ebx
mov ebp, eax
shld ebp, ecx, 0x1e
shl ecx, 0x1e
xor ebx, ebx
xor esi, esi
or esi, edi
or ebx, ebp
mov ebp, dword [esp + 0x80]
xor edx, ebx
mov ebx, dword [esp + 0x40]
mov edi, eax
shr edi, 2
or edi, ecx
mov ecx, eax
shld eax, ebx, 0x19
shr ecx, 7
xor esi, edi
xor edi, edi
or edi, eax
mov eax, dword [esp + 0x78]
xor edx, edi
mov edi, dword [esp + 0x1c]
shl ebx, 0x19
or ecx, ebx
mov ebx, dword [esp + 0x18]
xor esi, ecx
mov ecx, dword [esp + 0x7c]
and ecx, edi
mov edi, dword [esp + 0x14]
and eax, ebx
xor ecx, dword [esp + 0x84]
mov ebx, dword [esp + 0x10]
xor eax, ebp
add esi, eax
adc edx, ecx
add esi, ebx
adc edx, edi
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x6c]
lea ecx, [edx + 1]
and ecx, 0xf
mov eax, dword [esp + ecx*8 + 0xb0]
lea ecx, [esp + ecx*8 + 0xb0]
add edx, 0xfffffffe
and edx, 0xf
mov dword [esp + 0x94], ecx
mov ecx, dword [ecx + 4]
lea edx, [esp + edx*8 + 0xb0]
mov dword [esp + 0x5c], ecx
mov ecx, dword [edx]
mov dword [esp + 0x20], esi
mov dword [esp + 0xa0], edx
mov edx, dword [edx + 4]
mov esi, ecx
xor edi, edi
mov dword [esp + 0x58], eax
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], edx
shl esi, 0xd
mov ebx, ecx
mov ebp, edx
shrd ebx, ebp, 0x13
or edi, ebx
mov ebx, edx
shld edx, ecx, 3
shl ecx, 3
shr ebp, 0x13
or esi, ebp
shr ebx, 0x1d
or ebx, ecx
mov ecx, dword [esp + 0x68]
xor edi, ebx
xor ebp, ebp
or ebp, edx
mov edx, dword [esp + 0x64]
shrd edx, ecx, 6
xor edi, edx
xor esi, ebp
shr ecx, 6
xor esi, ecx
mov ecx, dword [esp + 0x5c]
mov ebp, ecx
mov dword [esp + 0x70], edi
xor edi, edi
mov ebx, eax
shrd ebx, ebp, 8
or edi, ebx
mov edx, eax
shl edx, 0x18
shr ebp, 8
or edx, ebp
mov ebx, eax
shrd eax, ecx, 1
shr ecx, 1
shl ebx, 0x1f
or ebx, ecx
mov ecx, dword [esp + 0x58]
xor ebp, ebp
or ebp, eax
mov eax, dword [esp + 0x5c]
shrd ecx, eax, 7
xor edi, ebp
xor edi, ecx
mov ecx, dword [esp + 0x70]
xor edx, ebx
shr eax, 7
xor edx, eax
mov eax, dword [esp + 0x90]
add ecx, edi
adc esi, edx
mov edx, dword [esp + 0x8c]
and edx, 0xf
add ecx, dword [esp + edx*8 + 0xb0]
mov edi, dword [esp + edx*8 + 0xb4]
mov edx, dword [eax]
adc esi, edi
add edx, ecx
mov ecx, dword [eax + 4]
adc ecx, esi
mov esi, dword [esp + 0x54]
mov dword [eax + 4], ecx
mov dword [eax], edx
mov eax, dword [esp + 0x50]
mov ebx, esi
mov edi, eax
shld ebx, edi, 0x17
mov ecx, esi
shl edi, 0x17
mov ebp, eax
shr ecx, 9
shrd ebp, esi, 0x12
xor edx, edx
or ecx, edi
or edx, ebx
mov edi, eax
xor ebx, ebx
shl edi, 0xe
shr esi, 0x12
or ebx, ebp
mov ebp, dword [esp + 0x54]
or edi, esi
xor ecx, ebx
xor edx, edi
mov ebx, eax
shrd ebx, ebp, 0xe
shr ebp, 0xe
xor edi, edi
or edi, ebx
mov esi, eax
shl esi, 0x12
or esi, ebp
mov ebp, dword [esp + 0x28]
xor edx, esi
mov esi, dword [esp + 0x54]
xor ecx, edi
mov edi, eax
not edi
and edi, ebp
mov ebp, dword [esp + 0x2c]
mov ebx, esi
not ebx
and ebx, ebp
mov ebp, dword [esp + 0x38]
and ebp, eax
mov eax, dword [esp + 0x3c]
and eax, esi
xor ebx, eax
mov eax, dword [esp + 0x90]
xor edi, ebp
add ecx, edi
mov edi, dword [eax + 4]
adc edx, ebx
mov ebx, dword [eax]
mov eax, dword [esp + 0x74]
mov esi, dword [eax]
mov ebp, dword [eax + 4]
mov eax, dword [esp + 0x1c]
add ecx, ebx
mov ebx, dword [esp + 0x30]
adc edx, edi
mov edi, dword [esp + 0x34]
add ecx, esi
mov esi, dword [esp + 0x18]
adc edx, ebp
add ecx, ebx
adc edx, edi
add esi, ecx
adc eax, edx
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x20]
mov ebx, eax
mov ebp, edx
shrd ebx, ebp, 0x1c
xor edi, edi
or edi, ebx
mov dword [esp + 0x18], esi
mov esi, eax
shr ebp, 0x1c
mov ebx, edx
shld edx, eax, 0x1e
shl esi, 4
or esi, ebp
xor ebp, ebp
or ebp, edx
shl eax, 0x1e
shr ebx, 2
or ebx, eax
mov eax, dword [esp + 0x24]
xor esi, ebp
mov ebp, dword [esp + 0x20]
mov edx, eax
shld eax, ebp, 0x19
xor edi, ebx
shr edx, 7
shl ebp, 0x19
xor ebx, ebx
or edx, ebp
or ebx, eax
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x78]
xor edi, edx
mov edx, dword [esp + 0x7c]
xor esi, ebx
and edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x84]
and eax, ebp
mov ebp, dword [esp + 0x80]
xor edx, ebx
xor eax, ebp
add edi, eax
adc esi, edx
mov eax, dword [esp + 0x6c]
add edi, ecx
adc esi, dword [esp + 0x14]
mov edx, dword [esp + 0x98]
lea ecx, [eax + 2]
and ecx, 0xf
mov eax, dword [esp + ecx*8 + 0xb0]
lea ecx, [esp + ecx*8 + 0xb0]
mov dword [esp + 0x70], ecx
mov ecx, dword [ecx + 4]
mov dword [esp + 0x5c], ecx
mov ecx, dword [edx]
mov edx, dword [edx + 4]
mov ebx, ecx
mov ebp, edx
shrd ebx, ebp, 0x13
mov dword [esp + 0x30], edi
mov dword [esp + 0x64], ecx
xor edi, edi
or edi, ebx
mov dword [esp + 0x68], edx
mov ebx, edx
mov dword [esp + 0x34], esi
mov esi, ecx
shld edx, ecx, 3
shr ebp, 0x13
shl ecx, 3
shl esi, 0xd
or esi, ebp
shr ebx, 0x1d
or ebx, ecx
mov ecx, dword [esp + 0x68]
xor ebp, ebp
or ebp, edx
mov edx, dword [esp + 0x64]
shrd edx, ecx, 6
xor esi, ebp
shr ecx, 6
xor edi, ebx
xor esi, ecx
mov ecx, dword [esp + 0x5c]
xor edi, edx
mov ebp, ecx
mov ebx, eax
shrd ebx, ebp, 8
mov dword [esp + 0x88], edi
xor edi, edi
or edi, ebx
mov dword [esp + 0x58], eax
mov edx, eax
mov ebx, eax
shrd eax, ecx, 1
shr ebp, 8
shl edx, 0x18
or edx, ebp
shr ecx, 1
xor ebp, ebp
shl ebx, 0x1f
or ebx, ecx
mov ecx, dword [esp + 0x58]
or ebp, eax
mov eax, dword [esp + 0x5c]
xor edi, ebp
xor edx, ebx
shrd ecx, eax, 7
shr eax, 7
xor edi, ecx
mov ecx, dword [esp + 0x88]
xor edx, eax
add ecx, edi
adc esi, edx
mov edx, dword [esp + 0x8c]
mov eax, dword [esp + 0x94]
mov edi, dword [eax]
inc edx
and edx, 0xf
add ecx, dword [esp + edx*8 + 0xb0]
adc esi, dword [esp + edx*8 + 0xb4]
mov edx, dword [eax + 4]
add edi, ecx
adc edx, esi
mov esi, dword [esp + 0x1c]
mov dword [eax], edi
mov dword [eax + 4], edx
mov edx, dword [esp + 0x18]
mov ebx, esi
mov edi, edx
shld ebx, edi, 0x17
shl edi, 0x17
xor ecx, ecx
or ecx, ebx
mov eax, esi
xor ebx, ebx
mov ebp, edx
shrd ebp, esi, 0x12
or ebx, ebp
mov ebp, dword [esp + 0x1c]
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 + 0x38]
xor eax, edi
xor ecx, esi
mov esi, dword [esp + 0x1c]
mov edi, edx
not edi
and edi, ebp
mov ebp, dword [esp + 0x3c]
mov ebx, esi
not ebx
and ebx, ebp
mov ebp, dword [esp + 0x50]
and ebp, edx
mov edx, dword [esp + 0x54]
and edx, esi
xor ebx, edx
mov edx, dword [esp + 0x74]
mov esi, dword [edx + 0xc]
xor edi, ebp
mov ebp, dword [esp + 0x2c]
add eax, edi
mov edi, dword [edx + 8]
mov edx, dword [esp + 0x28]
adc ecx, ebx
add eax, edi
adc ecx, esi
add eax, edx
mov edx, dword [esp + 0x94]
mov ebx, dword [edx]
adc ecx, ebp
add eax, ebx
mov dword [esp + 0x10], eax
adc ecx, dword [edx + 4]
mov esi, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
add esi, eax
adc edx, ecx
mov eax, dword [esp + 0x34]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x4c], edx
mov edx, ecx
mov dword [esp + 0x48], esi
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]
shl ecx, 0x1e
xor edi, edi
or edi, edx
mov edx, eax
shr edx, 2
or edx, ecx
xor edi, edx
mov ebp, eax
shld ebp, ebx, 0x19
shl ebx, 0x19
xor edx, edx
or edx, ebp
mov ecx, eax
shr ecx, 7
or ecx, ebx
xor edi, ecx
mov ecx, dword [esp + 0x30]
xor esi, edx
mov edx, dword [esp + 0x40]
mov ebx, ecx
and ecx, edx
xor ebx, edx
and ebx, dword [esp + 0x20]
mov edx, dword [esp + 0x44]
mov ebp, eax
xor ebp, dword [esp + 0x44]
and eax, edx
and ebp, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
xor ebx, ecx
mov ecx, dword [esp + 0x14]
xor ebp, eax
mov eax, dword [esp + 0x6c]
add edi, ebx
adc esi, ebp
add edi, edx
mov edx, dword [esp + 0x90]
adc esi, ecx
lea ecx, [eax + 3]
and ecx, 0xf
mov eax, dword [esp + ecx*8 + 0xb0]
lea ecx, [esp + ecx*8 + 0xb0]
mov dword [esp + 0x8c], ecx
mov ecx, dword [ecx + 4]
mov dword [esp + 0x5c], ecx
mov ecx, dword [edx]
mov edx, dword [edx + 4]
mov dword [esp + 0x2c], esi
mov dword [esp + 0x28], edi
mov esi, ecx
xor edi, edi
mov dword [esp + 0x58], eax
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], edx
shl esi, 0xd
mov ebx, ecx
mov ebp, edx
shrd ebx, ebp, 0x13
or edi, ebx
mov ebx, edx
shld edx, ecx, 3
shr ebp, 0x13
or esi, ebp
shr ebx, 0x1d
shl ecx, 3
or ebx, ecx
mov ecx, dword [esp + 0x68]
xor edi, ebx
xor ebp, ebp
or ebp, edx
mov edx, dword [esp + 0x64]
shrd edx, ecx, 6
xor edi, edx
xor esi, ebp
shr ecx, 6
xor esi, ecx
mov ecx, dword [esp + 0x5c]
mov ebp, ecx
mov dword [esp + 0x88], edi
xor edi, edi
mov ebx, eax
shrd ebx, ebp, 8
or edi, ebx
mov edx, eax
shl edx, 0x18
mov ebx, eax
shrd eax, ecx, 1
shr ebp, 8
or edx, ebp
shl ebx, 0x1f
shr ecx, 1
or ebx, ecx
mov ecx, dword [esp + 0x58]
xor ebp, ebp
or ebp, eax
mov eax, dword [esp + 0x5c]
shrd ecx, eax, 7
xor edi, ebp
xor edx, ebx
xor edi, ecx
mov ecx, dword [esp + 0x88]
shr eax, 7
xor edx, eax
mov eax, dword [esp + 0x70]
add ecx, edi
mov edi, dword [eax]
adc esi, edx
mov edx, dword [esp + 0x6c]
add edx, 0xfffffffb
and edx, 0xf
add ecx, dword [esp + edx*8 + 0xb0]
mov ebx, dword [esp + edx*8 + 0xb4]
mov edx, dword [eax + 4]
adc esi, ebx
add edi, ecx
adc edx, esi
mov esi, dword [esp + 0x4c]
mov dword [eax], edi
mov dword [eax + 4], edx
mov edx, dword [esp + 0x48]
mov ebx, esi
mov edi, edx
shld ebx, edi, 0x17
mov eax, esi
shl edi, 0x17
mov ebp, edx
shrd ebp, esi, 0x12
shr eax, 9
xor ecx, ecx
or eax, edi
or ecx, ebx
mov edi, edx
xor ebx, ebx
shl edi, 0xe
shr esi, 0x12
or ebx, ebp
or edi, esi
mov ebp, dword [esp + 0x4c]
xor eax, ebx
xor ecx, edi
mov ebx, edx
shrd ebx, ebp, 0xe
xor edi, edi
or edi, ebx
mov esi, edx
shr ebp, 0xe
shl esi, 0x12
or esi, ebp
mov ebp, dword [esp + 0x50]
xor ecx, esi
mov esi, dword [esp + 0x4c]
xor eax, edi
mov edi, edx
not edi
and edi, ebp
mov ebp, dword [esp + 0x54]
mov ebx, esi
not ebx
and ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, edx
mov edx, dword [esp + 0x1c]
and edx, esi
xor ebx, edx
mov edx, dword [esp + 0x74]
mov esi, dword [edx + 0x14]
xor edi, ebp
mov ebp, dword [esp + 0x3c]
add eax, edi
mov edi, dword [edx + 0x10]
adc ecx, ebx
mov edx, dword [esp + 0x38]
add eax, edi
adc ecx, esi
mov esi, dword [esp + 0x40]
add eax, edx
mov edx, dword [esp + 0x70]
mov ebx, dword [edx]
mov edi, dword [edx + 4]
mov edx, dword [esp + 0x44]
adc ecx, ebp
add eax, ebx
adc ecx, edi
add esi, eax
adc edx, ecx
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x44], edx
mov edx, ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x2c]
mov ebx, eax
shrd edx, ebx, 0x1c
mov dword [esp + 0x40], esi
mov esi, ecx
shr ebx, 0x1c
shl esi, 4
or esi, ebx
mov ebp, eax
shld ebp, ecx, 0x1e
xor ebx, ebx
or ebx, ebp
xor edi, edi
or edi, edx
xor esi, ebx
mov ebx, dword [esp + 0x28]
shl ecx, 0x1e
mov edx, eax
shr edx, 2
or edx, ecx
mov ebp, eax
shld ebp, ebx, 0x19
mov ecx, eax
xor edi, edx
shr ecx, 7
shl ebx, 0x19
xor edx, edx
or ecx, ebx
or edx, ebp
mov ebp, dword [esp + 0x34]
xor edi, ecx
mov ecx, dword [esp + 0x28]
xor esi, edx
mov edx, dword [esp + 0x30]
xor ebp, eax
and ebp, dword [esp + 0x24]
mov ebx, edx
xor ebx, ecx
and ebx, dword [esp + 0x20]
and edx, ecx
mov ecx, dword [esp + 0x34]
xor ebx, edx
mov edx, dword [esp + 0x10]
and ecx, eax
xor ebp, ecx
mov ecx, dword [esp + 0x14]
add edi, ebx
adc esi, ebp
add edi, edx
adc esi, ecx
mov edx, dword [esp + 0x6c]
lea ecx, [edx + 4]
mov edx, dword [esp + 0x94]
and ecx, 0xf
mov eax, dword [esp + ecx*8 + 0xb0]
lea ecx, [esp + ecx*8 + 0xb0]
mov dword [esp + 0x90], ecx
mov ecx, dword [ecx + 4]
mov dword [esp + 0x5c], ecx
mov ecx, dword [edx]
mov edx, dword [edx + 4]
mov ebx, ecx
mov ebp, edx
shrd ebx, ebp, 0x13
mov dword [esp + 0x38], edi
xor edi, edi
or edi, ebx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], edx
mov ebx, edx
mov dword [esp + 0x3c], esi
mov esi, ecx
shld edx, ecx, 3
shr ebp, 0x13
shl esi, 0xd
or esi, ebp
shr ebx, 0x1d
xor ebp, ebp
or ebp, edx
mov edx, dword [esp + 0x64]
shl ecx, 3
or ebx, ecx
mov ecx, dword [esp + 0x68]
shrd edx, ecx, 6
xor esi, ebp
xor edi, ebx
shr ecx, 6
xor esi, ecx
mov ecx, dword [esp + 0x5c]
xor edi, edx
mov ebp, ecx
mov ebx, eax
shrd ebx, ebp, 8
mov dword [esp + 0x88], edi
xor edi, edi
or edi, ebx
mov edx, eax
shr ebp, 8
mov ebx, eax
mov dword [esp + 0x58], eax
shrd eax, ecx, 1
shl edx, 0x18
or edx, ebp
xor ebp, ebp
shl ebx, 0x1f
shr ecx, 1
or ebp, eax
or ebx, ecx
xor edi, ebp
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x58]
xor edx, ebx
shrd ecx, eax, 7
xor edi, ecx
mov ecx, dword [esp + 0x88]
shr eax, 7
xor edx, eax
add ecx, edi
adc esi, edx
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x8c]
mov edi, dword [eax]
add edx, 0xfffffffc
and edx, 0xf
add ecx, dword [esp + edx*8 + 0xb0]
adc esi, dword [esp + edx*8 + 0xb4]
mov edx, dword [eax + 4]
add edi, ecx
adc edx, esi
mov esi, dword [esp + 0x44]
mov dword [eax], edi
mov dword [eax + 4], edx
mov edx, dword [esp + 0x40]
mov ebx, esi
mov edi, edx
shld ebx, edi, 0x17
shl edi, 0x17
mov eax, esi
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
shr ebp, 0xe
mov esi, edx
shl esi, 0x12
or esi, ebp
mov ebp, dword [esp + 0x18]
xor eax, edi
xor ecx, esi
mov esi, dword [esp + 0x44]
mov edi, edx
not edi
and edi, ebp
mov ebp, dword [esp + 0x1c]
mov ebx, esi
not ebx
and ebx, ebp
mov ebp, dword [esp + 0x48]
and ebp, edx
mov edx, dword [esp + 0x4c]
and edx, esi
xor ebx, edx
mov edx, dword [esp + 0x74]
xor edi, ebp
add eax, edi
mov edi, dword [edx + 0x1c]
adc ecx, ebx
mov ebx, dword [edx + 0x18]
mov edx, dword [esp + 0x8c]
mov esi, dword [edx]
add eax, ebx
adc ecx, edi
add eax, esi
adc ecx, dword [edx + 4]
mov ebx, dword [esp + 0x50]
mov edi, dword [esp + 0x54]
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
add eax, ebx
adc ecx, edi
add esi, eax
adc edx, ecx
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x24], edx
mov edx, ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x20], esi
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
shl ecx, 0x1e
xor esi, ebx
mov ebx, dword [esp + 0x38]
xor edi, edi
or edi, edx
mov edx, eax
shr edx, 2
or edx, ecx
xor edi, edx
xor edx, edx
mov ebp, eax
shld ebp, ebx, 0x19
or edx, ebp
mov ebp, dword [esp + 0x2c]
xor esi, edx
mov edx, dword [esp + 0x28]
shl ebx, 0x19
mov ecx, eax
shr ecx, 7
or ecx, ebx
xor edi, ecx
mov ecx, dword [esp + 0x38]
mov ebx, edx
and edx, ecx
xor ebx, ecx
and ebx, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
and ecx, eax
xor ebp, eax
and ebp, dword [esp + 0x34]
xor ebx, edx
mov edx, dword [esp + 0x10]
xor ebp, ecx
mov ecx, dword [esp + 0x14]
add edi, ebx
adc esi, ebp
add edi, edx
mov edx, dword [esp + 0x6c]
adc esi, ecx
lea ecx, [edx + 5]
mov edx, dword [esp + 0x70]
and ecx, 0xf
mov eax, dword [esp + ecx*8 + 0xb0]
lea ecx, [esp + ecx*8 + 0xb0]
mov dword [esp + 0x94], ecx
mov ecx, dword [ecx + 4]
mov dword [esp + 0x5c], ecx
mov ecx, dword [edx]
mov edx, dword [edx + 4]
mov dword [esp + 0x50], edi
mov dword [esp + 0x54], esi
mov dword [esp + 0x58], eax
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], edx
mov ebx, ecx
xor edi, edi
mov ebp, edx
shrd ebx, ebp, 0x13
or edi, ebx
mov esi, ecx
mov ebx, edx
shld edx, ecx, 3
shr ebp, 0x13
shl ecx, 3
shr ebx, 0x1d
or ebx, ecx
mov ecx, dword [esp + 0x68]
shl esi, 0xd
or esi, ebp
xor edi, ebx
xor ebp, ebp
or ebp, edx
mov edx, dword [esp + 0x64]
shrd edx, ecx, 6
xor edi, edx
xor esi, ebp
shr ecx, 6
xor esi, ecx
mov ecx, dword [esp + 0x5c]
mov ebp, ecx
mov ebx, eax
shrd ebx, ebp, 8
mov dword [esp + 0x88], edi
xor edi, edi
or edi, ebx
mov edx, eax
mov ebx, eax
shrd eax, ecx, 1
shl edx, 0x18
shr ebp, 8
or edx, ebp
shr ecx, 1
shl ebx, 0x1f
or ebx, ecx
mov ecx, dword [esp + 0x58]
xor ebp, ebp
or ebp, eax
mov eax, dword [esp + 0x5c]
shrd ecx, eax, 7
xor edi, ebp
xor edx, ebx
xor edi, ecx
mov ecx, dword [esp + 0x88]
shr eax, 7
xor edx, eax
mov eax, dword [esp + 0x9c]
mov ebp, dword [eax]
mov ebx, dword [eax + 4]
mov eax, dword [esp + 0x90]
add ecx, edi
mov edi, dword [eax]
adc esi, edx
mov edx, dword [eax + 4]
add ecx, ebp
adc esi, ebx
add edi, ecx
adc edx, esi
mov esi, dword [esp + 0x24]
mov dword [eax], edi
mov dword [eax + 4], edx
mov edx, dword [esp + 0x20]
mov ebx, esi
mov edi, edx
shld ebx, edi, 0x17
mov eax, esi
shl edi, 0x17
shr eax, 9
or eax, edi
xor ecx, ecx
or ecx, ebx
mov edi, edx
mov ebp, edx
xor ebx, ebx
shl edi, 0xe
shrd ebp, esi, 0x12
or ebx, ebp
mov ebp, dword [esp + 0x24]
xor eax, ebx
shr esi, 0x12
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 + 0x48]
xor ecx, esi
mov esi, dword [esp + 0x24]
xor eax, edi
mov edi, edx
mov ebx, esi
not edi
and edi, ebp
mov ebp, dword [esp + 0x4c]
not ebx
and ebx, ebp
and edx, dword [esp + 0x40]
mov ebp, dword [esp + 0x44]
xor edi, edx
mov edx, dword [esp + 0x74]
and esi, ebp
mov ebp, dword [esp + 0x1c]
xor ebx, esi
mov esi, dword [edx + 0x24]
add eax, edi
mov edi, dword [edx + 0x20]
mov edx, dword [esp + 0x18]
adc ecx, ebx
add eax, edi
adc ecx, esi
mov esi, dword [esp + 0x30]
add eax, edx
mov edx, dword [esp + 0x90]
mov ebx, dword [edx]
mov edi, dword [edx + 4]
mov edx, dword [esp + 0x34]
adc ecx, ebp
add eax, ebx
adc ecx, edi
add esi, eax
adc edx, ecx
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x34], edx
mov edx, ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x30], esi
mov esi, ecx
mov ebx, eax
shrd edx, ebx, 0x1c
xor edi, edi
or edi, edx
mov ebp, eax
shld ebp, ecx, 0x1e
shr ebx, 0x1c
shl esi, 4
or esi, ebx
shl ecx, 0x1e
mov edx, eax
shr edx, 2
xor ebx, ebx
or edx, ecx
or ebx, ebp
mov ecx, eax
xor esi, ebx
mov ebx, dword [esp + 0x50]
xor edi, edx
shr ecx, 7
xor edx, edx
mov ebp, eax
shld ebp, ebx, 0x19
or edx, ebp
mov ebp, dword [esp + 0x3c]
xor esi, edx
mov edx, dword [esp + 0x38]
shl ebx, 0x19
or ecx, ebx
xor edi, ecx
mov ecx, dword [esp + 0x50]
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 + 0x3c]
xor ebx, edx
mov edx, dword [esp + 0x10]
and ecx, eax
xor ebp, ecx
mov ecx, dword [esp + 0x14]
add edi, ebx
adc esi, ebp
add edi, edx
adc esi, ecx
mov edx, dword [esp + 0x6c]
lea ecx, [edx + 6]
mov edx, dword [esp + 0x8c]
and ecx, 0xf
mov eax, dword [esp + ecx*8 + 0xb0]
lea ecx, [esp + ecx*8 + 0xb0]
mov dword [esp + 0x70], ecx
mov ecx, dword [ecx + 4]
mov dword [esp + 0x5c], ecx
mov ecx, dword [edx]
mov edx, dword [edx + 4]
mov ebx, ecx
mov ebp, edx
shrd ebx, ebp, 0x13
mov dword [esp + 0x18], edi
xor edi, edi
or edi, ebx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], edx
mov ebx, edx
mov dword [esp + 0x1c], esi
mov esi, ecx
shld edx, ecx, 3
shr ebp, 0x13
shl esi, 0xd
or esi, ebp
shr ebx, 0x1d
xor ebp, ebp
or ebp, edx
mov edx, dword [esp + 0x64]
shl ecx, 3
or ebx, ecx
mov ecx, dword [esp + 0x68]
shrd edx, ecx, 6
xor esi, ebp
xor edi, ebx
shr ecx, 6
xor esi, ecx
mov ecx, dword [esp + 0x5c]
xor edi, edx
mov ebp, ecx
mov ebx, eax
shrd ebx, ebp, 8
mov dword [esp + 0x9c], edi
xor edi, edi
or edi, ebx
mov edx, eax
mov ebx, eax
mov dword [esp + 0x58], eax
shr ebp, 8
shl edx, 0x18
shrd eax, ecx, 1
or edx, ebp
xor ebp, ebp
shl ebx, 0x1f
shr ecx, 1
or ebx, ecx
mov ecx, dword [esp + 0x58]
or ebp, eax
mov eax, dword [esp + 0x5c]
xor edi, ebp
xor edx, ebx
shrd ecx, eax, 7
xor edi, ecx
mov ecx, dword [esp + 0x9c]
shr eax, 7
xor edx, eax
mov eax, dword [esp + 0xa0]
mov ebp, dword [eax]
mov ebx, dword [eax + 4]
mov eax, dword [esp + 0x94]
add ecx, edi
adc esi, edx
mov edi, dword [eax]
mov edx, dword [eax + 4]
add ecx, ebp
adc esi, ebx
add edi, ecx
adc edx, esi
mov esi, dword [esp + 0x34]
mov dword [eax], edi
mov dword [eax + 4], edx
mov edx, dword [esp + 0x30]
mov ebx, esi
mov edi, edx
shld ebx, edi, 0x17
shl edi, 0x17
mov eax, esi
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
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 + 0x40]
xor eax, edi
xor ecx, esi
mov esi, dword [esp + 0x34]
mov edi, edx
not edi
and edi, ebp
mov ebp, dword [esp + 0x44]
mov ebx, esi
not ebx
and ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, edx
mov edx, dword [esp + 0x24]
and edx, esi
xor ebx, edx
mov edx, dword [esp + 0x74]
xor edi, ebp
add eax, edi
mov edi, dword [edx + 0x2c]
adc ecx, ebx
mov ebx, dword [edx + 0x28]
mov edx, dword [esp + 0x94]
mov esi, dword [edx]
add eax, ebx
adc ecx, edi
mov ebp, dword [edx + 4]
mov ebx, dword [esp + 0x48]
mov edi, dword [esp + 0x4c]
mov edx, dword [esp + 0x2c]
add eax, esi
adc ecx, ebp
mov esi, dword [esp + 0x28]
add eax, ebx
adc ecx, edi
add esi, eax
adc edx, ecx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x18]
mov edx, ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x28], esi
mov esi, ecx
shl esi, 4
mov ebx, eax
shrd edx, ebx, 0x1c
shr ebx, 0x1c
or esi, ebx
xor ebx, ebx
mov ebp, eax
shld ebp, ecx, 0x1e
or ebx, ebp
xor esi, ebx
mov ebx, dword [esp + 0x18]
shl ecx, 0x1e
xor edi, edi
or edi, edx
mov edx, eax
shr edx, 2
or edx, ecx
xor edi, edx
xor edx, edx
mov ebp, eax
shld ebp, ebx, 0x19
or edx, ebp
mov ebp, dword [esp + 0x54]
xor esi, edx
mov edx, dword [esp + 0x50]
shl ebx, 0x19
mov ecx, eax
shr ecx, 7
or ecx, ebx
xor edi, ecx
mov ecx, dword [esp + 0x18]
mov ebx, edx
and edx, ecx
xor ebx, ecx
and ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0x54]
xor ebp, eax
and ebp, dword [esp + 0x3c]
and ecx, eax
xor ebx, edx
mov edx, dword [esp + 0x10]
xor ebp, ecx
mov ecx, dword [esp + 0x14]
add edi, ebx
adc esi, ebp
add edi, edx
mov edx, dword [esp + 0x6c]
adc esi, ecx
add edx, 7
and edx, 0xf
mov eax, dword [esp + edx*8 + 0xb0]
mov ecx, dword [esp + edx*8 + 0xb4]
mov edx, dword [esp + 0x90]
mov dword [esp + 0x5c], ecx
mov ecx, dword [edx]
mov edx, dword [edx + 4]
mov dword [esp + 0x4c], esi
mov dword [esp + 0x48], edi
mov dword [esp + 0x58], eax
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], edx
mov esi, ecx
mov ebx, ecx
xor edi, edi
mov ebp, edx
shrd ebx, ebp, 0x13
or edi, ebx
shr ebp, 0x13
mov ebx, edx
shld edx, ecx, 3
shl ecx, 3
shl esi, 0xd
or esi, ebp
shr ebx, 0x1d
or ebx, ecx
mov ecx, dword [esp + 0x68]
xor ebp, ebp
or ebp, edx
mov edx, dword [esp + 0x64]
shrd edx, ecx, 6
xor edi, ebx
xor esi, ebp
xor edi, edx
shr ecx, 6
xor esi, ecx
mov ecx, dword [esp + 0x5c]
mov ebp, ecx
mov ebx, eax
shrd ebx, ebp, 8
mov dword [esp + 0xa0], edi
xor edi, edi
or edi, ebx
mov edx, eax
mov ebx, eax
shrd eax, ecx, 1
shl edx, 0x18
shr ebp, 8
or edx, ebp
shr ecx, 1
shl ebx, 0x1f
or ebx, ecx
mov ecx, dword [esp + 0x58]
xor ebp, ebp
or ebp, eax
mov eax, dword [esp + 0x5c]
shrd ecx, eax, 7
xor edi, ebp
xor edx, ebx
xor edi, ecx
mov ecx, dword [esp + 0xa0]
shr eax, 7
xor edx, eax
mov eax, dword [esp + 0x98]
mov ebp, dword [eax]
mov ebx, dword [eax + 4]
mov eax, dword [esp + 0x70]
add ecx, edi
mov edi, dword [eax]
adc esi, edx
mov edx, dword [eax + 4]
add ecx, ebp
adc esi, ebx
add edi, ecx
adc edx, esi
mov esi, dword [esp + 0x2c]
mov dword [eax], edi
mov dword [eax + 4], edx
mov edx, dword [esp + 0x28]
mov ebx, esi
mov edi, edx
shld ebx, edi, 0x17
mov eax, esi
shl edi, 0x17
shr eax, 9
mov ebp, edx
or eax, edi
xor ecx, ecx
shrd ebp, esi, 0x12
or ecx, ebx
mov edi, edx
xor ebx, ebx
shl edi, 0xe
shr esi, 0x12
or ebx, ebp
mov ebp, dword [esp + 0x2c]
or edi, esi
xor eax, ebx
xor ecx, edi
mov ebx, edx
shrd ebx, ebp, 0xe
xor edi, edi
or edi, ebx
mov esi, edx
shr ebp, 0xe
shl esi, 0x12
or esi, ebp
mov ebp, dword [esp + 0x20]
xor ecx, esi
mov esi, dword [esp + 0x2c]
xor eax, edi
mov edi, edx
not edi
and edi, ebp
mov ebp, dword [esp + 0x24]
mov ebx, esi
not ebx
and ebx, ebp
mov ebp, dword [esp + 0x30]
and ebp, edx
mov edx, dword [esp + 0x34]
and edx, esi
xor ebx, edx
mov edx, dword [esp + 0x74]
xor edi, ebp
add eax, edi
mov edi, dword [edx + 0x34]
adc ecx, ebx
mov ebx, dword [edx + 0x30]
mov edx, dword [esp + 0x70]
mov esi, dword [edx]
mov ebp, dword [edx + 4]
mov edx, dword [esp + 0x3c]
add eax, ebx
mov ebx, dword [esp + 0x40]
adc ecx, edi
mov edi, dword [esp + 0x44]
add eax, esi
mov esi, dword [esp + 0x38]
adc ecx, ebp
add eax, ebx
adc ecx, edi
add esi, eax
adc edx, ecx
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x3c], edx
mov edx, ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x4c]
mov ebx, eax
shrd edx, ebx, 0x1c
mov dword [esp + 0x38], esi
mov esi, ecx
shr ebx, 0x1c
xor edi, edi
or edi, edx
mov ebp, eax
shld ebp, ecx, 0x1e
shl esi, 4
or esi, ebx
xor ebx, ebx
shl ecx, 0x1e
mov edx, eax
shr edx, 2
or edx, ecx
or ebx, ebp
xor esi, ebx
mov ebx, dword [esp + 0x48]
xor edi, edx
mov ecx, eax
mov ebp, eax
shr ecx, 7
xor edx, edx
shld ebp, ebx, 0x19
or edx, ebp
mov ebp, dword [esp + 0x1c]
shl ebx, 0x19
or ecx, ebx
xor esi, edx
mov edx, dword [esp + 0x18]
xor edi, ecx
mov ecx, dword [esp + 0x48]
xor ebp, eax
and ebp, dword [esp + 0x54]
mov ebx, edx
xor ebx, ecx
and ebx, dword [esp + 0x50]
and edx, ecx
mov ecx, dword [esp + 0x1c]
and ecx, eax
xor ebp, ecx
mov ecx, dword [esp + 0x6c]
xor ebx, edx
add edi, ebx
mov ebx, dword [esp + 0x14]
adc esi, ebp
add edi, dword [esp + 0x10]
mov ebp, dword [esp + 0x74]
adc esi, ebx
add ecx, 8
mov edx, edi
add ebp, 0x40
lea edi, [ecx - 1]
cmp edi, 0x50
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], esi
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x74], ebp
jl 0x10011798
mov ecx, dword [esp + 0x19c]
mov edi, dword [esp + 0x178]
mov ebx, dword [esp + 0x48]
add edi, edx
mov edx, dword [esp + 0x17c]
adc edx, esi
mov esi, dword [esp + 0x13c]
mov ebp, dword [esp + 0x18]
mov dword [ecx + 4], edx
mov edx, dword [esp + 0x138]
add edx, ebx
mov ebx, dword [esp + 0x1c]
adc esi, eax
mov eax, dword [esp + 0x140]
add eax, ebp
mov ebp, dword [esp + 0x38]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x144]
adc edx, ebx
mov ebx, dword [esp + 0x3c]
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x150]
mov dword [ecx + 0x14], edx
mov edx, dword [esp + 0x154]
mov dword [ecx], edi
add eax, dword [esp + 0x50]
mov edi, dword [esp + 0x28]
mov dword [ecx + 0x18], eax
mov eax, dword [esp + 0x160]
mov dword [ecx + 0xc], esi
adc edx, dword [esp + 0x54]
mov esi, dword [esp + 0x2c]
add eax, ebp
mov ebp, dword [esp + 0x30]
mov dword [ecx + 0x1c], edx
mov edx, dword [esp + 0x164]
adc edx, ebx
mov ebx, dword [esp + 0x34]
mov dword [ecx + 0x20], eax
mov eax, dword [esp + 0x170]
add eax, edi
mov edi, dword [esp + 0x20]
mov dword [ecx + 0x24], edx
mov edx, dword [esp + 0x174]
adc edx, esi
mov esi, dword [esp + 0x24]
mov dword [ecx + 0x28], eax
mov eax, dword [esp + 0x180]
add eax, ebp
mov dword [ecx + 0x2c], edx
mov edx, dword [esp + 0x184]
adc edx, ebx
mov dword [ecx + 0x30], eax
mov eax, dword [esp + 0xa4]
add eax, edi
mov dword [ecx + 0x34], edx
mov edx, dword [esp + 0xa8]
adc edx, esi
mov esi, dword [esp + 0x60]
mov dword [ecx + 0x38], eax
mov eax, dword [esp + 0xac]
add esi, 0x80
dec eax
mov dword [ecx + 0x3c], edx
mov dword [esp + 0x60], esi
mov dword [esp + 0xac], eax
jne 0x1000f832
pop edi
pop ebp
pop ebx
pop esi
add esp, 0x188
ret
push eax
push edx
push ecx
call fcn.1000cd30
add esp, 0xc
pop esi
add esp, 0x188
ret