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

Disassembly:
push ebp
push edi
push esi
push ebx
push eax
mov eax, 0x1098
call fcn.004f2010
mov eax, dword [esp + 0x10b0]
dec eax
mov ecx, dword [esp + 0x1098]
mov dword [esp + 0x1c4], eax
inc eax
mov dword [esp + 0x100c], ecx
mov dword [esp + 0x1008], edx
je 0x4b53b4
mov esi, dword [esp + 0x100c]
mov edx, dword [esi]
mov eax, dword [esp + 0x100c]
mov ebx, dword [esi + 4]
mov ecx, dword [eax + 8]
mov edi, dword [esp + 0x100c]
mov dword [esp + 0x200], edx
mov edx, dword [esp + 0x100c]
mov ebp, dword [eax + 0xc]
mov dword [esp + 0x204], ebx
mov dword [esp + 0x1f8], ecx
mov ebx, dword [edi + 0x14]
mov ecx, dword [edx + 0x1c]
mov esi, dword [edi + 0x10]
mov eax, dword [edx + 0x18]
mov dword [esp + 0x1fc], ebp
mov dword [esp + 0x1f4], ebx
mov ebp, dword [esp + 0x100c]
mov ebx, dword [esp + 0x100c]
mov dword [esp + 0x1ec], ecx
mov ecx, dword [esp + 0x100c]
mov edi, dword [ebp + 0x20]
mov edx, dword [ebx + 0x2c]
mov dword [esp + 0x1f0], esi
mov dword [esp + 0x1e8], eax
mov esi, dword [ebp + 0x24]
mov eax, dword [ebx + 0x28]
mov ebp, dword [ecx + 0x30]
mov dword [esp + 0x1e0], edi
mov dword [esp + 0x1e4], esi
mov dword [esp + 0x1dc], edx
mov edi, dword [ecx + 0x34]
mov dword [esp + 0x1d8], eax
mov dword [esp + 0x1d0], ebp
mov esi, dword [esp + 0x100c]
mov ebx, dword [esi + 0x38]
mov edx, dword [esi + 0x3c]
mov dword [esp + 0x1d4], edi
mov dword [esp + 0x1c8], ebx
mov dword [esp + 0x1cc], edx
jmp 0x4ae860
mov edi, dword [esp + 0x1008]
xor edx, edx
mov dl, byte [edi + 1]
mov bl, byte [edi]
xor eax, eax
and ebx, 0xff
xor esi, esi
mov ebp, edx
xor edx, edx
mov dl, byte [edi + 2]
mov ecx, edi
shl ebp, 0x10
or esi, eax
shl ebx, 0x18
xor eax, eax
mov al, byte [ecx + 3]
or ebx, ebp
xor edi, edi
mov ebp, edx
shl ebp, 8
or esi, edi
xor edx, edx
mov edi, eax
xor eax, eax
mov al, byte [ecx + 4]
or ebx, ebp
or esi, edx
xor ebp, ebp
xor edx, edx
mov dl, byte [ecx + 5]
shld ebp, eax, 0x18
or ebx, edi
shl eax, 0x18
xor edi, edi
shld edi, edx, 0x10
or esi, eax
shl edx, 0x10
xor eax, eax
mov al, byte [ecx + 6]
or esi, edx
xor edx, edx
shld edx, eax, 8
or ebx, ebp
shl eax, 8
or ebx, edi
or esi, eax
xor eax, eax
mov al, byte [ecx + 7]
mov edi, dword [esp + 0x1e0]
or esi, eax
or ebx, edx
shl edi, 0x12
mov edx, dword [esp + 0x1e4]
mov ecx, dword [esp + 0x1e4]
mov eax, dword [esp + 0x1e0]
mov dword [esp + 0xfd4], edi
shr eax, 0xe
shr edx, 0xe
shl ecx, 0x12
or edx, dword [esp + 0xfd4]
or ecx, eax
xor ebp, ebp
mov eax, dword [esp + 0x1e4]
mov edi, dword [esp + 0x1e0]
or ebx, ebp
mov dword [esp + 0xfdc], edx
shl eax, 0xe
shr edi, 0x12
mov dword [esp + 0xfd8], ecx
mov edx, dword [esp + 0x1e0]
mov ebp, dword [esp + 0x1e4]
shl edx, 0xe
shr ebp, 0x12
mov dword [esp + 0xfc8], eax
mov ecx, dword [esp + 0xfd8]
or eax, edi
xor ecx, eax
mov dword [esp + 0xfd0], edx
or edx, ebp
mov ebp, dword [esp + 0xfdc]
xor ebp, edx
mov dword [esp + 0xfc0], ecx
mov eax, dword [esp + 0x1e0]
mov edi, dword [esp + 0x1e4]
mov ecx, dword [esp + 0x1e4]
shr eax, 9
shl edi, 0x17
shr ecx, 9
mov dword [esp + 0xfc4], ebp
mov ebp, dword [esp + 0x1e0]
mov dword [esp + 0xfb8], edi
shl ebp, 0x17
mov dword [esp + 0xfbc], eax
mov edi, eax
mov eax, ecx
or eax, ebp
mov edx, dword [esp + 0xfc0]
xor edx, eax
or edi, dword [esp + 0xfb8]
mov dword [esp + 0x1010], esi
mov dword [esp + 0x1014], ebx
mov dword [esp + 0xfa8], edx
mov ecx, dword [esp + 0xfc4]
xor ecx, edi
mov dword [esp + 0xfac], ecx
mov ebp, dword [esp + 0xfa8]
mov dword [esp + 0x1b8], ebp
mov edx, dword [esp + 0xfac]
mov edi, dword [esp + 0x1c8]
add dword [esp + 0x1b8], edi
mov dword [esp + 0x1bc], edx
mov eax, dword [esp + 0x1cc]
mov ecx, dword [esp + 0x1e4]
mov ebp, dword [esp + 0x1e0]
adc dword [esp + 0x1bc], eax
mov edx, dword [esp + 0x1e0]
and ecx, dword [esp + 0x1dc]
mov edi, dword [esp + 0x1e4]
not ebp
and edx, dword [esp + 0x1d8]
and ebp, dword [esp + 0x1d0]
mov dword [esp + 0xfa4], ecx
not edi
and edi, dword [esp + 0x1d4]
mov dword [esp + 0xfa0], edx
mov eax, dword [esp + 0xfa4]
xor edx, ebp
xor eax, edi
mov dword [esp + 0xf98], edx
mov dword [esp + 0xf9c], eax
mov ecx, dword [esp + 0xf98]
mov ebp, dword [esp + 0xf9c]
add dword [esp + 0x1b8], ecx
adc dword [esp + 0x1bc], ebp
add dword [esp + 0x1b8], 0xd728ae22
adc dword [esp + 0x1bc], 0x428a2f98
mov edi, dword [esp + 0x200]
add dword [esp + 0x1b8], esi
mov edx, dword [esp + 0x204]
mov ecx, dword [esp + 0x204]
mov eax, dword [esp + 0x200]
adc dword [esp + 0x1bc], ebx
mov ebp, dword [esp + 0x204]
shr edx, 0x1c
shr eax, 0x1c
shl edi, 4
shl ecx, 4
or edi, edx
or ecx, eax
shr ebp, 2
mov esi, dword [esp + 0x200]
mov dword [esp + 0xf94], edi
shl esi, 0x1e
mov dword [esp + 0xf90], ecx
mov edi, ebp
or edi, esi
mov edx, dword [esp + 0x200]
mov ebx, dword [esp + 0x204]
mov ecx, dword [esp + 0xf90]
xor ecx, edi
shr edx, 2
shl ebx, 0x1e
mov eax, dword [esp + 0x200]
mov ebp, dword [esp + 0x204]
shr eax, 7
mov dword [esp + 0xf80], ecx
shr ebp, 7
mov dword [esp + 0xf8c], edx
mov ecx, dword [esp + 0xf94]
or edx, ebx
mov esi, dword [esp + 0x200]
mov ebx, dword [esp + 0x204]
xor ecx, edx
shl ebx, 0x19
shl esi, 0x19
mov edx, eax
mov edi, ebp
or edx, ebx
or edi, esi
mov ebx, dword [esp + 0xf80]
xor ebx, edi
mov dword [esp + 0xf84], ecx
mov dword [esp + 0xf7c], eax
mov eax, ecx
mov ecx, dword [esp + 0x200]
xor eax, edx
and ecx, dword [esp + 0x1f0]
mov dword [esp + 0x1b0], ebx
mov esi, dword [esp + 0x200]
mov ebx, dword [esp + 0x204]
and esi, dword [esp + 0x1f8]
and ebx, dword [esp + 0x1fc]
mov dword [esp + 0x1b4], eax
mov dword [esp + 0xf70], ecx
mov edi, dword [esp + 0x1f8]
and edi, dword [esp + 0x1f0]
mov ebp, dword [esp + 0x204]
mov dword [esp + 0xf68], edi
and ebp, dword [esp + 0x1f4]
xor esi, dword [esp + 0xf70]
mov edx, dword [esp + 0x1fc]
and edx, dword [esp + 0x1f4]
xor ebx, ebp
xor esi, dword [esp + 0xf68]
xor ebx, edx
mov eax, dword [esp + 0x1e8]
add dword [esp + 0x1b0], esi
adc dword [esp + 0x1b4], ebx
mov dword [esp + 0xf74], ebp
add eax, dword [esp + 0x1b8]
mov ebp, dword [esp + 0x1b8]
mov ecx, dword [esp + 0x1ec]
adc ecx, dword [esp + 0x1bc]
mov edi, dword [esp + 0x1bc]
add dword [esp + 0x1b0], ebp
adc dword [esp + 0x1b4], edi
mov dword [esp + 0xfe8], eax
mov dword [esp + 0xfec], ecx
mov dword [esp + 0xf6c], edx
mov ebx, dword [esp + 0x1008]
mov dl, byte [ebx + 8]
xor eax, eax
mov al, byte [ebx + 9]
and edx, 0xff
mov ebp, ebx
mov edi, edx
xor ebx, ebx
mov edx, eax
mov bl, byte [ebp + 0xa]
xor ecx, ecx
shl edx, 0x10
xor esi, esi
shl edi, 0x18
or esi, ecx
or edi, edx
xor eax, eax
mov ecx, ebx
xor edx, edx
mov dl, byte [ebp + 0xb]
shl ecx, 8
or esi, eax
xor eax, eax
mov al, byte [ebp + 0xc]
or edi, ecx
xor ebx, ebx
mov ecx, edx
xor edx, edx
shld edx, eax, 0x18
or esi, ebx
shl eax, 0x18
xor ebx, ebx
mov bl, byte [ebp + 0xd]
or edi, ecx
or esi, eax
xor ecx, ecx
xor eax, eax
shld ecx, ebx, 0x10
mov al, byte [ebp + 0xe]
or edi, edx
shl ebx, 0x10
xor edx, edx
or esi, ebx
or edi, ecx
shld edx, eax, 8
shl eax, 8
xor ebx, ebx
mov bl, byte [ebp + 0xf]
or esi, eax
or esi, ebx
mov dword [esp + 0x1018], esi
mov eax, dword [esp + 0xfe8]
or edi, edx
shl eax, 0x12
mov edx, dword [esp + 0xfec]
mov ebx, dword [esp + 0xfec]
mov ebp, dword [esp + 0xfe8]
mov dword [esp + 0xf5c], eax
shr ebp, 0xe
shr edx, 0xe
shl ebx, 0x12
or edx, dword [esp + 0xf5c]
or ebx, ebp
xor ecx, ecx
or edi, ecx
mov dword [esp + 0xf64], edx
mov dword [esp + 0xf60], ebx
mov ecx, dword [esp + 0xfec]
mov ebx, dword [esp + 0xfe8]
mov edx, dword [esp + 0xfec]
mov eax, dword [esp + 0xfe8]
shl ebx, 0xe
shr ecx, 0x12
shl edx, 0xe
shr eax, 0x12
mov dword [esp + 0xf58], ebx
mov dword [esp + 0xf50], edx
or ebx, ecx
or edx, eax
mov ebp, dword [esp + 0xf60]
mov eax, dword [esp + 0xf64]
xor ebp, edx
xor eax, ebx
mov ecx, dword [esp + 0xfe8]
mov edx, dword [esp + 0xfec]
mov ebx, dword [esp + 0xfec]
shr ecx, 9
mov dword [esp + 0xf48], ebp
shl edx, 0x17
shr ebx, 9
mov ebp, dword [esp + 0xfe8]
mov dword [esp + 0xf4c], eax
mov dword [esp + 0xf40], edx
shl ebp, 0x17
mov edx, ecx
mov eax, ebx
or edx, dword [esp + 0xf40]
or eax, ebp
mov dword [esp + 0xf44], ecx
mov ebx, dword [esp + 0xf4c]
mov ecx, dword [esp + 0xf48]
xor ecx, eax
xor ebx, edx
mov dword [esp + 0xf30], ecx
mov dword [esp + 0xf34], ebx
mov ebp, dword [esp + 0xf30]
mov ecx, dword [esp + 0xf34]
mov dword [esp + 0x101c], edi
mov dword [esp + 0x1a8], ebp
mov dword [esp + 0x1ac], ecx
mov edx, dword [esp + 0x1d0]
add dword [esp + 0x1a8], edx
mov eax, dword [esp + 0x1d4]
mov ebx, dword [esp + 0xfec]
mov ebp, dword [esp + 0xfe8]
adc dword [esp + 0x1ac], eax
mov ecx, dword [esp + 0xfe8]
and ebx, dword [esp + 0x1e4]
mov edx, dword [esp + 0xfec]
not ebp
and ecx, dword [esp + 0x1e0]
and ebp, dword [esp + 0x1d8]
mov dword [esp + 0xf2c], ebx
not edx
and edx, dword [esp + 0x1dc]
mov dword [esp + 0xf28], ecx
mov eax, dword [esp + 0xf2c]
xor ecx, ebp
xor eax, edx
mov dword [esp + 0xf20], ecx
mov dword [esp + 0xf24], eax
mov ebx, dword [esp + 0xf20]
add dword [esp + 0x1a8], ebx
mov ebp, dword [esp + 0xf24]
adc dword [esp + 0x1ac], ebp
add dword [esp + 0x1a8], 0x23ef65cd
adc dword [esp + 0x1ac], 0x71374491
add dword [esp + 0x1a8], esi
adc dword [esp + 0x1ac], edi
mov ebx, dword [esp + 0x1b4]
mov eax, dword [esp + 0x1b0]
shr eax, 0x1c
mov ecx, dword [esp + 0x1b0]
mov edx, dword [esp + 0x1b4]
shl ebx, 4
mov ebp, dword [esp + 0x1b4]
or ebx, eax
shr edx, 0x1c
shr ebp, 2
shl ecx, 4
mov esi, dword [esp + 0x1b0]
or ecx, edx
mov dword [esp + 0xf18], ebx
shl esi, 0x1e
mov edx, ebp
or edx, esi
mov dword [esp + 0xf1c], ecx
mov ebx, dword [esp + 0x1b0]
mov edi, dword [esp + 0x1b4]
mov ecx, dword [esp + 0xf18]
xor ecx, edx
shr ebx, 2
shl edi, 0x1e
mov eax, dword [esp + 0x1b0]
mov ebp, dword [esp + 0x1b4]
shr eax, 7
mov dword [esp + 0xf08], ecx
shr ebp, 7
mov dword [esp + 0xf14], ebx
mov ecx, dword [esp + 0xf1c]
or ebx, edi
mov esi, dword [esp + 0x1b0]
mov edi, dword [esp + 0x1b4]
xor ecx, ebx
shl edi, 0x19
shl esi, 0x19
mov ebx, eax
mov edx, ebp
or ebx, edi
or edx, esi
mov edi, dword [esp + 0xf08]
xor edi, edx
mov dword [esp + 0xf04], eax
mov edx, dword [esp + 0x1b0]
mov eax, ecx
mov ebp, dword [esp + 0x1b4]
xor eax, ebx
and edx, dword [esp + 0x1f8]
and ebp, dword [esp + 0x1fc]
mov dword [esp + 0x1a0], edi
mov esi, dword [esp + 0x1b0]
mov edi, dword [esp + 0x1b4]
and esi, dword [esp + 0x200]
and edi, dword [esp + 0x204]
mov dword [esp + 0xf0c], ecx
mov dword [esp + 0x1a4], eax
mov dword [esp + 0xef8], edx
mov dword [esp + 0xefc], ebp
mov ecx, dword [esp + 0x200]
and ecx, dword [esp + 0x1f8]
mov dword [esp + 0xef0], ecx
xor esi, dword [esp + 0xef8]
mov ebx, dword [esp + 0x204]
and ebx, dword [esp + 0x1fc]
xor edi, ebp
xor esi, dword [esp + 0xef0]
xor edi, ebx
mov eax, dword [esp + 0x1f0]
add dword [esp + 0x1a0], esi
adc dword [esp + 0x1a4], edi
mov ebp, dword [esp + 0x1a8]
add eax, dword [esp + 0x1a8]
mov edx, dword [esp + 0x1f4]
adc edx, dword [esp + 0x1ac]
mov ecx, dword [esp + 0x1ac]
add dword [esp + 0x1a0], ebp
adc dword [esp + 0x1a4], ecx
mov dword [esp + 0xff0], eax
mov dword [esp + 0xff4], edx
mov dword [esp + 0xef4], ebx
mov edi, dword [esp + 0x1008]
xor edx, edx
mov dl, byte [edi + 0x11]
mov bl, byte [edi + 0x10]
xor eax, eax
and ebx, 0xff
xor esi, esi
mov ebp, edx
xor edx, edx
mov ecx, edi
mov dl, byte [edi + 0x12]
shl ebp, 0x10
or esi, eax
shl ebx, 0x18
xor eax, eax
mov al, byte [ecx + 0x13]
or ebx, ebp
xor edi, edi
mov ebp, edx
shl ebp, 8
or esi, edi
xor edx, edx
mov edi, eax
xor eax, eax
mov al, byte [ecx + 0x14]
or ebx, ebp
or esi, edx
xor ebp, ebp
xor edx, edx
shld ebp, eax, 0x18
mov dl, byte [ecx + 0x15]
or ebx, edi
shl eax, 0x18
xor edi, edi
shld edi, edx, 0x10
or esi, eax
shl edx, 0x10
xor eax, eax
mov al, byte [ecx + 0x16]
or ebx, ebp
or esi, edx
xor edx, edx
or ebx, edi
shld edx, eax, 8
shl eax, 8
or esi, eax
xor eax, eax
mov al, byte [ecx + 0x17]
or esi, eax
mov dword [esp + 0x1020], esi
mov edi, dword [esp + 0xff0]
or ebx, edx
shl edi, 0x12
mov edx, dword [esp + 0xff4]
mov ecx, dword [esp + 0xff4]
mov eax, dword [esp + 0xff0]
mov dword [esp + 0xee4], edi
shr eax, 0xe
shr edx, 0xe
shl ecx, 0x12
or edx, dword [esp + 0xee4]
or ecx, eax
xor ebp, ebp
mov eax, dword [esp + 0xff4]
mov edi, dword [esp + 0xff0]
or ebx, ebp
mov dword [esp + 0xeec], edx
shl eax, 0xe
shr edi, 0x12
mov dword [esp + 0xee8], ecx
mov edx, dword [esp + 0xff0]
mov ebp, dword [esp + 0xff4]
shl edx, 0xe
shr ebp, 0x12
mov dword [esp + 0xed8], eax
mov ecx, dword [esp + 0xee8]
or eax, edi
xor ecx, eax
mov dword [esp + 0xee0], edx
or edx, ebp
mov ebp, dword [esp + 0xeec]
xor ebp, edx
mov dword [esp + 0xed0], ecx
mov eax, dword [esp + 0xff0]
mov edi, dword [esp + 0xff4]
mov ecx, dword [esp + 0xff4]
shr eax, 9
mov dword [esp + 0xed4], ebp
shl edi, 0x17
shr ecx, 9
mov ebp, dword [esp + 0xff0]
mov dword [esp + 0xec8], edi
shl ebp, 0x17
mov dword [esp + 0xecc], eax
mov edi, eax
mov eax, ecx
or edi, dword [esp + 0xec8]
or eax, ebp
mov edx, dword [esp + 0xed0]
mov ecx, dword [esp + 0xed4]
xor edx, eax
xor ecx, edi
mov dword [esp + 0xeb8], edx
mov dword [esp + 0xebc], ecx
mov ebp, dword [esp + 0xeb8]
mov edx, dword [esp + 0xebc]
mov dword [esp + 0x1024], ebx
mov dword [esp + 0x198], ebp
mov dword [esp + 0x19c], edx
mov edi, dword [esp + 0x1d8]
add dword [esp + 0x198], edi
mov eax, dword [esp + 0x1dc]
mov ecx, dword [esp + 0xff4]
mov ebp, dword [esp + 0xff0]
adc dword [esp + 0x19c], eax
mov edx, dword [esp + 0xff0]
and ecx, dword [esp + 0xfec]
mov edi, dword [esp + 0xff4]
not ebp
and edx, dword [esp + 0xfe8]
and ebp, dword [esp + 0x1e0]
mov dword [esp + 0xeb4], ecx
not edi
and edi, dword [esp + 0x1e4]
mov dword [esp + 0xeb0], edx
mov eax, dword [esp + 0xeb4]
xor edx, ebp
xor eax, edi
mov dword [esp + 0xea8], edx
mov dword [esp + 0xeac], eax
mov ecx, dword [esp + 0xea8]
add dword [esp + 0x198], ecx
mov ebp, dword [esp + 0xeac]
adc dword [esp + 0x19c], ebp
add dword [esp + 0x198], 0xec4d3b2f
adc dword [esp + 0x19c], 0xb5c0fbcf
add dword [esp + 0x198], esi
adc dword [esp + 0x19c], ebx
mov edi, dword [esp + 0x1a0]
mov edx, dword [esp + 0x1a4]
mov ecx, dword [esp + 0x1a4]
mov eax, dword [esp + 0x1a0]
shr edx, 0x1c
shr eax, 0x1c
shl edi, 4
shl ecx, 4
mov ebp, dword [esp + 0x1a4]
or edi, edx
or ecx, eax
shr ebp, 2
mov esi, dword [esp + 0x1a0]
mov dword [esp + 0xea4], edi
shl esi, 0x1e
mov dword [esp + 0xea0], ecx
mov edi, ebp
or edi, esi
mov edx, dword [esp + 0x1a0]
mov ebx, dword [esp + 0x1a4]
mov ecx, dword [esp + 0xea0]
xor ecx, edi
shr edx, 2
shl ebx, 0x1e
mov eax, dword [esp + 0x1a0]
mov ebp, dword [esp + 0x1a4]
shr eax, 7
mov dword [esp + 0xe90], ecx
shr ebp, 7
mov dword [esp + 0xe9c], edx
mov ecx, dword [esp + 0xea4]
or edx, ebx
mov esi, dword [esp + 0x1a0]
mov ebx, dword [esp + 0x1a4]
xor ecx, edx
shl ebx, 0x19
shl esi, 0x19
mov edx, eax
mov edi, ebp
or edx, ebx
or edi, esi
mov ebx, dword [esp + 0xe90]
xor ebx, edi
mov dword [esp + 0xe94], ecx
mov dword [esp + 0xe8c], eax
mov ebp, dword [esp + 0x1a4]
mov eax, ecx
mov ecx, dword [esp + 0x1a0]
xor eax, edx
and ecx, dword [esp + 0x200]
and ebp, dword [esp + 0x204]
mov dword [esp + 0x190], ebx
mov esi, dword [esp + 0x1a0]
mov ebx, dword [esp + 0x1a4]
and esi, dword [esp + 0x1b0]
and ebx, dword [esp + 0x1b4]
mov dword [esp + 0x194], eax
mov dword [esp + 0xe80], ecx
mov dword [esp + 0xe84], ebp
mov edi, dword [esp + 0x1b0]
and edi, dword [esp + 0x200]
mov dword [esp + 0xe78], edi
xor esi, dword [esp + 0xe80]
mov edx, dword [esp + 0x1b4]
and edx, dword [esp + 0x204]
xor ebx, ebp
xor esi, dword [esp + 0xe78]
xor ebx, edx
mov eax, dword [esp + 0x1f8]
add dword [esp + 0x190], esi
adc dword [esp + 0x194], ebx
mov ebp, dword [esp + 0x198]
add eax, dword [esp + 0x198]
mov ecx, dword [esp + 0x1fc]
adc ecx, dword [esp + 0x19c]
mov edi, dword [esp + 0x19c]
add dword [esp + 0x190], ebp
adc dword [esp + 0x194], edi
mov dword [esp + 0xff8], eax
mov dword [esp + 0xffc], ecx
mov dword [esp + 0xe7c], edx
mov ebx, dword [esp + 0x1008]
mov dl, byte [ebx + 0x18]
xor eax, eax
mov al, byte [ebx + 0x19]
and edx, 0xff
mov ebp, ebx
mov edi, edx
xor ebx, ebx
mov edx, eax
mov bl, byte [ebp + 0x1a]
xor ecx, ecx
shl edx, 0x10
xor esi, esi
shl edi, 0x18
or esi, ecx
or edi, edx
xor eax, eax
mov ecx, ebx
xor edx, edx
mov dl, byte [ebp + 0x1b]
shl ecx, 8
or esi, eax
xor eax, eax
mov al, byte [ebp + 0x1c]
or edi, ecx
xor ebx, ebx
mov ecx, edx
xor edx, edx
shld edx, eax, 0x18
or esi, ebx
shl eax, 0x18
xor ebx, ebx
mov bl, byte [ebp + 0x1d]
or edi, ecx
or esi, eax
xor ecx, ecx
xor eax, eax
shld ecx, ebx, 0x10
mov al, byte [ebp + 0x1e]
or edi, edx
shl ebx, 0x10
xor edx, edx
or esi, ebx
or edi, ecx
shld edx, eax, 8
shl eax, 8
xor ebx, ebx
mov bl, byte [ebp + 0x1f]
or esi, eax
or esi, ebx
mov dword [esp + 0x1028], esi
mov eax, dword [esp + 0xff8]
or edi, edx
shl eax, 0x12
mov edx, dword [esp + 0xffc]
mov ebx, dword [esp + 0xffc]
mov ebp, dword [esp + 0xff8]
mov dword [esp + 0xe6c], eax
shr ebp, 0xe
shr edx, 0xe
shl ebx, 0x12
or edx, dword [esp + 0xe6c]
or ebx, ebp
xor ecx, ecx
or edi, ecx
mov dword [esp + 0xe74], edx
mov dword [esp + 0xe70], ebx
mov ecx, dword [esp + 0xffc]
mov ebx, dword [esp + 0xff8]
mov edx, dword [esp + 0xffc]
mov eax, dword [esp + 0xff8]
shl ebx, 0xe
shr ecx, 0x12
shl edx, 0xe
shr eax, 0x12
mov dword [esp + 0xe68], ebx
mov dword [esp + 0xe60], edx
or ebx, ecx
or edx, eax
mov ebp, dword [esp + 0xe70]
mov eax, dword [esp + 0xe74]
xor ebp, edx
xor eax, ebx
mov ecx, dword [esp + 0xff8]
mov edx, dword [esp + 0xffc]
mov ebx, dword [esp + 0xffc]
shr ecx, 9
mov dword [esp + 0xe58], ebp
shl edx, 0x17
shr ebx, 9
mov ebp, dword [esp + 0xff8]
mov dword [esp + 0xe5c], eax
mov dword [esp + 0xe50], edx
shl ebp, 0x17
mov edx, ecx
mov eax, ebx
or edx, dword [esp + 0xe50]
or eax, ebp
mov dword [esp + 0xe54], ecx
mov ebx, dword [esp + 0xe5c]
mov ecx, dword [esp + 0xe58]
xor ecx, eax
xor ebx, edx
mov dword [esp + 0xe40], ecx
mov dword [esp + 0xe44], ebx
mov ebp, dword [esp + 0xe40]
mov ecx, dword [esp + 0xe44]
mov dword [esp + 0x102c], edi
mov dword [esp + 0x188], ebp
mov dword [esp + 0x18c], ecx
mov edx, dword [esp + 0x1e0]
add dword [esp + 0x188], edx
mov eax, dword [esp + 0x1e4]
mov ebx, dword [esp + 0xffc]
mov ebp, dword [esp + 0xff8]
adc dword [esp + 0x18c], eax
mov ecx, dword [esp + 0xff8]
and ebx, dword [esp + 0xff4]
mov edx, dword [esp + 0xffc]
not ebp
and ecx, dword [esp + 0xff0]
and ebp, dword [esp + 0xfe8]
mov dword [esp + 0xe3c], ebx
not edx
and edx, dword [esp + 0xfec]
mov dword [esp + 0xe38], ecx
mov eax, dword [esp + 0xe3c]
xor ecx, ebp
xor eax, edx
mov dword [esp + 0xe30], ecx
mov dword [esp + 0xe34], eax
mov ebx, dword [esp + 0xe30]
add dword [esp + 0x188], ebx
mov ebp, dword [esp + 0xe34]
adc dword [esp + 0x18c], ebp
add dword [esp + 0x188], 0x8189dbbc
adc dword [esp + 0x18c], 0xe9b5dba5
add dword [esp + 0x188], esi
adc dword [esp + 0x18c], edi
mov ebx, dword [esp + 0x194]
mov eax, dword [esp + 0x190]
shr eax, 0x1c
mov ecx, dword [esp + 0x190]
mov edx, dword [esp + 0x194]
shl ebx, 4
mov ebp, dword [esp + 0x194]
or ebx, eax
shr edx, 0x1c
shr ebp, 2
shl ecx, 4
mov esi, dword [esp + 0x190]
or ecx, edx
mov dword [esp + 0xe28], ebx
shl esi, 0x1e
mov edx, ebp
or edx, esi
mov dword [esp + 0xe2c], ecx
mov ebx, dword [esp + 0x190]
mov edi, dword [esp + 0x194]
mov ecx, dword [esp + 0xe28]
xor ecx, edx
shr ebx, 2
shl edi, 0x1e
mov eax, dword [esp + 0x190]
mov ebp, dword [esp + 0x194]
shr eax, 7
mov dword [esp + 0xe18], ecx
shr ebp, 7
mov dword [esp + 0xe24], ebx
mov ecx, dword [esp + 0xe2c]
or ebx, edi
mov esi, dword [esp + 0x190]
mov edi, dword [esp + 0x194]
xor ecx, ebx
shl edi, 0x19
shl esi, 0x19
mov ebx, eax
mov edx, ebp
or ebx, edi
or edx, esi
mov edi, dword [esp + 0xe18]
xor edi, edx
mov dword [esp + 0xe14], eax
mov edx, dword [esp + 0x190]
mov eax, ecx
mov ebp, dword [esp + 0x194]
xor eax, ebx
and edx, dword [esp + 0x1b0]
and ebp, dword [esp + 0x1b4]
mov dword [esp + 0x180], edi
mov esi, dword [esp + 0x190]
mov edi, dword [esp + 0x194]
and esi, dword [esp + 0x1a0]
and edi, dword [esp + 0x1a4]
mov dword [esp + 0xe1c], ecx
mov dword [esp + 0x184], eax
mov dword [esp + 0xe08], edx
mov dword [esp + 0xe0c], ebp
mov ecx, dword [esp + 0x1a0]
and ecx, dword [esp + 0x1b0]
mov dword [esp + 0xe00], ecx
xor esi, dword [esp + 0xe08]
mov ebx, dword [esp + 0x1a4]
and ebx, dword [esp + 0x1b4]
xor edi, ebp
xor esi, dword [esp + 0xe00]
xor edi, ebx
mov eax, dword [esp + 0x200]
add dword [esp + 0x180], esi
adc dword [esp + 0x184], edi
mov ebp, dword [esp + 0x188]
add eax, dword [esp + 0x188]
mov edx, dword [esp + 0x204]
adc edx, dword [esp + 0x18c]
mov ecx, dword [esp + 0x18c]
add dword [esp + 0x180], ebp
adc dword [esp + 0x184], ecx
mov dword [esp + 0x1000], eax
mov dword [esp + 0x1004], edx
mov dword [esp + 0xe04], ebx
mov edi, dword [esp + 0x1008]
xor edx, edx
mov dl, byte [edi + 0x21]
mov bl, byte [edi + 0x20]
xor eax, eax
and ebx, 0xff
xor esi, esi
mov ebp, edx
xor edx, edx
mov ecx, edi
mov dl, byte [edi + 0x22]
shl ebp, 0x10
or esi, eax
shl ebx, 0x18
xor eax, eax
mov al, byte [ecx + 0x23]
or ebx, ebp
xor edi, edi
mov ebp, edx
shl ebp, 8
or esi, edi
xor edx, edx
mov edi, eax
xor eax, eax
mov al, byte [ecx + 0x24]
or ebx, ebp
or esi, edx
xor ebp, ebp
xor edx, edx
shld ebp, eax, 0x18
mov dl, byte [ecx + 0x25]
or ebx, edi
shl eax, 0x18
xor edi, edi
shld edi, edx, 0x10
or esi, eax
shl edx, 0x10
xor eax, eax
mov al, byte [ecx + 0x26]
or ebx, ebp
or esi, edx
xor edx, edx
or ebx, edi
shld edx, eax, 8
shl eax, 8
or esi, eax
xor eax, eax
mov al, byte [ecx + 0x27]
or esi, eax
mov dword [esp + 0x1030], esi
mov edi, dword [esp + 0x1000]
or ebx, edx
shl edi, 0x12
mov edx, dword [esp + 0x1004]
mov ecx, dword [esp + 0x1004]
mov eax, dword [esp + 0x1000]
mov dword [esp + 0xdf4], edi
shr eax, 0xe
shr edx, 0xe
shl ecx, 0x12
or edx, dword [esp + 0xdf4]
or ecx, eax
xor ebp, ebp
mov eax, dword [esp + 0x1004]
mov edi, dword [esp + 0x1000]
or ebx, ebp
mov dword [esp + 0xdfc], edx
shl eax, 0xe
shr edi, 0x12
mov dword [esp + 0xdf8], ecx
mov edx, dword [esp + 0x1000]
mov ebp, dword [esp + 0x1004]
shl edx, 0xe
shr ebp, 0x12
mov dword [esp + 0xde8], eax
mov ecx, dword [esp + 0xdf8]
or eax, edi
xor ecx, eax
mov dword [esp + 0xdf0], edx
or edx, ebp
mov ebp, dword [esp + 0xdfc]
xor ebp, edx
mov dword [esp + 0xde0], ecx
mov eax, dword [esp + 0x1000]
mov edi, dword [esp + 0x1004]
mov ecx, dword [esp + 0x1004]
shr eax, 9
mov dword [esp + 0xde4], ebp
shl edi, 0x17
shr ecx, 9
mov ebp, dword [esp + 0x1000]
mov dword [esp + 0xdd8], edi
shl ebp, 0x17
mov dword [esp + 0xddc], eax
mov edi, eax
mov eax, ecx
or edi, dword [esp + 0xdd8]
or eax, ebp
mov edx, dword [esp + 0xde0]
mov ecx, dword [esp + 0xde4]
xor edx, eax
xor ecx, edi
mov dword [esp + 0xdc8], edx
mov dword [esp + 0xdcc], ecx
mov ebp, dword [esp + 0xdc8]
mov edx, dword [esp + 0xdcc]
mov dword [esp + 0x1034], ebx
mov dword [esp + 0x178], ebp
mov dword [esp + 0x17c], edx
mov edi, dword [esp + 0xfe8]
add dword [esp + 0x178], edi
mov eax, dword [esp + 0xfec]
mov ecx, dword [esp + 0x1004]
mov ebp, dword [esp + 0x1000]
adc dword [esp + 0x17c], eax
mov edx, dword [esp + 0x1000]
and ecx, dword [esp + 0xffc]
mov edi, dword [esp + 0x1004]
not ebp
and edx, dword [esp + 0xff8]
and ebp, dword [esp + 0xff0]
mov dword [esp + 0xdc4], ecx
not edi
and edi, dword [esp + 0xff4]
mov dword [esp + 0xdc0], edx
mov eax, dword [esp + 0xdc4]
xor edx, ebp
xor eax, edi
mov dword [esp + 0xdb8], edx
mov dword [esp + 0xdbc], eax
mov ecx, dword [esp + 0xdb8]
add dword [esp + 0x178], ecx
mov ebp, dword [esp + 0xdbc]
adc dword [esp + 0x17c], ebp
add dword [esp + 0x178], 0xf348b538
adc dword [esp + 0x17c], 0x3956c25b
add dword [esp + 0x178], esi
adc dword [esp + 0x17c], ebx
mov edi, dword [esp + 0x180]
mov edx, dword [esp + 0x184]
mov ecx, dword [esp + 0x184]
mov eax, dword [esp + 0x180]
shr edx, 0x1c
shr eax, 0x1c
shl edi, 4
shl ecx, 4
mov ebp, dword [esp + 0x184]
or edi, edx
or ecx, eax
shr ebp, 2
mov esi, dword [esp + 0x180]
mov dword [esp + 0xdb4], edi
shl esi, 0x1e
mov dword [esp + 0xdb0], ecx
mov edi, ebp
or edi, esi
mov edx, dword [esp + 0x180]
mov ebx, dword [esp + 0x184]
mov ecx, dword [esp + 0xdb0]
xor ecx, edi
shr edx, 2
shl ebx, 0x1e
mov eax, dword [esp + 0x180]
mov ebp, dword [esp + 0x184]
shr eax, 7
mov dword [esp + 0xda0], ecx
shr ebp, 7
mov dword [esp + 0xdac], edx
mov ecx, dword [esp + 0xdb4]
or edx, ebx
mov esi, dword [esp + 0x180]
mov ebx, dword [esp + 0x184]
xor ecx, edx
shl ebx, 0x19
shl esi, 0x19
mov edx, eax
mov edi, ebp
or edx, ebx
or edi, esi
mov ebx, dword [esp + 0xda0]
xor ebx, edi
mov dword [esp + 0xda4], ecx
mov dword [esp + 0xd9c], eax
mov ebp, dword [esp + 0x184]
mov eax, ecx
mov ecx, dword [esp + 0x180]
xor eax, edx
and ecx, dword [esp + 0x1a0]
and ebp, dword [esp + 0x1a4]
mov dword [esp + 0x168], ebx
mov esi, dword [esp + 0x180]
mov ebx, dword [esp + 0x184]
and esi, dword [esp + 0x190]
and ebx, dword [esp + 0x194]
mov dword [esp + 0x16c], eax
mov dword [esp + 0xd90], ecx
mov dword [esp + 0xd94], ebp
mov edi, dword [esp + 0x190]
and edi, dword [esp + 0x1a0]
mov dword [esp + 0xd88], edi
xor esi, dword [esp + 0xd90]
mov edx, dword [esp + 0x194]
and edx, dword [esp + 0x1a4]
xor ebx, ebp
xor esi, dword [esp + 0xd88]
xor ebx, edx
mov eax, dword [esp + 0x1b0]
add dword [esp + 0x168], esi
adc dword [esp + 0x16c], ebx
mov ebp, dword [esp + 0x178]
add eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x1b4]
adc ecx, dword [esp + 0x17c]
mov edi, dword [esp + 0x17c]
add dword [esp + 0x168], ebp
adc dword [esp + 0x16c], edi
mov dword [esp + 0x170], eax
mov dword [esp + 0x174], ecx
mov dword [esp + 0xd8c], edx
mov ebx, dword [esp + 0x1008]
mov dl, byte [ebx + 0x28]
xor eax, eax
mov al, byte [ebx + 0x29]
and edx, 0xff
mov ebp, ebx
mov edi, edx
xor ebx, ebx
mov edx, eax
mov bl, byte [ebp + 0x2a]
xor ecx, ecx
shl edx, 0x10
xor esi, esi
shl edi, 0x18
or esi, ecx
or edi, edx
xor eax, eax
mov ecx, ebx
xor edx, edx
mov dl, byte [ebp + 0x2b]
shl ecx, 8
or esi, eax
xor eax, eax
mov al, byte [ebp + 0x2c]
or edi, ecx
xor ebx, ebx
mov ecx, edx
xor edx, edx
shld edx, eax, 0x18
or esi, ebx
shl eax, 0x18
xor ebx, ebx
mov bl, byte [ebp + 0x2d]
or edi, ecx
or esi, eax
xor ecx, ecx
xor eax, eax
shld ecx, ebx, 0x10
mov al, byte [ebp + 0x2e]
or edi, edx
shl ebx, 0x10
xor edx, edx
or esi, ebx
or edi, ecx
shld edx, eax, 8
shl eax, 8
xor ebx, ebx
mov bl, byte [ebp + 0x2f]
or esi, eax
or esi, ebx
mov dword [esp + 0x1038], esi
mov eax, dword [esp + 0x170]
or edi, edx
shl eax, 0x12
mov edx, dword [esp + 0x174]
mov ebx, dword [esp + 0x174]
mov ebp, dword [esp + 0x170]
mov dword [esp + 0xd7c], eax
shr ebp, 0xe
shr edx, 0xe
shl ebx, 0x12
or edx, dword [esp + 0xd7c]
or ebx, ebp
xor ecx, ecx
or edi, ecx
mov dword [esp + 0xd84], edx
mov dword [esp + 0xd80], ebx
mov ecx, dword [esp + 0x174]
mov ebx, dword [esp + 0x170]
mov edx, dword [esp + 0x174]
mov eax, dword [esp + 0x170]
shl ebx, 0xe
shr ecx, 0x12
shl edx, 0xe
shr eax, 0x12
mov dword [esp + 0xd78], ebx
mov dword [esp + 0xd70], edx
or ebx, ecx
or edx, eax
mov ebp, dword [esp + 0xd80]
mov eax, dword [esp + 0xd84]
xor ebp, edx
xor eax, ebx
mov ecx, dword [esp + 0x170]
mov edx, dword [esp + 0x174]
mov ebx, dword [esp + 0x174]
shr ecx, 9
mov dword [esp + 0xd68], ebp
shl edx, 0x17
shr ebx, 9
mov ebp, dword [esp + 0x170]
mov dword [esp + 0xd6c], eax
mov dword [esp + 0xd60], edx
shl ebp, 0x17
mov edx, ecx
mov eax, ebx
or edx, dword [esp + 0xd60]
or eax, ebp
mov dword [esp + 0xd64], ecx
mov ebx, dword [esp + 0xd6c]
mov ecx, dword [esp + 0xd68]
xor ecx, eax
xor ebx, edx
mov dword [esp + 0xd50], ecx
mov dword [esp + 0xd54], ebx
mov ebp, dword [esp + 0xd50]
mov ecx, dword [esp + 0xd54]
mov dword [esp + 0x103c], edi
mov dword [esp + 0x160], ebp
mov dword [esp + 0x164], ecx
mov edx, dword [esp + 0xff0]
add dword [esp + 0x160], edx
mov eax, dword [esp + 0xff4]
mov ebx, dword [esp + 0x174]
mov ebp, dword [esp + 0x170]
adc dword [esp + 0x164], eax
mov ecx, dword [esp + 0x170]
and ebx, dword [esp + 0x1004]
mov edx, dword [esp + 0x174]
not ebp
and ecx, dword [esp + 0x1000]
and ebp, dword [esp + 0xff8]
mov dword [esp + 0xd4c], ebx
not edx
and edx, dword [esp + 0xffc]
mov dword [esp + 0xd48], ecx
mov eax, dword [esp + 0xd4c]
xor ecx, ebp
xor eax, edx
mov dword [esp + 0xd40], ecx
mov dword [esp + 0xd44], eax
mov ebx, dword [esp + 0xd40]
add dword [esp + 0x160], ebx
mov ebp, dword [esp + 0xd44]
adc dword [esp + 0x164], ebp
add dword [esp + 0x160], 0xb605d019
adc dword [esp + 0x164], 0x59f111f1
add dword [esp + 0x160], esi
adc dword [esp + 0x164], edi
mov ebx, dword [esp + 0x16c]
mov eax, dword [esp + 0x168]
shr eax, 0x1c
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x16c]
shl ebx, 4
mov ebp, dword [esp + 0x16c]
or ebx, eax
shr edx, 0x1c
shr ebp, 2
shl ecx, 4
mov esi, dword [esp + 0x168]
or ecx, edx
mov dword [esp + 0xd38], ebx
shl esi, 0x1e
mov edx, ebp
or edx, esi
mov dword [esp + 0xd3c], ecx
mov ebx, dword [esp + 0x168]
mov edi, dword [esp + 0x16c]
mov ecx, dword [esp + 0xd38]
xor ecx, edx
shr ebx, 2
shl edi, 0x1e
mov eax, dword [esp + 0x168]
mov ebp, dword [esp + 0x16c]
shr eax, 7
mov dword [esp + 0xd28], ecx
shr ebp, 7
mov dword [esp + 0xd34], ebx
mov ecx, dword [esp + 0xd3c]
or ebx, edi
mov esi, dword [esp + 0x168]
mov edi, dword [esp + 0x16c]
xor ecx, ebx
shl edi, 0x19
shl esi, 0x19
mov ebx, eax
mov edx, ebp
or ebx, edi
or edx, esi
mov edi, dword [esp + 0xd28]
xor edi, edx
mov dword [esp + 0xd24], eax
mov edx, dword [esp + 0x168]
mov eax, ecx
mov ebp, dword [esp + 0x16c]
xor eax, ebx
and edx, dword [esp + 0x190]
and ebp, dword [esp + 0x194]
mov dword [esp + 0x150], edi
mov esi, dword [esp + 0x168]
mov edi, dword [esp + 0x16c]
and esi, dword [esp + 0x180]
and edi, dword [esp + 0x184]
mov dword [esp + 0xd2c], ecx
mov dword [esp + 0x154], eax
mov dword [esp + 0xd18], edx
mov dword [esp + 0xd1c], ebp
mov ecx, dword [esp + 0x180]
and ecx, dword [esp + 0x190]
mov dword [esp + 0xd10], ecx
xor esi, dword [esp + 0xd18]
mov ebx, dword [esp + 0x184]
and ebx, dword [esp + 0x194]
xor edi, ebp
xor esi, dword [esp + 0xd10]
xor edi, ebx
mov eax, dword [esp + 0x1a0]
add dword [esp + 0x150], esi
adc dword [esp + 0x154], edi
mov ebp, dword [esp + 0x160]
add eax, dword [esp + 0x160]
mov edx, dword [esp + 0x1a4]
adc edx, dword [esp + 0x164]
mov ecx, dword [esp + 0x164]
add dword [esp + 0x150], ebp
adc dword [esp + 0x154], ecx
mov dword [esp + 0x158], eax
mov dword [esp + 0x15c], edx
mov dword [esp + 0xd14], ebx
mov edi, dword [esp + 0x1008]
xor edx, edx
mov dl, byte [edi + 0x31]
mov bl, byte [edi + 0x30]
xor eax, eax
and ebx, 0xff
xor esi, esi
mov ebp, edx
xor edx, edx
mov ecx, edi
mov dl, byte [edi + 0x32]
shl ebp, 0x10
or esi, eax
shl ebx, 0x18
xor eax, eax
mov al, byte [ecx + 0x33]
or ebx, ebp
xor edi, edi
mov ebp, edx
shl ebp, 8
or esi, edi
xor edx, edx
mov edi, eax
xor eax, eax
mov al, byte [ecx + 0x34]
or ebx, ebp
or esi, edx
xor ebp, ebp
xor edx, edx
shld ebp, eax, 0x18
mov dl, byte [ecx + 0x35]
or ebx, edi
shl eax, 0x18
xor edi, edi
shld edi, edx, 0x10
or esi, eax
shl edx, 0x10
xor eax, eax
mov al, byte [ecx + 0x36]
or ebx, ebp
or esi, edx
xor edx, edx
or ebx, edi
shld edx, eax, 8
shl eax, 8
or esi, eax
xor eax, eax
mov al, byte [ecx + 0x37]
or esi, eax
mov dword [esp + 0x1040], esi
mov edi, dword [esp + 0x158]
or ebx, edx
shl edi, 0x12
mov edx, dword [esp + 0x15c]
mov ecx, dword [esp + 0x15c]
mov eax, dword [esp + 0x158]
mov dword [esp + 0xd04], edi
shr eax, 0xe
shr edx, 0xe
shl ecx, 0x12
or edx, dword [esp + 0xd04]
or ecx, eax
xor ebp, ebp
mov eax, dword [esp + 0x15c]
mov edi, dword [esp + 0x158]
or ebx, ebp
mov dword [esp + 0xd0c], edx
shl eax, 0xe
shr edi, 0x12
mov dword [esp + 0xd08], ecx
mov edx, dword [esp + 0x158]
mov ebp, dword [esp + 0x15c]
shl edx, 0xe
shr ebp, 0x12
mov dword [esp + 0xcf8], eax
mov ecx, dword [esp + 0xd08]
or eax, edi
xor ecx, eax
mov dword [esp + 0xd00], edx
or edx, ebp
mov ebp, dword [esp + 0xd0c]
xor ebp, edx
mov dword [esp + 0xcf0], ecx
mov eax, dword [esp + 0x158]
mov edi, dword [esp + 0x15c]
mov ecx, dword [esp + 0x15c]
shr eax, 9
mov dword [esp + 0xcf4], ebp
shl edi, 0x17
shr ecx, 9
mov ebp, dword [esp + 0x158]
mov dword [esp + 0xce8], edi
shl ebp, 0x17
mov dword [esp + 0xcec], eax
mov edi, eax
mov eax, ecx
or edi, dword [esp + 0xce8]
or eax, ebp
mov edx, dword [esp + 0xcf0]
mov ecx, dword [esp + 0xcf4]
xor edx, eax
xor ecx, edi
mov dword [esp + 0xcd8], edx
mov dword [esp + 0xcdc], ecx
mov ebp, dword [esp + 0xcd8]
mov edx, dword [esp + 0xcdc]
mov dword [esp + 0x1044], ebx
mov dword [esp + 0x148], ebp
mov dword [esp + 0x14c], edx
mov edi, dword [esp + 0xff8]
add dword [esp + 0x148], edi
mov eax, dword [esp + 0xffc]
mov ecx, dword [esp + 0x15c]
mov ebp, dword [esp + 0x158]
adc dword [esp + 0x14c], eax
mov edx, dword [esp + 0x158]
and ecx, dword [esp + 0x174]
mov edi, dword [esp + 0x15c]
not ebp
and edx, dword [esp + 0x170]
and ebp, dword [esp + 0x1000]
mov dword [esp + 0xcd4], ecx
not edi
and edi, dword [esp + 0x1004]
mov dword [esp + 0xcd0], edx
mov eax, dword [esp + 0xcd4]
xor edx, ebp
xor eax, edi
mov dword [esp + 0xcc8], edx
mov dword [esp + 0xccc], eax
mov ecx, dword [esp + 0xcc8]
add dword [esp + 0x148], ecx
mov ebp, dword [esp + 0xccc]
adc dword [esp + 0x14c], ebp
add dword [esp + 0x148], 0xaf194f9b
adc dword [esp + 0x14c], 0x923f82a4
add dword [esp + 0x148], esi
adc dword [esp + 0x14c], ebx
mov edi, dword [esp + 0x150]
mov edx, dword [esp + 0x154]
mov ecx, dword [esp + 0x154]
mov eax, dword [esp + 0x150]
shr edx, 0x1c
shr eax, 0x1c
shl edi, 4
shl ecx, 4
mov ebp, dword [esp + 0x154]
or edi, edx
or ecx, eax
shr ebp, 2
mov esi, dword [esp + 0x150]
mov dword [esp + 0xcc4], edi
shl esi, 0x1e
mov dword [esp + 0xcc0], ecx
mov edi, ebp
or edi, esi
mov edx, dword [esp + 0x150]
mov ebx, dword [esp + 0x154]
mov ecx, dword [esp + 0xcc0]
xor ecx, edi
shr edx, 2
shl ebx, 0x1e
mov eax, dword [esp + 0x150]
mov ebp, dword [esp + 0x154]
shr eax, 7
mov dword [esp + 0xcb0], ecx
shr ebp, 7
mov dword [esp + 0xcbc], edx
mov ecx, dword [esp + 0xcc4]
or edx, ebx
mov esi, dword [esp + 0x150]
mov ebx, dword [esp + 0x154]
xor ecx, edx
shl ebx, 0x19
shl esi, 0x19
mov edx, eax
mov edi, ebp
or edx, ebx
or edi, esi
mov ebx, dword [esp + 0xcb0]
xor ebx, edi
mov dword [esp + 0xcb4], ecx
mov dword [esp + 0xcac], eax
mov ebp, dword [esp + 0x154]
mov eax, ecx
mov ecx, dword [esp + 0x150]
xor eax, edx
and ecx, dword [esp + 0x180]
and ebp, dword [esp + 0x184]
mov dword [esp + 0x138], ebx
mov esi, dword [esp + 0x150]
mov ebx, dword [esp + 0x154]
and esi, dword [esp + 0x168]
and ebx, dword [esp + 0x16c]
mov dword [esp + 0x13c], eax
mov dword [esp + 0xca0], ecx
mov dword [esp + 0xca4], ebp
mov edi, dword [esp + 0x168]
and edi, dword [esp + 0x180]
mov dword [esp + 0xc98], edi
xor esi, dword [esp + 0xca0]
mov edx, dword [esp + 0x16c]
and edx, dword [esp + 0x184]
xor ebx, ebp
xor esi, dword [esp + 0xc98]
xor ebx, edx
mov eax, dword [esp + 0x190]
add dword [esp + 0x138], esi
adc dword [esp + 0x13c], ebx
mov ebp, dword [esp + 0x148]
add eax, dword [esp + 0x148]
mov ecx, dword [esp + 0x194]
adc ecx, dword [esp + 0x14c]
mov edi, dword [esp + 0x14c]
add dword [esp + 0x138], ebp
adc dword [esp + 0x13c], edi
mov dword [esp + 0x140], eax
mov dword [esp + 0x144], ecx
mov dword [esp + 0xc9c], edx
mov ebx, dword [esp + 0x1008]
mov dl, byte [ebx + 0x38]
xor eax, eax
mov al, byte [ebx + 0x39]
and edx, 0xff
mov ebp, ebx
mov edi, edx
xor ebx, ebx
mov edx, eax
mov bl, byte [ebp + 0x3a]
xor ecx, ecx
shl edx, 0x10
xor esi, esi
shl edi, 0x18
or esi, ecx
or edi, edx
xor eax, eax
mov ecx, ebx
xor edx, edx
mov dl, byte [ebp + 0x3b]
shl ecx, 8
or esi, eax
xor eax, eax
mov al, byte [ebp + 0x3c]
or edi, ecx
xor ebx, ebx
mov ecx, edx
xor edx, edx
shld edx, eax, 0x18
or esi, ebx
shl eax, 0x18
xor ebx, ebx
mov bl, byte [ebp + 0x3d]
or edi, ecx
or esi, eax
xor ecx, ecx
xor eax, eax
shld ecx, ebx, 0x10
mov al, byte [ebp + 0x3e]
or edi, edx
shl ebx, 0x10
xor edx, edx
or esi, ebx
or edi, ecx
shld edx, eax, 8
shl eax, 8
xor ebx, ebx
mov bl, byte [ebp + 0x3f]
or esi, eax
or esi, ebx
mov dword [esp + 0x1048], esi
mov eax, dword [esp + 0x140]
or edi, edx
shl eax, 0x12
mov edx, dword [esp + 0x144]
mov ebx, dword [esp + 0x144]
mov ebp, dword [esp + 0x140]
mov dword [esp + 0xc8c], eax
shr ebp, 0xe
shr edx, 0xe
shl ebx, 0x12
or edx, dword [esp + 0xc8c]
or ebx, ebp
xor ecx, ecx
or edi, ecx
mov dword [esp + 0xc94], edx
mov dword [esp + 0xc90], ebx
mov ecx, dword [esp + 0x144]
mov ebx, dword [esp + 0x140]
mov edx, dword [esp + 0x144]
mov eax, dword [esp + 0x140]
shl ebx, 0xe
shr ecx, 0x12
shl edx, 0xe
shr eax, 0x12
mov dword [esp + 0xc88], ebx
mov dword [esp + 0xc80], edx
or ebx, ecx
or edx, eax
mov ebp, dword [esp + 0xc90]
mov eax, dword [esp + 0xc94]
xor ebp, edx
xor eax, ebx
mov ecx, dword [esp + 0x140]
mov edx, dword [esp + 0x144]
mov ebx, dword [esp + 0x144]
shr ecx, 9
mov dword [esp + 0xc78], ebp
shl edx, 0x17
shr ebx, 9
mov ebp, dword [esp + 0x140]
mov dword [esp + 0xc7c], eax
mov dword [esp + 0xc70], edx
shl ebp, 0x17
mov edx, ecx
mov eax, ebx
or edx, dword [esp + 0xc70]
or eax, ebp
mov dword [esp + 0xc74], ecx
mov ebx, dword [esp + 0xc7c]
mov ecx, dword [esp + 0xc78]
xor ecx, eax
xor ebx, edx
mov dword [esp + 0xc60], ecx
mov dword [esp + 0xc64], ebx
mov ebp, dword [esp + 0xc60]
mov ecx, dword [esp + 0xc64]
mov dword [esp + 0x104c], edi
mov dword [esp + 0x130], ebp
mov dword [esp + 0x134], ecx
mov edx, dword [esp + 0x1000]
add dword [esp + 0x130], edx
mov eax, dword [esp + 0x1004]
mov ebx, dword [esp + 0x144]
mov ebp, dword [esp + 0x140]
adc dword [esp + 0x134], eax
mov ecx, dword [esp + 0x140]
and ebx, dword [esp + 0x15c]
mov edx, dword [esp + 0x144]
not ebp
and ecx, dword [esp + 0x158]
and ebp, dword [esp + 0x170]
mov dword [esp + 0xc5c], ebx
not edx
and edx, dword [esp + 0x174]
mov dword [esp + 0xc58], ecx
mov eax, dword [esp + 0xc5c]
xor ecx, ebp
xor eax, edx
mov dword [esp + 0xc50], ecx
mov dword [esp + 0xc54], eax
mov ebx, dword [esp + 0xc50]
add dword [esp + 0x130], ebx
mov ebp, dword [esp + 0xc54]
adc dword [esp + 0x134], ebp
add dword [esp + 0x130], 0xda6d8118
adc dword [esp + 0x134], 0xab1c5ed5
add dword [esp + 0x130], esi
adc dword [esp + 0x134], edi
mov ebx, dword [esp + 0x13c]
mov eax, dword [esp + 0x138]
shr eax, 0x1c
mov ecx, dword [esp + 0x138]
mov edx, dword [esp + 0x13c]
shl ebx, 4
mov ebp, dword [esp + 0x13c]
or ebx, eax
shr edx, 0x1c
shr ebp, 2
shl ecx, 4
mov esi, dword [esp + 0x138]
or ecx, edx
mov dword [esp + 0xc48], ebx
shl esi, 0x1e
mov edx, ebp
or edx, esi
mov dword [esp + 0xc4c], ecx
mov ebx, dword [esp + 0x138]
mov edi, dword [esp + 0x13c]
mov ecx, dword [esp + 0xc48]
xor ecx, edx
shr ebx, 2
shl edi, 0x1e
mov eax, dword [esp + 0x138]
mov ebp, dword [esp + 0x13c]
shr eax, 7
mov dword [esp + 0xc38], ecx
shr ebp, 7
mov dword [esp + 0xc44], ebx
mov ecx, dword [esp + 0xc4c]
or ebx, edi
mov esi, dword [esp + 0x138]
mov edi, dword [esp + 0x13c]
xor ecx, ebx
shl edi, 0x19
shl esi, 0x19
mov ebx, eax
mov edx, ebp
or ebx, edi
or edx, esi
mov edi, dword [esp + 0xc38]
xor edi, edx
mov dword [esp + 0xc34], eax
mov edx, dword [esp + 0x138]
mov eax, ecx
mov ebp, dword [esp + 0x13c]
xor eax, ebx
and edx, dword [esp + 0x168]
and ebp, dword [esp + 0x16c]
mov dword [esp + 0x120], edi
mov esi, dword [esp + 0x138]
mov edi, dword [esp + 0x13c]
and esi, dword [esp + 0x150]
and edi, dword [esp + 0x154]
mov dword [esp + 0xc3c], ecx
mov dword [esp + 0x124], eax
mov dword [esp + 0xc28], edx
mov dword [esp + 0xc2c], ebp
mov ecx, dword [esp + 0x150]
and ecx, dword [esp + 0x168]
mov dword [esp + 0xc20], ecx
xor esi, dword [esp + 0xc28]
mov ebx, dword [esp + 0x154]
and ebx, dword [esp + 0x16c]
xor edi, ebp
xor esi, dword [esp + 0xc20]
xor edi, ebx
mov eax, dword [esp + 0x180]
add dword [esp + 0x120], esi
adc dword [esp + 0x124], edi
mov ebp, dword [esp + 0x130]
add eax, dword [esp + 0x130]
mov edx, dword [esp + 0x184]
adc edx, dword [esp + 0x134]
mov ecx, dword [esp + 0x134]
add dword [esp + 0x120], ebp
adc dword [esp + 0x124], ecx
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], edx
mov dword [esp + 0xc24], ebx
mov edi, dword [esp + 0x1008]
xor edx, edx
mov dl, byte [edi + 0x41]
mov bl, byte [edi + 0x40]
xor eax, eax
and ebx, 0xff
xor esi, esi
mov ebp, edx
xor edx, edx
mov ecx, edi
mov dl, byte [edi + 0x42]
shl ebp, 0x10
or esi, eax
shl ebx, 0x18
xor eax, eax
mov al, byte [ecx + 0x43]
or ebx, ebp
xor edi, edi
mov ebp, edx
shl ebp, 8
or esi, edi
xor edx, edx
mov edi, eax
xor eax, eax
mov al, byte [ecx + 0x44]
or ebx, ebp
or esi, edx
xor ebp, ebp
xor edx, edx
shld ebp, eax, 0x18
mov dl, byte [ecx + 0x45]
or ebx, edi
shl eax, 0x18
xor edi, edi
shld edi, edx, 0x10
or esi, eax
shl edx, 0x10
xor eax, eax
mov al, byte [ecx + 0x46]
or ebx, ebp
or esi, edx
xor edx, edx
or ebx, edi
shld edx, eax, 8
shl eax, 8
or esi, eax
xor eax, eax
mov al, byte [ecx + 0x47]
or esi, eax
mov dword [esp + 0x1050], esi
mov edi, dword [esp + 0x128]
or ebx, edx
shl edi, 0x12
mov edx, dword [esp + 0x12c]
mov ecx, dword [esp + 0x12c]
mov eax, dword [esp + 0x128]
mov dword [esp + 0xc14], edi
shr eax, 0xe
shr edx, 0xe
shl ecx, 0x12
or edx, dword [esp + 0xc14]
or ecx, eax
xor ebp, ebp
mov eax, dword [esp + 0x12c]
mov edi, dword [esp + 0x128]
or ebx, ebp
mov dword [esp + 0xc1c], edx
shl eax, 0xe
shr edi, 0x12
mov dword [esp + 0xc18], ecx
mov edx, dword [esp + 0x128]
mov ebp, dword [esp + 0x12c]
shl edx, 0xe
shr ebp, 0x12
mov dword [esp + 0xc08], eax
mov ecx, dword [esp + 0xc18]
or eax, edi
xor ecx, eax
mov dword [esp + 0xc10], edx
or edx, ebp
mov ebp, dword [esp + 0xc1c]
xor ebp, edx
mov dword [esp + 0xc00], ecx
mov eax, dword [esp + 0x128]
mov edi, dword [esp + 0x12c]
mov ecx, dword [esp + 0x12c]
shr eax, 9
mov dword [esp + 0xc04], ebp
shl edi, 0x17
shr ecx, 9
mov ebp, dword [esp + 0x128]
mov dword [esp + 0xbf8], edi
shl ebp, 0x17
mov dword [esp + 0xbfc], eax
mov edi, eax
mov eax, ecx
or edi, dword [esp + 0xbf8]
or eax, ebp
mov edx, dword [esp + 0xc00]
mov ecx, dword [esp + 0xc04]
xor edx, eax
xor ecx, edi
mov dword [esp + 0xbe8], edx
mov dword [esp + 0xbec], ecx
mov ebp, dword [esp + 0xbe8]
mov edx, dword [esp + 0xbec]
mov dword [esp + 0x1054], ebx
mov dword [esp + 0x118], ebp
mov dword [esp + 0x11c], edx
mov edi, dword [esp + 0x170]
add dword [esp + 0x118], edi
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x12c]
mov ebp, dword [esp + 0x128]
adc dword [esp + 0x11c], eax
mov edx, dword [esp + 0x128]
and ecx, dword [esp + 0x144]
mov edi, dword [esp + 0x12c]
not ebp
and edx, dword [esp + 0x140]
and ebp, dword [esp + 0x158]
mov dword [esp + 0xbe4], ecx
not edi
and edi, dword [esp + 0x15c]
mov dword [esp + 0xbe0], edx
mov eax, dword [esp + 0xbe4]
xor edx, ebp
xor eax, edi
mov dword [esp + 0xbd8], edx
mov dword [esp + 0xbdc], eax
mov ecx, dword [esp + 0xbd8]
add dword [esp + 0x118], ecx
mov ebp, dword [esp + 0xbdc]
adc dword [esp + 0x11c], ebp
add dword [esp + 0x118], 0xa3030242
adc dword [esp + 0x11c], 0xd807aa98
add dword [esp + 0x118], esi
adc dword [esp + 0x11c], ebx
mov edi, dword [esp + 0x120]
mov edx, dword [esp + 0x124]
mov ecx, dword [esp + 0x124]
mov eax, dword [esp + 0x120]
shr edx, 0x1c
shr eax, 0x1c
shl edi, 4
shl ecx, 4
mov ebp, dword [esp + 0x124]
or edi, edx
or ecx, eax
shr ebp, 2
mov esi, dword [esp + 0x120]
mov dword [esp + 0xbd4], edi
shl esi, 0x1e
mov dword [esp + 0xbd0], ecx
mov edi, ebp
or edi, esi
mov edx, dword [esp + 0x120]
mov ebx, dword [esp + 0x124]
mov ecx, dword [esp + 0xbd0]
xor ecx, edi
shr edx, 2
shl ebx, 0x1e
mov eax, dword [esp + 0x120]
mov ebp, dword [esp + 0x124]
shr eax, 7
mov dword [esp + 0xbc0], ecx
shr ebp, 7
mov dword [esp + 0xbcc], edx
mov ecx, dword [esp + 0xbd4]
or edx, ebx
mov esi, dword [esp + 0x120]
mov ebx, dword [esp + 0x124]
xor ecx, edx
shl ebx, 0x19
shl esi, 0x19
mov edx, eax
mov edi, ebp
or edx, ebx
or edi, esi
mov ebx, dword [esp + 0xbc0]
xor ebx, edi
mov dword [esp + 0xbc4], ecx
mov dword [esp + 0xbbc], eax
mov ebp, dword [esp + 0x124]
mov eax, ecx
mov ecx, dword [esp + 0x120]
xor eax, edx
and ecx, dword [esp + 0x150]
and ebp, dword [esp + 0x154]
mov dword [esp + 0x108], ebx
mov esi, dword [esp + 0x120]
mov ebx, dword [esp + 0x124]
and esi, dword [esp + 0x138]
and ebx, dword [esp + 0x13c]
mov dword [esp + 0x10c], eax
mov dword [esp + 0xbb0], ecx
mov dword [esp + 0xbb4], ebp
mov edi, dword [esp + 0x138]
and edi, dword [esp + 0x150]
mov dword [esp + 0xba8], edi
xor esi, dword [esp + 0xbb0]
mov edx, dword [esp + 0x13c]
and edx, dword [esp + 0x154]
xor ebx, ebp
xor esi, dword [esp + 0xba8]
xor ebx, edx
mov eax, dword [esp + 0x168]
add dword [esp + 0x108], esi
adc dword [esp + 0x10c], ebx
mov ebp, dword [esp + 0x118]
add eax, dword [esp + 0x118]
mov ecx, dword [esp + 0x16c]
adc ecx, dword [esp + 0x11c]
mov edi, dword [esp + 0x11c]
add dword [esp + 0x108], ebp
adc dword [esp + 0x10c], edi
mov dword [esp + 0x110], eax
mov dword [esp + 0x114], ecx
mov dword [esp + 0xbac], edx
mov ebx, dword [esp + 0x1008]
mov dl, byte [ebx + 0x48]
xor eax, eax
mov al, byte [ebx + 0x49]
and edx, 0xff
mov ebp, ebx
mov edi, edx
xor ebx, ebx
mov edx, eax
mov bl, byte [ebp + 0x4a]
xor ecx, ecx
shl edx, 0x10
xor esi, esi
shl edi, 0x18
or esi, ecx
or edi, edx
xor eax, eax
mov ecx, ebx
xor edx, edx
mov dl, byte [ebp + 0x4b]
shl ecx, 8
or esi, eax
xor eax, eax
mov al, byte [ebp + 0x4c]
or edi, ecx
xor ebx, ebx
mov ecx, edx
xor edx, edx
shld edx, eax, 0x18
or esi, ebx
shl eax, 0x18
xor ebx, ebx
mov bl, byte [ebp + 0x4d]
or edi, ecx
or esi, eax
xor ecx, ecx
xor eax, eax
shld ecx, ebx, 0x10
mov al, byte [ebp + 0x4e]
or edi, edx
shl ebx, 0x10
xor edx, edx
or esi, ebx
or edi, ecx
shld edx, eax, 8
shl eax, 8
xor ebx, ebx
mov bl, byte [ebp + 0x4f]
or esi, eax
or esi, ebx
mov dword [esp + 0x1058], esi
mov eax, dword [esp + 0x110]
or edi, edx
shl eax, 0x12
mov edx, dword [esp + 0x114]
mov ebx, dword [esp + 0x114]
mov ebp, dword [esp + 0x110]
mov dword [esp + 0xb9c], eax
shr ebp, 0xe
shr edx, 0xe
shl ebx, 0x12
or edx, dword [esp + 0xb9c]
or ebx, ebp
xor ecx, ecx
or edi, ecx
mov dword [esp + 0xba4], edx
mov dword [esp + 0xba0], ebx
mov ecx, dword [esp + 0x114]
mov ebx, dword [esp + 0x110]
mov edx, dword [esp + 0x114]
mov eax, dword [esp + 0x110]
shl ebx, 0xe
shr ecx, 0x12
shl edx, 0xe
shr eax, 0x12
mov dword [esp + 0xb98], ebx
mov dword [esp + 0xb90], edx
or ebx, ecx
or edx, eax
mov ebp, dword [esp + 0xba0]
mov eax, dword [esp + 0xba4]
xor ebp, edx
xor eax, ebx
mov ecx, dword [esp + 0x110]
mov edx, dword [esp + 0x114]
mov ebx, dword [esp + 0x114]
shr ecx, 9
mov dword [esp + 0xb88], ebp
shl edx, 0x17
shr ebx, 9
mov ebp, dword [esp + 0x110]
mov dword [esp + 0xb8c], eax
mov dword [esp + 0xb80], edx
shl ebp, 0x17
mov edx, ecx
mov eax, ebx
or edx, dword [esp + 0xb80]
or eax, ebp
mov dword [esp + 0xb84], ecx
mov ebx, dword [esp + 0xb8c]
mov ecx, dword [esp + 0xb88]
xor ecx, eax
xor ebx, edx
mov dword [esp + 0xb70], ecx
mov dword [esp + 0xb74], ebx
mov ebp, dword [esp + 0xb70]
mov ecx, dword [esp + 0xb74]
mov dword [esp + 0x105c], edi
mov dword [esp + 0x100], ebp
mov dword [esp + 0x104], ecx
mov edx, dword [esp + 0x158]
add dword [esp + 0x100], edx
mov eax, dword [esp + 0x15c]
mov ebx, dword [esp + 0x114]
mov ebp, dword [esp + 0x110]
adc dword [esp + 0x104], eax
mov ecx, dword [esp + 0x110]
and ebx, dword [esp + 0x12c]
mov edx, dword [esp + 0x114]
not ebp
and ecx, dword [esp + 0x128]
and ebp, dword [esp + 0x140]
mov dword [esp + 0xb6c], ebx
not edx
and edx, dword [esp + 0x144]
mov dword [esp + 0xb68], ecx
mov eax, dword [esp + 0xb6c]
xor ecx, ebp
xor eax, edx
mov dword [esp + 0xb60], ecx
mov dword [esp + 0xb64], eax
mov ebx, dword [esp + 0xb60]
add dword [esp + 0x100], ebx
mov ebp, dword [esp + 0xb64]
adc dword [esp + 0x104], ebp
add dword [esp + 0x100], 0x45706fbe
adc dword [esp + 0x104], 0x12835b01
add dword [esp + 0x100], esi
adc dword [esp + 0x104], edi
mov ebx, dword [esp + 0x10c]
mov eax, dword [esp + 0x108]
shr eax, 0x1c
mov ecx, dword [esp + 0x108]
mov edx, dword [esp + 0x10c]
shl ebx, 4
mov ebp, dword [esp + 0x10c]
or ebx, eax
shr edx, 0x1c
shr ebp, 2
shl ecx, 4
mov esi, dword [esp + 0x108]
or ecx, edx
mov dword [esp + 0xb58], ebx
shl esi, 0x1e
mov edx, ebp
or edx, esi
mov dword [esp + 0xb5c], ecx
mov ebx, dword [esp + 0x108]
mov edi, dword [esp + 0x10c]
mov ecx, dword [esp + 0xb58]
xor ecx, edx
shr ebx, 2
shl edi, 0x1e
mov eax, dword [esp + 0x108]
mov ebp, dword [esp + 0x10c]
shr eax, 7
mov dword [esp + 0xb48], ecx
shr ebp, 7
mov dword [esp + 0xb54], ebx
mov ecx, dword [esp + 0xb5c]
or ebx, edi
mov esi, dword [esp + 0x108]
mov edi, dword [esp + 0x10c]
xor ecx, ebx
shl edi, 0x19
shl esi, 0x19
mov ebx, eax
mov edx, ebp
or ebx, edi
or edx, esi
mov edi, dword [esp + 0xb48]
xor edi, edx
mov dword [esp + 0xb44], eax
mov edx, dword [esp + 0x108]
mov eax, ecx
mov ebp, dword [esp + 0x10c]
xor eax, ebx
and edx, dword [esp + 0x138]
and ebp, dword [esp + 0x13c]
mov dword [esp + 0xf0], edi
mov esi, dword [esp + 0x108]
mov edi, dword [esp + 0x10c]
and esi, dword [esp + 0x120]
and edi, dword [esp + 0x124]
mov dword [esp + 0xb4c], ecx
mov dword [esp + 0xf4], eax
mov dword [esp + 0xb38], edx
mov dword [esp + 0xb3c], ebp
mov ecx, dword [esp + 0x120]
and ecx, dword [esp + 0x138]
mov dword [esp + 0xb30], ecx
xor esi, dword [esp + 0xb38]
mov ebx, dword [esp + 0x124]
and ebx, dword [esp + 0x13c]
xor edi, ebp
xor esi, dword [esp + 0xb30]
xor edi, ebx
mov eax, dword [esp + 0x150]
add dword [esp + 0xf0], esi
adc dword [esp + 0xf4], edi
mov ebp, dword [esp + 0x100]
add eax, dword [esp + 0x100]
mov edx, dword [esp + 0x154]
adc edx, dword [esp + 0x104]
mov ecx, dword [esp + 0x104]
add dword [esp + 0xf0], ebp
adc dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], eax
mov dword [esp + 0xfc], edx
mov dword [esp + 0xb34], ebx
mov edi, dword [esp + 0x1008]
xor edx, edx
mov dl, byte [edi + 0x51]
mov bl, byte [edi + 0x50]
xor eax, eax
and ebx, 0xff
xor esi, esi
mov ebp, edx
xor edx, edx
mov ecx, edi
mov dl, byte [edi + 0x52]
shl ebp, 0x10
or esi, eax
shl ebx, 0x18
xor eax, eax
mov al, byte [ecx + 0x53]
or ebx, ebp
xor edi, edi
mov ebp, edx
shl ebp, 8
or esi, edi
xor edx, edx
mov edi, eax
xor eax, eax
mov al, byte [ecx + 0x54]
or ebx, ebp
or esi, edx
xor ebp, ebp
xor edx, edx
shld ebp, eax, 0x18
mov dl, byte [ecx + 0x55]
or ebx, edi
shl eax, 0x18
xor edi, edi
shld edi, edx, 0x10
or esi, eax
shl edx, 0x10
xor eax, eax
mov al, byte [ecx + 0x56]
or ebx, ebp
or esi, edx
xor edx, edx
or ebx, edi
shld edx, eax, 8
shl eax, 8
or esi, eax
xor eax, eax
mov al, byte [ecx + 0x57]
or esi, eax
mov dword [esp + 0x1060], esi
mov edi, dword [esp + 0xf8]
or ebx, edx
shl edi, 0x12
mov edx, dword [esp + 0xfc]
mov ecx, dword [esp + 0xfc]
mov eax, dword [esp + 0xf8]
mov dword [esp + 0xb24], edi
shr eax, 0xe
shr edx, 0xe
shl ecx, 0x12
or edx, dword [esp + 0xb24]
or ecx, eax
xor ebp, ebp
mov eax, dword [esp + 0xfc]
mov edi, dword [esp + 0xf8]
or ebx, ebp
mov dword [esp + 0xb2c], edx
shl eax, 0xe
shr edi, 0x12
mov dword [esp + 0xb28], ecx
mov edx, dword [esp + 0xf8]
mov ebp, dword [esp + 0xfc]
shl edx, 0xe
shr ebp, 0x12
mov dword [esp + 0xb18], eax
mov ecx, dword [esp + 0xb28]
or eax, edi
xor ecx, eax
mov dword [esp + 0xb20], edx
or edx, ebp
mov ebp, dword [esp + 0xb2c]
xor ebp, edx
mov dword [esp + 0xb10], ecx
mov eax, dword [esp + 0xf8]
mov edi, dword [esp + 0xfc]
mov ecx, dword [esp + 0xfc]
shr eax, 9
mov dword [esp + 0xb14], ebp
shl edi, 0x17
shr ecx, 9
mov ebp, dword [esp + 0xf8]
mov dword [esp + 0xb08], edi
shl ebp, 0x17
mov dword [esp + 0xb0c], eax
mov edi, eax
mov eax, ecx
or edi, dword [esp + 0xb08]
or eax, ebp
mov edx, dword [esp + 0xb10]
mov ecx, dword [esp + 0xb14]
xor edx, eax
xor ecx, edi
mov dword [esp + 0xaf8], edx
mov dword [esp + 0xafc], ecx
mov ebp, dword [esp + 0xaf8]
mov edx, dword [esp + 0xafc]
mov dword [esp + 0x1064], ebx
mov dword [esp + 0xe8], ebp
mov dword [esp + 0xec], edx
mov edi, dword [esp + 0x140]
add dword [esp + 0xe8], edi
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0xfc]
mov ebp, dword [esp + 0xf8]
adc dword [esp + 0xec], eax
mov edx, dword [esp + 0xf8]
and ecx, dword [esp + 0x114]
mov edi, dword [esp + 0xfc]
not ebp
and edx, dword [esp + 0x110]
and ebp, dword [esp + 0x128]
mov dword [esp + 0xaf4], ecx
not edi
and edi, dword [esp + 0x12c]
mov dword [esp + 0xaf0], edx
mov eax, dword [esp + 0xaf4]
xor edx, ebp
xor eax, edi
mov dword [esp + 0xae8], edx
mov dword [esp + 0xaec], eax
mov ecx, dword [esp + 0xae8]
add dword [esp + 0xe8], ecx
mov ebp, dword [esp + 0xaec]
adc dword [esp + 0xec], ebp
add dword [esp + 0xe8], 0x4ee4b28c
adc dword [esp + 0xec], 0x243185be
add dword [esp + 0xe8], esi
adc dword [esp + 0xec], ebx
mov edi, dword [esp + 0xf0]
mov edx, dword [esp + 0xf4]
mov ecx, dword [esp + 0xf4]
mov eax, dword [esp + 0xf0]
shr edx, 0x1c
shr eax, 0x1c
shl edi, 4
shl ecx, 4
mov ebp, dword [esp + 0xf4]
or edi, edx
or ecx, eax
shr ebp, 2
mov esi, dword [esp + 0xf0]
mov dword [esp + 0xae4], edi
shl esi, 0x1e
mov dword [esp + 0xae0], ecx
mov edi, ebp
or edi, esi
mov edx, dword [esp + 0xf0]
mov ebx, dword [esp + 0xf4]
mov ecx, dword [esp + 0xae0]
xor ecx, edi
shr edx, 2
shl ebx, 0x1e
mov eax, dword [esp + 0xf0]
mov ebp, dword [esp + 0xf4]
shr eax, 7
mov dword [esp + 0xad0], ecx
shr ebp, 7
mov dword [esp + 0xadc], edx
mov ecx, dword [esp + 0xae4]
or edx, ebx
mov esi, dword [esp + 0xf0]
mov ebx, dword [esp + 0xf4]
xor ecx, edx
shl ebx, 0x19
shl esi, 0x19
mov edx, eax
mov edi, ebp
or edx, ebx
or edi, esi
mov ebx, dword [esp + 0xad0]
xor ebx, edi
mov dword [esp + 0xad4], ecx
mov dword [esp + 0xacc], eax
mov ebp, dword [esp + 0xf4]
mov eax, ecx
mov ecx, dword [esp + 0xf0]
xor eax, edx
and ecx, dword [esp + 0x120]
and ebp, dword [esp + 0x124]
mov dword [esp + 0xd8], ebx
mov esi, dword [esp + 0xf0]
mov ebx, dword [esp + 0xf4]
and esi, dword [esp + 0x108]
and ebx, dword [esp + 0x10c]
mov dword [esp + 0xdc], eax
mov dword [esp + 0xac0], ecx
mov dword [esp + 0xac4], ebp
mov edi, dword [esp + 0x108]
and edi, dword [esp + 0x120]
mov dword [esp + 0xab8], edi
xor esi, dword [esp + 0xac0]
mov edx, dword [esp + 0x10c]
and edx, dword [esp + 0x124]
xor ebx, ebp
xor esi, dword [esp + 0xab8]
xor ebx, edx
mov eax, dword [esp + 0x138]
add dword [esp + 0xd8], esi
adc dword [esp + 0xdc], ebx
mov ebp, dword [esp + 0xe8]
add eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0x13c]
adc ecx, dword [esp + 0xec]
mov edi, dword [esp + 0xec]
add dword [esp + 0xd8], ebp
adc dword [esp + 0xdc], edi
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xabc], edx
mov ebx, dword [esp + 0x1008]
mov dl, byte [ebx + 0x58]
xor eax, eax
mov al, byte [ebx + 0x59]
and edx, 0xff
mov ebp, ebx
mov edi, edx
xor ebx, ebx
mov edx, eax
mov bl, byte [ebp + 0x5a]
xor ecx, ecx
shl edx, 0x10
xor esi, esi
shl edi, 0x18
or esi, ecx
or edi, edx
xor eax, eax
mov ecx, ebx
xor edx, edx
mov dl, byte [ebp + 0x5b]
shl ecx, 8
or esi, eax
xor eax, eax
mov al, byte [ebp + 0x5c]
or edi, ecx
xor ebx, ebx
mov ecx, edx
xor edx, edx
shld edx, eax, 0x18
or esi, ebx
shl eax, 0x18
xor ebx, ebx
mov bl, byte [ebp + 0x5d]
or edi, ecx
or esi, eax
xor ecx, ecx
xor eax, eax
shld ecx, ebx, 0x10
mov al, byte [ebp + 0x5e]
or edi, edx
shl ebx, 0x10
xor edx, edx
or esi, ebx
or edi, ecx
shld edx, eax, 8
shl eax, 8
xor ebx, ebx
mov bl, byte [ebp + 0x5f]
or esi, eax
or esi, ebx
mov dword [esp + 0x1068], esi
mov eax, dword [esp + 0xe0]
or edi, edx
shl eax, 0x12
mov edx, dword [esp + 0xe4]
mov ebx, dword [esp + 0xe4]
mov ebp, dword [esp + 0xe0]
mov dword [esp + 0xaac], eax
shr ebp, 0xe
shr edx, 0xe
shl ebx, 0x12
or edx, dword [esp + 0xaac]
or ebx, ebp
xor ecx, ecx
or edi, ecx
mov dword [esp + 0xab4], edx
mov dword [esp + 0xab0], ebx
mov ecx, dword [esp + 0xe4]
mov ebx, dword [esp + 0xe0]
mov edx, dword [esp + 0xe4]
mov eax, dword [esp + 0xe0]
shl ebx, 0xe
shr ecx, 0x12
shl edx, 0xe
shr eax, 0x12
mov dword [esp + 0xaa8], ebx
mov dword [esp + 0xaa0], edx
or ebx, ecx
or edx, eax
mov ebp, dword [esp + 0xab0]
mov eax, dword [esp + 0xab4]
xor ebp, edx
xor eax, ebx
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 0xe4]
mov ebx, dword [esp + 0xe4]
shr ecx, 9
mov dword [esp + 0xa98], ebp
shl edx, 0x17
shr ebx, 9
mov ebp, dword [esp + 0xe0]
mov dword [esp + 0xa9c], eax
mov dword [esp + 0xa90], edx
shl ebp, 0x17
mov edx, ecx
mov eax, ebx
or edx, dword [esp + 0xa90]
or eax, ebp
mov dword [esp + 0xa94], ecx
mov ebx, dword [esp + 0xa9c]
mov ecx, dword [esp + 0xa98]
xor ecx, eax
xor ebx, edx
mov dword [esp + 0xa80], ecx
mov dword [esp + 0xa84], ebx
mov ebp, dword [esp + 0xa80]
mov ecx, dword [esp + 0xa84]
mov dword [esp + 0x106c], edi
mov dword [esp + 0xd0], ebp
mov dword [esp + 0xd4], ecx
mov edx, dword [esp + 0x128]
add dword [esp + 0xd0], edx
mov eax, dword [esp + 0x12c]
mov ebx, dword [esp + 0xe4]
mov ebp, dword [esp + 0xe0]
adc dword [esp + 0xd4], eax
mov ecx, dword [esp + 0xe0]
and ebx, dword [esp + 0xfc]
mov edx, dword [esp + 0xe4]
not ebp
and ecx, dword [esp + 0xf8]
and ebp, dword [esp + 0x110]
mov dword [esp + 0xa7c], ebx
not edx
and edx, dword [esp + 0x114]
mov dword [esp + 0xa78], ecx
mov eax, dword [esp + 0xa7c]
xor ecx, ebp
xor eax, edx
mov dword [esp + 0xa70], ecx
mov dword [esp + 0xa74], eax
mov ebx, dword [esp + 0xa70]
add dword [esp + 0xd0], ebx
mov ebp, dword [esp + 0xa74]
adc dword [esp + 0xd4], ebp
add dword [esp + 0xd0], 0xd5ffb4e2
adc dword [esp + 0xd4], 0x550c7dc3
add dword [esp + 0xd0], esi
adc dword [esp + 0xd4], edi
mov ebx, dword [esp + 0xdc]
mov eax, dword [esp + 0xd8]
shr eax, 0x1c
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0xdc]
shl ebx, 4
mov ebp, dword [esp + 0xdc]
or ebx, eax
shr edx, 0x1c
shr ebp, 2
shl ecx, 4
mov esi, dword [esp + 0xd8]
or ecx, edx
mov dword [esp + 0xa68], ebx
shl esi, 0x1e
mov edx, ebp
or edx, esi
mov dword [esp + 0xa6c], ecx
mov ebx, dword [esp + 0xd8]
mov edi, dword [esp + 0xdc]
mov ecx, dword [esp + 0xa68]
xor ecx, edx
shr ebx, 2
shl edi, 0x1e
mov eax, dword [esp + 0xd8]
mov ebp, dword [esp + 0xdc]
shr eax, 7
mov dword [esp + 0xa58], ecx
shr ebp, 7
mov dword [esp + 0xa64], ebx
mov ecx, dword [esp + 0xa6c]
or ebx, edi
mov esi, dword [esp + 0xd8]
mov edi, dword [esp + 0xdc]
xor ecx, ebx
shl edi, 0x19
shl esi, 0x19
mov ebx, eax
mov edx, ebp
or ebx, edi
or edx, esi
mov edi, dword [esp + 0xa58]
xor edi, edx
mov dword [esp + 0xa5c], ecx
mov dword [esp + 0xa54], eax
mov edx, dword [esp + 0xdc]
mov eax, ecx
mov ecx, dword [esp + 0xd8]
xor eax, ebx
and ecx, dword [esp + 0x108]
and edx, dword [esp + 0x10c]
mov dword [esp + 0xc0], edi
mov esi, dword [esp + 0xd8]
mov edi, dword [esp + 0xdc]
and esi, dword [esp + 0xf0]
and edi, dword [esp + 0xf4]
mov dword [esp + 0xc4], eax
mov dword [esp + 0xa48], ecx
mov dword [esp + 0xa4c], edx
mov ebp, dword [esp + 0xf0]
and ebp, dword [esp + 0x108]
mov dword [esp + 0xa40], ebp
xor esi, dword [esp + 0xa48]
mov ebx, dword [esp + 0xf4]
and ebx, dword [esp + 0x10c]
xor edi, edx
xor esi, dword [esp + 0xa40]
xor edi, ebx
mov eax, dword [esp + 0x120]
add dword [esp + 0xc0], esi
adc dword [esp + 0xc4], edi
mov edx, dword [esp + 0xd0]
add eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0x124]
adc ecx, dword [esp + 0xd4]
mov ebp, dword [esp + 0xd4]
add dword [esp + 0xc0], edx
adc dword [esp + 0xc4], ebp
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xa44], ebx
mov edi, dword [esp + 0x1008]
xor eax, eax
mov al, byte [edi + 0x61]
mov bl, byte [edi + 0x60]
mov edx, eax
xor eax, eax
mov al, byte [edi + 0x62]
xor ecx, ecx
and ebx, 0xff
xor esi, esi
shl edx, 0x10
or esi, ecx
shl ebx, 0x18
mov ecx, eax
mov ebp, edi
or ebx, edx
shl ecx, 8
xor edx, edx
mov dl, byte [ebp + 0x63]
xor edi, edi
or ebx, ecx
xor ecx, ecx
mov cl, byte [ebp + 0x64]
or esi, edi
xor eax, eax
mov edi, edx
xor edx, edx
shld edx, ecx, 0x18
or esi, eax
shl ecx, 0x18
xor eax, eax
mov al, byte [ebp + 0x65]
or ebx, edi
or esi, ecx
xor edi, edi
xor ecx, ecx
shld edi, eax, 0x10
mov cl, byte [ebp + 0x66]
or ebx, edx
shl eax, 0x10
xor edx, edx
or esi, eax
or ebx, edi
shld edx, ecx, 8
shl ecx, 8
xor eax, eax
mov al, byte [ebp + 0x67]
or esi, ecx
or esi, eax
mov dword [esp + 0x1070], esi
mov edi, dword [esp + 0xc8]
or ebx, edx
shl edi, 0x12
mov edx, dword [esp + 0xcc]
mov dword [esp + 0xa34], edi
shr edx, 0xe
mov ebp, dword [esp + 0xcc]
mov eax, dword [esp + 0xc8]
or edx, dword [esp + 0xa34]
xor ecx, ecx
shr eax, 0xe
shl ebp, 0x12
or ebx, ecx
or ebp, eax
mov dword [esp + 0xa3c], edx
mov ecx, dword [esp + 0xcc]
mov edx, dword [esp + 0xc8]
mov eax, dword [esp + 0xcc]
mov edi, dword [esp + 0xc8]
shl edx, 0xe
shr ecx, 0x12
shl eax, 0xe
shr edi, 0x12
mov dword [esp + 0xa38], ebp
mov dword [esp + 0xa30], edx
mov dword [esp + 0xa28], eax
or edx, ecx
or eax, edi
mov ebp, dword [esp + 0xa38]
mov edi, dword [esp + 0xa3c]
xor ebp, eax
xor edi, edx
mov eax, dword [esp + 0xc8]
mov edx, dword [esp + 0xcc]
mov ecx, dword [esp + 0xcc]
shr eax, 9
mov dword [esp + 0xa20], ebp
shl edx, 0x17
shr ecx, 9
mov ebp, dword [esp + 0xc8]
mov dword [esp + 0xa24], edi
mov dword [esp + 0xa18], edx
shl ebp, 0x17
mov edx, eax
mov edi, ecx
or edx, dword [esp + 0xa18]
or edi, ebp
mov dword [esp + 0xa1c], eax
mov ebp, dword [esp + 0xa20]
mov eax, dword [esp + 0xa24]
xor ebp, edi
xor eax, edx
mov dword [esp + 0xa08], ebp
mov dword [esp + 0xa0c], eax
mov ecx, dword [esp + 0xa08]
mov edi, dword [esp + 0xa0c]
mov dword [esp + 0x1074], ebx
mov dword [esp + 0xb8], ecx
mov dword [esp + 0xbc], edi
mov ebp, dword [esp + 0x110]
add dword [esp + 0xb8], ebp
mov eax, dword [esp + 0x114]
mov edx, dword [esp + 0xcc]
mov ecx, dword [esp + 0xc8]
adc dword [esp + 0xbc], eax
mov edi, dword [esp + 0xc8]
and edx, dword [esp + 0xe4]
mov ebp, dword [esp + 0xcc]
not ecx
and edi, dword [esp + 0xe0]
and ecx, dword [esp + 0xf8]
mov dword [esp + 0xa04], edx
not ebp
and ebp, dword [esp + 0xfc]
mov dword [esp + 0xa00], edi
mov eax, dword [esp + 0xa04]
xor edi, ecx
xor eax, ebp
mov dword [esp + 0x9f8], edi
mov dword [esp + 0x9fc], eax
mov edx, dword [esp + 0x9f8]
add dword [esp + 0xb8], edx
mov ecx, dword [esp + 0x9fc]
adc dword [esp + 0xbc], ecx
add dword [esp + 0xb8], 0xf27b896f
adc dword [esp + 0xbc], 0x72be5d74
add dword [esp + 0xb8], esi
adc dword [esp + 0xbc], ebx
mov edi, dword [esp + 0xc0]
shl edi, 4
mov dword [esp + 0x9f4], edi
mov esi, dword [esp + 0xc4]
mov ebp, dword [esp + 0xc4]
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0xc4]
shr esi, 0x1c
shl ebp, 4
shr ecx, 2
shr edx, 2
mov eax, dword [esp + 0xc0]
mov edi, dword [esp + 0x9f4]
mov ebx, dword [esp + 0xc4]
shl ebx, 0x1e
shr eax, 0x1c
or edi, esi
mov dword [esp + 0x9e8], edx
mov esi, ebp
mov edx, ecx
mov ebp, dword [esp + 0xc0]
or edx, ebx
or esi, eax
shl ebp, 0x1e
mov dword [esp + 0x9ec], ebx
mov eax, dword [esp + 0x9e8]
mov ebx, dword [esp + 0xc4]
or eax, ebp
shr ebx, 7
mov ecx, dword [esp + 0xc0]
xor esi, eax
shr ecx, 7
mov dword [esp + 0x9dc], ebx
mov eax, dword [esp + 0xc4]
mov ebp, dword [esp + 0xc0]
xor edi, edx
shl eax, 0x19
shl ebp, 0x19
mov ebx, ecx
mov edx, dword [esp + 0x9dc]
or ebx, eax
or edx, ebp
mov ebp, esi
mov esi, edi
xor esi, ebx
xor ebp, edx
mov dword [esp + 0x9d4], esi
mov dword [esp + 0x9d0], ebp
mov edi, dword [esp + 0x9d4]
mov ecx, dword [esp + 0xc0]
and ecx, dword [esp + 0xf0]
mov dword [esp + 0x9e0], eax
mov dword [esp + 0xac], edi
mov eax, dword [esp + 0x9d0]
mov esi, dword [esp + 0xc0]
mov edi, dword [esp + 0xc4]
and esi, dword [esp + 0xd8]
and edi, dword [esp + 0xdc]
mov dword [esp + 0xa8], eax
mov dword [esp + 0x9c8], ecx
mov ebp, dword [esp + 0xd8]
and ebp, dword [esp + 0xf0]
mov edx, dword [esp + 0xc4]
mov dword [esp + 0x9c0], ebp
and edx, dword [esp + 0xf4]
xor esi, dword [esp + 0x9c8]
mov ebx, dword [esp + 0xdc]
and ebx, dword [esp + 0xf4]
xor edi, edx
xor esi, dword [esp + 0x9c0]
xor edi, ebx
mov eax, dword [esp + 0x108]
add dword [esp + 0xa8], esi
adc dword [esp + 0xac], edi
mov dword [esp + 0x9cc], edx
add eax, dword [esp + 0xb8]
mov edx, dword [esp + 0xb8]
mov ecx, dword [esp + 0x10c]
adc ecx, dword [esp + 0xbc]
mov ebp, dword [esp + 0xbc]
add dword [esp + 0xa8], edx
adc dword [esp + 0xac], ebp
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], ecx
mov dword [esp + 0x9c4], ebx
mov edi, dword [esp + 0x1008]
xor eax, eax
mov al, byte [edi + 0x69]
mov bl, byte [edi + 0x68]
mov edx, eax
xor eax, eax
mov al, byte [edi + 0x6a]
xor ecx, ecx
and ebx, 0xff
xor esi, esi
shl edx, 0x10
or esi, ecx
shl ebx, 0x18
mov ecx, eax
mov ebp, edi
or ebx, edx
shl ecx, 8
xor edx, edx
mov dl, byte [ebp + 0x6b]
xor edi, edi
or ebx, ecx
xor ecx, ecx
mov cl, byte [ebp + 0x6c]
or esi, edi
xor eax, eax
mov edi, edx
xor edx, edx
shld edx, ecx, 0x18
or esi, eax
shl ecx, 0x18
xor eax, eax
mov al, byte [ebp + 0x6d]
or ebx, edi
or esi, ecx
xor edi, edi
xor ecx, ecx
shld edi, eax, 0x10
mov cl, byte [ebp + 0x6e]
or ebx, edx
shl eax, 0x10
xor edx, edx
or esi, eax
or ebx, edi
shld edx, ecx, 8
shl ecx, 8
xor eax, eax
mov al, byte [ebp + 0x6f]
or esi, ecx
or esi, eax
mov dword [esp + 0x1078], esi
mov edi, dword [esp + 0xb0]
or ebx, edx
shl edi, 0x12
mov edx, dword [esp + 0xb4]
mov dword [esp + 0x9b4], edi
shr edx, 0xe
mov ebp, dword [esp + 0xb4]
mov eax, dword [esp + 0xb0]
or edx, dword [esp + 0x9b4]
xor ecx, ecx
shr eax, 0xe
shl ebp, 0x12
or ebx, ecx
or ebp, eax
mov dword [esp + 0x9bc], edx
mov ecx, dword [esp + 0xb4]
mov edx, dword [esp + 0xb0]
mov eax, dword [esp + 0xb4]
mov edi, dword [esp + 0xb0]
shl edx, 0xe
shr ecx, 0x12
shl eax, 0xe
shr edi, 0x12
mov dword [esp + 0x9b8], ebp
mov dword [esp + 0x9b0], edx
mov dword [esp + 0x9a8], eax
or edx, ecx
or eax, edi
mov ebp, dword [esp + 0x9b8]
mov edi, dword [esp + 0x9bc]
xor ebp, eax
xor edi, edx
mov eax, dword [esp + 0xb0]
mov edx, dword [esp + 0xb4]
mov ecx, dword [esp + 0xb4]
shr eax, 9
mov dword [esp + 0x9a0], ebp
shl edx, 0x17
shr ecx, 9
mov ebp, dword [esp + 0xb0]
mov dword [esp + 0x9a4], edi
mov dword [esp + 0x998], edx
shl ebp, 0x17
mov edx, eax
mov edi, ecx
or edx, dword [esp + 0x998]
or edi, ebp
mov dword [esp + 0x99c], eax
mov ebp, dword [esp + 0x9a0]
mov eax, dword [esp + 0x9a4]
xor ebp, edi
xor eax, edx
mov dword [esp + 0x988], ebp
mov dword [esp + 0x98c], eax
mov ecx, dword [esp + 0x988]
mov edi, dword [esp + 0x98c]
mov dword [esp + 0x107c], ebx
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa4], edi
mov ebp, dword [esp + 0xf8]
add dword [esp + 0xa0], ebp
mov eax, dword [esp + 0xfc]
mov edx, dword [esp + 0xb4]
mov ecx, dword [esp + 0xb0]
adc dword [esp + 0xa4], eax
mov edi, dword [esp + 0xb0]
and edx, dword [esp + 0xcc]
mov ebp, dword [esp + 0xb4]
not ecx
and edi, dword [esp + 0xc8]
and ecx, dword [esp + 0xe0]
mov dword [esp + 0x984], edx
not ebp
and ebp, dword [esp + 0xe4]
mov dword [esp + 0x980], edi
mov eax, dword [esp + 0x984]
xor edi, ecx
xor eax, ebp
mov dword [esp + 0x978], edi
mov dword [esp + 0x97c], eax
mov edx, dword [esp + 0x978]
add dword [esp + 0xa0], edx
mov ecx, dword [esp + 0x97c]
adc dword [esp + 0xa4], ecx
add dword [esp + 0xa0], 0x3b1696b1
adc dword [esp + 0xa4], 0x80deb1fe
add dword [esp + 0xa0], esi
adc dword [esp + 0xa4], ebx
mov edi, dword [esp + 0xa8]
shl edi, 4
mov dword [esp + 0x974], edi
mov esi, dword [esp + 0xac]
mov ebp, dword [esp + 0xac]
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xac]
shr esi, 0x1c
shl ebp, 4
shr ecx, 2
shr edx, 2
mov eax, dword [esp + 0xa8]
mov edi, dword [esp + 0x974]
mov ebx, dword [esp + 0xac]
shl ebx, 0x1e
shr eax, 0x1c
or edi, esi
mov dword [esp + 0x968], edx
mov esi, ebp
mov edx, ecx
mov ebp, dword [esp + 0xa8]
or edx, ebx
or esi, eax
shl ebp, 0x1e
mov dword [esp + 0x96c], ebx
mov eax, dword [esp + 0x968]
mov ebx, dword [esp + 0xac]
or eax, ebp
shr ebx, 7
mov ecx, dword [esp + 0xa8]
xor esi, eax
shr ecx, 7
mov dword [esp + 0x95c], ebx
mov eax, dword [esp + 0xac]
mov ebp, dword [esp + 0xa8]
xor edi, edx
shl eax, 0x19
shl ebp, 0x19
mov ebx, ecx
mov edx, dword [esp + 0x95c]
or ebx, eax
or edx, ebp
mov ebp, esi
mov esi, edi
xor esi, ebx
xor ebp, edx
mov dword [esp + 0x954], esi
mov dword [esp + 0x950], ebp
mov edi, dword [esp + 0x954]
mov ecx, dword [esp + 0xa8]
and ecx, dword [esp + 0xd8]
mov dword [esp + 0x960], eax
mov dword [esp + 0x94], edi
mov eax, dword [esp + 0x950]
mov esi, dword [esp + 0xa8]
mov edi, dword [esp + 0xac]
and esi, dword [esp + 0xc0]
and edi, dword [esp + 0xc4]
mov dword [esp + 0x90], eax
mov dword [esp + 0x948], ecx
mov ebp, dword [esp + 0xc0]
and ebp, dword [esp + 0xd8]
mov edx, dword [esp + 0xac]
mov dword [esp + 0x940], ebp
and edx, dword [esp + 0xdc]
xor esi, dword [esp + 0x948]
mov ebx, dword [esp + 0xc4]
and ebx, dword [esp + 0xdc]
xor edi, edx
xor esi, dword [esp + 0x940]
xor edi, ebx
mov eax, dword [esp + 0xf0]
add dword [esp + 0x90], esi
adc dword [esp + 0x94], edi
mov dword [esp + 0x94c], edx
add eax, dword [esp + 0xa0]
mov edx, dword [esp + 0xa0]
mov ecx, dword [esp + 0xf4]
adc ecx, dword [esp + 0xa4]
mov ebp, dword [esp + 0xa4]
add dword [esp + 0x90], edx
adc dword [esp + 0x94], ebp
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x944], ebx
mov edi, dword [esp + 0x1008]
xor eax, eax
mov al, byte [edi + 0x71]
mov bl, byte [edi + 0x70]
mov edx, eax
xor eax, eax
mov al, byte [edi + 0x72]
xor ecx, ecx
and ebx, 0xff
xor esi, esi
shl edx, 0x10
or esi, ecx
shl ebx, 0x18
mov ecx, eax
mov ebp, edi
or ebx, edx
shl ecx, 8
xor edx, edx
mov dl, byte [ebp + 0x73]
xor edi, edi
or ebx, ecx
xor ecx, ecx
mov cl, byte [ebp + 0x74]
or esi, edi
xor eax, eax
mov edi, edx
xor edx, edx
shld edx, ecx, 0x18
or esi, eax
shl ecx, 0x18
xor eax, eax
mov al, byte [ebp + 0x75]
or ebx, edi
or esi, ecx
xor edi, edi
xor ecx, ecx
shld edi, eax, 0x10
mov cl, byte [ebp + 0x76]
or ebx, edx
shl eax, 0x10
xor edx, edx
or esi, eax
or ebx, edi
shld edx, ecx, 8
shl ecx, 8
xor eax, eax
mov al, byte [ebp + 0x77]
or esi, ecx
or esi, eax
mov dword [esp + 0x1080], esi
mov edi, dword [esp + 0x98]
or ebx, edx
shl edi, 0x12
mov edx, dword [esp + 0x9c]
mov dword [esp + 0x934], edi
shr edx, 0xe
mov ebp, dword [esp + 0x9c]
mov eax, dword [esp + 0x98]
or edx, dword [esp + 0x934]
xor ecx, ecx
shr eax, 0xe
shl ebp, 0x12
or ebx, ecx
or ebp, eax
mov dword [esp + 0x93c], edx
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0x98]
mov eax, dword [esp + 0x9c]
mov edi, dword [esp + 0x98]
shl edx, 0xe
shr ecx, 0x12
shl eax, 0xe
shr edi, 0x12
mov dword [esp + 0x938], ebp
mov dword [esp + 0x930], edx
mov dword [esp + 0x928], eax
or edx, ecx
or eax, edi
mov ebp, dword [esp + 0x938]
mov edi, dword [esp + 0x93c]
xor ebp, eax
xor edi, edx
mov eax, dword [esp + 0x98]
mov edx, dword [esp + 0x9c]
mov ecx, dword [esp + 0x9c]
shr eax, 9
mov dword [esp + 0x920], ebp
shl edx, 0x17
shr ecx, 9
mov ebp, dword [esp + 0x98]
mov dword [esp + 0x924], edi
mov dword [esp + 0x918], edx
shl ebp, 0x17
mov edx, eax
mov edi, ecx
or edx, dword [esp + 0x918]
or edi, ebp
mov dword [esp + 0x91c], eax
mov ebp, dword [esp + 0x920]
mov eax, dword [esp + 0x924]
xor ebp, edi
xor eax, edx
mov dword [esp + 0x908], ebp
mov dword [esp + 0x90c], eax
mov ecx, dword [esp + 0x908]
mov edi, dword [esp + 0x90c]
mov dword [esp + 0x1084], ebx
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], edi
mov ebp, dword [esp + 0xe0]
add dword [esp + 0x88], ebp
mov eax, dword [esp + 0xe4]
mov edx, dword [esp + 0x9c]
mov ecx, dword [esp + 0x98]
adc dword [esp + 0x8c], eax
mov edi, dword [esp + 0x98]
and edx, dword [esp + 0xb4]
mov ebp, dword [esp + 0x9c]
not ecx
and edi, dword [esp + 0xb0]
and ecx, dword [esp + 0xc8]
mov dword [esp + 0x904], edx
not ebp
and ebp, dword [esp + 0xcc]
mov dword [esp + 0x900], edi
mov eax, dword [esp + 0x904]
xor edi, ecx
xor eax, ebp
mov dword [esp + 0x8f8], edi
mov dword [esp + 0x8fc], eax
mov edx, dword [esp + 0x8f8]
add dword [esp + 0x88], edx
mov ecx, dword [esp + 0x8fc]
adc dword [esp + 0x8c], ecx
add dword [esp + 0x88], 0x25c71235
adc dword [esp + 0x8c], 0x9bdc06a7
add dword [esp + 0x88], esi
adc dword [esp + 0x8c], ebx
mov edi, dword [esp + 0x90]
shl edi, 4
mov dword [esp + 0x8f4], edi
mov esi, dword [esp + 0x94]
mov ebp, dword [esp + 0x94]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x94]
shr esi, 0x1c
shl ebp, 4
shr ecx, 2
shr edx, 2
mov eax, dword [esp + 0x90]
mov edi, dword [esp + 0x8f4]
mov ebx, dword [esp + 0x94]
shl ebx, 0x1e
shr eax, 0x1c
or edi, esi
mov dword [esp + 0x8e8], edx
mov esi, ebp
mov edx, ecx
mov ebp, dword [esp + 0x90]
or edx, ebx
or esi, eax
shl ebp, 0x1e
mov dword [esp + 0x8ec], ebx
mov eax, dword [esp + 0x8e8]
mov ebx, dword [esp + 0x94]
or eax, ebp
shr ebx, 7
mov ecx, dword [esp + 0x90]
xor esi, eax
shr ecx, 7
mov dword [esp + 0x8dc], ebx
mov eax, dword [esp + 0x94]
mov ebp, dword [esp + 0x90]
xor edi, edx
shl eax, 0x19
shl ebp, 0x19
mov ebx, ecx
mov edx, dword [esp + 0x8dc]
or ebx, eax
or edx, ebp
mov ebp, esi
mov esi, edi
xor esi, ebx
xor ebp, edx
mov dword [esp + 0x8d4], esi
mov dword [esp + 0x8d0], ebp
mov edi, dword [esp + 0x8d4]
mov ecx, dword [esp + 0x90]
and ecx, dword [esp + 0xc0]
mov dword [esp + 0x8e0], eax
mov dword [esp + 0x7c], edi
mov eax, dword [esp + 0x8d0]
mov esi, dword [esp + 0x90]
mov edi, dword [esp + 0x94]
and esi, dword [esp + 0xa8]
and edi, dword [esp + 0xac]
mov dword [esp + 0x78], eax
mov dword [esp + 0x8c8], ecx
mov ebp, dword [esp + 0xa8]
and ebp, dword [esp + 0xc0]
mov edx, dword [esp + 0x94]
mov dword [esp + 0x8c0], ebp
and edx, dword [esp + 0xc4]
xor esi, dword [esp + 0x8c8]
mov ebx, dword [esp + 0xac]
and ebx, dword [esp + 0xc4]
xor edi, edx
xor esi, dword [esp + 0x8c0]
xor edi, ebx
mov eax, dword [esp + 0xd8]
add dword [esp + 0x78], esi
adc dword [esp + 0x7c], edi
mov dword [esp + 0x8cc], edx
add eax, dword [esp + 0x88]
mov edx, dword [esp + 0x88]
mov ecx, dword [esp + 0xdc]
adc ecx, dword [esp + 0x8c]
mov ebp, dword [esp + 0x8c]
add dword [esp + 0x78], edx
adc dword [esp + 0x7c], ebp
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], ecx
mov dword [esp + 0x8c4], ebx
mov edi, dword [esp + 0x1008]
xor eax, eax
mov al, byte [edi + 0x79]
mov bl, byte [edi + 0x78]
mov edx, eax
xor eax, eax
mov al, byte [edi + 0x7a]
xor ecx, ecx
and ebx, 0xff
xor esi, esi
shl edx, 0x10
or esi, ecx
shl ebx, 0x18
mov ecx, eax
mov ebp, edi
or ebx, edx
shl ecx, 8
xor edx, edx
mov dl, byte [ebp + 0x7b]
xor edi, edi
or ebx, ecx
xor ecx, ecx
mov cl, byte [ebp + 0x7c]
or esi, edi
xor eax, eax
mov edi, edx
xor edx, edx
shld edx, ecx, 0x18
or esi, eax
shl ecx, 0x18
xor eax, eax
mov al, byte [ebp + 0x7d]
or ebx, edi
or esi, ecx
xor edi, edi
xor ecx, ecx
shld edi, eax, 0x10
mov cl, byte [ebp + 0x7e]
or ebx, edx
shl eax, 0x10
xor edx, edx
or esi, eax
or ebx, edi
shld edx, ecx, 8
shl ecx, 8
xor eax, eax
mov al, byte [ebp + 0x7f]
or esi, ecx
or esi, eax
mov dword [esp + 0x1088], esi
mov edi, dword [esp + 0x80]
or ebx, edx
shl edi, 0x12
mov edx, dword [esp + 0x84]
mov dword [esp + 0x8b4], edi
shr edx, 0xe
mov ebp, dword [esp + 0x84]
mov eax, dword [esp + 0x80]
or edx, dword [esp + 0x8b4]
xor ecx, ecx
shr eax, 0xe
shl ebp, 0x12
or ebx, ecx
or ebp, eax
mov dword [esp + 0x8bc], edx
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x84]
mov edi, dword [esp + 0x80]
shl edx, 0xe
shr ecx, 0x12
shl eax, 0xe
shr edi, 0x12
mov dword [esp + 0x8b8], ebp
mov dword [esp + 0x8b0], edx
mov dword [esp + 0x8a8], eax
or edx, ecx
or eax, edi
mov ebp, dword [esp + 0x8b8]
mov edi, dword [esp + 0x8bc]
xor ebp, eax
xor edi, edx
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x84]
mov ecx, dword [esp + 0x84]
shr eax, 9
mov dword [esp + 0x8a0], ebp
shl edx, 0x17
shr ecx, 9
mov ebp, dword [esp + 0x80]
mov dword [esp + 0x8a4], edi
mov dword [esp + 0x898], edx
shl ebp, 0x17
mov edx, eax
mov edi, ecx
or edx, dword [esp + 0x898]
or edi, ebp
mov dword [esp + 0x89c], eax
mov ebp, dword [esp + 0x8a0]
mov eax, dword [esp + 0x8a4]
xor ebp, edi
xor eax, edx
mov dword [esp + 0x888], ebp
mov dword [esp + 0x88c], eax
mov ecx, dword [esp + 0x888]
mov edi, dword [esp + 0x88c]
mov dword [esp + 0x108c], ebx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], edi
mov edx, dword [esp + 0xc8]
add dword [esp + 0x70], edx
mov ebp, dword [esp + 0xcc]
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x80]
adc dword [esp + 0x74], ebp
mov edi, dword [esp + 0x80]
and eax, dword [esp + 0x9c]
mov edx, dword [esp + 0x84]
not ecx
and edi, dword [esp + 0x98]
and ecx, dword [esp + 0xb0]
mov dword [esp + 0x884], eax
not edx
and edx, dword [esp + 0xb4]
mov dword [esp + 0x880], edi
mov ebp, dword [esp + 0x884]
xor edi, ecx
xor ebp, edx
mov dword [esp + 0x878], edi
mov dword [esp + 0x87c], ebp
mov eax, dword [esp + 0x878]
add dword [esp + 0x70], eax
mov ecx, dword [esp + 0x87c]
adc dword [esp + 0x74], ecx
add dword [esp + 0x70], 0xcf692694
adc dword [esp + 0x74], 0xc19bf174
add dword [esp + 0x70], esi
adc dword [esp + 0x74], ebx
mov edi, dword [esp + 0x78]
shl edi, 4
mov dword [esp + 0x874], edi
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x7c]
mov edx, dword [esp + 0x7c]
shr ebx, 0x1c
shl ebp, 4
shr edx, 2
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x874]
mov ecx, dword [esp + 0x78]
shr esi, 0x1c
or edi, ebx
shr ecx, 2
mov dword [esp + 0x868], edx
mov ebx, ebp
mov eax, dword [esp + 0x7c]
mov ebp, dword [esp + 0x78]
shl eax, 0x1e
or ebx, esi
shl ebp, 0x1e
mov esi, ecx
mov edx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x868]
or esi, eax
or ecx, ebp
shr edx, 7
mov ebp, dword [esp + 0x78]
xor edi, esi
shr ebp, 7
mov dword [esp + 0x85c], edx
mov dword [esp + 0x86c], eax
mov esi, dword [esp + 0x78]
mov eax, dword [esp + 0x7c]
xor ebx, ecx
shl eax, 0x19
shl esi, 0x19
mov edx, ebp
mov ecx, dword [esp + 0x85c]
or edx, eax
or ecx, esi
mov esi, edi
xor esi, edx
mov ebp, ebx
xor ebp, ecx
mov dword [esp + 0x854], esi
mov dword [esp + 0x850], ebp
mov ebx, dword [esp + 0x854]
mov ecx, dword [esp + 0x78]
and ecx, dword [esp + 0xa8]
mov dword [esp + 0x860], eax
mov dword [esp + 0x64], ebx
mov eax, dword [esp + 0x850]
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0x7c]
and edx, dword [esp + 0x90]
and ebx, dword [esp + 0x94]
mov dword [esp + 0x60], eax
mov dword [esp + 0x848], ecx
mov edi, dword [esp + 0x90]
and edi, dword [esp + 0xa8]
mov ebp, dword [esp + 0x7c]
and ebp, dword [esp + 0xac]
xor edx, dword [esp + 0x848]
mov dword [esp + 0x840], edi
mov esi, dword [esp + 0x94]
xor ebx, ebp
and esi, dword [esp + 0xac]
xor edx, dword [esp + 0x840]
xor ebx, esi
mov eax, dword [esp + 0xc0]
add dword [esp + 0x60], edx
adc dword [esp + 0x64], ebx
mov dword [esp + 0x84c], ebp
add eax, dword [esp + 0x70]
mov ecx, dword [esp + 0xc4]
mov ebp, dword [esp + 0x70]
adc ecx, dword [esp + 0x74]
mov edi, dword [esp + 0x74]
add dword [esp + 0x60], ebp
mov dword [esp + 0x844], esi
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], ecx
adc dword [esp + 0x64], edi
mov dword [esp + 0xfe4], 0x10
mov esi, esi
mov edi, dword [esp + 0xfe4]
inc edi
mov dword [esp + 0x83c], edi
and edi, 0xf
mov esi, dword [esp + edi*8 + 0x1010]
mov dword [esp + 0x83c], edi
mov ebx, esi
mov edi, dword [esp + edi*8 + 0x1014]
shl ebx, 0x1f
mov ecx, edi
mov dword [esp + 0x82c], ebx
shr ecx, 1
mov ebp, edi
mov eax, esi
or ecx, dword [esp + 0x82c]
shr eax, 1
shl ebp, 0x1f
mov edx, esi
or ebp, eax
mov dword [esp + 0x834], ecx
shl edx, 0x18
mov ecx, edi
mov dword [esp + 0x830], ebp
shl ecx, 0x18
mov dword [esp + 0x828], edx
mov ebx, edi
mov ebp, esi
shr ebx, 8
shr ebp, 8
mov edx, dword [esp + 0x828]
mov eax, ecx
or edx, ebx
or eax, ebp
mov ebx, dword [esp + 0x830]
xor ebx, eax
mov dword [esp + 0x820], ebx
mov ecx, dword [esp + 0x834]
xor ecx, edx
shrd esi, edi, 7
mov ebp, dword [esp + 0x820]
mov eax, dword [esp + 0xfe4]
xor ebp, esi
shr edi, 7
add eax, 0xe
mov esi, ecx
xor esi, edi
mov dword [esp + 0x81c], eax
and eax, 0xf
mov dword [esp + 0x7f4], esi
mov esi, dword [esp + eax*8 + 0x1010]
mov edi, dword [esp + eax*8 + 0x1014]
mov dword [esp + 0x824], ecx
mov ebx, esi
mov ecx, esi
shl ecx, 0xd
shr ebx, 0x13
mov dword [esp + 0x7f0], ebp
mov ebp, edi
shr ebp, 0x13
mov dword [esp + 0x810], ebx
mov ebx, ecx
or ebx, ebp
mov ebp, esi
shr ebp, 0x1d
mov ecx, edi
mov dword [esp + 0x804], ebp
lea edx, [edi*8]
shr ecx, 0x1d
mov dword [esp + 0x81c], eax
mov eax, edi
shl eax, 0xd
mov dword [esp + 0x800], edx
mov dword [esp + 0x7fc], ecx
lea ebp, [esi*8]
mov edx, dword [esp + 0x804]
or edx, dword [esp + 0x800]
or ebp, dword [esp + 0x7fc]
mov dword [esp + 0x814], eax
or eax, dword [esp + 0x810]
xor eax, ebp
xor ebx, edx
shrd esi, edi, 6
xor eax, esi
shr edi, 6
mov dword [esp + 0x80c], edx
mov dword [esp + 0x808], ebp
mov ecx, dword [esp + 0xfe4]
xor ebx, edi
and ecx, 0xf
mov edi, dword [esp + 0xfe4]
add dword [esp + 0x7f0], eax
adc dword [esp + 0x7f4], ebx
add edi, 9
mov dword [esp + 0x7f8], ecx
and edi, 0xf
mov edx, dword [esp + edi*8 + 0x1010]
mov esi, dword [esp + 0x7f8]
mov ebp, dword [esp + edi*8 + 0x1014]
mov ebx, dword [esp + esi*8 + 0x1010]
add dword [esp + 0x7f0], edx
mov ecx, dword [esp + esi*8 + 0x1014]
adc dword [esp + 0x7f4], ebp
add dword [esp + 0x7f0], ebx
adc dword [esp + 0x7f4], ecx
mov esi, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x68]
shr edx, 0xe
shr ebx, 0xe
shl esi, 0x12
shl ecx, 0x12
mov ebp, dword [esp + 0x7f8]
or esi, edx
or ecx, ebx
mov eax, dword [esp + 0x7f0]
mov edi, dword [esp + 0x7f4]
mov dword [esp + ebp*8 + 0x1010], eax
mov dword [esp + ebp*8 + 0x1014], edi
mov dword [esp + 0x7ec], esi
mov dword [esp + 0x7e8], ecx
mov ebp, dword [esp + 0x6c]
shl ebp, 0xe
mov esi, dword [esp + 0x68]
shr esi, 0x12
mov eax, dword [esp + 0x68]
mov ebx, ebp
shl eax, 0xe
or ebx, esi
mov edi, dword [esp + 0x6c]
mov ecx, dword [esp + 0x7e8]
mov ebp, dword [esp + 0x6c]
xor ecx, ebx
shr edi, 0x12
shr ebp, 9
mov dword [esp + 0x7e4], eax
mov edx, eax
mov esi, dword [esp + 0x68]
mov eax, dword [esp + 0x68]
or edx, edi
shr eax, 9
mov dword [esp + 0x7d8], ecx
shl esi, 0x17
mov ecx, dword [esp + 0x7ec]
mov edi, dword [esp + 0x6c]
mov ebx, ebp
xor ecx, edx
or ebx, esi
shl edi, 0x17
mov edx, eax
mov esi, dword [esp + 0x7d8]
or edx, edi
xor esi, ebx
mov ebx, ecx
xor ebx, edx
mov dword [esp + 0x7dc], ecx
add esi, dword [esp + 0xb0]
mov ecx, dword [esp + 0x68]
adc ebx, dword [esp + 0xb4]
mov dword [esp + 0x7d4], eax
and ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x68]
and edx, dword [esp + 0x84]
mov dword [esp + 0x7c8], ecx
mov edi, dword [esp + 0x6c]
not eax
and eax, dword [esp + 0x98]
mov dword [esp + 0x7cc], edx
mov ebp, dword [esp + 0x7c8]
not edi
and edi, dword [esp + 0x9c]
xor ebp, eax
mov ecx, dword [esp + 0x7cc]
xor ecx, edi
mov dword [esp + 0x7c0], ebp
mov edx, dword [esp + 0xfe4]
mov dword [esp + 0x7c4], ecx
add esi, dword [esp + 0x7c0]
adc ebx, dword [esp + 0x7c4]
add esi, dword [edx*8 + 0x5257e0]
adc ebx, dword [edx*8 + 0x5257e4]
mov ebp, dword [esp + 0x60]
add esi, dword [esp + 0x7f0]
adc ebx, dword [esp + 0x7f4]
shl ebp, 4
mov dword [esp + 0x7b4], ebp
mov eax, dword [esp + 0x64]
shr eax, 0x1c
mov ecx, dword [esp + 0x64]
mov edi, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
or eax, dword [esp + 0x7b4]
shr edi, 0x1c
shr edx, 2
shl ecx, 4
mov ebp, dword [esp + 0x60]
or ecx, edi
mov dword [esp + 0x7bc], eax
shr ebp, 2
mov dword [esp + 0x7a8], edx
mov eax, dword [esp + 0x64]
mov edi, dword [esp + 0x60]
shl eax, 0x1e
mov dword [esp + 0x7b8], ecx
shl edi, 0x1e
mov edx, ebp
mov ecx, dword [esp + 0x7a8]
or edx, eax
or ecx, edi
mov ebp, dword [esp + 0x7b8]
mov edi, dword [esp + 0x7bc]
xor ebp, ecx
xor edi, edx
mov dword [esp + 0x7ac], eax
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
shr eax, 7
mov dword [esp + 0x7a0], ebp
shl edx, 0x19
shr ecx, 7
mov ebp, dword [esp + 0x60]
mov dword [esp + 0x7a4], edi
mov dword [esp + 0x798], edx
shl ebp, 0x19
mov edx, eax
mov edi, ecx
or edx, dword [esp + 0x798]
or edi, ebp
mov dword [esp + 0x79c], eax
mov ecx, dword [esp + 0x7a0]
mov eax, dword [esp + 0x7a4]
xor ecx, edi
xor eax, edx
mov dword [esp + 0x788], ecx
mov dword [esp + 0x78c], eax
mov edi, dword [esp + 0x788]
mov ebp, dword [esp + 0x78c]
mov ecx, dword [esp + 0x60]
and ecx, dword [esp + 0x90]
mov dword [esp + 0x50], edi
mov dword [esp + 0x54], ebp
mov edi, dword [esp + 0x60]
mov ebp, dword [esp + 0x64]
and edi, dword [esp + 0x78]
and ebp, dword [esp + 0x7c]
mov dword [esp + 0x780], ecx
mov edx, dword [esp + 0x78]
and edx, dword [esp + 0x90]
mov eax, dword [esp + 0x64]
and eax, dword [esp + 0x94]
xor edi, dword [esp + 0x780]
mov dword [esp + 0x778], edx
mov ecx, dword [esp + 0x7c]
and ecx, dword [esp + 0x94]
xor ebp, eax
xor edi, dword [esp + 0x778]
xor ebp, ecx
mov dword [esp + 0x784], eax
add dword [esp + 0x50], edi
mov eax, dword [esp + 0xa8]
adc dword [esp + 0x54], ebp
mov edx, dword [esp + 0xac]
add eax, esi
adc edx, ebx
mov edi, dword [esp + 0xfe4]
add dword [esp + 0x50], esi
adc dword [esp + 0x54], ebx
add edi, 2
mov dword [esp + 0x774], edi
and edi, 0xf
mov ebx, dword [esp + edi*8 + 0x1010]
mov dword [esp + 0x774], edi
mov ebp, ebx
mov edi, dword [esp + edi*8 + 0x1014]
shl ebp, 0x1f
mov dword [esp + 0x5c], edx
mov edx, edi
mov dword [esp + 0x764], ebp
mov dword [esp + 0x58], eax
shr edx, 1
mov esi, edi
mov eax, ebx
or edx, dword [esp + 0x764]
shr eax, 1
shl esi, 0x1f
or esi, eax
mov dword [esp + 0x77c], ecx
mov dword [esp + 0x76c], edx
mov ecx, edi
mov edx, ebx
mov eax, edi
mov ebp, ebx
shl edx, 0x18
shr ecx, 8
shl eax, 0x18
shr ebp, 8
mov dword [esp + 0x768], esi
mov dword [esp + 0x760], edx
mov dword [esp + 0x758], eax
or edx, ecx
or eax, ebp
mov esi, dword [esp + 0x768]
mov ecx, dword [esp + 0x76c]
xor ecx, edx
xor esi, eax
mov eax, dword [esp + 0xfe4]
shrd ebx, edi, 7
mov dword [esp + 0x750], esi
shr edi, 7
add eax, 0xf
mov esi, ecx
xor esi, edi
mov dword [esp + 0x74c], eax
and eax, 0xf
mov dword [esp + 0x724], esi
mov ebp, dword [esp + 0x750]
mov esi, dword [esp + eax*8 + 0x1010]
mov edi, dword [esp + eax*8 + 0x1014]
xor ebp, ebx
mov dword [esp + 0x754], ecx
mov ebx, esi
mov ecx, esi
mov dword [esp + 0x720], ebp
shl ecx, 0xd
shr ebx, 0x13
mov ebp, edi
shr ebp, 0x13
mov dword [esp + 0x740], ebx
mov ebx, ecx
or ebx, ebp
mov edx, edi
mov ebp, esi
shr ebp, 0x1d
shr edx, 0x1d
mov dword [esp + 0x74c], eax
mov eax, edi
shl eax, 0xd
mov dword [esp + 0x734], ebp
lea ecx, [edi*8]
mov dword [esp + 0x72c], edx
lea ebp, [esi*8]
or ebp, dword [esp + 0x72c]
mov dword [esp + 0x730], ecx
mov dword [esp + 0x744], eax
mov ecx, dword [esp + 0x734]
or eax, dword [esp + 0x740]
or ecx, dword [esp + 0x730]
xor eax, ebp
shrd esi, edi, 6
xor ebx, ecx
shr edi, 6
xor eax, esi
xor ebx, edi
add dword [esp + 0x720], eax
mov edi, dword [esp + 0xfe4]
adc dword [esp + 0x724], ebx
add edi, 0xa
and edi, 0xf
mov edx, dword [esp + edi*8 + 0x1010]
mov dword [esp + 0x73c], ecx
mov dword [esp + 0x738], ebp
mov ebp, dword [esp + edi*8 + 0x1014]
add dword [esp + 0x720], edx
mov esi, dword [esp + 0x83c]
mov ebx, dword [esp + esi*8 + 0x1010]
mov ecx, dword [esp + esi*8 + 0x1014]
adc dword [esp + 0x724], ebp
add dword [esp + 0x720], ebx
adc dword [esp + 0x724], ecx
mov esi, dword [esp + 0x58]
mov edx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x83c]
mov eax, dword [esp + 0x720]
mov edi, dword [esp + 0x724]
shr edx, 0xe
shl esi, 0x12
mov ecx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x58]
or esi, edx
mov dword [esp + ebp*8 + 0x1010], eax
mov dword [esp + ebp*8 + 0x1014], edi
shr ebx, 0xe
shl ecx, 0x12
mov ebp, dword [esp + 0x5c]
or ecx, ebx
mov dword [esp + 0x71c], esi
shl ebp, 0xe
mov esi, dword [esp + 0x58]
shr esi, 0x12
mov dword [esp + 0x718], ecx
mov eax, dword [esp + 0x58]
mov ebx, ebp
shl eax, 0xe
or ebx, esi
mov edi, dword [esp + 0x5c]
mov ecx, dword [esp + 0x718]
xor ecx, ebx
shr edi, 0x12
mov edx, eax
or edx, edi
mov dword [esp + 0x714], eax
mov dword [esp + 0x708], ecx
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x71c]
xor ecx, edx
shr eax, 9
mov dword [esp + 0x70c], ecx
mov dword [esp + 0x704], eax
mov ebp, dword [esp + 0x5c]
shr ebp, 9
mov esi, dword [esp + 0x58]
shl esi, 0x17
mov edi, dword [esp + 0x5c]
mov ebx, ebp
or ebx, esi
shl edi, 0x17
mov edx, eax
mov esi, dword [esp + 0x708]
or edx, edi
xor esi, ebx
mov ebx, ecx
xor ebx, edx
mov ecx, dword [esp + 0x58]
add esi, dword [esp + 0x98]
adc ebx, dword [esp + 0x9c]
mov edx, dword [esp + 0x5c]
and ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x58]
and edx, dword [esp + 0x6c]
mov dword [esp + 0x6f8], ecx
mov edi, dword [esp + 0x5c]
not eax
and eax, dword [esp + 0x80]
mov dword [esp + 0x6fc], edx
mov ebp, dword [esp + 0x6f8]
not edi
and edi, dword [esp + 0x84]
xor ebp, eax
mov ecx, dword [esp + 0x6fc]
xor ecx, edi
mov dword [esp + 0x6f0], ebp
mov edx, dword [esp + 0xfe4]
mov dword [esp + 0x6f4], ecx
add esi, dword [esp + 0x6f0]
adc ebx, dword [esp + 0x6f4]
add esi, dword [edx*8 + 0x5257e8]
adc ebx, dword [edx*8 + 0x5257ec]
mov ebp, dword [esp + 0x50]
add esi, dword [esp + 0x720]
adc ebx, dword [esp + 0x724]
mov eax, dword [esp + 0x54]
shl ebp, 4
mov dword [esp + 0x6e4], ebp
shr eax, 0x1c
or eax, dword [esp + 0x6e4]
mov ecx, dword [esp + 0x54]
mov edi, dword [esp + 0x50]
mov dword [esp + 0x6ec], eax
mov edx, dword [esp + 0x54]
shr edi, 0x1c
shr edx, 2
shl ecx, 4
mov ebp, dword [esp + 0x50]
or ecx, edi
shr ebp, 2
mov dword [esp + 0x6d8], edx
mov eax, dword [esp + 0x54]
mov edi, dword [esp + 0x50]
shl eax, 0x1e
mov dword [esp + 0x6e8], ecx
shl edi, 0x1e
mov edx, ebp
mov ecx, dword [esp + 0x6d8]
or edx, eax
or ecx, edi
mov ebp, dword [esp + 0x6e8]
mov edi, dword [esp + 0x6ec]
xor ebp, ecx
xor edi, edx
mov dword [esp + 0x6dc], eax
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
shr eax, 7
mov dword [esp + 0x6d0], ebp
shl edx, 0x19
shr ecx, 7
mov ebp, dword [esp + 0x50]
mov dword [esp + 0x6d4], edi
mov dword [esp + 0x6c8], edx
shl ebp, 0x19
mov edx, eax
mov edi, ecx
or edx, dword [esp + 0x6c8]
or edi, ebp
mov dword [esp + 0x6cc], eax
mov ecx, dword [esp + 0x6d0]
mov eax, dword [esp + 0x6d4]
xor ecx, edi
xor eax, edx
mov dword [esp + 0x6b8], ecx
mov dword [esp + 0x6bc], eax
mov edi, dword [esp + 0x6b8]
mov ebp, dword [esp + 0x6bc]
mov ecx, dword [esp + 0x50]
and ecx, dword [esp + 0x78]
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], ebp
mov edi, dword [esp + 0x50]
mov ebp, dword [esp + 0x54]
and edi, dword [esp + 0x60]
and ebp, dword [esp + 0x64]
mov dword [esp + 0x6b0], ecx
mov edx, dword [esp + 0x60]
and edx, dword [esp + 0x78]
mov eax, dword [esp + 0x54]
and eax, dword [esp + 0x7c]
xor edi, dword [esp + 0x6b0]
mov dword [esp + 0x6a8], edx
mov ecx, dword [esp + 0x64]
and ecx, dword [esp + 0x7c]
xor ebp, eax
xor edi, dword [esp + 0x6a8]
xor ebp, ecx
mov dword [esp + 0x6b4], eax
add dword [esp + 0x40], edi
mov eax, dword [esp + 0x90]
adc dword [esp + 0x44], ebp
mov edx, dword [esp + 0x94]
add eax, esi
adc edx, ebx
mov edi, dword [esp + 0xfe4]
add dword [esp + 0x40], esi
adc dword [esp + 0x44], ebx
add edi, 3
mov dword [esp + 0x6a4], edi
and edi, 0xf
mov ebx, dword [esp + edi*8 + 0x1010]
mov dword [esp + 0x6a4], edi
mov ebp, ebx
mov edi, dword [esp + edi*8 + 0x1014]
shl ebp, 0x1f
mov dword [esp + 0x4c], edx
mov edx, edi
mov dword [esp + 0x694], ebp
mov dword [esp + 0x48], eax
shr edx, 1
mov esi, edi
mov eax, ebx
or edx, dword [esp + 0x694]
shr eax, 1
shl esi, 0x1f
or esi, eax
mov dword [esp + 0x6ac], ecx
mov dword [esp + 0x69c], edx
mov ecx, edi
mov edx, ebx
mov eax, edi
mov ebp, ebx
shl edx, 0x18
shr ecx, 8
shl eax, 0x18
shr ebp, 8
mov dword [esp + 0x698], esi
mov dword [esp + 0x690], edx
mov dword [esp + 0x688], eax
or edx, ecx
or eax, ebp
mov esi, dword [esp + 0x698]
mov ecx, dword [esp + 0x69c]
xor ecx, edx
xor esi, eax
shrd ebx, edi, 7
mov dword [esp + 0x680], esi
shr edi, 7
mov esi, ecx
mov eax, dword [esp + 0xfe4]
and eax, 0xf
xor esi, edi
mov dword [esp + 0x654], esi
mov ebp, dword [esp + 0x680]
mov esi, dword [esp + eax*8 + 0x1010]
mov edi, dword [esp + eax*8 + 0x1014]
xor ebp, ebx
mov dword [esp + 0x684], ecx
mov ebx, esi
mov ecx, esi
mov dword [esp + 0x650], ebp
shl ecx, 0xd
shr ebx, 0x13
mov ebp, edi
shr ebp, 0x13
mov dword [esp + 0x670], ebx
mov ebx, ecx
or ebx, ebp
mov ebp, esi
shr ebp, 0x1d
mov edx, edi
mov dword [esp + 0x664], ebp
lea ecx, [edi*8]
shr edx, 0x1d
mov dword [esp + 0x67c], eax
mov eax, edi
shl eax, 0xd
mov dword [esp + 0x660], ecx
mov dword [esp + 0x65c], edx
lea ebp, [esi*8]
mov ecx, dword [esp + 0x664]
or ebp, dword [esp + 0x65c]
or ecx, dword [esp + 0x660]
mov dword [esp + 0x674], eax
or eax, dword [esp + 0x670]
xor eax, ebp
xor ebx, ecx
shrd esi, edi, 6
xor eax, esi
shr edi, 6
xor ebx, edi
add dword [esp + 0x650], eax
mov edi, dword [esp + 0xfe4]
adc dword [esp + 0x654], ebx
add edi, 0xb
and edi, 0xf
mov edx, dword [esp + edi*8 + 0x1010]
add dword [esp + 0x650], edx
mov dword [esp + 0x668], ebp
mov ebp, dword [esp + edi*8 + 0x1014]
mov dword [esp + 0x66c], ecx
adc dword [esp + 0x654], ebp
mov esi, dword [esp + 0x774]
mov ebx, dword [esp + esi*8 + 0x1010]
add dword [esp + 0x650], ebx
mov ecx, dword [esp + esi*8 + 0x1014]
adc dword [esp + 0x654], ecx
mov esi, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x774]
mov eax, dword [esp + 0x650]
mov edi, dword [esp + 0x654]
shr edx, 0xe
shl esi, 0x12
mov ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x48]
or esi, edx
mov dword [esp + ebp*8 + 0x1010], eax
mov dword [esp + ebp*8 + 0x1014], edi
shr ebx, 0xe
shl ecx, 0x12
mov ebp, dword [esp + 0x4c]
or ecx, ebx
mov dword [esp + 0x64c], esi
shl ebp, 0xe
mov esi, dword [esp + 0x48]
shr esi, 0x12
mov dword [esp + 0x648], ecx
mov eax, dword [esp + 0x48]
mov ebx, ebp
shl eax, 0xe
or ebx, esi
mov edi, dword [esp + 0x4c]
mov ecx, dword [esp + 0x648]
mov ebp, dword [esp + 0x4c]
xor ecx, ebx
shr edi, 0x12
shr ebp, 9
mov dword [esp + 0x644], eax
mov edx, eax
mov esi, dword [esp + 0x48]
mov eax, dword [esp + 0x48]
or edx, edi
shr eax, 9
mov dword [esp + 0x638], ecx
shl esi, 0x17
mov ecx, dword [esp + 0x64c]
mov edi, dword [esp + 0x4c]
mov ebx, ebp
xor ecx, edx
or ebx, esi
shl edi, 0x17
mov edx, eax
mov esi, dword [esp + 0x638]
or edx, edi
xor esi, ebx
mov ebx, ecx
xor ebx, edx
mov dword [esp + 0x63c], ecx
add esi, dword [esp + 0x80]
mov ecx, dword [esp + 0x48]
adc ebx, dword [esp + 0x84]
and ecx, dword [esp + 0x58]
mov dword [esp + 0x634], eax
mov dword [esp + 0x628], ecx
mov edi, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
and edi, dword [esp + 0x5c]
mov edx, dword [esp + 0x4c]
not eax
and eax, dword [esp + 0x68]
mov dword [esp + 0x62c], edi
mov ebp, dword [esp + 0x628]
not edx
and edx, dword [esp + 0x6c]
xor ebp, eax
mov ecx, dword [esp + 0x62c]
xor ecx, edx
mov dword [esp + 0x620], ebp
mov edi, dword [esp + 0xfe4]
mov dword [esp + 0x624], ecx
add esi, dword [esp + 0x620]
adc ebx, dword [esp + 0x624]
add esi, dword [edi*8 + 0x5257f0]
adc ebx, dword [edi*8 + 0x5257f4]
mov ebp, dword [esp + 0x40]
add esi, dword [esp + 0x650]
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
adc ebx, dword [esp + 0x654]
mov edx, dword [esp + 0x44]
shl ebp, 4
shr eax, 0x1c
shl ecx, 4
or ecx, eax
mov dword [esp + 0x614], ebp
shr edx, 0x1c
mov eax, dword [esp + 0x44]
mov edi, dword [esp + 0x44]
or edx, dword [esp + 0x614]
shl eax, 0x1e
shr edi, 2
mov dword [esp + 0x61c], edx
mov dword [esp + 0x618], ecx
mov ebp, dword [esp + 0x40]
mov dword [esp + 0x60c], eax
mov dword [esp + 0x608], edi
mov edx, dword [esp + 0x40]
shr ebp, 2
shl edx, 0x1e
mov ecx, dword [esp + 0x608]
or ecx, edx
mov edi, ebp
mov ebp, dword [esp + 0x618]
xor ebp, ecx
or edi, eax
mov dword [esp + 0x600], ebp
mov eax, dword [esp + 0x61c]
mov ebp, dword [esp + 0x44]
xor eax, edi
shr ebp, 7
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
mov edi, dword [esp + 0x40]
shr ecx, 7
mov dword [esp + 0x604], eax
shl edx, 0x19
shl edi, 0x19
mov eax, ebp
or eax, edi
mov dword [esp + 0x5f8], edx
mov dword [esp + 0x5fc], ecx
mov edx, ecx
mov ecx, dword [esp + 0x600]
or edx, dword [esp + 0x5f8]
xor ecx, eax
mov ebp, dword [esp + 0x604]
xor ebp, edx
mov dword [esp + 0x5e8], ecx
mov dword [esp + 0x5ec], ebp
mov edi, dword [esp + 0x5e8]
mov ecx, dword [esp + 0x40]
and ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x5ec]
mov dword [esp + 0x30], edi
mov eax, dword [esp + 0x44]
mov edi, dword [esp + 0x40]
mov ebp, dword [esp + 0x50]
and eax, dword [esp + 0x64]
and edi, dword [esp + 0x50]
mov dword [esp + 0x5e0], ecx
and ebp, dword [esp + 0x60]
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x44]
and edx, dword [esp + 0x54]
xor edi, dword [esp + 0x5e0]
mov dword [esp + 0x5e4], eax
mov dword [esp + 0x5d8], ebp
mov ecx, dword [esp + 0x54]
and ecx, dword [esp + 0x64]
xor edx, eax
xor edi, dword [esp + 0x5d8]
xor edx, ecx
mov eax, dword [esp + 0x78]
add dword [esp + 0x30], edi
adc dword [esp + 0x34], edx
mov ebp, dword [esp + 0x7c]
add eax, esi
adc ebp, ebx
mov edi, dword [esp + 0xfe4]
add dword [esp + 0x30], esi
adc dword [esp + 0x34], ebx
add edi, 4
mov dword [esp + 0x5d4], edi
and edi, 0xf
mov ebx, dword [esp + edi*8 + 0x1010]
mov dword [esp + 0x5d4], edi
mov edx, ebx
mov edi, dword [esp + edi*8 + 0x1014]
shl edx, 0x1f
mov dword [esp + 0x38], eax
mov eax, edi
mov dword [esp + 0x5c4], edx
mov dword [esp + 0x3c], ebp
shr eax, 1
mov esi, edi
mov ebp, ebx
or eax, dword [esp + 0x5c4]
shr ebp, 1
shl esi, 0x1f
or esi, ebp
mov dword [esp + 0x5cc], eax
mov edx, ebx
mov eax, edi
mov dword [esp + 0x5c8], esi
shl eax, 0x18
shr edx, 8
mov dword [esp + 0x5b8], eax
mov ebp, dword [esp + 0x5c8]
or eax, edx
xor ebp, eax
mov dword [esp + 0x5dc], ecx
mov esi, ebx
mov ecx, edi
shl esi, 0x18
shr ecx, 8
mov dword [esp + 0x5b0], ebp
shrd ebx, edi, 7
mov dword [esp + 0x5c0], esi
mov edx, dword [esp + 0x5b0]
or esi, ecx
mov ecx, dword [esp + 0x5cc]
xor ecx, esi
xor edx, ebx
mov dword [esp + 0x5b4], ecx
mov dword [esp + 0x580], edx
mov ebp, dword [esp + 0xfe4]
add ebp, 0x11
and ebp, 0xf
shr edi, 7
mov esi, ecx
xor esi, edi
mov edi, dword [esp + ebp*8 + 0x1014]
mov dword [esp + 0x584], esi
mov ebx, edi
mov esi, dword [esp + ebp*8 + 0x1010]
shl ebx, 0xd
mov eax, esi
shl eax, 0xd
mov dword [esp + 0x5a8], ebx
mov edx, esi
shr edx, 0x13
mov dword [esp + 0x5ac], eax
mov ebx, eax
mov eax, dword [esp + 0x5a8]
mov ecx, edi
or eax, edx
mov ebp, esi
mov edx, edi
shr ecx, 0x13
shr ebp, 0x1d
shr edx, 0x1d
or ebx, ecx
mov dword [esp + 0x594], ebp
lea ecx, [edi*8]
mov dword [esp + 0x58c], edx
lea ebp, [esi*8]
or ebp, dword [esp + 0x58c]
mov dword [esp + 0x590], ecx
mov ecx, dword [esp + 0x594]
or ecx, dword [esp + 0x590]
xor eax, ebp
shrd esi, edi, 6
xor ebx, ecx
shr edi, 6
xor eax, esi
xor ebx, edi
add dword [esp + 0x580], eax
mov edi, dword [esp + 0xfe4]
adc dword [esp + 0x584], ebx
add edi, 0xc
and edi, 0xf
mov edx, dword [esp + edi*8 + 0x1010]
mov esi, dword [esp + 0x6a4]
add dword [esp + 0x580], edx
mov ebx, dword [esp + esi*8 + 0x1010]
mov dword [esp + 0x598], ebp
mov ebp, dword [esp + edi*8 + 0x1014]
adc dword [esp + 0x584], ebp
mov dword [esp + 0x59c], ecx
add dword [esp + 0x580], ebx
mov ecx, dword [esp + esi*8 + 0x1014]
adc dword [esp + 0x584], ecx
mov esi, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x6a4]
mov eax, dword [esp + 0x580]
mov edi, dword [esp + 0x584]
shr edx, 0xe
shl esi, 0x12
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x38]
or esi, edx
mov dword [esp + ebp*8 + 0x1010], eax
mov dword [esp + ebp*8 + 0x1014], edi
shr ebx, 0xe
shl ecx, 0x12
mov ebp, dword [esp + 0x3c]
or ecx, ebx
mov dword [esp + 0x57c], esi
shl ebp, 0xe
mov esi, dword [esp + 0x38]
shr esi, 0x12
mov dword [esp + 0x578], ecx
mov eax, dword [esp + 0x38]
mov ebx, ebp
shl eax, 0xe
or ebx, esi
mov edi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x578]
mov ebp, dword [esp + 0x3c]
xor ecx, ebx
shr edi, 0x12
shr ebp, 9
mov dword [esp + 0x574], eax
mov edx, eax
mov esi, dword [esp + 0x38]
mov eax, dword [esp + 0x38]
or edx, edi
shr eax, 9
mov dword [esp + 0x568], ecx
shl esi, 0x17
mov ecx, dword [esp + 0x57c]
mov edi, dword [esp + 0x3c]
mov ebx, ebp
xor ecx, edx
or ebx, esi
shl edi, 0x17
mov edx, eax
mov esi, dword [esp + 0x568]
or edx, edi
xor esi, ebx
mov ebx, ecx
xor ebx, edx
mov dword [esp + 0x56c], ecx
add esi, dword [esp + 0x68]
mov ecx, dword [esp + 0x38]
mov edi, dword [esp + 0x3c]
adc ebx, dword [esp + 0x6c]
and ecx, dword [esp + 0x48]
and edi, dword [esp + 0x4c]
mov dword [esp + 0x564], eax
mov dword [esp + 0x558], ecx
mov dword [esp + 0x55c], edi
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
not eax
and eax, dword [esp + 0x58]
mov ebp, dword [esp + 0x558]
not edx
and edx, dword [esp + 0x5c]
xor ebp, eax
mov ecx, dword [esp + 0x55c]
xor ecx, edx
mov dword [esp + 0x550], ebp
mov edi, dword [esp + 0xfe4]
mov dword [esp + 0x554], ecx
add esi, dword [esp + 0x550]
adc ebx, dword [esp + 0x554]
add esi, dword [edi*8 + 0x5257f8]
adc ebx, dword [edi*8 + 0x5257fc]
mov ebp, dword [esp + 0x30]
add esi, dword [esp + 0x580]
adc ebx, dword [esp + 0x584]
mov edx, dword [esp + 0x34]
shl ebp, 4
mov dword [esp + 0x544], ebp
shr edx, 0x1c
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x30]
mov edi, dword [esp + 0x34]
or edx, dword [esp + 0x544]
shr eax, 0x1c
shr edi, 2
shl ecx, 4
or ecx, eax
mov dword [esp + 0x538], edi
mov dword [esp + 0x54c], edx
mov ebp, dword [esp + 0x30]
mov edx, dword [esp + 0x30]
mov dword [esp + 0x548], ecx
shr ebp, 2
shl edx, 0x1e
mov ecx, dword [esp + 0x538]
or ecx, edx
mov eax, dword [esp + 0x34]
mov edi, ebp
mov ebp, dword [esp + 0x548]
shl eax, 0x1e
xor ebp, ecx
or edi, eax
mov dword [esp + 0x53c], eax
mov dword [esp + 0x530], ebp
mov eax, dword [esp + 0x54c]
mov ebp, dword [esp + 0x34]
xor eax, edi
shr ebp, 7
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov edi, dword [esp + 0x30]
shr ecx, 7
mov dword [esp + 0x534], eax
shl edx, 0x19
shl edi, 0x19
mov eax, ebp
or eax, edi
mov dword [esp + 0x528], edx
mov dword [esp + 0x52c], ecx
mov edx, ecx
mov ecx, dword [esp + 0x530]
or edx, dword [esp + 0x528]
xor ecx, eax
mov ebp, dword [esp + 0x534]
xor ebp, edx
mov dword [esp + 0x518], ecx
mov dword [esp + 0x51c], ebp
mov edi, dword [esp + 0x518]
mov ecx, dword [esp + 0x30]
and ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x51c]
mov dword [esp + 0x20], edi
mov edi, dword [esp + 0x30]
and edi, dword [esp + 0x40]
mov dword [esp + 0x510], ecx
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x34]
mov ebp, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
and eax, dword [esp + 0x54]
and ebp, dword [esp + 0x50]
and ecx, dword [esp + 0x54]
and edx, dword [esp + 0x44]
xor edi, dword [esp + 0x510]
xor edx, eax
mov dword [esp + 0x514], eax
mov dword [esp + 0x508], ebp
mov dword [esp + 0x50c], ecx
xor edi, dword [esp + 0x508]
xor edx, ecx
mov eax, dword [esp + 0x60]
add dword [esp + 0x20], edi
adc dword [esp + 0x24], edx
mov ebp, dword [esp + 0x64]
add eax, esi
adc ebp, ebx
mov edi, dword [esp + 0xfe4]
add dword [esp + 0x20], esi
adc dword [esp + 0x24], ebx
add edi, 5
mov dword [esp + 0x504], edi
and edi, 0xf
mov ebx, dword [esp + edi*8 + 0x1010]
mov dword [esp + 0x504], edi
mov edx, ebx
mov edi, dword [esp + edi*8 + 0x1014]
shl edx, 0x1f
mov dword [esp + 0x28], eax
mov eax, edi
mov dword [esp + 0x4f4], edx
mov dword [esp + 0x2c], ebp
shr eax, 1
mov esi, edi
mov ebp, ebx
or eax, dword [esp + 0x4f4]
shr ebp, 1
shl esi, 0x1f
or esi, ebp
mov dword [esp + 0x4fc], eax
mov edx, ebx
mov eax, edi
mov dword [esp + 0x4f8], esi
shl eax, 0x18
shr edx, 8
mov esi, ebx
mov ecx, edi
shl esi, 0x18
shr ecx, 8
mov dword [esp + 0x4e8], eax
mov ebp, dword [esp + 0x4f8]
or eax, edx
xor ebp, eax
mov dword [esp + 0x4f0], esi
or esi, ecx
mov ecx, dword [esp + 0x4fc]
xor ecx, esi
mov dword [esp + 0x4e0], ebp
mov ebp, dword [esp + 0xfe4]
shrd ebx, edi, 7
mov esi, ecx
shr edi, 7
add ebp, 0x12
xor esi, edi
and ebp, 0xf
mov edi, dword [esp + ebp*8 + 0x1014]
mov edx, dword [esp + 0x4e0]
mov dword [esp + 0x4b4], esi
mov esi, dword [esp + ebp*8 + 0x1010]
xor edx, ebx
mov eax, esi
mov ebx, edi
shl eax, 0xd
shl ebx, 0xd
mov dword [esp + 0x4e4], ecx
mov dword [esp + 0x4b0], edx
mov dword [esp + 0x4dc], eax
mov edx, esi
mov dword [esp + 0x4d8], ebx
shr edx, 0x13
mov ebx, eax
mov eax, dword [esp + 0x4d8]
mov ecx, edi
or eax, edx
mov ebp, esi
mov edx, edi
shr ecx, 0x13
shr ebp, 0x1d
shr edx, 0x1d
or ebx, ecx
mov dword [esp + 0x4c4], ebp
lea ecx, [edi*8]
mov dword [esp + 0x4bc], edx
lea ebp, [esi*8]
or ebp, dword [esp + 0x4bc]
mov dword [esp + 0x4c0], ecx
mov ecx, dword [esp + 0x4c4]
or ecx, dword [esp + 0x4c0]
xor eax, ebp
shrd esi, edi, 6
xor ebx, ecx
shr edi, 6
xor eax, esi
xor ebx, edi
add dword [esp + 0x4b0], eax
mov edi, dword [esp + 0xfe4]
adc dword [esp + 0x4b4], ebx
add edi, 0xd
and edi, 0xf
mov edx, dword [esp + edi*8 + 0x1010]
mov esi, dword [esp + 0x5d4]
add dword [esp + 0x4b0], edx
mov eax, dword [esp + esi*8 + 0x1010]
mov dword [esp + 0x4c8], ebp
mov ebp, dword [esp + edi*8 + 0x1014]
adc dword [esp + 0x4b4], ebp
mov dword [esp + 0x4cc], ecx
add dword [esp + 0x4b0], eax
mov ecx, dword [esp + esi*8 + 0x1014]
adc dword [esp + 0x4b4], ecx
mov ebp, dword [esp + 0x5d4]
mov ebx, dword [esp + 0x4b0]
mov edi, dword [esp + 0x4b4]
mov dword [esp + ebp*8 + 0x1010], ebx
mov esi, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
shr edx, 0xe
shl esi, 0x12
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
or esi, edx
mov dword [esp + ebp*8 + 0x1014], edi
shr eax, 0xe
shl ecx, 0x12
mov ebp, dword [esp + 0x2c]
or ecx, eax
mov dword [esp + 0x4ac], esi
shl ebp, 0xe
mov esi, dword [esp + 0x28]
shr esi, 0x12
mov dword [esp + 0x4a8], ecx
mov ebx, dword [esp + 0x28]
mov eax, ebp
shl ebx, 0xe
or eax, esi
mov edi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x4a8]
mov ebp, dword [esp + 0x2c]
xor ecx, eax
shr edi, 0x12
shr ebp, 9
mov dword [esp + 0x4a4], ebx
mov edx, ebx
mov esi, dword [esp + 0x28]
mov ebx, dword [esp + 0x28]
or edx, edi
shr ebx, 9
mov dword [esp + 0x498], ecx
shl esi, 0x17
mov ecx, dword [esp + 0x4ac]
mov edi, dword [esp + 0x2c]
mov eax, ebp
xor ecx, edx
or eax, esi
shl edi, 0x17
mov dword [esp + 0x494], ebx
mov edx, ebx
mov ebx, dword [esp + 0x498]
or edx, edi
xor ebx, eax
mov ebp, ecx
xor ebp, edx
mov dword [esp + 0x18], ebx
mov edi, dword [esp + 0x58]
add dword [esp + 0x18], edi
mov dword [esp + 0x1c], ebp
mov esi, dword [esp + 0x5c]
mov dword [esp + 0x49c], ecx
mov ecx, dword [esp + 0x28]
adc dword [esp + 0x1c], esi
and ecx, dword [esp + 0x38]
mov dword [esp + 0x488], ecx
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
and eax, dword [esp + 0x3c]
mov ebx, dword [esp + 0x2c]
not edx
and edx, dword [esp + 0x48]
mov dword [esp + 0x48c], eax
not ebx
and ebx, dword [esp + 0x4c]
xor ecx, edx
mov ebp, dword [esp + 0x48c]
xor ebp, ebx
mov dword [esp + 0x480], ecx
mov eax, dword [esp + 0xfe4]
mov dword [esp + 0x484], ebp
mov edi, dword [esp + 0x480]
add dword [esp + 0x18], edi
mov edx, dword [eax*8 + 0x525800]
mov esi, dword [esp + 0x484]
adc dword [esp + 0x1c], esi
mov ebx, dword [eax*8 + 0x525804]
add dword [esp + 0x18], edx
mov ecx, dword [esp + 0x4b0]
adc dword [esp + 0x1c], ebx
mov ebp, dword [esp + 0x4b4]
add dword [esp + 0x18], ecx
mov edi, dword [esp + 0x20]
adc dword [esp + 0x1c], ebp
shl edi, 4
mov dword [esp + 0x47c], edi
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x24]
shr esi, 0x1c
shl eax, 4
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x47c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x20]
shr ebx, 0x1c
or edi, esi
shr ecx, 2
shl edx, 0x1e
mov esi, eax
mov ebp, dword [esp + 0x24]
mov eax, dword [esp + 0x24]
or esi, ebx
shl ebp, 0x1e
shr eax, 2
mov dword [esp + 0x470], edx
mov ebx, ecx
mov ecx, dword [esp + 0x20]
or ebx, ebp
shr ecx, 7
mov dword [esp + 0x474], eax
mov ebp, dword [esp + 0x24]
or eax, dword [esp + 0x470]
mov edx, dword [esp + 0x20]
xor esi, eax
xor edi, ebx
shl ebp, 0x19
shl edx, 0x19
mov eax, dword [esp + 0x24]
mov ebx, ecx
or ebx, ebp
shr eax, 7
mov dword [esp + 0x464], edx
mov ecx, edi
xor ecx, ebx
mov dword [esp + 0x468], eax
mov ebp, esi
or eax, dword [esp + 0x464]
xor ebp, eax
mov dword [esp + 0x45c], ecx
mov dword [esp + 0x458], ebp
mov edx, dword [esp + 0x45c]
mov esi, dword [esp + 0x20]
mov ebp, dword [esp + 0x24]
and esi, dword [esp + 0x40]
and ebp, dword [esp + 0x44]
mov eax, dword [esp + 0x458]
mov dword [esp + 0xac], edx
mov edi, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
and edi, dword [esp + 0x30]
and edx, dword [esp + 0x34]
mov dword [esp + 0xa8], eax
mov dword [esp + 0x450], esi
mov dword [esp + 0x454], ebp
mov ebx, dword [esp + 0x30]
and ebx, dword [esp + 0x40]
xor edi, dword [esp + 0x450]
mov dword [esp + 0x448], ebx
mov ecx, dword [esp + 0x34]
and ecx, dword [esp + 0x44]
xor edx, ebp
xor edi, dword [esp + 0x448]
xor edx, ecx
mov eax, dword [esp + 0x50]
add dword [esp + 0xa8], edi
adc dword [esp + 0xac], edx
mov ebp, dword [esp + 0x18]
add eax, dword [esp + 0x18]
mov esi, dword [esp + 0x54]
adc esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x1c]
add dword [esp + 0xa8], ebp
mov edi, dword [esp + 0xfe4]
adc dword [esp + 0xac], ebx
add edi, 6
mov dword [esp + 0x444], edi
and edi, 0xf
mov ebx, dword [esp + edi*8 + 0x1010]
mov dword [esp + 0x44c], ecx
mov dword [esp + 0x444], edi
mov ecx, ebx
mov edi, dword [esp + edi*8 + 0x1014]
shl ecx, 0x1f
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], esi
mov ebp, edi
mov esi, edi
mov eax, ebx
mov dword [esp + 0x434], ecx
shr eax, 1
shr esi, 1
shl ebp, 0x1f
mov edx, edi
or ebp, eax
or esi, dword [esp + 0x434]
shl edx, 0x18
mov ecx, ebx
mov dword [esp + 0x43c], esi
shl ecx, 0x18
mov dword [esp + 0x438], ebp
mov dword [esp + 0x428], edx
mov esi, edi
mov ebp, ebx
shr esi, 8
shr ebp, 8
mov edx, ecx
mov eax, dword [esp + 0x428]
or edx, esi
or eax, ebp
mov dword [esp + 0x42c], esi
mov ecx, dword [esp + 0x43c]
mov esi, dword [esp + 0x438]
xor ecx, edx
xor esi, eax
mov edx, dword [esp + 0xfe4]
shrd ebx, edi, 7
mov dword [esp + 0x420], esi
shr edi, 7
mov esi, ecx
add edx, 0x13
xor esi, edi
and edx, 0xf
mov edi, dword [esp + edx*8 + 0x1014]
mov dword [esp + 0x3f4], esi
mov ebp, dword [esp + 0x420]
mov esi, dword [esp + edx*8 + 0x1010]
xor ebp, ebx
mov eax, esi
mov ebx, edi
shl eax, 0xd
mov dword [esp + 0x3f0], ebp
shl ebx, 0xd
mov ebp, edi
shr ebp, 0x13
mov dword [esp + 0x418], ebx
mov dword [esp + 0x424], ecx
mov ebx, eax
mov ecx, esi
mov edx, esi
shr ecx, 0x13
or ebx, ebp
shr edx, 0x1d
mov dword [esp + 0x41c], eax
mov ebp, edi
mov eax, dword [esp + 0x418]
mov dword [esp + 0x404], edx
shr ebp, 0x1d
or eax, ecx
lea ecx, [edi*8]
mov dword [esp + 0x400], ecx
mov dword [esp + 0x3fc], ebp
lea edx, [esi*8]
mov ecx, dword [esp + 0x404]
or ecx, dword [esp + 0x400]
or edx, dword [esp + 0x3fc]
xor eax, edx
shrd esi, edi, 6
xor ebx, ecx
shr edi, 6
xor ebx, edi
xor eax, esi
mov edi, dword [esp + 0x81c]
add dword [esp + 0x3f0], eax
mov ebp, dword [esp + edi*8 + 0x1010]
mov dword [esp + 0x40c], ecx
mov dword [esp + 0x408], edx
adc dword [esp + 0x3f4], ebx
mov edx, dword [esp + edi*8 + 0x1014]
add dword [esp + 0x3f0], ebp
mov esi, dword [esp + 0x504]
mov eax, dword [esp + esi*8 + 0x1010]
mov ecx, dword [esp + esi*8 + 0x1014]
adc dword [esp + 0x3f4], edx
add dword [esp + 0x3f0], eax
adc dword [esp + 0x3f4], ecx
mov esi, dword [esp + 0xb0]
mov edx, dword [esp + 0xb4]
mov ebp, dword [esp + 0x504]
mov ebx, dword [esp + 0x3f0]
mov edi, dword [esp + 0x3f4]
shr edx, 0xe
shl esi, 0x12
mov ecx, dword [esp + 0xb4]
mov eax, dword [esp + 0xb0]
or esi, edx
mov dword [esp + ebp*8 + 0x1010], ebx
mov dword [esp + ebp*8 + 0x1014], edi
shr eax, 0xe
shl ecx, 0x12
mov ebp, dword [esp + 0xb4]
or ecx, eax
mov dword [esp + 0x3ec], esi
shl ebp, 0xe
mov esi, dword [esp + 0xb0]
shr esi, 0x12
mov dword [esp + 0x3e8], ecx
mov ebx, dword [esp + 0xb0]
mov eax, ebp
shl ebx, 0xe
or eax, esi
mov edi, dword [esp + 0xb4]
mov ecx, dword [esp + 0x3e8]
xor ecx, eax
shr edi, 0x12
mov edx, ebx
or edx, edi
mov dword [esp + 0x3e4], ebx
mov dword [esp + 0x3d8], ecx
mov ebx, dword [esp + 0xb0]
mov ecx, dword [esp + 0x3ec]
xor ecx, edx
shr ebx, 9
mov dword [esp + 0x3dc], ecx
mov dword [esp + 0x3d4], ebx
mov ebp, dword [esp + 0xb4]
shr ebp, 9
mov esi, dword [esp + 0xb0]
shl esi, 0x17
mov edi, dword [esp + 0xb4]
mov eax, ebp
or eax, esi
shl edi, 0x17
mov edx, ebx
mov ebx, dword [esp + 0x3d8]
or edx, edi
xor ebx, eax
mov ebp, ecx
xor ebp, edx
mov dword [esp + 0x10], ebx
mov edi, dword [esp + 0x48]
add dword [esp + 0x10], edi
mov dword [esp + 0x14], ebp
mov esi, dword [esp + 0x4c]
mov eax, dword [esp + 0xb4]
mov edx, dword [esp + 0xb0]
adc dword [esp + 0x14], esi
mov ecx, dword [esp + 0xb0]
and eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0xb4]
not edx
and ecx, dword [esp + 0x28]
and edx, dword [esp + 0x38]
mov dword [esp + 0x3cc], eax
not ebx
and ebx, dword [esp + 0x3c]
mov dword [esp + 0x3c8], ecx
mov ebp, dword [esp + 0x3cc]
xor ecx, edx
xor ebp, ebx
mov dword [esp + 0x3c0], ecx
mov eax, dword [esp + 0xfe4]
mov dword [esp + 0x3c4], ebp
mov edi, dword [esp + 0x3c0]
mov esi, dword [esp + 0x3c4]
add dword [esp + 0x10], edi
mov edx, dword [eax*8 + 0x525808]
mov ebx, dword [eax*8 + 0x52580c]
adc dword [esp + 0x14], esi
add dword [esp + 0x10], edx
mov ecx, dword [esp + 0x3f0]
adc dword [esp + 0x14], ebx
mov ebp, dword [esp + 0x3f4]
add dword [esp + 0x10], ecx
mov edi, dword [esp + 0xa8]
adc dword [esp + 0x14], ebp
shl edi, 4
mov dword [esp + 0x3bc], edi
mov esi, dword [esp + 0xac]
mov eax, dword [esp + 0xac]
shr esi, 0x1c
shl eax, 4
mov edi, dword [esp + 0x3bc]
mov edx, dword [esp + 0xa8]
or edi, esi
shl edx, 0x1e
mov ebx, dword [esp + 0xa8]
mov esi, eax
mov ecx, dword [esp + 0xa8]
mov eax, dword [esp + 0xac]
shr ebx, 0x1c
shr ecx, 2
shr eax, 2
mov dword [esp + 0x3b0], edx
mov ebp, dword [esp + 0xac]
or esi, ebx
shl ebp, 0x1e
mov dword [esp + 0x3b4], eax
mov ebx, ecx
or eax, dword [esp + 0x3b0]
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xa8]
or ebx, ebp
xor esi, eax
shr ecx, 7
shl edx, 0x19
mov ebp, dword [esp + 0xac]
mov eax, dword [esp + 0xac]
xor edi, ebx
shl ebp, 0x19
shr eax, 7
mov dword [esp + 0x3a4], edx
mov ebx, ecx
or ebx, ebp
mov dword [esp + 0x3a8], eax
mov ebp, esi
or eax, dword [esp + 0x3a4]
xor ebp, eax
mov ecx, edi
xor ecx, ebx
mov dword [esp + 0x398], ebp
mov dword [esp + 0x39c], ecx
mov eax, dword [esp + 0x398]
mov edx, dword [esp + 0x39c]
mov dword [esp + 0x90], eax
mov esi, dword [esp + 0xa8]
and esi, dword [esp + 0x30]
mov edi, dword [esp + 0xa8]
mov ebx, dword [esp + 0x20]
and ebx, dword [esp + 0x30]
mov dword [esp + 0x94], edx
and edi, dword [esp + 0x20]
mov dword [esp + 0x390], esi
mov edx, dword [esp + 0xac]
mov ebp, dword [esp + 0xac]
and ebp, dword [esp + 0x34]
and edx, dword [esp + 0x24]
xor edi, dword [esp + 0x390]
mov dword [esp + 0x388], ebx
mov ecx, dword [esp + 0x24]
and ecx, dword [esp + 0x34]
xor edx, ebp
xor edi, dword [esp + 0x388]
xor edx, ecx
mov eax, dword [esp + 0x40]
add dword [esp + 0x90], edi
adc dword [esp + 0x94], edx
mov esi, dword [esp + 0x44]
add eax, dword [esp + 0x10]
adc esi, dword [esp + 0x14]
mov dword [esp + 0x394], ebp
mov ebp, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x38c], ecx
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], esi
add dword [esp + 0x90], ebp
mov edi, dword [esp + 0xfe4]
adc dword [esp + 0x94], ebx
add edi, 7
and edi, 0xf
mov ebx, dword [esp + edi*8 + 0x1010]
mov dword [esp + 0x384], edi
mov ecx, ebx
mov edi, dword [esp + edi*8 + 0x1014]
shl ecx, 0x1f
mov esi, edi
mov dword [esp + 0x374], ecx
shr esi, 1
mov ebp, edi
mov eax, ebx
or esi, dword [esp + 0x374]
shr eax, 1
shl ebp, 0x1f
mov ecx, ebx
mov edx, edi
or ebp, eax
mov dword [esp + 0x37c], esi
shl ecx, 0x18
shl edx, 0x18
mov esi, edi
shr esi, 8
mov dword [esp + 0x378], ebp
mov dword [esp + 0x368], edx
mov ebp, ebx
mov edx, ecx
or edx, esi
shr ebp, 8
mov eax, dword [esp + 0x368]
mov ecx, dword [esp + 0x37c]
xor ecx, edx
or eax, ebp
mov dword [esp + 0x36c], esi
mov edx, dword [esp + 0xfe4]
mov esi, dword [esp + 0x378]
xor esi, eax
add edx, 0x14
shrd ebx, edi, 7
and edx, 0xf
mov dword [esp + 0x360], esi
shr edi, 7
mov esi, ecx
xor esi, edi
mov ebp, dword [esp + 0x360]
mov edi, dword [esp + edx*8 + 0x1014]
xor ebp, ebx
mov dword [esp + 0x334], esi
mov ebx, edi
mov esi, dword [esp + edx*8 + 0x1010]
shl ebx, 0xd
mov eax, esi
shl eax, 0xd
mov dword [esp + 0x358], ebx
mov dword [esp + 0x364], ecx
mov edx, esi
mov ecx, esi
shr ecx, 0x13
shr edx, 0x1d
mov dword [esp + 0x330], ebp
mov dword [esp + 0x35c], eax
mov ebp, edi
mov ebx, eax
mov eax, dword [esp + 0x358]
shr ebp, 0x13
mov dword [esp + 0x344], edx
or eax, ecx
lea ecx, [edi*8]
or ebx, ebp
mov dword [esp + 0x340], ecx
mov ebp, edi
mov ecx, dword [esp + 0x344]
or ecx, dword [esp + 0x340]
shr ebp, 0x1d
lea edx, [esi*8]
mov dword [esp + 0x33c], ebp
mov dword [esp + 0x34c], ecx
or edx, dword [esp + 0x33c]
xor eax, edx
shrd esi, edi, 6
xor ebx, ecx
shr edi, 6
xor ebx, edi
xor eax, esi
mov edi, dword [esp + 0x74c]
add dword [esp + 0x330], eax
mov ebp, dword [esp + edi*8 + 0x1010]
mov esi, dword [esp + 0x444]
adc dword [esp + 0x334], ebx
mov eax, dword [esp + esi*8 + 0x1010]
add dword [esp + 0x330], ebp
mov dword [esp + 0x348], edx
mov edx, dword [esp + edi*8 + 0x1014]
mov ecx, dword [esp + esi*8 + 0x1014]
adc dword [esp + 0x334], edx
add dword [esp + 0x330], eax
adc dword [esp + 0x334], ecx
mov esi, dword [esp + 0x98]
mov edx, dword [esp + 0x9c]
mov ecx, dword [esp + 0x9c]
mov eax, dword [esp + 0x98]
shr edx, 0xe
shr eax, 0xe
shl esi, 0x12
shl ecx, 0x12
mov ebp, dword [esp + 0x444]
or esi, edx
or ecx, eax
mov ebx, dword [esp + 0x330]
mov edi, dword [esp + 0x334]
mov dword [esp + ebp*8 + 0x1010], ebx
mov dword [esp + ebp*8 + 0x1014], edi
mov dword [esp + 0x32c], esi
mov dword [esp + 0x328], ecx
mov ebp, dword [esp + 0x9c]
shl ebp, 0xe
mov esi, dword [esp + 0x98]
shr esi, 0x12
mov ebx, dword [esp + 0x98]
mov eax, ebp
shl ebx, 0xe
or eax, esi
mov edi, dword [esp + 0x9c]
mov ecx, dword [esp + 0x328]
mov ebp, dword [esp + 0x9c]
xor ecx, eax
shr edi, 0x12
shr ebp, 9
mov dword [esp + 0x324], ebx
mov edx, ebx
mov esi, dword [esp + 0x98]
mov ebx, dword [esp + 0x98]
or edx, edi
shr ebx, 9
mov dword [esp + 0x318], ecx
shl esi, 0x17
mov ecx, dword [esp + 0x32c]
mov edi, dword [esp + 0x9c]
mov eax, ebp
xor ecx, edx
or eax, esi
shl edi, 0x17
mov dword [esp + 0x314], ebx
mov edx, ebx
mov ebx, dword [esp + 0x318]
or edx, edi
xor ebx, eax
mov ebp, ecx
xor ebp, edx
mov dword [esp + 8], ebx
mov edi, dword [esp + 0x38]
mov edx, dword [esp + 0x98]
add dword [esp + 8], edi
mov dword [esp + 0xc], ebp
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x31c], ecx
not edx
mov ecx, dword [esp + 0x98]
adc dword [esp + 0xc], esi
mov eax, dword [esp + 0x9c]
and ecx, dword [esp + 0xb0]
and edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x9c]
and eax, dword [esp + 0xb4]
mov dword [esp + 0x308], ecx
not ebx
xor ecx, edx
and ebx, dword [esp + 0x2c]
mov dword [esp + 0x30c], eax
mov dword [esp + 0x300], ecx
mov ebp, dword [esp + 0x30c]
xor ebp, ebx
mov eax, dword [esp + 0xfe4]
mov dword [esp + 0x304], ebp
mov edi, dword [esp + 0x300]
add dword [esp + 8], edi
mov edx, dword [eax*8 + 0x525810]
mov esi, dword [esp + 0x304]
adc dword [esp + 0xc], esi
mov ebx, dword [eax*8 + 0x525814]
add dword [esp + 8], edx
mov ecx, dword [esp + 0x330]
adc dword [esp + 0xc], ebx
mov ebp, dword [esp + 0x334]
add dword [esp + 8], ecx
mov edi, dword [esp + 0x90]
adc dword [esp + 0xc], ebp
shl edi, 4
mov dword [esp + 0x2fc], edi
mov esi, dword [esp + 0x94]
mov eax, dword [esp + 0x94]
shr esi, 0x1c
shl eax, 4
mov edi, dword [esp + 0x2fc]
or edi, esi
mov esi, eax
mov eax, dword [esp + 0x94]
shr eax, 2
mov ebx, dword [esp + 0x90]
mov ecx, dword [esp + 0x90]
mov ebp, dword [esp + 0x94]
mov dword [esp + 0x2f4], eax
mov edx, dword [esp + 0x90]
shr ebx, 0x1c
shr ecx, 2
shl edx, 0x1e
or esi, ebx
shl ebp, 0x1e
mov dword [esp + 0x2f0], edx
mov ebx, ecx
mov ecx, dword [esp + 0x90]
or ebx, ebp
or eax, dword [esp + 0x2f0]
shr ecx, 7
mov ebp, dword [esp + 0x94]
xor esi, eax
xor edi, ebx
shl ebp, 0x19
mov edx, dword [esp + 0x90]
mov ebx, ecx
or ebx, ebp
shl edx, 0x19
mov eax, dword [esp + 0x94]
mov ecx, esi
mov esi, edi
xor esi, ebx
shr eax, 7
mov dword [esp + 0x2e4], edx
mov dword [esp + 0x2dc], esi
mov dword [esp + 0x2e8], eax
mov edx, dword [esp + 0x90]
or eax, dword [esp + 0x2e4]
xor ecx, eax
mov ebp, dword [esp + 0x2dc]
and edx, dword [esp + 0x20]
mov esi, dword [esp + 0x90]
mov ebx, dword [esp + 0xa8]
mov dword [esp + 0x2d8], ecx
mov dword [esp + 0x2d0], edx
and ebx, dword [esp + 0x20]
mov dword [esp + 0x7c], ebp
and esi, dword [esp + 0xa8]
mov ebp, dword [esp + 0x94]
mov ecx, dword [esp + 0x94]
and ecx, dword [esp + 0x24]
mov dword [esp + 0x2c8], ebx
and ebp, dword [esp + 0xac]
xor esi, dword [esp + 0x2d0]
mov edi, dword [esp + 0xac]
and edi, dword [esp + 0x24]
mov eax, dword [esp + 0x2d8]
xor ebp, ecx
xor esi, dword [esp + 0x2c8]
xor ebp, edi
mov dword [esp + 0x78], eax
mov dword [esp + 0x2d4], ecx
mov dword [esp + 0x2cc], edi
add dword [esp + 0x78], esi
mov eax, dword [esp + 0x30]
adc dword [esp + 0x7c], ebp
mov ecx, dword [esp + 8]
add eax, dword [esp + 8]
mov edx, dword [esp + 0x34]
adc edx, dword [esp + 0xc]
mov ebx, dword [esp + 0xc]
add dword [esp + 0x78], ecx
mov edi, dword [esp + 0xfe4]
adc dword [esp + 0x7c], ebx
add edi, 8
mov esi, edi
and esi, 0xf
mov ebx, dword [esp + esi*8 + 0x1010]
mov dword [esp + 0x2c4], edi
mov edi, dword [esp + esi*8 + 0x1014]
mov dword [esp + 0x80], eax
mov ebp, ebx
mov esi, edi
mov eax, ebx
shl ebp, 0x1f
shr eax, 1
shl esi, 0x1f
or esi, eax
mov dword [esp + 0x2b4], ebp
mov dword [esp + 0x84], edx
mov eax, edi
mov edx, edi
mov ebp, ebx
shl eax, 0x18
shr ebp, 8
shr edx, 1
mov dword [esp + 0x2b8], esi
or edx, dword [esp + 0x2b4]
mov dword [esp + 0x2a8], eax
mov esi, dword [esp + 0x2b8]
or eax, ebp
xor esi, eax
mov dword [esp + 0x2bc], edx
mov ecx, edi
mov edx, ebx
shl edx, 0x18
shr ecx, 8
mov dword [esp + 0x2a0], esi
shrd ebx, edi, 7
mov dword [esp + 0x2b0], edx
mov ebp, dword [esp + 0x2a0]
or edx, ecx
mov ecx, dword [esp + 0x2bc]
xor ecx, edx
xor ebp, ebx
mov dword [esp + 0x2a4], ecx
mov dword [esp + 0x270], ebp
mov edx, dword [esp + 0xfe4]
shr edi, 7
mov esi, ecx
add edx, 0x15
xor esi, edi
and edx, 0xf
mov edi, dword [esp + edx*8 + 0x1014]
mov dword [esp + 0x274], esi
mov esi, dword [esp + edx*8 + 0x1010]
mov eax, esi
mov ebx, edi
shl eax, 0xd
shl ebx, 0xd
mov ebp, edi
shr ebp, 0x13
mov dword [esp + 0x298], ebx
mov ecx, esi
mov ebx, eax
mov edx, esi
shr ecx, 0x13
or ebx, ebp
shr edx, 0x1d
mov dword [esp + 0x29c], eax
mov ebp, edi
mov eax, dword [esp + 0x298]
mov dword [esp + 0x284], edx
shr ebp, 0x1d
or eax, ecx
lea ecx, [edi*8]
mov dword [esp + 0x280], ecx
mov dword [esp + 0x27c], ebp
lea edx, [esi*8]
mov ecx, dword [esp + 0x284]
or ecx, dword [esp + 0x280]
or edx, dword [esp + 0x27c]
xor eax, edx
shrd esi, edi, 6
xor ebx, ecx
shr edi, 6
xor ebx, edi
xor eax, esi
mov edi, dword [esp + 0x67c]
add dword [esp + 0x270], eax
mov ebp, dword [esp + edi*8 + 0x1010]
mov esi, dword [esp + 0x384]
adc dword [esp + 0x274], ebx
mov eax, dword [esp + esi*8 + 0x1010]
add dword [esp + 0x270], ebp
mov dword [esp + 0x288], edx
mov edx, dword [esp + edi*8 + 0x1014]
adc dword [esp + 0x274], edx
mov dword [esp + 0x28c], ecx
add dword [esp + 0x270], eax
mov ecx, dword [esp + esi*8 + 0x1014]
adc dword [esp + 0x274], ecx
mov esi, dword [esp + 0x80]
mov edx, dword [esp + 0x84]
mov ebp, dword [esp + 0x384]
mov ebx, dword [esp + 0x270]
mov edi, dword [esp + 0x274]
shr edx, 0xe
shl esi, 0x12
mov ecx, dword [esp + 0x84]
mov eax, dword [esp + 0x80]
or esi, edx
mov dword [esp + ebp*8 + 0x1010], ebx
mov dword [esp + ebp*8 + 0x1014], edi
shr eax, 0xe
shl ecx, 0x12
mov ebp, dword [esp + 0x84]
or ecx, eax
mov dword [esp + 0x26c], esi
shl ebp, 0xe
mov esi, dword [esp + 0x80]
shr esi, 0x12
mov dword [esp + 0x268], ecx
mov ebx, dword [esp + 0x80]
mov eax, ebp
shl ebx, 0xe
or eax, esi
mov edi, dword [esp + 0x84]
mov ecx, dword [esp + 0x268]
mov ebp, dword [esp + 0x84]
xor ecx, eax
shr edi, 0x12
shr ebp, 9
mov dword [esp + 0x264], ebx
mov edx, ebx
mov esi, dword [esp + 0x80]
mov ebx, dword [esp + 0x80]
or edx, edi
shr ebx, 9
mov dword [esp + 0x258], ecx
shl esi, 0x17
mov ecx, dword [esp + 0x26c]
mov eax, ebp
xor ecx, edx
or eax, esi
mov dword [esp + 0x254], ebx
mov edi, dword [esp + 0x84]
mov edx, ebx
mov ebx, dword [esp + 0x258]
xor ebx, eax
shl edi, 0x17
or edx, edi
mov dword [esp], ebx
mov edi, dword [esp + 0x28]
mov ebp, ecx
xor ebp, edx
mov esi, dword [esp + 0x2c]
add dword [esp], edi
mov dword [esp + 0x25c], ecx
mov dword [esp + 4], ebp
adc dword [esp + 4], esi
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x80]
and eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x80]
mov ebx, dword [esp + 0x84]
not edx
and ecx, dword [esp + 0x98]
and edx, dword [esp + 0xb0]
mov dword [esp + 0x24c], eax
not ebx
and ebx, dword [esp + 0xb4]
mov dword [esp + 0x248], ecx
mov ebp, dword [esp + 0x24c]
xor ecx, edx
xor ebp, ebx
mov dword [esp + 0x240], ecx
mov eax, dword [esp + 0xfe4]
mov dword [esp + 0x244], ebp
mov edi, dword [esp + 0x240]
add dword [esp], edi
mov edx, dword [eax*8 + 0x525818]
mov esi, dword [esp + 0x244]
adc dword [esp + 4], esi
mov ebx, dword [eax*8 + 0x52581c]
add dword [esp], edx
mov ecx, dword [esp + 0x270]
adc dword [esp + 4], ebx
mov ebp, dword [esp + 0x274]
add dword [esp], ecx
adc dword [esp + 4], ebp
mov edi, dword [esp + 0x78]
shl edi, 4
mov dword [esp + 0x23c], edi
mov esi, dword [esp + 0x7c]
mov eax, dword [esp + 0x7c]
shr esi, 0x1c
shl eax, 4
mov ebx, dword [esp + 0x78]
mov edi, dword [esp + 0x23c]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x78]
shr ebx, 0x1c
or edi, esi
shr ecx, 2
shl edx, 0x1e
mov esi, eax
mov ebp, dword [esp + 0x7c]
mov eax, dword [esp + 0x7c]
or esi, ebx
shl ebp, 0x1e
shr eax, 2
mov dword [esp + 0x230], edx
mov ebx, ecx
or ebx, ebp
mov dword [esp + 0x234], eax
mov edx, dword [esp + 0x78]
or eax, dword [esp + 0x230]
xor esi, eax
xor edi, ebx
shl edx, 0x19
mov ebx, dword [esp + 0x78]
mov eax, dword [esp + 0x7c]
shr ebx, 7
shr eax, 7
mov dword [esp + 0x224], edx
mov ebp, dword [esp + 0x7c]
shl ebp, 0x19
mov dword [esp + 0x228], eax
mov edx, ebx
or eax, dword [esp + 0x224]
mov ecx, esi
or edx, ebp
xor ecx, eax
mov ebx, edi
xor ebx, edx
mov dword [esp + 0x218], ecx
mov dword [esp + 0x21c], ebx
mov esi, dword [esp + 0x218]
mov edx, dword [esp + 0x78]
mov edi, dword [esp + 0x21c]
and edx, dword [esp + 0xa8]
mov dword [esp + 0x60], esi
mov ebx, dword [esp + 0x78]
mov esi, dword [esp + 0x7c]
and ebx, dword [esp + 0x90]
and esi, dword [esp + 0x94]
mov dword [esp + 0x64], edi
mov dword [esp + 0x210], edx
mov ebp, dword [esp + 0x90]
and ebp, dword [esp + 0xa8]
mov eax, dword [esp + 0x7c]
and eax, dword [esp + 0xac]
xor ebx, dword [esp + 0x210]
mov dword [esp + 0x208], ebp
mov ecx, dword [esp + 0x94]
and ecx, dword [esp + 0xac]
xor esi, eax
xor ebx, dword [esp + 0x208]
xor esi, ecx
mov edi, dword [esp + 0x20]
add dword [esp + 0x60], ebx
adc dword [esp + 0x64], esi
mov dword [esp + 0x214], eax
add edi, dword [esp]
mov edx, dword [esp + 0x24]
mov eax, dword [esp]
adc edx, dword [esp + 4]
mov dword [esp + 0x20c], ecx
add dword [esp + 0x60], eax
mov ecx, dword [esp + 0x2c4]
mov ebp, dword [esp + 4]
adc dword [esp + 0x64], ebp
cmp ecx, 0x4f
mov dword [esp + 0x68], edi
mov dword [esp + 0x6c], edx
mov dword [esp + 0xfe4], ecx
jle 0x4b2ad0
mov eax, dword [esp + 0x200]
add dword [esp + 0x60], eax
mov ebx, dword [esp + 0x204]
adc dword [esp + 0x64], ebx
mov esi, dword [esp + 0x1f8]
add dword [esp + 0x78], esi
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
mov ebp, dword [esp + 0x100c]
mov edi, dword [esp + 0x1fc]
mov dword [ebp], edx
mov dword [ebp + 4], ecx
adc dword [esp + 0x7c], edi
mov ebp, dword [esp + 0x1f0]
mov eax, dword [esp + 0x78]
mov ebx, dword [esp + 0x7c]
add dword [esp + 0x90], ebp
mov dword [esp + 0x200], edx
mov dword [esp + 0x204], ecx
mov edx, dword [esp + 0x1f4]
mov ecx, dword [esp + 0x100c]
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], ebx
mov dword [esp + 0x1f8], eax
mov dword [esp + 0x1fc], ebx
adc dword [esp + 0x94], edx
mov edi, dword [esp + 0x94]
mov ebx, dword [esp + 0x100c]
mov ecx, dword [esp + 0x1e8]
mov dword [ebx + 0x14], edi
add dword [esp + 0xa8], ecx
mov esi, dword [esp + 0x90]
mov eax, dword [esp + 0x1ec]
mov dword [esp + 0x1f4], edi
mov edi, dword [esp + 0x1e0]
mov dword [ebx + 0x10], esi
adc dword [esp + 0xac], eax
mov ebx, dword [esp + 0x1e4]
add dword [esp + 0x68], edi
mov ebp, dword [esp + 0xa8]
adc dword [esp + 0x6c], ebx
mov dword [esp + 0x1f0], esi
mov esi, dword [esp + 0x100c]
mov edx, dword [esp + 0xac]
mov eax, dword [esp + 0x6c]
mov dword [esi + 0x18], ebp
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x1e8], ebp
mov ebp, dword [esp + 0x100c]
mov dword [esi + 0x1c], edx
mov dword [esp + 0x1ec], edx
mov dword [esp + 0x1e0], ecx
mov dword [esp + 0x1e4], eax
mov dword [ebp + 0x20], ecx
mov edx, dword [esp + 0x1d8]
add dword [esp + 0x80], edx
mov esi, dword [esp + 0x1dc]
mov dword [ebp + 0x24], eax
adc dword [esp + 0x84], esi
mov eax, dword [esp + 0x1d0]
add dword [esp + 0x98], eax
mov ebx, dword [esp + 0x84]
mov ecx, dword [esp + 0x100c]
mov ebp, dword [esp + 0x1d4]
mov dword [ecx + 0x2c], ebx
mov edi, dword [esp + 0x80]
adc dword [esp + 0x9c], ebp
mov dword [esp + 0x1dc], ebx
mov ebx, dword [esp + 0x1c8]
mov dword [ecx + 0x28], edi
mov esi, dword [esp + 0x9c]
add dword [esp + 0xb0], ebx
mov edx, dword [esp + 0x98]
mov dword [esp + 0x1d8], edi
mov ecx, dword [esp + 0x1cc]
mov edi, dword [esp + 0x100c]
mov dword [esp + 0x1d4], esi
mov dword [edi + 0x34], esi
mov dword [esp + 0x1d0], edx
mov dword [edi + 0x30], edx
adc dword [esp + 0xb4], ecx
dec dword [esp + 0x1c4]
mov eax, dword [esp + 0xb0]
mov ebp, dword [esp + 0xb4]
mov esi, dword [esp + 0x100c]
sub dword [esp + 0x1008], 0xffffff80
cmp dword [esp + 0x1c4], 0xffffffff
mov dword [esp + 0x1c8], eax
mov dword [esp + 0x1cc], ebp
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], ebp
jne 0x4ae860
add esp, 0x109c
pop ebx
pop esi
pop edi
pop ebp
ret