Function at 0x6b8a29
Capabilities:
Encode data using xor

Disassembly:
push 0x5c5ccf02
pushal
call fcn.005d66b0
add byte [eax], al
dec edi
jo 0x6b8a9e
outsb dx, byte [esi]
push eax
jb 0x6b8aa6
outsb dx, byte [esi]
je 0x6b8aa5
jb 0x6b8a83
add byte [eax], al
add byte [ebx + 0x65], dl
je 0x6b8a91
popal
outsb dx, byte [esi]
insb byte es:[edi], dx
inc ebx
outsd dx, dword [esi]
jne 0x6b8ac0
je 0x6b8a54
inc ebx
push es
invalid
mov al, 0x38
sar byte [edx], cl
outsd dx, dword [esi]
cmp al, 0x5c
xor eax, 0x7b153a33
push ds
push ebp
xlatb
push ds
xor edx, dword [ebx - 0x35]
salc
aas
add byte [esi - 0x70], 0x32
xchg ebp, eax
push es
mov bl, 0xf2
dec esi
mov ebx, 0xf3694311
mov bh, 0xb5
mov dword [0xef413c3a], eax
inc ecx
out dx, eax
jno 0x6b8a9f
inc esp
cmp cl, byte [esi]
mov ah, 0xdb
mov bl, 0x33
mov dword [esi], ebp
xor eax, 0x2b40b137
daa
aaa
mov cl, 0x40
sub esp, dword [edi]
mov esi, 0xc6f681ec
and byte [ebx], 0x2f
in al, dx
xor esi, 0x2f2382c6
jbe 0x6b8a69
inc esi
xor dh, byte [ebx + 0xe852eaf]
loopne 0x6b8b1d
mov bh, 0x5a
insd dword es:[edi], dx
push 0xd203fef3
push es
push eax
imul ecx, dword [edx], 0x3d82ebb1
arpl word [edx], sp
push cs
fsub qword [esi + 0x76]
cmp dh, byte [edx]
pop esi
mov ebp, 0xb5c1dae
das
inc esi
jbe 0x6b8b08
xor bl, byte [esi - 0x43]
scasb al, byte es:[edi]
sbb eax, 0x462f0b5c
outsd dx, dword [esi]
xor al, 0x85
outsd dx, dword [esi]
jge 0x6b8acb
mov al, byte [0xee9c7368]
retf
push ebp
fcom qword [ebx + ecx]
xor byte [ebx], ch
ret 0xdb85
dec ecx
sbb byte [edx + 0x5c12b160], cl
pushal
mov cl, 0x12
pop esp
dec edx
mov edi, dword [edx + 0x536d2a13]
daa
jge 0x6b8b20
and byte [edi + 0x36], dl
sbb al, 0x68
adc al, 0x4b
inc ebp
cmp eax, 0x9d6f632a
loopne 0x6b8ba6
pop eax
push ebp
fcom qword [ebx + ecx]
xor dword [0x6f132a3c], ebp
sub dl, byte [ebx]
outsd dx, dword [esi]
stosb byte es:[edi], al
out dx, al
mov al, byte [0xee9c7368]
retf
push ebx
mov esp, dword [0x8268f43a]
jl 0x6b8baf
je 0x6b8b87
add ebx, dword [edx + edi*8]
dec ebx
mov edx, 0xf25396f
mov byte [0x3b69e005], al
scasb al, byte es:[edi]
fmul qword [ebp + 0x382de80b]
sub al, byte [0xa0ee0b6f]
push 0xcbee9c73
aaa
xchg esi, eax
cwde
dec ebp
jnp 0x6b8b46
retf
pushal
retf 0xaf5c
or al, 0xf2
mov ah, al
je 0x6b8c17
adc al, 0xdc
sub byte [ebp + 0xb], dl
xor esp, dword [ebp + 0x20b5f424]
jp 0x6b8c04
je 0x6b8b5c
add al, 0x9c
sub byte [eax - 0x35], dh
push ebx
and ebp, dword [esi + 0x600d5f03]
cmp ebp, esi
pop esp
lea ecx, [ebx + 0x7fb8221e]
lahf
mov bh, 0xb6
and dl, cl
sbb al, 0x73
imul ebp, dword [esi - 0x7ade0db5], 0x1a
sti
daa
loopne 0x6b8c4f
mov esi, 0xbaeafdc
xor al, 0x92
and byte [ebp + 0x55270870], al
mov al, byte [0x53379c8d]
retf
mov edx, dword [ebx + 0x1e]
mov dl, 0xad
cmp eax, 0xb1207e78
adc al, 0x1c
insb byte es:[edi], dx
sub dh, byte [eax + 0x4b]
push ebx
sub eax, 0xfe9822ae
loopne 0x6b8c88
and bl, byte [eax - 0x4e931f02]
fmul qword [edx + 0xb]
mov cl, 0xf2
fmul qword [edx + 0xb]
jae 0x6b8c58
push ebx
sub al, 0xae
inc dword [edx]
or eax, 0x9cee3ba0
invalid
and byte [esi + 0x28], dh
loopne 0x6b8cc2
mov esi, 0xbaaafdc
push ebp
movsd dword es:[edi], dword [esi]
stosb byte es:[edi], al
or edx, dword [ebp - 0x5b]
sub dl, dh
cmp ecx, dword [edi + 0x12b1a08a]
pushfd
dec edx
retf
push 0xffffffffffffffe0
mov bh, 0xae
loopne 0x6b8cec
push 0x73
fdiv qword [edx - 0x7bfbce72]
inc eax
mov ebx, 0x818a9a22
salc
xchg dword [esi], edi
push ecx
cmp dh, byte fs:[esi - 0x72]
xor eax, 0x8508cba1
test al, 0x8c
and dword [eax + 0x6436435c], esi
invalid
xor byte [ebx], 0x98
and edi, dword [esi - 0x5685c12]
wait
dec ebp
push 0x8e392282
xor byte [edi], dh
pop ebp
insb byte es:[edi], dx
cwde
push ebx
mov byte [ebp - 0x74c5ca6], ah
hlt
imul eax, dword [edx + 0x35bc3730], 0x75
mov dl, 0xaa
dec ebx
aaa
aaa
add dword [0x7cc13bb], 0xe88bb08
div byte [ebx - 0x7ebce9ea]
hlt