Function at 0x56cc40
Capabilities:
Encode data using xor

Disassembly:
or cl, dh
add byte [esi], cl
or bh, byte [eax]
out dx, al
cmp edi, dword [edi - 0x4a47077]
int1
push es
mov edi, 0xca13f339
and eax, dword [ebx - 0x4a088b7d]
int 0xf4
pop edx
adc dl, byte [ecx]
adc al, 0xbd
push edi
invalid
pop edi
or dword [ebx - 0x7a265367], ebx
or al, 0xa3
aaa
arpl word [edx + 0x12], sp
cmc
xor eax, 0x51874777
jp 0x56cab9
invalid
inc edi
aaa
rcr dword [ebx + 0x5e0a6f7c], cl
loopne 0x56cbc0
stc
movsb byte es:[edi], byte [esi]
and eax, 0x15fe6bd6
adc dl, byte ds:[ebx + 0x467f37dd]
aam 0x40
dec eax
inc esp
push cs
inc ebx
int 0xc2
add eax, 0xcbeeb31
cmp al, 0x91
inc ecx
lds edx, [ebp - 0x620489c0]
adc dword [esi + edi*8 + 0x20], esi
stosd dword es:[edi], eax
fstp xword [eax]
aas
out dx, eax
cmpsb byte [esi], byte es:[edi]
movsd dword es:[edi], dword [esi]
sbb eax, 0x7156c81a
mov dh, 0x6c
sub eax, 0x7b00ae92
movsd dword es:[edi], dword [esi]
sub eax, 0x45f53f60
cmc
inc ebp
mov ah, 4
lodsb al, byte [esi]
xor ebp, 0x1bc66ccd
ja 0x56cb20
inc esp
pop edx
jo 0x56cb48
inc esi
pop ss
int 0xa2
xor byte [esi + ecx + 0x36], bl
int1
push es
add eax, esp
jbe 0x56cb8f
nop
loope 0x56cbd2
or al, 0x7e
mov al, 0xd5
mov ah, 0x86
invalid
jl 0x56cb63
popal
push edx
xor bl, byte [ecx - 0x50]
push ecx
jb 0x56cba4
jnp 0x56cc4b
ret
jle 0x56cc48
inc ecx
pop esi
lock adc dl, byte [ecx + 0x78f36321]
push eax
arpl bx, si
js 0x56cc2f
cmp al, 0x6d
cld
jp 0x56cbdb
push ds
invalid
push esp
jns 0x56cb92
push 0xc299d254
sub bl, ah
mov eax, dword [0x2a55b9b2]
and eax, 0x95a965f9
invalid
mov dl, 0x38
std
sub eax, 0x623af7e6
cmpsb byte [esi], byte es:[edi]
cmp ah, byte [edx - 0x5a]
loopne 0x56cbfb
jecxz 0x56cc28
cpuid
imul edi, eax, 9
push esi
loope 0x56cc81
add al, byte [esi - 0x21]
mov ss, word [eax - 0x1f]
xor al, 0xe7
or eax, esi
push ecx
inc edi
arpl word [ebx - 0x3b], cx
dec eax
pop esp
dec ebx
lds ecx, [eax + 0x5c]
or edi, dword es:[edi + 0x435f0cf1]
fidiv dword [esi + 0x66]
loopne 0x56ccc9
push cs
enter 0x66a7, 0x4b
dec bx
and al, 0xb8
imul ecx, dword [ebp - 0x1c], 0xe40abaf9
scasd eax, dword es:[edi]
imul eax, dword [ebp - 0xd], 0xffffff8a
fscale
lahf
cld
jae 0x56ccaa
rcl esi, cl
add al, byte [edi + 0x37]
jl 0x56cc69
xor bl, byte [edx + 0x44]
inc ecx
lea edx, [edi]
les edx, [edi + 5]
mov ebx, 0xe1918b21
wait
dec esi
fild word [eax + eax]
xor byte [esi], 0xae
push esi
ficomp word [ebp + edx*2 - 0x5e89e0d8]
adc edx, dword [esi - 0x1e]
jae 0x56cc5e
les ebp, [edi - 0x2b06e194]
into
aam 0xce
adc dword [edx], esp
or byte [eax + ebp*2], 0xc8
ror dword [esi + 0x7828dee1], 0x32
push 0xe18ec1c8
fisubr word [eax]
js 0x56cce5
xor dl, cl
pop ss
rcl dword [edi]
jns 0x56cd0a
std
jg 0x56ccb2
mov eax, ebp
xor esp, dword [edi]
out dx, eax
sbb ebp, dword [ebx]
mov esi, 0x85525465
inc esp
je 0x56cc8b
sar byte [edx], cl
sub byte fs:[edi + 0x5315be0c], 0x40
adc ah, byte [edi + 0x70d6ed12]
add dword [ecx], ebp
jl 0x56cc7b
loope 0x56cca4
xor ecx, dword [ecx]
push ds
js 0x56cd52
push edi
fild word [ecx + 0x69986535]
retf 0x7116
mov ebp, 0xe775dbc6
loop 0x56ccbc
ror dword [ecx + edi*2], 0xa8
aas
or eax, 0xd43b5f06
cmp al, 0xa8
pushal
mov byte [0x672e466a], al
dec esi
movsb byte es:[edi], byte [esi]
inc esi
jge 0x56cda4
stosd dword es:[edi], eax
fisub word [0x8ff1afd7]
mov dh, 0xe6
call 0xd74a74a8
pop edx
pop es
outsd dx, dword [esi]
mov edi, dword [0x30f84c3]
or eax, 0xcd0e49f9
dec ecx
out 0xe8, eax
and dword [ebx + edx*8 - 0x4e0ccd52], esp
shr byte [0x2c584b3e], cl
dec ebx
pop eax
invalid