Function at 0x10028070
Capabilities:
Encode data using xor

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x1c
test ecx, ecx
mov dword [esp + 0x14], eax
je 0x10028780
mov edi, eax
mov eax, ecx
mov esi, dword [edi + 4]
shl eax, 6
mov ebp, dword [edi + 8]
add eax, edx
mov dword [esp + 0x18], eax
mov dword [esp + 8], esi
mov esi, dword [edi]
mov dword [esp], ebp
mov edi, dword [edi + 0xc]
mov dword [esp + 4], esi
mov dword [esp + 0xc], edi
mov edi, edx
lea esi, [esi]
mov esi, dword [esp + 8]
mov ebx, dword [esp + 4]
mov ebp, dword [esp]
mov ecx, dword [edi]
mov edx, dword [esp + 0xc]
mov eax, esi
xor eax, ebx
and eax, ebp
xor eax, ebx
lea edx, [ecx + edx - 0x28955b88]
add eax, edx
mov edx, esi
rol eax, 7
xor edx, ebp
add eax, ebp
mov ebp, dword [edi + 4]
and edx, eax
xor edx, esi
lea ecx, [ebp + ebx - 0x173848aa]
mov ebp, dword [esp]
add edx, ecx
mov ecx, eax
rol edx, 0xc
add edx, eax
xor ecx, ebp
and ecx, edx
xor ecx, ebp
mov ebp, dword [edi + 8]
lea ebx, [ebp + esi + 0x242070db]
mov ebp, edx
mov esi, dword [esp]
xor ebp, eax
add ecx, ebx
ror ecx, 0xf
mov ebx, ebp
mov ebp, dword [edi + 0xc]
add ecx, edx
and ebx, ecx
xor ebx, eax
lea esi, [ebp + esi - 0x3e423112]
mov ebp, dword [edi + 0x10]
add ebx, esi
ror ebx, 0xa
add ebx, ecx
lea esi, [ebp + eax - 0xa83f051]
mov ebp, dword [edi + 0x14]
mov eax, ecx
xor eax, edx
and eax, ebx
xor eax, edx
add eax, esi
lea esi, [ebp + edx + 0x4787c62a]
mov ebp, ecx
rol eax, 7
xor ebp, ebx
mov edx, ebp
mov ebp, dword [edi + 0x18]
add eax, ebx
and edx, eax
xor edx, ecx
add edx, esi
lea esi, [ebp + ecx - 0x57cfb9ed]
mov ebp, eax
rol edx, 0xc
xor ebp, ebx
mov ecx, ebp
mov ebp, dword [edi + 0x1c]
add edx, eax
and ecx, edx
xor ecx, ebx
add ecx, esi
lea esi, [ebp + ebx - 0x2b96aff]
mov ebp, eax
ror ecx, 0xf
xor ebp, edx
add ecx, edx
mov ebx, ebp
mov ebp, dword [edi + 0x20]
and ebx, ecx
xor ebx, eax
add ebx, esi
ror ebx, 0xa
lea esi, [ebp + eax + 0x698098d8]
mov ebp, dword [edi + 0x24]
mov eax, ecx
add ebx, ecx
xor eax, edx
and eax, ebx
xor eax, edx
add eax, esi
lea esi, [ebp + edx - 0x74bb0851]
mov ebp, ebx
rol eax, 7
xor ebp, ecx
mov edx, ebp
mov ebp, dword [edi + 0x28]
add eax, ebx
and edx, eax
xor edx, ecx
add edx, esi
lea esi, [ebp + ecx - 0xa44f]
mov ebp, ebx
rol edx, 0xc
xor ebp, eax
mov ecx, ebp
mov ebp, dword [edi + 0x2c]
add edx, eax
and ecx, edx
xor ecx, ebx
add ecx, esi
lea esi, [ebp + ebx - 0x76a32842]
mov ebp, edx
ror ecx, 0xf
xor ebp, eax
add ecx, edx
mov ebx, ebp
mov ebp, dword [edi + 0x30]
and ebx, ecx
xor ebx, eax
add ebx, esi
ror ebx, 0xa
lea esi, [ebp + eax + 0x6b901122]
mov ebp, dword [edi + 0x34]
mov eax, ecx
add ebx, ecx
xor eax, edx
and eax, ebx
xor eax, edx
add eax, esi
lea esi, [ebp + edx - 0x2678e6d]
mov ebp, ebx
rol eax, 7
xor ebp, ecx
mov edx, ebp
mov ebp, dword [edi + 0x38]
add eax, ebx
and edx, eax
xor edx, ecx
add edx, esi
lea esi, [ebp + ecx - 0x5986bc72]
mov ebp, ebx
rol edx, 0xc
xor ebp, eax
mov ecx, ebp
mov ebp, dword [edi + 0x3c]
add edx, eax
and ecx, edx
xor ecx, ebx
add ecx, esi
lea esi, [ebp + ebx + 0x49b40821]
mov ebp, edx
ror ecx, 0xf
xor ebp, eax
add ecx, edx
mov ebx, ebp
mov ebp, dword [edi + 4]
and ebx, ecx
xor ebx, eax
add ebx, esi
ror ebx, 0xa
lea esi, [ebp + eax - 0x9e1da9e]
add ebx, ecx
mov ebp, dword [edi + 0x18]
mov eax, ebx
xor eax, ecx
and eax, edx
xor eax, ecx
add eax, esi
rol eax, 5
lea esi, [ebp + edx - 0x3fbf4cc0]
add eax, ebx
mov ebp, eax
xor ebp, ebx
mov edx, ebp
mov ebp, dword [edi + 0x2c]
and edx, ecx
xor edx, ebx
add edx, esi
rol edx, 9
lea esi, [ebp + ecx + 0x265e5a51]
add edx, eax
mov ebp, eax
xor ebp, edx
mov ecx, ebp
mov ebp, dword [edi]
and ecx, ebx
xor ecx, eax
add ecx, esi
rol ecx, 0xe
lea esi, [ebp + ebx - 0x16493856]
add ecx, edx
mov ebp, ecx
xor ebp, edx
mov ebx, ebp
mov ebp, dword [edi + 0x14]
and ebx, eax
xor ebx, edx
add ebx, esi
ror ebx, 0xc
lea esi, [ebp + eax - 0x29d0efa3]
add ebx, ecx
mov ebp, dword [edi + 0x28]
mov eax, ebx
xor eax, ecx
and eax, edx
xor eax, ecx
add eax, esi
rol eax, 5
lea esi, [ebp + edx + 0x2441453]
add eax, ebx
mov ebp, eax
xor ebp, ebx
mov edx, ebp
mov ebp, dword [edi + 0x3c]
and edx, ecx
xor edx, ebx
add edx, esi
rol edx, 9
lea esi, [ebp + ecx - 0x275e197f]
add edx, eax
mov ebp, eax
xor ebp, edx
mov ecx, ebp
mov ebp, dword [edi + 0x10]
and ecx, ebx
xor ecx, eax
add ecx, esi
rol ecx, 0xe
lea esi, [ebp + ebx - 0x182c0438]
add ecx, edx
mov ebp, ecx
xor ebp, edx
mov ebx, ebp
mov ebp, dword [edi + 0x24]
and ebx, eax
xor ebx, edx
add ebx, esi
ror ebx, 0xc
lea esi, [ebp + eax + 0x21e1cde6]
add ebx, ecx
mov ebp, dword [edi + 0x38]
mov eax, ecx
xor eax, ebx
and eax, edx
xor eax, ecx
add eax, esi
rol eax, 5
lea esi, [ebp + edx - 0x3cc8f82a]
add eax, ebx
mov ebp, eax
xor ebp, ebx
mov edx, ebp
mov ebp, dword [edi + 0xc]
and edx, ecx
xor edx, ebx
add edx, esi
rol edx, 9
lea esi, [ebp + ecx - 0xb2af279]
add edx, eax
mov ebp, edx
xor ebp, eax
mov ecx, ebp
mov ebp, dword [edi + 0x20]
and ecx, ebx
xor ecx, eax
add ecx, esi
rol ecx, 0xe
lea ebx, [ebp + ebx + 0x455a14ed]
add ecx, edx
mov ebp, ecx
xor ebp, edx
mov esi, ebp
mov ebp, dword [edi + 0x34]
and esi, eax
xor esi, edx
add esi, ebx
ror esi, 0xc
lea ebx, [ebp + eax - 0x561c16fb]
add esi, ecx
mov ebp, dword [edi + 8]
mov eax, ecx
xor eax, esi
and eax, edx
xor eax, ecx
add eax, ebx
rol eax, 5
lea ebx, [ebp + edx - 0x3105c08]
add eax, esi
mov ebp, eax
xor ebp, esi
mov edx, ebp
mov ebp, dword [edi + 0x1c]
and edx, ecx
xor edx, esi
add edx, ebx
rol edx, 9
lea ecx, [ebp + ecx + 0x676f02d9]
add edx, eax
mov ebp, edx
xor ebp, eax
mov ebx, ebp
mov ebp, edx
and ebx, esi
xor ebx, eax
add ebx, ecx
rol ebx, 0xe
add ebx, edx
xor ebp, ebx
mov ecx, ebp
mov ebp, dword [edi + 0x30]
lea ebp, [ebp + esi - 0x72d5b376]
mov dword [esp + 0x10], ebp
mov ebp, ecx
and ebp, eax
mov esi, ebp
mov ebp, dword [esp + 0x10]
xor esi, edx
add esi, ebp
mov ebp, dword [edi + 0x14]
ror esi, 0xc
add esi, ebx
xor ecx, esi
lea eax, [ebp + eax - 0x5c6be]
mov ebp, dword [edi + 0x20]
add ecx, eax
mov eax, esi
rol ecx, 4
xor eax, ebx
add ecx, esi
lea edx, [ebp + edx - 0x788e097f]
mov ebp, dword [edi + 0x2c]
xor eax, ecx
add eax, edx
rol eax, 0xb
add eax, ecx
lea ebx, [ebp + ebx + 0x6d9d6122]
mov ebp, ecx
xor ebp, esi
mov edx, ebp
mov ebp, dword [edi + 0x38]
xor edx, eax
add edx, ebx
rol edx, 0x10
lea esi, [ebp + esi - 0x21ac7f4]
mov ebp, ecx
xor ebp, eax
add edx, eax
mov ebx, ebp
mov ebp, dword [edi + 4]
xor ebx, edx
add ebx, esi
ror ebx, 9
lea esi, [ebp + ecx - 0x5b4115bc]
mov ebp, edx
xor ebp, eax
add ebx, edx
mov ecx, ebp
mov ebp, dword [edi + 0x10]
xor ecx, ebx
add ecx, esi
rol ecx, 4
lea esi, [ebp + eax + 0x4bdecfa9]
mov ebp, dword [edi + 0x1c]
mov eax, ebx
add ecx, ebx
xor eax, edx
xor eax, ecx
add eax, esi
lea edx, [ebp + edx - 0x944b4a0]
mov ebp, ebx
rol eax, 0xb
xor ebp, ecx
mov esi, ebp
mov ebp, dword [edi + 0x28]
add eax, ecx
xor esi, eax
add esi, edx
rol esi, 0x10
lea edx, [ebp + ebx - 0x41404390]
mov ebp, eax
xor ebp, ecx
add esi, eax
mov ebx, ebp
mov ebp, dword [edi + 0x34]
xor ebx, esi
add ebx, edx
ror ebx, 9
lea ecx, [ebp + ecx + 0x289b7ec6]
mov ebp, esi
xor ebp, eax
add ebx, esi
mov edx, ebp
mov ebp, dword [edi]
xor edx, ebx
add edx, ecx
rol edx, 4
lea eax, [ebp + eax - 0x155ed806]
mov ebp, esi
xor ebp, ebx
add edx, ebx
mov ecx, ebp
mov ebp, dword [edi + 0xc]
xor ecx, edx
add ecx, eax
rol ecx, 0xb
lea eax, [ebp + esi - 0x2b10cf7b]
mov ebp, edx
xor ebp, ebx
add ecx, edx
mov esi, ebp
mov ebp, dword [edi + 0x18]
xor esi, ecx
add esi, eax
mov eax, ecx
rol esi, 0x10
xor eax, edx
lea ebx, [ebp + ebx + 0x4881d05]
mov ebp, dword [edi + 0x24]
add esi, ecx
xor eax, esi
add eax, ebx
ror eax, 9
lea edx, [ebp + edx - 0x262b2fc7]
mov ebp, ecx
xor ebp, esi
add eax, esi
mov ebx, ebp
mov ebp, dword [edi + 0x30]
xor ebx, eax
add ebx, edx
rol ebx, 4
lea edx, [ebp + ecx - 0x1924661b]
mov ebp, eax
add ebx, eax
xor ebp, esi
mov ecx, ebp
mov ebp, dword [edi + 0x3c]
xor ecx, ebx
add ecx, edx
rol ecx, 0xb
lea esi, [ebp + esi + 0x1fa27cf8]
mov ebp, ebx
xor ebp, eax
add ecx, ebx
mov edx, ebp
mov ebp, dword [edi + 8]
xor edx, ecx
add edx, esi
rol edx, 0x10
lea eax, [ebp + eax - 0x3b53a99b]
mov ebp, ebx
xor ebp, ecx
add edx, ecx
mov esi, ebp
mov ebp, dword [edi]
xor esi, edx
add esi, eax
ror esi, 9
lea eax, [ebp + ebx - 0xbd6ddbc]
mov ebp, ecx
not ebp
add esi, edx
mov ebx, ebp
mov ebp, dword [edi + 0x1c]
or ebx, esi
xor ebx, edx
add ebx, eax
mov eax, edx
lea ecx, [ebp + ecx + 0x432aff97]
mov ebp, dword [edi + 0x38]
not eax
rol ebx, 6
add ebx, esi
or eax, ebx
lea edx, [ebp + edx - 0x546bdc59]
mov ebp, esi
xor eax, esi
not ebp
add eax, ecx
mov ecx, ebp
mov ebp, dword [edi + 0x14]
rol eax, 0xa
add eax, ebx
or ecx, eax
lea esi, [ebp + esi - 0x36c5fc7]
xor ecx, ebx
mov ebp, ebx
add ecx, edx
rol ecx, 0xf
not ebp
mov edx, ebp
mov ebp, dword [edi + 0x30]
add ecx, eax
or edx, ecx
xor edx, eax
add edx, esi
lea esi, [ebp + ebx + 0x655b59c3]
mov ebp, eax
ror edx, 0xb
not ebp
mov ebx, ebp
mov ebp, dword [edi + 0xc]
add edx, ecx
or ebx, edx
xor ebx, ecx
add ebx, esi
lea eax, [ebp + eax - 0x70f3336e]
mov ebp, ecx
rol ebx, 6
not ebp
mov esi, ebp
mov ebp, dword [edi + 0x28]
add ebx, edx
or esi, ebx
xor esi, edx
add esi, eax
mov eax, edx
lea ecx, [ebp + ecx - 0x100b83]
mov ebp, dword [edi + 4]
not eax
rol esi, 0xa
add esi, ebx
or eax, esi
lea edx, [ebp + edx - 0x7a7ba22f]
xor eax, ebx
mov ebp, ebx
add eax, ecx
rol eax, 0xf
not ebp
mov ecx, ebp
mov ebp, dword [edi + 0x20]
add eax, esi
or ecx, eax
xor ecx, esi
add ecx, edx
lea edx, [ebp + ebx + 0x6fa87e4f]
mov ebp, esi
ror ecx, 0xb
not ebp
mov ebx, ebp
mov ebp, dword [edi + 0x3c]
add ecx, eax
or ebx, ecx
xor ebx, eax
add ebx, edx
lea esi, [ebp + esi - 0x1d31920]
mov ebp, eax
rol ebx, 6
not ebp
mov edx, ebp
mov ebp, dword [edi + 0x18]
add ebx, ecx
or edx, ebx
xor edx, ecx
add edx, esi
lea eax, [ebp + eax - 0x5cfebcec]
mov ebp, ecx
rol edx, 0xa
not ebp
mov esi, ebp
mov ebp, dword [edi + 0x34]
add edx, ebx
or esi, edx
xor esi, ebx
add esi, eax
lea eax, [ebp + ecx + 0x4e0811a1]
mov ebp, ebx
rol esi, 0xf
not ebp
add esi, edx
mov ecx, ebp
mov ebp, dword [edi + 0x10]
or ecx, esi
xor ecx, edx
add ecx, eax
mov eax, edx
lea ebx, [ebp + ebx - 0x8ac817e]
mov ebp, dword [edi + 0x2c]
not eax
ror ecx, 0xb
add ecx, esi
or eax, ecx
xor eax, esi
add eax, ebx
lea ebx, [ebp + edx - 0x42c50dcb]
mov ebp, esi
rol eax, 6
not ebp
mov edx, ebp
mov ebp, dword [edi + 8]
add eax, ecx
or edx, eax
xor edx, ecx
add edx, ebx
lea esi, [ebp + esi + 0x2ad7d2bb]
mov ebp, ecx
rol edx, 0xa
not ebp
add edx, eax
mov ebx, ebp
mov ebp, dword [edi + 0x24]
add dword [esp + 4], edx
or ebx, edx
xor ebx, eax
add ebx, esi
rol ebx, 0xf
lea esi, [ebp + ecx - 0x14792c6f]
add ebx, edx
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 4]
add dword [esp + 8], ebx
mov dword [ebp], ecx
mov ecx, dword [esp + 8]
mov dword [ebp + 4], ecx
mov ecx, eax
not ecx
or ecx, ebx
xor ecx, edx
add ecx, esi
ror ecx, 0xb
add ecx, ebx
add edi, 0x40
add dword [esp], ecx
add dword [esp + 0xc], eax
cmp dword [esp + 0x18], edi
mov edx, dword [esp]
mov eax, dword [esp + 0xc]
mov dword [ebp + 8], edx
mov dword [ebp + 0xc], eax
jne 0x100280b0
add esp, 0x1c
pop ebx
pop esi
pop edi
pop ebp
ret