Function at 0x1000bc70
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100587ab
mov eax, dword fs:[0]
push eax
sub esp, 0xd4
mov eax, dword [0x10070014]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
call fcn.100535a0
mov edi, dword [sym.imp.KERNEL32.dll_GetCurrentThread]
call edi
push eax
call fcn.10053a70
push 0x1000b500
push 0x100723ec
call fcn.100532b0
call fcn.10053600
mov ebx, dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
push 4
push 0x811820
call ebx
test eax, eax
jne 0x1000bd03
mov dword [0x100723ec], 0x811820
call fcn.100535a0
call edi
push eax
call fcn.10053a70
push 0x1000b500
push 0x100723ec
call fcn.10052e20
call fcn.10053600
call fcn.100535a0
call edi
push eax
call fcn.10053a70
push 0x1000b530
push 0x100723e8
call fcn.100532b0
call fcn.10053600
push 4
push 0x7dc450
call ebx
test eax, eax
jne 0x1000bd5c
mov dword [0x100723e8], 0x7dc450
call fcn.100535a0
call edi
push eax
call fcn.10053a70
push 0x1000b530
push 0x100723e8
call fcn.10052e20
call fcn.10053600
call fcn.100535a0
call edi
push eax
call fcn.10053a70
push 0x1000b560
push 0x100723e4
call fcn.100532b0
call fcn.10053600
push 4
push 0x7a4cf0
call ebx
test eax, eax
jne 0x1000bdb5
mov dword [0x100723e4], 0x7a4cf0
call fcn.100535a0
call edi
push eax
call fcn.10053a70
push 0x1000b560
push 0x100723e4
call fcn.10052e20
call fcn.10053600
call fcn.100535a0
call edi
push eax
call fcn.10053a70
push 0x1000b590
push 0x100723e0
call fcn.100532b0
call fcn.10053600
push 4
push 0x7ac800
call ebx
test eax, eax
jne 0x1000be0e
mov dword [0x100723e0], 0x7ac800
call fcn.100535a0
call edi
push eax
call fcn.10053a70
push 0x1000b590
push 0x100723e0
call fcn.10052e20
call fcn.10053600
call fcn.100535a0
call edi
push eax
call fcn.10053a70
push 0x1000b5c0
push 0x100723dc
call fcn.100532b0
call fcn.10053600
push 4
push 0xbad2f0
call ebx
test eax, eax
jne 0x1000be67
mov dword [0x100723dc], 0xbad2f0
call fcn.100535a0
call edi
push eax
call fcn.10053a70
push 0x1000b5c0
push 0x100723dc
call fcn.10052e20
call fcn.10053600
call fcn.100535a0
call edi
push eax
call fcn.10053a70
push 0x1000b5f0
push 0x100723d8
call fcn.100532b0
call fcn.10053600
push 4
push 0x80c9d0
call ebx
test eax, eax
jne 0x1000bec0
mov dword [0x100723d8], 0x80c9d0
call fcn.100535a0
call edi
push eax
call fcn.10053a70
push 0x1000b5f0
push 0x100723d8
call fcn.10052e20
call fcn.10053600
call fcn.100535a0
call edi
push eax
call fcn.10053a70
push 0x1000bbd0
push 0x100723cc
call fcn.100532b0
call fcn.10053600
push 4
push 0x80b240
call ebx
test eax, eax
jne 0x1000bf19
mov dword [0x100723cc], 0x80b240
call fcn.100535a0
call edi
push eax
call fcn.10053a70
push 0x1000bbd0
push 0x100723cc
call fcn.10052e20
call fcn.10053600
push 0x98
lea eax, [ebp - 0xc8]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 4
lea ecx, [ebp - 0xc8]
call fcn.1000d950
mov dword [ebp - 4], 0
xor ecx, ecx
movaps xmm0, xmmword [0x10068430]
movups xmmword [ebp - 0xe0], xmm0
mov dword [ebp - 0xd0], 0x7c777b7e
mov word [ebp - 0xcc], 0x66
nop dword [eax]
nop dword [eax + eax]
mov al, byte [ebp - 0xe0]
xor byte [ebp + ecx - 0xdf], al
inc ecx
cmp ecx, 0x14
jb 0x1000bf70
lea edx, [ebp - 0xdf]
mov byte [ebp - 0xcb], 0
lea ecx, [ebp - 0xc8]
call fcn.1000e2f0
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0xc8]
call fcn.1000d930
cmp dword [ebp - 0x18], 0x10
lea esi, [ebp - 0x2c]
push 0x1000bb60
cmovae esi, dword [ebp - 0x2c]
lea edx, [ebp - 0x2c]
cmovae edx, dword [ebp - 0x2c]
push 0xfffffffffffffffc
push esi
push edx
call dword [sym.imp.USER32.dll_FindWindowA]
push eax
call dword [sym.imp.USER32.dll_SetWindowLongA]
mov dword [0x100723d4], eax
lea eax, [ebp - 0x14]
push 4
push eax
mov dword [ebp - 0x14], 0xa0e64e
call ebx
test eax, eax
jne 0x1000c017
push 4
push 0x1000bc50
call ebx
test eax, eax
jne 0x1000c017
call fcn.100535a0
call edi
push eax
call fcn.10053a70
push 0x1000bc50
lea eax, [ebp - 0x14]
push eax
call fcn.10052e20
call fcn.10053600
mov eax, dword [ebp - 0x18]
cmp eax, 0x10
jb 0x1000c029
inc eax
push eax
push dword [ebp - 0x2c]
call fcn.10005420
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], 0
mov byte [ebp - 0x2c], 0
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xc8], vtable.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [ebp + ecx - 0xcc], eax
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0xc4], vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
call fcn.1000e0e0
lea ecx, [ebp - 0xc4]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0xc0]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0x78]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10054950
mov esp, ebp
pop ebp
ret