Function at 0x8bc5e6
Capabilities:
Encode data using xor

Disassembly:
pop eax
add eax, 0xb
mov dword [ebx], eax
jmp 0x8bc5dc
call 0x8bc5e6
add byte [ecx - 0x4f], bl
pop esi
aam 0xfc
pop ecx
and esi, 0x71f7cad3
sti
add ecx, 0xe9cb
xor edx, 0x2131cee7
sti
mov ebx, 0x3a46
movzx edi, bx
mov eax, dword [ecx]
jmp 0x8bc61a
xor eax, 0x10d808a4
mov esi, 0x6f64b960
add eax, 0x3fc05469
pushal
movzx edx, si
jg 0x8bc63a
adc si, 0xee54
popal
add eax, 0xbcff6de
pushal
or dh, 0
or edi, 0x61fa91fa
popal
push eax
jo 0x8bc653
pop dword [ecx]
mov esi, edi
sub ecx, 3
movzx edi, si
dec ecx
jmp 0x8bc66b
dec ebx
jne 0x8bc68a
movzx esi, dx
sti
jmp 0x8bc698
jmp 0x8bc604
cmp dword [ebp + 0x122d0009], 0
je 0x8bc6af
mov dword [ebp + 0x122d2a1b], 1
mov eax, dword [ebp + 0x122d073d]
mov esi, eax
mov ecx, dword [esi + 0x3c]
add esi, ecx
mov ecx, 0x400000
mov dword [ebp + 0x122d370f], ecx
mov edi, dword [ebp + 0x122d2af7]
test edi, edi
jne 0x8bc6da
jmp 0x8bc81b
mov esi, edi
mov ecx, 0x3ce4
lodsb al, byte [esi]
xor al, 0x37
stosb byte es:[edi], al
dec ecx
jne 0x8bc6e1
mov ecx, dword [ebp + 0x122d2af7]
mov edi, dword [ebp + 0x122d073d]
mov esi, dword [ebp + 0x122d370f]
cmp edi, esi
jne 0x8bc70b
jmp 0x8bc80c
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
sub dword [ebp + 0x122d0add], edx
sub edx, 8
add ecx, 8
add eax, edi
pushal
mov ebx, eax
push ebx
push 0x1000
push ebx
call dword [ebp + 0x122d2902]
pop ebx
test eax, eax
je 0x8bc74c
lea eax, [ebp + 0x122d38ee]
push eax
push 0x40
push 0x1000
push ebx
call dword [ebp + 0x122d3458]
popal
mov bx, word [ecx]
test bx, 0xf000
je 0x8bc7f3
and ebx, 0xfff
add ebx, eax
cmp dword [ebp + 0x122d2c67], 1
jne 0x8bc789
cmp byte [ebx - 2], 0xe8
jne 0x8bc789
cmp byte [ebx + 3], 0x90
jne 0x8bc789
jmp 0x8bc7f3
cmp byte [ebx - 1], 0xc5
jne 0x8bc7b6
cmp dword [ebp + 0x122d2a8f], 0
je 0x8bc7b6
cmp dword [ebp + 0x122d1151], 0
je 0x8bc7b6
mov byte [ebx - 1], 0xe9
jmp 0x8bc7f3
cmp dword [ebp + 0x122d0009], 0
je 0x8bc7e3
cmp byte [ebx - 1], 0xc5
jne 0x8bc7e3
cmp dword [ebp + 0x122d2a8f], 0
je 0x8bc7e3
mov byte [ebx - 1], 0xe9
jmp 0x8bc7f3
cmp dword [ebx], 0x90909090
je 0x8bc7f3
sub dword [ebx], esi
add dword [ebx], edi
add ecx, 2
sub edx, 2
jne 0x8bc74d
cmp dword [ebp + 0x122d0add], 0
jne 0x8bc70b
mov edi, dword [ebp + 0x122d2af7]
mov ecx, 0x3ce4
xor al, al
rep stosb byte es:[edi], al
mov edx, 0x28615cd2
mov edi, dword [ebp + 0x122d0e09]
mov ecx, 0x79
lea esi, [ebp + 0x1254086e]
rep movsb byte es:[edi], byte [esi]
xor edx, 0x28634112
mov edi, dword [ebp + 0x122d0e09]
add edi, 0xe
test edx, edx
je 0x8bc850
add edx, dword [ebp + 0x122d073d]
mov dword [edi + 1], edx
mov edx, dword [ebp + 0x122d33de]
mov edi, dword [ebp + 0x122d0e09]
add edi, 0x54
mov dword [edi + 1], edx
mov edi, dword [ebp + 0x122d0e09]
add edi, 0x49
mov dword [edi + 1], ebp
mov edi, dword [ebp + 0x122d0e09]
add edi, 0x25
mov dword [edi + 1], ebp
jmp 0x8bc8fb
mov eax, edx
jmp 0x8bc90b
jmp 0x8becdf
mov edx, ebx
lea eax, [ebp + 0x12542818]
mov dword [ebp + 0x122d36dc], eax
dec dl
pop ebp
dec esp
fisubr dword [eax - 0x75613b2e]
cwde
dec esp
fisubr dword [eax + 0x75ead5ab]
jo 0x8bed4e
fisubr dword [eax - 0x75613a28]
mov edx, 0xb557ae5d
lds ebx, [esi - 0x25ad9f76]
test al, 0xab
aad 0xea
jne 0x8bed43
push edx
fisubr dword [eax - 0x75612505]
mov ch, 0x52
fisubr dword [eax - 0x7561249b]
das
push ebx
fisubr dword [eax + 0x75ead5ab]
and eax, 0x7aacd42f
jle 0x8bed3d
add eax, eax
jns 0x8bedb7
cld
inc esi
cmpsd dword [esi], dword es:[edi]
nop
clc
imul esi, esi, 0x43
and ecx, edx
cmc
sal ebp, 1
cmp esi, ebx
push edi
das
aam 0x61
jp 0x8bedcb
pop es
add eax, eax
inc ecx
jge 0x8bed4f
rol byte [ecx + 0x7d], 0xfc
inc esi
cmpsd dword [esi], dword es:[edi]
nop
stosd dword es:[edi], eax
push 0xfffffffffffffff6
inc ebx
and ecx, edx
sar dword [ecx], 0xde
push edi
das
aam 0xd0
jnp 0x8bede3
pop es
add eax, eax
dec ebp
jge 0x8bed67
ror byte [ebp + 0x7d], 0xfc
inc esi
cmpsd dword [esi], dword es:[edi]
nop
inc edi
push 0xfffffffffffffff6
inc ebx
and ecx, edx
fnstsw word [ecx]
ficom word [edi + 0x2f]
aam 0xb9
jle 0x8bed85
jle 0x8bed85
add eax, eax
pop ecx
jge 0x8bed7f
rcr byte [ecx + 0x7d], 0xfc
inc esi
cmpsd dword [esi], dword es:[edi]
nop
sal byte [ebp - 0xa], 1
inc ebx
and ecx, edx
sub dword [eax], edi
ficom word [edi + 0x2f]
aam 0x33
jle 0x8bed9d
add eax, eax
movsd dword es:[edi], dword [esi]
jl 0x8bed97
shl byte [ebp - 0x58b90384], 0x90
inc esi
cmpsd dword [esi], dword es:[edi]
nop
push esi
jne 0x8bed97
inc ebx
and ecx, edx
and dword [eax], edi
ficom word [edi + 0x2f]
aam 0xb5
jle 0x8bedb5
add eax, eax
lodsd eax, dword [esi]
jl 0x8bedaf
shr byte [ebp - 0x58b90384], 0x90
inc esi
cmpsd dword [esi], dword es:[edi]
nop
fdiv qword [esi + esi*8 + 0x43]
je 0x8bedaf
inc ebx
and ecx, edx
cmp dword [eax], edi
ficom word [edi - 0x3d]
mov eax, 0x152a5012
invalid
test al, 0x4a
std
mov al, byte [ebp - 0x5e]
push ecx
aad 0xc0
stosd dword es:[edi], eax
cmpsd dword [esi], dword es:[edi]
adc dword [eax + 0x2aa8ed96], esi
adc eax, 0x2429458a
mov al, byte [0xb496e367]
mov edx, 0x54a1d5ad
jcxz 0x8bed7c
mov ah, 0xba
lodsd eax, dword [esi]
aad 0xa1
push esp
sub dl, byte [0x5564c6cb]
inc ecx
mov edx, 0xce75ead5
arpl word [esi + 0x3819ea3a], bp
cwde
test byte [edx + 0x53], al
stosd dword es:[edi], eax
adc dword [edx], esp
ljmp 0xaba4