Function at 0xdc56c0
Capabilities:
Encode data using xor

Disassembly:
jmp 0xdc56ca
pushal
call 0xdc56d0
pop ebp
sub ebp, 0x10
sub ebp, 0x9c56c0
jmp 0xdc56e6
mov eax, 0x9c56c0
add eax, ebp
add eax, 0x4c
mov ecx, 0x5bc
mov edx, 0x90c27e
xor byte [eax], dl
inc eax
dec ecx
jne 0xdc56fd
jmp 0xdc5710
cmc
mov bl, 0xf5
test dword [edx + 0x7e], 0xbfff7e7e
xchg byte [esi + 0x7e], bh
jle 0xdc579c
mov bl, 0xc6
js 0xdc57a1
jle 0xdc57a3
les edx, [esi + 0x7e]
jle 0xdc57a8
mov dword [ebp + edi*2 + 0x72fff5b6], ebx
jle 0xdc57b1
jle 0xdc57b2
mov ebx, 0x5a1af32e
xor bh, 0x7a
pop edx
jp 0xdc5798
push ss
push cs
xchg dword [edx + 0x7e], esp
push ss
xor byte [ebx], ah
add dword [esi + 0x7f], edi
push edx
pop edx
push ss
nop
mov eax, esi
mov word [esi + 0x7e7e7e7b], ss
xchg edi, eax
dec esi
jle 0xdc57d7
invalid
jle 0xdc574e
sbb bl, byte [edx - 0x7e]
not dword [edx + 0x5a]
adc bl, byte [edx + 0x7e]
cmc
sti
jbe 0xdc57e7
jle 0xdc57e9
cmc
jmp 0xdc57e0
and eax, dword [ecx]
jle 0xdc581b
push edx
pop edx
das
xchg esi, eax
jnp 0xdc5820
jle 0xdc5821
jle 0xdc5822
jle 0xdc573c
xchg edi, eax
aas
jl 0xdc5826
jle 0xdc57d5
adc bl, byte [edx + 0x7e]
or dword [ebx], 0x760b8172
xchg esi, eax
or dword [ebx], 0x7e0c9676
or esi, dword [esi - 0x6a]
or al, 0x7e
jle 0xdc5837
cmc
ret
std
xchg esi, eax
jnp 0xdc5809
jno 0xdc57cf
xor byte [esi + 0x7e], bh
jle 0xdc584b
jle 0xdc5857
jno 0xdc57d1
div byte [esi]
jle 0xdc585c
jle 0xdc585c
jle 0xdc57f8
cmc
bound eax, qword [edi - 2]
test dword [esi + 0x7e64fa71], edx
jle 0xdc586a
cli
jle 0xdc5869
jle 0xdc5869
jle 0xdc57eb
inc byte [ebp + 0x6ffa7197]
jle 0xdc5872
test dword [edi + 0x7e6ffa71], edx
jle 0xdc5873
jle 0xdc580e
sbb bh, bh
test dword [ecx + 0x6bfa715b], eax
inc dword [ebp - 0x58ea47f]
imul edi, dword [esi + 0x7e], 0x7e
aas
sbb dword [ebx + 0x71], 0x7e7e6bfa
jle 0xdc587d
jle 0xdc5840
xchg edi, eax
mov dl, 0x81
add dword [ecx + 0x7f473257], 0xfd7bbffd
inc edi
jg 0xdc5808
mov edi, 0x7a96fd7b
xchg edi, eax
xchg esi, eax
jp 0xdc57a8
ret
mov edi, 0x7a94fd78
std
js 0xdc581a
xchg esp, eax
jp 0xdc581d
xchg esi, eax
jnp 0xdc57ba
xchg edi, eax
aad 0x81
add dword [ecx + 0x7e72bc23], 0x2892f52b
sub dword [ebx], ebp
cmc
and dword [ebx], 0x2b7e72bc
cmc
xchg edx, eax
sub byte [ecx], ch
sub esi, ebp
or esi, dword [edx - 0xb]
add esi, dword [esi - 0x7e]
int3
or ah, 0xfe
hlt
jle 0xdc58c0
idiv byte [ecx - 1]
mov ecx, 0x7e7e7e7f
lds edi, [esi + edi*2 + 0x7e]
jl 0xdc58cb
jle 0xdc58cd
jle 0xdc58cc
jl 0xdc57fd
lodsb al, byte [esi]
jno 0xdc584e
jnp 0xdc58d3
jle 0xdc58d5
hlt
lodsb al, byte [esi]
jno 0xdc585b
cmpsb byte [esi], byte es:[edi]
add dword [ecx + 0x71ac7c81], 0x7e7e7bfb
jle 0xdc585f
hlt
push 0x71ac6c38
std
adc al, 0x7e
jle 0xdc58f2
jle 0xdc58f3
jle 0xdc58c3
dec ebp
mov esi, 0xfb71ac7c
jnp 0xdc58fb
jle 0xdc58fd
hlt
hlt
push 0x6dac6c38
insb byte es:[edi], dx
lodsb al, byte [esi]
insd dword es:[edi], dx
mov esi, 0x7e78fa71
jno 0xdc58c2
js 0xdc5948
jle 0xdc594a
jle 0xdc58c2
cmc
mov eax, dword [0x7df4a655]
idiv byte [ecx + 0x39]
jns 0xdc590e
lds edi, [esi + edi*2 + 0x7e]
jle 0xdc5872
push cs
add dword [ecx + 0x7e7fc681], 0xac7c7e7e
jle 0xdc5961
lodsb al, byte [esi]
jno 0xdc58e3
jnp 0xdc5968
jle 0xdc596a
hlt
mov esi, 0xfb71ac7c
jl 0xdc58a1
jno 0xdc58f2
jnp 0xdc5977
jle 0xdc5979
hlt
cmp byte [esp + ebp*4 + 0x71], ch
cld
mov al, byte [0x55818181]
mov ebp, 0x7e7e7fc5
jle 0xdc597f
sti
dec edx
jle 0xdc5990
jle 0xdc58db
jg 0xdc5994
jle 0xdc5996
jle 0xdc5995
jl 0xdc58c6
lodsb al, byte [esi]
jno 0xdc5917
jnp 0xdc599c
jle 0xdc599e
hlt
fisub dword [eax]
xchg edi, eax
jbe 0xdc58c6
add dword [ecx + 0x769ebf36], 0xf53878f4
mov edi, 0x78f4769e
cmp ch, dh
jbe 0xdc5940
js 0xdc5986
cmc
xchg esi, eax
invalid
lodsb al, byte [esi]
insd dword es:[edi], dx
mov bh, 0x7c
lodsb al, byte [esi]
jno 0xdc5963
jnp 0xdc59e8
jle 0xdc59ea
hlt
inc dword [esi + 0x7e7e037e]
jle 0xdc597e
jle 0xdc59fb
jmp dword [edi - 0x7e7e7e7f]
cmpsd dword [esi], dword es:[edi]
add dword [ecx - 0x79007e7f], 0x7e7e7b7e
jnp 0xdc5a06
jle 0xdc5989
jmp dword [edi - 0x7e7e7e7f]
cmpsd dword [esi], dword es:[edi]
add dword [ecx - 0x79007e7f], 0x7e7e7efe
xchg dh, bh
jle 0xdc5a12
jle 0xdc5995
jmp [edi + 0x7e7e7e7e]
scasd eax, dword es:[edi]
jle 0xdc5a17
jle 0xdc5a19
inc dword [esi + 0x7e7e7efe]
xchg dh, bh
jle 0xdc5a1e
jle 0xdc59a1
jmp [edi + 0x7e7e7e7e]
scasd eax, dword es:[edi]
jle 0xdc5a23
jle 0xdc5a25
sub ch, dh
mov dword [ebp - 0x72], edx
invalid
scasd eax, dword es:[edi]
jl 0xdc5a44
jle 0xdc5a46
cmc
xchg esi, eax
sub ch, dh
mov dword [ebp - 0x72], edx
invalid
or eax, 0x23818180
push ebp
add esi, dword [esi - 0xb]
mov ecx, 0x9bf52021
and edi, dword [esi + esi*2 + 0x5a42f57e]
jbe 0xdc5a68
cmc
inc edx
pop edx
sbb bl, byte [edx + 0x7a]
sbb bl, byte [edx + 0x7a]
cmc
dec edx
pop edx
sbb bl, byte [edx + 0x7a]
xchg edi, eax
jp 0xdc5a79
jle 0xdc5a7b
xchg edi, eax
xchg ebp, eax
add bl, byte [esi + eax*8 - 0x42]
sub dl, ah
jle 0xdc5a84
jge 0xdc59c3
mov ebx, 0x7d19beff
jle 0xdc5a8c
invalid
invalid
jle 0xdc59d8
mov eax, dword [0x4eb81463]
mov eax, 0x373e6e4e
outsb dx, byte [esi]
aaa
jno 0xdc5a19
mov byte [ecx + 0x7a978181], al
jle 0xdc5aa4
jp 0xdc5aa3
jle 0xdc5aa5
jle 0xdc5a5b
xor esp, edx
les esp, [esi + 0x5f]
loop 0xdc59ee
pop edi
sub bl, bh
popfd
sub bl, byte [0xa1a10196]
mov eax, dword [0xff2c5fa2]
mov eax, dword [0x9dd12a37]
aaa
sub ah, byte [0xa1a19591]
mov eax, dword [0x5b26798a]
xchg ebp, eax
mov eax, dword [0x798aa1a1]
pop ebx
mov eax, dword [0x26798aa1]
pop ebx
sub bl, bl
mov eax, dword [0x58265b26]
sub bl, al
movsd dword es:[edi], dword [esi]
pop eax
and byte [ebx - 0x5f], bl
mov eax, dword [0x25aea1a1]
out 0xa1, eax
mov eax, dword [0x2077a2a1]
test ax, 0xa1a1
mov eax, dword [0xa1a94820]
mov eax, dword [0xa15820a1]
mov eax, dword [0x25aea1a1]
insd dword es:[edi], dx
test eax, 0x20a1a1a1
dec eax
test eax, 0x20a1a1a1
pop eax
mov eax, dword [0xaea1a1a1]
and eax, 0x5e5e5e6d
pop esi
pop esi
pop esi
invalid
and al, byte [ecx - 0x52]
and byte [ecx - 0x5e], bl
mov eax, dword [0x24aea1a1]
lodsb al, byte [esi]
mov eax, dword [0x2ac7a1a1]
cmpsb byte [esi], byte es:[edi]
mov eax, dword [0xa1ac24ae]
mov eax, dword [0xa62ac7a1]
and byte [ecx + 0x5e], al
scasb al, byte es:[edi]
mov eax, dword [0xa063a2a1]
mov ecx, 0x6622e8e8
mov word [0x5e5e6948], ax
mov dword [0x5e5e6948], eax
dec eax
imul ebx, dword [esi + 0x5e], 0xa1a5485e
mov eax, dword [0x485647a1]
pop esi
dec eax
movsd dword es:[edi], dword [esi]
mov eax, dword [0x5647a1a1]
dec eax
push esi
sbb dword [ecx - 9], esp
cmp eax, 0x2064a2a1
popal
mov eax, 0x18a1a1a5
dec esi
mov al, byte [0x351ba1a1]
jo 0xdc5b2a
inc edi
xchg ecx, eax
mov cl, 0xe1
call 0x5f337f80
pop esi
pop esi
dec eax
movsd dword es:[edi], dword [esi]
mov eax, dword [0xc6b6a1a1]
test eax, 0xbec2b247
inc edx
or dword [edx + 0x289bec2], esi
mov ch, 0x35
xor eax, 0xb6cb3635
dec edx
cmp dword [0x359eb13a], esi
xor eax, 0x3972be35
retf 0x7da0
mov al, 0x3f
xor eax, 0x4ab63535
and eax, 0x68b13a35
xor eax, 0x51b83535
adc ecx, ecx
mov esp, 0x6f601119
mov esi, 0xdb36255a
mov dh, 0x48
xor eax, 0x70b13a35
xor eax, 0x78be3535
xor eax, 0xfc3e6765
cmp bh, byte [ebx + esi + 0x64353535]
fdivr qword [edx]
xor eax, 0xfb363535
mov ah, 0xf4
aaa
xor eax, 0x51b83535
adc ecx, ecx
mov esp, 0x51b81139
adc ecx, ecx
mov esp, 0xa7ca1131
jns 0xdc5b72
adc dword [eax - 0x4336eeaf], edi
xor dword [ecx], edx
retf 0x79a7
dec ebx
xor eax, 0x3570bc6f
mov esi, 0x51b81131
adc dword [ecx], esi
mov ah, 0xf0
xor dword [0x84dc3535], esi
retf 0xcaca