Function at 0x100cb330
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xf4
cmp dword [0x101d168c], 0
push ebx
push esi
push edi
jne 0x100cb69a
mov edx, 0x10b6
mov dword [ebp - 0x44], 0x10a8
mov dword [ebp - 0x8c], 0x10aa
mov dword [ebp - 0x90], 0x10b4
mov dword [ebp - 0x54], 0x10ac
mov dword [ebp - 0x94], 0x10b2
mov dword [ebp - 0x98], 0x10ae
mov dword [ebp - 0x9c], 0x10b0
mov dword [ebp - 0xa0], 0x10a4
mov dword [ebp - 0xa4], 0x10a2
mov dword [ebp - 0xa8], 0x10b3
mov dword [ebp - 0xac], 0x10a7
mov dword [ebp - 0xb0], 0x10a0
mov dword [ebp - 0xb4], 0x10b9
mov dword [ebp - 0xb8], 0x10bc
mov dword [ebp - 0xf0], 0x10af
mov dword [ebp - 0xec], 0x10e2
mov dword [ebp - 0xbc], 0x10ea
mov dword [ebp - 0xc0], 0x10f2
mov dword [ebp - 0xc4], 0x10f8
mov dword [ebp - 0xc8], 0x10ec
mov dword [ebp - 0xcc], 0x10fe
mov dword [ebp - 0xd0], 0x10d0
mov dword [ebp - 0xd4], 0x10db
mov dword [ebp - 0xd8], 0x109d
mov dword [ebp - 0xdc], 0x108b
mov dword [ebp - 0xe0], 0x10c4
nop dword [eax]
mov ebx, dword [ebp - 0x44]
lea ecx, [ebp - 0x3c]
mov eax, dword [ebp - 0xb8]
mov word [ebp - 0x38], bx
mov ebx, dword [ebp - 0x8c]
mov word [ebp - 0x34], bx
mov ebx, dword [ebp - 0x90]
mov word [ebp - 0x32], bx
mov ebx, dword [ebp - 0x54]
mov word [ebp - 0x30], bx
mov ebx, dword [ebp - 0x94]
mov word [ebp - 0x2e], bx
mov ebx, dword [ebp - 0x98]
mov word [ebp - 0x2c], bx
mov ebx, dword [ebp - 0x9c]
mov word [ebp - 0x10], ax
mov eax, dword [ebp - 0x44]
mov word [ebp - 0x2a], bx
mov word [ebp - 0x28], bx
mov ebx, dword [ebp - 0xa0]
mov word [ebp - 0xe], ax
mov eax, dword [ebp - 0xf0]
mov word [ebp - 0x36], dx
mov edx, dword [ebp - 0xac]
mov word [ebp - 0x26], bx
mov ebx, dword [ebp - 0xa4]
mov word [ebp - 0xc], ax
mov eax, dword [ebp - 0xec]
mov word [ebp - 0x24], bx
mov ebx, dword [ebp - 0xa8]
mov word [ebp - 0x1a], dx
mov edx, dword [ebp - 0xb0]
mov word [ebp - 6], ax
xor eax, eax
mov word [ebp - 0x22], bx
mov ebx, dword [ebp - 0x54]
mov word [ebp - 0x18], dx
mov edx, dword [ebp - 0xb4]
mov dword [ebp - 0x3c], 0x10b610c7
mov word [ebp - 0x20], bx
mov dword [ebp - 0x1e], 0x10b610d7
mov word [ebp - 0x16], dx
mov dword [ebp - 0x14], 0x10dd10dc
mov dword [ebp - 0xa], 0x109010bf
mov word [ebp - 4], ax
mov byte [ebp - 2], 1
call fcn.100c6fe0
mov dword [ebp - 0xe8], eax
mov ebx, 0x10a0
mov eax, dword [ebp - 0xbc]
mov word [ebp - 0x88], ax
mov eax, dword [ebp - 0xc0]
mov word [ebp - 0x86], ax
mov eax, 0x10fa
mov word [ebp - 0x84], ax
mov eax, dword [ebp - 0xc4]
mov word [ebp - 0x82], ax
mov word [ebp - 0x80], ax
mov eax, dword [ebp - 0xc8]
mov word [ebp - 0x7e], ax
mov eax, dword [ebp - 0xcc]
mov word [ebp - 0x7c], ax
mov eax, dword [ebp - 0xd0]
mov word [ebp - 0x7a], ax
mov eax, dword [ebp - 0xd4]
mov word [ebp - 0x74], ax
mov eax, dword [ebp - 0xd8]
mov word [ebp - 0x72], ax
mov eax, dword [ebp - 0xdc]
mov word [ebp - 0x70], ax
mov eax, dword [ebp - 0xe0]
mov word [ebp - 0x6a], ax
xor eax, eax
mov word [ebp - 0x68], ax
lea eax, [ebp - 0x88]
mov dword [ebp - 0x78], 0x10c610c8
mov dword [ebp - 0x6e], 0x10cb10c2
mov byte [ebp - 0x66], 1
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x50], 2
vpmovzxwd ymm2, xmmword [eax]
lea eax, [ebx - 7]
vmovd xmm0, eax
lea ecx, [ebx - 6]
mov dword [ebp - 0xe4], eax
vpinsrd xmm0, xmm0, ecx, 1
lea edx, [ebx - 5]
vpinsrd xmm0, xmm0, edx, 2
lea esi, [ebx - 4]
vpinsrd xmm1, xmm0, esi, 3
lea edi, [ebx - 3]
add ebx, 0xfffffffe
vmovd xmm0, edi
vpinsrd xmm0, xmm0, ebx, 1
mov ebx, dword [ebp - 0x48]
lea eax, [ebx - 1]
vpinsrd xmm0, xmm0, eax, 2
mov eax, dword [ebp - 0x4c]
vpinsrd xmm0, xmm0, ebx, 3
vinsertf128 ymm0, ymm1, xmm0, 1
vpxor ymm0, ymm0, ymm2
vpshufb ymm0, ymm0, ymmword [0x10150540]
vpermq ymm0, ymm0, 0xd8
vextracti128 xmm0, ymm0, 0
vmovdqu xmmword [eax], xmm0
add ebx, 8
add eax, 0x10
sub dword [ebp - 0x50], 1
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x4c], eax
jne 0x100cb5e1
push dword [ebp - 0xe8]
lea eax, [ebp - 0x88]
mov byte [ebp - 0x66], 0
push eax
vzeroupper
call fcn.100d4490
mov edx, 0x10b6
mov eax, dword [eax + 1]
mov dword [0x101d168c], eax
test eax, eax
je 0x100cb450
call fcn.100d3de0
cmp dword [0x10164608], 0
jne 0x100cb6b9
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_HeapCreate]
mov dword [0x10164608], eax
xor eax, eax
mov ebx, 0x10163504
xchg dword [ebx], eax
mov eax, dword [0x101d1688]
test eax, eax
jne 0x100cb6e3
mov esi, dword [sym.imp.USER32.dll_FindWindowW]
push 0x100fcb20
push 0
call esi
mov dword [0x101d1688], eax
test eax, eax
je 0x100cb6d1
push 0x100cbc90
push 0xfffffffffffffffc
push eax
call dword [sym.imp.USER32.dll_SetWindowLongW]
mov dword [0x101d1684], eax
call fcn.100be5a0
mov edi, dword [eax + 4]
mov esi, dword [edi]
cmp esi, edi
je 0x100cb712
mov eax, dword [esi + 0x20]
mov eax, dword [eax + 0x1c]
call eax
mov esi, dword [esi]
cmp esi, edi
jne 0x100cb704
call fcn.100d3de0
cmp dword [0x10164608], 0
je 0x100cb72e
mov ecx, 1
call fcn.100d3d20
mov ecx, eax
jmp 0x100cb733
mov ecx, 2
xor eax, eax
xchg dword [ebx], eax
test ecx, ecx
je 0x100cb8ba
xor eax, eax
mov dword [ebp - 0x64], 0x10c810dc
mov dword [ebp - 0x60], 0x10d310c9
xor ecx, ecx
mov dword [ebp - 0x5c], 0x10bf10cf
mov word [ebp - 0x58], ax
mov byte [ebp - 0x56], 1
lea eax, [ecx + 0x1099]
xor word [ebp + ecx*2 - 0x64], ax
inc ecx
cmp ecx, 6
jb 0x100cb760
xor eax, eax
mov byte [ebp - 0x56], 0
mov dword [ebp - 0x40], 0x10d210d4
mov dword [ebp - 0x3c], 0x10fa10bb
mov dword [ebp - 0x38], 0x10f710fc
mov dword [ebp - 0x34], 0x10c510f3
mov dword [ebp - 0x30], 0x108210c5
mov dword [ebp - 0x2c], 0x10cb10d7
mov dword [ebp - 0x28], 0x10c31085
mov dword [ebp - 0x24], 0x10c910c9
mov dword [ebp - 0x20], 0x10c610cb
mov dword [ebp - 0x1c], 0x108c10ce
mov dword [ebp - 0x18], 0x10c210cc
mov dword [ebp - 0x14], 0x109010c3
mov dword [ebp - 0x10], 0x10dd10d9
mov dword [ebp - 0xc], 0x10df10dc
mov dword [ebp - 8], 0x109710c6
mov word [ebp - 4], ax
mov byte [ebp - 2], 1
nop dword [eax + eax]
vpmovzxwd ymm2, xmmword [ebp + eax*2 - 0x40]
lea ecx, [eax + 0x1099]
vmovd xmm0, ecx
lea edx, [eax + 0x109a]
vpinsrd xmm0, xmm0, edx, 1
lea esi, [eax + 0x109b]
vpinsrd xmm0, xmm0, esi, 2
lea edi, [eax + 0x109c]
vpinsrd xmm1, xmm0, edi, 3
lea ebx, [eax + 0x109d]
lea ecx, [eax + 0x109e]
vmovd xmm0, ebx
vpinsrd xmm0, xmm0, ecx, 1
lea ecx, [eax + 0x109f]
vpinsrd xmm0, xmm0, ecx, 2
lea ecx, [eax + 0x10a0]
vpinsrd xmm0, xmm0, ecx, 3
vinsertf128 ymm0, ymm1, xmm0, 1
vpxor ymm0, ymm0, ymm2
vpshufb ymm0, ymm0, ymmword [0x10150540]
vpermq ymm0, ymm0, 0xd8
vextracti128 xmm0, ymm0, 0
vmovdqu xmmword [ebp + eax*2 - 0x40], xmm0
add eax, 8
lea ecx, [eax + 0x10a0]
cmp ecx, 0x10b8
jb 0x100cb7f0
cmp eax, 0x1e
jae 0x100cb8a3
lea ecx, [eax + 0x1099]
xor word [ebp + eax*2 - 0x40], cx
inc eax
cmp eax, 0x1e
jb 0x100cb892
push ecx
lea eax, [ebp - 0x64]
mov byte [ebp - 2], 0
push eax
lea edx, [ebp - 0x40]
vzeroupper
call fcn.100294a0
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret