Function at 0x172ecba
Capabilities:
Encode data using xor

Disassembly:
sub edx, 0xc420f522
ror edx, 1
not edx
sub ecx, eax
not ecx
jge 0x12600cf
call fcn.0137597e
inc esi
mov edi, dword [ecx + ecx - 0x1e56]
inc ebp
add ebp, edi
dec ebp
lea edi, [eax + ecx + 0x3ba3d4a4]
inc ebp
mov dword [ecx + ecx - 0x1e56], ebp
inc esp
mov ebp, dword [esi + ecx*4 - 0x796c]
movsx edx, cl
not ecx
inc ebp
xor ebp, ebx
dec ecx
neg edi
inc esp
movsx esp, dl
inc cx
sar esp, cl
inc ecx
bswap ebp
adc dl, 0x87
call fcn.01345589
mov ecx, 0x5419faa1
xor cl, cl
lea esi, [esi + ecx - 0x5419fa04]
movzx edx, cl
xor edx, dword [esi + edx*2]
xor edx, ebx
lea eax, [ecx*8 + 0x3637ae16]
not edx
jmp 0x1320aaa
inc eax
sub dword [ebx + 0x40842feb], edx
sub edi, eax
mov cs, esp
cmp dword [ebx], ebx
inc ecx
xor eax, 0xd6b5052f
dec esi
mov dword [esp - 0x1c0a841b], edi
inc ecx
dec eax
inc esp
movzx esi, cl
dec eax
bswap edx
inc ecx
ror eax, 3
dec edx
neg dword [esp - 0x1c0a841b]
dec ecx
inc esi
inc ecx
pop esp
inc ecx
push ebx
shl bx, cl
jne 0x1732df4
les ebp, [esp + 0x70]
and eax, 0x4c4c64e1
shl dword [eax + 0x7e], 1
inc eax
inc ebx
xor edx, edi
push esp
inc esi
and bh, bh
and al, 0x68
jl 0x172ecad
dec edi
in eax, 0x7c
pop ebx
xchg edi, eax
sbb byte [edi], 0x7e
jb fcn.0172ecba
stosd dword es:[edi], eax
test byte [edi], bl
jle 0x172ed8a
mov bl, 0x73
lodsb al, byte [esi]
pop ds
jle 0x172ed90
dec ebx
arpl word [eax - 0x608d81e1], bp
mov ebp, dword [eax - 0x1a8d81e1]
sub byte [eax - 0x36caaa3e], cl
rcl dh, 0x41
xor eax, 0x41d6c0c9
adc byte [edi - 0x59], ch
jg 0x172ed0e
loop 0x172ed63
cmp dword [edi], ebp
neg dword [edx - 0x21f4469]
aam 0xe7
sti
jecxz 0x172ed2f
test dword [eax + 0x29], eax
wait
imul ecx, edi, 0xffffff85
inc eax
sub dword [ebx + 0x7f], eax
retf
sbb dword [ecx + 0x38], 0x7e66e946
pop ecx
push 0x8eaee7dd
inc ebp
push 0xba62e7dd
jne 0x172ede0
fucom st(7)
bound esp, qword [esi + 0x45]
push 0x9aa2e7dd
push ecx
push 0x5f1ce7dd
sub edx, dword [edi + 0xc]
in al, dx
or al, 0xec
mov esi, 0x679d4363
int3
int3
pop ds
test dword [eax + 0x29], eax
xor ebp, ebx
das
test dword [eax + 0x29], eax
aaa
pop ss
xor eax, dword [ebp - 0x5078d6c0]
sub eax, dword [ebp - 0x753cd6c0]
int 0x39
sbb edx, dword [edi + 0x7b1a5f63]
dec ecx
pushal
js 0x172ee26
dec edx
loopne 0x172ee11
test al, 0x78
outsd dx, dword [esi]
dec edx
loopne 0x172ee17
dec eax
push eax
jnp 0x172ee1e
loopne 0x172ee1d
jge 0x172edef
test dword [esi], 0x93df24b8
mov dh, 0x1f
pop ds
pop ss
push esi
enter 0x11c4, 0x6d
je 0x172eda3
in eax, 0x87
in eax, dx
sal byte [edi + 0x37dfcb2e], 1
adc dword [ebx + ecx*2 - 0x6e6f5884], edx
cmc
loopne 0x172edec
retf
xchg ebp, eax
add dword [ebx], 0xcc829a75
mov ch, 0xe4
mov dword [0x94ef42e6], eax
dec ebx
sbb ah, byte [edx]
insb byte es:[edi], dx
salc
push cs
bound ebx, qword [eax - 2]
xchg ebp, eax
arpl word [edi - 0x2788183b], si
xchg ecx, eax
rcl byte [esp]
pop eax
invalid
out 0x77, eax
fcom dword [ecx - 0x63dbeb30]
and al, 0x9c
pushfd
pop eax
out 0x35, al
add eax, 0x214717c6
cli
pop ss
inc edi
and edx, edi
push 0x59db67df
jno 0x172ee25
adc al, ch
jae 0x172edc5
mov cl, 8
adc bl, al
int3
inc esi
xor dword [esp + ebp*2 - 0x4040ac0c], eax
call fcn.0177f590
inc ecx
mov eax, 0xa738cba7
jmp 0x1763fcc
dec edx
lea ebp, [eax*8 + 0x7eaec122]
inc ebp
mov ebp, dword [ecx]
movsx ecx, bp
jmp 0x13714e7