Function at 0x1000d5f0
Capabilities:
Create thread
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100289ad
mov eax, dword fs:[0]
push eax
sub esp, 0xb8
push esi
mov eax, dword [0x10040cf8]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], 0
cmp dword [0x1004118c], 1
jne 0x1000d83c
lea ecx, [ebp - 0x58]
mov dword [ebp - 0xc0], 0x1002a988
call dword [sym.imp.MSVCP140D.dll_protected:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::constructor_void_]
push 0
push 0
lea eax, [ebp - 0xbc]
mov dword [ebp - 4], 0
push eax
lea ecx, [ebp - 0xc0]
mov dword [ebp - 0x10], 1
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::basic_ostream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char_____bool_]
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 4], 1
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xc0], vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0xc0]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0xc4], eax
lea eax, [ebp - 0xbc]
mov ecx, eax
mov dword [ebp - 0xc4], eax
call dword [sym.imp.MSVCP140D.dll_protected:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void_]
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 2
mov dword [ebp - 0xbc], vtable.std::basic_filebuf_char__struct_std::char_traits_char__.0
mov byte [ebp - 0x74], 0
mov byte [ebp - 0x7f], 0
call dword [sym.imp.MSVCP140D.dll_protected:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::_Init_void_]
mov eax, dword [0x1004104c]
mov ecx, dword [0x10041050]
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x84], 0
push 0x40
push 0xa
push 0x1002ce38
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 3
call fcn.1000ce70
test eax, eax
jne 0x1000d721
push eax
mov eax, dword [ebp - 0xc0]
lea ecx, [ebp - 0xc0]
push 2
mov eax, dword [eax + 4]
add ecx, eax
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool_]
lea eax, [ebp - 0xc0]
mov dword [ebp - 4], 4
push 0x1002ce4c
push eax
call fcn.10004550
push dword [0x100410dc]
lea eax, [ebp - 0xc0]
push eax
call fcn.10004550
add esp, 0x10
cmp dword [ebp - 0x70], 0
je 0x1000d7e0
mov eax, dword [ebp - 0xb0]
lea ecx, [ebp - 0x80]
cmp dword [eax], ecx
jne 0x1000d77f
mov edx, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x6c]
sub edx, ecx
mov dword [eax], ecx
mov eax, dword [ebp - 0xa0]
mov dword [eax], ecx
mov eax, dword [ebp - 0x90]
mov dword [eax], edx
lea esi, [ebp - 0xbc]
mov ecx, esi
call fcn.100052c0
push dword [ebp - 0x70]
xor ecx, ecx
test al, al
cmove esi, ecx
call dword [sym.imp.ucrtbased.dll_fclose]
xor ecx, ecx
add esp, 4
test eax, eax
mov byte [ebp - 0x74], cl
mov byte [ebp - 0x7f], cl
cmovne esi, ecx
lea ecx, [ebp - 0xbc]
call dword [sym.imp.MSVCP140D.dll_protected:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::_Init_void_]
mov eax, dword [0x1004104c]
mov ecx, dword [0x10041050]
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x84], 0
test esi, esi
jne 0x1000d831
jmp 0x1000d816
lea ecx, [ebp - 0xbc]
mov byte [ebp - 0x74], 0
mov byte [ebp - 0x7f], 0
call dword [sym.imp.MSVCP140D.dll_protected:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::_Init_void_]
mov eax, dword [0x1004104c]
mov ecx, dword [0x10041050]
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x84], 0
mov eax, dword [ebp - 0xc0]
lea ecx, [ebp - 0xc0]
push 0
push 2
mov eax, dword [eax + 4]
add ecx, eax
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool_]
lea ecx, [ebp - 0xc0]
call fcn.10004fb0
mov eax, dword [0x10041190]
cmp eax, 1
je 0x1000d87d
cmp eax, 3
je 0x1000d87d
cmp eax, 4
je 0x1000d87d
push 0
cmp eax, 2
jne 0x1000d877
push 0
push 0
push 0x1000d920
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push 0xbb8
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push 0
push 0
push 0
push 0x1000d950
jmp 0x1000d860