Function at 0xfbcf5c
Capabilities:
Encode data using xor

Disassembly:
mov ebx, dword [eax + edi]
call fcn.00fbcf09
in eax, dx
mov edx, dword [eax + 0x41]
movsb byte es:[edi], byte [esi]
shr dword [eax + 0x65], 0x42
outsb dx, byte [esi]
push ds
cmp ebp, ecx
jmp 0xfbcf1f
outsb dx, byte [esi]
nop
mov dl, 0xee
cli
ljmp 0x4bde
jmp 0xfbcf1f
pop ecx
xor ebx, 0x4ceaf026
adc si, 0x10cd
xor ebx, 0x1cabd477
add dx, 0x92c3
sub ebx, 0x23411ced
push ecx
mov dl, ah
pop esi
mov dword [eax + edi], ebx
sbb dx, 0x18a3
call 0xfbcf5c
push eax
add dl, 0xa4
jo 0xfbced3
ljmp 0x10cd:0xd681664c
ror ebp, 0xc5
idiv byte [esi]
jnp 0xfbcf24
pushal
cwde
mov ch, bh
pop edx
sub edi, 4
mov dx, 0x388
cmp edi, 0xffff1cb0
jne 0xfbcf83
movzx edx, dx
sti
jmp 0xfbcf99
add edx, 0x67432cd0
jmp 0xfbcef3
cmp dword [ebp + 0x122d1765], 0
je 0xfbcfb0
mov dword [ebp + 0x122d2b29], 1
mov eax, dword [ebp + 0x122d06c5]
mov esi, eax
mov ecx, dword [esi + 0x3c]
add esi, ecx
mov ecx, 0x400000
mov dword [ebp + 0x12454c2c], ecx
mov edi, dword [ebp + 0x122d2d55]
test edi, edi
jne 0xfbcfdb
jmp 0xfbd11c
mov esi, edi
mov ecx, 0x4a94
lodsb al, byte [esi]
xor al, 0x37
stosb byte es:[edi], al
dec ecx
jne 0xfbcfe2
mov ecx, dword [ebp + 0x122d2d55]
mov edi, dword [ebp + 0x122d06c5]
mov esi, dword [ebp + 0x12454c2c]
cmp edi, esi
jne 0xfbd00c
jmp 0xfbd10d
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
sub dword [ebp + 0x122d06e9], edx
sub edx, 8
add ecx, 8
add eax, edi
pushal
mov ebx, eax
push ebx
push 0x1000
push ebx
call dword [ebp + 0x122d1e18]
pop ebx
test eax, eax
je 0xfbd04d
lea eax, [ebp + 0x122d25a3]
push eax
push 0x40
push 0x1000
push ebx
call dword [ebp + 0x122d2fdd]
popal
mov bx, word [ecx]
test bx, 0xf000
je 0xfbd0f4
and ebx, 0xfff
add ebx, eax
cmp dword [ebp + 0x122d2acd], 1
jne 0xfbd08a
cmp byte [ebx - 2], 0xe8
jne 0xfbd08a
cmp byte [ebx + 3], 0x90
jne 0xfbd08a
jmp 0xfbd0f4
cmp byte [ebx - 1], 0xc5
jne 0xfbd0b7
cmp dword [ebp + 0x122d2d2d], 0
je 0xfbd0b7
cmp dword [ebp + 0x122d038d], 0
je 0xfbd0b7
mov byte [ebx - 1], 0xe9
jmp 0xfbd0f4
cmp dword [ebp + 0x122d1765], 0
je 0xfbd0e4
cmp byte [ebx - 1], 0xc5
jne 0xfbd0e4
cmp dword [ebp + 0x122d2d2d], 0
je 0xfbd0e4
mov byte [ebx - 1], 0xe9
jmp 0xfbd0f4
cmp dword [ebx], 0x90909090
je 0xfbd0f4
sub dword [ebx], esi
add dword [ebx], edi
add ecx, 2
sub edx, 2
jne 0xfbd04e
cmp dword [ebp + 0x122d06e9], 0
jne 0xfbd00c
mov edi, dword [ebp + 0x122d2d55]
mov ecx, 0x4a94
xor al, al
rep stosb byte es:[edi], al
mov edx, 0x28639002
mov edi, dword [ebp + 0x122d06d9]
mov ecx, 0x79
lea esi, [ebp + 0x1253416f]
rep movsb byte es:[edi], byte [esi]
xor edx, 0x28634112
mov edi, dword [ebp + 0x122d06d9]
add edi, 0xe
test edx, edx
je 0xfbd151
add edx, dword [ebp + 0x122d06c5]
mov dword [edi + 1], edx
mov edx, dword [ebp + 0x122d287b]
mov edi, dword [ebp + 0x122d06d9]
add edi, 0x54
mov dword [edi + 1], edx
mov edi, dword [ebp + 0x122d06d9]
add edi, 0x49
mov dword [edi + 1], ebp
mov edi, dword [ebp + 0x122d06d9]
add edi, 0x25
mov dword [edi + 1], ebp
jmp 0xfbd1fc
mov eax, edx
jmp 0xfbd20c
jmp 0xfbf3e3
mov edx, ebx
lea eax, [ebp + 0x12535f36]
mov dword [ebp + 0x124a07b8], eax
lea ebx, [ebp + 0x122d2b3d]
mov eax, 0x38c
mov dword [ebp + 0x122d1e93], eax
call 0xfbf407
pop eax
add eax, 0xb
mov dword [ebx], eax
jmp 0xfbf79e
dec dl
mov edx, cs
test eax, 0xed4363a8
mov cl, bl
retf