Function at 0x2b5f0b
Capabilities:
Encode data using xor

Disassembly:
cmc
pushfd
add dword [ebp - 4], 0x14
mov byte [esp], 0xdd
lea esp, [esp + 4]
jmp 0x2bc155
pushal
mov edi, edx
lea esp, [esp + 0x20]
call fcn.002a9d48
lea esp, [esp + 0x24]
jae 0x2acc1c
stc
xor eax, eax
jmp 0x2a9a7b
jmp 0x22af67
pushfd
push 0xf8339f31
lea esp, [esp + 8]
call int.002b8fc5
push 0x47d78614
jmp 0x2adc73
push dword [esp + 4]
cmp cl, 0xbb
shl eax, 8
jmp 0x2b6bbf
push ebp
adc eax, 0xa9c85115
or ebp, eax
je 0x235b2a
pop es
add byte [edi + ebp*2 - 0x1c6b050f], cl
sbb dword [ebx + 0x10ebd6c0], ebp
inc ecx
in al, dx
cdq
or ecx, dword [edi + 0x7430f64f]
sub ebp, dword [ecx + 0x1a441b6c]
invalid
adc al, bh
jl 0x235adf
scasd eax, dword es:[edi]
jns 0x235af9
push esp
in al, dx
mov ecx, 0x6a3aae8e
lodsb al, byte [esi]
stc
inc esi
sahf
mov edx, edx
out dx, al
xchg edx, eax
add bl, byte [edi]
or dword [ebx + 0x6b], esp
inc edi
mov esp, 0x8eeb811f
or byte [eax + 0x7f5e016a], 0xa0
pushfd
wait
int1
stosd dword es:[edi], eax
in al, 0x54
lahf
out dx, al
add byte [eax], al
inc edi
je 0x235b99
outsd dx, dword [esi]
jne 0x235bbc
inc esi
imul ebp, dword [ebp + 0x4e], 0x41656d61
insd dword es:[edi], dx
inc ecx
add byte [eax + 0x40], ch
nop
add al, 0x76
call fcn.002bdb70
mov ebp, 0x1e478836
or ax, dx
btc ebp, eax
lea ebp, [esp + 0x50]
bt sp, 0xe
xor ah, 0x60
shr al, 4
mov eax, dword [ebp]
call fcn.002b6c55
call fcn.0022a84d
jecxz 0x235b15
sub eax, 0xd74932e4
int3
sar byte [eax + 0x2e4a97d6], 0x96
invalid
jle 0x235b57
invalid
pushfd
mov byte [esp], ah
pushal
lea esp, [esp + 0x24]
je 0x2a9dbb
shld esi, edi, 0x10
rcl esi, cl
clc
shld si, bp, cl
add edi, ebx
shr si, cl
mov esi, dword [edx]
pushal
test esi, esi
pushfd
pushal
lea esp, [esp + 0x44]
je 0x2b7c49
jmp 0x2b686f
pushal
mov edx, dword [ebp - 4]
lea edi, [ebx + 0x58290e1f]
pop edi
and di, 0xed84
mov edi, dword [edx + 0x10]
stc
push dword [esp]
test edi, edi
pushal
lea esp, [esp + 0x40]
jb 0x2b657d
push 0xc0901ebd
mov dword [esp], 0xbb1ec78b
lea esp, [esp + 4]
je 0x2a9dbb
shr si, 2
call fcn.00236c2e
stc
bt eax, edx
xchg dword [esp], ebp
sbb bp, cx
sub bp, di
mov ebp, esp
test di, 0xfee0
push ecx
cmc
pushal
bt ax, 3
mov dword [esp + 0x1c], ebx
add esp, 0x1c
jb 0x2ad3ca
stc
stc
stc
or eax, eax
call fcn.002aa254
sub byte [edx + 0x27e52c6b], ch
cmp eax, 0xc7f60255
outsd dx, dword [esi]
aaa
clc
pop edi
and eax, 0xb42033b6
adc bl, byte [esi - 0x6f3b94df]
cmp edi, dword [edx + 8]
xchg ebp, eax
invalid
jmp 0x2b7818
rcr si, 3
shr di, 0xa
ror si, cl
call 0x2ad3d3
push 0x7739ae40
call fcn.002be380
or ebx, dword [edx + 0x68189c96]
mov al, byte [0xe8760548]
or dword [edi + 1], eax
add byte [ebp + 0x606818bb], dh
add eax, 0x4709e876
add dword [eax], eax
call fcn.002be4ed
mov ch, 0xbb
sbb byte [eax + 0x60], ch
sar byte [edx], cl
ja 0x2a9dd5
jle 0x2a9e27
add dword [eax], eax
loop 0x2a9ddf
jmp 0x2a9df1
mov ebp, 0x168f6f41
inc edx
mov dl, 0xae
xor ch, byte [ebx - 0x3c567518]
jle 0x2a9ddd
mov eax, 0x5691a3ae
sub ebp, dword [esi - 0x6cf0b936]
jmp 0xf57f597e
mov byte [esp], 0x5f
lea esp, [esp + 8]
je 0x22a596
invalid
call fcn.002b9a83
push ebx
dec eax
inc ebp
dec esp
dec esp
xor esi, dword [edx]
insb byte es:[edi], dx
insb byte es:[edi], dx
add byte [eax - 0x80], ch
xchg byte [eax], bh
ja 0x2aa33d
lodsd eax, dword [esi]
sub byte [ecx], al
add byte [ebp - 0x3d], al
iretd
bswap si
movsx si, cl
movsx esi, bl
mov esi, dword [esp + 0x48]
pushfd
mov esp, ebp
movsx bp, bl
call fcn.002acaa6
push 0x773cff00
call fcn.002bcc06
cmp al, 0xd2
sal byte [eax - 0x69f35aa2], 1
pop eax
jb 0x2aaafd
sub byte [ebp - 0x50987cc], bl
mov ch, 0xcd
jbe 0x2aaaa3
dec ecx
jg 0x2aab01
hlt
rcr byte ds:[eax - 0x1f], cl
xor byte [eax + 0x5a], dh
invalid
push esp
mov al, byte [0xf5cead0]
faddp st(6)
pop esp
pmaxub mm0, mm6
hlt
bswap di
pushal
mov ebx, dword [esp + 0x20]
lea edi, [esp - 0x21bc318a]
pushal
mov esi, esp
mov edi, dword [esp + 0x44]
jmp 0x2aaa62
setbe al
inc ecx
pushfd
mov al, 0x10
call fcn.002acc3b
push 0x773af840
call fcn.002be5f2
xlatb
invalid
pushal
pushal
pushfd
lea esp, [esp + 0x44]
call fcn.002aa9e0
cmp si, ax
push 0xdcdbe9ec
cmp dl, 0xc4
sub ecx, ebx
mov word [esp], 0x3911
pushal
pushfd
lea esp, [esp + 0x28]
jne 0x2b640a
push 0x2569f4c
lea esp, [esp + 4]
call fcn.002b945a
pushal
mov byte [esp + 4], dh
lea esp, [esp + 0x20]
jmp 0x2bbf2a
jmp 0x2abf31
rep movsb byte es:[edi], byte [esi]
call fcn.002bbae1
push 0xffffffffffffffc5
sar dword [eax - 0x71eb0834], 1
lds eax, [eax - 0x6e]
mov eax, dword [edx + 0x18]
xor eax, 0xfdba539c
lds edi, [esi]
lahf
insb byte es:[edi], dx
xchg esp, edx
push edx
int1
int 0x3e
int 0xb5
popal
sar dword [ebx + 0x4d], 1
stosd dword es:[edi], eax
lcall 0xdb43, 0x3998634b
invalid
push ebp
or eax, eax
pushfd
call fcn.002b91a0
sub eax, eax
lea esp, [esp + 4]
js 0x2ab0db
lea esi, [eax*2 + 0x4df7d368]
pushal
movsx di, bl
mov ebx, dword [esp + 0x20]
pop edi
lea edi, [ebx*8 + 0x5a86af35]
lea esi, [ebx - 0x63b803bd]
pushal
mov edi, dword [esp + 0x40]
not esi
mov esi, dword [esp + 0x44]
push dword [esp]
mov byte [esp], ch
pushfd
jmp 0x2b6d08
call 0x22af73
push ebx
lea esp, [esp + 8]
jae 0x2b5f01
stc
test ecx, 0xed6cb645
pushfd
stc
sub ecx, ecx
pushal
lea esp, [esp + 0x24]
call int.002b8fc5
pushal
jmp 0x2ad53c
jmp 0x235602
push 0xf6af2887
call fcn.002b7ae6
pushfd
push ebp
lea esp, [esp + 0x14]
je 0x22c40f
jmp 0x2b8302
pushfd
mov byte [esp], 0xc7
mov byte [esp], ch
xchg ecx, eax
push ebp
dec eax
jmp 0x235628
jmp 0x236f05
bt eax, 0xf
cmp cl, 0xdf
add esi, ebx
pushfd
pushal
pushfd
push dword [esp]
lea esp, [esp + 0x2c]
jmp 0x2b7c4e
call fcn.002b85fa
test eax, eax
jmp 0x2aa330
mov esp, ebp
lea ebp, [esi*8 + 0x4d38fc36]
not bp
mov bp, 0xddfa
pushal
mov ebp, dword [esp + 0x20]
push dword [esp]
push esi
pushfd
pushfd
push dword [esp + 0x34]
ret 0x38
jmp 0x2acf02
pushfd
lea esp, [esp + 4]
call int.002b8fc5
pushal
lea esp, [esp + 0x20]
jae 0x2bc075
inc bl
push esi
push dword [esp]
mov bl, 2
lea esp, [esp + 8]
jae 0x2ab5fe
pushal
pushfd
inc ecx
setl al
not al
mov al, 0x10
lea esp, [esp + 0x24]
jl 0x235b87
call int.002b8fc5
push 0x491f3a46
adc al, al
pushal
jmp 0x2b8bbb
bswap si
mov esi, edi
not ah
btr ax, sp
pushfd
lahf
mov eax, dword [edx + 0xc]
bt si, bx
add eax, ebx
call fcn.00235c0e
push 0x770397c0
call fcn.002be380
sub eax, 0x66f5c0af
cmc
bsf ax, di
push 0x216e899c
xchg dword [esp], ebp
movzx ax, dl
push 0x94c87b81
movsx ax, al
pushal
mov dword [esp + 0x20], esi
movzx bp, bl
mov dword [esp + 0x1c], edi
or bp, bx
mov dword [esp + 0x18], ebx
pushal
stc
mov dword [esp + 0x34], edx
sal bp, 5
mov dword [esp + 0x30], edx
call 0x235b6a
jmp 0x2bc0e6
enter 0x4dd7, 0x4f
mov word [0xbe7f3453], ds
inc ecx
add cl, bh
arpl word [esi], si
mov ebp, dword [edi]
inc edi
scasd eax, dword es:[edi]
aam 0x8b
test eax, 0x2917bc36
pop ss
sub dword [edx + 0x551991a4], ebx
aam 0x3d
lcall 0x3dd4, 0x551991a4
xor dword [esp + ebx*4], 0xffffffd3
in eax, dx
fadd dword [edx + 0x19]
mov ebp, 0xe1cad83d
or dh, bh
xor esp, dword [edi - 0x20f21de4]
stc
mov byte es:[ebx], ah
jb 0x2b82a9
nop
jecxz 0x2b82a7
and esp, eax
invalid
lodsd eax, dword [esi]
sbb al, 0x7a
jae 0x2b828f
test esp, 0x9d74f3d8
sub dword [ebp + 0xf042464], ecx
test byte [esi], bl
aas
invalid
push 0x23b2f976
cmp bp, 0x7f3a
test dl, ah
sub al, 0x30
cmp bh, 0x51
call fcn.002b8c07
jne 0x2b82e4
salc
mov dl, 0x28
fsubr qword [edx - 1]
and al, 3
sbb byte [esi + 0x538b05bf], cl
mov ch, 0x4d
movsb byte es:[edi], byte [esi]
lcall 0x61c8, 0x236ada3b
int1
popfd
invalid
push ebx
lea esp, [esp + 0x28]
jae 0x2b784d
push 0x7504ea3a
mov byte [esp], dl
pushal
lea esp, [esp + 0x24]
jne 0x2bbf37
pushfd
jmp 0x2b8e17
stosb byte es:[edi], al
pushal
push dword [esp]
lea esp, [esp + 0x28]
jmp 0x2b57db
bt ebx, 1
mov eax, ebp
add bl, bl
sal bl, 2
mov bl, 1
stc
push 0x48b3e5e5
clc
cmp al, dh
xchg dword [esp], esi
or esi, esi
mov esi, edi
bt bx, 2
sub esi, eax
jb 0x2b7730
push ebx
pushfd
rep movsb byte es:[edi], byte [esi]
pushfd
pushfd
mov esi, dword [esp + 0x10]
pushfd
push esp
lea esp, [esp + 0x1c]
jmp 0x2b57db
pop di
mov byte [eax], ch
xor byte [esi], bl
test al, 0xd3
insb byte es:[edi], dx
cmpsd dword [esi], dword es:[edi]
pop esi
jecxz 0x2bc0b2
cmp esp, dword [ecx]
movsb byte es:[edi], byte [esi]
cmpsd dword [esi], dword es:[edi]
cmp byte [ebp - 0x43], 0x6e
pushal
not al
call fcn.002b933f
mov byte cs:[ecx], cl
pop es
test bl, bh
mov ah, pe_nt_image_headers32
jb 0x2bc099
cld
bswap esp
jp 0x2bc0cc
dec ebp
dec esp
jo 0x2bc0dd
push ebp
ja 0x2bc060
jne 0x2bc0fe
rcr byte [eax - 0x30], 0xa6
sbb eax, esp
sahf
into
shl byte [esi - 0x31611fe7], 1
push esi
out dx, eax
shl dword [eax - 0x2f], 1
les eax, [ecx - 0xa]
adc ebx, dword [ecx + 0x68]
push cs
lodsb al, byte [esi]
scasb al, byte es:[edi]
pop ss
daa
xchg edx, eax
test eax, 0x55d2587a
sub al, 0xd5
das
pop eax
rcl byte [ebp + 0x2c], cl
aad 0x2f
adc byte [edx + 0x6ece0be2], bl
aam 5
scasb al, byte es:[edi]
cmp dword [edi], ebp
pop esp
salc
imul ecx, dword [edi + 0x5a], 0xbec82099
xor al, 0xc1
ret
stc
std
dec edx
or bl, dl
and ebx, dword [esi - 0x729f46d6]
and al, 0x20
pushal
lea esp, [esp + 0x20]
jne 0x2bbf37
pushfd
stosb byte es:[edi], al
pushfd
pushfd
push dword [esp + 4]
mov word [esp], ax
lea esp, [esp + 0x10]
and al, 0x10
jmp 0x2b57db
jmp 0x2557ff