Function at 0x46af3c
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff0
push ebx
push esi
push edi
lea edx, [ebp - 4]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0x28]
mov dword [edx], eax
mov eax, dword [ebp + 8]
cmp dword [eax - 8], 0x10
jg 0x46b015
mov ecx, 0xa
mov eax, 0x496008
mov dword [ebp - 8], eax
mov eax, dword [edx]
mov eax, dword [eax + 0xc]
mov ebx, eax
shr ebx, 8
and ebx, 0xff
mov esi, dword [0x49805c]
movzx ebx, byte [esi + ebx]
mov esi, eax
shr esi, 0x10
and esi, 0xff
mov edi, dword [0x49805c]
movzx esi, byte [edi + esi]
shl esi, 8
xor ebx, esi
mov esi, eax
shr esi, 0x18
mov edi, dword [0x49805c]
movzx esi, byte [edi + esi]
shl esi, 0x10
xor ebx, esi
and eax, 0xff
mov esi, dword [0x49805c]
movzx eax, byte [esi + eax]
shl eax, 0x18
xor ebx, eax
mov eax, dword [edx]
xor ebx, dword [eax]
mov eax, dword [ebp - 8]
xor ebx, dword [eax]
mov eax, dword [edx]
mov dword [eax + 0x10], ebx
mov eax, dword [edx]
mov eax, dword [eax + 4]
mov ebx, dword [edx]
xor eax, dword [ebx + 0x10]
mov ebx, dword [edx]
mov dword [ebx + 0x14], eax
mov ebx, dword [edx]
mov ebx, dword [ebx + 8]
xor ebx, eax
mov eax, dword [edx]
mov dword [eax + 0x18], ebx
mov eax, dword [edx]
mov eax, dword [eax + 0xc]
xor eax, ebx
mov ebx, dword [edx]
mov dword [ebx + 0x1c], eax
mov eax, dword [edx]
add eax, 0x10
mov dword [edx], eax
add dword [ebp - 8], 4
dec ecx
jne 0x46af6d
jmp 0x46b23a
mov eax, dword [ebp + 8]
cmp dword [eax - 8], 0x18
jg 0x46b0f8
xor ecx, ecx
mov eax, 0x496008
mov dword [ebp - 0xc], eax
mov eax, dword [edx]
mov eax, dword [eax + 0x14]
mov ebx, eax
shr ebx, 8
and ebx, 0xff
mov esi, dword [0x49805c]
movzx ebx, byte [esi + ebx]
mov esi, eax
shr esi, 0x10
and esi, 0xff
mov edi, dword [0x49805c]
movzx esi, byte [edi + esi]
shl esi, 8
xor ebx, esi
mov esi, eax
shr esi, 0x18
mov edi, dword [0x49805c]
movzx esi, byte [edi + esi]
shl esi, 0x10
xor ebx, esi
and eax, 0xff
mov esi, dword [0x49805c]
movzx eax, byte [esi + eax]
shl eax, 0x18
xor ebx, eax
mov eax, dword [edx]
xor ebx, dword [eax]
mov eax, dword [ebp - 0xc]
xor ebx, dword [eax]
mov eax, dword [edx]
mov dword [eax + 0x18], ebx
mov eax, dword [edx]
mov eax, dword [eax + 4]
mov ebx, dword [edx]
xor eax, dword [ebx + 0x18]
mov ebx, dword [edx]
mov dword [ebx + 0x1c], eax
mov ebx, dword [edx]
mov ebx, dword [ebx + 8]
xor ebx, eax
mov eax, dword [edx]
mov dword [eax + 0x20], ebx
mov eax, dword [edx]
mov eax, dword [eax + 0xc]
xor eax, ebx
mov ebx, dword [edx]
mov dword [ebx + 0x24], eax
cmp ecx, 7
je 0x46b23a
mov ebx, dword [edx]
mov ebx, dword [ebx + 0x10]
xor ebx, eax
mov eax, dword [edx]
mov dword [eax + 0x28], ebx
mov eax, dword [edx]
mov eax, dword [eax + 0x14]
xor eax, ebx
mov ebx, dword [edx]
mov dword [ebx + 0x2c], eax
mov eax, dword [edx]
add eax, 0x18
mov dword [edx], eax
inc ecx
add dword [ebp - 0xc], 4
cmp ecx, 8
jne 0x46b02c
jmp 0x46b23a
xor ecx, ecx
mov eax, 0x496008
mov dword [ebp - 0x10], eax
mov eax, dword [edx]
mov eax, dword [eax + 0x1c]
mov ebx, eax
shr ebx, 8
and ebx, 0xff
mov esi, dword [0x49805c]
movzx ebx, byte [esi + ebx]
mov esi, eax
shr esi, 0x10
and esi, 0xff
mov edi, dword [0x49805c]
movzx esi, byte [edi + esi]
shl esi, 8
xor ebx, esi
mov esi, eax
shr esi, 0x18
mov edi, dword [0x49805c]
movzx esi, byte [edi + esi]
shl esi, 0x10
xor ebx, esi
and eax, 0xff
mov esi, dword [0x49805c]
movzx eax, byte [esi + eax]
shl eax, 0x18
xor ebx, eax
mov eax, dword [edx]
xor ebx, dword [eax]
mov eax, dword [ebp - 0x10]
xor ebx, dword [eax]
mov eax, dword [edx]
mov dword [eax + 0x20], ebx
mov eax, dword [edx]
mov eax, dword [eax + 4]
mov ebx, dword [edx]
xor eax, dword [ebx + 0x20]
mov ebx, dword [edx]
mov dword [ebx + 0x24], eax
mov ebx, dword [edx]
mov ebx, dword [ebx + 8]
xor ebx, eax
mov eax, dword [edx]
mov dword [eax + 0x28], ebx
mov eax, dword [edx]
mov eax, dword [eax + 0xc]
xor eax, ebx
mov ebx, dword [edx]
mov dword [ebx + 0x2c], eax
cmp ecx, 6
je 0x46b23a
mov ebx, eax
and ebx, 0xff
mov esi, dword [0x49805c]
movzx ebx, byte [esi + ebx]
mov esi, eax
shr esi, 8
and esi, 0xff
mov edi, dword [0x49805c]
movzx esi, byte [edi + esi]
shl esi, 8
xor ebx, esi
mov esi, eax
shr esi, 0x10
and esi, 0xff
mov edi, dword [0x49805c]
movzx esi, byte [edi + esi]
shl esi, 0x10
xor ebx, esi
shr eax, 0x18
mov esi, dword [0x49805c]
movzx eax, byte [esi + eax]
shl eax, 0x18
xor ebx, eax
mov eax, dword [edx]
xor ebx, dword [eax + 0x10]
mov eax, dword [edx]
mov dword [eax + 0x30], ebx
mov eax, dword [edx]
mov eax, dword [eax + 0x14]
mov ebx, dword [edx]
xor eax, dword [ebx + 0x30]
mov ebx, dword [edx]
mov dword [ebx + 0x34], eax
mov ebx, dword [edx]
mov ebx, dword [ebx + 0x18]
xor ebx, eax
mov eax, dword [edx]
mov dword [eax + 0x38], ebx
mov eax, dword [edx]
mov eax, dword [eax + 0x1c]
xor eax, ebx
mov ebx, dword [edx]
mov dword [ebx + 0x3c], eax
mov eax, dword [edx]
add eax, 0x20
mov dword [edx], eax
inc ecx
add dword [ebp - 0x10], 4
cmp ecx, 7
jne 0x46b102
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret