Function at 0x436aa0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
test eax, eax
je 0x436cf4
push edi
mov edi, dword [ebp + 0xc]
test edi, edi
je 0x436cf3
push ebx
push esi
cmp edi, 0x10
jb 0x436cca
mov edx, dword [ecx + 4]
mov esi, edi
shr esi, 4
mov dword [ebp + 8], esi
movzx ebx, byte [eax]
mov esi, edx
and esi, 0xff
xor esi, ebx
mov ebx, dword [0x516ee8]
shr edx, 8
xor edx, dword [ebx + esi*4]
mov dword [ecx + 4], edx
movzx esi, byte [eax + 1]
mov ebx, edx
and ebx, 0xff
xor esi, ebx
mov ebx, dword [0x516ee8]
mov esi, dword [ebx + esi*4]
shr edx, 8
xor esi, edx
mov dword [ecx + 4], esi
movzx edx, byte [eax + 2]
mov ebx, esi
and ebx, 0xff
xor edx, ebx
mov ebx, dword [0x516ee8]
mov edx, dword [ebx + edx*4]
shr esi, 8
xor edx, esi
mov dword [ecx + 4], edx
movzx esi, byte [eax + 3]
mov ebx, edx
and ebx, 0xff
xor esi, ebx
mov ebx, dword [0x516ee8]
mov esi, dword [ebx + esi*4]
shr edx, 8
xor esi, edx
mov dword [ecx + 4], esi
movzx edx, byte [eax + 4]
mov ebx, esi
and ebx, 0xff
xor edx, ebx
mov ebx, dword [0x516ee8]
mov edx, dword [ebx + edx*4]
shr esi, 8
xor edx, esi
mov dword [ecx + 4], edx
movzx esi, byte [eax + 5]
mov ebx, edx
and ebx, 0xff
xor esi, ebx
mov ebx, dword [0x516ee8]
mov esi, dword [ebx + esi*4]
shr edx, 8
xor esi, edx
mov dword [ecx + 4], esi
movzx edx, byte [eax + 6]
mov ebx, esi
and ebx, 0xff
xor edx, ebx
mov ebx, dword [0x516ee8]
mov edx, dword [ebx + edx*4]
shr esi, 8
xor edx, esi
mov dword [ecx + 4], edx
movzx esi, byte [eax + 7]
mov ebx, edx
and ebx, 0xff
xor esi, ebx
mov ebx, dword [0x516ee8]
mov esi, dword [ebx + esi*4]
shr edx, 8
xor esi, edx
mov dword [ecx + 4], esi
movzx edx, byte [eax + 8]
mov ebx, esi
and ebx, 0xff
xor edx, ebx
mov ebx, dword [0x516ee8]
mov edx, dword [ebx + edx*4]
shr esi, 8
xor edx, esi
mov dword [ecx + 4], edx
movzx esi, byte [eax + 9]
mov ebx, edx
and ebx, 0xff
xor esi, ebx
mov ebx, dword [0x516ee8]
mov esi, dword [ebx + esi*4]
shr edx, 8
xor esi, edx
mov dword [ecx + 4], esi
movzx edx, byte [eax + 0xa]
mov ebx, esi
and ebx, 0xff
xor edx, ebx
mov ebx, dword [0x516ee8]
mov edx, dword [ebx + edx*4]
shr esi, 8
xor edx, esi
mov dword [ecx + 4], edx
movzx esi, byte [eax + 0xb]
mov ebx, edx
and ebx, 0xff
xor esi, ebx
mov ebx, dword [0x516ee8]
mov esi, dword [ebx + esi*4]
shr edx, 8
xor esi, edx
mov dword [ecx + 4], esi
movzx edx, byte [eax + 0xc]
mov ebx, esi
and ebx, 0xff
xor edx, ebx
mov ebx, dword [0x516ee8]
mov edx, dword [ebx + edx*4]
shr esi, 8
xor edx, esi
mov dword [ecx + 4], edx
movzx esi, byte [eax + 0xd]
mov ebx, edx
and ebx, 0xff
xor esi, ebx
mov ebx, dword [0x516ee8]
mov esi, dword [ebx + esi*4]
shr edx, 8
xor esi, edx
mov dword [ecx + 4], esi
movzx edx, byte [eax + 0xe]
mov ebx, esi
and ebx, 0xff
xor edx, ebx
mov ebx, dword [0x516ee8]
mov edx, dword [ebx + edx*4]
shr esi, 8
xor edx, esi
mov dword [ecx + 4], edx
movzx esi, byte [eax + 0xf]
mov ebx, edx
and ebx, 0xff
xor esi, ebx
mov ebx, dword [0x516ee8]
shr edx, 8
xor edx, dword [ebx + esi*4]
sub edi, 0x10
add eax, 0x10
dec dword [ebp + 8]
mov dword [ecx + 4], edx
jne 0x436ad0
test edi, edi
je 0x436cf1
mov edx, dword [ecx + 4]
movzx ebx, byte [eax]
mov esi, edx
and esi, 0xff
xor esi, ebx
mov ebx, dword [0x516ee8]
shr edx, 8
xor edx, dword [ebx + esi*4]
inc eax
dec edi
mov dword [ecx + 4], edx
jne 0x436cd1
pop esi
pop ebx
pop edi
pop ebp
ret 8