Function at 0x435250
Capabilities:
Hash data using sha256

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5c
push ebx
push esi
push edi
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
movups xmm1, xmmword [eax + 0x10]
mov ecx, dword [ecx]
mov esi, ecx
movups xmm2, xmmword [eax]
mov eax, ecx
and esi, 0xff0000
movd edx, xmm1
movaps xmm0, xmm1
shr eax, 0x10
or esi, eax
psrldq xmm0, 4
mov eax, ecx
shr esi, 8
shl eax, 0x10
and ecx, 0xff00
or eax, ecx
mov dword [ebp - 0x4c], edx
shl eax, 8
or esi, eax
movd ecx, xmm0
mov eax, edx
mov dword [ebp - 0x5c], esi
ror eax, 0xe
movaps xmm0, xmm1
xor eax, edx
mov dword [ebp - 0x48], ecx
ror eax, 5
xor eax, edx
psrldq xmm0, 8
ror eax, 6
add eax, esi
movd ebx, xmm0
psrldq xmm1, 0xc
movaps xmm0, xmm2
movd esi, xmm1
xor ecx, ebx
psrldq xmm0, 0xc
and ecx, edx
xor ecx, ebx
add esi, 0x428a2f98
add ecx, eax
movd eax, xmm0
add esi, ecx
movaps xmm0, xmm2
psrldq xmm0, 4
add eax, esi
mov dword [ebp - 0x58], eax
movd eax, xmm2
psrldq xmm2, 8
mov edx, eax
mov dword [ebp - 0x50], eax
ror edx, 9
xor edx, eax
movd edi, xmm2
ror edx, 0xb
xor edx, eax
movd eax, xmm0
ror edx, 2
mov ecx, eax
mov dword [ebp - 0x40], eax
xor ecx, edi
and eax, edi
and ecx, dword [ebp - 0x50]
add ecx, esi
add ecx, edx
add eax, ecx
mov dword [ebp - 0x44], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
mov edx, ecx
mov eax, ecx
and edx, 0xff0000
shr eax, 0x10
or edx, eax
mov eax, ecx
shr edx, 8
mov esi, dword [ebp - 0x58]
and ecx, 0xff00
shl eax, 0x10
add ebx, 0x71374491
or eax, ecx
mov ecx, esi
shl eax, 8
or edx, eax
ror ecx, 0xe
mov eax, dword [ebp - 0x48]
xor ecx, esi
xor eax, dword [ebp - 0x4c]
ror ecx, 5
and eax, esi
xor eax, dword [ebp - 0x48]
xor ecx, esi
mov esi, dword [ebp - 0x40]
ror ecx, 6
add ecx, edx
mov dword [ebp - 0x20], edx
add eax, ecx
add eax, ebx
mov ebx, dword [ebp - 0x50]
lea ecx, [eax + edi]
mov edi, dword [ebp - 0x44]
mov dword [ebp - 0x54], ecx
mov edx, edi
ror edx, 9
mov ecx, esi
xor edx, edi
xor ecx, ebx
ror edx, 0xb
and ecx, edi
add ecx, eax
xor edx, edi
ror edx, 2
mov eax, esi
add ecx, edx
and eax, ebx
add eax, ecx
mov dword [ebp - 0x44], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 8]
mov edx, ecx
mov eax, ecx
and edx, 0xff0000
shr eax, 0x10
or edx, eax
mov eax, ecx
shl eax, 0x10
and ecx, 0xff00
or eax, ecx
shr edx, 8
shl eax, 8
or edx, eax
mov eax, dword [ebp - 0x54]
mov ecx, eax
mov dword [ebp - 0x24], edx
ror ecx, 0xe
xor ecx, eax
ror ecx, 5
xor ecx, eax
mov eax, dword [ebp - 0x58]
xor eax, dword [ebp - 0x4c]
and eax, dword [ebp - 0x54]
xor eax, dword [ebp - 0x4c]
ror ecx, 6
add eax, 0xb5c0fbcf
add ecx, dword [ebp - 0x48]
add eax, edx
add eax, ecx
lea ecx, [eax + esi]
mov esi, dword [ebp - 0x44]
mov edx, esi
mov dword [ebp - 0x50], ecx
ror edx, 9
mov ecx, edi
xor edx, esi
ror edx, 0xb
xor edx, esi
ror edx, 2
xor ecx, ebx
and ecx, esi
add ecx, eax
mov eax, edi
add ecx, edx
and eax, ebx
add eax, ecx
mov dword [ebp - 0x44], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0xc]
mov edx, ecx
mov eax, ecx
and edx, 0xff0000
shr eax, 0x10
or edx, eax
mov eax, ecx
and ecx, 0xff00
shl eax, 0x10
or eax, ecx
shr edx, 8
shl eax, 8
or edx, eax
mov eax, dword [ebp - 0x54]
xor eax, dword [ebp - 0x58]
mov dword [ebp - 0x28], edx
mov edx, dword [ebp - 0x50]
and eax, edx
xor eax, dword [ebp - 0x58]
mov ecx, edx
ror ecx, 0xe
add eax, 0xe9b5dba5
add eax, dword [ebp - 0x28]
xor ecx, edx
ror ecx, 5
xor ecx, edx
ror ecx, 6
add ecx, dword [ebp - 0x4c]
add eax, ecx
lea ecx, [eax + ebx]
mov ebx, dword [ebp - 0x44]
mov dword [ebp - 0x48], ecx
mov edx, ebx
ror edx, 9
mov ecx, esi
xor ecx, edi
xor edx, ebx
and ecx, ebx
ror edx, 0xb
add ecx, eax
xor edx, ebx
ror edx, 2
mov eax, esi
add ecx, edx
and eax, edi
add eax, ecx
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x10]
mov edx, ecx
mov eax, ecx
and edx, 0xff0000
shr eax, 0x10
or edx, eax
mov eax, ecx
and ecx, 0xff00
shl eax, 0x10
or eax, ecx
shr edx, 8
shl eax, 8
or edx, eax
mov eax, dword [ebp - 0x50]
xor eax, dword [ebp - 0x54]
mov dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x48]
mov ecx, edx
ror ecx, 0xe
xor ecx, edx
ror ecx, 5
xor ecx, edx
ror ecx, 6
and eax, edx
add ecx, dword [ebp - 0x30]
xor eax, dword [ebp - 0x54]
add eax, ecx
mov ecx, dword [ebp - 0x58]
add ecx, 0x3956c25b
add eax, ecx
lea ecx, [eax + edi]
mov edi, dword [ebp - 0x4c]
mov dword [ebp - 0x58], ecx
mov edx, edi
ror edx, 9
mov ecx, ebx
xor ecx, esi
xor edx, edi
and ecx, edi
ror edx, 0xb
add ecx, eax
xor edx, edi
ror edx, 2
mov eax, ebx
add ecx, edx
and eax, esi
add eax, ecx
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x14]
mov edx, ecx
mov eax, ecx
and edx, 0xff0000
shr eax, 0x10
or edx, eax
mov eax, ecx
and ecx, 0xff00
shl eax, 0x10
or eax, ecx
shr edx, 8
shl eax, 8
or edx, eax
mov eax, dword [ebp - 0x58]
mov ecx, eax
mov dword [ebp - 0x38], edx
ror ecx, 0xe
xor ecx, eax
ror ecx, 5
xor ecx, eax
mov eax, dword [ebp - 0x48]
xor eax, dword [ebp - 0x50]
and eax, dword [ebp - 0x58]
xor eax, dword [ebp - 0x50]
ror ecx, 6
add ecx, edx
add eax, ecx
mov ecx, dword [ebp - 0x54]
add ecx, 0x59f111f1
add eax, ecx
lea ecx, [eax + esi]
mov esi, dword [ebp - 0x4c]
mov dword [ebp - 0x54], ecx
mov edx, esi
ror edx, 9
mov ecx, edi
xor edx, esi
xor ecx, ebx
ror edx, 0xb
and ecx, esi
add ecx, eax
xor edx, esi
ror edx, 2
mov eax, edi
add ecx, edx
and eax, ebx
add eax, ecx
mov dword [ebp - 0x44], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x18]
mov edx, ecx
mov eax, ecx
and edx, 0xff0000
shr eax, 0x10
or edx, eax
shr edx, 8
mov eax, ecx
and ecx, 0xff00
shl eax, 0x10
or eax, ecx
shl eax, 8
or edx, eax
mov eax, dword [ebp - 0x54]
mov ecx, eax
mov dword [ebp - 0x3c], edx
ror ecx, 0xe
xor ecx, eax
ror ecx, 5
xor ecx, eax
mov eax, dword [ebp - 0x58]
xor eax, dword [ebp - 0x48]
and eax, dword [ebp - 0x54]
xor eax, dword [ebp - 0x48]
add eax, 0x923f82a4
ror ecx, 6
add ecx, dword [ebp - 0x50]
add eax, edx
add eax, ecx
lea ecx, [eax + ebx]
mov ebx, dword [ebp - 0x44]
mov dword [ebp - 0x4c], ecx
mov edx, ebx
ror edx, 9
mov ecx, esi
xor edx, ebx
xor ecx, edi
ror edx, 0xb
and ecx, ebx
add ecx, eax
xor edx, ebx
ror edx, 2
mov eax, esi
add ecx, edx
and eax, edi
add eax, ecx
mov dword [ebp - 0x50], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x1c]
mov edx, ecx
mov eax, ecx
and edx, 0xff0000
shr eax, 0x10
or edx, eax
mov eax, ecx
shl eax, 0x10
and ecx, 0xff00
or eax, ecx
shr edx, 8
shl eax, 8
or edx, eax
mov eax, dword [ebp - 0x4c]
mov ecx, eax
mov dword [ebp - 0x44], edx
ror ecx, 0xe
xor ecx, eax
ror ecx, 5
xor ecx, eax
mov eax, dword [ebp - 0x54]
xor eax, dword [ebp - 0x58]
and eax, dword [ebp - 0x4c]
xor eax, dword [ebp - 0x58]
ror ecx, 6
add eax, 0xab1c5ed5
add ecx, dword [ebp - 0x48]
add eax, edx
add eax, ecx
lea ecx, [eax + edi]
mov edi, dword [ebp - 0x50]
mov edx, edi
mov dword [ebp - 0x48], ecx
ror edx, 9
mov ecx, ebx
xor edx, edi
ror edx, 0xb
xor edx, edi
ror edx, 2
xor ecx, esi
and ecx, edi
add ecx, eax
mov eax, ebx
add ecx, edx
and eax, esi
add eax, ecx
mov dword [ebp - 0x34], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x20]
mov edx, ecx
mov eax, ecx
and edx, 0xff0000
shr eax, 0x10
or edx, eax
mov eax, ecx
shl eax, 0x10
and ecx, 0xff00
or eax, ecx
shr edx, 8
shl eax, 8
or edx, eax
mov eax, dword [ebp - 0x48]
mov ecx, eax
mov dword [ebp - 0x50], edx
ror ecx, 0xe
xor ecx, eax
ror ecx, 5
xor ecx, eax
mov eax, dword [ebp - 0x4c]
xor eax, dword [ebp - 0x54]
and eax, dword [ebp - 0x48]
xor eax, dword [ebp - 0x54]
add eax, 0xd807aa98
ror ecx, 6
add ecx, dword [ebp - 0x58]
add eax, edx
add eax, ecx
lea ecx, [eax + esi]
mov esi, dword [ebp - 0x34]
mov dword [ebp - 0x40], ecx
mov edx, esi
ror edx, 9
mov ecx, edi
xor ecx, ebx
xor edx, esi
and ecx, esi
ror edx, 0xb
add ecx, eax
xor edx, esi
ror edx, 2
mov eax, edi
add ecx, edx
and eax, ebx
add eax, ecx
mov dword [ebp - 0x58], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x24]
mov edx, ecx
mov eax, ecx
and edx, 0xff0000
shr eax, 0x10
or edx, eax
mov eax, ecx
and ecx, 0xff00
shl eax, 0x10
or eax, ecx
shr edx, 8
shl eax, 8
or edx, eax
mov eax, dword [ebp - 0x40]
mov ecx, eax
mov dword [ebp - 0x2c], edx
ror ecx, 0xe
xor ecx, eax
ror ecx, 5
xor ecx, eax
mov eax, dword [ebp - 0x48]
xor eax, dword [ebp - 0x4c]
and eax, dword [ebp - 0x40]
ror ecx, 6
xor eax, dword [ebp - 0x4c]
add ecx, edx
add eax, ecx
mov ecx, dword [ebp - 0x54]
add ecx, 0x12835b01
add eax, ecx
lea ecx, [eax + ebx]
mov ebx, dword [ebp - 0x58]
mov dword [ebp - 0x54], ecx
mov edx, ebx
ror edx, 9
mov ecx, esi
xor ecx, edi
xor edx, ebx
and ecx, ebx
ror edx, 0xb
add ecx, eax
xor edx, ebx
ror edx, 2
mov eax, esi
add ecx, edx
and eax, edi
add eax, ecx
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x28]
mov edx, ecx
mov eax, ecx
and edx, 0xff0000
shr eax, 0x10
or edx, eax
mov eax, ecx
and ecx, 0xff00
shl eax, 0x10
or eax, ecx
shr edx, 8
shl eax, 8
or edx, eax
mov eax, dword [ebp - 0x54]
mov ecx, eax
mov dword [ebp - 0x34], edx
ror ecx, 0xe
xor ecx, eax
ror ecx, 5
xor ecx, eax
mov eax, dword [ebp - 0x40]
xor eax, dword [ebp - 0x48]
and eax, dword [ebp - 0x54]
xor eax, dword [ebp - 0x48]
ror ecx, 6
add ecx, dword [ebp - 0x4c]
add eax, ecx
mov ecx, edx
add ecx, 0x243185be
add eax, ecx
mov ecx, dword [ebp - 0xc]
mov edx, ecx
add edi, eax
ror edx, 9
xor edx, ecx
mov dword [ebp - 0x1c], edi
ror edx, 0xb
xor edx, ecx
mov ecx, ebx
xor ecx, esi
ror edx, 2
and ecx, dword [ebp - 0xc]
add ecx, eax
mov eax, ebx
and eax, esi
add ecx, edx
add eax, ecx
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x2c]
mov edx, ecx
mov eax, ecx
and edx, 0xff0000
shr eax, 0x10
or edx, eax
mov eax, ecx
shr edx, 8
shl eax, 0x10
and ecx, 0xff00
or eax, ecx
mov ecx, edi
shl eax, 8
or edx, eax
ror ecx, 0xe
mov eax, dword [ebp - 0x54]
xor ecx, edi
ror ecx, 5
xor ecx, edi
mov dword [ebp - 0x58], edx
mov edi, dword [ebp - 0x40]
xor eax, edi
and eax, dword [ebp - 0x1c]
xor eax, edi
ror ecx, 6
add ecx, dword [ebp - 0x48]
add eax, ecx
lea ecx, [edx + 0x550c7dc3]
add ecx, eax
lea eax, [esi + ecx]
mov esi, dword [ebp - 0xc]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 8]
mov edx, eax
ror edx, 9
xor edx, eax
ror edx, 0xb
xor edx, eax
mov eax, esi
xor eax, ebx
ror edx, 2
and eax, dword [ebp - 8]
and esi, ebx
add eax, ecx
add eax, edx
add esi, eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x30]
mov edx, ecx
mov eax, ecx
and edx, 0xff0000
shr eax, 0x10
or edx, eax
mov eax, ecx
and ecx, 0xff00
shl eax, 0x10
or eax, ecx
shr edx, 8
shl eax, 8
or edx, eax
mov eax, dword [ebp - 0x48]
mov ecx, eax
mov dword [ebp - 0x40], edx
ror ecx, 0xe
xor ecx, eax
ror ecx, 5
xor ecx, eax
mov eax, dword [ebp - 0x54]
xor eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x48]
xor eax, dword [ebp - 0x54]
ror ecx, 6
add ecx, edi
mov edi, dword [ebp - 8]
add eax, ecx
mov ecx, edx
add ecx, 0x72be5d74
mov edx, esi
add eax, ecx
ror edx, 9
xor edx, esi
ror edx, 0xb
xor edx, esi
lea ecx, [ebx + eax]
ror edx, 2
mov dword [ebp - 0x18], ecx
mov ecx, edi
xor ecx, dword [ebp - 0xc]
and ecx, esi
add ecx, eax
and edi, dword [ebp - 0xc]
add ecx, edx
mov eax, dword [ebp + 0xc]
add edi, ecx
mov ebx, dword [ebp - 0x1c]
mov dword [ebp - 4], edi
mov edi, dword [ebp - 0x48]
mov ecx, dword [eax + 0x34]
mov edx, ecx
mov eax, ecx
and edx, 0xff0000
shr eax, 0x10
or edx, eax
mov eax, ecx
shl eax, 0x10
and ecx, 0xff00
or eax, ecx
shr edx, 8
shl eax, 8
or edx, eax
mov eax, edi
mov dword [ebp - 0x4c], edx
xor eax, ebx
mov edx, dword [ebp - 0x18]
and eax, edx
mov ecx, edx
xor eax, ebx
ror ecx, 0xe
add eax, 0x80deb1fe
add eax, dword [ebp - 0x54]
xor ecx, edx
ror ecx, 5
xor ecx, edx
ror ecx, 6
add ecx, dword [ebp - 0x4c]
add eax, ecx
mov ecx, dword [ebp - 4]
add dword [ebp - 0xc], eax
mov edx, ecx
ror edx, 9
xor edx, ecx
ror edx, 0xb
xor edx, ecx
mov ecx, esi
xor ecx, dword [ebp - 8]
and ecx, dword [ebp - 4]
add ecx, eax
ror edx, 2
add ecx, edx
mov eax, esi
and eax, dword [ebp - 8]
add eax, ecx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x38]
mov edx, ecx
mov eax, ecx
and edx, 0xff0000
shr eax, 0x10
or edx, eax
mov eax, ecx
and ecx, 0xff00
shl eax, 0x10
or eax, ecx
shr edx, 8
shl eax, 8
or edx, eax
mov eax, edi
xor eax, dword [ebp - 0x18]
mov dword [ebp - 0x48], edx
mov edx, dword [ebp - 0xc]
mov ecx, edx
ror ecx, 0xe
and eax, edx
xor ecx, edx
xor eax, edi
ror ecx, 5
xor ecx, edx
ror ecx, 6
add eax, 0x9bdc06a7
add eax, dword [ebp - 0x48]
add ecx, ebx
add eax, ecx
mov ebx, dword [ebp - 8]
mov ecx, dword [ebp - 0x14]
add ebx, eax
mov edx, ecx
mov dword [ebp - 8], ebx
ror edx, 9
xor edx, ecx
ror edx, 0xb
xor edx, ecx
mov ecx, dword [ebp - 4]
xor ecx, esi
ror edx, 2
and ecx, dword [ebp - 0x14]
add ecx, eax
mov eax, dword [ebp - 4]
and eax, esi
add ecx, edx
add eax, ecx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x3c]
mov edx, ecx
mov eax, ecx
and edx, 0xff0000
shr eax, 0x10
or edx, eax
mov eax, ecx
shl eax, 0x10
and ecx, 0xff00
or eax, ecx
shr edx, 8
shl eax, 8
mov ecx, ebx
or edx, eax
ror ecx, 0xe
mov eax, dword [ebp - 0x18]
xor ecx, ebx
ror ecx, 5
xor ecx, ebx
mov dword [ebp - 0x54], edx
mov ebx, dword [ebp - 0xc]
xor eax, ebx
and eax, dword [ebp - 8]
xor eax, dword [ebp - 0x18]
add eax, 0xc19bf174
ror ecx, 6
add eax, edx
add ecx, edi
mov edi, dword [ebp - 0x14]
add ecx, eax
lea eax, [esi + ecx]
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x10]
mov edx, eax
ror edx, 9
xor edx, eax
ror edx, 0xb
xor edx, eax
mov eax, edi
xor eax, dword [ebp - 4]
and eax, dword [ebp - 0x10]
and edi, dword [ebp - 4]
add eax, ecx
ror edx, 2
add eax, edx
add edi, eax
mov eax, 0x40
mov dword [ebp - 0x1c], edi
mov edi, dword [ebp - 8]
jmp 0x435af3
mov ebx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x48]
xor edi, ebx
mov esi, ecx
ror esi, 2
xor esi, ecx
shr ecx, 0xa
rol esi, 0xf
xor esi, ecx
mov ecx, dword [ebp - 0x20]
add esi, dword [ebp - 0x2c]
mov edx, ecx
ror edx, 0xb
xor edx, ecx
shr ecx, 3
ror edx, 7
xor edx, ecx
mov ecx, dword [ebp - 0x1c]
add edx, esi
mov esi, dword [ebp + 0xc]
add dword [ebp - 0x5c], edx
and edi, esi
mov edx, esi
xor edi, ebx
ror edx, 0xe
xor edx, esi
ror edx, 5
xor edx, esi
mov esi, dword [ebp - 0x18]
ror edx, 6
add edx, edi
mov edi, dword [ebp - 0x14]
add edx, dword [eax + 0x439e00]
add edx, dword [ebp - 0x5c]
add esi, edx
mov edx, ecx
add dword [ebp - 4], esi
ror edx, 9
xor edx, ecx
ror edx, 0xb
xor edx, ecx
mov ecx, dword [ebp - 0x10]
ror edx, 2
xor ecx, edi
and ecx, dword [ebp - 0x1c]
and edi, dword [ebp - 0x10]
add edx, ecx
mov ecx, dword [ebp - 0x54]
add edi, esi
mov esi, ecx
add edi, edx
ror esi, 2
xor esi, ecx
shr ecx, 0xa
rol esi, 0xf
xor esi, ecx
mov ecx, dword [ebp - 0x24]
add esi, dword [ebp - 0x34]
mov edx, ecx
ror edx, 0xb
xor edx, ecx
shr ecx, 3
ror edx, 7
xor edx, ecx
mov ecx, dword [ebp - 4]
add edx, esi
add dword [ebp - 0x20], edx
mov edx, ecx
ror edx, 0xe
xor edx, ecx
ror edx, 5
xor edx, ecx
mov ecx, dword [ebp - 8]
xor ecx, dword [ebp + 0xc]
and ecx, dword [ebp - 4]
xor ecx, dword [ebp - 8]
ror edx, 6
add edx, ecx
add edx, dword [eax + 0x439e04]
add edx, dword [ebp - 0x20]
add ebx, edx
add dword [ebp - 0x14], ebx
mov esi, dword [ebp - 0x10]
mov edx, edi
ror edx, 9
mov ecx, esi
xor ecx, dword [ebp - 0x1c]
xor edx, edi
and esi, dword [ebp - 0x1c]
and ecx, edi
ror edx, 0xb
add ebx, esi
xor edx, edi
ror edx, 2
add edx, ecx
mov ecx, dword [ebp - 0x28]
add ebx, edx
mov esi, ecx
ror esi, 0xb
xor esi, ecx
shr ecx, 3
ror esi, 7
xor esi, ecx
mov ecx, dword [ebp - 0x5c]
add esi, dword [ebp - 0x58]
mov edx, ecx
ror edx, 2
xor edx, ecx
shr ecx, 0xa
rol edx, 0xf
xor edx, ecx
mov ecx, dword [ebp - 4]
xor ecx, dword [ebp + 0xc]
add edx, esi
add dword [ebp - 0x24], edx
mov esi, dword [ebp - 0x14]
and ecx, esi
xor ecx, dword [ebp + 0xc]
mov edx, esi
ror edx, 0xe
xor edx, esi
ror edx, 5
xor edx, esi
mov esi, dword [ebp - 8]
ror edx, 6
add edx, ecx
mov ecx, dword [ebp - 0x1c]
add edx, dword [eax + 0x439e08]
xor ecx, edi
add edx, dword [ebp - 0x24]
and ecx, ebx
add esi, edx
mov edx, ebx
add dword [ebp - 0x10], esi
ror edx, 9
xor edx, ebx
ror edx, 0xb
xor edx, ebx
ror edx, 2
add edx, ecx
mov ecx, dword [ebp - 0x1c]
and ecx, edi
add ecx, esi
add ecx, edx
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 0x30]
mov esi, ecx
ror esi, 0xb
xor esi, ecx
shr ecx, 3
ror esi, 7
xor esi, ecx
mov ecx, dword [ebp - 0x20]
add esi, dword [ebp - 0x40]
mov edx, ecx
ror edx, 2
xor edx, ecx
shr ecx, 0xa
rol edx, 0xf
xor edx, ecx
mov ecx, dword [ebp - 0x10]
add edx, esi
add dword [ebp - 0x28], edx
mov edx, ecx
mov esi, dword [ebp - 0xc]
ror edx, 0xe
xor edx, ecx
ror edx, 5
xor edx, ecx
mov ecx, dword [ebp - 0x14]
xor ecx, dword [ebp - 4]
and ecx, dword [ebp - 0x10]
xor ecx, dword [ebp - 4]
ror edx, 6
add edx, ecx
mov ecx, dword [ebp + 0xc]
add edx, dword [eax + 0x439e0c]
add edx, dword [ebp - 0x28]
add ecx, edx
mov edx, esi
add dword [ebp - 0x1c], ecx
ror edx, 9
xor edx, esi
mov dword [ebp + 0xc], ecx
ror edx, 0xb
mov ecx, edi
xor edx, esi
xor ecx, ebx
and ecx, esi
ror edx, 2
add edx, ecx
mov ecx, edi
and ecx, ebx
add ecx, dword [ebp + 0xc]
add ecx, edx
mov dword [ebp + 0xc], ecx
mov ecx, dword [ebp - 0x38]
mov esi, ecx
ror esi, 0xb
xor esi, ecx
shr ecx, 3
ror esi, 7
xor esi, ecx
mov ecx, dword [ebp - 0x24]
add esi, dword [ebp - 0x4c]
mov edx, ecx
ror edx, 2
xor edx, ecx
shr ecx, 0xa
rol edx, 0xf
xor edx, ecx
mov ecx, dword [ebp - 0x1c]
add edx, esi
mov esi, dword [ebp - 0xc]
add dword [ebp - 0x30], edx
mov edx, ecx
ror edx, 0xe
xor edx, ecx
ror edx, 5
xor edx, ecx
mov ecx, dword [ebp - 0x10]
xor ecx, dword [ebp - 0x14]
and ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x14]
ror edx, 6
add edx, ecx
mov ecx, dword [ebp - 4]
add edx, dword [eax + 0x439e10]
add edx, dword [ebp - 0x30]
add ecx, edx
add edi, ecx
mov dword [ebp - 4], ecx
mov ecx, dword [ebp + 0xc]
mov edx, ecx
ror edx, 9
xor edx, ecx
ror edx, 0xb
xor edx, ecx
mov ecx, esi
xor ecx, ebx
ror edx, 2
and ecx, dword [ebp + 0xc]
add edx, ecx
and esi, ebx
add esi, dword [ebp - 4]
add esi, edx
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 4], esi
mov esi, ecx
ror esi, 0xb
xor esi, ecx
shr ecx, 3
ror esi, 7
xor esi, ecx
mov ecx, dword [ebp - 0x28]
add esi, dword [ebp - 0x48]
mov edx, ecx
ror edx, 2
xor edx, ecx
shr ecx, 0xa
rol edx, 0xf
xor edx, ecx
mov ecx, dword [ebp - 0x10]
add edx, esi
xor ecx, dword [ebp - 0x1c]
add dword [ebp - 0x38], edx
and ecx, edi
xor ecx, dword [ebp - 0x10]
mov edx, edi
ror edx, 0xe
xor edx, edi
mov esi, dword [ebp - 0xc]
ror edx, 5
xor edx, edi
ror edx, 6
add edx, ecx
mov ecx, dword [ebp - 0x14]
add edx, dword [eax + 0x439e14]
add edx, dword [ebp - 0x38]
add ecx, edx
add ebx, ecx
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 4]
mov edx, ecx
ror edx, 9
xor edx, ecx
ror edx, 0xb
xor edx, ecx
mov ecx, esi
xor ecx, dword [ebp + 0xc]
and ecx, dword [ebp - 4]
and esi, dword [ebp + 0xc]
add esi, dword [ebp - 0x14]
ror edx, 2
add edx, ecx
mov ecx, dword [ebp - 0x44]
add esi, edx
mov dword [ebp - 0x14], esi
mov esi, ecx
ror esi, 0xb
xor esi, ecx
shr ecx, 3
ror esi, 7
xor esi, ecx
mov ecx, dword [ebp - 0x30]
add esi, dword [ebp - 0x54]
mov edx, ecx
ror edx, 2
xor edx, ecx
shr ecx, 0xa
rol edx, 0xf
xor edx, ecx
mov ecx, dword [ebp - 0x1c]
add edx, esi
xor ecx, edi
add dword [ebp - 0x3c], edx
and ecx, ebx
xor ecx, dword [ebp - 0x1c]
mov edx, ebx
ror edx, 0xe
xor edx, ebx
ror edx, 5
xor edx, ebx
ror edx, 6
add edx, ecx
add edx, dword [eax + 0x439e18]
add edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x10]
add ecx, edx
add dword [ebp - 0xc], ecx
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x14]
mov edx, ecx
ror edx, 9
xor edx, ecx
ror edx, 0xb
xor edx, ecx
mov ecx, dword [ebp - 4]
xor ecx, dword [ebp + 0xc]
and ecx, dword [ebp - 0x14]
ror edx, 2
add edx, ecx
mov ecx, dword [ebp - 4]
and ecx, dword [ebp + 0xc]
add ecx, dword [ebp - 0x10]
add ecx, edx
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x50]
mov esi, ecx
ror esi, 0xb
xor esi, ecx
shr ecx, 3
ror esi, 7
xor esi, ecx
mov ecx, dword [ebp - 0x38]
add esi, dword [ebp - 0x5c]
mov edx, ecx
ror edx, 2
xor edx, ecx
shr ecx, 0xa
rol edx, 0xf
xor edx, ecx
mov ecx, edi
add edx, esi
xor ecx, ebx
add dword [ebp - 0x44], edx
mov esi, dword [ebp - 0xc]
and ecx, esi
mov edx, esi
xor ecx, edi
ror edx, 0xe
xor edx, esi
ror edx, 5
xor edx, esi
ror edx, 6
add edx, ecx
mov ecx, dword [ebp - 0x1c]
add edx, dword [eax + 0x439e1c]
add edx, dword [ebp - 0x44]
add ecx, edx
add dword [ebp + 0xc], ecx
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp - 0x10]
mov edx, ecx
ror edx, 9
xor edx, ecx
ror edx, 0xb
xor edx, ecx
mov ecx, dword [ebp - 0x14]
xor ecx, dword [ebp - 4]
and ecx, dword [ebp - 0x10]
ror edx, 2
add edx, ecx
mov ecx, dword [ebp - 0x14]
and ecx, dword [ebp - 4]
add ecx, dword [ebp - 0x1c]
add ecx, edx
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp - 0x2c]
mov esi, ecx
ror esi, 0xb
xor esi, ecx
shr ecx, 3
ror esi, 7
xor esi, ecx
mov ecx, dword [ebp - 0x3c]
add esi, dword [ebp - 0x20]
mov edx, ecx
ror edx, 2
xor edx, ecx
shr ecx, 0xa
rol edx, 0xf
xor edx, ecx
mov ecx, dword [ebp + 0xc]
add edx, esi
add dword [ebp - 0x50], edx
mov edx, ecx
ror edx, 0xe
xor edx, ecx
ror edx, 5
xor edx, ecx
mov ecx, dword [ebp - 0xc]
ror edx, 6
xor ecx, ebx
and ecx, dword [ebp + 0xc]
xor ecx, ebx
add edx, ecx
mov ecx, dword [ebp - 0x1c]
add edx, dword [eax + 0x439e20]
add edx, dword [ebp - 0x50]
add edi, edx
mov edx, ecx
ror edx, 9
xor edx, ecx
add dword [ebp - 4], edi
ror edx, 0xb
xor edx, ecx
mov ecx, dword [ebp - 0x10]
xor ecx, dword [ebp - 0x14]
and ecx, dword [ebp - 0x1c]
ror edx, 2
add edx, ecx
mov ecx, dword [ebp - 0x10]
and ecx, dword [ebp - 0x14]
add ecx, edi
mov edi, dword [ebp - 0xc]
add ecx, edx
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x34]
mov esi, ecx
ror esi, 0xb
xor esi, ecx
shr ecx, 3
ror esi, 7
xor esi, ecx
mov ecx, dword [ebp - 0x44]
add esi, dword [ebp - 0x24]
mov edx, ecx
ror edx, 2
xor edx, ecx
shr ecx, 0xa
rol edx, 0xf
xor edx, ecx
mov ecx, edi
xor ecx, dword [ebp + 0xc]
add edx, esi
add dword [ebp - 0x2c], edx
mov esi, dword [ebp - 4]
mov edx, esi
ror edx, 0xe
and ecx, esi
xor edx, esi
xor ecx, edi
ror edx, 5
xor edx, esi
ror edx, 6
add edx, ecx
mov ecx, dword [ebp - 0x18]
add edx, dword [eax + 0x439e24]
add edx, dword [ebp - 0x2c]
add ebx, edx
mov edx, ecx
add dword [ebp - 0x14], ebx
ror edx, 9
xor edx, ecx
ror edx, 0xb
xor edx, ecx
mov esi, dword [ebp - 0x10]
mov ecx, esi
and esi, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x1c]
add esi, ebx
and ecx, dword [ebp - 0x18]
ror edx, 2
add edx, ecx
mov ebx, dword [ebp + 0xc]
add esi, edx
mov ecx, dword [ebp - 0x58]
mov dword [ebp - 0xc], esi
mov esi, ecx
ror esi, 0xb
xor esi, ecx
shr ecx, 3
ror esi, 7
xor esi, ecx
mov ecx, dword [ebp - 0x50]
add esi, dword [ebp - 0x28]
mov edx, ecx
ror edx, 2
xor edx, ecx
shr ecx, 0xa
rol edx, 0xf
xor edx, ecx
mov ecx, dword [ebp - 4]
add edx, esi
xor ecx, ebx
add dword [ebp - 0x34], edx
mov esi, dword [ebp - 0x14]
and ecx, esi
mov edx, esi
xor ecx, ebx
ror edx, 0xe
xor edx, esi
ror edx, 5
xor edx, esi
mov esi, dword [ebp - 0x1c]
ror edx, 6
add edx, ecx
mov ecx, dword [ebp - 0xc]
add edx, dword [eax + 0x439e28]
add edx, dword [ebp - 0x34]
add edi, edx
mov edx, ecx
ror edx, 9
xor edx, ecx
add dword [ebp - 0x10], edi
ror edx, 0xb
xor edx, ecx
mov ecx, esi
and esi, dword [ebp - 0x18]
xor ecx, dword [ebp - 0x18]
add esi, edi
and ecx, dword [ebp - 0xc]
ror edx, 2
add edx, ecx
mov ecx, dword [ebp - 0x40]
add esi, edx
mov dword [ebp - 8], esi
mov esi, ecx
ror esi, 0xb
xor esi, ecx
shr ecx, 3
ror esi, 7
xor esi, ecx
mov ecx, dword [ebp - 0x2c]
add esi, dword [ebp - 0x30]
mov edx, ecx
ror edx, 2
xor edx, ecx
shr ecx, 0xa
rol edx, 0xf
xor edx, ecx
add edx, esi
mov esi, dword [ebp - 0x10]
add dword [ebp - 0x58], edx
mov edx, esi
ror edx, 0xe
xor edx, esi
mov edi, dword [ebp - 4]
ror edx, 5
xor edx, esi
mov ecx, dword [ebp - 0x14]
ror edx, 6
xor ecx, edi
and ecx, esi
xor ecx, edi
add edx, ecx
mov ecx, dword [ebp - 8]
add edx, dword [eax + 0x439e2c]
add edx, dword [ebp - 0x58]
add ebx, edx
mov edx, ecx
ror edx, 9
xor edx, ecx
add dword [ebp - 0x1c], ebx
ror edx, 0xb
xor edx, ecx
mov ecx, dword [ebp - 0x18]
xor ecx, dword [ebp - 0xc]
and ecx, dword [ebp - 8]
ror edx, 2
add edx, ecx
mov ecx, dword [ebp - 0x18]
and ecx, dword [ebp - 0xc]
add ecx, ebx
mov ebx, dword [ebp - 0x14]
add ecx, edx
mov dword [ebp + 0xc], ecx
mov ecx, dword [ebp - 0x4c]
mov esi, ecx
ror esi, 0xb
xor esi, ecx
shr ecx, 3
ror esi, 7
xor esi, ecx
mov ecx, dword [ebp - 0x34]
add esi, dword [ebp - 0x38]
mov edx, ecx
ror edx, 2
xor edx, ecx
shr ecx, 0xa
rol edx, 0xf
xor edx, ecx
mov ecx, dword [ebp - 0x10]
add edx, esi
xor ecx, ebx
add dword [ebp - 0x40], edx
mov esi, dword [ebp - 0x1c]
and ecx, esi
mov edx, esi
xor ecx, ebx
ror edx, 0xe
xor edx, esi
ror edx, 5
xor edx, esi
ror edx, 6
add edx, ecx
mov ecx, dword [ebp + 0xc]
add edx, dword [eax + 0x439e30]
add edx, dword [ebp - 0x40]
add edi, edx
mov edx, ecx
add dword [ebp - 0x18], edi
ror edx, 9
xor edx, ecx
ror edx, 0xb
xor edx, ecx
mov ecx, dword [ebp - 8]
xor ecx, dword [ebp - 0xc]
and ecx, dword [ebp + 0xc]
ror edx, 2
add edx, ecx
mov ecx, dword [ebp - 8]
and ecx, dword [ebp - 0xc]
add ecx, edi
add ecx, edx
mov dword [ebp - 4], ecx
mov ecx, dword [ebp - 0x48]
mov esi, ecx
ror esi, 0xb
xor esi, ecx
mov edi, dword [ebp - 0x10]
shr ecx, 3
ror esi, 7
xor esi, ecx
mov ecx, dword [ebp - 0x58]
add esi, dword [ebp - 0x3c]
mov edx, ecx
ror edx, 2
xor edx, ecx
shr ecx, 0xa
rol edx, 0xf
xor edx, ecx
mov ecx, edi
add edx, esi
xor ecx, dword [ebp - 0x1c]
add dword [ebp - 0x4c], edx
mov esi, dword [ebp - 0x18]
and ecx, esi
mov edx, esi
xor ecx, edi
ror edx, 0xe
xor edx, esi
ror edx, 5
xor edx, esi
mov esi, dword [ebp - 8]
ror edx, 6
add edx, ecx
mov ecx, dword [ebp - 4]
add edx, dword [eax + 0x439e34]
add edx, dword [ebp - 0x4c]
add ebx, edx
mov edx, ecx
ror edx, 9
xor edx, ecx
add dword [ebp - 0xc], ebx
ror edx, 0xb
xor edx, ecx
mov ecx, esi
xor ecx, dword [ebp + 0xc]
and ecx, dword [ebp - 4]
and esi, dword [ebp + 0xc]
ror edx, 2
add esi, ebx
add edx, ecx
mov ebx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x54]
add esi, edx
mov dword [ebp - 0x14], esi
mov esi, ecx
ror esi, 0xb
xor esi, ecx
shr ecx, 3
ror esi, 7
xor esi, ecx
mov ecx, dword [ebp - 0x40]
add esi, dword [ebp - 0x44]
mov edx, ecx
ror edx, 2
xor edx, ecx
shr ecx, 0xa
rol edx, 0xf
xor edx, ecx
mov ecx, ebx
xor ecx, dword [ebp - 0x18]
add edx, esi
add dword [ebp - 0x48], edx
mov esi, dword [ebp - 0xc]
mov edx, esi
ror edx, 0xe
and ecx, esi
xor edx, esi
xor ecx, ebx
ror edx, 5
xor edx, esi
ror edx, 6
add edx, ecx
add edx, dword [eax + 0x439e38]
add edx, dword [ebp - 0x48]
add edi, edx
mov ecx, dword [ebp - 0x14]
mov edx, ecx
ror edx, 9
xor edx, ecx
mov esi, dword [ebp - 4]
ror edx, 0xb
xor edx, ecx
add dword [ebp - 8], edi
ror edx, 2
mov ecx, esi
xor ecx, dword [ebp + 0xc]
and ecx, dword [ebp - 0x14]
and esi, dword [ebp + 0xc]
add edx, ecx
mov ecx, dword [ebp - 0x4c]
add esi, edi
add esi, edx
mov edi, dword [ebp - 8]
mov dword [ebp - 0x10], esi
mov esi, ecx
ror esi, 2
xor esi, ecx
shr ecx, 0xa
rol esi, 0xf
xor esi, ecx
mov ecx, dword [ebp - 0x5c]
add esi, dword [ebp - 0x50]
mov edx, ecx
ror edx, 0xb
xor edx, ecx
shr ecx, 3
ror edx, 7
xor edx, ecx
mov ecx, dword [ebp - 0x18]
add edx, esi
mov esi, dword [ebp - 0xc]
add dword [ebp - 0x54], edx
xor ecx, esi
and ecx, edi
mov edx, edi
xor ecx, dword [ebp - 0x18]
ror edx, 0xe
xor edx, edi
ror edx, 5
xor edx, edi
ror edx, 6
add edx, ecx
mov ecx, dword [ebp - 0x10]
add edx, dword [eax + 0x439e3c]
add eax, 0x40
add edx, dword [ebp - 0x54]
add ebx, edx
mov edx, ecx
add dword [ebp + 0xc], ebx
ror edx, 9
xor edx, ecx
ror edx, 0xb
xor edx, ecx
mov ecx, dword [ebp - 0x14]
xor ecx, dword [ebp - 4]
and ecx, dword [ebp - 0x10]
ror edx, 2
add edx, ecx
mov ecx, dword [ebp - 0x14]
and ecx, dword [ebp - 4]
add ecx, ebx
add ecx, edx
mov dword [ebp - 0x1c], ecx
cmp eax, 0x100
jb 0x435af0
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x10]
add dword [edx], ecx
add dword [edx + 4], eax
mov eax, dword [ebp - 0x14]
add dword [edx + 8], eax
mov eax, dword [ebp - 4]
add dword [edx + 0xc], eax
mov eax, dword [ebp + 0xc]
add dword [edx + 0x10], eax
add dword [edx + 0x14], edi
add dword [edx + 0x18], esi
mov eax, dword [ebp - 0x18]
add dword [edx + 0x1c], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret