Function at 0x6b4d80
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0xe0
call fcn.006f5e10
mov eax, dword [0x8312b0]
xor eax, esp
mov dword [esp + 0xdc], eax
mov edx, dword [esp + 0xe4]
mov eax, dword [esp + 0x104]
push ebx
mov ebx, dword [esp + 0x100]
push ebp
mov ebp, dword [esp + 0xf8]
push esi
mov esi, dword [esp + 0x100]
mov dword [esp + 0x10], eax
mov eax, dword [edx]
mov ecx, eax
push edi
sub ecx, ebx
mov dword [esp + 0x18], ebp
xor edi, edi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x10], edi
cmp dword [esp + 0xf8], ebx
jb 0x6b4dfa
cmp ebx, 0x40
ja 0x6b4dfa
test ebx, ebx
jne 0x6b4e15
cmp dword [esp + 0x110], edi
jne 0x6b4ff7
xor eax, eax
mov ecx, dword [esp + 0xec]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.006f4f1e
add esp, 0xe0
ret
cmp dword [esp + 0x108], 1
mov dword [edx], ecx
jne 0x6b4e42
test ebp, ebp
je 0x6b4e31
mov eax, dword [esp + 0xfc]
add eax, ecx
mov dword [ebp], eax
test esi, esi
je 0x6b4ff7
mov dword [esi], edi
mov eax, 1
jmp 0x6b4dfc
push 0
push ebx
lea eax, [esp + 0x34]
push eax
push dword [esp + 0x20]
call fcn.0059e250
add esp, 0x10
test eax, eax
jle 0x6b4dfa
test ebp, ebp
je 0x6b4dfa
test esi, esi
je 0x6b4dfa
push 0x103
push 0x7cc080
push ebx
call fcn.00587530
mov ebp, eax
add esp, 0xc
mov eax, dword [esp + 0x18]
mov dword [esp + 0x28], ebp
mov dword [eax], ebp
test ebp, ebp
je 0x6b4dfa
mov edx, dword [esp + 0xf8]
lea ecx, [esp + 0x6c]
neg ecx
mov dword [esi], 1
and ecx, 0x3f
lea eax, [esp + 0x6c]
add ecx, eax
lea eax, [ebx + 0x100]
mov dword [esp + 0x18], ecx
cmp edx, eax
jbe 0x6b4ec1
mov edi, edx
sub edi, ebx
sub edi, 0x100
mov dword [esp + 0x10], edi
push ebx
xor esi, esi
mov dword [esp + 0x18], 0
push esi
push ecx
call fcn.0070dcd0
add esp, 0xc
mov dword [esp + 0x20], esi
cmp edi, dword [esp + 0xf8]
jae 0x6b4f7b
mov ebp, dword [esp + 0x10]
mov ecx, ebp
sub ecx, dword [esp + 0x1c]
mov dword [esp + 0x10], ecx
mov eax, ebp
mov edx, ecx
xor eax, dword [esp + 0x24]
xor edx, dword [esp + 0x1c]
lea edi, [eax - 1]
not eax
shr eax, 0x1f
shr edi, 0x1f
and edi, eax
mov eax, ebp
xor eax, dword [esp + 0x1c]
neg edi
or edx, eax
mov eax, dword [esp + 0xfc]
xor edx, ebp
shr edx, 0x1f
neg edx
mov cl, byte [eax + ebp]
mov eax, edi
or eax, dword [esp + 0x14]
inc ebp
and edi, dword [esp + 0x20]
and eax, edx
mov edx, dword [esp + 0x18]
or esi, edi
mov edi, dword [esp + 0x20]
mov dword [esp + 0x14], eax
and al, cl
or byte [edi + edx], al
inc edi
mov ecx, edi
mov eax, ebx
sub ecx, ebx
xor eax, edi
xor ecx, ebx
or ecx, eax
xor ecx, edi
shr ecx, 0x1f
neg ecx
and edi, ecx
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x20], edi
mov dword [esp + 0x10], ecx
cmp ebp, dword [esp + 0xf8]
jb 0x6b4ef5
mov ebp, dword [esp + 0x28]
jmp 0x6b4f7f
mov edx, dword [esp + 0x18]
test ebx, ebx
je 0x6b4ff7
movzx eax, byte [esp + 0x110]
mov edi, ebx
mov ecx, eax
mov dword [esp + 0x28], eax
lea eax, [esp + 0x2c]
not ecx
sub eax, ebp
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
mov eax, esi
lea ebp, [ebp + 1]
xor eax, 0x20
mov al, byte [eax + edx]
mov dl, byte [esi + edx]
inc esi
mov eax, dword [esp + 0x28]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x24]
and cl, byte [eax + ebp - 1]
mov eax, dword [esp + 0x1c]
and al, dl
mov edx, dword [esp + 0x18]
or al, cl
mov ecx, esi
sub ecx, ebx
mov byte [ebp - 1], al
xor ecx, ebx
mov eax, ebx
xor eax, esi
or ecx, eax
xor ecx, esi
shr ecx, 0x1f
neg ecx
and esi, ecx
mov ecx, dword [esp + 0x10]
sub edi, 1
jne 0x6b4fa3
mov eax, 1
jmp 0x6b4dfc