Function at 0x49a404
Capabilities:
Encode data using xor

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