Function at 0x6b6448
Capabilities:
Encode data using xor

Disassembly:
push edx
pushal
popal
pop ecx
pop ecx
mov ebx, 0
pushal
mov ax, 0x696b
pushal
mov edx, 0x2d6fee32
push ebx
pop edx
popal
popal
mov eax, dword [esi + ebx]
xor dx, 0x7887
sub eax, 0x31e9a9c1
pushal
adc si, 0x92f1
jle 0x6b63ff
and dh, 1
popal
xor eax, 0x22f348bd
add eax, 0x7ccada5b
call 0x6b6417
add dh, al
imul edi, dword [ecx + 0x4fca8181], 0x5a3e9f29
mov dword [esi + ebx], eax
sub cx, 0xb9ba
pushal
jmp 0x6b6435
jno 0x6b6449
call 0x6b6448
xlatb
outsb dx, byte [esi]
mov edx, 0xfa64c71d
pop edx
popal
sub ebx, 4
add cl, 0x8e
cmp ebx, 0xffff2730
jne 0x6b63e2
mov dh, 0x7b
sti
mov eax, 0x129c1aa4
mov ebx, 0x46d9036b
mov ebx, 0x49e2a760
cmp dword [ebp + 0x122d10f9], 0
je 0x6b6485
mov dword [ebp + 0x122d37a4], 1
mov eax, dword [ebp + 0x122d1145]
mov esi, eax
mov ecx, dword [esi + 0x3c]
add esi, ecx
mov ecx, 0x400000
mov dword [ebp + 0x1247b52f], ecx
mov edi, dword [ebp + 0x122d386c]
test edi, edi
jne 0x6b64b0
jmp 0x6b65f1
mov esi, edi
mov ecx, 0x3b50
lodsb al, byte [esi]
xor al, 0x37
stosb byte es:[edi], al
dec ecx
jne 0x6b64b7
mov ecx, dword [ebp + 0x122d386c]
mov edi, dword [ebp + 0x122d1145]
mov esi, dword [ebp + 0x1247b52f]
cmp edi, esi
jne 0x6b64e1
jmp 0x6b65e2
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
sub dword [ebp + 0x122d0b8d], edx
sub edx, 8
add ecx, 8
add eax, edi
pushal
mov ebx, eax
push ebx
push 0x1000
push ebx
call dword [ebp + 0x122d3597]
pop ebx
test eax, eax
je 0x6b6522
lea eax, [ebp + 0x122d1cb3]
push eax
push 0x40
push 0x1000
push ebx
call dword [ebp + 0x122d210e]
popal
mov bx, word [ecx]
test bx, 0xf000
je 0x6b65c9
and ebx, 0xfff
add ebx, eax
cmp dword [ebp + 0x122d3830], 1
jne 0x6b655f
cmp byte [ebx - 2], 0xe8
jne 0x6b655f
cmp byte [ebx + 3], 0x90
jne 0x6b655f
jmp 0x6b65c9
cmp byte [ebx - 1], 0xc5
jne 0x6b658c
cmp dword [ebp + 0x122d3978], 0
je 0x6b658c
cmp dword [ebp + 0x122d1179], 0
je 0x6b658c
mov byte [ebx - 1], 0xe9
jmp 0x6b65c9
cmp dword [ebp + 0x122d10f9], 0
je 0x6b65b9
cmp byte [ebx - 1], 0xc5
jne 0x6b65b9
cmp dword [ebp + 0x122d3978], 0
je 0x6b65b9
mov byte [ebx - 1], 0xe9
jmp 0x6b65c9
cmp dword [ebx], 0x90909090
je 0x6b65c9
sub dword [ebx], esi
add dword [ebx], edi
add ecx, 2
sub edx, 2
jne 0x6b6523
cmp dword [ebp + 0x122d0b8d], 0
jne 0x6b64e1
mov edi, dword [ebp + 0x122d386c]
mov ecx, 0x3b50
xor al, al
rep stosb byte es:[edi], al
mov edx, 0x2863ca92
mov edi, dword [ebp + 0x122d01b9]
mov ecx, 0x79
lea esi, [ebp + 0x12536644]
rep movsb byte es:[edi], byte [esi]
xor edx, 0x28634112
mov edi, dword [ebp + 0x122d01b9]
add edi, 0xe
test edx, edx
je 0x6b6626
add edx, dword [ebp + 0x122d1145]
mov dword [edi + 1], edx
mov edx, dword [ebp + 0x122d2b89]
mov edi, dword [ebp + 0x122d01b9]
add edi, 0x54
mov dword [edi + 1], edx
mov edi, dword [ebp + 0x122d01b9]
add edi, 0x49
mov dword [edi + 1], ebp
mov edi, dword [ebp + 0x122d01b9]
add edi, 0x25
mov dword [edi + 1], ebp
jmp 0x6b66d1
mov eax, edx
lea ebx, [ebp + 0x122d37c4]
mov eax, 0x3a4
mov dword [ebp + 0x122d1ff7], eax
call 0x6b66e9
pop eax
add eax, 0xb
mov dword [ebx], eax
jmp 0x6b6a98
jmp 0x6b6ac5
mov eax, 0x6754
jmp 0x6b6b0c
mov ecx, eax
lea eax, [ebp + 0x12536abb]
mov dword [ebp + 0x124a13e2], eax
jmp 0x6b6b28
jmp 0x6b8c79
neg ebp
xor ebp, 0x9bedeb1b
not ebp
inc ebp
xor ebp, 0x80107530
sub eax, ebp
mov ebp, dword [esp]
push edi
mov dword [esp], ebx
push esp
pop ebx
add ebx, 4
add ebx, 4
xchg dword [esp], ebx
mov esp, dword [esp]
jmp 0x6b8ba3
mov dword [esp], edx
jmp 0x6b8b89
mov edx, 0x6ffb1770
mov dword [esp + 4], edx
jmp 0x6b8b97
push dword [esp]
pop edx
add esp, 4
jmp 0x6b8bbd
jmp 0x6b8c79
push eax
mov eax, 0x538f03ec
jmp 0x6b8c5c
add dword [esp], 0x9f2319e4
sub esp, 4
mov dword [esp], edi
mov edi, 0xa20b8633
add dword [esp + 4], 0x1fbbba06
sub dword [esp + 4], edi
push edi
mov edi, 0x1fbbba06
sub dword [esp + 8], edi
pop edi
pop edi
mov dword [esp], ebp
mov ebp, 0x6ff674c1
shr ebp, 2
jmp 0x6b8b4e
sub edx, 0x2a0b37d
add edi, edx
pop edx
push edi
push dword [esp + 4]
pop edi
pop dword [esp]
mov esp, dword [esp]
jmp 0x6b8c4e
push edi
mov edi, esp
add edi, 4
jmp 0x6b8bb2
shl eax, 1
sub eax, 0xa71e07d4
add edi, eax
pop eax
xchg dword [esp], edi
mov esp, dword [esp]
push ebx
sub esp, 4
jmp 0x6b8b81
mov edx, ebx
lea eax, [ebp + 0x12538816]
mov dword [ebp + 0x12489b5a], eax
push ebp
in eax, dx
wait
dec eax
adc dl, byte [ebp - 0x13]
std
jne 0x6b8cea
pop esi
jp 0x6b8c84
jbe 0x6b8c34
imul esp, esi, 0xfd49bc56
rcr byte [ebx + 0x11], 0xfd
jne 0x6b8cae
std
bound edx, qword [bx + di]
std
vmovsd xmm5, xmm1, xmm7
mov bh, 0x32
adc ebp, edi
lodsd eax, dword [esi]
rcl byte [ecx]
std
mov ah, byte [ecx + 0x186bfd11]
adc ebp, edi
inc esi
inc esp
adc ebp, edi
lea ebp, [edx + 0x11]
std
pop edx
bound edx, qword [ecx]
std
mov edi, 0x18fd11e9
xor edx, dword [ecx]
std
jmp 0x338489d9
adc ebp, edi
sbb byte [ebx], dh
adc ebp, edi
stc
rcl dword [ecx]
std
fisub dword [eax + 0x786fd11]
adc ebp, edi
ljmp 0x8a25
std
popfd
and eax, 0x2295358a
mov byte [0x714a76d6], al
ficomp word [ebp + edi*4 + 0x4b]
dec edx
jno 0x6b8cc4
pop esp
mov ebp, 0x5a5cf44b
hlt
pop esp
pop edx
jp 0x6b8ceb
jne 0x6b8d17
jb 0x6b8ce7
jne 0x6b8c8b
xchg edi, eax
jns 0x6b8cf3
je 0x6b8cc3
retf
js 0x6b8cf7
jae 0x6b8ce9
jge 0x6b8cf3
je 0x6b8cf3
jnp 0x6b8cfe
je 0x6b8d7c
jnp 0x6b8d02
jne 0x6b8cc4
mov esp, 0x5e75fd7a
jp 0x6b8d07
jne 0x6b8d6a
pop esi
jp 0x6b8d0b
jbe 0x6b8cd9
sbb dword [ebp - 0x6ae0518b], edx
scasb al, byte es:[edi]
pop ds
xchg ebp, eax
jne 0x6b8ce3
retf
jp 0x6b8d17
jne 0x6b8d00
jnp 0x6b8d1a
je 0x6b8d13
jnp 0x6b8d1e
je 0x6b8cb4
mov dl, 0xf8
jne 0x6b8ce4
sbb dh, byte [eax - 0x10]
aad 0xea
scasb al, byte es:[edi]
cmpsb byte [si], byte es:[di]
invalid
sub ch, byte [eax + 0x70]
invalid
xlatb
push dword [ebx - 7]
jl 0x6b8dd9
jo 0x6b8d63
cmp esp, esi
scasb al, byte es:[edi]
inc edx
jmp [edi - 7]
push 0xf436f070
scasb al, byte es:[edi]
invalid
sub ch, byte [eax + 0x70]
invalid
jl 0x6b8e39
jo 0x6b8dc3
or al, 0xf5
scasb al, byte es:[edi]
inc edx
inc dword [edi - 7]
inc edi
stc
mov dh, 0x68
jo 0x6b8dcf
push ss
cmc
scasb al, byte es:[edi]
invalid
lodsb al, byte [esi]
and esi, dword [edi + 0x1a20ad29]
jp 0x6b8e3f
sbb bh, byte [edx - 3]
jne 0x6b8ebd
daa
jl 0x6b8ddf
invalid
mov al, byte [0x7cf97cff]
push 0xf616c87d
scasb al, byte es:[edi]
iretd
test edi, esi
dec eax
test dword [edi + 0x29], 0xfcd1f8ef
push eax
mov ah, byte [edx]
and ebx, dword [edi]
mov esp, 0xf97cf787
out dx, eax
push 0x20052da0
mov dword [0x6d92ec2c], eax
ja 0x6b8e4b
jp 0x6b8f03
int 0xc1
jns 0x6b8f11
mov dh, byte [eax - 0x7f]
jno 0x6b8ee5
loopne 0x6b8e92
popfd
pop es
js 0x6b8ec3
jne 0x6b8ea2
ret 0xcd9b
push es
stc
out dx, eax
push 0x7954c54d
lodsd eax, dword [esi]
mov bh, byte [edx - 0x7ad98e7f]
and byte [ebx - 0x6481d40a], bl
jle 0x6b8f23
sbb al, 0x56
mov dh, 0x1a
imul edi, edi, 0x75
jns 0x6b8f2e
adc eax, 0xfd7abe4e
das
mov al, byte gs:[0x59a57b89]
cmp eax, 0xdf709491
cmc
pop es
mov edx, 0xd183fe4d
popfd
add byte [ebx - 3], bh
jne 0x6b8f4e
sub dl, byte [edx + 0x7abc77e1]
cmpsd dword [esi], dword es:[edi]
dec esi
test byte [esi], cl
xchg edx, eax
loope 0x6b8f9e
mov esp, 0x844ea77a
push cs
adc al, ch
dec ecx
rcl byte [esi]
lds ecx, [ecx - 0x30]
push ss
test eax, 0x75fca77f
retf
cld
jne 0x6b8f03
invalid
push 0x913d59a5
xchg esp, eax
jo 0x6b8f35
cmc
pop es
mov edx, 0x85b5ff4d
push 0xef297e8e
das
pop ds
pop edi
std
push ecx
fidiv dword [ecx + 0x3f]
adc esi, ebp
mov ecx, 0x9285e94d
mov ebp, 0x4d7a9774
hlt
popfd
inc ebx
jnp 0x6b8f9b
jne 0x6b8fba
dec esp
std
jne 0x6b901d
sbb al, 0x56
popfd
mov dh, 0x7b
std
jne 0x6b8f9a
out 0x57, eax
mov dh, 0x9f
out 0x57, al
popfd
imul edi, dword [edx - 3], 0xfcf32375
jne 0x6b8fa1
invalid
wait
int 0xfd
dec ebx
wait
ficom word [ecx + 0x438a036b]
retf 0xdfa7