Function at 0x436000
Capabilities:
Encode data using xor

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