Function at 0xc4c4da4
Capabilities:
Encode data using xor

Disassembly:
jmp 0xc4c4dae
pushal
call 0xc4c4db4
pop ebp
sub ebp, 0x10
sub ebp, 0x3c4da4
mov al, byte [esp + 0x28]
cmp al, 1
je 0xc4c4dd8
add byte [ecx + 0x33], ah
rol byte [eax - 0x3e], 0xc
add cl, ch
add al, 0
add byte [eax], al
push 0x20
popal
xor eax, eax
inc eax
ret 0xc
jmp 0xc4c4de1
add byte [edx + 0x20], ch
dec esp
sahf
mov eax, 0x3c4da4
add eax, ebp
add eax, 0x63
mov ecx, 0x60b
mov edx, 0xc8bf6678
xor byte [eax], dl
inc eax
dec ecx
jne 0xc4c4df8
jmp 0xc4c4e0b
mov ch, 0xf3
int1
int1
inc esp
js 0xc4c4e8a
js 0xc4c4e0d
mov ecx, 0x78787880
jnp 0xc4c4dd0
sar byte [eax + edi*2 + 0x78], 0x78
ret 0x7850
jbe 0xc4c4eb0
adc byte [ecx - 0x56], bh
push ebp
js 0xc4c4eb7
push esp
pop esp
adc byte [edi], bh
cld
wait
mov ecx, 0x78787d90
js 0xc4c4ddc
nop
jge 0xc4c4ec0
js 0xc4c4ec2
xchg ecx, eax
push esi
js 0xc4c4ec6
js 0xc4c4e45
sbb al, 0x5c
test cl, dh
push esp
pop esp
sub al, 0x25
std
jo 0xc4c4ed4
js 0xc4c4ed6
in eax, dx
je 0xc4c4eda
js 0xc4c4edc
cmc
push 0xb9787878
xchg ecx, eax
jp 0xc4c4eb7
jp 0xc4c4e6b
mov edx, 0xfd77317c
mov word [edi - 0x45da7879], es
je 0xc4c4ef5
hlt
jns 0xc4c4e36
push ebp
js 0xc4c4f08
push esp
pop esp
cmc
sbb al, 0x5c
test cl, dh
je 0xc4c4ef4
nop
jge 0xc4c4f13
js 0xc4c4f15
xchg ecx, eax
sub dword [edx + 0x78], edi
js 0xc4c4e98
sbb al, 0x5c
test cl, dh
push esp
pop esp
sub al, 0x25
and eax, 0x87740d87
or eax, 0x78069070
js 0xc4c4f2e
xchg dword [0x700d8774], ecx
nop
jo 0xc4c4e42
push es
js 0xc4c4f2d
js 0xc4c4eaa
lds esi, [eax + 0x78]
lds esi, [eax + 0x78]
js 0xc4c4f34
stc
mov dword [ebp - 0x6d88aea], edi
jne 0xc4c4ee9
stc
mov dword [ebp + 0x4b277516], edi
push ss
jne 0xc4c4eef
dec ebx
mov cl, 0xf9
mov ah, byte [ebx]
cmp eax, 0x8af96dbd
and edi, dword [0xaa4b6dbd]
mov ebp, 0xfbaa4b6d
dec ebx
stosb byte es:[edi], al
sti
nop
jge 0xc4c4f0c
ja 0xc4c4eda
js 0xc4c4f59
js 0xc4c4f5a
lock xor byte [eax + 0x78], bh
js 0xc4c4f07
inc ecx
clc
adc dword [eax + 0x7862fc77], 0x78
nop
ja 0xc4c4eed
bound edi, qword [eax + 0x78]
js 0xc4c4eee
clc
adc dword [ecx + 0x7869fc77], 0x78
js 0xc4c4f1d
stc
add dword [edi + 0x6dfc775d], 0x78
js 0xc4c4f81
js 0xc4c4f43
cmp dword [ecx - 0x7878784c], edx
xchg ecx, eax
mov ah, 0x87
xchg dword [edi + 0x79413451], eax
xchg dword [edi + 0x41345187], eax
push ecx
xor al, 0x41
jns 0xc4c4f0f
sti
mov ecx, 0x7c90fb7d
xchg ecx, eax
jge 0xc4c4f12
nop
jl 0xc4c4eab
lds eax, [edi + 0x2c518787]
xchg dword [ecx + 0x2c], edx
push ecx
sub al, 0x41
inc ecx
jp 0xc4c4f1e
mov ecx, 0x7c92fb7e
sti
nop
jge 0xc4c4ebd
rol dword [edi - 0x45da7879], cl
je 0xc4c4fac
xchg dword [edi + 0x74ba2587], eax
js 0xc4c4f62
xchg dword [edi + 0x7874ba25], eax
sub eax, 0x2f2e94f3
xchg esp, eax
das
sub eax, 0xf3740df3
add eax, 0xf8ca8470
jo 0xc4c4ec5
retf 0xf2f8
bnd jle 0xc4c4f3f
mov esi, 0x78787879
invalid
stosb byte es:[edi], al
ja 0xc4c4f59
jge 0xc4c4fd6
js 0xc4c4fd8
repne outsb dx, byte [esi]
push 0xffffffffffffffaa
ja 0xc4c4f62
mov al, byte [0x7a878787]
stosb byte es:[edi], al
ja 0xc4c4f6c
jge 0xc4c4fe9
js 0xc4c4feb
repne outsb dx, byte [esi]
push 0xffffffffffffffaa
ja 0xc4c4f75
adc bh, byte [eax + 0x78]
js 0xc4c4fca
mov eax, 0xfd77aa7a
stosb byte es:[edi], al
ja 0xc4c4f81
jge 0xc4c4ffe
js 0xc4c5000
repne outsb dx, byte [esi]
push 0xffffffffffffffaa
ja 0xc4c4f8a
push edx
jns 0xc4c500a
js 0xc4c500e
stosb byte es:[edi], al
ja 0xc4c4f94
jge 0xc4c5011
js 0xc4c5013
repne outsb dx, byte [esi]
push 0xffffffffffffffaa
imul edi, dword [eax - 0x2885586], 0x7d
js 0xc4c5021
js 0xc4c4f9d
outsb dx, byte [esi]
push 0xffffffffffffffaa
imul edi, dword [eax - 0x2885586], 0x7d
js 0xc4c5030
js 0xc4c4fac
outsb dx, byte [esi]
push 0xffffffffffffffaa
imul edi, dword [eax - 0x2885586], 0x7d
js 0xc4c503f
js 0xc4c4fbb
outsb dx, byte [esi]
push 0xffffffffffffffaa
imul edi, dword [eax + 0x787efc77], 0x78
js 0xc4c4fc9
cmpsd dword [esi], dword es:[edi]
push ebx
mov al, byte [0x7ff07bf2]
aas
jg 0xc4c501d
ret
jns 0xc4c5063
js 0xc4c5065
jp 0xc4c4f99
stosb byte es:[edi], al
ja 0xc4c4fee
jge 0xc4c506b
js 0xc4c506d
repne outsb dx, byte [esi]
push 0xffffffffffffffaa
imul edi, dword [eax - 0x2885586], 0x7d
js 0xc4c507b
stosb byte es:[edi], al
ja 0xc4c4ffd
jge 0xc4c507a
js 0xc4c507c
js 0xc4c4ff7
repne outsb dx, byte [esi]
outsb dx, byte [esi]
push 0xffffffffffffffaa
ja 0xc4c5005
cli
cmpsb byte [esi], byte es:[edi]
xchg dword [edi - 0x3c44ac79], eax
jns 0xc4c508c
xchg dword [ebx - 0x45], edx
ret
js 0xc4c508d
js 0xc4c508e
js 0xc4c508e
ja 0xc4c5015
std
dec esp
js 0xc4c5093
js 0xc4c4fde
jns 0xc4c5097
js 0xc4c5099
jp 0xc4c4fcd
stosb byte es:[edi], al
ja 0xc4c5022
jge 0xc4c509f
js 0xc4c50a1
repne outsb dx, byte [esi]
push 0xffffffffffffffaa
imul esi, dword [ecx - 0x2885586], 0x7d
js 0xc4c50af
jp 0xc4c4fdc
stosb byte es:[edi], al
ja 0xc4c5031
jge 0xc4c50ae
js 0xc4c50b0
js 0xc4c502b
repne outsb dx, byte [esi]
outsb dx, byte [esi]
push 0xffffffffffffffaa
ja 0xc4c5039
cmpsb byte [esi], byte es:[edi]
xchg dword [edi - 0x700cd179], eax
push ebx
lea ecx, [ebx + 0x709126dc]
xchg dword [edi - 0x6746cf79], eax
jo 0xc4c5047
jle 0xc4c5095
pause
sar dword [ecx + 0x78], 0x78
js 0xc4c50d9
stosb byte es:[edi], al
ja 0xc4c505f
jge 0xc4c50dc
js 0xc4c50dd
js 0xc4c50de
js 0xc4c5059
repne outsb dx, byte [esi]
outsb dx, byte [esi]
push 0xffffffffffffffaa
imul esi, dword [ecx - 0x2885586], 0x7d
jp 0xc4c5019
stosb byte es:[edi], al
ja 0xc4c506e
jge 0xc4c50eb
js 0xc4c50ec
js 0xc4c50ed
js 0xc4c5068
repne outsb dx, byte [esi]
outsb dx, byte [esi]
push 0xffffffffffffffaa
ja 0xc4c5076
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 0xc4c508c
js 0xc4c510d
js 0xc4c510a
stc
mov eax, dword [0x87878787]
xchg dword [edi - 0x77f0679], eax
js 0xc4c5115
xchg ecx, edi
stc
cmp al, 0x78
js 0xc4c5116
js 0xc4c5098
stc
test eax, 0x78787878
stc
js 0xc4c511b
js 0xc4c509e
cmp al, 0x78
js 0xc4c5122
stc
test eax, 0x78787878
js 0xc4c5128
js 0xc4c50df
invalid
invalid
fsub qword [esi]
ret
jns 0xc4c5156
js 0xc4c5157
js 0xc4c5158
js 0xc4c5072
xchg ecx, eax
or eax, dword [esi + 0x53258787]
add eax, 0x27bff370
daa
popfd
popfd
popfd
and eax, 0xf37870ba
inc esp
pop esp
cmc
sbb al, 0x5c
jl 0xc4c5121
xchg ecx, eax
jl 0xc4c5176
js 0xc4c5178
inc ebx
stosd dword es:[edi], eax
inc edi
xor eax, 0x4435dcc0
js 0xc4c5185
mov ebp, 0x7bfeb8f9
js 0xc4c5189
invalid
rcl dword [eax - 0x3d878786], 0x99
js 0xc4c50d9
ret 0xfc99
cdq
cld
mov edx, ebp
dec eax
push 0xfd773138
mov es, word [edi + 0x7c918787]
js 0xc4c51a1
xchg dword [edi + 0x787c9187], eax
js 0xc4c51a2
js 0xc4c50e0
mov ch, 0x89
xchg ebx, eax
jl 0xc4c514d
mov dword [ebx + 0x1e671e7c], edx
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 0xe912, 0xf471267
movsd dword es:[edi], dword [esi]
movlps xmm3, qword [0x9999ada9]
cdq
cdq
cdq
mov dl, 0x41
push ds
arpl word [edx], dx
jecxz 0xc4c50ee
push ds
arpl word [edx], dx
adc dl, dh
salc
popfd
sbb byte [ebx - 0x67], ah
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, 0x66666649
call dword [edx]
sahf
pop eax
jno 0xc4c511b
xchg ebp, eax
sbb bh, byte [ecx - 0x6a]
sbb byte [ecx - 0x66], ah
cdq
cdq
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
adc eax, 0x9b5e1ad0
rcl al, 1
sbb bl, byte [esi - 0x65]
jo 0xc4c51fa
push ecx
jo 0xc4c514b
cdq
cdq
cdq
mov ecx, 0x219de11e
cmp eax, 0x9a99a5d4
pop esp
sbb byte [ecx - 0x52], bl
popfd
cdq
cdq
and byte [esi + 0x2399999b], ch
cmpsd dword [esi], dword es:[edi]
inc edi
jbe 0xc4c5235
test eax, 0x96d0d989
sbb al, 0x6f
jo 0xc4c5175
cdq
cdq
cdq
add al, byte [eax]
test al, 0xda
and byte [eax + 0x2c], dl
rcr byte [ebx + 0x1b2c5020], 1
nop
daa
cmpsd dword [esi], dword es:[edi]
cmpsd dword [esi], dword es:[edi]
cmpsd dword [esi], dword es:[edi]
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
sbb ah, byte [edi - 0x1fd35859]
stosd dword es:[edi], eax
loopne 0xc4c51a7
movsb byte es:[edi], byte [esi]
popal
neg dword [eax + 0x32]
ja 0xc4c518e
cmpsd dword [esi], dword es:[edi]
pop edi
cmpsd dword [esi], dword es:[edi]
cmpsd dword [esi], dword es:[edi]
cmpsd dword [esi], dword es:[edi]
cmpsd dword [esi], dword es:[edi]
test al, 0x22
test eax, 0x30a7a7a7
sub al, 0xdf
stosd dword es:[edi], eax
xor byte [ecx + 0x6b3258f7], ah
ja 0xc4c51a8
cmpsd dword [esi], dword es:[edi]
and al, 0xd8
stosd dword es:[edi], eax
cmpsd dword [esi], dword es:[edi]
test al, 0x23
sub ah, byte [edi - 0x27db5859]
cmpsd dword [esi], dword es:[edi]
cmpsd dword [esi], dword es:[edi]
test al, 0x22
lodsd eax, dword [esi]
cmpsd dword [esi], dword es:[edi]
cmpsd dword [esi], dword es:[edi]
cmpsd dword [esi], dword es:[edi]
and al, 0xd8
mov bh, 0xa7
test al, 0x23
retf 0xa7a7