Function at 0x686bec
Capabilities:
Encode data using xor

Disassembly:
sbb dword [edx], 0x1a71ae78
mov cl, 0xab
cmp byte [edi], bl
and edi, dword es:[ebp - 0x57]
jnp 0x68693f
jg 0x686934
fimul dword [esi]
push cs
sub al, 0x1e
test eax, 0x73a938e7
sbb esi, dword [esi - 0x7e5191a1]
sbb bh, byte [eax - 0x52]
cmp byte [ecx + 0x5fb61b73], ch
outsb dx, byte [esi]
scasb al, byte es:[edi]
sbb dword [edx], 0x1a71ae78
scasb al, byte es:[edi]
jno 0x68695c
mov cl, 0x6b
dec eax
outsd dx, dword [esi]
mov cl, 0x78
invalid
mov bh, 0x63
and ch, byte [edi + 0x2326dab4]
sub al, 0x6f
mov cl, 0x78
sbb al, 0x71
push cs
wait
pop ss
push ds
and eax, 0xb12af0a7
jo 0x686999
test al, 0x67
mov esi, dword [edi - 0x4889dd8d]
arpl word [edx], sp
scasd eax, dword es:[edi]
mov ah, 0xba
and ebp, dword es:[edi + ebp*2]
mov cl, 0x78
sbb al, 0x71
push cs
jnp 0x6869a4
push ds
and eax, 0xb12af0a7
jo 0x6869b9
test al, 0x67
ja 0x68692f
push ds
mov cl, 0x78
and al, 0x71
push cs
ja 0x6869c2
push ds
and eax, 0xaf26f0a7
test al, 0xa8
sbb eax, 0xa3b82325
mov byte [0x761e2c22], al
scasb al, byte es:[edi]
jns 0x6869d0
invalid
ja 0x686966
adc dword [esi], 0x5b30b78
push ss
js 0x6869c7
mov bl, 5
and eax, 0x32e2b023
ljmp 0x1f2c
mov al, 0xe2
xor ch, dl
mov cl, 0xe6
and al, 0x23
sub al, 0x1f
and ebp, dword [edi + ebx]
and ebp, dword es:[ecx + ebp*4]
stosd dword es:[edi], eax
lahf
sub ebx, dword [esi]
and eax, 0x1e6bb774
jne 0x6869ed
test al, 0x10
and ebp, dword [edx]
ljmp 0x81af
pop ds
and edi, dword es:[ebp - 0x57]
jnp 0x6869fb
jg 0x6869fc
adc cl, byte [esi]
sub al, 0x1e
test eax, 0xaba738e7
out 0x38, eax
cmpsd dword [esi], dword es:[edi]
stosd dword es:[edi], eax
cmp byte [edi + 0x1e2b0bab], ah
or ebp, dword [ebx]
push ds
and eax, 0x761a71af
scasb al, byte es:[edi]
jns 0x686a24
mov cl, 0x74
pushal
jo 0x6869c0
push 0xf30e6f10
push ss
push ds
and eax, 0xaf2af0a7
test al, 4
sbb eax, 0x6bb82325
and dh, byte [ebp - 0x49]
mov eax, 0xb775226b
mov bh, 0x73
and ch, byte [edi + 0x2326ceae]
sub al, 0x6e
jae 0x686a49
scasd eax, dword es:[edi]
scasb al, byte es:[edi]
into
and ebp, dword es:[esi + ebp*2]
mov cl, 0x70
adc byte [eax + 0xe], dh
rcl dword [esi], cl
push ds
and eax, 0xaf2af0a7
test al, 8
sbb eax, 0x73b82325
and dh, byte [esi - 0x49]
arpl word [edx], sp
scasd eax, dword es:[edi]
mov ah, 6
push es
and ebp, dword es:[edi + ebp*2]
and ebp, dword [edi + ebp*2]
mov cl, 0x78
adc byte [ecx + 0xe], dh
mov bl, 0x16
push ds
and eax, 0xaf2af0a7
test al, 0xfc
cld
sbb al, 0x25
and edi, dword [eax - 0x488bdd9d]
mov eax, 0xb7742263
imul esp, dword [edx], 0xffffffaf
mov ebp, 0x2c2326d2
jo 0x686a20
push 0x930e6f10
push ss
push ds
and eax, 0xaf2af0a7
test al, 0x10
sbb eax, 0x6bb82325
and dh, byte [ebp - 0x49]
mov eax, 0xb775226b
jae 0x686aa9
scasd eax, dword es:[edi]
outsb dx, byte [esi]
push 0x76
scasb al, byte es:[edi]
jns 0x686a90
ja 0x686a9b
jg 0x686a9a
and eax, 0x32e2b023
lodsb al, byte [esi]
mov cl, 0xfe
and al, 0x23
sub al, 0xaa
and ebp, dword [edx + ebp*4]
jnp 0x686abf
jg 0x686a4b
imul ebx, dword [edi], 0xffffffb8
je 0x686a60
jae 0x686ab5
jbe 0x686ac1
push esp
adc byte [ebx], ah
sub al, 0xa2
ljmp 0x2c21
mov dword [0x1e2c21fa], eax
mov cl, 0x68
sub byte [edi - 0x4f], ch
jo 0x686ae9
stosb byte es:[edi], al
mov bh, 0xf7
sub al, 0x1e
jne 0x686a80
arpl word [edx], cx
je 0x686ae1
xor al, 0x10
and ebp, dword [edx]
ljmp 0x2c21
xor byte [edx], bl
and ebp, dword [edx]
ljmp 0x2c22
mov dword [0x1e2c229e], eax
mov cl, 0xb8
movsb byte es:[edi], byte [esi]
sbb eax, 0xa97f2325
imul ebx, dword [edi], 0x7d
test eax, 0x67e1b73
cli
or byte [esi + ebx], ch
test eax, 0xbba938e7
wait
sub ebx, dword [esi]
and eax, 0x1e63b776
je 0x686b25
jo 0x686b22
and ebp, dword [edx]
ljmp 0x79ae
mov cl, 0xa5
sbb byte [edi], bl
pop ds
and edi, dword es:[ecx + ebp*4 + 0x73]
jecxz 0x686baa
push es
fimul dword [esp + ebp]
push ds
test eax, 0x7ba938e7
sbb esi, dword [esi + 0x71ae6660]
sbb dh, byte [esi - 0x52]
scasb al, byte es:[edi]
jno 0x686b58
jbe 0x686aee
jns 0x686b5c
mov cl, 0x74
xor byte [eax - 0x4f], 0x68
in al, dx
outsb dx, byte [esi]
push cs
mov ebx, 0xa7251e15
lock sub dh, byte [ecx + 0x67a82470]
aaa
mov bh, 0x73
and dh, byte [esi - 0x49]
arpl word [edx], sp
scasd eax, dword es:[edi]
mov ah, 0x1e
daa
and ebp, dword [edi + ebp*2]
mov bh, 0x63
and ch, byte [edi + 0x23271eb4]
sub al, 0x6f
mov cl, 0x78
in al, dx
jo 0x686b79
wait
adc eax, 0xf0a7251e
sub dh, byte [ecx + 0x67a82470]
lock sub dh, byte [ecx + 0x67a82470]
dec edi
arpl word [0x2273b724], dx
arpl word [0x2273b724], dx
jbe 0x686b3a
arpl word [0x1e6bb774], dx
jne 0x686b9d
call 0xa2948ea7
ljmp 0xb212
jnp 0x686ba6
mov dl, 0xf0
lcall 0x2c23, 0xce63f351
push ds
push cs
test eax, 0xdeafcb6b
daa
lodsb al, byte [esi]
jno 0x686b70
test eax, 0xa329d4a0
cmp dword [esi + edx*8 - 0x56d3dccf], edx
xor dword [ebx], esp
sub al, 0xa9
jae 0x686bd3
mov eax, 0x1475726f
adc al, 0x16
and ebp, dword [edx]
ljmp 0xb723
and dword [esi + ebx], ebp
mov cl, 0x78
and al, 0xa8
mov ebx, 0x251e2b0f
scasd eax, dword es:[edi]
jno 0x686bfc
jbe 0x686b92
jns 0x686c00
mov cl, 0xb4
insb byte es:[edi], dx
pop ds
and edi, dword es:[esi - 0x57]
jle 0x686b97
imul esp, ebx, 0x7c
push es
push ss
or al, 0x2c
push ds
test eax, 0xaba738e7
sbb ebp, dword [ebx]
push ds
sub ebx, dword [esi]
and eax, 0x771a79af
scasb al, byte es:[edi]
jns 0x686c1c
ja 0x686bb2
sbb dword [edx], 0x1f5ca5b1
and edi, dword es:[ecx + ebp*4 + 0x73]
jecxz 0x686c8e
push es
test byte [ebx], 0x2c
push ds
test eax, 0xaba738e7
pop ds
sub ebx, dword [esi]
and eax, 0x781a81af
scasb al, byte es:[edi]
jno 0x686c40
mov cl, 0x6b
xor al, 0x6f
mov cl, 0x78
sbb al, 0x71
push cs
xlatb
adc al, 0x1e
and eax, 0xaf2af0a7
test al, 0x1c
sbb eax, 0xa3f42325
out 0x21, al
sub al, 0x1e
and ebp, dword es:[esi + ebx]
in eax, dx
push 0x23261ee8
sub al, 0xe5
stosd dword es:[edi], eax
xchg edi, eax
sub ebx, dword [esi]
and eax, 0x261e2c24
lea ebp, [ebx + ebp*4]
sub al, 0x1e
lea ebp, es:[ebx + ebp*4]
stosd dword es:[edi], eax
xchg edi, eax
sub ebx, dword [esi]
and eax, 0x1e6bb774
jne 0x686c79
jl 0x686c72
and ebp, dword [edx]
ljmp 0x2c23
arpl si, ax
and ebp, dword [esi + ebx]
mov al, 0x81
mov esi, 0xda71b078
jbe 0x686c2a
cmp dword [esi - 0x258e4f88], 0x1679ae76
fidiv dword [esi - 0x52]
jns 0x686c94
ja 0x686c2e
rcl dword [edx + 0x712c2325], 0xe
xchg edx, eax
and eax, 0xe712c23
iretd
mov cl, 0x68
sub byte [edi - 0x4f], ch
jo 0x686cbd
sub byte [edx + 0x1e2d57b7], ch
jne 0x686c54
stosb byte es:[edi], al
mov bh, 0x57
sub eax, 0xb775261e
arpl word [esi], dx
je 0x686cb5
pushal
push cs
and ebp, dword [edx]
ljmp 0x2c22
push ds
mov cl, 0x70
sub byte [edx + 0x73b52777], ch
retf 0x71ae
jae 0x686c81
scasb al, byte es:[edi]
jno 0x686cd4
jbe 0x686c6c
mov ecx, 0x2c2324aa
jo 0x686c74
stosb byte es:[edi], al
and al, 0x23
sub al, 0x70
mov cl, 0x78
and al, 0x71
push cs
js 0x686ce9
jno 0x686cd5
scasd eax, dword es:[edi]
and byte [esi], bl
and eax, 0xb12af0a7
push 0xc773aa28
pop edi
cmpsb byte [esi], byte es:[edi]
mov dh, 0x23
sub al, 0x1e
scasd eax, dword es:[edi]
jo 0x686cad
in al, 0x6b
adc dword [0x2d1a6be4], ebp
test eax, 0xa0b81f7b
and al, 0x2c
push ds
mov al, byte [0x1e2c243e]
scasd eax, dword es:[edi]
test al, 0x98
sbb eax, 0x6bb82325
loop 0x686d1e
mov ecx, 0x2c23258a
test al, 0xb3
mov ah, byte [0xb3a82c23]
xchg ebx, eax
sub ebx, dword [esi]
and eax, 0x258ec1af
and ebp, dword [edx]
pushal
and esp, dword [ecx + 0x1a68ec24]
and byte [ecx], dl
xor eax, 0x2296a3b7
sub al, 0x1e
mov cl, 0x2b
imul ecx, edx, 0xffffff98
xor ah, ah
imul ebx, dword [edx], 0x2e
test eax, 0xb32fdf7b
xchg edx, eax
and ch, byte [esi + ebx]
scasd eax, dword es:[edi]
js 0x686cf9
retf 0x3098
test eax, 0xdeafbf6b
sub ch, byte [ecx + esi*2 - 0x378f4e2e]
test eax, 0xb681ac37
mov cl, 0x68
loopne 0x686cef
lodsb al, byte cs:[esi]
mov ecx, 0x2c23254a
out 0x6b, al
or ebp, dword [0xf323261e]
arpl si, di
and ebp, dword [esi + ebx]
ljmp 0x1e2c