Function at 0x6a0cf0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x13c
mov eax, dword [0x6d7a68]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
xor ebx, ebx
lea edx, [ebp - 0x13c]
push edx
push ebx
mov esi, ecx
mov ecx, dword [esi + 0x1060]
push 0x3d
lea edi, [esi + 0x106c]
push edi
mov dword [ebp - 0x13c], ebx
mov dword [ebp - 0x138], ebx
mov eax, dword [ecx]
mov eax, dword [eax + 0x2c]
push ebx
push ebx
call eax
test al, al
je 0x6a0f65
cmp dword [ebp - 0x13c], 0x3d
jne 0x6a0f39
cmp dword [ebp - 0x138], ebx
jne 0x6a0f39
lea ecx, [ebp - 0x128]
call fcn.00894350
mov ecx, dword [0x6d8548]
push ecx
lea edx, [ebp - 0x24]
push edx
push 0x6d8528
lea ecx, [ebp - 0x128]
call fcn.00894210
mov eax, dword [0x6d8548]
add eax, 0xffffffff
cmp eax, 4
lea ecx, [ebp - 0x24]
mov edx, edi
jb 0x6a0da4
nop
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x6a0da8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x6a0d90
cmp eax, ebx
je 0x6a0e05
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x6a0df7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x6a0e05
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x6a0df7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x6a0e05
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x6a0df7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x6a0e05
movzx edi, byte [edx]
movzx eax, byte [ecx]
sub edi, eax
je 0x6a0e05
test edi, edi
mov eax, 1
jg 0x6a0e07
or eax, 0xffffffff
jmp 0x6a0e07
xor eax, eax
mov ecx, dword [0x6d8548]
push ecx
test eax, eax
lea edx, [ebp - 0x24]
sete bl
push 0
push edx
mov byte [ebp - 0x129], bl
call fcn.0067e0a0
mov al, byte [esi + 0x108b]
add esp, 0xc
lea ecx, [ebp - 0x128]
mov byte [esi + 0x10c0], al
call fcn.008b1370
test bl, bl
je 0x6a0f4c
lea eax, [ebp - 0x1c]
mov edx, esi
xor ecx, ecx
sub edx, eax
lea eax, [edx + 0x108d]
mov dl, cl
sub dl, 0x18
shl dl, cl
lea edi, [ebp + ecx - 0x1c]
mov bl, cl
neg bl
xor dl, byte [eax + edi]
add ecx, 1
xor dl, bl
cmp ecx, 0x14
mov byte [edi], dl
jl 0x6a0e55
push 0x14
lea eax, [ebp - 0x1c]
push eax
lea edi, [esi + 8]
xor ebx, ebx
push ebx
mov ecx, edi
call fcn.006a8080
xor eax, eax
test byte [esi + 0x10c0], 0x80
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], eax
je 0x6a0eab
push 1
push 1
mov ecx, edi
call fcn.006a8200
mov dword [edi + 0x1050], ebx
mov dword [edi + 0x1054], ebx
mov ecx, dword [esi + 0x10a1]
mov edx, dword [esi + 0x10a5]
lea ebx, [esi + 0x10ac]
push 8
mov dword [ebx], ecx
push ebx
mov ecx, edi
mov dword [ebx + 4], edx
call fcn.006a82b0
test eax, eax
je 0x6a0f39
mov ecx, dword [esi + 0x10b0]
mov eax, dword [ebx]
mov dword [esi + 0x10b8], ecx
mov ecx, dword [esi + 0x1060]
xor edi, edi
mov dword [esi + 0x10b4], eax
mov dword [ebp - 0x134], edi
mov dword [ebp - 0x130], edi
mov edx, dword [ecx]
mov edx, dword [edx + 0x28]
lea eax, [ebp - 0x134]
push eax
call edx
test al, al
je 0x6a0f39
mov ecx, dword [ebp - 0x134]
mov eax, dword [ebp - 0x130]
mov esi, dword [esi + 0x10b8]
sub ecx, 0x3d
sbb eax, edi
xor edx, edx
cmp edx, eax
jl 0x6a0f5f
jg 0x6a0f39
cmp esi, ecx
jbe 0x6a0f5f
pop edi
pop esi
xor al, al
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0067de1d
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov al, bl
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0067de1d
mov esp, ebp
pop ebp
ret
mov al, byte [ebp - 0x129]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0067de1d
mov esp, ebp
pop ebp
ret