Function at 0x1001b61a
Capabilities:
Encode data using xor

Disassembly:
push 0x2c8
mov eax, 0x10051858
call fcn.1004fdbe
xor ebx, ebx
mov ecx, 0xfd
mov edx, ebx
mov al, byte [edx + 0x10053fd8]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x20], al
and ecx, 0x800000ff
jns 0x1001b64f
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xd
jl 0x1001b632
mov byte [ebp - 0x13], bl
lea eax, [ebp - 0x20]
mov dword [ebp - 4], ebx
push eax
call fcn.1002c8c6
movaps xmm0, xmmword [0x10059550]
movups xmmword [ebp - 0x2d4], xmm0
pop ecx
movaps xmm0, xmmword [0x10059000]
movups xmmword [ebp - 0x2c4], xmm0
mov dword [ebp - 0xa4], 0x99989483
movaps xmm0, xmmword [0x100591c0]
movups xmmword [ebp - 0x2b4], xmm0
mov dword [ebp - 0xa0], 0x929ed999
movaps xmm0, xmmword [0x10058eb0]
movups xmmword [ebp - 0x2a4], xmm0
mov word [ebp - 0x9c], 0x99
movaps xmm0, xmmword [0x10058cc0]
movups xmmword [ebp - 0x294], xmm0
mov byte [ebp - 0x9a], 1
movaps xmm0, xmmword [0x10058e60]
movups xmmword [ebp - 0x284], xmm0
movaps xmm0, xmmword [0x10058ed0]
movups xmmword [ebp - 0x274], xmm0
movaps xmm0, xmmword [0x10058c40]
movups xmmword [ebp - 0x264], xmm0
movaps xmm0, xmmword [str.__fhe___:o]
movups xmmword [ebp - 0x254], xmm0
movaps xmm0, xmmword [0x10058c70]
movups xmmword [ebp - 0x244], xmm0
movaps xmm0, xmmword [0x10058c50]
movups xmmword [ebp - 0x234], xmm0
movaps xmm0, xmmword [0x10059810]
movups xmmword [ebp - 0x224], xmm0
movaps xmm0, xmmword [0x10059970]
movups xmmword [ebp - 0x214], xmm0
movaps xmm0, xmmword [0x10059720]
movups xmmword [ebp - 0x204], xmm0
movaps xmm0, xmmword [0x10059730]
movups xmmword [ebp - 0x1f4], xmm0
movaps xmm0, xmmword [0x100593f0]
movups xmmword [ebp - 0x1e4], xmm0
movaps xmm0, xmmword [0x100596f0]
movups xmmword [ebp - 0x1d4], xmm0
movaps xmm0, xmmword [0x10059100]
movups xmmword [ebp - 0x1c4], xmm0
movaps xmm0, xmmword [0x10059290]
movups xmmword [ebp - 0x1b4], xmm0
movaps xmm0, xmmword [0x10058e90]
movups xmmword [ebp - 0x1a4], xmm0
movaps xmm0, xmmword [0x10058f50]
movups xmmword [ebp - 0x194], xmm0
movaps xmm0, xmmword [str.f5Pj]
movups xmmword [ebp - 0x184], xmm0
movaps xmm0, xmmword [0x10058be0]
movups xmmword [ebp - 0x174], xmm0
movaps xmm0, xmmword [0x10058ea0]
movups xmmword [ebp - 0x164], xmm0
movaps xmm0, xmmword [0x10058aa0]
movups xmmword [ebp - 0x154], xmm0
movaps xmm0, xmmword [0x10058bd0]
movups xmmword [ebp - 0x144], xmm0
movaps xmm0, xmmword [0x10058bf0]
movups xmmword [ebp - 0x134], xmm0
movaps xmm0, xmmword [0x10059750]
movups xmmword [ebp - 0x124], xmm0
movaps xmm0, xmmword [0x100598e0]
movups xmmword [ebp - 0x114], xmm0
movaps xmm0, xmmword [0x10059880]
movups xmmword [ebp - 0x104], xmm0
movaps xmm0, xmmword [0x10059800]
movups xmmword [ebp - 0xf4], xmm0
movaps xmm0, xmmword [0x100593e0]
movups xmmword [ebp - 0xe4], xmm0
movaps xmm0, xmmword [0x10059670]
movups xmmword [ebp - 0xd4], xmm0
movaps xmm0, xmmword [0x100594f0]
movups xmmword [ebp - 0xc4], xmm0
movaps xmm0, xmmword [0x10059760]
movups xmmword [ebp - 0xb4], xmm0
mov ecx, ebx
lea eax, [ecx - 0x3c]
xor byte [ebp + ecx - 0x2d4], al
inc ecx
cmp ecx, 0x239
jb 0x1001b875
push 0x5b
mov byte [ebp - 0x9a], bl
mov edx, ebx
pop ecx
mov al, byte [edx + 0x10053fe8]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x20], al
and ecx, 0x800000ff
jns 0x1001b8b0
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xe
jl 0x1001b893
mov byte [ebp - 0x12], bl
push ecx
lea eax, [ebp - 0x2d4]
mov dword [ebp - 4], 1
push eax
mov edx, 0x100d3978
lea ecx, [ebp - 0x20]
call fcn.10033cad
pop ecx
pop ecx
push 0x1b
pop ecx
mov edx, ebx
mov al, byte [edx + str.Xtj_sQCNI_T]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x34], al
and ecx, 0x800000ff
jns 0x1001b8f9
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xc
jl 0x1001b8dc
mov byte [ebp - 0x28], bl
lea eax, [ebp - 0x34]
mov dword [ebp - 4], 2
push eax
call fcn.1002c8c6
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x30]
and dword [ebp - 0x30], 0
mov edx, 0x1005e320
and dword [ebp - 0x2c], 0
mov ecx, 0x10052593
push ebx
push ebx
push ebx
push eax
push 0x100
call fcn.10031331
movaps xmm0, xmmword [0x100595d0]
lea ecx, [ebp - 0x3c]
add esp, 0x18
mov dword [ebp - 0x2c], 0xa9a6a7a8
movups xmmword [ebp - 0x3c], xmm0
mov word [ebp - 0x28], 0xbf
mov byte [ebp - 0x26], 1
call fcn.100022b8
mov edx, 0x100d3973
mov ecx, eax
call fcn.1002f870
mov ecx, 0xbc
mov edx, ebx
mov al, byte [edx + 0x10054008]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x30], al
and ecx, 0x800000ff
jns 0x1001b990
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 9
jl 0x1001b973
mov byte [ebp - 0x27], bl
lea eax, [ebp - 0x30]
mov dword [ebp - 4], 3
push eax
call fcn.1002c8c6
movaps xmm0, xmmword [0x10059380]
movups xmmword [ebp - 0x98], xmm0
pop ecx
movaps xmm0, xmmword [0x100590d0]
mov ecx, ebx
movups xmmword [ebp - 0x88], xmm0
mov dword [ebp - 0x48], 0x7b77464b
movaps xmm0, xmmword [0x10059190]
movups xmmword [ebp - 0x78], xmm0
mov dword [ebp - 0x44], 0x7f6d6d
movaps xmm0, xmmword [0x10058ee0]
movups xmmword [ebp - 0x68], xmm0
mov byte [ebp - 0x40], 1
movaps xmm0, xmmword [0x10058fa0]
movups xmmword [ebp - 0x58], xmm0
lea eax, [ecx - 0x3c]
xor byte [ebp + ecx - 0x98], al
inc ecx
cmp ecx, 0x57
jb 0x1001b9fb
mov byte [ebp - 0x40], bl
mov ecx, 0xa5
mov edx, ebx
mov al, byte [edx + 0x10054014]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x24], al
and ecx, 0x800000ff
jns 0x1001ba32
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x12
jl 0x1001ba15
mov byte [ebp - 0x12], bl
push ecx
lea eax, [ebp - 0x98]
mov dword [ebp - 4], 4
push eax
mov edx, 0x100d3974
lea ecx, [ebp - 0x24]
call fcn.10033cad
or dword [ebp - 4], 0xffffffff
pop ecx
pop ecx
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0xd6dfd2f1
mov dword [ebp - 0x18], 0xa2a1f79e
mov word [ebp - 0x14], 0xa9
mov byte [ebp - 0x12], 1
call fcn.1000554e
mov edx, 0x1005e310
mov ecx, eax
call fcn.1002f870
cmp byte [0x1005e310], 0
je 0x1001bab7
call fcn.1004eaa0
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
push eax
call fcn.1004ef80
push 0x10018aa7
push 0x100d3984
call fcn.1004e520
call fcn.1004eb00
call fcn.1004fd7c
ret