Function at 0x4b0993
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0
add byte [esp + 0x24], dh
cmp esi, 0x7fff0081
jae 0x4b0a52
add byte [esp + 0x20], bh
mov eax, dword [edi - 0x74]
add al, dh
jae 0x4b09c7
sub esp, 4
inc dword [eax]
add byte [esi + 0x57], dl
call 0x9c0a63
add esp, 0x10
jmp 0x4b0a45
cmp esi, 0
add byte [edi - 0x76], bl
dec esp
and al, 0x28
test dword [eax], eax
je 0x4b0a2b
mov ecx, dword [edi + 0x14]
cmp ecx, esi
add byte [eax], al
ja 0x4b09df
mov ebx, ecx
xor dword [esi], 0
jb 0x4b0a18
lea ecx, [edi + 4]
mov ebp, dword [ecx]
add byte [eax], al
je 0x4b09fe
sub esp, 4
int1
add byte [ecx - 0x18], dl
push ebx
xor byte [ebp], bh
add dword [eax], 0
mov eax, dword [edi + 0x18]
lea eax, [edx + ebx*2]
cmp eax, 0x1000
jb 0x4b0a0c
add byte [eax], al
cld
sub esp, 0xc
push ebp
sub dword [eax], eax
outsd dx, dword [esi]
jl 0x4b0a15
add esp, 0x10
mov dword [eax], 0x700
add byte [ecx - 0x3899ffa9], cl
inc esp
pop edi
add al, 0
add byte [eax], al
add byte [ebp - 0x72e98a0a], al
fild dword [eax]
cmp eax, 8
jb 0x4b0a39
test esi, esi
jne 0x4b0a45
invalid
mov ecx, dword [ecx]
add byte [eax], al
adc al, 0
add byte [eax], al
add byte [esi], al
add byte [ecx], al
add byte [eax], al
test esi, esi
setne byte [eax]
add ah, al
or al, 0x5e
pop edi
pop ebx
dec ecx
add byte [ebx + 0x4c680cec], al
test cl, bl
add byte [eax], al
mov ah, 0xed
jl 0x4b0a5f
sub esp, 0xc
push 0xd9844c
add byte [ebp + ebp*8 + 0xe83007c], dh
add byte [eax + 0x53e58955], dl
or dword [esi], 0
nop
push ebp
mov ebp, esp
push ebx
push edi
push esi
add byte [eax], al
mov word [eax], es
add byte [eax], al
mov edx, dword [edx]
add byte [ebx + 0x558b0c4d], cl
add byte [eax], al
add byte [ebx + 0x4d8b0012], cl
or al, 0x8b
push ebp
or byte [ecx + 0x4d890000], cl
call 0x88500b
jne 0x4b0a6c
or esi, 7
mov ebx, dword [ebp]
add byte [ebp - 0x60], al
dec eax
mov al, 0xbe
test dword [eax], eax
inc ebp
movsb byte es:[edi], byte [esi]
or al, 0x87
fld dword [eax]
mov dword [eax], eax
add byte [ecx + 0x45c7b065], cl
salc
add byte [esi + 0x40], dl
add byte [ebp + 0xe88445], cl
add byte [esi], bh
cmp esi, 0x7f006bfe
ja 0x4b0ae3
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
add byte [ecx - 0x45102e31], cl
cli
add byte [edx - 0x80f7656], ch
loop 0x4b0a9a
add byte [eax], al
xlatb
mov ebx, esi
jbe 0x4b0ae3
mov ecx, 0x7fffff00
sub eax, edi
cmp ecx, eax
add byte [eax], al
jp 0x4b0ade
add byte [eax], al
add dword [ecx], eax
add bl, bh
add byte [ecx], al
add dword [eax], eax
sti
mov ecx, dword [ebp - 0x10]
mov eax, ebx
inc eax
add byte [eax], al
test eax, eax
js 0x4bae47
add eax, eax
cmp eax, 0x1000
add byte [ebp - 0x14], bl
jb 0x4b0b39
mov edx, dword [edi]
add byte [ebx - 0x7cf02208], al
push ecx
add dword [eax], eax
add byte [ebx - 0x3f7c0fb3], cl
loop 0x4b0b12
dec ebp
fadd st(7)
inc ebp
mov word [ebx], es
add byte [eax], al
add byte [ecx - 0x7717dbfc], cl
test eax, 0xc6890000
add esi, 0x23
add dword [eax], 0
mov dword [esi - 4], eax
jmp 0x4b0b50
add byte [eax], al
invalid
lahf
add ah, ch
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x34], esi
add byte [eax], al
je 0x4b0b5c
invalid
invalid
stc
push es
pop edx
movsd dword es:[edi], dword [esi]
ficom word [ebx + 0x1b]
xchg ebx, eax
dec ebp
daa
movsb byte es:[edi], byte [esi]
sar ah, 0x6a
rcl byte [ebp + 0x6be082ad]
cdq
cmp ah, bh
clc
pop esi
shr byte [ebp + 0x17], 0xc8
sahf
inc esp
xor ch, byte [0xc187348e]
invalid