Function at 0x4980b4
Capabilities:
Encode data using xor

Disassembly:
push ss
outsd dx, dword [esi]
sbb eax, 0x948928fb
adc al, 1
inc ecx
and dword [eax + ebp*8], ebx
jo 0x4980db
xlatb
arpl word [esp + edi*8 + 0x11e8deb6], ax
sbb byte [eax + 9], ah
into
cmp byte [eax - 0x2119c424], dl
movsb byte es:[edi], byte [esi]
test byte gs:[eax], bl
dec esi
adc dword [esp + ebp*8], edx
add byte [ebx + 0x2a], bh
std
invalid
fst qword [eax]
pop ds
popal
je 0x4980bf
cmp esi, dword [esi + 0x24fcb361]
invalid
jp 0x498111
inc ecx
push es
jo 0x49805a
mov eax, 0x1e94e281
mov ah, 0x70
mov dl, byte [ecx + edi + 0x41]
or byte [ebp - 0x716e01c9], cl
and esi, ecx
lcall 0xc95, 0x583055d1
popfd
inc edx
push es
fld dword [eax - 0x6ada4ef]
pop ebx
push edx
stc
pop ss
xor al, 0x4e
mov eax, 0xdfe53171
mov byte [0xb0422d05], al
add eax, 0x5431d18c
pushal
mov ch, dl
jnp 0x4980de
inc eax
sbb byte [ebx], dl
sbb bh, 0xe1
mov ch, 0xaa
pop ebx
push es
fcompi st(2)
add al, byte [edi]
sub byte [esp + ebp*2 - 0x2efea0ff], ah
jp 0x4980c5
test bh, bl
salc
jns 0x4980a0
mov es, word [eax]
add dword [ecx], esi
adc byte [edi - 0x7c], dl
pop edi
add byte [ecx], al
xor dword [eax], edx
push edi
test byte [edi + 0x55], bl
push ebp
xchg esp, eax
push ebp
dec ebx
dec esp
cmp byte [ebx + 0xb], bh
jbe 0x49812c
pop esp
mov bl, 0xf8
xchg ebx, eax
test al, 0x77
cmp eax, 0xa1af28d2
loopne 0x498119
sub byte [edi + 0x19e8e0a1], ch
in al, 0xc
movsd dword es:[edi], dword [esi]
sbb esp, esp
or al, 0xa5
or byte [ebx + 0xbdc467b], bl
mov esp, 0xaa516b10
sub al, 0x7b
popfd
xor ch, ch
jmp 0x4981be
mov esi, 0x4c3b89f5
stosd dword es:[edi], eax
pop eax
mov dl, ch
into
dec edi
or ebx, esi
lcall 0xac80, 0x19fd889f
inc ecx
mov byte [esi - 0x35], bh
aad 0xc4
fidivr dword [ebx - 0x3b]
pushal
pop esp
mov ebp, esi
add al, 0x9e
lcall 0x812f, 0x1f19c92b
add byte [edi - 4], bh
dec ebx
jle 0x49824b
test eax, 0xf2a97cc
stosb byte es:[edi], al
jnp 0x49822d
push ebx
lahf
arpl word [edx], dx
ror byte [esi], 0x75
mov edi, 0xf0d98ba1
arpl word [esi], bx
push cs
jne 0x4981a4
mov eax, dword [0x63f0d98b]
push ds
test byte [edx], ah
cmc
mov esi, 0x1782de87
or eax, 0x85090bbe
ficomp dword [ebx]
dec eax
retf
mov edi, esi
aas
bound eax, qword [ecx]
sbb cl, byte [edi - 0x1d]
mov dword [edi + 1], esi
salc
pushfd
mov al, 0xcb
sbb dword [edi + ebx + 2], edx
adc eax, 0x7a570ce2
jecxz 0x4982c3
stosb byte es:[edi], al
in eax, 0x80
loope 0x4981e2
xchg esi, eax
scasd eax, dword es:[edi]
add eax, 0xd9c8b5f
push 0x67
jle 0x4982c4
lahf
sbb byte [ebx], dh
mov edi, 0x749e84c1
leave
fucompi st(1)
inc esp
dec edx
lcall 0x49fb, 0xfa8b9abc
pop edx
invalid
push eax
invalid
dec edi
test byte [ecx + 0x34], dh
jno 0x4982f9
xor al, 0xd9
push 0xffffffffffffffe3
fldcw word [edx - 0x1d]
mov bh, 0xee
mov eax, 0xb2e5aa6d
adc edx, dword [edx - 0x28]
sbb dword [edx - 0x58dffdb7], edi
xor eax, 0xb063f0d2
xor ah, byte [esi]
jp 0x498294
jg 0x498308
mov eax, 0xf0a407ec
aam 0x9c
test byte [edx + 0x35], al
pop edx
mov ebp, 0x80ac44e
xor byte [edi], cl
salc
jne 0x4982c1
mov ebp, 0x1fb3343b
cmp esi, dword [ebx + esi*4]
pop ds
into
xchg ebp, eax
mov esi, 0x24fe539a
and dword [ebp + ebx*8 + 0x5a], eax
in al, dx
das
jns 0x498357
cwde
lodsd eax, dword [esi]
cmc
fstp xword [edx - 0x65]
in al, 0xf8
mov esi, 0x5fb6abd2
ret 0x385d
aaa
pop eax
pop esi
inc edx
daa
adc al, 0x52
mov eax, 0x609232c2
sbb bl, byte [edx + 0x19]
mov al, byte [0x227eeed4]
mov ds, word [esi - 0x5a]
adc dl, byte [esi + ebx*4 + 0x34]
invalid