Function at 0x419020
Capabilities:
Encode data using xor

Disassembly:
sub esp, 8
mov eax, dword [esp + 0xc]
push ebx
push ebp
push esi
mov esi, dword [eax + 0xc]
mov eax, dword [eax + 0x14]
push edi
mov ebx, esi
xor edi, edi
and ebx, 0xfffffff0
mov dword [esp + 0x1c], esi
mov dword [esp + 0x14], eax
jbe 0x419203
dec ebx
shr ebx, 4
inc ebx
mov esi, ebx
add eax, 2
shl esi, 4
mov dword [esp + 0x10], esi
jmp 0x419060
movzx edi, word [eax - 2]
mov ebp, dword [ecx + edi*8]
movzx esi, word [eax]
xor dword [edx + esi*8], ebp
mov edi, dword [ecx + edi*8 + 4]
xor dword [edx + esi*8 + 4], edi
movzx edi, word [eax + 2]
mov ebp, dword [ecx + edi*8]
lea esi, [edx + esi*8]
movzx esi, word [eax + 4]
xor dword [edx + esi*8], ebp
mov edi, dword [ecx + edi*8 + 4]
xor dword [edx + esi*8 + 4], edi
movzx edi, word [eax + 6]
mov ebp, dword [ecx + edi*8]
lea esi, [edx + esi*8]
movzx esi, word [eax + 8]
xor dword [edx + esi*8], ebp
mov edi, dword [ecx + edi*8 + 4]
xor dword [edx + esi*8 + 4], edi
movzx edi, word [eax + 0xa]
mov ebp, dword [ecx + edi*8]
lea esi, [edx + esi*8]
movzx esi, word [eax + 0xc]
xor dword [edx + esi*8], ebp
mov edi, dword [ecx + edi*8 + 4]
xor dword [edx + esi*8 + 4], edi
movzx edi, word [eax + 0xe]
mov ebp, dword [ecx + edi*8]
lea esi, [edx + esi*8]
movzx esi, word [eax + 0x10]
xor dword [edx + esi*8], ebp
mov edi, dword [ecx + edi*8 + 4]
xor dword [edx + esi*8 + 4], edi
movzx edi, word [eax + 0x12]
mov ebp, dword [ecx + edi*8]
lea esi, [edx + esi*8]
movzx esi, word [eax + 0x14]
xor dword [edx + esi*8], ebp
mov edi, dword [ecx + edi*8 + 4]
xor dword [edx + esi*8 + 4], edi
movzx edi, word [eax + 0x16]
mov ebp, dword [ecx + edi*8]
lea esi, [edx + esi*8]
movzx esi, word [eax + 0x18]
xor dword [edx + esi*8], ebp
mov edi, dword [ecx + edi*8 + 4]
xor dword [edx + esi*8 + 4], edi
movzx edi, word [eax + 0x1a]
mov ebp, dword [ecx + edi*8]
lea esi, [edx + esi*8]
movzx esi, word [eax + 0x1c]
xor dword [edx + esi*8], ebp
mov edi, dword [ecx + edi*8 + 4]
xor dword [edx + esi*8 + 4], edi
movzx edi, word [eax + 0x1e]
mov ebp, dword [ecx + edi*8]
lea esi, [edx + esi*8]
movzx esi, word [eax + 0x20]
xor dword [edx + esi*8], ebp
mov edi, dword [ecx + edi*8 + 4]
xor dword [edx + esi*8 + 4], edi
movzx edi, word [eax + 0x22]
mov ebp, dword [ecx + edi*8]
lea esi, [edx + esi*8]
movzx esi, word [eax + 0x24]
xor dword [edx + esi*8], ebp
mov edi, dword [ecx + edi*8 + 4]
xor dword [edx + esi*8 + 4], edi
movzx edi, word [eax + 0x26]
mov ebp, dword [ecx + edi*8]
lea esi, [edx + esi*8]
movzx esi, word [eax + 0x28]
xor dword [edx + esi*8], ebp
mov edi, dword [ecx + edi*8 + 4]
xor dword [edx + esi*8 + 4], edi
movzx edi, word [eax + 0x2a]
mov ebp, dword [ecx + edi*8]
lea esi, [edx + esi*8]
movzx esi, word [eax + 0x2c]
lea esi, [edx + esi*8]
xor dword [esi], ebp
mov edi, dword [ecx + edi*8 + 4]
xor dword [esi + 4], edi
movzx edi, word [eax + 0x2e]
mov ebp, dword [ecx + edi*8]
movzx esi, word [eax + 0x30]
xor dword [edx + esi*8], ebp
mov edi, dword [ecx + edi*8 + 4]
xor dword [edx + esi*8 + 4], edi
movzx edi, word [eax + 0x32]
mov ebp, dword [ecx + edi*8]
lea esi, [edx + esi*8]
movzx esi, word [eax + 0x34]
xor dword [edx + esi*8], ebp
mov edi, dword [ecx + edi*8 + 4]
xor dword [edx + esi*8 + 4], edi
movzx edi, word [eax + 0x36]
mov ebp, dword [ecx + edi*8]
lea esi, [edx + esi*8]
movzx esi, word [eax + 0x38]
xor dword [edx + esi*8], ebp
mov edi, dword [ecx + edi*8 + 4]
xor dword [edx + esi*8 + 4], edi
movzx edi, word [eax + 0x3a]
mov ebp, dword [ecx + edi*8]
lea esi, [edx + esi*8]
movzx esi, word [eax + 0x3c]
xor dword [edx + esi*8], ebp
mov edi, dword [ecx + edi*8 + 4]
xor dword [edx + esi*8 + 4], edi
lea esi, [edx + esi*8]
add eax, 0x40
dec ebx
jne 0x419060
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
cmp edi, esi
jae 0x41922e
jmp 0x419210
movzx ebx, word [eax + edi*4]
movzx esi, word [eax + edi*4 + 2]
mov ebp, dword [ecx + ebx*8]
xor dword [edx + esi*8], ebp
mov ebx, dword [ecx + ebx*8 + 4]
xor dword [edx + esi*8 + 4], ebx
inc edi
cmp edi, dword [esp + 0x1c]
jb 0x419210
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret