Function at 0x10017abc
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
push ebx
push esi
mov esi, dword [0x1003f0ac]
mov eax, esi
push edi
and eax, 0x42f06102
mov edi, ecx
xor ebx, ebx
mov dword [ebp - 0xc], edi
mov edx, ebx
xor esi, 0xb5a1a2b9
inc edx
cmp word [edx*2 + str.ti.avodap], bx
jne 0x10017adb
cmp edx, 0x11c2
jae 0x10017afb
and eax, 0xf60d00d4
jmp 0x10017b00
add eax, 0x6243b47d
movzx ecx, word [edi]
lea esi, [eax + 0x17adbead]
movzx edx, cx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 8], edx
test cx, cx
je 0x10017b57
mov ecx, edi
lea ecx, [ecx + 2]
add eax, 0xaee31eef
cmp word [ecx], bx
jne 0x10017b19
mov dword [0x1003f0ac], eax
mov edx, ebx
add eax, 0x38e6b3b9
inc edx
cmp word [edi + edx*2], bx
jne 0x10017b2d
mov ecx, dword [ebp - 0x14]
jmp 0x10017b53
cmp ecx, 0x2349
jne 0x10017b4d
mov eax, esi
or eax, 0x1a6bb808
add eax, 0x5d789452
inc ecx
cmp ecx, edx
jb 0x10017b3e
mov ecx, ebx
inc ecx
cmp byte [ecx + str.failed_to_create_new_leaked_file], bl
jne 0x10017b59
mov edx, dword [ebp - 0x14]
jmp 0x10017b7a
cmp edx, 0x22ae
jne 0x10017b74
sub eax, 0x37a43ce4
or eax, 0xe5c24ee1
inc edx
cmp edx, ecx
jb 0x10017b67
movzx esi, word [edi]
mov ebx, eax
and ebx, 0x9df4f732
xor eax, 0xb0ece051
xor ecx, ecx
mov dword [ebp - 4], ebx
mov edx, ebx
test si, si
je 0x10017bb0
mov ebx, eax
and ebx, 0xb95e756e
xor edx, edx
mov dword [ebp - 4], ebx
inc ecx
cmp word [edi + ecx*2], dx
jne 0x10017ba7
mov edx, ebx
cmp ecx, 0x942
jne 0x10017bc5
mov ebx, eax
or ebx, 0xceb8f8b7
mov dword [ebp - 4], ebx
mov edx, ebx
xor ecx, ecx
add edx, 0x9a671f9
mov eax, ecx
test si, si
je 0x10017bf4
mov edx, ebx
or edx, 0x747c415f
inc eax
cmp word [edi + eax*2], cx
jne 0x10017bdc
cmp eax, 0x2502
jbe 0x10017bf4
mov edx, ebx
xor edx, 0xb12ffaec
jmp 0x10017bfa
xor edx, 0xe1728329
push 7
mov eax, dword [ebp - 0x10]
lea edi, [ebp - 0x34]
pop ecx
mov esi, str.negative_width
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0xc]
movsw word es:[edi], word [esi]
cmp ax, word [ebp - 0x34]
jne 0x10017c61
mov eax, dword [ebp - 8]
movzx edi, ax
xor eax, eax
mov esi, eax
xor ebx, ebx
test di, di
je 0x10017c3c
cmp word [ebp + eax - 0x34], bx
je 0x10017c3c
inc esi
lea eax, [esi + esi]
movzx edi, word [eax + ecx]
cmp di, word [ebp + eax - 0x34]
je 0x10017c21
mov eax, dword [ebp - 0x14]
mov ebx, dword [ebp - 4]
cmp eax, esi
jae 0x10017c61
cmp eax, 0x1c98
jne 0x10017c53
or ebx, 0x492bcd9f
sub edx, 0x5907fd4c
inc eax
cmp eax, esi
jb 0x10017c46
mov dword [ebp - 4], ebx
xor esi, esi
mov eax, esi
cmp word [ebp - 8], ax
je 0x10017c8b
mov edx, ebx
or edx, 0xe9bea04
inc eax
cmp word [ecx + eax*2], si
jne 0x10017c73
cmp eax, 0x18f5
jb 0x10017c8b
mov edx, ebx
or edx, 0x762f3e97
jmp 0x10017c91
xor edx, 0xd8f841be
mov eax, esi
lea edi, [ebp - 0x2c]
push 5
pop ecx
mov esi, str.ecaps.rebu
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov edi, dword [ebp - 8]
cmp di, word [ebp - 0x2c]
jne 0x10017cdf
xor eax, eax
movzx edi, di
mov ecx, eax
xor ebx, ebx
mov eax, dword [ebp - 0xc]
mov esi, ecx
test di, di
je 0x10017cd4
cmp word [ebp + ecx - 0x2c], bx
je 0x10017cd4
inc esi
lea ecx, [esi + esi]
movzx edi, word [ecx + eax]
cmp di, word [ebp + ecx - 0x2c]
je 0x10017cb9
mov ebx, dword [ebp - 4]
mov eax, esi
mov edi, dword [ebp - 8]
mov dword [ebp - 0x10], esi
mov esi, dword [ebp - 0xc]
movzx ecx, byte [esi + eax*2]
movzx eax, byte [ebp + eax*2 - 0x2c]
sub ecx, eax
cmp ecx, 0x1809
jbe 0x10017cfd
imul ecx, ebx, 0x9a02ee7f
jmp 0x10017d05
mov ecx, edx
or ecx, 0x95d581cd
test di, di
je 0x10017d1a
xor eax, eax
lea esi, [esi + 2]
and edx, 0xf8b972b9
cmp word [esi], ax
jne 0x10017d0c
mov eax, ecx
add ecx, 0xb3d9282a
pop edi
xor eax, 0xcd952066
xor ecx, 0x36a47b74
pop esi
mov dword [0x1003f0ac], eax
mov dword [0x1003f290], ecx
pop ebx
leave
ret