Function at 0x2c8e2c0
Capabilities:
Encode data using xor

Disassembly:
cli
int3
inc ebp
xor eax, 0xbbd675a4
add esi, ebp
xchg edx, eax
mov dword [eax - 0x28ca45d6], ecx
sub ebp, ebx
jmp 0x2c8e2ca
invalid
insb byte es:[edi], dx
retf
jmp 0x2c8e2ca
pushal
call 0x2c8e2d0
pop ebp
sub ebp, 0x10
sub ebp, 0x288e2c0
jmp 0x2c8e2e6
mov eax, 0x288e2c0
add eax, ebp
loop 0x2c8e272
add al, byte [ebx]
lds eax, [ecx + 0x4cc0]
add byte [ecx + 0x5e4], bh
add eax, 0x4c
ror byte [eax + eax], 0
mov ecx, 0x5e4
mov edx, 0xd76a9572
xor byte [eax], dl
inc eax
dec ecx
jne 0x2c8e2fd
jmp 0x2c8e310
stc
mov edi, 0x724efbf9
jb 0x2c8e38a
mov bl, 0x8a
jb 0x2c8e38f
jb 0x2c8e390
mov edi, 0x72727eca
jb 0x2c8e2ee
pop edx
jb 0x2c8e39b
jb 0x2c8e2b0
nop
jno 0x2c8e2e8
stc
jle 0x2c8e3a4
jb 0x2c8e3a6
jno 0x2c8e2ed
call dword [esi]
push esi
invalid
jbe 0x2c8e393
and bl, byte [edx]
push ss
les edi, [edx + esi*2 + 0x1a]
pop esi
or byte [eax + 0x73], dh
pop esi
push esi
sbb bl, byte [0x9a596539]
ja 0x2c8e3c5
jb 0x2c8e3c7
wait
pop edx
jb 0x2c8e3cb
jb 0x2c8e382
stc
sahf
stc
idiv dword [edx + 0x72]
jb 0x2c8e3d5
stc
out 0x7e, eax
jb 0x2c8e3da
jb 0x2c8e363
jmp dword [edx + 0x72]
stc
invalid
push ss
les edi, [edx + esi*2 + 0x1a]
pop esi
pop esi
or byte [eax + 0x73], dh
pop esi
jae 0x2c8e3f3
push esi
call dword [esi]
push esi
invalid
jle 0x2c8e3f3
lcall 0x4b9b, 0x72727277
jo 0x2c8e418
jb 0x2c8e3cf
stc
sahf
lea eax, [edi]
jle 0x2c8e33b
pop es
jp 0x2c8e34b
push ds
jb 0x2c8e426
jb 0x2c8e3af
iretd
cmp al, 0x72
jb 0x2c8e43b
jge 0x2c8e3c5
cmp dh, byte [edx + 0x72]
jb 0x2c8e3e4
adc al, 0xf9
stc
outsb dx, byte [esi]
dec ebx
mov dword [edx + 0x7268f67d], ebx
lcall 0x7272, 0x7268f67d
jb 0x2c8e44e
mov dword [ebx + 0x7263f67d], ebx
jb 0x2c8e457
jb 0x2c8e3fa
adc al, 0xf3
mov dword [ebp + 0x67f67d57], ecx
mov dword [ebp + 0x67f67d57], ecx
jb 0x2c8e461
jb 0x2c8e461
jb 0x2c8e424
wait
mov esi, 0x5b8d8d8d
dec ebx
lea ecx, [ebp + 0x4b3e5b8d]
jae 0x2c8e3ec
int1
mov bl, 0x77
int1
lcall 0x8d8d, 0x8dcf9b76
pop ebx
dec ebx
jo 0x2c8e3fb
iretd
mov bl, 0x74
int1
cwde
jbe 0x2c8e401
lcall 0x8d8d, 0x8dd99b77
stc
pop esi
push esi
call dword [esi]
push esi
jbe 0x2c8e3cf
jle 0x2c8e493
daa
stc
sahf
and al, 0x25
daa
stc
pop es
jle 0x2c8e424
invalid
mov ch, 0x73
jb 0x2c8e4b1
jb 0x2c8e40a
leave
jo 0x2c8e4b5
jb 0x2c8e4b7
jo 0x2c8e3e7
jge 0x2c8e440
ja 0x2c8e4bd
jb 0x2c8e4bf
clc
xor al, 0x60
mov al, byte [0x8daaf17d]
lea ecx, [ebp - 0x8825f90]
int1
stosb byte es:[edi], al
lea ecx, [ebp + 0x7da0708d]
div dword [edi + 0x72]
lea esi, [eax - 0x60]
jge 0x2c8e453
ja 0x2c8e4d0
jb 0x2c8e4d2
clc
xor al, 0x60
mov al, byte [0x7218f17d]
jb 0x2c8e4dd
inc ecx
mov dl, 0x70
mov al, byte [0x7277f77d]
jb 0x2c8e4e7
clc
xor al, 0x60
mov al, byte [0x7358f17d]
jb 0x2c8e4f2
int1
pop eax
jae 0x2c8e4f1
jb 0x2c8e4f1
jo 0x2c8e422
mov al, byte [0x7277f77d]
jge 0x2c8e47b
ja 0x2c8e4f8
jb 0x2c8e4fa
clc
xor al, 0x60
xor al, 0x60
mov al, byte [0xa070b261]
jge 0x2c8e48a
ja 0x2c8e507
jb 0x2c8e509
clc
xor al, 0x60
xor al, 0x60
mov al, byte [0xa070b261]
jge 0x2c8e499
ja 0x2c8e516
jb 0x2c8e518
clc
xor al, 0x60
xor al, 0x60
mov al, byte [0xa070b261]
jge 0x2c8e4a8
mov al, byte [0x7277f77d]
div dword [edi + 0x72]
ja 0x2c8e525
jb 0x2c8e527
jb 0x2c8e4ae
clc
xor al, 0x60
xor al, 0x60
mov al, byte [0xf67db261]
jge 0x2c8e4b4
div byte [edx + esi*2 + 0x72]
je 0x2c8e532
jb 0x2c8e533
jb 0x2c8e534
jb 0x2c8e4bc
stc
lodsd eax, dword [esi]
pop ecx
stosb byte es:[edi], al
clc
jno 0x2c8e4c3
jne 0x2c8e500
leave
jo 0x2c8e540
jb 0x2c8e542
wait
add cl, byte [ebp + 0x73ca8d8d]
jb 0x2c8e54b
lea ecx, [ebp + 0x7273ca8d]
jb 0x2c8e54c
retf 0x7273
jb 0x2c8e54b
jo 0x2c8e47c
mov al, byte [0x7277f77d]
jge 0x2c8e4d5
div dword [edi + 0x72]
ja 0x2c8e552
jb 0x2c8e554
clc
xor al, 0x60
xor al, 0x60
mov al, byte [0xa070b261]
jge 0x2c8e4e4
popal
mov dl, 0x70
mov al, byte [0x7277f77d]
ja 0x2c8e561
jb 0x2c8e563
clc
xor al, 0x60
mov al, byte [0x8dacf07d]
lodsb al, byte [esi]
lea ecx, [ebp - 0x364ea673]
lea ecx, [ebp + 0x73c9b159]
pop ecx
mov cl, 0xc9
jae 0x2c8e573
jb 0x2c8e574
jb 0x2c8e575
jb 0x2c8e581
jge 0x2c8e4fc
test dword [esi + 0x72], 0x73cb7272
jb 0x2c8e57f
inc esi
jb 0x2c8e57a
jb 0x2c8e57b
jb 0x2c8e4d5
retf
jae 0x2c8e57e
jb 0x2c8e580
jb 0x2c8e57f
jo 0x2c8e4b0
mov al, byte [0x7277f77d]
jge 0x2c8e509
ja 0x2c8e586
jb 0x2c8e588
clc
xor al, 0x60
xor al, 0x60
mov al, byte [0xa070bb61]
jge 0x2c8e518
ja 0x2c8e595
jb 0x2c8e597
clc
xor al, 0x60
xor al, 0x60
mov al, byte [0x8dacf07d]
lea ecx, [ebp + 0x5985f924]
test dword [ecx - 0x79], ebx
adc esi, 0x8d7a9b2c
lea ecx, [ebp + 0x7a92b33a]
clc
pop ecx
xchg dword [ecx + 0x7a9b2cd6], eax
lea ecx, [ebp - 0x6d4cc573]
jp 0x2c8e53a
je 0x2c8e578
stc
lcall 0x7072, 0x727273cb
retf
jo 0x2c8e4ed
mov al, byte [0x7277f77d]
jge 0x2c8e546
ja 0x2c8e5c3
jb 0x2c8e5c5
jb 0x2c8e54c
clc
xor al, 0x60
xor al, 0x60
mov al, byte [0xa070bb61]
jge 0x2c8e555
mov al, byte [0x7277f77d]
ja 0x2c8e5d2
jb 0x2c8e5d4
jb 0x2c8e55b
clc
xor al, 0x60
mov al, byte [0x8dacf07d]
lea ecx, [ebp + 0xf728af3]
jb 0x2c8e5e5
rep stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea ecx, [ebp - 0x750c7273]
invalid
mov dh, byte [edx + 0x77]
jb 0x2c8e5f4
jb 0x2c8e5f1
jb 0x2c8e573
rep stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea ecx, [ebp - 0x750c7273]
bnd jb 0x2c8e5fc
mov dh, dl
jb 0x2c8e5fc
jb 0x2c8e57f
mov dword [0x72727272], eax
mov dword [0x72727272], eax
jb 0x2c8e603
mov dh, dl
jb 0x2c8e608
jb 0x2c8e609
jb 0x2c8e58b
mov dword [0x72727272], eax
mov dword [0x72727272], eax
and al, 0xf9
test dword [ecx - 0x7e], ebx
adc esi, 0x8ce99b2c
lea ecx, [ebp + 0x413474f8]
mov ebx, 0x7d739ab2
imul byte [eax + 0x72]
jb 0x2c8e62a
mov dword [0x72727270], eax
stc
lcall 0x8182, 0x5985f924
pop ecx
add byte [ecx + 0x73c92cd6], 0x72
adc esi, 0x7273c92c
salc
sub al, 0xc9
jae 0x2c8e63d
jb 0x2c8e63f
wait
add dword [ebp + ecx*4 + 0xf592f8d], ecx
jp 0x2c8e5d0
lea ecx, [ebp + 0x7a0f592f]
stc
das
pop ecx
invalid
mov ch, 0x2d
sub al, 0xf9
xchg edi, eax
das
mov al, 0x7a
jb 0x2c8e60e
sub al, 0x9b
jbe 0x2c8e657
jb 0x2c8e659
dec dword [ebx]
mul byte [ecx]
retf 0x90b2
mov bh, 0xf3
mov dl, 0x23
jno 0x2c8e669
and esi, dword [ecx + 0x72]
jb 0x2c8e5c4
lodsd eax, dword [esi]
jo 0x2c8e66e
jb 0x2c8e5c6
xchg ecx, eax
loopne 0x2c8e58f
sbb eax, 0x3b326242
jge 0x2c8e5ff
bound esi, qword [edx]
cmp edi, dword [ebp - 9]
test byte [ebp + 0x769b8d8d], cl
lea ecx, [ebp + 0x72769b8d]
wait
jbe 0x2c8e681
jb 0x2c8e682
jb 0x2c8e683
jb 0x2c8e669
push edi
push es
and bh, byte [ebp + 0x66166f16]
sbb ah, dh
lodsd eax, dword [esi]
push ss
sbb ch, byte [0x919131a6]
xchg ecx, eax
xchg edx, eax
outsd dx, dword [esi]
sbb cl, byte [edi + 0x1a]
xlatb
lodsd eax, dword [esi]
sbb dl, byte [0x9191a5a1]
xchg ecx, eax
mov edx, 0x1a6b1649
jmp 0x2c8e5cb
push 0x1695e81a
push 0x91916b10
xchg ecx, eax
xchg ecx, eax
sahf
adc eax, 0x919191d7
call 0x1330fcd9
imul edx, dword [ecx - 0x616e6e6f], 0x15
xlatb
xchg ecx, eax
xchg ecx, eax
xchg ecx, eax
xchg edx, eax
inc edi
adc byte [esi - 0x67], dl
xchg ecx, eax
xchg ecx, eax
xchg ecx, eax
adc byte [eax - 0x67], bh
cdq
xchg ecx, eax
xchg ecx, eax
xchg ecx, eax
adc byte [eax - 0x6f], ch
xchg ecx, eax
xchg ecx, eax
xchg ecx, eax
sahf
adc eax, 0x6e6e6e5d
neg dword [edx]
xchg esi, eax
push eax
jns 0x2c8e60c
popfd
adc dh, byte [ecx - 0x62]
adc byte [ecx - 0x6e], ch
xchg ecx, eax
xchg ecx, eax
xchg ecx, eax
sahf
adc al, 0x9c
xchg ecx, eax
xchg ecx, eax
xchg ecx, eax
neg dword [edx]
xchg esi, eax
adc byte [ecx + 0x6e], dh
jno 0x2c8e6f2
outsb dx, byte [esi]
sahf
xchg ecx, eax
xchg ecx, eax
xchg edx, eax
push ebx
nop
mov eax, ebx
fcom dword [edx]
push esi
xchg ebx, eax
js 0x2c8e6eb
outsb dx, byte [esi]
outsb dx, byte [esi]
outsb dx, byte [esi]
js 0x2c8e62c
xchg ecx, eax
xchg ecx, eax
xchg ecx, eax
retf
cmp dword [ecx + 0x79], 0xfc767979
jne 0x2c8e76d
jns 0x2c8e76f
bnd jne 0x2c8e774
mov edi, 0x9ec8629
jl 0x2c8e70e
in al, dx
or dword [ebp + ecx + 0x7b], edi
cli
jnp 0x2c8e6fd
push es
jne 0x2c8e77f
jns 0x2c8e77d
jbe 0x2c8e705
std
sti
jns 0x2c8e784
jns 0x2c8e707
push es
jns 0x2c8e789
jbe 0x2c8e70e
cld
jae 0x2c8e78d
jns 0x2c8e78f
jns 0x2c8e711
cli
push es
imul edi, dword [ecx + 0x76], 0x797925fd
jns 0x2c8e715
sbb eax, 0x55f0855d
pop ebp
hlt
invalid
jns 0x2c8e792
clc
mov esp, 0x7979797d
nop
jns 0x2c8e7ef
jns 0x2c8e708
into
xchg byte [esi + 0x5d55f286], al
push ebp
pop ebp
hlt
mov esi, 0x7979796d
nop
aas
xchg byte [esi - 0x79e2d27a], al
dec esp
xchg byte [0x794c861d], ch
jns 0x2c8e80e
sbb eax, 0x79794c86
jns 0x2c8e80d
jns 0x2c8e80f
jns 0x2c8e7a8
adc dword [eax - 0xb840e6f], ecx
sbb eax, 0x55f0855d
mov byte [ecx + 0x1df47bf1], dl
pop ebp
test eax, esi
push ebp
pop ebp
hlt
pop ebp
aas
inc ebp
std
dec ecx
push ecx
jns 0x2c8e82b
jns 0x2c8e82e
mov edi, 0x112d9986
sbb al, 0x59
cmp al, 0x17
adc byte [esi], bl
adc al, 0x18
pop ecx
sub dword [ebx], ecx
push ss
or eax, 0x160d1a1c
or ebx, dword [ecx + 0xf]
sbb al, 0xb
or dl, byte [eax]
push ss
pop ss
pop ecx
dec eax
push edi
dec edx
dec eax
je 0x2c8e84d
cmp eax, 0x151c0f1c
push ss
or dword [ebx + ecx], ebx
inc ebx
pop ecx
das
adc eax, 0x14101d18
adc byte [ebx], cl
pop ecx
sub cl, byte [edx + edx]
or al, 0x12
adc dword [esi], edx
pcmpeqb mm6, qword [ebx + 0x2a]
adc byte [0x5943591c], cl
adc dword [0x430a090d], ecx
push esi
push esi
sbb al, 0x17
adc byte [esi], bl
adc al, 0x18
or dword [ebx], ecx
push ss
or eax, 0x160d1a1c
or edx, dword [edi + 0x1a]
sbb al, 0x1a
or eax, 0x1a570b16
push ss
adc al, 0x56
je 0x2c8e88e
cmp al, 0x54
adc al, 0x18
adc byte [0xa594359], dl
or al, 9
or dword [esi], edx
or ecx, dword [0x10171c39]
push ds
cmp dword [edi + edx], ebx
adc byte [esi], bl
adc al, 0x18
or dword [ebx], ecx
push ss
or eax, 0x160d1a1c
or edx, dword [edi + 0x1a]
push ss
adc al, 0x74
jae 0x2c8e86e
pop ss
or ebx, dword [esi + ebx]
adc byte [edx], cl
or eax, 0x1d1c0b1c
pop ecx
or dl, byte [eax]
push ds
pop ss
sbb byte [0x741c0b0c], cl
jae 0x2c8e887
adc dword [eax], edx
or bl, byte [ecx + 9]
or edx, dword [esi]
push ds
or ebx, dword [eax]
adc al, 0x59
or dword [ebx], ecx
push ss
or eax, 0x1c0d1a1c
sbb eax, 0xd100e59
adc dword [ecx + 0x2c], ebx
aaa
sub edi, dword [esi + edi]
xor byte [edx], ch
sub eax, 0x593d3c2b
das
cmp al, 0x2b
sub dh, byte [eax]
aaa
aaa
pop ecx
push ss
pop ds
pop ecx
sub eax, 0x3c591c11
pop ss
sbb al, 0x59
cmp al, 0x17
adc byte [esi], bl
adc al, 0x18
pop ecx
sub dword [ebx], ecx
push ss
or eax, 0x160d1a1c
or esi, dword [ebx + esi*2 + 0x30]
or eax, 0x17181a59
pop esi
or eax, 0x591c1b59
sbb eax, 0xb0d0a10
adc byte [ebx], bl
or al, 0xd
sbb al, 0x1d
pop ecx
push ss
or ebx, dword [ecx + 0xc]
or bl, byte [ebx + 0x59171059]
sbb dl, byte [esi]
adc al, 0x14
sbb al, 0xb
sbb dl, byte [eax]
sbb byte [0xb0c0959], dl
or dword [esi], edx
or bl, byte [esp + esi*2]
jae 0x2c8e906
aaa
sub edi, dword [esi + edi]
xor byte [edx], ch
sub eax, 0x3d3c2b3c
pop ecx
sub dword [ebx], ebp
sub eax, 0x302d3a3c
aaa
jns 0x2c8e8fd
add byte [eax], al
add byte [ebx + 0x27], cl
add byte [eax], al
adc cl, bh
add byte [eax], al
push 0x9450
nop
leave
pop ds
cmp byte [esi], bh
seto byte [ecx + esi*8]
sbb al, 0xf1
mov dl, 0x1a
sahf
jnp 0x2c8e908
cmp byte [eax], dl
inc ecx
adc ebp, 0xffffffd4
insd dword es:[edi], dx
jns 0x2c8e92a
sahf
cmp eax, 0x5017ba4c
adc ah, bl
xor byte [esi + 0x538631f3], ch
inc edx
push edi
pushfd
pop esp
salc
clc
popfd
sbb al, 0xf
vsqrtss xmm5, xmm0, dword [esi + 0x180431a9]
mov esp, 0x27e21587
test dl, 0x84
sti
adc al, byte [esi]
arpl word [eax + 0x48], di
fstp qword [esi + 0x5ec072f4]
ret 0xa249