Function at 0x434b00
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push esi
push edi
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov edx, dword [ebp - 0x10]
add eax, dword [edx + 0x58]
mov edx, dword [edx + 0x5c]
adc edx, ecx
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x58], eax
mov dword [ecx + 0x5c], edx
mov edx, dword [ebp + 8]
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x10]
cmp dword [eax + 0x50], 0
jbe 0x43518b
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx + 0x50]
add edx, dword [ebp + 0xc]
cmp edx, 0x40
jb 0x43518b
mov eax, dword [ebp - 0x10]
mov ecx, 0x40
sub ecx, dword [eax + 0x50]
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 8]
mov esi, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 0x50]
mov edx, dword [ebp - 0x10]
lea edi, [edx + eax + 0x10]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 4]
add ecx, dword [ebp - 8]
mov dword [ebp - 4], ecx
mov edx, dword [ebp + 0xc]
sub edx, dword [ebp - 8]
mov dword [ebp + 0xc], edx
mov edi, dword [ebp - 0x10]
mov eax, dword [edi]
mov ebx, dword [edi + 4]
mov ecx, dword [edi + 8]
mov edx, dword [edi + 0xc]
lea esi, [edi + 0x10]
add eax, dword [esi]
mov edi, edx
xor edi, ecx
add eax, 0xd76aa478
and edi, ebx
xor edi, edx
add edx, dword [esi + 4]
add eax, edi
mov edi, ecx
rol eax, 7
xor edi, ebx
add eax, ebx
add edx, 0xe8c7b756
and edi, eax
xor edi, ecx
add ecx, dword [esi + 8]
add edx, edi
mov edi, ebx
rol edx, 0xc
xor edi, eax
add edx, eax
add ecx, 0x242070db
and edi, edx
xor edi, ebx
add ebx, dword [esi + 0xc]
add ecx, edi
mov edi, eax
rol ecx, 0x11
xor edi, edx
add ecx, edx
add ebx, 0xc1bdceee
and edi, ecx
xor edi, eax
add eax, dword [esi + 0x10]
add ebx, edi
mov edi, edx
rol ebx, 0x16
xor edi, ecx
add ebx, ecx
add eax, 0xf57c0faf
and edi, ebx
xor edi, edx
add edx, dword [esi + 0x14]
add eax, edi
mov edi, ecx
rol eax, 7
xor edi, ebx
add eax, ebx
add edx, 0x4787c62a
and edi, eax
xor edi, ecx
add ecx, dword [esi + 0x18]
add edx, edi
mov edi, ebx
rol edx, 0xc
xor edi, eax
add edx, eax
add ecx, 0xa8304613
and edi, edx
xor edi, ebx
add ebx, dword [esi + 0x1c]
add ecx, edi
mov edi, eax
rol ecx, 0x11
xor edi, edx
add ecx, edx
add ebx, 0xfd469501
and edi, ecx
xor edi, eax
add eax, dword [esi + 0x20]
add ebx, edi
mov edi, edx
rol ebx, 0x16
xor edi, ecx
add ebx, ecx
add eax, 0x698098d8
and edi, ebx
xor edi, edx
add edx, dword [esi + 0x24]
add eax, edi
mov edi, ecx
rol eax, 7
xor edi, ebx
add eax, ebx
add edx, 0x8b44f7af
and edi, eax
xor edi, ecx
add ecx, dword [esi + 0x28]
add edx, edi
mov edi, ebx
rol edx, 0xc
xor edi, eax
add edx, eax
add ecx, 0xffff5bb1
and edi, edx
xor edi, ebx
add ebx, dword [esi + 0x2c]
add ecx, edi
mov edi, eax
rol ecx, 0x11
xor edi, edx
add ecx, edx
add ebx, 0x895cd7be
and edi, ecx
xor edi, eax
add eax, dword [esi + 0x30]
add ebx, edi
mov edi, edx
rol ebx, 0x16
xor edi, ecx
add ebx, ecx
add eax, 0x6b901122
and edi, ebx
xor edi, edx
add edx, dword [esi + 0x34]
add eax, edi
mov edi, ecx
rol eax, 7
xor edi, ebx
add eax, ebx
add edx, 0xfd987193
and edi, eax
xor edi, ecx
add ecx, dword [esi + 0x38]
add edx, edi
mov edi, ebx
rol edx, 0xc
xor edi, eax
add edx, eax
add ecx, 0xa679438e
and edi, edx
xor edi, ebx
add ebx, dword [esi + 0x3c]
add ecx, edi
mov edi, eax
rol ecx, 0x11
xor edi, edx
add ecx, edx
add ebx, 0x49b40821
and edi, ecx
xor edi, eax
add ebx, edi
rol ebx, 0x16
add ebx, ecx
add eax, dword [esi + 4]
mov edi, ecx
xor edi, ebx
add eax, 0xf61e2562
and edi, edx
xor edi, ecx
add eax, edi
add edx, dword [esi + 0x18]
rol eax, 5
mov edi, ebx
add eax, ebx
xor edi, eax
add edx, 0xc040b340
and edi, ecx
xor edi, ebx
add edx, edi
add ecx, dword [esi + 0x2c]
rol edx, 9
mov edi, eax
add edx, eax
xor edi, edx
add ecx, 0x265e5a51
and edi, ebx
xor edi, eax
add ecx, edi
add ebx, dword [esi]
rol ecx, 0xe
mov edi, edx
add ecx, edx
xor edi, ecx
add ebx, 0xe9b6c7aa
and edi, eax
xor edi, edx
add ebx, edi
add eax, dword [esi + 0x14]
rol ebx, 0x14
mov edi, ecx
add ebx, ecx
xor edi, ebx
add eax, 0xd62f105d
and edi, edx
xor edi, ecx
add eax, edi
add edx, dword [esi + 0x28]
rol eax, 5
mov edi, ebx
add eax, ebx
xor edi, eax
add edx, 0x2441453
and edi, ecx
xor edi, ebx
add edx, edi
add ecx, dword [esi + 0x3c]
rol edx, 9
mov edi, eax
add edx, eax
xor edi, edx
add ecx, 0xd8a1e681
and edi, ebx
xor edi, eax
add ecx, edi
add ebx, dword [esi + 0x10]
rol ecx, 0xe
mov edi, edx
add ecx, edx
xor edi, ecx
add ebx, 0xe7d3fbc8
and edi, eax
xor edi, edx
add ebx, edi
add eax, dword [esi + 0x24]
rol ebx, 0x14
mov edi, ecx
add ebx, ecx
xor edi, ebx
add eax, 0x21e1cde6
and edi, edx
xor edi, ecx
add eax, edi
add edx, dword [esi + 0x38]
rol eax, 5
mov edi, ebx
add eax, ebx
xor edi, eax
add edx, 0xc33707d6
and edi, ecx
xor edi, ebx
add edx, edi
add ecx, dword [esi + 0xc]
rol edx, 9
mov edi, eax
add edx, eax
xor edi, edx
add ecx, 0xf4d50d87
and edi, ebx
xor edi, eax
add ecx, edi
add ebx, dword [esi + 0x20]
rol ecx, 0xe
mov edi, edx
add ecx, edx
xor edi, ecx
add ebx, 0x455a14ed
and edi, eax
xor edi, edx
add ebx, edi
add eax, dword [esi + 0x34]
rol ebx, 0x14
mov edi, ecx
add ebx, ecx
xor edi, ebx
add eax, 0xa9e3e905
and edi, edx
xor edi, ecx
add eax, edi
add edx, dword [esi + 8]
rol eax, 5
mov edi, ebx
add eax, ebx
xor edi, eax
add edx, 0xfcefa3f8
and edi, ecx
xor edi, ebx
add edx, edi
add ecx, dword [esi + 0x1c]
rol edx, 9
mov edi, eax
add edx, eax
xor edi, edx
add ecx, 0x676f02d9
and edi, ebx
xor edi, eax
add ecx, edi
add ebx, dword [esi + 0x30]
rol ecx, 0xe
mov edi, edx
add ecx, edx
xor edi, ecx
add ebx, 0x8d2a4c8a
and edi, eax
xor edi, edx
add ebx, edi
rol ebx, 0x14
add ebx, ecx
add eax, dword [esi + 0x14]
mov edi, edx
xor edi, ecx
add eax, 0xfffa3942
xor edi, ebx
add edx, dword [esi + 0x20]
add eax, edi
mov edi, ecx
rol eax, 4
xor edi, ebx
add eax, ebx
add edx, 0x8771f681
xor edi, eax
add ecx, dword [esi + 0x2c]
add edx, edi
mov edi, ebx
rol edx, 0xb
xor edi, eax
add edx, eax
add ecx, 0x6d9d6122
xor edi, edx
add ebx, dword [esi + 0x38]
add ecx, edi
mov edi, eax
rol ecx, 0x10
xor edi, edx
add ecx, edx
add ebx, 0xfde5380c
xor edi, ecx
add eax, dword [esi + 4]
add ebx, edi
mov edi, edx
rol ebx, 0x17
xor edi, ecx
add ebx, ecx
add eax, 0xa4beea44
xor edi, ebx
add edx, dword [esi + 0x10]
add eax, edi
mov edi, ecx
rol eax, 4
xor edi, ebx
add eax, ebx
add edx, 0x4bdecfa9
xor edi, eax
add ecx, dword [esi + 0x1c]
add edx, edi
mov edi, ebx
rol edx, 0xb
xor edi, eax
add edx, eax
add ecx, 0xf6bb4b60
xor edi, edx
add ebx, dword [esi + 0x28]
add ecx, edi
mov edi, eax
rol ecx, 0x10
xor edi, edx
add ecx, edx
add ebx, 0xbebfbc70
xor edi, ecx
add eax, dword [esi + 0x34]
add ebx, edi
mov edi, edx
rol ebx, 0x17
xor edi, ecx
add ebx, ecx
add eax, 0x289b7ec6
xor edi, ebx
add edx, dword [esi]
add eax, edi
mov edi, ecx
rol eax, 4
xor edi, ebx
add eax, ebx
add edx, 0xeaa127fa
xor edi, eax
add ecx, dword [esi + 0xc]
add edx, edi
mov edi, ebx
rol edx, 0xb
xor edi, eax
add edx, eax
add ecx, 0xd4ef3085
xor edi, edx
add ebx, dword [esi + 0x18]
add ecx, edi
mov edi, eax
rol ecx, 0x10
xor edi, edx
add ecx, edx
add ebx, 0x4881d05
xor edi, ecx
add eax, dword [esi + 0x24]
add ebx, edi
mov edi, edx
rol ebx, 0x17
xor edi, ecx
add ebx, ecx
add eax, 0xd9d4d039
xor edi, ebx
add edx, dword [esi + 0x30]
add eax, edi
mov edi, ecx
rol eax, 4
xor edi, ebx
add eax, ebx
add edx, 0xe6db99e5
xor edi, eax
add ecx, dword [esi + 0x3c]
add edx, edi
mov edi, ebx
rol edx, 0xb
xor edi, eax
add edx, eax
add ecx, 0x1fa27cf8
xor edi, edx
add ebx, dword [esi + 8]
add ecx, edi
mov edi, eax
rol ecx, 0x10
xor edi, edx
add ecx, edx
add ebx, 0xc4ac5665
xor edi, ecx
add ebx, edi
rol ebx, 0x17
add ebx, ecx
add eax, dword [esi]
mov edi, edx
not edi
or edi, ebx
add eax, 0xf4292244
xor edi, ecx
add eax, edi
add edx, dword [esi + 0x1c]
rol eax, 6
mov edi, ecx
add eax, ebx
not edi
or edi, eax
add edx, 0x432aff97
xor edi, ebx
add edx, edi
add ecx, dword [esi + 0x38]
rol edx, 0xa
mov edi, ebx
add edx, eax
not edi
or edi, edx
add ecx, 0xab9423a7
xor edi, eax
add ecx, edi
add ebx, dword [esi + 0x14]
rol ecx, 0xf
mov edi, eax
add ecx, edx
not edi
or edi, ecx
add ebx, 0xfc93a039
xor edi, edx
add ebx, edi
add eax, dword [esi + 0x30]
rol ebx, 0x15
mov edi, edx
add ebx, ecx
not edi
or edi, ebx
add eax, 0x655b59c3
xor edi, ecx
add eax, edi
add edx, dword [esi + 0xc]
rol eax, 6
mov edi, ecx
add eax, ebx
not edi
or edi, eax
add edx, 0x8f0ccc92
xor edi, ebx
add edx, edi
add ecx, dword [esi + 0x28]
rol edx, 0xa
mov edi, ebx
add edx, eax
not edi
or edi, edx
add ecx, 0xffeff47d
xor edi, eax
add ecx, edi
add ebx, dword [esi + 4]
rol ecx, 0xf
mov edi, eax
add ecx, edx
not edi
or edi, ecx
add ebx, 0x85845dd1
xor edi, edx
add ebx, edi
add eax, dword [esi + 0x20]
rol ebx, 0x15
mov edi, edx
add ebx, ecx
not edi
or edi, ebx
add eax, 0x6fa87e4f
xor edi, ecx
add eax, edi
add edx, dword [esi + 0x3c]
rol eax, 6
mov edi, ecx
add eax, ebx
not edi
or edi, eax
add edx, 0xfe2ce6e0
xor edi, ebx
add edx, edi
add ecx, dword [esi + 0x18]
rol edx, 0xa
mov edi, ebx
add edx, eax
not edi
or edi, edx
add ecx, 0xa3014314
xor edi, eax
add ecx, edi
add ebx, dword [esi + 0x34]
rol ecx, 0xf
mov edi, eax
add ecx, edx
not edi
or edi, ecx
add ebx, 0x4e0811a1
xor edi, edx
add ebx, edi
add eax, dword [esi + 0x10]
rol ebx, 0x15
mov edi, edx
add ebx, ecx
not edi
or edi, ebx
add eax, 0xf7537e82
xor edi, ecx
add eax, edi
add edx, dword [esi + 0x2c]
rol eax, 6
mov edi, ecx
add eax, ebx
not edi
or edi, eax
add edx, 0xbd3af235
xor edi, ebx
add edx, edi
add ecx, dword [esi + 8]
rol edx, 0xa
mov edi, ebx
add edx, eax
not edi
or edi, edx
add ecx, 0x2ad7d2bb
xor edi, eax
add ecx, edi
add ebx, dword [esi + 0x24]
rol ecx, 0xf
mov edi, eax
add ecx, edx
not edi
or edi, ecx
add ebx, 0xeb86d391
xor edi, edx
add ebx, edi
rol ebx, 0x15
add ebx, ecx
mov edi, dword [ebp - 0x10]
add eax, dword [edi]
add ebx, dword [edi + 4]
mov dword [edi], eax
add ecx, dword [edi + 8]
mov dword [edi + 4], ebx
add edx, dword [edi + 0xc]
mov dword [edi + 8], ecx
mov dword [edi + 0xc], edx
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x50], 0
cmp dword [ebp + 0xc], 0x40
jb 0x4357b7
mov ecx, dword [ebp + 0xc]
shr ecx, 6
mov dword [ebp - 0xc], ecx
mov edi, dword [ebp - 0x10]
mov eax, dword [edi]
mov ebx, dword [edi + 4]
mov ecx, dword [edi + 8]
mov edx, dword [edi + 0xc]
mov esi, dword [ebp - 4]
nop
add eax, dword [esi]
mov edi, edx
xor edi, ecx
add eax, 0xd76aa478
and edi, ebx
xor edi, edx
add edx, dword [esi + 4]
add eax, edi
mov edi, ecx
rol eax, 7
xor edi, ebx
add eax, ebx
add edx, 0xe8c7b756
and edi, eax
xor edi, ecx
add ecx, dword [esi + 8]
add edx, edi
mov edi, ebx
rol edx, 0xc
xor edi, eax
add edx, eax
add ecx, 0x242070db
and edi, edx
xor edi, ebx
add ebx, dword [esi + 0xc]
add ecx, edi
mov edi, eax
rol ecx, 0x11
xor edi, edx
add ecx, edx
add ebx, 0xc1bdceee
and edi, ecx
xor edi, eax
add eax, dword [esi + 0x10]
add ebx, edi
mov edi, edx
rol ebx, 0x16
xor edi, ecx
add ebx, ecx
add eax, 0xf57c0faf
and edi, ebx
xor edi, edx
add edx, dword [esi + 0x14]
add eax, edi
mov edi, ecx
rol eax, 7
xor edi, ebx
add eax, ebx
add edx, 0x4787c62a
and edi, eax
xor edi, ecx
add ecx, dword [esi + 0x18]
add edx, edi
mov edi, ebx
rol edx, 0xc
xor edi, eax
add edx, eax
add ecx, 0xa8304613
and edi, edx
xor edi, ebx
add ebx, dword [esi + 0x1c]
add ecx, edi
mov edi, eax
rol ecx, 0x11
xor edi, edx
add ecx, edx
add ebx, 0xfd469501
and edi, ecx
xor edi, eax
add eax, dword [esi + 0x20]
add ebx, edi
mov edi, edx
rol ebx, 0x16
xor edi, ecx
add ebx, ecx
add eax, 0x698098d8
and edi, ebx
xor edi, edx
add edx, dword [esi + 0x24]
add eax, edi
mov edi, ecx
rol eax, 7
xor edi, ebx
add eax, ebx
add edx, 0x8b44f7af
and edi, eax
xor edi, ecx
add ecx, dword [esi + 0x28]
add edx, edi
mov edi, ebx
rol edx, 0xc
xor edi, eax
add edx, eax
add ecx, 0xffff5bb1
and edi, edx
xor edi, ebx
add ebx, dword [esi + 0x2c]
add ecx, edi
mov edi, eax
rol ecx, 0x11
xor edi, edx
add ecx, edx
add ebx, 0x895cd7be
and edi, ecx
xor edi, eax
add eax, dword [esi + 0x30]
add ebx, edi
mov edi, edx
rol ebx, 0x16
xor edi, ecx
add ebx, ecx
add eax, 0x6b901122
and edi, ebx
xor edi, edx
add edx, dword [esi + 0x34]
add eax, edi
mov edi, ecx
rol eax, 7
xor edi, ebx
add eax, ebx
add edx, 0xfd987193
and edi, eax
xor edi, ecx
add ecx, dword [esi + 0x38]
add edx, edi
mov edi, ebx
rol edx, 0xc
xor edi, eax
add edx, eax
add ecx, 0xa679438e
and edi, edx
xor edi, ebx
add ebx, dword [esi + 0x3c]
add ecx, edi
mov edi, eax
rol ecx, 0x11
xor edi, edx
add ecx, edx
add ebx, 0x49b40821
and edi, ecx
xor edi, eax
add ebx, edi
rol ebx, 0x16
add ebx, ecx
add eax, dword [esi + 4]
mov edi, ecx
xor edi, ebx
add eax, 0xf61e2562
and edi, edx
xor edi, ecx
add eax, edi
add edx, dword [esi + 0x18]
rol eax, 5
mov edi, ebx
add eax, ebx
xor edi, eax
add edx, 0xc040b340
and edi, ecx
xor edi, ebx
add edx, edi
add ecx, dword [esi + 0x2c]
rol edx, 9
mov edi, eax
add edx, eax
xor edi, edx
add ecx, 0x265e5a51
and edi, ebx
xor edi, eax
add ecx, edi
add ebx, dword [esi]
rol ecx, 0xe
mov edi, edx
add ecx, edx
xor edi, ecx
add ebx, 0xe9b6c7aa
and edi, eax
xor edi, edx
add ebx, edi
add eax, dword [esi + 0x14]
rol ebx, 0x14
mov edi, ecx
add ebx, ecx
xor edi, ebx
add eax, 0xd62f105d
and edi, edx
xor edi, ecx
add eax, edi
add edx, dword [esi + 0x28]
rol eax, 5
mov edi, ebx
add eax, ebx
xor edi, eax
add edx, 0x2441453
and edi, ecx
xor edi, ebx
add edx, edi
add ecx, dword [esi + 0x3c]
rol edx, 9
mov edi, eax
add edx, eax
xor edi, edx
add ecx, 0xd8a1e681
and edi, ebx
xor edi, eax
add ecx, edi
add ebx, dword [esi + 0x10]
rol ecx, 0xe
mov edi, edx
add ecx, edx
xor edi, ecx
add ebx, 0xe7d3fbc8
and edi, eax
xor edi, edx
add ebx, edi
add eax, dword [esi + 0x24]
rol ebx, 0x14
mov edi, ecx
add ebx, ecx
xor edi, ebx
add eax, 0x21e1cde6
and edi, edx
xor edi, ecx
add eax, edi
add edx, dword [esi + 0x38]
rol eax, 5
mov edi, ebx
add eax, ebx
xor edi, eax
add edx, 0xc33707d6
and edi, ecx
xor edi, ebx
add edx, edi
add ecx, dword [esi + 0xc]
rol edx, 9
mov edi, eax
add edx, eax
xor edi, edx
add ecx, 0xf4d50d87
and edi, ebx
xor edi, eax
add ecx, edi
add ebx, dword [esi + 0x20]
rol ecx, 0xe
mov edi, edx
add ecx, edx
xor edi, ecx
add ebx, 0x455a14ed
and edi, eax
xor edi, edx
add ebx, edi
add eax, dword [esi + 0x34]
rol ebx, 0x14
mov edi, ecx
add ebx, ecx
xor edi, ebx
add eax, 0xa9e3e905
and edi, edx
xor edi, ecx
add eax, edi
add edx, dword [esi + 8]
rol eax, 5
mov edi, ebx
add eax, ebx
xor edi, eax
add edx, 0xfcefa3f8
and edi, ecx
xor edi, ebx
add edx, edi
add ecx, dword [esi + 0x1c]
rol edx, 9
mov edi, eax
add edx, eax
xor edi, edx
add ecx, 0x676f02d9
and edi, ebx
xor edi, eax
add ecx, edi
add ebx, dword [esi + 0x30]
rol ecx, 0xe
mov edi, edx
add ecx, edx
xor edi, ecx
add ebx, 0x8d2a4c8a
and edi, eax
xor edi, edx
add ebx, edi
rol ebx, 0x14
add ebx, ecx
add eax, dword [esi + 0x14]
mov edi, edx
xor edi, ecx
add eax, 0xfffa3942
xor edi, ebx
add edx, dword [esi + 0x20]
add eax, edi
mov edi, ecx
rol eax, 4
xor edi, ebx
add eax, ebx
add edx, 0x8771f681
xor edi, eax
add ecx, dword [esi + 0x2c]
add edx, edi
mov edi, ebx
rol edx, 0xb
xor edi, eax
add edx, eax
add ecx, 0x6d9d6122
xor edi, edx
add ebx, dword [esi + 0x38]
add ecx, edi
mov edi, eax
rol ecx, 0x10
xor edi, edx
add ecx, edx
add ebx, 0xfde5380c
xor edi, ecx
add eax, dword [esi + 4]
add ebx, edi
mov edi, edx
rol ebx, 0x17
xor edi, ecx
add ebx, ecx
add eax, 0xa4beea44
xor edi, ebx
add edx, dword [esi + 0x10]
add eax, edi
mov edi, ecx
rol eax, 4
xor edi, ebx
add eax, ebx
add edx, 0x4bdecfa9
xor edi, eax
add ecx, dword [esi + 0x1c]
add edx, edi
mov edi, ebx
rol edx, 0xb
xor edi, eax
add edx, eax
add ecx, 0xf6bb4b60
xor edi, edx
add ebx, dword [esi + 0x28]
add ecx, edi
mov edi, eax
rol ecx, 0x10
xor edi, edx
add ecx, edx
add ebx, 0xbebfbc70
xor edi, ecx
add eax, dword [esi + 0x34]
add ebx, edi
mov edi, edx
rol ebx, 0x17
xor edi, ecx
add ebx, ecx
add eax, 0x289b7ec6
xor edi, ebx
add edx, dword [esi]
add eax, edi
mov edi, ecx
rol eax, 4
xor edi, ebx
add eax, ebx
add edx, 0xeaa127fa
xor edi, eax
add ecx, dword [esi + 0xc]
add edx, edi
mov edi, ebx
rol edx, 0xb
xor edi, eax
add edx, eax
add ecx, 0xd4ef3085
xor edi, edx
add ebx, dword [esi + 0x18]
add ecx, edi
mov edi, eax
rol ecx, 0x10
xor edi, edx
add ecx, edx
add ebx, 0x4881d05
xor edi, ecx
add eax, dword [esi + 0x24]
add ebx, edi
mov edi, edx
rol ebx, 0x17
xor edi, ecx
add ebx, ecx
add eax, 0xd9d4d039
xor edi, ebx
add edx, dword [esi + 0x30]
add eax, edi
mov edi, ecx
rol eax, 4
xor edi, ebx
add eax, ebx
add edx, 0xe6db99e5
xor edi, eax
add ecx, dword [esi + 0x3c]
add edx, edi
mov edi, ebx
rol edx, 0xb
xor edi, eax
add edx, eax
add ecx, 0x1fa27cf8
xor edi, edx
add ebx, dword [esi + 8]
add ecx, edi
mov edi, eax
rol ecx, 0x10
xor edi, edx
add ecx, edx
add ebx, 0xc4ac5665
xor edi, ecx
add ebx, edi
rol ebx, 0x17
add ebx, ecx
add eax, dword [esi]
mov edi, edx
not edi
or edi, ebx
add eax, 0xf4292244
xor edi, ecx
add eax, edi
add edx, dword [esi + 0x1c]
rol eax, 6
mov edi, ecx
add eax, ebx
not edi
or edi, eax
add edx, 0x432aff97
xor edi, ebx
add edx, edi
add ecx, dword [esi + 0x38]
rol edx, 0xa
mov edi, ebx
add edx, eax
not edi
or edi, edx
add ecx, 0xab9423a7
xor edi, eax
add ecx, edi
add ebx, dword [esi + 0x14]
rol ecx, 0xf
mov edi, eax
add ecx, edx
not edi
or edi, ecx
add ebx, 0xfc93a039
xor edi, edx
add ebx, edi
add eax, dword [esi + 0x30]
rol ebx, 0x15
mov edi, edx
add ebx, ecx
not edi
or edi, ebx
add eax, 0x655b59c3
xor edi, ecx
add eax, edi
add edx, dword [esi + 0xc]
rol eax, 6
mov edi, ecx
add eax, ebx
not edi
or edi, eax
add edx, 0x8f0ccc92
xor edi, ebx
add edx, edi
add ecx, dword [esi + 0x28]
rol edx, 0xa
mov edi, ebx
add edx, eax
not edi
or edi, edx
add ecx, 0xffeff47d
xor edi, eax
add ecx, edi
add ebx, dword [esi + 4]
rol ecx, 0xf
mov edi, eax
add ecx, edx
not edi
or edi, ecx
add ebx, 0x85845dd1
xor edi, edx
add ebx, edi
add eax, dword [esi + 0x20]
rol ebx, 0x15
mov edi, edx
add ebx, ecx
not edi
or edi, ebx
add eax, 0x6fa87e4f
xor edi, ecx
add eax, edi
add edx, dword [esi + 0x3c]
rol eax, 6
mov edi, ecx
add eax, ebx
not edi
or edi, eax
add edx, 0xfe2ce6e0
xor edi, ebx
add edx, edi
add ecx, dword [esi + 0x18]
rol edx, 0xa
mov edi, ebx
add edx, eax
not edi
or edi, edx
add ecx, 0xa3014314
xor edi, eax
add ecx, edi
add ebx, dword [esi + 0x34]
rol ecx, 0xf
mov edi, eax
add ecx, edx
not edi
or edi, ecx
add ebx, 0x4e0811a1
xor edi, edx
add ebx, edi
add eax, dword [esi + 0x10]
rol ebx, 0x15
mov edi, edx
add ebx, ecx
not edi
or edi, ebx
add eax, 0xf7537e82
xor edi, ecx
add eax, edi
add edx, dword [esi + 0x2c]
rol eax, 6
mov edi, ecx
add eax, ebx
not edi
or edi, eax
add edx, 0xbd3af235
xor edi, ebx
add edx, edi
add ecx, dword [esi + 8]
rol edx, 0xa
mov edi, ebx
add edx, eax
not edi
or edi, edx
add ecx, 0x2ad7d2bb
xor edi, eax
add ecx, edi
add ebx, dword [esi + 0x24]
rol ecx, 0xf
mov edi, eax
add ecx, edx
not edi
or edi, ecx
add ebx, 0xeb86d391
xor edi, edx
add ebx, edi
rol ebx, 0x15
add ebx, ecx
mov edi, dword [ebp - 0x10]
add eax, dword [edi]
add ebx, dword [edi + 4]
mov dword [edi], eax
add ecx, dword [edi + 8]
mov dword [edi + 4], ebx
add edx, dword [edi + 0xc]
mov dword [edi + 8], ecx
mov dword [edi + 0xc], edx
add esi, 0x40
dec dword [ebp - 0xc]
jne 0x4351b0
mov edx, dword [ebp + 0xc]
and edx, 0xffffffc0
add edx, dword [ebp - 4]
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x50], 0
mov ecx, dword [ebp + 0xc]
and ecx, 0x3f
mov dword [ebp + 0xc], ecx
je 0x4357f2
mov ecx, dword [ebp + 0xc]
mov esi, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 0x50]
mov edx, dword [ebp - 0x10]
lea edi, [edx + eax + 0x10]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx + 0x50]
add edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x50], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8