Function at 0x5d9909
Capabilities:
Encode data using xor

Disassembly:
xlatb
mov dl, byte [ebx]
cli
ret
jbe 0x5d98e7
cmp dword [edi - 0x487d142c], edx
clc
das
and al, dl
cwde
in al, 0x17
or eax, 0xdf0b475a
jl 0x5d98be
dec edx
pop esi
popal
fsubrp st(0)
sub eax, 0xde889469
sub byte [esi + 0x71], ch
jecxz 0x5d9861
scasd eax, dword es:[edi]
sub dh, ch
xchg esp, eax
push ebx
sbb al, 0x46
das
sti
or esi, dword [0x40275c56]
inc eax
pop esp
daa
jp 0x5d98df
dec edi
mov esi, 0xcdfbb5e3
jnp 0x5d9941
in eax, 0xa1
enter 0xfffffffffffff702, 0x12
adc dl, byte [esi + ebx*8 - 0x7028f761]
fdiv dword [eax]
pop edi
and dword [ecx], eax
cmp bh, bh
jno 0x5d98b6
lodsb al, byte [esi]
ror byte [edx + 0x54], cl
cmp eax, 0xaf75a35b
cdq
sbb byte [eax], ch
jle 0x5d98bf
push 0xee33cdb0
cmp edi, edi
push 0x3a
mov edx, 0x9d41cb02
shr byte [edx], 1
pop esp
jg 0x5d9964
adc ecx, dword [edi + 0x64a558c5]
xor dword [ebx - 0x45], edi
xor dword fs:[ebx - 0x45], edi
sub ch, byte [esi + 0x7f]
ror esi, 1
xor eax, 0x4b440dbe
jne 0x5d995d
frstor dword [edx + 0xd4bda25]
invalid
and eax, 0xfe0d4bda
pop ss
enter 0xffffffffffff9d6e, 0xffffffffffffffb8
inc eax
mov esi, 0xf5137d4e
jecxz 0x5d990a
mov ch, 0xb8
outsb dx, byte [esi]
lcall 0xc916, 0xef5bfdc
jo fcn.005d98e9
or dword [edx + 0x170f1edb], 0xffffffec
pop ss
in al, dx
sti
sbb bh, byte [ebx - 0x54]
imul ebp, dword [edx + ebx], 0xffffffe9
sbb ebx, edi
nop
mov byte [0x3871c116], al
je 0x5d99da
sal dword [ecx + 0x38], 0x74
bound edi, qword [ebx - 0x3a0f48f0]
mov ebx, 0xc5f0b710
scasb al, byte es:[edi]
loop 0x5d992f
or dword [ecx - 0x5823d53], ecx
sbb ch, byte [edx]
ja 0x5d99de
mov ebp, 0x5b777e7f
jle 0x5d9995
mov edi, 0xdebde0f3
mov cl, 0x61
jp 0x5d9973
fidiv word [ecx - 0x7826859f]
push cs
xchg dword [esi], ecx
not dword [ecx - 0x19e3da35]
out dx, eax
sbb ebp, dword [0xbfcb7e14]
sbb eax, 0x5bf645dc
into
stc
pop ds
stosb byte es:[edi], al
pop ds
cmp ebp, esi
cwde
push ds
int1
lcall 0xf9c, 0x51cb0cea
jmp 0x3b14e9a3
fimul word [edi - 0x49]
cmp ch, ch
out dx, al
jle 0x5d9a3a
popfd
add dword [ebx + 0x64cb6b35], edx
out dx, eax
jae 0x5d99c1
jbe 0x5d9a44
push esi
mov edi, dword ds:[eax]
mov dl, 0x58
xchg esp, eax
invalid
fstp xword [ebx - 0x695ba4e1]
jbe 0x5d99e6
fidivr word [edi + 0x541d1ea7]
jnp 0x5d99ca
sbb eax, 0x54dc7b54
push esp
sahf
imul ecx, dword [esi + 0x1d], 0x4f
dec edi
mov eax, dword [0xeabe8aff]
pop ss
pop edi
adc byte [0x37aaa63b], al
or byte [ebx], bh
mov esp, dword [esi - 0x1a]
or al, byte [edx]
aas
outsb dx, byte [esi]
std
clc
dec edi
jbe 0x5d99ea
stosb byte es:[edi], al
and al, 0xc9
mov esi, 0xf66fd3be
imul ebp, ebx, 0x32d8e16a
int3
jl 0x5d9a66
dec edx
das
aaa
lodsb al, byte fs:[esi]
std
xor edx, ecx
lodsb al, byte [esi]
scasb al, byte es:[edi]
outsd dx, dword [esi]
sbb al, 0xfe
js 0x5d99f3
cmpsd dword [esi], dword es:[edi]
outsb dx, byte [esi]
test eax, 0xde9b577b
add bh, byte [edx + 8]
retf
inc edx
mov cl, 0x2e
fmul qword [edi]
jb 0x5d9a4b
inc esi
pop edx
sub cl, al
cld
jl 0x5d9a09
idiv dword [edx - 0xbec562b]
xchg ebp, eax
fld dword [edx - 0x258a324a]
sub ebx, dword ds:[edx + 0x1f961ca2]
pop ds
jno 0x5d9af5
xchg ecx, eax
nop
pop esi
pushfd
xor esi, dword [ebx + 0x5e]
push esi
inc ecx
add byte [esi + eax*2 - 0x1051419], ch
add eax, dword [ebx + 0x76]
jecxz 0x5d9a88
cmp bl, bh
outsb dx, byte [esi]
dec ebp
push cs
iretd
or al, byte [edi + 0x36]
sub al, 0xcd
jmp 0x5d9aa0
jle 0x5d9abb
adc dword [esi + 0x14976768], eax
retf 0x1f9b