Function at 0x1000c680
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
mov eax, dword [0x100a8080]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
call fcn.100661c0
mov esi, dword [sym.imp.KERNEL32.dll_GetCurrentThread]
call esi
push eax
call fcn.10066690
push 0x1000be90
push 0x100acf7c
call fcn.10065ed0
call fcn.10066220
mov edi, dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
push 4
push 0x811820
call edi
test eax, eax
jne 0x1000c6f7
mov dword [0x100acf7c], 0x811820
call fcn.100661c0
call esi
push eax
call fcn.10066690
push 0x1000be90
push 0x100acf7c
call fcn.10065a40
call fcn.10066220
call fcn.100661c0
call esi
push eax
call fcn.10066690
push 0x1000bec0
push 0x100acf78
call fcn.10065ed0
call fcn.10066220
push 4
push 0x7dc450
call edi
test eax, eax
jne 0x1000c750
mov dword [0x100acf78], 0x7dc450
call fcn.100661c0
call esi
push eax
call fcn.10066690
push 0x1000bec0
push 0x100acf78
call fcn.10065a40
call fcn.10066220
call fcn.100661c0
call esi
push eax
call fcn.10066690
push 0x1000bef0
push 0x100acf74
call fcn.10065ed0
call fcn.10066220
push 4
push 0x7a4cf0
call edi
test eax, eax
jne 0x1000c7a9
mov dword [0x100acf74], 0x7a4cf0
call fcn.100661c0
call esi
push eax
call fcn.10066690
push 0x1000bef0
push 0x100acf74
call fcn.10065a40
call fcn.10066220
call fcn.100661c0
call esi
push eax
call fcn.10066690
push 0x1000bf20
push 0x100acf70
call fcn.10065ed0
call fcn.10066220
push 4
push 0x7ac800
call edi
test eax, eax
jne 0x1000c802
mov dword [0x100acf70], 0x7ac800
call fcn.100661c0
call esi
push eax
call fcn.10066690
push 0x1000bf20
push 0x100acf70
call fcn.10065a40
call fcn.10066220
call fcn.100661c0
call esi
push eax
call fcn.10066690
push 0x1000c000
push 0x100acf6c
call fcn.10065ed0
call fcn.10066220
push 4
push 0xbad2f0
call edi
test eax, eax
jne 0x1000c85b
mov dword [0x100acf6c], 0xbad2f0
call fcn.100661c0
call esi
push eax
call fcn.10066690
push 0x1000c000
push 0x100acf6c
call fcn.10065a40
call fcn.10066220
call fcn.100661c0
call esi
push eax
call fcn.10066690
push 0x1000c0a0
push 0x100acf68
call fcn.10065ed0
call fcn.10066220
push 4
push 0x80c9d0
call edi
test eax, eax
jne 0x1000c8b4
mov dword [0x100acf68], 0x80c9d0
call fcn.100661c0
call esi
push eax
call fcn.10066690
push 0x1000c0a0
push 0x100acf68
call fcn.10065a40
call fcn.10066220
call fcn.100661c0
call esi
push eax
call fcn.10066690
push 0x1000c560
push 0x100acf5c
call fcn.10065ed0
call fcn.10066220
push 4
push 0x80b240
call edi
test eax, eax
jne 0x1000c90d
mov dword [0x100acf5c], 0x80b240
call fcn.100661c0
call esi
push eax
call fcn.10066690
push 0x1000c560
push 0x100acf5c
call fcn.10065a40
call fcn.10066220
movaps xmm0, xmmword [0x1009ff10]
xor ecx, ecx
movups xmmword [ebp - 0x20], xmm0
mov dword [ebp - 0x10], 0x62696560
mov word [ebp - 0xc], 0x78
mov al, byte [ebp - 0x20]
xor byte [ebp + ecx - 0x1f], al
inc ecx
cmp ecx, 0x14
jb 0x1000c927
movaps xmm0, xmmword [0x100a0500]
xor ecx, ecx
mov byte [ebp - 0xb], 0
movups xmmword [ebp - 0x38], xmm0
mov dword [ebp - 0x28], 0x52595550
mov word [ebp - 0x24], 0x48
mov al, byte [ebp - 0x38]
xor byte [ebp + ecx - 0x37], al
inc ecx
cmp ecx, 0x14
jb 0x1000c952
push 0x1000c3e0
push 0xfffffffffffffffc
lea eax, [ebp - 0x1f]
mov byte [ebp - 0x23], 0
push eax
lea eax, [ebp - 0x37]
push eax
call dword [sym.imp.USER32.dll_FindWindowA]
push eax
call dword [sym.imp.USER32.dll_SetWindowLongA]
mov dword [0x100acf64], eax
lea eax, [ebp - 8]
push 4
push eax
mov dword [ebp - 8], 0xa0e64e
call edi
test eax, eax
jne 0x1000c9c4
push 4
push 0x1000c660
call edi
test eax, eax
jne 0x1000c9c4
call fcn.100661c0
call esi
push eax
call fcn.10066690
push 0x1000c660
lea eax, [ebp - 8]
push eax
call fcn.10065a40
call fcn.10066220
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.10067570
mov esp, ebp
pop ebp
ret