Function at 0x4093bb
Capabilities:
Encode data using xor

Disassembly:
in eax, 0x7a
mov cl, 0x6f
fisttp qword [edx]
mov eax, dword [0xf3bbcd25]
inc ebp
jge 0x4093fe
test eax, 0x3d54fd56
adc ch, bl
adc dword [ecx], 0xe7e8fc93
or dword [0x1d3ea1cc], esi
insb byte es:[edi], dx
jo 0x4093c7
jg 0x409380
imul eax, dword [esi + 0x4d34451d], 0x1d5dcd1d
jmp 0xcd9e8ccb
jnp 0x409375
and eax, 0x79075d4b
push ds
fchs
sar byte [edi], 1
aas
movsb byte es:[edi], byte [esi]
int 0x6d
xchg esi, eax
je 0x40942e
daa
in al, 0xad
mov es, word [edx + 0x26]
in eax, dx
pop edi
cmp dword [edi - 0x80], ebx
mov eax, 0x682afc77
mov esi, 0x3244df83
jno 0x409483
pop edi
cmp byte [eax + 0x682afc77], 0xbe
sbb edi, 0x44
xor dh, byte [ecx + 0x75]
jbe 0x40945d
rol byte [esi], cl
dec ebp
sub eax, 0x15cd7c2f
add cl, ah
mov byte [0xa60d510b], al
add eax, ebp
scasd eax, dword es:[edi]
int 0x7d
xor eax, 0x5246eda4
adc edi, dword [edi + 0x6d]
popfd
test eax, 0x2df5f9d5
stc
cmc
sub eax, 0x496d9d33
invalid
mov bh, 0x91
aad 0xf9
cmc
sub eax, 0x496d9d33
and dword [edi - 0x279c856f], esi
xor al, 0x46
jp 0x40949e
fdiv dword [esi + eax*2]
je 0x409439
xor byte [esi], ch
push ebp
test ch, bh
fadd dword [esi - 0x5f]
test esi, ecx
mov word [ebx + 0x2c583f25], ds
aas
mov eax, dword [edi - 0x1b]
jne 0x40945f
js 0x409478
xchg esp, eax
and byte [0xa46c9358], cl
insb byte es:[edi], dx
movsb byte es:[edi], byte [esi]
cmp al, 0xe4
adc ecx, eax
mov byte [0xd3158f97], al
scasb al, byte es:[edi]
ja 0x409400
xchg edi, eax
invalid
or eax, 0xb9808a5d
and byte [edi + 0x6c753f56], bl
sub dword [edx], ebp
xchg esp, eax
add eax, 0x656bad15
xchg esp, eax
xor eax, 0x45940c63
inc ebp
je 0x409478
outsb dx, byte [esi]
push ebp
call 0xb9ef1db2
fadd qword [ebp*2 + 0x657e5a78]
xor al, 0x14
into
mov edx, 0x3d0ddd08
out 0x65, eax
push esi
push esi
salc
xor eax, 0xff562d5
mul dword [ebp + 0x77]
adc eax, 0xe5be7b9a
cwde
xor eax, 0x1d570ce9
jge 0x409464
dec esp
js 0x4094d1
sti
mov ebx, 0xa3dc4433
add eax, 0x9e2ccf44
in eax, 0xbd
mov ebx, 0x407daefb
in eax, dx
in eax, 0xf5
in eax, dx
ficom dword [esi + 0x50]
out 0x50, al
sbb byte [ebp + 0x11], bh
and bh, byte [eax]
add eax, ebp
or dh, byte [edi]
add al, 0x62
xchg ebx, eax
add dword [edi + 0x3fad58e4], eax
mov ah, ah
popfd
cdq
enter 0xffffffffffffcf3b, 0xffffffffffffff94
mov ecx, 0xd21fdae
dec ebp
sbb dword [ebx + 0x70], edi
in eax, 0xcd
xor al, 0xb4
lodsd eax, dword [esi]
mov dh, 0x31
sbb dword [ebp + 0x7294283c], ebp
xor edx, dword [ebp + 0x4e2325a8]
fcom dword [ebx - 0x2fcacbf9]
aad 0xa5
in al, 0x2f
and al, 0xee
cmpsd dword [esi], dword es:[edi]
and eax, 0xb151a29
pop ebp
mov eax, 0x6a1e6b65
dec edx
int 0xe8
sbb al, 0x95
mov ecx, 0x6c50e725
mov ch, 0xb4
push eax
xor ebp, dword [edx]
dec eax
jmp 0x40954f
dec edi
pop edx
adc dword [ebp + 0x65], esp
sbb ebx, dword [ebp + eax*2 - 0x456af070]
pushal
xchg esp, eax
aas
mov edi, 0xa857a089
sub dword [ebp + 0x19b19dfa], ebp
lodsd eax, dword [esi]
cli
popfd
mov cl, 0x19
cmc
mov byte [esi - 0x20], dh
xor edx, edi
cli
sub ebp, esi
pop esi
dec esp
jb 0x409538
or dword [ebp - 0x148fbab1], ebx
add dword [eax + 0x3734bd4d], edx
cdq
mov byte [0x5a82d56d], al
or eax, 0xb9a326c8
adc al, 0x69
mov ebp, 0xb83536d8
outsd dx, dword [esi]
lea edx, [edi + 0x2d]
and al, bh
adc esp, dword [eax - 0x11]
pop eax
lodsd eax, dword [esi]
add esi, ecx
xchg ebp, eax
jecxz 0x4095b4
mov ch, 0xd8
or eax, 0x237c70e0
push esp
cmp al, 6
invalid
leave
cmp al, 0x7f
invalid