Function at 0x54b0dc
Capabilities:
Encode data using xor

Disassembly:
retf 0x8cd3
pop ds
pop es
mov ebp, dword [edx + 0x3b]
sbb al, 0x3c
mov al, 0x20
sbb ah, al
stc
xor al, 0xe8
in eax, dx
clc
dec edx
mov ebp, eax
dec ebx
mov edi, 0x9b69fd72
loop 0x54b0d0
adc dh, dl
push 0xffffffffffffffec
nop
cmp dword [eax - 0x4533ff49], ebp
pop eax
imul edx, dword es:[eax - 0x333785d4], 0xfffffff8
mov dh, 0xdd
sub dword [esi + 0x1665bc99], edi
dec eax
jbe 0x54b181
add ah, cl
mov edx, 0x906b2658
sub al, 0x7a
enter 0xfffffffffffff8cc, 0xffffffffffffffb6
invalid
xchg ecx, eax
in eax, dx
loope 0x54b0ff
mov eax, 0x29d454a4
cmp bh, byte [ebx + 0x5eb8af97]
in eax, dx
and al, 0xfa
or bl, byte [0x7a5c096b]
dec eax
sub byte [edx - 0x67cc5525], bl
insd dword es:[edi], dx
aam 9
insd dword es:[edi], dx
rcr dword [ebx + 0x68], 0x6a
sub byte [ebx + 0x55], 0xfc
or ebx, esp
pop ebp
sub byte [esi + 0x72c879ce], al
sbb byte [0x3c4d2eca], dl
xchg ecx, eax
test eax, 0x865e21fd
cmp al, 0xf8
mov dword [edi + 0x4a6b58d8], edi
sar byte [ebx - 0x33f205e5], 1
lea ebp, [edx]
insd dword es:[edi], dx
pushal
fldcw word [eax]
mov dword [esi + 0x3c], ebp
add al, 0x69
sbb al, 0xcc
inc ebx
push ebx
test byte [esi + 0x29da58bf], 0x15
out dx, al
jecxz 0x54b197
test al, 0xc5
or byte [edi - 0x79b8473f], bh
sar dword [eax + 0x39128647], 0xf0
dec edi
sub byte [esi], cl
invalid
adc bh, byte [ecx]
invalid
pop ecx
ja 0x54b185
or al, 0xb9
cmp al, 0x65
pop edx
jnp 0x54b20f
xchg ecx, eax
jbe 0x54b166
and al, 0x6b
jo 0x54b201
xor byte [ecx], ch
pop edx
adc ecx, eax
inc edi
fisubr dword [ecx - 0x338047c7]
sub byte [edx - 0x26fea6ce], bh
popfd
cmpsb byte [esi], byte es:[edi]
sub ch, byte [eax + 0x7f]
xor al, bh
int3
clc
outsd dx, dword [esi]
ror dword [ebp + 0x7b6cb8ed], cl
insb byte es:[edi], dx
mov dh, 0xe2
jb 0x54b1b4
inc esp
hlt
jp 0x54b20d
cli
rcl dword [edi - 0x62806fb0]
pushal
pop esp
push esi
cdq
xor eax, 0x14de5de9
jp 0x54b1c1
jmp 0x7a699071
add byte [ebx + 0x37e79bf7], ch
out 0x37, eax
and eax, 0xac6780da
sbb dword [edi + 0x773c4d5d], ebx
dec eax
xchg dword [edx - 0x24], edi
sub eax, 0xf2ae5dd
int1
dec eax
sar dword [esi + 0x38c97009], 1
jno 0x54b2a3
ljmp 0xfea2:0xbbc9998f
jb 0x54b219
pop ds
cwde
dec eax
mov esi, 0xda3a50a4
sub al, 0xbe
fisubr dword [esi + edi*4]
iretd
stc
pushfd
jg 0x54b2df
int1
jle 0x54b290
jle 0x54b2c8
push edi
test eax, 0xb349496d
push edi
fldcw word [edi + 0x16e670ef]
or dword [ebp + 0x40], 0x30
fcomi st(1)
test eax, 0x7843433f
dec ebx
jl 0x54b287
add bl, ah
sub byte [edi], ah
jecxz 0x54b2f2
daa
js 0x54b32f
sbb byte [eax + 0x26], ch
xor edx, dword [ecx]
stosb byte es:[edi], al
je 0x54b31d
inc ebp
cmp al, byte [edx - 0x56284ed7]
xchg esi, edi
wait
pop edx
and eax, 0x981a2b75
or dword [ecx - 0x54ff2063], esi
sbb dword [edx], edi
sti
and dword [edx], ebx
or byte [edi], ah
or cl, 0x3a
aas
mov ebx, ebp
sub cl, al
fxch st(2)
jae 0x54b2ca
cmpsd dword [esi], dword es:[edi]
mov eax, dword [0x4a38d9df]
and dword [eax - 0x61a21724], edi
pop es
out 8, eax
xor dword [0x9bc8aaa8], ebx
sub eax, 0xe99359b7
mov dh, 0x97
std
cmp al, 0xf9
sbb esp, 0x19233bb2
pushfd
stc
jp 0x54b33b
nop
mov bl, 9
fdiv dword [esi - 0x3d]
and dword [edx + 0x18], ebp
mov ebx, 0x71af9c7
sbb byte [ebx + 0x71af9c7], bh
lea eax, [eax]
push ss
xor dword [ecx + 0x4859e060], edx
loopne 0x54b396
dec eax
lds ebp, [eax]
xchg ebx, eax
jmp 0x54b379
mov bl, 0x2e
pushal
cmp edx, ebp
popal
sbb dword [esi], ebp
cmpsb byte [esi], byte es:[edi]
and ebp, dword [0x9bac28ed]
aad 0x19
psubq mm4, qword [esi]
fadd dword [eax - 0xb7e7d4]
pop ebx
enter 0x7430, 0xffffffffffffffbb
pop ss
sub dword [ebp + 0x14], ebp
mov ah, 0xf8
push 0x2319a826
dec ebx
mov esi, 0xff8bb1
test byte [esi - 0x49193783], cl
add ah, 0xda
fdiv st(0), st(0)
js 0x54b3b1
mov dh, 0x82
invalid
pop ebx
push ebp
inc ecx
push ss
jg 0x54b37b
cwde
mov ebx, 0x2786814
call 0x35c7cda
adc bh, byte [eax - 0xdc71168]
cmp dl, dh
clc
mov edi, 0xef3f48be
enter 0x4ff4, 0xfffffffffffffffd
sub dword [eax + 0x780bff4c], esp
jge 0x54b342
jb 0x54b41d
pop eax
pop ebx
dec eax
enter 0xffffffffffffc5d9, 0xffffffffffffffb4
push ss
xchg byte [edx - 0x5ab20e3c], dh
lds esi, [esi + edx - 0xe3b4d7a]
dec ebp
movsd dword es:[edi], dword [esi]
mov ah, 0x7e
ror esi, 0x68
sub byte [edi + ecx*2], 0xed
xchg esi, eax
pop ebx
mov eax, 0x8c3064ce
rcr byte [esi + 0x51], 0xbc
or byte [ecx], dh
sub al, 0xc8
sub cl, dl
or bl, byte [edi - 0x51ce6fe8]
sbb eax, 0xa7e8646d
les edi, [edi + 0x1ab2634e]
push esi
push 0xf877436a
fiadd word [0x8dbb692f]
mov eax, 0x84e8679c
cmp dword [ebx - 0x2b032114], esp
cwde
fdivp st(4)
aam 0x98
inc ecx
invalid
and ebp, eax
jmp 0x54b42a
mov esp, 0x5e1a4029
scasb al, byte es:[edi]
jl 0x54b3fa
int 0x8b
cdq
fimul word [ecx - 0x7f076669]
sbb byte [eax + 0x5999db99], ch
das
sub byte [ecx + 0x7e196118], bl
jp 0x54b4b8
pop ecx
std
popal
nop
cld
call 0xca99121f
sub dl, ah
in al, 0xa2
cmp edi, ebp
test al, 0x36
cld
sub al, cl
mov bh, byte [esi]
das
xchg byte [esi + 0xd395889], bl
mov ecx, 0x24746ed2
add byte [eax - 0x43], bh
mov cl, dh
fadd dword [ecx]
scasb al, byte es:[edi]
call 0xefacbd18
insb byte es:[edi], dx
daa
test al, 0xac
mov edx, 0x1fd4b3e
sbb byte [ecx + 0x29], cl
xchg byte [esi], cl
test byte [eax + eax + 0x4a], 0x32
pop eax
xchg ebx, eax
dec edx
cmpsd dword [esi], dword es:[edi]
jmp 0x4bd4d661
dec ebp
xor dl, al
push ss
dec ebx
stc
add dl, byte [ecx + edi*4 - 0x10]
mov ecx, 0xd9903b7d
cmp bl, 0xec
cmp edx, dword [eax - 0x13047f27]
mov byte [0x495cfede], al
add dword [edi + 0x22], eax
push edi
dec ecx
and al, dl
push 0x74
push esp
and al, 0xd7
fstp qword [ebx]
dec esi
mov al, byte [0xd30debff]
lodsd eax, dword [esi]
or dword [ecx - 0x7233df82], 0xffffffb9
aas
mov al, byte [esi]
cli
ja 0x54b514
cmc
cmc
mov bl, 0x9e
cmp al, 0x2e
jg 0x54b4b2
fdivp st(0)
dec esp
clc
leave
mov cl, 0xea
or ah, dh
sub byte [edx - 0x674ef1a2], ch
inc esi
test al, 0x7d
mov eax, 0x40684af2
outsb dx, byte [esi]
xor al, 0xe9
cdq
fsub qword [ebx + 0x5f]
bound edi, qword [edx - 0x3b7ec518]
shr byte [edi - 0x77], 0x70
sub byte [eax + 0x2798cb18], ah
outsd dx, dword [esi]
mov dword [eax + 0x28], esi
mov al, byte [0x2798cb18]
jp 0x54b4e5
mov bh, byte [edx]
dec edx
jg 0x54b4ac
sub byte [edx + 0x39c97b14], 0x70
sbb eax, 0x20e3e950
cmp al, 0x48
inc edx
fisubr word [0xd7858d94]
mov al, 0xed
inc esp
or byte [edi + 0x69], ah
lodsd eax, dword [esi]
insd dword es:[edi], dx
pop eax
cdq
fisttp dword [ebx]
sub dword [ebx - 0x71], edi
cmp edi, dword [eax + 0xd]
imul ebp, dword [ecx], 0x2a
in eax, dx
cmp ah, dl
inc esi
lahf
dec esi
invalid