Function at 0x10009ef0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10041b7b
mov eax, dword fs:[0]
push eax
sub esp, 0xdc
mov eax, dword [0x10051018]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [0x10052f10]
mov ecx, dword [esi + 0x3c]
test ecx, ecx
je 0x10009f2e
call fcn.1001cca0
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x10009f3a
call fcn.10024610
mov ecx, dword [esi + 0x4c]
test ecx, ecx
je 0x10009f46
call fcn.10027a10
mov ecx, dword [esi + 0x50]
test ecx, ecx
je 0x10009f52
call fcn.10029880
mov ecx, dword [esi + 0x54]
test ecx, ecx
je 0x10009f5e
call fcn.1002c280
call fcn.1000bda0
push 0x98
lea eax, [ebp - 0xc0]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 4
lea ecx, [ebp - 0xc0]
call fcn.10003ba0
mov dword [ebp - 4], 0
mov cl, 6
movaps xmm0, xmmword [0x1004a760]
mov al, 0x5b
xor al, cl
mov byte [ebp - 0xc2], 0
mov byte [ebp - 0xc3], al
xor eax, eax
mov byte [ebp - 0xc4], cl
mov byte [ebp - 0xc2], 0
movups xmmword [ebp - 0xd8], xmm0
mov dword [ebp - 0xc8], 0x1a6135
nop word [eax + eax]
mov cl, byte [ebp - 0xd8]
xor byte [ebp + eax - 0xd7], cl
inc eax
cmp eax, 0x12
jb 0x10009fd0
push 0
lea eax, [ebp - 0xe8]
mov byte [ebp - 0xc5], 0
push 8
push eax
call dword [sym.imp.MSVCP140.dll_struct_std::_Smanip_long_long___int64_____cdecl_std::setw_long_long___int64__]
add esp, 0xc
lea edx, [ebp - 0xd7]
lea ecx, [ebp - 0xc0]
mov esi, eax
push 0x10002130
push 0x10002150
call fcn.10005070
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::ios_base_____cdecl___class_std::ios_base___]
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::ios_base_____cdecl___class_std::ios_base___]
mov edx, esi
mov ecx, eax
call fcn.100052b0
mov esi, eax
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
mov byte [ecx + esi + 0x40], 0x30
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
mov ecx, esi
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_int_]
lea edx, [ebp - 0xc3]
mov ecx, eax
call fcn.10005070
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xc0]
call fcn.10003b80
cmp dword [ebp - 0x14], 0x10
lea esi, [ebp - 0x28]
lea ecx, [ebp - 0x28]
cmovae esi, dword [ebp - 0x28]
cmovae ecx, dword [ebp - 0x28]
push esi
push ecx
call dword [sym.imp.USER32.dll_FindWindowA]
test eax, eax
je 0x1000a098
push dword [0x10052f40]
push 0xfffffffffffffffc
push eax
call dword [sym.imp.USER32.dll_SetWindowLongA]
mov eax, dword [ebp - 0x14]
cmp eax, 0x10
jb 0x1000a0aa
inc eax
push eax
push dword [ebp - 0x28]
call fcn.10004c80
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x28], 0
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xc0], vtable.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov eax, dword [ebp - 0xc0]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [ebp + ecx - 0xc4], eax
lea ecx, [ebp - 0xbc]
mov dword [ebp - 0xbc], vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
call fcn.10004a60
lea ecx, [ebp - 0xbc]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0xb8]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0x70]
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 esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1003fc80
mov esp, ebp
pop ebp
ret