Function at 0x10017a2d
Capabilities:
Encode data using xor

Disassembly:
push 0x64
mov eax, 0x1004e9c2
call fcn.1004d36e
xor ebx, ebx
mov ecx, 0x9b
mov edx, ebx
mov al, byte [edx + 0x10051d6c]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x24], al
and ecx, 0x800000ff
jns 0x10017a5f
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x11
jl 0x10017a42
mov byte [ebp - 0x13], bl
mov edx, 0x100d1a84
mov dword [ebp - 4], ebx
lea ecx, [ebp - 0x24]
call fcn.1002cdd4
mov ecx, 0xe3
mov edx, ebx
mov al, byte [edx + 0x10051d80]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x1c], al
and ecx, 0x800000ff
jns 0x10017a9c
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 9
jl 0x10017a7f
mov byte [ebp - 0x13], bl
mov edx, 0x100d1a95
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x1c]
call fcn.1002cdd4
mov ecx, 0x87
mov edx, ebx
mov al, byte [edx + 0x10051d8c]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x1c], al
and ecx, 0x800000ff
jns 0x10017add
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 7
jl 0x10017ac0
mov byte [ebp - 0x15], bl
mov edx, 0x100d1a96
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x1c]
call fcn.1002cdd4
push 0x18
pop ecx
mov edx, ebx
mov al, byte [edx + str.Npirq_cIG_O]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x20], al
and ecx, 0x800000ff
jns 0x10017b1c
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xd
jl 0x10017aff
mov byte [ebp - 0x13], bl
mov edx, 0x1005b0d0
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x20]
call fcn.1002cdd4
mov ecx, 0xab
mov edx, ebx
mov al, byte [edx + 0x10051da4]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x1c], al
and ecx, 0x800000ff
jns 0x10017b5d
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 8
jl 0x10017b40
mov byte [ebp - 0x14], bl
mov edx, 0x100d1a85
mov dword [ebp - 4], 4
lea ecx, [ebp - 0x1c]
call fcn.1002cdd4
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x24], 0x3e363318
mov dword [ebp - 0x20], 0x33002a32
mov dword [ebp - 0x1c], 0x100c0d0c
mov word [ebp - 0x18], 0xd
mov byte [ebp - 0x16], 1
call fcn.1000216f
mov edx, 0x100d1a86
mov ecx, eax
call fcn.1002cdd4
cmp byte [0x100d1a86], 0
je 0x10017bff
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x18], 0xd874da
mov byte [ebp - 0x14], 1
call fcn.100020eb
and dword [ebp - 0x70], 0
push ecx
mov dword [esp], 0x3f800000
lea ecx, [ebp - 0x6c]
push str._.3f
push ecx
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x6c], 0x3f800000
push ecx
push 0x1005b0d4
push 4
pop edx
mov ecx, eax
call fcn.1002c2aa
add esp, 0x14
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x20], 0x2e33331d
mov dword [ebp - 0x1c], 0x8217f2a
mov word [ebp - 0x18], 0xf
mov byte [ebp - 0x16], 1
call fcn.100053aa
mov edx, 0x100d1a97
mov ecx, eax
call fcn.1002cdd4
cmp byte [0x100d1a97], 0
je 0x10017ccd
call fcn.1004c050
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
push eax
call fcn.1004c530
push 0x1001613e
push 0x100d1b58
call fcn.1004bad0
call fcn.1004c0b0
movaps xmm0, xmmword [0x10056d30]
mov ecx, ebx
movups xmmword [ebp - 0x68], xmm0
mov dword [ebp - 0x48], 0x367d3b1f
movaps xmm0, xmmword [0x10056ef0]
movups xmmword [ebp - 0x58], xmm0
mov dword [ebp - 0x44], 0xc6e5ee1e
mov word [ebp - 0x40], 0x100
lea eax, [ecx + 0x5b]
xor byte [ebp + ecx - 0x68], al
inc ecx
cmp ecx, 0x28
jb 0x10017c89
movaps xmm0, xmmword [0x10057c20]
lea ecx, [ebp - 0x3c]
mov byte [ebp - 0x3f], bl
movups xmmword [ebp - 0x3c], xmm0
mov dword [ebp - 0x2c], 0xedeeefe8
mov dword [ebp - 0x28], 0x100f3ec
call fcn.1001312e
push ecx
lea ecx, [ebp - 0x68]
mov edx, 0x100d1a8c
push ecx
mov ecx, eax
call fcn.100312e3
pop ecx
pop ecx
call fcn.1004d32c
ret