Function at 0x1001aee2
Capabilities:
Encode data using xor

Disassembly:
push 0x64
mov eax, 0x100517da
call fcn.1004fe2e
mov eax, 0x10053eb4
lea ecx, [ebp - 0x1c]
sub eax, 0x63a923c9
push eax
call fcn.1001e2cc
and dword [ebp - 4], 0
mov edx, 0x100d389e
mov ecx, eax
call fcn.1002f8cb
cmp byte [0x100d389e], 0
mov esi, dword [sym.imp.KERNEL32.dll_GetCurrentThread]
je 0x1001af67
call fcn.1004eb10
call esi
push eax
call fcn.1004eff0
push 0x10018811
push 0x100d39e0
call fcn.1004e590
call fcn.1004eb70
push 0x3ba877d2
lea ecx, [ebp - 0x20]
call fcn.1001e30a
sub esp, 0xc
mov dword [ebp - 4], 1
mov edx, 0x100d3900
mov ecx, eax
call fcn.1003364a
add esp, 0xc
push 6
pop ecx
xor edx, edx
mov al, byte [edx + str.Ehdo]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x24], al
and ecx, 0x800000ff
jns 0x1001af89
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x12
jl 0x1001af6c
mov byte [ebp - 0x12], 0
mov edx, 0x100d3897
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x24]
call fcn.1002f8cb
cmp byte [0x100d3897], 0
push 0x14
pop ebx
je 0x1001b01b
call fcn.1004eb10
call esi
push eax
call fcn.1004eff0
push 0x10018922
push 0x100d39c4
call fcn.1004e590
call fcn.1004eb70
mov ecx, 0xaa
xor edx, edx
mov al, byte [edx + 0x10053ee4]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x28], al
and ecx, 0x800000ff
jns 0x1001aff8
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, ebx
jl 0x1001afdb
mov byte [ebp - 0x14], 0
sub esp, 0xc
mov dword [ebp - 4], 3
mov edx, 0x100d38fc
lea ecx, [ebp - 0x28]
call fcn.1003364a
add esp, 0xc
push 0x6b
pop ecx
xor edx, edx
mov al, byte [edx + 0x10053efc]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x24], al
and ecx, 0x800000ff
jns 0x1001b03d
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xf
jl 0x1001b020
mov byte [ebp - 0x15], 0
mov edx, 0x100d3896
mov dword [ebp - 4], 4
lea ecx, [ebp - 0x24]
call fcn.1002f8cb
cmp byte [0x100d3896], 0
je 0x1001b0cd
call fcn.1004eb10
call esi
push eax
call fcn.1004eff0
push 0x10018938
push 0x1005e314
call fcn.1004e590
call fcn.1004eb70
mov ecx, 0xf7
xor edx, edx
mov al, byte [edx + 0x10053f0c]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x24], al
and ecx, 0x800000ff
jns 0x1001b0a9
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x11
jl 0x1001b08c
mov byte [ebp - 0x13], 0
sub esp, 0xc
mov dword [ebp - 4], 5
mov edx, 0x100d38f4
lea ecx, [ebp - 0x24]
call fcn.1003364a
add esp, 0xc
push 0xa
pop ecx
xor edx, edx
mov al, byte [edx + 0x10053f20]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x24], al
and ecx, 0x800000ff
jns 0x1001b0ef
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xf
jl 0x1001b0d2
mov byte [ebp - 0x15], 0
mov edx, 0x100d3895
mov dword [ebp - 4], 6
lea ecx, [ebp - 0x24]
call fcn.1002f8cb
cmp byte [0x100d3895], 0
je 0x1001b17d
call fcn.1004eb10
call esi
push eax
call fcn.1004eff0
push 0x1001894e
push 0x1005e30c
call fcn.1004e590
call fcn.1004eb70
xor ecx, ecx
mov al, byte [ecx + str.76Uxkt]
xor al, bl
inc ebx
mov byte [ebp + ecx - 0x24], al
and ebx, 0x800000ff
jns 0x1001b156
dec ebx
or ebx, 0xffffff00
inc ebx
inc ecx
cmp ecx, 0x11
jl 0x1001b139
xor ebx, ebx
mov byte [ebp - 0x13], bl
sub esp, 0xc
mov dword [ebp - 4], 7
mov edx, 0x100d38f8
lea ecx, [ebp - 0x24]
call fcn.1003364a
add esp, 0xc
jmp 0x1001b17f
xor ebx, ebx
push 0x2e
pop ecx
mov edx, ebx
mov al, byte [edx + str.m_CWG_V]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x24], al
and ecx, 0x800000ff
jns 0x1001b1a1
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x11
jl 0x1001b184
mov byte [ebp - 0x13], bl
mov edx, 0x100d389c
mov dword [ebp - 4], 8
lea ecx, [ebp - 0x24]
call fcn.1002f8cb
or dword [ebp - 4], 0xffffffff
cmp byte [0x100d389c], 0
je 0x1001b235
call fcn.1004eb10
call esi
push eax
call fcn.1004eff0
push 0x10018964
push 0x100d39ec
call fcn.1004e590
call fcn.1004eb70
push 0x29
pop ecx
mov edx, ebx
mov al, byte [edx + str._n_thCCJDXQ]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x28], al
and ecx, 0x800000ff
jns 0x1001b20e
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x13
jl 0x1001b1f1
mov byte [ebp - 0x15], bl
sub esp, 0xc
mov dword [ebp - 4], 9
mov edx, 0x100d3904
lea ecx, [ebp - 0x28]
call fcn.1003364a
add esp, 0xc
or dword [ebp - 4], 0xffffffff
movaps xmm0, xmmword [0x10059330]
mov ecx, ebx
movups xmmword [ebp - 0x48], xmm0
mov dword [ebp - 0x18], 0xd3c1d7d2
movaps xmm0, xmmword [str.02W_6Z8484]
movups xmmword [ebp - 0x38], xmm0
mov word [ebp - 0x14], 0xc5
movaps xmm0, xmmword [0x100596e0]
movups xmmword [ebp - 0x28], xmm0
mov byte [ebp - 0x12], 1
lea eax, [ecx + 0x63]
xor byte [ebp + ecx - 0x48], al
inc ecx
cmp ecx, 0x35
jb 0x1001b269
lea eax, [ebp - 0x48]
mov byte [ebp - 0x12], bl
push eax
call fcn.1002c921
movaps xmm0, xmmword [0x10059120]
pop ecx
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x20], 0x3f225436
movups xmmword [ebp - 0x30], xmm0
mov dword [ebp - 0x1c], 0x33593023
mov dword [ebp - 0x18], 0x1005d2f
call fcn.100144f1
push eax
call fcn.1002c921
movaps xmm0, xmmword [0x10059080]
movups xmmword [ebp - 0x70], xmm0
pop ecx
movaps xmm0, xmmword [str._1_V.7_Z_33__]
mov ecx, ebx
movups xmmword [ebp - 0x60], xmm0
mov dword [ebp - 0x50], 0xc1cbcdd7
mov word [ebp - 0x4c], 0xa6
mov byte [ebp - 0x4a], 1
lea eax, [ecx + 0x63]
xor byte [ebp + ecx - 0x70], al
inc ecx
cmp ecx, 0x25
jb 0x1001b2db
lea eax, [ebp - 0x70]
mov byte [ebp - 0x4a], bl
push eax
call fcn.1002c921
pop ecx
call fcn.1004fdec
ret