Function at 0x6fe136c2
Capabilities:
Encode data using xor

Disassembly:
ror byte [ecx - 0xab7b], cl
dec dword [ecx - 0x9b73]
dec dword [ecx - 0xbb4b]
call [ebx + 0x33]
ror byte [ebx - 0x137fa74], 0xff
inc dword [ecx]
mov word [0xffffff44], es
mov ecx, dword [ebp + eax - 0x138]
add dword [ebp + eax - 0xbc], ecx
add eax, 4
cmp eax, ebx
jl 0x6fe136d8
lea edi, [ebp - 0x44]
inc dword [ebp - 0x118]
lea esi, [ebp - 0xbc]
push 0x10
pop ecx
rep movsd dword es:[edi], dword [esi]
cmp dword [ebp - 0xcc], ebx
jbe 0x6fe1373c
mov esi, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x68]
lea edi, [esi + eax]
lea ecx, [ebp + edx - 0x44]
mov al, byte [ecx + edi]
xor al, byte [ecx]
xor byte [ebp - 0x55], al
mov byte [ecx + esi], al
inc edx
cmp edx, ebx
jb 0x6fe13712
sub dword [ebp - 0xcc], ebx
add dword [ebp - 0x74], ebx
add esi, ebx
add dword [ebp - 0x78], ebx
mov dword [ebp - 0x6c], esi
jmp 0x6fe13445
cmp dword [ebp - 0xcc], edx
jbe 0x6fe13769
mov esi, dword [ebp - 0x78]
mov edi, dword [ebp - 0x74]
lea eax, [ebp - 0x44]
sub esi, eax
sub edi, eax
lea ecx, [ebp + edx - 0x44]
mov al, byte [ecx + esi]
xor al, byte [ecx]
xor byte [ebp - 0x55], al
mov byte [ecx + edi], al
inc edx
cmp edx, dword [ebp - 0xcc]
jb 0x6fe13751
mov ebx, dword [ebp - 0xc4]
mov esi, 0x6fc60000
mov edi, 0xfffff000
mov eax, dword [ebp - 0xc0]
movzx eax, byte [eax + 8]
movzx ecx, byte [ebp - 0x55]
sub ecx, eax
je 0x6fe13818
call 0x6fe1eb51
mov edx, 0xffff
mov ebx, eax
mov eax, dword [ebp - 0xe8]
lea ecx, [eax + 0xc]
and ecx, 0xfffffffc
mov dword [eax + 8], 0x6fc913b9
lea esi, [ecx + 0xfff]
and ebx, edi
and esi, edi
xor eax, eax
mov edi, dword [0x6fcc1388]
imul edi, edi, 0x343fd
add edi, 0x269ec3
mov dword [0x6fcc1388], edi
shr edi, 0x10
shl eax, 0x10
shr edx, 0x10
or eax, edi
test edx, edx
jne 0x6fe137ba
mov edi, 0xffff
div edi
inc edx
mov eax, ecx
mov dword [ebp - 0x148], ebx
cmp ecx, esi
mov dword [ebp - 0x13c], edx
mov dword [ebp - 0x68], 0
jae 0x6fe1380e
mov ecx, dword [ebp - 0x68]
mov dword [eax], ecx
add eax, 4
cmp eax, esi
jb 0x6fe13802
mov eax, 0x6fc913b9
jmp 0x6fe13903
mov ecx, dword [0x6fc87b24]
mov eax, dword [ebp - 0xd0]
sub eax, dword [ebp - 0xc8]
mov dword [ebp - 0xc4], eax
sub esi, ecx
mov dword [ebp - 0xc0], esi
jne 0x6fe13842
test eax, eax
je 0x6fe138f3
mov ecx, dword [0x6fc79280]
mov esi, dword [ebp - 0xc8]
mov eax, dword [ebp - 0x7c]
sub esi, dword [ebp - 0xd0]
add eax, ebx
xor ebx, ebx
mov dword [ebp - 0x68], eax
dec ecx
js 0x6fe13889
lea eax, [ebx + ecx]
cdq
sub eax, edx
sar eax, 1
mov edx, dword [eax*4 + 0x6fc79284]
and edx, 0xfffffff
cmp dword [ebp - 0x7c], edx
jae 0x6fe13880
lea ecx, [eax - 1]
jmp 0x6fe13885
jbe 0x6fe1388d
lea ebx, [eax + 1]
cmp ecx, ebx
jge 0x6fe13861
mov edi, ebx
jmp 0x6fe138eb
mov edi, eax
jmp 0x6fe138eb
mov eax, dword [edi*4 + 0x6fc79284]
mov ecx, eax
and ecx, 0xfffffff
cmp ecx, dword [ebp - 0x68]
jae 0x6fe138f3
lea ebx, [ecx + esi + 0x6fc60000]
mov ecx, eax
shl ecx, 2
sar ecx, 0x1e
sar eax, 0x1e
and ecx, 3
and eax, 3
xor edx, edx
dec ecx
je 0x6fe138d8
dec ecx
je 0x6fe138d0
dec ecx
jne 0x6fe138e4
mov edx, dword [ebp - 0xc0]
jmp 0x6fe138e4
mov edx, dword [ebp - 0xc4]
jmp 0x6fe138e4
mov edx, dword [ebp - 0xc0]
sub edx, dword [ebp - 0xc4]
dec eax
dec eax
jne 0x6fe138ea
add dword [ebx], edx
inc edi
cmp edi, dword [0x6fc79280]
jb 0x6fe13891
mov eax, dword [0x6fc631d0]
mov eax, 0x8916bb9c
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xe8]
mov dword [ecx + 8], eax
mov ebx, dword [ebp - 0x14c]
mov edx, dword [ebp - 0x148]
mov esi, dword [ebp - 0x144]
mov ecx, dword [ebp - 0x13c]
mov edi, dword [ebp - 0x140]
mov eax, dword [ebp - 0x150]
mov esp, ebp
pop ebp
popfd
ret