Function at 0x1001afc8
Capabilities:
Encode data using xor

Disassembly:
push 0x64
mov eax, 0x10052844
call fcn.10050eae
mov eax, 0x10055ecc
lea ecx, [ebp - 0x1c]
sub eax, 0x63a923c9
push eax
call fcn.1001f3ca
and dword [ebp - 4], 0
mov edx, 0x100d6912
mov ecx, eax
call fcn.100309b9
cmp byte [0x100d6912], 0
mov esi, dword [sym.imp.KERNEL32.dll_GetCurrentThread]
je 0x1001b04d
call fcn.1004fb90
call esi
push eax
call fcn.10050070
push 0x100188fd
push 0x100d6a0c
call fcn.1004f610
call fcn.1004fbf0
push 0x3ba897ea
lea ecx, [ebp - 0x20]
call fcn.1001f408
sub esp, 0xc
mov dword [ebp - 4], 1
mov edx, 0x100d6914
mov ecx, eax
call fcn.10034738
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 0x1001b06f
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x12
jl 0x1001b052
mov byte [ebp - 0x12], 0
mov edx, 0x100d68ab
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x24]
call fcn.100309b9
cmp byte [0x100d68ab], 0
push 0x14
pop ebx
je 0x1001b101
call fcn.1004fb90
call esi
push eax
call fcn.10050070
push 0x10018a0e
push 0x100d69ec
call fcn.1004f610
call fcn.1004fbf0
mov ecx, 0xaa
xor edx, edx
mov al, byte [edx + 0x10055efc]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x28], al
and ecx, 0x800000ff
jns 0x1001b0de
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, ebx
jl 0x1001b0c1
mov byte [ebp - 0x14], 0
sub esp, 0xc
mov dword [ebp - 4], 3
mov edx, 0x100d690c
lea ecx, [ebp - 0x28]
call fcn.10034738
add esp, 0xc
push 0x6b
pop ecx
xor edx, edx
mov al, byte [edx + 0x10055f14]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x24], al
and ecx, 0x800000ff
jns 0x1001b123
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xf
jl 0x1001b106
mov byte [ebp - 0x15], 0
mov edx, 0x100d68aa
mov dword [ebp - 4], 4
lea ecx, [ebp - 0x24]
call fcn.100309b9
cmp byte [0x100d68aa], 0
je 0x1001b1b3
call fcn.1004fb90
call esi
push eax
call fcn.10050070
push 0x10018a24
push 0x1006131c
call fcn.1004f610
call fcn.1004fbf0
mov ecx, 0xf7
xor edx, edx
mov al, byte [edx + 0x10055f24]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x24], al
and ecx, 0x800000ff
jns 0x1001b18f
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x11
jl 0x1001b172
mov byte [ebp - 0x13], 0
sub esp, 0xc
mov dword [ebp - 4], 5
mov edx, 0x100d6904
lea ecx, [ebp - 0x24]
call fcn.10034738
add esp, 0xc
push 0xa
pop ecx
xor edx, edx
mov al, byte [edx + 0x10055f38]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x24], al
and ecx, 0x800000ff
jns 0x1001b1d5
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xf
jl 0x1001b1b8
mov byte [ebp - 0x15], 0
mov edx, 0x100d68a9
mov dword [ebp - 4], 6
lea ecx, [ebp - 0x24]
call fcn.100309b9
cmp byte [0x100d68a9], 0
je 0x1001b263
call fcn.1004fb90
call esi
push eax
call fcn.10050070
push 0x10018a3a
push 0x10061314
call fcn.1004f610
call fcn.1004fbf0
xor ecx, ecx
mov al, byte [ecx + str.76Uxkt]
xor al, bl
inc ebx
mov byte [ebp + ecx - 0x24], al
and ebx, 0x800000ff
jns 0x1001b23c
dec ebx
or ebx, 0xffffff00
inc ebx
inc ecx
cmp ecx, 0x11
jl 0x1001b21f
xor ebx, ebx
mov byte [ebp - 0x13], bl
sub esp, 0xc
mov dword [ebp - 4], 7
mov edx, 0x100d6908
lea ecx, [ebp - 0x24]
call fcn.10034738
add esp, 0xc
jmp 0x1001b265
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 0x1001b287
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x11
jl 0x1001b26a
mov byte [ebp - 0x13], bl
mov edx, 0x100d6910
mov dword [ebp - 4], 8
lea ecx, [ebp - 0x24]
call fcn.100309b9
or dword [ebp - 4], 0xffffffff
cmp byte [0x100d6910], 0
je 0x1001b31b
call fcn.1004fb90
call esi
push eax
call fcn.10050070
push 0x10018a50
push 0x100d6a18
call fcn.1004f610
call fcn.1004fbf0
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 0x1001b2f4
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x13
jl 0x1001b2d7
mov byte [ebp - 0x15], bl
sub esp, 0xc
mov dword [ebp - 4], 9
mov edx, 0x100d6918
lea ecx, [ebp - 0x28]
call fcn.10034738
add esp, 0xc
or dword [ebp - 4], 0xffffffff
movaps xmm0, xmmword [0x1005bec0]
mov ecx, ebx
movups xmmword [ebp - 0x48], xmm0
mov dword [ebp - 0x18], 0x594f5958
movaps xmm0, xmmword [0x1005b200]
movups xmmword [ebp - 0x38], xmm0
mov word [ebp - 0x14], 0x4f
movaps xmm0, xmmword [0x1005b1d0]
movups xmmword [ebp - 0x28], xmm0
mov byte [ebp - 0x12], 1
lea eax, [ecx - 0x17]
xor byte [ebp + ecx - 0x48], al
inc ecx
cmp ecx, 0x35
jb 0x1001b34f
lea eax, [ebp - 0x48]
mov byte [ebp - 0x12], bl
push eax
call fcn.1002da0f
movaps xmm0, xmmword [0x1005bc80]
pop ecx
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x20], 0xb5acdabc
movups xmmword [ebp - 0x30], xmm0
mov dword [ebp - 0x1c], 0x49dfb6a9
mov dword [ebp - 0x18], 0x1002355
call fcn.100145dd
push eax
call fcn.1002da0f
movaps xmm0, xmmword [0x1005bc40]
movups xmmword [ebp - 0x70], xmm0
pop ecx
movaps xmm0, xmmword [0x1005b310]
mov ecx, ebx
movups xmmword [ebp - 0x60], xmm0
mov dword [ebp - 0x50], 0x4b45435d
mov word [ebp - 0x4c], 0x2c
mov byte [ebp - 0x4a], 1
lea eax, [ecx - 0x17]
xor byte [ebp + ecx - 0x70], al
inc ecx
cmp ecx, 0x25
jb 0x1001b3c1
lea eax, [ebp - 0x70]
mov byte [ebp - 0x4a], bl
push eax
call fcn.1002da0f
pop ecx
call fcn.10050e6c
ret