Function at 0x1a97648
Capabilities:
Encode data using xor

Disassembly:
add ebp, ecx
sar dword [esp], 0x66
dec eax
movzx cx, byte [esi]
imul dl
sar byte [esp + 3], 0xa4
mov dl, byte [esi + 2]
adc esi, 1
shl eax, 0xfb
or cl, dl
shl dword [esp], 0xa8
movzx edx, al
not cl
jle 0x11c2e36
sbb ecx, 0xbe24a180
not dx
bswap ecx
sub al, 0xa0
ror ecx, 1
not edx
btr dx, 0x32
not dword [esp]
xor ecx, 0xc183d792
imul edx
not edx
xor ebx, ecx
and dl, 0x34
or dword [esp + eax*4 - 0x4a6497e0], eax
adc ebp, ecx
movzx ecx, dx
mov esi, dword [esi + ecx*2 - 0x1fe68]
xor cx, cx
push eax
imul ax, ax
pop eax
pop edx
jb fcn.013b5580
lea ecx, [ecx + eax - 0x1d6ad7d7]
mov dword [esp + edx*2 - 0x1b214], 0x5c0d9ebb
xor ecx, 0xc28e9a0a
sub dword [esp + edx*2 - 0x1b214], eax
jne 0x1330413
mov ecx, 0xca1c7b22
bt ecx, ecx
add cx, cx
mov ecx, dword [ebp]
adc ebp, 4
mov eax, 0xc5242faa
ror eax, 0x46
xor ecx, ebx
cdq
lea ecx, [ecx + eax + 0x3c8058cc]
ror ecx, 1
sal dl, 0x23
inc ecx
neg ax
xadd edx, eax
imul ax
neg ecx
xor ecx, 0xe3af8407
imul ax
dec ecx
ror edx, 0x94
neg ecx
or eax, eax
imul dx
dec ecx
sal edx, 0x16
push edx
neg ecx
or eax, eax
shl al, 0xc3
rol dword [esp + edx - 0x2ac00000], 1
lea ecx, [ecx + edx - 0x1b273ace]
adc ax, dx
xadd dword [esp + edx*2 - 0x55800000], eax
xor ecx, 0x5352c80
div eax
or dl, dh
not word [esp + edx + 2]
lea ecx, [ecx + eax*2 - 0x12ff5bc9]
sar byte [esp + eax - 0x80000000], 0x67
add word [esp + edx*2 + 1], dx
call fcn.00e01516
mov eax, dword [0x4f0264ba]
push ds
and dl, byte [edi]
jae 0x1a97714
and al, ah
jbe 0x1a976fc
stc
jecxz 0x1a9776d
jecxz 0x1a9776d
cld
jecxz 0x1a9772d
sub esp, dword [ebx + edi*8 - 0x67a80abb]
sti
pcmpeqd mm3, qword [eax + 0x39]
or dword [ebp + 0x7c], esi
xor dl, ah
int1
mov ebx, 0x1c7cd012
push esp
sti
xor dl, byte [ebx]
cmp edi, esp
cli
leave
pop edi
add edx, ebp
pop es
stc
push eax
sar dword [edx], 0x72
jbe 0x1a9776c
adc eax, 0x3be4fb54
mov ebp, 0x1dbcfbce
mov al, byte [0x32fbf1e9]
adc cl, byte [eax + 0x5855066a]
int 0x81
inc edi
inc edx
stosb byte es:[edi], al
cmpsd dword ds:[esi], dword es:[edi]
jo 0x1a977dc
xchg ebx, eax
cmpsb byte [esi], byte es:[edi]
inc eax
clc
test eax, 0x71236d67
inc ebx
jp 0x1a97716
push edi
mov dh, 0x23
pop es
sub byte [ecx + edi*2 + 0x2f2a2d76], dh
call 0x34309a98
sub byte [ecx + edi*2 - 0x373bd28a], dh
pop ebx
cmp ebp, ecx
and byte [ebp + 0x2d8ba326], cl
dec ebp
popal
mov dword [esi + edi*4 - 0x65c9a995], edx
mov dh, 0x1b
and edx, dword [ecx + 0x6c717d22]
hlt
mov cl, 0x42
jno 0x1a97825
loopne 0x1a977fb
invalid
push cs
inc edx
out 4, eax
inc eax
sbb al, 0xe5
add ecx, dword [ebx]
cmp esp, dword [edi + 0x23ba5d86]
jge 0x1a97811
wait
xchg ebp, eax
mov ecx, 0x91d946d2
sbb eax, 0x719e0c
add dl, dl
sbb ch, byte [esi + ebp*4 + 0x258dd237]
push esp
movsb byte es:[edi], byte [esi]
sar bh, 1
or al, byte [esi]
inc esi
fst dword [ecx + 0x719e0c1d]
add byte [eax], al
rcr byte [edx], cl
lodsb al, byte [esi]
scasb al, byte es:[edi]
aaa
ror byte [ebp - 0x2f5babdb], cl
dec dword [edx]
push es
mov byte [0xd75d559d], al
mov dword [esp + ebp*4 + 0x2b63ec8c], 0x5100b9a6
pop ss
add eax, 0x719e0c
jno 0x1a9783e
out dx, al
push edx
clc
xor al, 0x5a
and byte [ebx - 0x37], bh
inc edi
popal
push edi
mov al, byte [0x9e10d46]
xor ebp, ecx
add byte [ecx], bl
pop ss
xchg edx, eax
pop edi
push 0x54
fcom dword [eax + 0x719e0c5a]
add byte [edx + 0x311b1b6d], bh
push 0xa46f8c27
movsd dword es:[edi], dword [esi]
lodsb al, byte [esi]
push 0x36
add bh, bh
mov ch, 0x64
pop edi
dec esp
add eax, 0x48145212
dec edx
insb byte es:[edi], dx
inc esp
cdq
sbb dword [ebp - 0x14], ecx
ror dword [edi - 0x74], 0x95
adc dword [eax - 0x61f3a516], ebx
jno 0x1a9788a
push esi
jae 0x1a978a8
in al, 0x1e
je 0x1a9783c
sbb eax, 0x5ac978a
retf
sub eax, 0xec47a9cf
call 0x9fb63619
jno 0x1a978aa
push cs
lea edi, [eax + 0x755d9d8d]
push 0x6c
lodsb al, byte [esi]
out dx, al
mov eax, dword [0x9c8faf4c]
add bh, byte [ebx + 0x1a]
dec ebp
push 0xb64da1c3
mov eax, 0x51a8a520
call 0xa728569e
or al, 0x9e
jno 0x1a978d2
cmp dh, bl
xchg ecx, eax
xchg esp, eax
jnp 0x1a9789e
and al, 0xf
sahf
jno 0x1a978de
cmp bh, byte [ecx]
xchg byte [edi - 0x30], ch
pop esp
or esi, dword [edx + 0x76]
nop
mov al, 0xaa
dec ecx
cmp dh, byte [ebp - 0x55c67b8e]
pushfd
mov al, byte [0x6efa4f61]
std
test eax, 0x539e9173
or ecx, dword [ecx - 0x64]
inc edx
mov edx, 0xc4b681d1
jge 0x1a978e3
add bh, byte [esi + 0x69]
invalid