Function at 0x1001adcf
Capabilities:
Encode data using xor

Disassembly:
push 0x64
mov eax, 0x100525a9
call fcn.10050cfe
mov eax, 0x10054ecc
lea ecx, [ebp - 0x1c]
sub eax, 0x63a923c9
push eax
call fcn.1001f1e3
and dword [ebp - 4], 0
mov edx, 0x100d5912
mov ecx, eax
call fcn.10030842
cmp byte [0x100d5912], 0
mov esi, dword [sym.imp.KERNEL32.dll_GetCurrentThread]
je 0x1001ae54
call fcn.1004f9e0
call esi
push eax
call fcn.1004fec0
push 0x10018705
push 0x100d5a0c
call fcn.1004f460
call fcn.1004fa40
push 0x3ba887ea
lea ecx, [ebp - 0x20]
call fcn.1001f221
sub esp, 0xc
mov dword [ebp - 4], 1
mov edx, 0x100d5914
mov ecx, eax
call fcn.100345c1
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 0x1001ae76
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x12
jl 0x1001ae59
mov byte [ebp - 0x12], 0
mov edx, 0x100d58ab
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x24]
call fcn.10030842
cmp byte [0x100d58ab], 0
push 0x14
pop ebx
je 0x1001af08
call fcn.1004f9e0
call esi
push eax
call fcn.1004fec0
push 0x10018816
push 0x100d59ec
call fcn.1004f460
call fcn.1004fa40
mov ecx, 0xaa
xor edx, edx
mov al, byte [edx + 0x10054efc]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x28], al
and ecx, 0x800000ff
jns 0x1001aee5
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, ebx
jl 0x1001aec8
mov byte [ebp - 0x14], 0
sub esp, 0xc
mov dword [ebp - 4], 3
mov edx, 0x100d590c
lea ecx, [ebp - 0x28]
call fcn.100345c1
add esp, 0xc
push 0x6b
pop ecx
xor edx, edx
mov al, byte [edx + 0x10054f14]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x24], al
and ecx, 0x800000ff
jns 0x1001af2a
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xf
jl 0x1001af0d
mov byte [ebp - 0x15], 0
mov edx, 0x100d58aa
mov dword [ebp - 4], 4
lea ecx, [ebp - 0x24]
call fcn.10030842
cmp byte [0x100d58aa], 0
je 0x1001afba
call fcn.1004f9e0
call esi
push eax
call fcn.1004fec0
push 0x1001882c
push 0x1006031c
call fcn.1004f460
call fcn.1004fa40
mov ecx, 0xf7
xor edx, edx
mov al, byte [edx + 0x10054f24]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x24], al
and ecx, 0x800000ff
jns 0x1001af96
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x11
jl 0x1001af79
mov byte [ebp - 0x13], 0
sub esp, 0xc
mov dword [ebp - 4], 5
mov edx, 0x100d5904
lea ecx, [ebp - 0x24]
call fcn.100345c1
add esp, 0xc
push 0xa
pop ecx
xor edx, edx
mov al, byte [edx + 0x10054f38]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x24], al
and ecx, 0x800000ff
jns 0x1001afdc
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xf
jl 0x1001afbf
mov byte [ebp - 0x15], 0
mov edx, 0x100d58a9
mov dword [ebp - 4], 6
lea ecx, [ebp - 0x24]
call fcn.10030842
cmp byte [0x100d58a9], 0
je 0x1001b06a
call fcn.1004f9e0
call esi
push eax
call fcn.1004fec0
push 0x10018842
push 0x10060314
call fcn.1004f460
call fcn.1004fa40
xor ecx, ecx
mov al, byte [ecx + str.76Uxkt]
xor al, bl
inc ebx
mov byte [ebp + ecx - 0x24], al
and ebx, 0x800000ff
jns 0x1001b043
dec ebx
or ebx, 0xffffff00
inc ebx
inc ecx
cmp ecx, 0x11
jl 0x1001b026
xor ebx, ebx
mov byte [ebp - 0x13], bl
sub esp, 0xc
mov dword [ebp - 4], 7
mov edx, 0x100d5908
lea ecx, [ebp - 0x24]
call fcn.100345c1
add esp, 0xc
jmp 0x1001b06c
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 0x1001b08e
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x11
jl 0x1001b071
mov byte [ebp - 0x13], bl
mov edx, 0x100d5910
mov dword [ebp - 4], 8
lea ecx, [ebp - 0x24]
call fcn.10030842
or dword [ebp - 4], 0xffffffff
cmp byte [0x100d5910], 0
je 0x1001b122
call fcn.1004f9e0
call esi
push eax
call fcn.1004fec0
push 0x10018858
push 0x100d5a18
call fcn.1004f460
call fcn.1004fa40
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 0x1001b0fb
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x13
jl 0x1001b0de
mov byte [ebp - 0x15], bl
sub esp, 0xc
mov dword [ebp - 4], 9
mov edx, 0x100d5918
lea ecx, [ebp - 0x28]
call fcn.100345c1
add esp, 0xc
or dword [ebp - 4], 0xffffffff
movaps xmm0, xmmword [0x1005a4e0]
mov ecx, ebx
movups xmmword [ebp - 0x48], xmm0
mov dword [ebp - 0x18], 0x93819792
movaps xmm0, xmmword [0x1005a370]
movups xmmword [ebp - 0x38], xmm0
mov word [ebp - 0x14], 0x85
movaps xmm0, xmmword [0x1005a250]
movups xmmword [ebp - 0x28], xmm0
mov byte [ebp - 0x12], 1
lea eax, [ecx - 0x5d]
xor byte [ebp + ecx - 0x48], al
inc ecx
cmp ecx, 0x35
jb 0x1001b156
lea eax, [ebp - 0x48]
mov byte [ebp - 0x12], bl
push eax
call fcn.1002d898
movaps xmm0, xmmword [0x1005b060]
pop ecx
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x20], 0xffe294f6
movups xmmword [ebp - 0x30], xmm0
mov dword [ebp - 0x1c], 0xf399f0e3
mov dword [ebp - 0x18], 0x1009def
call fcn.100143e5
push eax
call fcn.1002d898
movaps xmm0, xmmword [0x1005ae40]
movups xmmword [ebp - 0x70], xmm0
pop ecx
movaps xmm0, xmmword [0x1005a420]
mov ecx, ebx
movups xmmword [ebp - 0x60], xmm0
mov dword [ebp - 0x50], 0x818b8d97
mov word [ebp - 0x4c], 0xe6
mov byte [ebp - 0x4a], 1
lea eax, [ecx - 0x5d]
xor byte [ebp + ecx - 0x70], al
inc ecx
cmp ecx, 0x25
jb 0x1001b1c8
lea eax, [ebp - 0x70]
mov byte [ebp - 0x4a], bl
push eax
call fcn.1002d898
pop ecx
call fcn.10050cbc
ret