Function at 0x7ffa18
Capabilities:
Encode data using xor

Disassembly:
rcl dword [eax - 6], 0x24
shr dword [edx + edi*8 + 0x10], 0xc5
js 0x7ff8fd
imul eax, ecx, 0x7678fc74
xlatb
dec ebx
je 0x7ff93d
sbb al, 0x4b
pushal
inc ebp
sub byte [esi], bh
loope 0x7ff8b8
adc eax, 0x56f7a4b1
retf 0xb3c
mov byte [0xbe70f54d], al
dec ebx
invalid
xchg ebx, eax
cmp al, 0x59
xor edx, dword [eax]
inc ebx
movsb byte es:[edi], byte [esi]
inc ecx
pop ebx
pushal
js 0x7ff8d3
test al, 0xc6
fdiv st(5), st(0)
movsb byte es:[edi], byte [esi]
invalid
ljmp 0xe918:0xd254be3c
cmp bl, byte [ebp + 0x74680659]
insd dword es:[edi], dx
push es
pop esp
je 0x7ffa02
push es
inc eax
je 0x7ffa1a
push es
mov ah, 0x74
mov dword [esi], eax
mov eax, 0xac069d74
lodsb al, byte [esi]
je 0x7ff942
push es
nop
je 0x7ff95a
push es
test byte [edx - 0x47], dh
mov esp, 0xbe9b8bc7
mov dl, 0x4d
fld xword [esi]
out dx, al
pop esp
out dx, eax
rcr byte cs:[ebx + 0x2e], cl
invalid
je 0x7ff996
push es
xchg esp, eax
jb 0x7ff9ae
adc dword [edi], ebx
lds edi, [ebp + 0x184b8c97]
or al, 0xc8
jns 0x7ff9a2
enter 0xffffffffffffc5e0, 0xffffffffffffffce
leave
xor eax, 0x8eb00
jmp 0x7ffa22
add ah, dh
jmp 0x7ffa22
add ah, dh
add eax, 0
add byte [eax - 0x18], ah
add byte [eax], al
add byte [eax], al
pushal
call 0x7ffa28
pop ebp
sub ebp, 0x10
sub ebp, 0x3ffa18
jmp 0x7ffa3e
mov eax, 0x3ffa18
add eax, ebp
add eax, 0x4c
mov ecx, 0x604
mov edx, 0xc64a818b
xor byte [eax], dl
inc eax
dec ecx
jne 0x7ffa55
jmp 0x7ffa68
add byte [esi], al
add dh, byte [edi + 0xa8b8b8b]
dec edx
jae 0x7ff9ff
mov ecx, dword [ebx - 0x72ccb978]
mov ecx, dword [ebx - 0x745cce75]
mov ecx, dword [ebx + 0x4388697c]
add byte [edx], cl
xchg dword [ebx + 0x4e888b8b], ecx
fcmovnu st(0), st(3)
jecxz 0x7ffb11
and eax, 0xa8e38b85
sar byte [edx - 0x50587575], 0xe3
xor byte [ebp - 0x719c41be], al
mov ecx, dword [ebx - 0x745a9d75]
mov ecx, dword [ebx + 0xd6dfde]
push cs
or dword [ebx + 0x1e008b8b], 0xffffff87
mov ecx, dword [ebx - 0x64f9ff75]
mov ecx, dword [ebx - 0x769db575]
mov edx, 0x8f490889
ret 0xe84
ja 0x7ffb06
add ah, byte [edi + 0x74d6dfaf]
inc byte [edi + 0x6383fe74]
mov ecx, dword [ebx - 0x7cc9ff75]
mov ecx, dword [ebx + 0x127a0a8b]
cmpsd dword [esi], dword es:[edi]
scasd eax, dword es:[edi]
invalid
mov ecx, dword [ebx - 0x747cca00]
mov ecx, dword [ebx + 0x2a127a0a]
pop edi
xchg dword [edx], ecx
jp 0x7ffb34
mov eax, dword [eax]
or dword ss:[ebx + 0x7a0a8b8b], 0x12
sub bl, byte [edi - 0x79]
or bh, byte [edx + 0x12]
sub bl, byte [edi - 0x79]
mov eax, 0x859b842
arpl word [esi - 0x3af07b3d], cx
mov ecx, dword [ebx - 0x3cfc7b75]
add eax, ebx
mov ecx, dword [ebx - 0x68ff1275]
mov dl, 0xb
jo 0x7ffba3
test byte [edi], cl
xchg ecx, eax
mov ecx, dword [ebx + 0x62700b8b]
test byte [edi], cl
lcall 0x700a, 0xed8b8b8b
mov ecx, dword [ebx + 0x700aed8b]
je 0x7ffb02
test byte [edi], cl
sahf
mov ecx, dword [ebx + 0x4762ca8b]
je 0x7ffbd3
je 0x7ffbd4
je 0x7ffb03
mov byte [0x88ab2c7], al
dec edx
mov cs, word [eax]
arpl word [edi + 0x74743662], cx
je 0x7ffb12
invalid
fbstp tbyte [edx - 0x72b5f777]
or byte [ecx - 0x71], ah
or byte [ebx - 0x72], ah
bound esp, qword [eax]
je 0x7ffbf4
je 0x7ffb82
cmpsd dword [esi], dword es:[edi]
scasd eax, dword es:[edi]
push es
out dx, eax
scasd eax, dword es:[edi]
invalid
mov word [edx], cs
dec esp
mov cl, byte [ebx - 0x76cf7475]
mov ecx, dword [ebx - 0x7ba67675]
push cs
mov cs, word [ebx - 0x62fe7475]
int 0x99
pop ecx
test byte [eax], cl
push ebx
je 0x7ffc35
je 0x7ffb4c
pop ecx
test byte [esi], cl
mov cs, word [ebx - 0x62fe7475]
int 0x99
pop ecx
test byte [eax], cl
loope 0x7ffb5e
mov ecx, dword [ebx + 0x59894bb8]
test byte [esi], cl
mov edi, dword [eax - 0x7ba676b5]
push cs
mov cs, word [ebx - 0x62fe7475]
int 0x99
pop ecx
test byte [eax], cl
mov eax, dword [0x898b8b8a]
pop ecx
test byte [esi], cl
mov cs, word [ebx - 0x62fe7475]
int 0x99
pop ecx
cwde
dec ebx
mov dword [ecx - 0x7c], ebx
push cs
mov cs, word [ebx - 0x62fe7475]
int 0x99
pop ecx
cwde
dec ebx
mov dword [ecx - 0x7c], ebx
push cs
mov cs, word [ebx - 0x62fe7475]
int 0x99
pop ecx
cwde
dec ebx
mov dword [ecx - 0x7c], ebx
push cs
mov cs, word [ebx - 0x62fe7475]
int 0x99
pop ecx
cwde
dec ebx
test byte [edi], cl
lea ecx, [ebx + 0x54008b8b]
mov al, byte [0x3880153]
mov esp, cs
xor byte [ecx + 0x628b8b8b], cl
sti
je 0x7ffcb2
je 0x7ffc73
mov cl, byte [ebx + 0x59898b8b]
test byte [esi], cl
mov cs, word [ebx - 0x62fe7475]
int 0x99
pop ecx
cwde
dec ebx
mov dword [ecx - 0x7c], ebx
push cs
mov cs, word [ebx - 0x62fe7475]
int 0x99
pop ecx
test byte [ecx], cl
push ebp
je 0x7ffcd9
je 0x7ffc07
dec eax
xor byte [edx - 0x7b747475], cl
push cs
mov edi, 0x328b8b8b
mov cl, byte [ebx + 0x59898b8b]
mov ecx, dword [ebx - 0x747475ce]
mov ecx, dword [ecx - 0x71f17ba7]
mov ecx, dword [ebx - 0x3262fe75]
cdq
xor cl, byte [edx - 0x76747475]
pop ecx
mov dword [ecx - 0x7c], ebx
push cs
test byte [esi], cl
mov cs, word [ebx - 0x62fe7475]
int 0x99
pop ecx
cwde
inc edx
mov dword [ecx - 0x7c], ebx
push cs
mov cs, word [ebx - 0x62fe7475]
int 0x99
pop ecx
test byte [ecx], cl
push ebp
je 0x7ffd0d
je 0x7ffc78
add byte [eax + 0x7e], bh
js 0x7ffcd0
aad 0x62
xor dword [esp + esi*2 + 0x74], 0xffffffc3
dec edx
imul eax, dword [ebx + 0xcd8d01], 0x63
xor cl, byte [edx - 0x76747475]
pop ecx
add dword [ebp + 0x326300cd], ecx
mov cl, byte [ebx + 0x59898b8b]
mov ecx, dword [ebx - 0x7ba67675]
push cs
test byte [esi], cl
mov cs, word [ebx - 0x62fe7475]
int 0x99
pop ecx
cwde
inc edx
mov dword [ecx - 0x7c], ebx
push cs
mov cs, word [ebx - 0x62fe7475]
int 0x99
pop ecx
test byte [ecx], cl
push ebp
je 0x7ffd4a
je 0x7ffce2
jae 0x7ffc65
mov esi, esi
mov ecx, dword [ebx + 0x7474520a]
test byte [ebx + 0x74520a8b], 0x74
je 0x7ffd57
je 0x7ffcee
or dh, byte [ebx - 0x75]
jae 0x7ffc71
mov cs, word [ebx + 0x74520a8b]
je 0x7ffd62
je 0x7ffcfa
jae 0x7ffcfd
mov ecx, dword [ebx - 0x74a5f575]
mov ecx, dword [ebx + 0xb730a8b]
mov ecx, dword [edx]
jae 0x7ffd09
or ecx, dword [ebx + 0x5a0a8b8b]
mov ecx, dword [ebx + 0xdd8b8b]
mov ecx, dword [ebx - 0x74a5f575]
mov ecx, dword [ebx + 0x7c00dd8b]
mov al, byte [0xd52f787b]
bound edx, qword [eax]
jne 0x7ffd87
jl 0x7ffcab
jnp 0x7ffd85
das
aad 0x62
adc byte [ebp + 0x74], dh
je 0x7ffd16
invalid
int 0xb8
inc edx
dec ebx
arpl word [edx - 0x746ef07c], cx
mov ecx, dword [ebx - 0x7476a5f6]
mov ecx, dword [ebx + 0xdd6300]
jl 0x7ffcce
jnp 0x7ffda8
das
aad 0x30
mov cl, byte [ebx - 0x79d7475]
jne 0x7ffdaf
je 0x7ffd13
mov al, byte [0x4c0083f6]
aam 0xd5
add byte [esi - 0x2a], ch
outsb dx, byte [esi]
salc
dec ecx
or dword [ebx + 0x6afb700], 0xffffffef
scasd eax, dword es:[edi]
add byte [edi - 0x5010f951], dh
pop dword [eax]
mov edi, 0xafef06af
invalid
xchg esi, eax
mov dh, 0x33
xchg ebx, eax
jno 0x7ffd19
mov ecx, dword [eax - 0x1bb4f5b2]
mov byte [ebx - 0x7695cd75], cl
mov ecx, dword [ebx - 0x553bc4cf]
inc esp
mov ebx, 0x84c2cb9b
push cs
jge 0x7ffdf4
je 0x7ffdf6
bound ecx, qword [edi - 0x2b747475]
je 0x7ffdfd
mov ecx, dword [ebx - 0x458c8b2c]
aam 0x74
jae 0x7ffd45
mov edx, 0xccbcc5bc
mov al, 0x4c
mov esp, 0xb0ccbcc5
dec esp
pop es
mov esp, 0xc87b0cc
wait
cmp edi, dword [ebx]
cmp edi, dword [eax]
lds esi, [esi - 0x4f52c49b]
dec ebx
pop es
lodsd eax, dword [esi]
mov al, 0xbf
or ecx, dword [edi]
cmp edi, dword [ebx]
cmp edx, dword [eax]
jecxz 0x7ffd5f
invalid
insb byte es:[edi], dx
cmp esi, dword [eax - 0x3e45c08c]
cmp edi, dword [ebx]
cmp edi, dword [ebx]
xor al, 0xbf
cmp edi, dword [ebx]
cmp esi, dword [edi + edi*4]
jge 0x7ffdf9
cmp edi, dword [ebx]
cmp ch, ch
mov edx, 0x3b3b33fc
cmp edi, dword [edx + 0x3b3b33d2]
cmp edi, dword [edx + 0x3b3b3bc2]
cmp esi, dword [edi + edi*4]
out dx, eax
invalid
les esi, [ebx + edi]
cmp edi, dword [eax]
cmp edi, dword [ebx]
cmp cl, bh
stc
cmp ah, byte [ebx]
jb 0x7ffe70
jb 0x7ffdb7
mov eax, 0xf3d239fc
invalid
cld
cmp edx, edx
invalid
add eax, 0xcf84414e
mov si, 0x46cb
mov bp, 0x66d7
inc ebx
jae 0x7ffec3
sar dword [0xc64d424e], 0xc3
inc edx
inc edx
inc edx
sar dword [0xc74d4242], 0x48
inc edx
inc edx
inc edx
sar dword [0xc64d4252], 0x23
inc edx
inc edx
inc edx
iretd
inc esi
iret