Function at 0x6aec01b0
Capabilities:
Encode data using xor

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 8
xor ecx, ecx
lea ebx, [ebx]
movsx eax, byte [ecx + 0x6aeb34c0]
inc ecx
or dword [eax*8 + 0x6af0aba0], 2
or dword [eax*8 + 0x6af0aba4], 4
cmp ecx, 0x1a
jb 0x6aec01c0
xor edx, edx
nop
movsx ecx, byte [edx + 0x6aeb34e0]
inc edx
or dword [ecx*8 + 0x6af0aba0], 4
mov eax, dword [ecx*8 + 0x6af0aba4]
mov dword [ecx*8 + 0x6af0aba4], eax
cmp edx, 0x1a
jb 0x6aec01e0
xor edx, edx
jmp 0x6aec0210
movsx ecx, byte [edx + 0x6aeb3500]
inc edx
or dword [ecx*8 + 0x6af0aba0], 8
mov eax, dword [ecx*8 + 0x6af0aba4]
mov dword [ecx*8 + 0x6af0aba4], eax
cmp edx, 0x34
jb 0x6aec0210
xor ecx, ecx
jmp 0x6aec0240
movsx eax, byte [ecx + 0x6aeb3538]
inc ecx
or dword [eax*8 + 0x6af0aba0], 0x10
or dword [eax*8 + 0x6af0aba4], 0x2000
cmp ecx, 0xa
jb 0x6aec0240
xor ecx, ecx
jmp 0x6aec0270
movsx eax, byte [ecx + 0x6aeb3550]
inc ecx
or dword [eax*8 + 0x6af0aba0], 0x20
or dword [eax*8 + 0x6af0aba4], 0x20
cmp ecx, 0x21
jb 0x6aec0270
xor edx, edx
nop
movsx ecx, byte [edx + 0x6aeb3574]
inc edx
or dword [ecx*8 + 0x6af0aba0], 0x40
mov eax, dword [ecx*8 + 0x6af0aba4]
mov dword [ecx*8 + 0x6af0aba4], eax
cmp edx, 2
jb 0x6aec0290
xor ecx, ecx
movsx eax, byte [ecx + 0x6aeb3580]
inc ecx
or dword [eax*8 + 0x6af0aba0], 0x100
or dword [eax*8 + 0x6af0aba4], 0x800
cmp ecx, 0x16
jb 0x6aec02b5
xor edx, edx
lea ebx, [ebx]
movsx ecx, byte [edx + 0x6aeb35a0]
inc edx
or dword [ecx*8 + 0x6af0aba0], 0x400
mov eax, dword [ecx*8 + 0x6af0aba4]
mov dword [ecx*8 + 0x6af0aba4], eax
cmp edx, 0x13
jb 0x6aec02e0
xor edx, edx
movsx ecx, byte [edx + 0x6aeb35b4]
inc edx
or dword [ecx*8 + 0x6af0aba0], 0x800
mov eax, dword [ecx*8 + 0x6af0aba4]
mov dword [ecx*8 + 0x6af0aba4], eax
cmp edx, 5
jb 0x6aec0308
xor edx, edx
movsx ecx, byte [edx + 0x6aeb35bc]
inc edx
or dword [ecx*8 + 0x6af0aba0], 0x1000
mov eax, dword [ecx*8 + 0x6af0aba4]
mov dword [ecx*8 + 0x6af0aba4], eax
cmp edx, 4
jb 0x6aec0330
xor edx, edx
movsx ecx, byte [edx + 0x6aeb35c4]
inc edx
or dword [ecx*8 + 0x6af0aba0], 0x2000
mov eax, dword [ecx*8 + 0x6af0aba4]
mov dword [ecx*8 + 0x6af0aba4], eax
cmp edx, 2
jb 0x6aec0358
or dword [0x6af0acb8], 0x4000
xor edx, edx
mov eax, dword [0x6af0acbc]
mov dword [0x6af0acbc], eax
movsx ecx, byte [edx + 0x6aeb35c8]
inc edx
or dword [ecx*8 + 0x6af0aba0], 0x10000
mov eax, dword [ecx*8 + 0x6af0aba4]
mov dword [ecx*8 + 0x6af0aba4], eax
cmp edx, 6
jb 0x6aec0394
xor edx, edx
lea esp, [esp]
movsx ecx, byte [edx + 0x6aeb35d0]
inc edx
or dword [ecx*8 + 0x6af0aba0], 0x20000
mov eax, dword [ecx*8 + 0x6af0aba4]
mov dword [ecx*8 + 0x6af0aba4], eax
cmp edx, 9
jb 0x6aec03c0
xor ecx, ecx
jmp 0x6aec03f0
mov eax, dword [ecx + 0x6af0aba4]
or dword [ecx + 0x6af0aba0], 1
mov dword [ecx + 0x6af0aba4], eax
add ecx, 8
cmp ecx, 0x400
jb 0x6aec03f0
xor eax, eax
movzx ecx, al
mov edx, dword [ecx*8 + 0x6af0aba0]
mov ecx, dword [ecx*8 + 0x6af0aba4]
mov dword [ebp - 4], ecx
mov ecx, edx
and ecx, 0x20
or ecx, 0
jne 0x6aec06b9
mov ecx, dword [eax*8 + 0x6af0aba4]
or dword [eax*8 + 0x6af0aba0], 0x80
mov dword [eax*8 + 0x6af0aba4], ecx
inc eax
cmp eax, 0x100
jb 0x6aec0410
xor ecx, ecx
movzx eax, cl
mov edx, dword [eax*8 + 0x6af0aba0]
mov eax, dword [eax*8 + 0x6af0aba4]
mov dword [ebp - 4], eax
mov eax, edx
and eax, 0x20
or eax, 0
jne 0x6aec0496
and edx, 0x400
or edx, eax
jne 0x6aec0496
mov eax, dword [ecx*8 + 0x6af0aba4]
or dword [ecx*8 + 0x6af0aba0], 0x200
mov dword [ecx*8 + 0x6af0aba4], eax
inc ecx
cmp ecx, 0x80
jb 0x6aec0455
mov ecx, 0x400
jmp 0x6aec04b0
mov eax, dword [ecx + 0x6af0aba0]
or dword [ecx + 0x6af0aba4], 2
mov dword [ecx + 0x6af0aba0], eax
add ecx, 8
cmp ecx, 0x800
jb 0x6aec04b0
mov eax, dword [0x6af0acc8]
or dword [0x6af0accc], 8
or dword [0x6af0aca4], 0x10
or dword [0x6af0ae84], 0x100
xor edx, edx
mov dword [0x6af0acc8], eax
mov eax, dword [0x6af0aca0]
mov dword [0x6af0aca0], eax
mov eax, dword [0x6af0ae80]
mov dword [0x6af0ae80], eax
jmp 0x6aec0510
movsx ecx, byte [edx + 0x6aeb35dc]
inc edx
mov eax, dword [ecx*8 + 0x6af0aba0]
mov dword [ecx*8 + 0x6af0aba0], eax
or dword [ecx*8 + 0x6af0aba4], 0x40
cmp edx, 0xd
jb 0x6aec0510
xor edx, edx
jmp 0x6aec0540
movsx ecx, byte [edx + 0x6aeb35ec]
inc edx
mov eax, dword [ecx*8 + 0x6af0aba0]
mov dword [ecx*8 + 0x6af0aba0], eax
or dword [ecx*8 + 0x6af0aba4], 0x80
cmp edx, 0xd
jb 0x6aec0540
xor edx, edx
jmp 0x6aec0570
movsx ecx, byte [edx + 0x6aeb3600]
inc edx
mov eax, dword [ecx*8 + 0x6af0aba0]
mov dword [ecx*8 + 0x6af0aba0], eax
or dword [ecx*8 + 0x6af0aba4], 0x200
cmp edx, 0x42
jb 0x6aec0570
xor edx, edx
jmp 0x6aec05a0
movsx ecx, byte [edx + 0x6aeb3650]
inc edx
mov eax, dword [ecx*8 + 0x6af0aba0]
mov dword [ecx*8 + 0x6af0aba0], eax
or dword [ecx*8 + 0x6af0aba4], 0x1000
cmp edx, 0x41
jb 0x6aec05a0
xor edx, edx
jmp 0x6aec05d0
movsx ecx, byte [edx + 0x6aeb3694]
inc edx
mov eax, dword [ecx*8 + 0x6af0aba0]
mov dword [ecx*8 + 0x6af0aba0], eax
or dword [ecx*8 + 0x6af0aba4], 0x4000
cmp edx, 0xb
jb 0x6aec05d0
xor edx, edx
jmp 0x6aec0600
movsx ecx, byte [edx + 0x6aeb36a0]
inc edx
mov eax, dword [ecx*8 + 0x6af0aba0]
mov dword [ecx*8 + 0x6af0aba0], eax
or dword [ecx*8 + 0x6af0aba4], 0x8000
cmp edx, 0x19
jb 0x6aec0600
xor edx, edx
jmp 0x6aec0630
movsx ecx, byte [edx + 0x6aeb36c0]
inc edx
mov eax, dword [ecx*8 + 0x6af0aba0]
mov dword [ecx*8 + 0x6af0aba0], eax
or dword [ecx*8 + 0x6af0aba4], 1
cmp edx, 0x40
jb 0x6aec0630
xor eax, eax
jmp 0x6aec0660
xor dword [eax + 0x6af0aba0], 0
xor dword [eax + 0x6af0aba4], 1
add eax, 8
cmp eax, 0x400
jb 0x6aec0660
push ebx
push esi
xor ebx, ebx
lea esp, [esp]
movzx esi, bl
mov ecx, dword [esi*8 + 0x6af0aba0]
mov eax, ecx
and eax, 2
or eax, 0
jne 0x6aec06ca
mov byte [ebx + 0x6af0ab20], bl
and ecx, 4
or ecx, 0
jne 0x6aec06e3
mov byte [ebx + 0x6af0aaa0], bl
inc ebx
cmp ebx, 0x80
jb 0x6aec0680
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
and edx, 0x40
or edx, 0
je 0x6aec044b
jmp 0x6aec0432
push ebx
call dword [0x6af0c284]
mov ecx, dword [esi*8 + 0x6af0aba0]
add esp, 4
mov byte [ebx + 0x6af0ab20], al
jmp 0x6aec069a
push ebx
call dword [0x6af0c288]
add esp, 4
mov byte [ebx + 0x6af0aaa0], al
jmp 0x6aec06a8