Function at 0x567edf
Capabilities:
Encode data using xor

Disassembly:
mov edi, 0x315240e5
pop ss
sar dword [esp + ebp], 0x4b
inc ebp
jl 0x567f4c
pop ecx
add al, 0
xchg ebx, eax
xchg esp, eax
bound esp, qword [ebx - 0x5c]
cmpsb byte [esi], byte es:[edi]
inc ecx
xchg edi, eax
mov edi, 0xf08ca7a2
int 0x47
inc edx
jb 0x567f29
sbb ecx, dword [ebx + 0x74]
or ah, dl
test al, 0x50
sub byte [ebp + ebp*2 + 0x65], al
pop esp
adc byte [edi + 6], 0x63
pushal
invalid
inc edi
xchg esi, eax
or ah, byte [ebx + 0x2469d22a]
shr byte [ecx + 0x24], cl
sub byte [edx - 0x45], ch
cmc
inc edi
mov ebp, 0xb7cd88e9
dec esp
push ss
xor al, 0xf2
wait
wait
cmp al, 0x3a
outsd dx, dword [esi]
fcom dword [ecx - 0x61acca1f]
enter 0xe4d, 0x5f
mov edx, 0xad21bc26
lodsd eax, dword [esi]
sub al, 0x15
add ah, byte [ecx - 0x5e8dcfb4]
inc ebp
cmp edx, ebp
push cs
and al, 0x86
loopne 0x567f24
stosd dword es:[edi], eax
xchg ecx, eax
loope 0x567f6b
pop ebp
mov edx, 0x7f63e574
invalid
fsubr dword [edi + 3]
add byte [ecx + eax*8 - 0x3b5c0d29], dh
movsd dword es:[edi], dword [esi]
test eax, 0xe4b1e583
sub eax, 0xbaf8f11b
adc eax, 0xd7d58a9a
pop esi
jae 0x567fea
fiadd dword [0x1efe1ef4]
mov bh, byte [esi + ebp*8]
dec edx
xor eax, 0x44ae511c
sar byte [ebp - 0x5e], cl
call 0xc8f0053c
jg 0x567f39
push edi
imul dword [ebp + 0x4a]
fdivp st(0)
mov byte [0xfa9c2b05], al
pop esp
add ebx, dword [eax]
pop eax
jnp 0x568030
xor dword [edx - 0xa3995fe], ebp
sub ebp, ebp
jne 0x56803a
or bh, byte [edx + edx*8]
mov bh, 0x63
jmp 0xcd2e9a41
in eax, 0x32
add al, 0x57
inc ebp
adc bh, byte [ecx + 0x10b267ee]
mov dl, 5
shl byte [ebp + 0x147de9a2], cl
stosb byte es:[edi], al
invalid
mov ch, 0xcf
or dword [eax], edi
xor ch, byte [esi - 0x11]
mov ebp, 0x1235c26d
jns 0x56804c
inc dword gs:[edx - 0x6f]
sub al, 0xb5
das
mov ch, 0x2f
test al, 0xee
inc ecx
push 0xadf50343
inc ebx
add esi, ebp
lodsd eax, dword [esi]
loopne 0x5680ad
int1
lahf
add al, 0x86
sub dword [edx - 0x75], esp
outsb dx, byte [esi]
push ebp
ljmp 0x7265
push ebp
xchg dword [ebp - 0x2d], eax
popfd
out 0xfd, eax
xchg ebp, eax
xchg edx, eax
test esi, ebx
aas
fucompp
js 0x568036
dec ebp
int 0x58
cmc
bound ebp, qword [ecx]
mov eax, 0x980942d5
jns 0x56808c
imul edi, eax, 0xbb39c459
imul esp, dword [edx + 0xe99f27e], 0x62e11d2f
loope 0x5680dc
test eax, 0xcb8ed572
sal byte [0xc97e2532], cl
sahf
aam 0x87
jns 0x5680b4
movsd dword es:[edi], dword [esi]
xor al, byte [eax - 0x46edfaf2]
loop 0x56801c
or byte [esi], 5
adc bh, byte [ecx + 0x55b689e2]
mov dh, 0x55
mov dh, 0x45
sar cl, cl
mov byte [0xc2819be9], al
and dword [edx + 0x3d], edx
bound edi, qword [ecx]
outsb dx, byte [esi]
rcl dword [edx + 0x41]
adc dh, byte [ebp + 0x72]
xor bl, byte gs:[ecx + 0x16]
push ss
test dword [0x5665a2e9], ebx
loop 0x568078
mov dword [edx - 0x9165d4b], esp
adc eax, 0x35928df9
outsb dx, byte [esi]
and eax, 0x51d157e
pop esi
mov eax, dword cs:[0xc5625562]
xor byte [0x56f2a9e2], 0xc2
dec edi
fidiv word [ebx]
xchg edx, eax
jns 0x56810e
lds eax, [edx - 0xd561dcb]
push esi
ret 0xde4f
aad 0xbf
push ds
loope 0x568116
pop edx
jg 0x5680fd
mul byte [edx - 0x1a1b86b2]
ja 0x5680b6
dec esi
jns 0x5680ce
in eax, 0x77
leave
add byte [ebp + 0x42], 0xb5
loop 0x5680e7
aad 0x83
inc edx
or byte [ebx], 0x7e
in eax, 0x32
ror byte [esi + 0x47094ccc], 1
or dword [ebp + 0x52451759], edi
mov cs, esp
dec esp
or dword [edi + 9], eax
mov ebp, 0x52451759
cmp dword [ebx], esp
mov esp, 0x4904154f
dec ecx
clc
mov ch, 0xee
cmc
cdq
or byte [ebp - 0x1691a02c], al
ja 0x5680f6
test esp, edx
pop edi
outsb dx, byte [esi]
jmp 0x12a15a96
dec edx
adc dh, byte [edi - 0x4d0edd09]
adc eax, 0xbc5e054e
xchg esi, eax
test eax, 0x870e95d6
cmc
mov bh, 0xe5
cdq
ret 0x1d89