Function at 0x56eb45
Capabilities:
Encode data using xor

Disassembly:
mov byte [esp + 4], 0x81
lea esp, [esp + 0x4c]
je 0x4c72b1
pushal
jmp 0x573c81
mov word [esp + 8], ax
test cx, 0x3ef9
mov edi, dword [edi + ecx*4]
clc
bt di, si
cmc
push esp
test edi, edi
jmp 0x4cc2b4
add eax, edi
call fcn.0056e2b6
aaa
cmp dword [edi], ebx
adc eax, 0xde52782b
sbb byte [ecx - 0x5781f962], ah
rol byte [edx + 0x10], cl
inc ebx
dec ecx
and esp, dword [ecx]
imul edx, dword [ebp + 0x5f], 0x2d
mov ebp, 0x1aaad4e7
adc al, 0x5e
or byte [ebx + 0x29], bh
jp 0x573d09
adc byte ss:[edx + edx], dh
cmp byte [edx + edx*4 + 0x5bcdeb98], dh
ret
mov word [ecx + edx*4 - 0x52f61c4b], ds
cmp eax, 0x1068477f
jns 0x573d6d
pushfd
xchg ecx, eax
mov ch, 0xe3
or dword [ebp + 0x68477f3d], ebp
adc byte [ecx + 0x57], bh
push ebx
sub eax, dword gs:[0x4ce6842f]
jbe 0x573d3d
and ch, byte [ebp - 0x62c4b48c]
inc ecx
xor esp, ebx
mov cl, 0x33
sbb eax, 0x1da9cd37
sbb dword [ebx], 0xffffffa7
loope 0x573d08
and byte [edx + ecx*4 - 0x615b5f52], 0x7a
pop esp
jp 0x573d9b
invalid
clc
jne 0x573dcc
jb 0x573d8f
xor ch, byte [esi]
insb byte es:[edi], dx
insb byte es:[edi], dx
add dh, dh
rcr byte [edi + edi*8 + 0x66f82434], 1
bt edi, 1
add dword [ebx + ebx*8], esi
xor al, 0xdb
clc
add al, 0x72
mov byte [esp + 4], ch
test dx, bx
cmp ch, dh
xor al, 0x74
call fcn.0057f2df
push es
or byte [esi], ah
dec esp
jne 0x573e01
pop ebp
push edi
adc dword [ecx - 0x31a9b12a], ebp
dec esi
push esi
into
pop eax
or bl, byte [ecx + 0x3f]
or al, 0x7e
scasb al, byte es:[edi]
xchg esp, eax
cmpsd dword [esi], dword es:[edi]
xchg ecx, eax
loop 0x573d56
mov esi, dword [ebp - 0x5a34673a]
div ah
dec byte [eax + 0x30321638]
push eax
sub eax, dword [0xc902540f]
sbb dword [eax - 0x2e92a5], esp
mov al, byte [0xffd16d5b]
aad 0xcb
in al, 0x41
das
inc esp
xor bl, byte [eax]
adc ch, byte [edi + 4]
js 0x573df4
pop ebp
imul ecx, dword [edi + 0x45], 0xffffffd5
jecxz 0x573db4
out 0xd1, eax
cmc
sal ebp, 1
fist word [ebx + 0x36]
push 0x12380e42
push 0x12380e42
jnp 0x573dfe
inc ebp
leave
pop ss
push 0x3862af3a
push 0x2e
jo 0x573e3f
xor al, 0x1e
and byte [ebx - 0x216157b1], 0x94
salc
test dword [edi + 0x6dad2117], eax
lodsd eax, dword [esi]
insd dword es:[edi], dx
call 0x7644d54
je 0x573e5b
xor al, 0x7e
shr dword [edi], 1
jle 0x573dd1
das
int3
sbb dword [edx], esi
daa
jno 0x573eb9
inc ebx
inc edi
jne 0x573e79
imul ebp, dword [edi + 0x51], 0x75
jnp 0x573ead
pop ecx
pop ebp
inc ebx
sub ebp, dword gs:[ecx]
ret
xchg edx, eax
cwde
div byte [edx - 0x4c630000]
invalid
ja 0x573ecc
mov eax, dword [0xb8b29ccf]
cmp byte [ecx - 0x5d2b2cd7], bl
mov byte [0xa4aae0a0], al
into
mov al, byte [0xcea4aae0]
mov al, byte [0x237dfdf3]
push eax
inc dx
insb byte es:[edi], dx
test al, 0x96
cmp byte [0x7b751933], bh
xor ebx, dword [ecx]
jne 0x573f4b
cmp edx, dword [0x32a45717]
sub eax, 0x1295e22f
add dword [edx + esi*4 - 0x1e], esi
in al, 0x92
mov al, 0x94
mov dh, 0xf6
lcall 0xe7b1, 0x5cbf8b8
lds eax, [ebp + 0x4369a1c1]
sub dword [ebx], ecx
imul esi, dword [edi + 0x2d2fe8b7], 7
insd dword es:[edi], dx
cmp ecx, dword [eax + 0x1e]
mov cl, 0x4f
sti
sar ebx, 1
jg 0x573f17
insb byte es:[edi], dx
pop edx
cmp ah, byte [ebx + 0x702ed79d]
sal byte [edx], 0xb7
push si
neg byte [ebx + 0x72]
mov dword [0xab9501f3], eax
loope 0x573eba
add dword [ebp - 0x5c621e55], edx
imul eax, dword [ecx + 0xb], 0xffffffbc
mov dword [0xbc0b416b], eax
dec esi
add eax, 0x8c778553
scasb al, byte es:[edi]
in al, 2
push ds
enter 0xffffffffffffac3a, 0x5e
ljmp 0x4e28
cmp dl, ch
jns 0x573fa9
aas
int 0x59
outsd dx, dword [esi]
and eax, 0x7b95577
aad 0x48
enter 0xffffffffffffc0ea, 0x4a
push 0x71e8c642
mov dword [0xa1538532], eax
xor eax, 0xd38d2903
bound edx, qword [eax + 0x356ff406]
adc dword [ebx], edi
adc dword [esi - 0xa], esp
leave
lahf
ret 0xbfe9
dec ecx
insd dword es:[edi], dx
arpl word [di + 0x3b], dx
or dword [edi + 0x45], eax
in eax, 0xe3
and esi, dword [ecx + 0x5b]
xchg ecx, eax
or dword [edi - 0x7f], esp
mov bh, 0x2b
adc dword [edi + 0x11], ebx
and dh, byte [eax - 4]
not ah
insd dword es:[edi], dx
cmpsb byte [esi], byte es:[edi]
push edx
cmp byte [edx + edi*2], ch
insb byte es:[edi], dx
fdivr st(6), st(0)
cmp byte [ebx + 0x69], ch
mov ecx, 0xaeeebc8f
invalid