Function at 0x42f560
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
push ebx
push esi
mov esi, ecx
mov ebx, 2
push edi
mov edi, edx
mov dword [ebp - 0x1c], esi
movsx edx, word [ebp + 8]
xor cl, cl
lea eax, [esi + 0x1000]
mov dword [ebp - 8], edx
xor edx, edx
mov dword [ebp - 0xc], edi
sub ebx, eax
mov byte [ebp - 1], cl
mov dword [ebp - 0x10], edx
mov esi, eax
mov dword [ebp - 0x18], ebx
mov eax, edx
add ebx, esi
cdq
idiv dword [ebp - 8]
movzx eax, byte [edx + edi]
shl eax, 0x18
xor dword [esi], eax
lea eax, [ebx - 1]
cdq
idiv dword [ebp - 8]
mov eax, ebx
movsx ebx, word [ebp + 8]
movzx edi, byte [edx + edi]
cdq
idiv ebx
mov eax, dword [ebp - 0xc]
shl edi, 0x10
xor edi, dword [esi]
mov dword [esi], edi
movzx ebx, byte [edx + eax]
mov eax, dword [ebp - 0x18]
inc eax
shl ebx, 8
add eax, esi
xor ebx, edi
movsx edi, word [ebp + 8]
cdq
idiv edi
mov edi, dword [ebp - 0xc]
mov dword [esi], ebx
movzx eax, byte [edx + edi]
mov edx, dword [ebp - 0x10]
xor eax, ebx
mov ebx, dword [ebp - 0x18]
add edx, 4
mov dword [esi], eax
add esi, 4
mov dword [ebp - 0x10], edx
cmp edx, 0x48
jl 0x42f596
mov esi, dword [ebp - 0x1c]
xor ebx, ebx
xor edi, edi
mov dword [ebp - 0x18], ebx
movzx edx, cl
shl edx, 8
movzx eax, cl
xor edx, eax
movzx eax, cl
shl edx, 8
xor edx, eax
movzx eax, cl
shl edx, 8
xor edx, eax
movzx eax, cl
xor edi, edx
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x14], edi
movzx edi, cl
shl edi, 8
xor edi, eax
movzx eax, cl
shl edi, 8
xor edi, eax
movzx eax, cl
mov ecx, dword [ebp - 0x1c]
shl edi, 8
xor edi, eax
lea eax, [ebp - 0x14]
xor ebx, edi
push esi
push eax
mov edx, ebx
mov dword [ebp - 0x10], ebx
call fcn.0042e910
mov eax, dword [ebp - 0x18]
add esp, 8
mov edi, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x10]
mov cl, byte [ebp - 1]
mov dword [esi + eax*4 + 0x1000], edi
mov dword [esi + eax*4 + 0x1004], ebx
add eax, 2
mov dword [ebp - 0x18], eax
cmp eax, 0x12
jl 0x42f606
mov dword [ebp - 0x18], 0
mov al, byte [ebp - 1]
movzx edx, al
shl edx, 8
movzx ecx, al
xor edx, ecx
movzx ecx, al
shl edx, 8
xor edx, ecx
movzx ecx, al
shl edx, 8
xor edx, ecx
movzx ecx, al
xor edi, edx
movzx edx, al
shl edx, 8
xor edx, ecx
mov dword [ebp - 0x14], edi
shl edx, 8
movzx ecx, al
xor edx, ecx
movzx eax, al
shl edx, 8
mov ecx, edi
xor edx, eax
lea eax, [ebp - 0x14]
xor ebx, edx
push esi
push eax
mov edx, ebx
mov dword [ebp - 0x10], ebx
call fcn.0042e910
mov eax, dword [ebp - 0x18]
add esp, 8
mov edi, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x10]
mov dword [esi + eax*4], edi
mov dword [esi + eax*4 + 4], ebx
add eax, 2
mov dword [ebp - 0x18], eax
cmp eax, 0x100
jl 0x42f687
mov dword [ebp - 0x18], 0
nop
mov al, byte [ebp - 1]
movzx edx, al
shl edx, 8
movzx ecx, al
xor edx, ecx
movzx ecx, al
shl edx, 8
xor edx, ecx
movzx ecx, al
shl edx, 8
xor edx, ecx
movzx ecx, al
xor edi, edx
movzx edx, al
shl edx, 8
xor edx, ecx
mov dword [ebp - 0x14], edi
shl edx, 8
movzx ecx, al
xor edx, ecx
movzx eax, al
shl edx, 8
mov ecx, edi
xor edx, eax
lea eax, [ebp - 0x14]
xor ebx, edx
push esi
push eax
mov edx, ebx
mov dword [ebp - 0x10], ebx
call fcn.0042e910
mov eax, dword [ebp - 0x18]
add esp, 8
mov edi, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x10]
mov dword [esi + eax*4 + 0x400], edi
mov dword [esi + eax*4 + 0x404], ebx
add eax, 2
mov dword [ebp - 0x18], eax
cmp eax, 0x100
jl 0x42f700
mov dword [ebp - 0x18], 0
nop
mov al, byte [ebp - 1]
movzx edx, al
shl edx, 8
movzx ecx, al
xor edx, ecx
movzx ecx, al
shl edx, 8
xor edx, ecx
movzx ecx, al
shl edx, 8
xor edx, ecx
movzx ecx, al
xor edi, edx
movzx edx, al
shl edx, 8
xor edx, ecx
mov dword [ebp - 0x14], edi
shl edx, 8
movzx ecx, al
xor edx, ecx
movzx eax, al
shl edx, 8
mov ecx, edi
xor edx, eax
lea eax, [ebp - 0x14]
xor ebx, edx
push esi
push eax
mov edx, ebx
mov dword [ebp - 0x10], ebx
call fcn.0042e910
mov eax, dword [ebp - 0x18]
add esp, 8
mov edi, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x10]
mov dword [esi + eax*4 + 0x800], edi
mov dword [esi + eax*4 + 0x804], ebx
add eax, 2
mov dword [ebp - 0x18], eax
cmp eax, 0x100
jl 0x42f780
mov dword [ebp - 0x18], 0
nop
mov al, byte [ebp - 1]
movzx edx, al
shl edx, 8
movzx ecx, al
xor edx, ecx
movzx ecx, al
shl edx, 8
xor edx, ecx
movzx ecx, al
shl edx, 8
xor edx, ecx
movzx ecx, al
xor edi, edx
movzx edx, al
shl edx, 8
xor edx, ecx
mov dword [ebp - 0x14], edi
shl edx, 8
movzx ecx, al
xor edx, ecx
movzx eax, al
shl edx, 8
mov ecx, edi
xor edx, eax
lea eax, [ebp - 0x14]
xor ebx, edx
push esi
push eax
mov edx, ebx
mov dword [ebp - 0x10], ebx
call fcn.0042e910
mov eax, dword [ebp - 0x18]
add esp, 8
mov edi, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x10]
mov dword [esi + eax*4 + 0xc00], edi
mov dword [esi + eax*4 + 0xc04], ebx
add eax, 2
mov dword [ebp - 0x18], eax
cmp eax, 0x100
jl 0x42f800
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret