Function at 0x10015278
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push esi
push edi
xor edi, edi
xor esi, esi
lea edx, sym.LIBEAY32.dll_DES_SPtrans
push edx
mov ebp, dword [esp + 0x1c]
push 0x19
mov eax, dword [esp + 0x24]
mov edx, esi
shr edx, 0x10
mov ecx, dword [esp + 0x28]
xor edx, esi
and eax, edx
and edx, ecx
mov ebx, eax
shl ebx, 0x10
mov ecx, edx
shl ecx, 0x10
xor eax, ebx
xor edx, ecx
mov ebx, dword [ebp]
xor eax, ebx
mov ecx, dword [ebp + 4]
xor eax, esi
xor edx, esi
xor edx, ecx
and eax, 0xfcfcfcfc
xor ebx, ebx
and edx, 0xcfcfcfcf
xor ecx, ecx
mov bl, al
mov cl, ah
ror edx, 4
mov ebp, dword [esp + 4]
xor edi, dword [ebp + ebx]
mov bl, dl
xor edi, dword [ebp + ecx + 0x200]
mov cl, dh
shr eax, 0x10
xor edi, dword [ebp + ebx + 0x100]
mov bl, ah
shr edx, 0x10
xor edi, dword [ebp + ecx + 0x300]
mov cl, dh
and eax, 0xff
and edx, 0xff
mov ebx, dword [ebp + ebx + 0x600]
xor edi, ebx
mov ebx, dword [ebp + ecx + 0x700]
xor edi, ebx
mov ebx, dword [ebp + eax + 0x400]
xor edi, ebx
mov ebx, dword [ebp + edx + 0x500]
xor edi, ebx
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
mov edx, edi
shr edx, 0x10
mov ecx, dword [esp + 0x28]
xor edx, edi
and eax, edx
and edx, ecx
mov ebx, eax
shl ebx, 0x10
mov ecx, edx
shl ecx, 0x10
xor eax, ebx
xor edx, ecx
mov ebx, dword [ebp + 8]
xor eax, ebx
mov ecx, dword [ebp + 0xc]
xor eax, edi
xor edx, edi
xor edx, ecx
and eax, 0xfcfcfcfc
xor ebx, ebx
and edx, 0xcfcfcfcf
xor ecx, ecx
mov bl, al
mov cl, ah
ror edx, 4
mov ebp, dword [esp + 4]
xor esi, dword [ebp + ebx]
mov bl, dl
xor esi, dword [ebp + ecx + 0x200]
mov cl, dh
shr eax, 0x10
xor esi, dword [ebp + ebx + 0x100]
mov bl, ah
shr edx, 0x10
xor esi, dword [ebp + ecx + 0x300]
mov cl, dh
and eax, 0xff
and edx, 0xff
mov ebx, dword [ebp + ebx + 0x600]
xor esi, ebx
mov ebx, dword [ebp + ecx + 0x700]
xor esi, ebx
mov ebx, dword [ebp + eax + 0x400]
xor esi, ebx
mov ebx, dword [ebp + edx + 0x500]
xor esi, ebx
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
mov edx, esi
shr edx, 0x10
mov ecx, dword [esp + 0x28]
xor edx, esi
and eax, edx
and edx, ecx
mov ebx, eax
shl ebx, 0x10
mov ecx, edx
shl ecx, 0x10
xor eax, ebx
xor edx, ecx
mov ebx, dword [ebp + 0x10]
xor eax, ebx
mov ecx, dword [ebp + 0x14]
xor eax, esi
xor edx, esi
xor edx, ecx
and eax, 0xfcfcfcfc
xor ebx, ebx
and edx, 0xcfcfcfcf
xor ecx, ecx
mov bl, al
mov cl, ah
ror edx, 4
mov ebp, dword [esp + 4]
xor edi, dword [ebp + ebx]
mov bl, dl
xor edi, dword [ebp + ecx + 0x200]
mov cl, dh
shr eax, 0x10
xor edi, dword [ebp + ebx + 0x100]
mov bl, ah
shr edx, 0x10
xor edi, dword [ebp + ecx + 0x300]
mov cl, dh
and eax, 0xff
and edx, 0xff
mov ebx, dword [ebp + ebx + 0x600]
xor edi, ebx
mov ebx, dword [ebp + ecx + 0x700]
xor edi, ebx
mov ebx, dword [ebp + eax + 0x400]
xor edi, ebx
mov ebx, dword [ebp + edx + 0x500]
xor edi, ebx
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
mov edx, edi
shr edx, 0x10
mov ecx, dword [esp + 0x28]
xor edx, edi
and eax, edx
and edx, ecx
mov ebx, eax
shl ebx, 0x10
mov ecx, edx
shl ecx, 0x10
xor eax, ebx
xor edx, ecx
mov ebx, dword [ebp + 0x18]
xor eax, ebx
mov ecx, dword [ebp + 0x1c]
xor eax, edi
xor edx, edi
xor edx, ecx
and eax, 0xfcfcfcfc
xor ebx, ebx
and edx, 0xcfcfcfcf
xor ecx, ecx
mov bl, al
mov cl, ah
ror edx, 4
mov ebp, dword [esp + 4]
xor esi, dword [ebp + ebx]
mov bl, dl
xor esi, dword [ebp + ecx + 0x200]
mov cl, dh
shr eax, 0x10
xor esi, dword [ebp + ebx + 0x100]
mov bl, ah
shr edx, 0x10
xor esi, dword [ebp + ecx + 0x300]
mov cl, dh
and eax, 0xff
and edx, 0xff
mov ebx, dword [ebp + ebx + 0x600]
xor esi, ebx
mov ebx, dword [ebp + ecx + 0x700]
xor esi, ebx
mov ebx, dword [ebp + eax + 0x400]
xor esi, ebx
mov ebx, dword [ebp + edx + 0x500]
xor esi, ebx
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
mov edx, esi
shr edx, 0x10
mov ecx, dword [esp + 0x28]
xor edx, esi
and eax, edx
and edx, ecx
mov ebx, eax
shl ebx, 0x10
mov ecx, edx
shl ecx, 0x10
xor eax, ebx
xor edx, ecx
mov ebx, dword [ebp + 0x20]
xor eax, ebx
mov ecx, dword [ebp + 0x24]
xor eax, esi
xor edx, esi
xor edx, ecx
and eax, 0xfcfcfcfc
xor ebx, ebx
and edx, 0xcfcfcfcf
xor ecx, ecx
mov bl, al
mov cl, ah
ror edx, 4
mov ebp, dword [esp + 4]
xor edi, dword [ebp + ebx]
mov bl, dl
xor edi, dword [ebp + ecx + 0x200]
mov cl, dh
shr eax, 0x10
xor edi, dword [ebp + ebx + 0x100]
mov bl, ah
shr edx, 0x10
xor edi, dword [ebp + ecx + 0x300]
mov cl, dh
and eax, 0xff
and edx, 0xff
mov ebx, dword [ebp + ebx + 0x600]
xor edi, ebx
mov ebx, dword [ebp + ecx + 0x700]
xor edi, ebx
mov ebx, dword [ebp + eax + 0x400]
xor edi, ebx
mov ebx, dword [ebp + edx + 0x500]
xor edi, ebx
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
mov edx, edi
shr edx, 0x10
mov ecx, dword [esp + 0x28]
xor edx, edi
and eax, edx
and edx, ecx
mov ebx, eax
shl ebx, 0x10
mov ecx, edx
shl ecx, 0x10
xor eax, ebx
xor edx, ecx
mov ebx, dword [ebp + 0x28]
xor eax, ebx
mov ecx, dword [ebp + 0x2c]
xor eax, edi
xor edx, edi
xor edx, ecx
and eax, 0xfcfcfcfc
xor ebx, ebx
and edx, 0xcfcfcfcf
xor ecx, ecx
mov bl, al
mov cl, ah
ror edx, 4
mov ebp, dword [esp + 4]
xor esi, dword [ebp + ebx]
mov bl, dl
xor esi, dword [ebp + ecx + 0x200]
mov cl, dh
shr eax, 0x10
xor esi, dword [ebp + ebx + 0x100]
mov bl, ah
shr edx, 0x10
xor esi, dword [ebp + ecx + 0x300]
mov cl, dh
and eax, 0xff
and edx, 0xff
mov ebx, dword [ebp + ebx + 0x600]
xor esi, ebx
mov ebx, dword [ebp + ecx + 0x700]
xor esi, ebx
mov ebx, dword [ebp + eax + 0x400]
xor esi, ebx
mov ebx, dword [ebp + edx + 0x500]
xor esi, ebx
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
mov edx, esi
shr edx, 0x10
mov ecx, dword [esp + 0x28]
xor edx, esi
and eax, edx
and edx, ecx
mov ebx, eax
shl ebx, 0x10
mov ecx, edx
shl ecx, 0x10
xor eax, ebx
xor edx, ecx
mov ebx, dword [ebp + 0x30]
xor eax, ebx
mov ecx, dword [ebp + 0x34]
xor eax, esi
xor edx, esi
xor edx, ecx
and eax, 0xfcfcfcfc
xor ebx, ebx
and edx, 0xcfcfcfcf
xor ecx, ecx
mov bl, al
mov cl, ah
ror edx, 4
mov ebp, dword [esp + 4]
xor edi, dword [ebp + ebx]
mov bl, dl
xor edi, dword [ebp + ecx + 0x200]
mov cl, dh
shr eax, 0x10
xor edi, dword [ebp + ebx + 0x100]
mov bl, ah
shr edx, 0x10
xor edi, dword [ebp + ecx + 0x300]
mov cl, dh
and eax, 0xff
and edx, 0xff
mov ebx, dword [ebp + ebx + 0x600]
xor edi, ebx
mov ebx, dword [ebp + ecx + 0x700]
xor edi, ebx
mov ebx, dword [ebp + eax + 0x400]
xor edi, ebx
mov ebx, dword [ebp + edx + 0x500]
xor edi, ebx
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
mov edx, edi
shr edx, 0x10
mov ecx, dword [esp + 0x28]
xor edx, edi
and eax, edx
and edx, ecx
mov ebx, eax
shl ebx, 0x10
mov ecx, edx
shl ecx, 0x10
xor eax, ebx
xor edx, ecx
mov ebx, dword [ebp + 0x38]
xor eax, ebx
mov ecx, dword [ebp + 0x3c]
xor eax, edi
xor edx, edi
xor edx, ecx
and eax, 0xfcfcfcfc
xor ebx, ebx
and edx, 0xcfcfcfcf
xor ecx, ecx
mov bl, al
mov cl, ah
ror edx, 4
mov ebp, dword [esp + 4]
xor esi, dword [ebp + ebx]
mov bl, dl
xor esi, dword [ebp + ecx + 0x200]
mov cl, dh
shr eax, 0x10
xor esi, dword [ebp + ebx + 0x100]
mov bl, ah
shr edx, 0x10
xor esi, dword [ebp + ecx + 0x300]
mov cl, dh
and eax, 0xff
and edx, 0xff
mov ebx, dword [ebp + ebx + 0x600]
xor esi, ebx
mov ebx, dword [ebp + ecx + 0x700]
xor esi, ebx
mov ebx, dword [ebp + eax + 0x400]
xor esi, ebx
mov ebx, dword [ebp + edx + 0x500]
xor esi, ebx
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
mov edx, esi
shr edx, 0x10
mov ecx, dword [esp + 0x28]
xor edx, esi
and eax, edx
and edx, ecx
mov ebx, eax
shl ebx, 0x10
mov ecx, edx
shl ecx, 0x10
xor eax, ebx
xor edx, ecx
mov ebx, dword [ebp + 0x40]
xor eax, ebx
mov ecx, dword [ebp + 0x44]
xor eax, esi
xor edx, esi
xor edx, ecx
and eax, 0xfcfcfcfc
xor ebx, ebx
and edx, 0xcfcfcfcf
xor ecx, ecx
mov bl, al
mov cl, ah
ror edx, 4
mov ebp, dword [esp + 4]
xor edi, dword [ebp + ebx]
mov bl, dl
xor edi, dword [ebp + ecx + 0x200]
mov cl, dh
shr eax, 0x10
xor edi, dword [ebp + ebx + 0x100]
mov bl, ah
shr edx, 0x10
xor edi, dword [ebp + ecx + 0x300]
mov cl, dh
and eax, 0xff
and edx, 0xff
mov ebx, dword [ebp + ebx + 0x600]
xor edi, ebx
mov ebx, dword [ebp + ecx + 0x700]
xor edi, ebx
mov ebx, dword [ebp + eax + 0x400]
xor edi, ebx
mov ebx, dword [ebp + edx + 0x500]
xor edi, ebx
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
mov edx, edi
shr edx, 0x10
mov ecx, dword [esp + 0x28]
xor edx, edi
and eax, edx
and edx, ecx
mov ebx, eax
shl ebx, 0x10
mov ecx, edx
shl ecx, 0x10
xor eax, ebx
xor edx, ecx
mov ebx, dword [ebp + 0x48]
xor eax, ebx
mov ecx, dword [ebp + 0x4c]
xor eax, edi
xor edx, edi
xor edx, ecx
and eax, 0xfcfcfcfc
xor ebx, ebx
and edx, 0xcfcfcfcf
xor ecx, ecx
mov bl, al
mov cl, ah
ror edx, 4
mov ebp, dword [esp + 4]
xor esi, dword [ebp + ebx]
mov bl, dl
xor esi, dword [ebp + ecx + 0x200]
mov cl, dh
shr eax, 0x10
xor esi, dword [ebp + ebx + 0x100]
mov bl, ah
shr edx, 0x10
xor esi, dword [ebp + ecx + 0x300]
mov cl, dh
and eax, 0xff
and edx, 0xff
mov ebx, dword [ebp + ebx + 0x600]
xor esi, ebx
mov ebx, dword [ebp + ecx + 0x700]
xor esi, ebx
mov ebx, dword [ebp + eax + 0x400]
xor esi, ebx
mov ebx, dword [ebp + edx + 0x500]
xor esi, ebx
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
mov edx, esi
shr edx, 0x10
mov ecx, dword [esp + 0x28]
xor edx, esi
and eax, edx
and edx, ecx
mov ebx, eax
shl ebx, 0x10
mov ecx, edx
shl ecx, 0x10
xor eax, ebx
xor edx, ecx
mov ebx, dword [ebp + 0x50]
xor eax, ebx
mov ecx, dword [ebp + 0x54]
xor eax, esi
xor edx, esi
xor edx, ecx
and eax, 0xfcfcfcfc
xor ebx, ebx
and edx, 0xcfcfcfcf
xor ecx, ecx
mov bl, al
mov cl, ah
ror edx, 4
mov ebp, dword [esp + 4]
xor edi, dword [ebp + ebx]
mov bl, dl
xor edi, dword [ebp + ecx + 0x200]
mov cl, dh
shr eax, 0x10
xor edi, dword [ebp + ebx + 0x100]
mov bl, ah
shr edx, 0x10
xor edi, dword [ebp + ecx + 0x300]
mov cl, dh
and eax, 0xff
and edx, 0xff
mov ebx, dword [ebp + ebx + 0x600]
xor edi, ebx
mov ebx, dword [ebp + ecx + 0x700]
xor edi, ebx
mov ebx, dword [ebp + eax + 0x400]
xor edi, ebx
mov ebx, dword [ebp + edx + 0x500]
xor edi, ebx
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
mov edx, edi
shr edx, 0x10
mov ecx, dword [esp + 0x28]
xor edx, edi
and eax, edx
and edx, ecx
mov ebx, eax
shl ebx, 0x10
mov ecx, edx
shl ecx, 0x10
xor eax, ebx
xor edx, ecx
mov ebx, dword [ebp + 0x58]
xor eax, ebx
mov ecx, dword [ebp + 0x5c]
xor eax, edi
xor edx, edi
xor edx, ecx
and eax, 0xfcfcfcfc
xor ebx, ebx
and edx, 0xcfcfcfcf
xor ecx, ecx
mov bl, al
mov cl, ah
ror edx, 4
mov ebp, dword [esp + 4]
xor esi, dword [ebp + ebx]
mov bl, dl
xor esi, dword [ebp + ecx + 0x200]
mov cl, dh
shr eax, 0x10
xor esi, dword [ebp + ebx + 0x100]
mov bl, ah
shr edx, 0x10
xor esi, dword [ebp + ecx + 0x300]
mov cl, dh
and eax, 0xff
and edx, 0xff
mov ebx, dword [ebp + ebx + 0x600]
xor esi, ebx
mov ebx, dword [ebp + ecx + 0x700]
xor esi, ebx
mov ebx, dword [ebp + eax + 0x400]
xor esi, ebx
mov ebx, dword [ebp + edx + 0x500]
xor esi, ebx
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
mov edx, esi
shr edx, 0x10
mov ecx, dword [esp + 0x28]
xor edx, esi
and eax, edx
and edx, ecx
mov ebx, eax
shl ebx, 0x10
mov ecx, edx
shl ecx, 0x10
xor eax, ebx
xor edx, ecx
mov ebx, dword [ebp + 0x60]
xor eax, ebx
mov ecx, dword [ebp + 0x64]
xor eax, esi
xor edx, esi
xor edx, ecx
and eax, 0xfcfcfcfc
xor ebx, ebx
and edx, 0xcfcfcfcf
xor ecx, ecx
mov bl, al
mov cl, ah
ror edx, 4
mov ebp, dword [esp + 4]
xor edi, dword [ebp + ebx]
mov bl, dl
xor edi, dword [ebp + ecx + 0x200]
mov cl, dh
shr eax, 0x10
xor edi, dword [ebp + ebx + 0x100]
mov bl, ah
shr edx, 0x10
xor edi, dword [ebp + ecx + 0x300]
mov cl, dh
and eax, 0xff
and edx, 0xff
mov ebx, dword [ebp + ebx + 0x600]
xor edi, ebx
mov ebx, dword [ebp + ecx + 0x700]
xor edi, ebx
mov ebx, dword [ebp + eax + 0x400]
xor edi, ebx
mov ebx, dword [ebp + edx + 0x500]
xor edi, ebx
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
mov edx, edi
shr edx, 0x10
mov ecx, dword [esp + 0x28]
xor edx, edi
and eax, edx
and edx, ecx
mov ebx, eax
shl ebx, 0x10
mov ecx, edx
shl ecx, 0x10
xor eax, ebx
xor edx, ecx
mov ebx, dword [ebp + 0x68]
xor eax, ebx
mov ecx, dword [ebp + 0x6c]
xor eax, edi
xor edx, edi
xor edx, ecx
and eax, 0xfcfcfcfc
xor ebx, ebx
and edx, 0xcfcfcfcf
xor ecx, ecx
mov bl, al
mov cl, ah
ror edx, 4
mov ebp, dword [esp + 4]
xor esi, dword [ebp + ebx]
mov bl, dl
xor esi, dword [ebp + ecx + 0x200]
mov cl, dh
shr eax, 0x10
xor esi, dword [ebp + ebx + 0x100]
mov bl, ah
shr edx, 0x10
xor esi, dword [ebp + ecx + 0x300]
mov cl, dh
and eax, 0xff
and edx, 0xff
mov ebx, dword [ebp + ebx + 0x600]
xor esi, ebx
mov ebx, dword [ebp + ecx + 0x700]
xor esi, ebx
mov ebx, dword [ebp + eax + 0x400]
xor esi, ebx
mov ebx, dword [ebp + edx + 0x500]
xor esi, ebx
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
mov edx, esi
shr edx, 0x10
mov ecx, dword [esp + 0x28]
xor edx, esi
and eax, edx
and edx, ecx
mov ebx, eax
shl ebx, 0x10
mov ecx, edx
shl ecx, 0x10
xor eax, ebx
xor edx, ecx
mov ebx, dword [ebp + 0x70]
xor eax, ebx
mov ecx, dword [ebp + 0x74]
xor eax, esi
xor edx, esi
xor edx, ecx
and eax, 0xfcfcfcfc
xor ebx, ebx
and edx, 0xcfcfcfcf
xor ecx, ecx
mov bl, al
mov cl, ah
ror edx, 4
mov ebp, dword [esp + 4]
xor edi, dword [ebp + ebx]
mov bl, dl
xor edi, dword [ebp + ecx + 0x200]
mov cl, dh
shr eax, 0x10
xor edi, dword [ebp + ebx + 0x100]
mov bl, ah
shr edx, 0x10
xor edi, dword [ebp + ecx + 0x300]
mov cl, dh
and eax, 0xff
and edx, 0xff
mov ebx, dword [ebp + ebx + 0x600]
xor edi, ebx
mov ebx, dword [ebp + ecx + 0x700]
xor edi, ebx
mov ebx, dword [ebp + eax + 0x400]
xor edi, ebx
mov ebx, dword [ebp + edx + 0x500]
xor edi, ebx
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
mov edx, edi
shr edx, 0x10
mov ecx, dword [esp + 0x28]
xor edx, edi
and eax, edx
and edx, ecx
mov ebx, eax
shl ebx, 0x10
mov ecx, edx
shl ecx, 0x10
xor eax, ebx
xor edx, ecx
mov ebx, dword [ebp + 0x78]
xor eax, ebx
mov ecx, dword [ebp + 0x7c]
xor eax, edi
xor edx, edi
xor edx, ecx
and eax, 0xfcfcfcfc
xor ebx, ebx
and edx, 0xcfcfcfcf
xor ecx, ecx
mov bl, al
mov cl, ah
ror edx, 4
mov ebp, dword [esp + 4]
xor esi, dword [ebp + ebx]
mov bl, dl
xor esi, dword [ebp + ecx + 0x200]
mov cl, dh
shr eax, 0x10
xor esi, dword [ebp + ebx + 0x100]
mov bl, ah
shr edx, 0x10
xor esi, dword [ebp + ecx + 0x300]
mov cl, dh
and eax, 0xff
and edx, 0xff
mov ebx, dword [ebp + ebx + 0x600]
xor esi, ebx
mov ebx, dword [ebp + ecx + 0x700]
xor esi, ebx
mov ebx, dword [ebp + eax + 0x400]
xor esi, ebx
mov ebx, dword [ebp + edx + 0x500]
xor esi, ebx
mov ebp, dword [esp + 0x20]
mov ebx, dword [esp]
mov eax, edi
dec ebx
mov edi, esi
mov esi, eax
mov dword [esp], ebx
jne 0x1001528d
mov edx, dword [esp + 0x1c]
ror edi, 1
mov eax, esi
xor esi, edi
and esi, 0xaaaaaaaa
xor eax, esi
xor edi, esi
rol eax, 0x17
mov esi, eax
xor eax, edi
and eax, 0x3fc03fc
xor esi, eax
xor edi, eax
rol esi, 0xa
mov eax, esi
xor esi, edi
and esi, 0x33333333
xor eax, esi
xor edi, esi
rol edi, 0x12
mov esi, edi
xor edi, eax
and edi, 0xfff0000f
xor esi, edi
xor eax, edi
rol esi, 0xc
mov edi, esi
xor esi, eax
and esi, 0xf0f0f0f0
xor edi, esi
xor eax, esi
ror eax, 4
mov dword [edx], eax
mov dword [edx + 4], edi
add esp, 8
pop edi
pop esi
pop ebx
pop ebp
ret