Function at 0x1779a80
Capabilities:
Encode data using xor

Disassembly:
mov eax, dword [ebp + eax - 3]
or edx, edx
mov edx, dword [ebp + edx - 0x333fa536]
mov ecx, 0xea327a02
adc ebp, 8
rol cl, cl
mov dword fs:[eax], edx
jmp edi
dec esp
lea ebp, [edi*4 + 0x50876da3]
inc edi
movzx eax, byte [edi + esi - 0x79335800]
dec eax
mov dword [esp + ebp - 0x64272e66], ecx
inc cx
shr esp, 0x47
inc ebp
xor al, bl
inc ecx
sub al, 0x2b
inc ecx
not al
dec eax
shl ebp, cl
ror dl, cl
inc edx
inc byte [esp + esi - 0x793357f0]
inc esp
sub al, bl
dec ecx
xadd esp, eax
inc ecx
rol al, 1
dec edx
mov dword [esp + esi - 0x793357e8], ebp
inc dx
or dword [esp + esi - 0x793357e6], ebx
inc ecx
adc al, 0x27
sub al, ch
call fcn.01253dc9
xor dword [esp + edx*2 - 0x1bc], ebp
dec esp
lea ebx, [edi*4 - 0x41422c53]
inc ebp
mov edx, eax
inc ecx
bswap esp
inc ecx
pop ebx
dec edx
lea ebx, [eax*2 - 0x69dccce5]
dec eax
arpl bp, bp
call fcn.01397578
pop edx
bswap ecx
inc edx
lea ecx, [ecx + eax*4 + 0x2da9f3d2]
neg ecx
xchg edx, eax
xor ebx, ecx
add edi, ecx
shr eax, 0x9a
jne 0x139d3b3
push ecx
rol edx, 1
call fcn.0179f71d
push ebx
in al, 0xc5
and al, 0x52
xor dl, dl
mov edi, 0xd63c66a4
mov edi, 0xb6562ea4
mov edi, 0x8a5e7ca4
mov edi, 0xca1636a4
mov edi, 0x500a3ca4
add al, 0x78
jg 0x1779b59
js 0x1779b54
adc dword [bp + di + 0x465e], ebp
inc esi
or bh, ch
sbb cl, byte [ebp + 0x34]
stosb byte es:[edi], al
xor al, 0xaa
push cs
push esi
mov ch, 0xd0
inc esi
and edx, dword [edx]
loopne 0x1779b59
push 0xbb986028
out dx, al
sub byte [eax], bl
pop esp
cwde
mov ebx, 0x3c5c14ee
cwde
mov ebx, 0x382074ee
cwde
mov ebx, 0x8a8070ee
and ch, al
jnp 0x1779bfd
push ebx
adc al, 0x66
sbb ah, byte [esi + 0x42945159]
ficomp word ds:[ecx + 0x51]
xchg esp, eax
add byte [eax], ch
neg byte [ecx + 0x51]
xchg esp, eax
cmp al, 0x66
mov edx, 0x54945159
js 0x1779b4a
pop ecx
push ecx
xchg esp, eax
push ds
inc esp
and byte [esi - 0x17], ch
cmp edx, dword [eax]
lcall 0x58d0, 0xc0cf21f1
sbb al, 0xb6
rcl dword [edx + ebp*4]
sub dl, byte [esi - 0x4b]
shl byte [edx + 0x2f], 1
adc ah, al
cmc
inc eax
cmp al, 0x98
mov ebx, 0x703474ee
cwde
mov ebx, 0x580438ee
cwde
mov ebx, 0x205810ee
cwde
mov ebx, 0x8adc68ee
and ch, al
rcr dword [ebp + edx*8 + 0x2b], 1
inc dh
sbb al, 0x7f
xlatb
stosd dword es:[edi], eax
mov dh, 0xf8
sbb byte [edi - 0x29], bh
stosd dword es:[edi], eax
mov esi, 0xc096de96
outsd dx, dword [esi]
add al, 0x58
sub dword [ebx - 0xcb4c07b], ebp
xchg ebp, eax
sub edi, esi
invalid
stosd dword es:[edi], eax
test dword [edi], edi
dec ebx
xchg ebp, eax
mov eax, 0x6859eb4
mov ah, 0x9e
test dword [esi], eax
in al, dx
cmova esi, edi
or ebx, dword [edi + 0x39]
cld
cmp eax, edi
jl 0x1779bd5
xchg esi, eax
and al, 0xeb
fdivp st(6)
adc dword [esp + edx - 0x4f], edx
mov ch, 0x4d
or byte [ecx - 0x6e], 0xab
pop ds
pushfd
inc eax
mov byte [0xa8392cca], al
mov ebx, 0x92bb20dd
xchg edx, eax
cmc
ror dword [eax], cl
mov esp, 0xa909b289
cmpsb byte [esi], byte es:[edi]
push dword [edi + 0xc]
mov ebx, dword [edi - 0x512c388d]
dec ebp
mov ebx, 0xb6ab42ca
mov cl, 9
ja 0x1779c63
outsb dx, byte [esi]
push 0xcd105048
jne 0x1779be0
ja 0x1779c29
pop ss
enter 0xffffffffffff8b52, 0x54
pop ebx
outsb dx, byte [esi]
popfd
mov ebp, 0xb69c0bd
nop
retf 0xe75c
jnp 0x1779bf6
add ebp, dword [esi + 0x5b]
inc ebx
and esp, ebp
leave
mov byte [ebx], dh
lahf
mov al, byte [0xffb1fc1f]
xchg bl, al
int3