Function at 0x6f9539
Capabilities:
Encode data using xor

Disassembly:
cwde
sal byte [esp + eax - 0x79cf], 4
xor ebx, ecx
neg word [esp + eax*2 - 0xf39d]
add esi, ecx
rol eax, 0xba
pop edx
jb fcn.0074b007
mov ecx, 0xc2370ba1
lea eax, [ecx*2 + 0x2a2e4691]
movzx ax, byte [edi]
mov dl, byte [edi + 2]
add edi, 2
sub cx, 0xf9be
add al, dl
movzx edx, cl
call fcn.00661733
mov dx, word [ebp]
mov ecx, 0xa1a04b9
mov eax, 0x9a07c990
mov cl, byte [ebp + ecx*8 - 0x50d025c6]
add ebp, 2
shr dx, cl
call fcn.00751aec
mov edx, dword [edi]
mov ecx, 0x8aab2c02
push ecx
add edi, 4
mov dword [esp], edx
movzx eax, cl
popfd
mov eax, dword [esi + eax*8 - 0x10]
lea edx, [ecx + ecx + 0x4517dd81]
sal cx, cl
lea esi, [edx + esi - 0x5a6e3581]
xor eax, ebx
bts edx, 4
lea ecx, [ecx + edx + 0x2a33c2a8]
sub cx, 0x7692
xor eax, 0x43a69913
not eax
shr dx, 0xc7
btr edx, edx
xchg ecx, edx
bswap eax
rol eax, 1
dec eax
neg ecx
bswap ecx
bswap eax
call fcn.006535aa
lea edx, [ecx*8 + 0x58ba782]
mov dx, word [edi + 2]
inc cl
jge 0x6c4bf6
call fcn.00733a32
pop eax
pop edx
jmp ebp
or dword [esp + eax], 0x9d228599
not ax
lea edi, [edi + eax*4 - 0x3fffe]
neg cl
mov word [edi + eax*4 - 0x3fffc], dx
rol cx, 0xa4
neg cl
lea ebp, [ebp + eax - 0x10003]
mov ecx, dword [ebp + eax - 0xffff]
lea edx, [eax + eax*8 - 0x3a740ace]
shr eax, 0x6b
xor ecx, ebx
bswap ecx
imul dword [esp + eax*4 - 0x7c]
adc dword [esp], 0xdfb9d433
bts edx, eax
lea ecx, [ecx + edx - 0x1ec40a3a]
xchg word [esp], ax
not ecx
add dx, 0x5bb0
adc ecx, 0x40bbff3a
jmp 0x5e7de1
mov cl, byte [edi + 4]
add edi, 4
call fcn.0066cf2f
lea ecx, [edx + edx - 0x8c3125c]
mov dword [esp + edx - 0x7e270000], ecx
mov eax, dword [ebp + edx - 0x7e270000]
jb 0x75547a
mov ecx, 0xb7b98218
and cl, ch
and ecx, ecx
mov ecx, 0x23cd22b7
leave
mov ecx, dword [ebp]
adc ebp, 4
mov edx, 0x8cacdf14
or edx, edx
xor ecx, ebx
mov eax, edx
shr dl, 0xc7
rol ecx, 1
not ax
mul dl
not ecx
dec eax
sal ax, 0xef
sar edx, 0xf2
rol ecx, 2
inc ecx
rol ecx, 1
imul eax
call fcn.004308d5
or ebp, dword [esi]
and dword [ecx], eax
sbb eax, 0x7fa1fb01
jnp 0x6f9557
jno 0x6f9613
add byte [ecx - 0x80], ch
push ss
test byte [edi + 0x11], bh
xchg esp, eax
mov bh, byte [edi - 0x1a]
xchg ebx, eax
test dword [esi + 0x7c725cff], 0xaa725a80
cwde
jb 0x6f95ba
loopne 0x6f95e7
mov dword [edi - 0xc], edi
test byte [edi + edi - 0x7b], al
jg 0x6f95c0
inc esp
aas
test dword [edi - 5], edi
imul ebx, dword [0xd7be280a], 0x5d8f465e
wait
mov bh, 0xe4
or eax, edi
inc eax
popfd
jl 0x6f9634
or al, byte [edx + 0x6f0addab]
aas
aam 0xea
inc edi
cmc
push ecx
adc byte [bp + si], cl
adc byte [edx], cl
sbb eax, 0x29a91645
or cl, byte [edi + 0xa40ac0c]
mov ah, 0x61
pop ebp
or cl, al
mov byte [ebx - 0x7ff51a1e], cl
mov edx, dword [edi - 0x6c]
cmc
add edx, esp
jge 0x6f962f
or dh, byte [0x6e84972c]
pop edx
add edx, 0xfff28e27
jmp edx
invalid
mul edx
not dx
mov ecx, 0xa91370b8
mov ecx, dword [esi + edx*8 - 0x7ff88]
rol dx, 0xed
adc ax, ax
lea esi, [edx + esi - 0x3ffa]
or eax, eax
inc dl
not eax
xor ecx, ebx
dec ecx
dec eax
jg 0x6bf249
xor ecx, 0x9bce788
lea edx, [eax + 0x3c987b00]
lea ecx, [eax + ecx - 0x6655c9cd]
btc edx, eax
adc edx, eax
xor ecx, 0x5091a4a0
call fcn.005d5204
jmp 0x63b6b3
lea ebp, [ebp + edx - 0x7e26fffc]
xor eax, ebx
rol edx, cl
dec eax
and word [esp], cx
dec cx
rol eax, 1
bswap edx
lea eax, [edx + eax - 0x7fb3bbed]
call fcn.006c2a26
mov edx, dword [esi]
add esi, 4
mov ecx, 0x7280ad15
xor edx, ebx
shr cx, 0xe9
rol edx, 3
inc ecx
dec edx
mov eax, ecx
jmp 0x66e148