Function at 0x460e00
Capabilities:
Encode data using xor

Disassembly:
push ecx
push ebx
mov ebx, dword [esp + 0x14]
mov eax, dword [ebx + 0x164]
push ebp
mov ebp, dword [esp + 0x14]
push edi
xor edi, edi
test ebp, ebp
je 0x46107a
test bl, 3
push esi
jne 0x460f01
test al, 3
je 0x460e53
lea ebx, [ebx]
cmp edi, ebp
jae 0x460e4b
mov ecx, dword [esp + 0x18]
mov dl, byte [edi + ecx]
mov cl, byte [eax + ebx + 0x20]
xor cl, dl
inc edi
mov byte [eax + ebx + 0x20], cl
inc eax
test al, 3
jne 0x460e30
test al, 3
jne 0x461035
mov edx, dword [esp + 0x18]
mov ecx, edi
sub ecx, ebx
add ecx, edx
test cl, 3
jne 0x461039
lea ecx, [edi + 0x10]
cmp ecx, ebp
ja 0x460e8a
lea ecx, [ecx]
cmp eax, 0x10
jae 0x460e8a
mov esi, dword [edx + ecx - 0x10]
xor dword [eax + ebx + 0x20], esi
add ecx, 4
add edi, 4
add eax, 4
cmp ecx, ebp
jbe 0x460e70
lea ecx, [edi + 0x10]
cmp ecx, ebp
ja 0x461039
mov eax, 8
sub eax, edx
lea esi, [ebx + 0x20]
mov dword [esp + 0x20], 0x10
lea ebp, [edi + edx + 8]
mov dword [esp + 0x10], eax
nop
lea eax, [ebx + 0x70]
push eax
push esi
push esi
call fcn.00461081
mov edx, dword [ebp - 8]
mov eax, dword [esi]
mov ecx, dword [esi + 4]
xor eax, edx
mov edx, dword [esi + 8]
mov dword [esi], eax
mov eax, dword [ebp - 4]
xor ecx, eax
mov eax, dword [esp + 0x1c]
mov dword [esi + 4], ecx
mov ecx, dword [ebp]
xor edx, ecx
mov ecx, dword [esi + 0xc]
mov dword [esi + 8], edx
mov edx, dword [ebp + 4]
xor ecx, edx
add ebp, 0x10
mov dword [esi + 0xc], ecx
mov ecx, dword [esp + 0x28]
add eax, ebp
add esp, 0xc
add edi, 0x10
cmp eax, ecx
jbe 0x460eb0
jmp 0x46102d
cmp ebp, 0x10
jb 0x460f2e
mov esi, 0x10
jmp 0x460f10
cmp eax, 0x10
jae 0x460f2e
mov ecx, dword [esp + 0x18]
mov dl, byte [esi + ecx - 0x10]
mov cl, byte [eax + ebx + 0x20]
xor cl, dl
inc edi
inc esi
mov byte [eax + ebx + 0x20], cl
inc eax
cmp esi, ebp
jbe 0x460f10
lea ecx, [edi + 0x10]
cmp ecx, ebp
ja 0x461035
mov eax, dword [esp + 0x18]
mov ecx, 0xf
sub ecx, eax
lea ebp, [ebx + 0x20]
mov dword [esp + 0x20], 0x10
lea esi, [edi + eax + 1]
mov dword [esp + 0x10], ecx
lea eax, [ebx + 0x70]
push eax
push ebp
push ebp
call fcn.00461081
mov dl, byte [esi - 1]
mov al, byte [ebp]
xor al, dl
mov cl, byte [ebx + 0x21]
mov dl, byte [ebx + 0x22]
mov byte [ebp], al
mov al, byte [esi]
xor cl, al
mov al, byte [ebx + 0x23]
mov byte [ebx + 0x21], cl
mov cl, byte [esi + 1]
xor dl, cl
mov cl, byte [ebx + 0x24]
mov byte [ebx + 0x22], dl
mov dl, byte [esi + 2]
xor al, dl
mov dl, byte [ebx + 0x25]
mov byte [ebx + 0x23], al
mov al, byte [esi + 3]
xor cl, al
mov al, byte [ebx + 0x26]
mov byte [ebx + 0x24], cl
mov cl, byte [esi + 4]
xor dl, cl
mov cl, byte [ebx + 0x27]
mov byte [ebx + 0x25], dl
mov dl, byte [esi + 5]
xor al, dl
mov dl, byte [ebx + 0x28]
mov byte [ebx + 0x26], al
mov al, byte [esi + 6]
xor cl, al
mov al, byte [ebx + 0x29]
mov byte [ebx + 0x27], cl
mov cl, byte [esi + 7]
xor dl, cl
mov cl, byte [ebx + 0x2a]
mov byte [ebx + 0x28], dl
mov dl, byte [esi + 8]
xor al, dl
mov dl, byte [ebx + 0x2b]
mov byte [ebx + 0x29], al
mov al, byte [esi + 9]
xor cl, al
mov al, byte [ebx + 0x2c]
mov byte [ebx + 0x2a], cl
mov cl, byte [esi + 0xa]
xor dl, cl
mov cl, byte [ebx + 0x2d]
mov byte [ebx + 0x2b], dl
mov dl, byte [esi + 0xb]
xor al, dl
mov dl, byte [ebx + 0x2e]
mov byte [ebx + 0x2c], al
mov al, byte [esi + 0xc]
xor cl, al
mov al, byte [ebx + 0x2f]
mov byte [ebx + 0x2d], cl
mov cl, byte [esi + 0xd]
xor dl, cl
mov byte [ebx + 0x2e], dl
mov dl, byte [esi + 0xe]
xor al, dl
mov byte [ebx + 0x2f], al
mov eax, dword [esp + 0x1c]
add esi, 0x10
lea ecx, [esi + eax]
mov eax, dword [esp + 0x28]
add esp, 0xc
add edi, 0x10
cmp ecx, eax
jbe 0x460f57
mov eax, dword [esp + 0x20]
mov ebp, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
cmp edi, ebp
jae 0x461073
lea esi, [ebx + 0x20]
cmp eax, 0x10
jne 0x461067
lea edx, [ebx + 0x70]
push edx
push esi
push esi
call fcn.00461081
mov edx, dword [esp + 0x24]
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x2c], 0
mov eax, dword [esp + 0x2c]
add esp, 0xc
mov cl, byte [edi + edx]
xor byte [esi + eax], cl
inc edi
inc eax
cmp edi, ebp
jb 0x461040
mov dword [ebx + 0x164], eax
pop esi
pop edi
pop ebp
xor eax, eax
pop ebx
pop ecx
ret