Function at 0x1000d3f0
Capabilities:
Create thread
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1002954d
mov eax, dword fs:[0]
push eax
sub esp, 0xb8
push esi
mov eax, dword [0x10040bd0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], 0
cmp dword [0x1004106c], 1
jne 0x1000d63c
lea ecx, [ebp - 0x58]
mov dword [ebp - 0xc0], 0x1002a978
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 [0x10040f2c]
mov ecx, dword [0x10040f30]
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 0x1002ce30
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 3
call fcn.1000cdc0
test eax, eax
jne 0x1000d521
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 0x1002ce44
push eax
call fcn.100045b0
push dword [0x10040fbc]
lea eax, [ebp - 0xc0]
push eax
call fcn.100045b0
add esp, 0x10
cmp dword [ebp - 0x70], 0
je 0x1000d5e0
mov eax, dword [ebp - 0xb0]
lea ecx, [ebp - 0x80]
cmp dword [eax], ecx
jne 0x1000d57f
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.10005310
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 [0x10040f2c]
mov ecx, dword [0x10040f30]
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x84], 0
test esi, esi
jne 0x1000d631
jmp 0x1000d616
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 [0x10040f2c]
mov ecx, dword [0x10040f30]
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.10005000
mov eax, dword [0x10041070]
cmp eax, 1
je 0x1000d67d
cmp eax, 3
je 0x1000d67d
cmp eax, 4
je 0x1000d67d
push 0
cmp eax, 2
jne 0x1000d677
push 0
push 0
push 0x1000d720
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 0x1000d750
jmp 0x1000d660