Function at 0x20c5c98
Capabilities:
Encode data using xor

Disassembly:
out 5, al
cmpsb byte [esi], byte es:[edi]
cmpsb byte [esi], byte es:[edi]
add byte [eax], al
jmp 0x20c5ca2
pushal
call 0x20c5ca8
pop ebp
sub ebp, 0x10
add byte [eax], al
sub ebp, 0x1cc5c98
jmp 0x20c5cbe
mov eax, 0x1cc5c98
add eax, ebp
pop esp
int3
add eax, 0x4c
mov ecx, 0x5ae
mov edx, 0x3b1ca478
xor byte [eax], dl
inc eax
dec ecx
jne 0x20c5cd5
jmp 0x20c5ce8
mov ch, 0xf3
int1
int1
inc esp
js 0x20c5d67
js 0x20c5cea
mov ecx, 0x78787880
jnp 0x20c5cad
sar byte [esi + 0x78], 0x78
js 0x20c5cc0
push eax
js 0x20c5d79
js 0x20c5c92
lcall 0x7874, 0xf9f3b07b
js 0x20c5d84
jnp 0x20c5ccb
cmc
sbb al, 0x5c
test cl, dh
int1
jl 0x20c5d71
cmc
sbb al, 0x5c
test cl, dh
jl 0x20c5d78
adc byte [eax], al
lodsb al, byte [esi]
js 0x20c5d32
invalid
js 0x20c5cc5
push eax
js 0x20c5daf
js 0x20c5d66
xchg esp, eax
std
jo 0x20c5db7
js 0x20c5db9
in eax, dx
je 0x20c5dbd
js 0x20c5dbf
cmc
push 0xb9787878
xchg ecx, eax
jp 0x20c5d9a
jp 0x20c5d4e
mov edx, 0xfd77317c
mov word [edi - 0x45da7879], es
je 0x20c5dd8
hlt
js 0x20c5d78
adc byte [eax], al
lodsb al, byte [esi]
js 0x20c5d7d
add byte [esi + ebp - 0xf99ef88], ch
or eax, 0x5c547979
invalid
jns 0x20c5dc7
pop esp
cmc
sbb al, 0x5c
test cl, dh
int1
je 0x20c5dd7
nop
jge 0x20c5df6
js 0x20c5df7
js 0x20c5df8
js 0x20c5d12
xchg ecx, eax
inc edi
jp 0x20c5dfc
js 0x20c5d7b
sbb al, 0x5c
test cl, dh
push esp
pop esp
xchg esp, eax
xchg esp, eax
xchg dword [0x700d8774], ecx
nop
adc al, 0x78
js 0x20c5e11
js 0x20c5e10
js 0x20c5d8d
lds esi, [eax + 0x78]
lds esi, [eax + 0x78]
js 0x20c5e17
dec ebx
mov cl, 0x4b
stosb byte es:[edi], al
sti
nop
jge 0x20c5dd7
ja 0x20c5da5
js 0x20c5e24
js 0x20c5e25
lock xor byte [eax + 0x78], bh
xor byte [eax + 0x78], bh
js 0x20c5dd2
inc ecx
clc
adc dword [eax + 0x7862fc77], 0x78
nop
ja 0x20c5db8
bound edi, qword [eax + 0x78]
js 0x20c5e37
js 0x20c5db9
adc dword [ecx + 0x7869fc77], 0x78
js 0x20c5de8
js 0x20c5e41
push ds
stc
add dword [edi + 0x6dfc775d], 0x78
js 0x20c5e4c
cmp dword [ecx - 0x7878784c], edx
xchg ecx, eax
mov ah, 0x87
xchg dword [edi + 0x41345187], eax
xchg dword [edi + 0x79413451], eax
sti
push ecx
xor al, 0x41
jns 0x20c5dda
mov ecx, 0x7c90fb7d
xchg ecx, eax
lds eax, [edi + 0x2c518787]
xchg dword [ecx + 0x2c], edx
push ecx
sub al, 0x41
inc ecx
jp 0x20c5de9
mov ecx, 0x7c92fb7e
sti
nop
jge 0x20c5d88
xchg ecx, eax
rol dword [edi + 0x54f38787], cl
xchg dword [edi + 0x5c54f387], eax
push esp
pop esp
cmc
sbb al, 0x5c
jl 0x20c5dbd
je 0x20c5e7d
sub eax, 0x2f2e94f3
sub eax, 0xf3740df3
add eax, 0xf8ca8470
jo 0x20c5d96
test dl, cl
clc
retf 0xf2f8
bnd jle 0x20c5e10
mov esi, 0x78787879
invalid
ret
jp 0x20c5e9f
js 0x20c5ea1
jp 0x20c5dd5
stosb byte es:[edi], al
ja 0x20c5e2a
jge 0x20c5ea7
js 0x20c5ea9
repne outsb dx, byte [esi]
push 0xffffffffffffffaa
ja 0x20c5e33
sti
mov al, byte [0x7a878787]
stosb byte es:[edi], al
ja 0x20c5e3d
jge 0x20c5eba
js 0x20c5ebb
js 0x20c5ebc
js 0x20c5e37
repne outsb dx, byte [esi]
outsb dx, byte [esi]
push 0xffffffffffffffaa
ja 0x20c5e46
adc bh, byte [eax + 0x78]
js 0x20c5ec6
js 0x20c5e9b
mov eax, 0xfd77aa7a
jge 0x20c5ecf
js 0x20c5ed1
repne outsb dx, byte [esi]
push 0xffffffffffffffaa
ja 0x20c5e5b
push edx
jns 0x20c5edb
js 0x20c5edf
stosb byte es:[edi], al
ja 0x20c5e65
jge 0x20c5ee2
js 0x20c5ee4
repne outsb dx, byte [esi]
push 0xffffffffffffffaa
imul edi, dword [eax - 0x2885586], 0x7d
js 0x20c5ef2
js 0x20c5e6e
outsb dx, byte [esi]
push 0xffffffffffffffaa
imul edi, dword [eax - 0x2885586], 0x7d
js 0x20c5f01
js 0x20c5e7d
outsb dx, byte [esi]
push 0xffffffffffffffaa
imul edi, dword [eax - 0x2885586], 0x7d
js 0x20c5f10
js 0x20c5e8c
outsb dx, byte [esi]
push 0xffffffffffffffaa
imul edi, dword [eax + 0x787efc77], 0x78
js 0x20c5e9a
mov eax, 0x787efc77
cld
jle 0x20c5f1c
js 0x20c5f1e
repe cmpsd dword [esi], dword es:[edi]
cmpsd dword [esi], dword es:[edi]
push ebx
mov al, byte [0x7ff07bf2]
aas
jg 0x20c5eee
ret
jns 0x20c5f34
js 0x20c5f35
js 0x20c5f36
js 0x20c5f39
jp 0x20c5e6a
stosb byte es:[edi], al
ja 0x20c5ebf
jge 0x20c5f3c
js 0x20c5f3e
repne outsb dx, byte [esi]
push 0xffffffffffffffaa
imul edi, dword [eax - 0x2885586], 0x7d
js 0x20c5f4c
stosb byte es:[edi], al
ja 0x20c5ece
jge 0x20c5f4b
js 0x20c5f4d
js 0x20c5ec8
repne outsb dx, byte [esi]
outsb dx, byte [esi]
push 0xffffffffffffffaa
ja 0x20c5ed6
cli
cmpsb byte [esi], byte es:[edi]
xchg dword [edi - 0x3c44ac79], eax
jns 0x20c5f5d
xchg dword [ebx - 0x45], edx
ret
js 0x20c5f5e
js 0x20c5f5f
js 0x20c5f5f
ja 0x20c5ee6
std
dec esp
js 0x20c5f64
js 0x20c5eaf
jns 0x20c5f68
js 0x20c5f6a
jp 0x20c5e9e
stosb byte es:[edi], al
ja 0x20c5ef3
jge 0x20c5f70
js 0x20c5f72
repne outsb dx, byte [esi]
push 0xffffffffffffffaa
imul esi, dword [ecx - 0x2885586], 0x7d
js 0x20c5f80
jp 0x20c5ead
stosb byte es:[edi], al
ja 0x20c5f02
jge 0x20c5f7f
js 0x20c5f81
js 0x20c5efc
repne outsb dx, byte [esi]
outsb dx, byte [esi]
push 0xffffffffffffffaa
ja 0x20c5f0a
cmpsb byte [esi], byte es:[edi]
xchg dword [edi - 0x700cd179], eax
push ebx
lea ecx, [ebx + 0x709126dc]
xchg ecx, eax
jo 0x20c5ea6
xchg dword [edi - 0x6746cf79], eax
jo 0x20c5f18
xchg dword [edi + 0x7098b930], eax
bnd jle 0x20c5f66
jle 0x20c5f66
pause
sar dword [ecx + 0x78], 0x78
js 0x20c5faa
stosb byte es:[edi], al
ja 0x20c5f30
jge 0x20c5fad
js 0x20c5fae
js 0x20c5faf
js 0x20c5f2a
repne outsb dx, byte [esi]
outsb dx, byte [esi]
push 0xffffffffffffffaa
imul esi, dword [ecx - 0x2885586], 0x7d
jp 0x20c5eea
stosb byte es:[edi], al
ja 0x20c5f3f
jge 0x20c5fbc
js 0x20c5fbd
js 0x20c5fbe
js 0x20c5f39
repne outsb dx, byte [esi]
outsb dx, byte [esi]
push 0xffffffffffffffaa
ja 0x20c5f47
cli
cmpsb byte [esi], byte es:[edi]
xchg dword [edi + 0x7880f987], eax
add eax, 0xa1f97878
xchg dword [edi - 0x7f067879], eax
stc
cmp byte [eax + 0x7d], 0x78
js 0x20c5f5d
js 0x20c5fde
js 0x20c5fdb
stc
mov eax, dword [0x87878787]
xchg dword [edi - 0x77f0679], eax
js 0x20c5fe6
xchg ecx, edi
stc
cmp al, 0x78
js 0x20c5fe7
js 0x20c5f69
stc
test eax, 0x78787878
stc
js 0x20c5fec
js 0x20c5f6f
cmp al, 0x78
js 0x20c5ff3
stc
test eax, 0x78787878
js 0x20c5ff9
js 0x20c5fb0
invalid
invalid
invalid
fsub qword [esi]
ret
jns 0x20c6027
js 0x20c6028
js 0x20c6029
js 0x20c5f43
xchg ecx, eax
or eax, dword [esi + 0x53258787]
add eax, 0x27bff370
daa
popfd
popfd
and eax, 0xf37870ba
inc esp
pop esp
cmc
sbb al, 0x5c
jl 0x20c5ff2
xchg ecx, eax
jl 0x20c6047
js 0x20c6049
inc ebx
mov eax, dword [0xe0c0f613]
and al, 0xb4
jns 0x20c6056
mov ebp, 0x7b1bb8f9
js 0x20c605a
sbb edi, dword [ebx + 0x78]
js 0x20c5fa4
shr edi, 0x7a
js 0x20c605f
out dx, eax
jp 0x20c605e
js 0x20c5faa
ret 0x6299
cdq
bound edx, qword [esi + 0x57]
dec eax
push 0xfd773138
mov es, word [edi + 0x7c918787]
js 0x20c6072
xchg dword [edi + 0x787c9187], eax
js 0x20c6073
js 0x20c5fb1
mov ch, 0xb7
xchg esp, eax
mov bh, 0x67
xchg esp, eax
push ds
push ds
outsb dx, byte [esi]
adc ch, dh
movsd dword es:[edi], dword [esi]
push ds
outsb dx, byte [esi]
adc ah, byte [0x999939ae]
cdq
lcall 0xdf12, 0x99c71467
movsd dword es:[edi], dword [esi]
adc bl, byte [0x9999ada9]
cdq
mov dl, 0x41
adc cl, dh
cdq
adc dl, dh
popfd
sbb byte [ebx - 0x67], ah
arpl word [ecx - 0x69666667], bx
cdq
cdq
cdq
cdq
xchg esi, eax
sbb eax, 0x999999df
lcall 0x9999, 0x915e184f
cdq
sbb byte [eax - 0x6f], dh
cdq
cdq
cdq
sbb byte [eax - 0x67], ah
pushal
cdq
cdq
cdq
cdq
xchg esi, eax
sbb eax, 0x6666664d
call dword [edx]
call word [edx]
sahf
pop eax
jno 0x20c5fe7
sbb bh, byte [ecx - 0x6a]
sbb byte [ecx - 0x66], ah
cdq
cdq
popal
lcall 0x941c, 0x96999999
cdq
xchg esi, eax
sbb al, 0x94
cdq
cdq
cdq
call dword [edx]
sahf
sbb byte [ecx + 0x66], bh
xchg esi, eax
cdq
cdq
lcall 0x1ad0, 0xd081985b
pop esi
wait
jo 0x20c60c6
jo 0x20c6017
cdq
cdq
cdq
mov ecx, 0x21dcb81c
add ebp, eax
push ebp
cwde
lcall 0x999d, 0x9659185c
cdq
and byte [edx - 0x68], dh
cdq
cdq
and esp, dword [edi - 0x56b946cb]
mov ecx, ebx
rcl byte [esi + 0x66666f1c]
jo 0x20c6041
cdq
cdq
cdq
add bh, byte [edx]
je 0x20c60cc
push eax
sub al, 0xd0
wait
and byte [eax + 0x2c], dl
sbb edx, dword [eax - 0x585858d9]
movsb byte es:[edi], byte [esi]
pop ecx
and al, 0xd8
stosd dword es:[edi], eax
cmpsd dword [esi], dword es:[edi]
test al, 0x23
adc al, 0xa7
cmpsd dword [esi], dword es:[edi]
cmpsd dword [esi], dword es:[edi]
sub al, 0xe0
stosd dword es:[edi], eax
loopne 0x20c6073
movsb byte es:[edi], byte [esi]
popal
sub al, bl
sbb dword [ebx + 0x2e], 0xffffffa3
sbb dword [eax + 0x32], 0xffffffaf
invalid