Function at 0x1001afa0
Capabilities:
Encode data using xor

Disassembly:
push 0x64
mov eax, 0x1005189b
call fcn.1004fece
mov eax, 0x10054eb4
lea ecx, [ebp - 0x1c]
sub eax, 0x63a923c9
push eax
call fcn.1001e389
and dword [ebp - 4], 0
mov edx, 0x100d489e
mov ecx, eax
call fcn.1002f975
cmp byte [0x100d489e], 0
mov esi, dword [sym.imp.KERNEL32.dll_GetCurrentThread]
je 0x1001b025
call fcn.1004ebb0
call esi
push eax
call fcn.1004f090
push 0x100188cf
push 0x100d49e0
call fcn.1004e630
call fcn.1004ec10
push 0x3ba887d2
lea ecx, [ebp - 0x20]
call fcn.1001e3c7
sub esp, 0xc
mov dword [ebp - 4], 1
mov edx, 0x100d4900
mov ecx, eax
call fcn.100336f4
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 0x1001b047
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x12
jl 0x1001b02a
mov byte [ebp - 0x12], 0
mov edx, 0x100d4897
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x24]
call fcn.1002f975
cmp byte [0x100d4897], 0
push 0x14
pop ebx
je 0x1001b0d9
call fcn.1004ebb0
call esi
push eax
call fcn.1004f090
push 0x100189e0
push 0x100d49c4
call fcn.1004e630
call fcn.1004ec10
mov ecx, 0xaa
xor edx, edx
mov al, byte [edx + 0x10054ee4]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x28], al
and ecx, 0x800000ff
jns 0x1001b0b6
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, ebx
jl 0x1001b099
mov byte [ebp - 0x14], 0
sub esp, 0xc
mov dword [ebp - 4], 3
mov edx, 0x100d48fc
lea ecx, [ebp - 0x28]
call fcn.100336f4
add esp, 0xc
push 0x6b
pop ecx
xor edx, edx
mov al, byte [edx + 0x10054efc]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x24], al
and ecx, 0x800000ff
jns 0x1001b0fb
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xf
jl 0x1001b0de
mov byte [ebp - 0x15], 0
mov edx, 0x100d4896
mov dword [ebp - 4], 4
lea ecx, [ebp - 0x24]
call fcn.1002f975
cmp byte [0x100d4896], 0
je 0x1001b18b
call fcn.1004ebb0
call esi
push eax
call fcn.1004f090
push 0x100189f6
push 0x1005f314
call fcn.1004e630
call fcn.1004ec10
mov ecx, 0xf7
xor edx, edx
mov al, byte [edx + 0x10054f0c]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x24], al
and ecx, 0x800000ff
jns 0x1001b167
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x11
jl 0x1001b14a
mov byte [ebp - 0x13], 0
sub esp, 0xc
mov dword [ebp - 4], 5
mov edx, 0x100d48f4
lea ecx, [ebp - 0x24]
call fcn.100336f4
add esp, 0xc
push 0xa
pop ecx
xor edx, edx
mov al, byte [edx + 0x10054f20]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x24], al
and ecx, 0x800000ff
jns 0x1001b1ad
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xf
jl 0x1001b190
mov byte [ebp - 0x15], 0
mov edx, 0x100d4895
mov dword [ebp - 4], 6
lea ecx, [ebp - 0x24]
call fcn.1002f975
cmp byte [0x100d4895], 0
je 0x1001b23b
call fcn.1004ebb0
call esi
push eax
call fcn.1004f090
push 0x10018a0c
push 0x1005f30c
call fcn.1004e630
call fcn.1004ec10
xor ecx, ecx
mov al, byte [ecx + str.76Uxkt]
xor al, bl
inc ebx
mov byte [ebp + ecx - 0x24], al
and ebx, 0x800000ff
jns 0x1001b214
dec ebx
or ebx, 0xffffff00
inc ebx
inc ecx
cmp ecx, 0x11
jl 0x1001b1f7
xor ebx, ebx
mov byte [ebp - 0x13], bl
sub esp, 0xc
mov dword [ebp - 4], 7
mov edx, 0x100d48f8
lea ecx, [ebp - 0x24]
call fcn.100336f4
add esp, 0xc
jmp 0x1001b23d
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 0x1001b25f
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x11
jl 0x1001b242
mov byte [ebp - 0x13], bl
mov edx, 0x100d489c
mov dword [ebp - 4], 8
lea ecx, [ebp - 0x24]
call fcn.1002f975
or dword [ebp - 4], 0xffffffff
cmp byte [0x100d489c], 0
je 0x1001b2f3
call fcn.1004ebb0
call esi
push eax
call fcn.1004f090
push 0x10018a22
push 0x100d49ec
call fcn.1004e630
call fcn.1004ec10
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 0x1001b2cc
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x13
jl 0x1001b2af
mov byte [ebp - 0x15], bl
sub esp, 0xc
mov dword [ebp - 4], 9
mov edx, 0x100d4904
lea ecx, [ebp - 0x28]
call fcn.100336f4
add esp, 0xc
or dword [ebp - 4], 0xffffffff
movaps xmm0, xmmword [str..35._]
mov ecx, ebx
movups xmmword [ebp - 0x48], xmm0
mov dword [ebp - 0x18], 0xe8f8e8eb
movaps xmm0, xmmword [0x1005a430]
movups xmmword [ebp - 0x38], xmm0
mov word [ebp - 0x14], 0xfc
movaps xmm0, xmmword [0x1005a970]
movups xmmword [ebp - 0x28], xmm0
mov byte [ebp - 0x12], 1
lea eax, [ecx + 0x7a]
xor byte [ebp + ecx - 0x48], al
inc ecx
cmp ecx, 0x35
jb 0x1001b327
lea eax, [ebp - 0x48]
mov byte [ebp - 0x12], bl
push eax
call fcn.1002c9cb
movaps xmm0, xmmword [str._431]
pop ecx
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x20], 0xc4dbabcf
movups xmmword [ebp - 0x30], xmm0
mov dword [ebp - 0x1c], 0xd8b0c7da
mov dword [ebp - 0x18], 0x100b2c6
call fcn.100145af
push eax
call fcn.1002c9cb
movaps xmm0, xmmword [str.973.__]
movups xmmword [ebp - 0x70], xmm0
pop ecx
movaps xmm0, xmmword [0x1005a2e0]
mov ecx, ebx
movups xmmword [ebp - 0x60], xmm0
mov dword [ebp - 0x50], 0xdad2d2ce
mov word [ebp - 0x4c], 0xbf
mov byte [ebp - 0x4a], 1
lea eax, [ecx + 0x7a]
xor byte [ebp + ecx - 0x70], al
inc ecx
cmp ecx, 0x25
jb 0x1001b399
lea eax, [ebp - 0x70]
mov byte [ebp - 0x4a], bl
push eax
call fcn.1002c9cb
pop ecx
call fcn.1004fe8c
ret