Function at 0x4807ab
Capabilities:
Encode data using xor

Disassembly:
inc ecx
add bh, bh
invalid
je 0x4807d2
push dword [esp + 8]
lea esp, [esp + 0x30]
call fcn.00495ca5
or byte [ebp - 0x17cfdb9c], cl
in eax, dx
push esp
add dword [eax], eax
jl 0x488e6e
push edx
pushfd
pushfd
lea esp, [esp + 0xc]
jb 0x48934d
ror ah, cl
cmp ecx, 7
lahf
lahf
dec al
bswap ax
sbb ecx, ecx
pushfd
lea ecx, [ecx*2 + 0xb]
lea eax, [0x3a9c79ff]
pop eax
lahf
mov eax, dword [ebp - 0x20]
call fcn.00485463
add byte [eax], al
dec ecx
outsb dx, byte [esi]
imul esi, dword [ebx + eax*2 + 0x6f], 0x6e6f6d6d
inc ebx
outsd dx, dword [esi]
outsb dx, byte [esi]
je 0x480875
outsd dx, dword [esi]
insb byte es:[edi], dx
jae 0x480807
add byte [eax], al
inc edi
insb byte es:[edi], dx
outsd dx, dword [esi]
bound esp, qword [ecx + 0x6c]
push ebp
outsb dx, byte [esi]
insb byte es:[edi], dx
outsd dx, dword [esi]
arpl word [ebx], bp
clc
clc
fdivr dword [eax]
cmp al, 0x21
and ebp, edx
xchg dword [eax], ebp
sub dword [ebp - 0x73], ecx
lahf
jmp 0x4807a8
lea ebx, [edi - 0x1807d15]
imul esi, dword [ecx + 0x26cd05f2], 0xffffffdf
movsd dword es:[edi], dword [esi]
in al, 4
cmp byte [edx], bh
mov dl, 0x33
xor bl, cl
invalid
imul edi, dword [ebx + ebp*8], 0x69ec5f3e
fcmovnu st(0), st(6)
xor eax, 0x80f0b8a1
fidiv word [0x80f0b8a1]
invalid
push 6
les esi, [ebp + edx*8 + 0x75]
pop ecx
and esp, dword [ecx - 0x44aed889]
add eax, 0x3b24d923
loope 0x480841
cmp esp, ecx
fld qword [ebx + ebx*4 - 0x65]
inc esp
wait
wait
in al, 0x45
push edx
pop ebx
dec edx
jae 0x480822
sbb al, 0xf8
and byte [ebx], ch
out dx, al
mov cl, 0x47
inc edi
fsub dword [ecx - 0x422a4796]
wait
inc edi
cmp ch, byte [edi + edi*8 + 0x35dd8f82]
mov ecx, 0x6c224460
push ecx
xchg byte [edx + 0x42aac571], ch
or dl, byte [ebx + 0x7ec35f55]
and ecx, ecx
jo 0x4808e3
jae 0x480849
cmp bh, cl
xor al, 0xb9
cmc
jge 0x480861
push edi
add eax, 0x1a944a9d
or eax, 0xcd37a821
xchg esp, eax
sbb dh, dl
or eax, 0xcd37a821
scasd eax, dword es:[edi]
js 0x480850
cmovne ebp, edx
dec edi
insd dword es:[edi], dx
fdiv qword [ecx]
mov ebp, 0xa3166229
xor al, 0x46
inc esi
fiadd dword [eax + 0x36]
wait
test byte [esi - 0x48], 0x63
add dword [esi + 0x2d], ecx
push ds
mov ch, 0x5c
jle 0x4808a9
push esi
invalid
sbb ah, byte [ebx + 0x39]
jmp 0x48091c
push es
push esi
mov eax, 0x9fb23a97
mov dl, 0x9f
inc esp
mov cl, 0x3f
mov al, 0x4a
stosd dword es:[edi], eax
insb byte es:[edi], dx
push 0x75c0224b
adc ecx, dword [edx + edi*2 - 0x7921a7de]
fisttp dword [edi + 0x38e9fb58]
out dx, eax
cwde
aam 0xbd
sbb al, 0x1f
std
push esi
mov esi, 0x9604fe32
xor al, 2
pop ebp
in al, 7
or eax, 0x877535dd
pop ebx
jecxz 0x480921
mov esi, 0x7a95fccf
mov bh, 0xfd
pop edx
hlt
pushal
call 0x48444b
add byte [eax], al
inc ebx
jb 0x488ede
popal
je 0x488ee1
inc esp
dec ecx
inc edx
push ebx
arpl word gs:[ecx + ebp*2 + 0x6f], si
outsb dx, byte [esi]
add byte [eax], al
add byte [ecx + 0x6e], cl
insb byte es:[edi], dx
popal
je 0x488ef5
push edx
arpl word gs:[eax + eax], si
add byte [ebx + 0x65], dl
je 0x488ee1
outsd dx, dword [esi]
jb 0x488f03
jb 0x488f10
jne 0x488f11
push edi
imul ebp, dword [esi + 0x64], 0x776f
mov dword [0xd5c], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [edx + 0x70], al
or al, 0
add byte [eax + 9], al
add byte [edi + 0x5d], dl
or eax, 0
add byte [eax], al
add byte [eax], al
add byte [esi + 0x5e], bl
or al, 0
mov ah, 0x40
or dword [eax], eax
imul ebx, dword [ebp + 0xd], 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
fmul dword [ecx + 0x40c80008]
mov dword [eax], ecx
add al, cl
inc eax
or dword [eax], eax
jnp 0x488f47
or eax, 0
add byte [eax], al
add byte [eax], al
add byte [esi - 0x5f], ah
or byte [eax], al
fadd dword [eax + 9]
add byte [ebx + 0xd5d], cl
mov eax, dword [0x40d80008]
or dword [eax], eax
mov ebx, dword [ebp + 0xd]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [edx + 0x70], al
or al, 0
call 0x9f489851
lahf
pop ebp
or eax, 0
add byte [eax], al
add byte [eax], al
add al, bl
mov dword [eax], ecx
add ah, bh
inc eax
or dword [eax], eax
mov ebx, 0xd5d
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [edx + 0x70], al
or al, 0
sbb byte [ecx + 9], al
add byte [edi], bl
pop edi
or eax, 0
add byte [eax], al
add byte [eax], al
add byte [ebx], dl
and eax, 0x427c0008
or dword [eax], eax
das
add byte [edx + eax*2 + 9], bh
add byte [edi], ch
pop edi
or eax, 0
add byte [eax], al
add byte [eax], al
add ah, dl
bound ecx, qword [ecx]
add byte [edx + eax*2 + 0x600b0009], cl
or eax, 0
add byte [eax], al
add byte [eax], al
add byte [esi + 0x5e], bl
or al, 0
push 0x83000943
bound ecx, qword [0]
add byte [eax], al
add byte [eax], al
add byte [edx + 0x70], al
or al, 0
loopne 0x488fcb
or dword [eax], eax
mov esp, dword [edx + 0xd]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [esi - 0x5f], ah
or byte [eax], al
call 0xaf4898e2
bound ecx, qword [0]
add byte [eax], al
add byte [eax], al
add byte [ebx - 0x6e], ah
or byte [eax], al
or al, 0x46
or dword [eax], eax
packsswb mm1, qword [0]
add byte [eax], al
add byte [eax], al
add byte [edx + 0x70], al
or al, 0
insb byte es:[edi], dx
inc esi
or dword [eax], eax
pop ss
arpl word [0], cx
add byte [eax], al
add byte [eax], al
add byte [edx + 0x70], al
or al, 0
je 0x48901c
or dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
jecxz 0x48903b
add esp, dword [esi + 0xf]
lodsd eax, dword [esi]
rol ecx, 1
call 0xfa029f56
adc dword [eax], esi
std