Function at 0xff2bc8
Capabilities:
Encode data using xor

Disassembly:
mov bh, 0x54
stosb byte es:[edi], al
push 0xffffffffffffffb7
inc eax
stosb byte es:[edi], al
pop esi
mov cl, 0x7c
mov ebp, 0x3b6806c1
inc esi
mov cl, dh
mov al, byte [0x6444ba02]
and byte [esi], 0x1b
invalid
jmp 0xff2bd2
pushal
call 0xff2bd8
pop ebp
sub ebp, 0x10
sub ebp, 0xbf2bc8
jmp 0xff2bee
mov eax, 0xbf2bc8
add eax, ebp
add eax, 0x4c
mov ecx, 0x5f9
mov edx, 0xf360088
xor byte [eax], dl
inc eax
dec ecx
jne 0xff2c05
jmp 0xff2c18
add eax, dword [ebp + 3]
add dword [eax + ecx*4 + 0x49098888], esi
jo 0xff2bac
mov byte [eax - 0x72cfba75], cl
mov byte [eax - 0x775fcd78], cl
mov byte [eax + 0x408b6a7f], cl
add ecx, dword [ecx]
test byte [eax + 0x4d8b8888], cl
fadd dword [0x174acec]
mov word [eax - 0x7779da98], gs
loopne 0xff2cad
cmc
cmp byte [eax - 0x1f535b77], cl
invalid
mov bh, 0x8a
mov byte [eax + 0x77d5dcdd], cl
mov cl, byte [eax - 0x2a232278]
ja 0xff2cb3
aad 0x77
std
test byte [edi - 3], dh
and byte [eax - 6], 0x88
mov byte [eax - 0x777fcafd], cl
mov byte [eax + 0x6fe67909], cl
sbb eax, 0xe679096f
outsd dx, dword [esi]
sbb eax, 0xbb41bb6f
pop edx
or esp, dword [eax - 0x73]
rol byte [edi - 0x777739f4], 0x88
xchg dword [eax], eax
ror byte [eax + 0x3ee8888], 0x94
mov cl, 8
jae 0xff2d4c
xchg dword [edx + edx*4], ecx
mov byte [eax + 0x61730888], cl
xchg dword [ecx + ebx*4], ecx
mov byte [eax + 0x7309ee88], cl
ja 0xff2cad
xchg dword [ebx*4 - 0x36777778], ecx
popal
inc esp
mov byte [eax + 0x4461c988], cl
ja 0xff2d82
ja 0xff2cae
les esi, [ecx - 0x72b6f477]
or esp, dword [eax - 0x74]
popal
xor eax, 0xa1777777
fdiv qword [ecx - 0x71b6f476]
or esp, dword [edx - 0x74]
or esp, dword [eax - 0x73]
popal
and esi, dword [edi + 0x77]
ja 0xff2d03
dec edx
test byte [eax - 0x219bfc23], cl
invalid
mov dword [eax - 0x75cc7778], ecx
mov byte [eax - 0x78a57578], cl
or eax, 0x8888888d
add bl, byte [esi - 0x78a56532]
or edx, dword [eax + 0x77]
ja 0xff2ddf
mov bl, byte [edx - 0x79]
or eax, 0x8888888d
add bl, byte [esi - 0x78a56532]
or esp, edx
mov byte [eax - 0x75b74478], cl
pop edx
xchg dword [0x8888888d], ecx
add bl, byte [esi - 0x78a56532]
or esp, dword [edx - 0x75777777]
pop edx
xchg dword [0x8888888d], ecx
add bl, byte [esi - 0x64a56532]
dec eax
mov bl, byte [edx - 0x79]
mov byte [eax - 0x3161fd78], cl
lcall 0x8889, 0xa20b875a
mov byte [edx - 0x72f278a6], cl
mov byte [eax - 0x3161fd78], cl
lcall 0x875a, 0x8a489b5a
or eax, 0x8888888d
add bl, byte [esi - 0x64a56532]
dec eax
mov bl, byte [edx - 0x79]
or eax, 0x8888888d
xchg dword [0x8888888d], ecx
add bl, byte [esi - 0x64a56532]
dec eax
mov bl, byte [edx - 0x79]
or eax, 0x8888888d
add bl, byte [esi - 0x64a56532]
dec eax
xchg dword [esi + ecx*4], ecx
mov byte [eax - 0x5ca8fc78], cl
push eax
add cl, byte [ebx + 0x33cf8f00]
mov cl, byte [eax - 0x79e7778]
mov byte [ecx - 8], ah
ja 0xff2e5b
ja 0xff2e16
mov dword [eax + 0x5a8a8888], ecx
xchg dword [0x8888888d], ecx
mov byte [eax - 0x78a57578], cl
or eax, 0x8888888d
add bl, byte [esi - 0x64a56532]
dec eax
mov bl, byte [edx - 0x79]
or eax, 0x8888888d
add bl, byte [esi - 0x78a56532]
or dl, byte [esi + 0x77]
ja 0xff2e83
push esi
ja 0xff2e82
ja 0xff2db0
mov dword [0x8889334b], eax
mov byte [eax - 0x7743f279], cl
mov byte [eax - 0x777776cf], cl
mov byte [edx - 0x72f278a6], cl
mov byte [eax - 0x3161fd78], cl
dec ebx
xor ecx, dword [ecx - 0x78777778]
or eax, 0x888888bc
xor dword [ecx - 0x75777778], ecx
pop edx
xchg dword [0x8888888d], ecx
add bl, byte [esi - 0x64a56532]
inc ecx
mov bl, byte [edx - 0x79]
mov byte [eax - 0x7776ce78], cl
mov byte [eax + 0xd875a8a], cl
lea ecx, [eax - 0x61fd7778]
into
lcall 0x875a, 0x8a419b5a
or eax, 0x8888888d
add bl, byte [esi - 0x78a56532]
or dl, byte [esi + 0x77]
ja 0xff2eb7
fiadd word [ebx]
jg 0xff2de7
jge 0xff2ec1
sub al, 0xd6
popal
xor byte [edi + 0x77], 0x77
ror byte [ecx + 0x68], 0x80
add cl, byte [esi + 0x316003ce]
mov dword [eax + 0x5a8a8888], ecx
xchg dword [0x8888888d], ecx
mov bl, byte [edx - 0x79]
or eax, 0x8888888d
add bl, byte [esi - 0x64a56532]
inc ecx
mov bl, byte [edx - 0x79]
or eax, 0x8888888d
add bl, byte [esi - 0x78a56532]
or dl, byte [esi + 0x77]
ja 0xff2ef4
xchg dword [edx], ecx
push esi
ja 0xff2ef3
ja 0xff2e87
or dword [eax - 0x78], esi
jo 0xff2e08
cmc
mov byte [eax + 0x77775109], cl
mov byte [ecx], cl
push ecx
ja 0xff2efe
or dword [ecx + 0x77], edx
ja 0xff2eff
ja 0xff2f00
ja 0xff2e93
or dword [eax - 0x78], esi
jo 0xff2e14
lea ecx, [eax + 0x77510988]
ja 0xff2f0b
ja 0xff2f0c
ja 0xff2e9f
or dword [eax + 8], esi
jo 0xff2ea0
mov byte [eax - 0x77a6f678], cl
mov byte [eax + 0x8700988], cl
mov byte [eax - 0x77f78ff7], cl
mov byte [eax - 0x7777a6f7], cl
mov byte [eax - 0x5c80fc22], cl
mov byte [ecx], cl
jo 0xff2eac
mov byte [eax - 0x77a6f678], cl
mov byte [eax + 0x7f03de88], cl
mov dword [0xd62c7b78], eax
mov dh, bl
add edi, dword [edi - 0x5d]
js 0xff2f2e
sub al, 0xd6
popal
adc esi, dword [esi + 0x77]
jbe 0xff2f30
ja 0xff2f31
ja 0xff2ebd
add cl, byte [esi + 0x4841bbce]
pushal
mov cs, esi
mov ebx, 0x89604841
xchg dword [edx + edx*4], ecx
mov byte [eax - 0x75a6f678], cl
mov byte [eax - 0x219ffc78], cl
add edi, dword [edi - 0x5d]
mov dword [edi - 0x77776df4], eax
mov byte [ecx], cl
pop ecx
mov cl, byte [eax + 0x60038888]
fiadd word [ebx]
jg 0xff2e77
js 0xff2f51
sub al, 0xd6
xor ecx, dword [ecx + 0x61888888]
sti
jbe 0xff2f58
ja 0xff2eb8
mov dword [0x4f0380f5], eax
xlatb
salc
add ebp, dword [ebp - 0x2b]
dec edx
or byte [eax + 0x5acb403], 0xec
add eax, 0xd68cacec
in al, dx
lodsb al, byte [esi]
mov esi, ss
popal
mov word [eax - 0x107c7778], cs
out dx, eax
lcall 0x8837, 0xa3403045
mov ecx, dword [ebp + 9]
dec eax
xlatb
inc ebp
xor byte [eax - 0x5d], al
aaa
mov byte [ebx - 0x28b7f6b3], cl
mov ecx, dword [eax - 0x7591ce78]
mov byte [eax + 0x22fcb932], cl
push cs
mov eax, 0x87c1c898
or eax, 0x7777777e
mov byte [eax - 0x777591cf], cl
mov byte [edx], dh
mov ecx, 0xb80e22fc
cwde
enter 0xffffffffffff87c1, 0xd
jle 0xff2f97
ja 0xff2f99
popal
mov word [eax - 0x757a7778], cs
scasd eax, dword es:[di]
inc edi
xor al, bh
test dword [edx], esi
mov dword [ebp + 0x198e0532], 0xbab9b9b9
inc edi
xor ah, byte [edi + 0x2f]
xor al, byte [0xb9b9198e]
add eax, 0xb9b9198e
mov ecx, 0x673247ba
das
xor cl, cl
test dword [edi], ebp
das
xor bh, byte [0xb9b98d89]
mov ecx, 0xee326192
mov ecx, 0x38bdf632
inc ebx
mov ebp, 0xb9b94338
mov ecx, 0xff3db6b9
mov ecx, 0xb6b9b9b9
cmp eax, 0xb9b9b9ff
mov edx, 0xb17e386f
mov ecx, 0x6fbab9b9
cmp byte [esi - 0x4f], bh
mov ecx, 0x5038b9b9
mov cl, 0xb9
mov ecx, 0xb94038b9
mov ecx, 0x3db6b9b9
insd dword es:[edi], dx
inc esi
inc esi
inc esi
fbstp tbyte [edx]
mov esi, 0x3ab55178
pop ecx
mov dh, 0x38
inc ecx
mov edx, 0xb6b9b9b9
cmp al, 0xb4
mov ecx, 0x32dfb9b9
mov esi, 0xb6465938
mov ecx, 0xb87bbab9
jnp 0xff2f4e
mov eax, dword [0x7e3af0f0]
mov ebx, 0x46467150
invalid
cmp bh, byte [esi - 0x45]
push eax
jno 0xff2fe5
inc esi
inc esi
push eax
mov ebp, 0x89b9b9b9
cli
fmul qword [ecx + 1]
jno 0xff2f3f
push es
mov ecx, 0x79387cba
mov cl, 0xbd
mov ecx, 0xbb8400b9
mov ecx, 0x27703b9
jns 0xff2f94
mov dword [ecx + 0x3cb6f0f9], ebp
dec edi
inc esi
inc esi
inc esi
push eax
mov ebp, 0x82b9b9b9
in al, 0x50
std
invalid
inc eax
div dword [edi + 0x77]
ja 0xff3057
mov esp, esi
or byte [ebx + 0x77], bh
js 0xff2fdd
mov dh, 0x77
ja 0xff3065
cld
xor byte [ebx + 0x74], bh
mov cl, 0xfa
adc edx, dword [ebx - 0x75]
invalid
push ebx
mov edi, esi
jae 0xff30af
and eax, 0xfe78be7c
jnp 0xff30da
ja 0xff30dc
cli
adc edx, dword [ebx - 0x75]
invalid
and edx, dword [ebx]
mov byte [edx + 0x77], al
ja 0xff312d
ja 0xff30d7
jns 0xff30ff
enter 0x2277, 0xfffffffffffffffa
adc edx, dword [ebx - 0x75]
inc byte [ebx + 0x53]
inc ebx
push ebx
loope 0xff30c2
pop es
dec ebx
loope 0xff30c6
inc edi
pop edi
ja 0xff3146
ja 0xff3145
mov cl, 0x88
xchg edi, eax
and ebx, dword [edi]
adc dl, byte [edi + 0x32]
sbb dword [esi], ebx
push edi
xor bl, byte [ecx]
push ds
adc byte [edx], bl
push ss
sbb dl, byte [esi]
push edi
daa
add eax, 0x14120318
add ebx, dword [eax]
add eax, 0x5120157
add al, 0x1e
sbb byte [ecx], bl
push edi
inc esi
pop ecx
inc esp
inc esi
jp 0xff3174
xor edx, dword [edx]
add dword [edx], edx
sbb ebx, dword [eax]
pop es
adc al, byte [0x1b21574d]
add eax, 0x1b21574d
push ss
adc ebx, dword [esi]
sbb bl, byte [esi]
add eax, 0x1c022457
pop ds
sbb byte [ecx], al
jp 0xff3190
and al, 0x1e
add edx, dword [edx]
push edi
dec ebp
push edi
pop ds
add eax, dword [ebx]
pop es
add al, 0x4d
pop eax
pop eax
adc bl, byte [ecx]
push ds
adc byte [edx], bl
push ss
pop es
add eax, 0x14120318
add ebx, dword [eax]
add eax, 0x1a181459
adc al, 3
sbb byte [0x1a181459], al
pop eax
jp 0xff31b5
xor bl, byte [edx + 0x1a]
push ss
push ds
sbb edx, dword [edi + 0x4d]
push edi
add al, 2
pop es
pop es
sbb byte [0x19123703], al
add eax, 0x19123703
push ds
adc byte [edx], bl
push ss
pop es
add eax, 0x14120318
add ebx, dword [eax]
add eax, 0x1a181459
jp 0xff31db
and bl, byte [ecx]
add eax, 0x41e1012
add edx, dword [edx]
add eax, 0x4571312
push ds
adc byte [ecx], bl
push ss
add eax, dword [edx]
add eax, 0x237d7a12
pop ds
jp 0xff31f3
and ebx, dword [edi]
push ds
add al, 0x57
pop es
add eax, 0x16051018
sbb dl, byte [edi + 7]
add eax, 0x14120318
add edx, dword [edx]
adc edx, dword [edi]
push ds
add ebx, dword [edi]
pop ds
push edi
and bh, byte [ecx]
and eax, 0x243e3032
and esp, dword [0x21573332]
xor ah, byte [0x39383e24]
push edi
sbb byte [ecx], dl
push edi
and ebx, dword [edi]
adc dl, byte [edi + 0x32]
sbb dword [esi], ebx
adc byte [edx], bl
push ss
push edi
daa
add eax, 0x14120318
add ebx, dword [eax]
add eax, 0x33e7d7a
push edi
adc al, 0x16
sbb dword [eax + 3], edx
push edi
adc eax, 0x1e135712
add al, 3
add eax, 0x302151e
adc dl, byte [ebx]
push edi
sbb byte [0x12040257], al
add al, 0x12
adc edx, dword [edi + 0x1e]
sbb dword [edi + 0x14], edx
sbb byte [edx], bl
sbb dl, byte [edx]
add eax, 0x1b161e14
push edi
pop es
add al, byte [0x12041807]
jp 0xff3273
adc bh, byte [edx + 0x7d]
and bh, byte [ecx]
and eax, 0x243e3032
and esi, dword [edx]
and eax, 0x27573332
and eax, 0x34322338
and edi, dword [esi]
cmp byte [ecx], bh
ja 0xff3213
add byte [eax], al
add byte [ebp - 0x1ffffff0], dl
adc byte [eax], al
add al, ah
test byte [eax], 0
mov bl, 0x86
mov dl, byte [ecx - 0x72546b56]
rcl dword [0xbf86e931]
cmpsb byte [esi], byte es:[edi]
sbb byte [eax - 0x80421c1], cl
xor byte [ebx - 0x68], cl
cmp ch, dh
cmp eax, 0x1ddab118
or eax, 0xc5c0cc6
cmpsb byte [esi], byte es:[edi]
adc eax, 0x30d4f64
out dx, eax
adc dword [ecx + 0x7e3d010c], eax
cmpsd dword ds:[esi], dword es:[edi]
ror byte [ecx - 0xf], cl
xchg esi, eax
sbb eax, dword [edi - 0x1aed61af]
retf
int3