Function at 0x4420c80c
Capabilities:
Write file on windows

Disassembly:
push ebp
sub esp, 0xf0
lea ebp, [esp - 4]
mov eax, dword [0x442bd0c0]
xor eax, ebp
mov dword [ebp + 0xf0], eax
push 0x3c
mov eax, 0x4427ee0b
call fcn.4427ccc2
test byte [0x442bd164], 1
mov eax, dword [ebp + 0x104]
mov esi, dword [ebp + 0x100]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0x108]
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x14], eax
mov edi, 0x442bd160
jne 0x4420c879
or dword [0x442bd164], 1
and dword [ebp - 4], 0
push 0x442829c0
push str.CMarkup::WriteTextFile
mov ecx, edi
call fcn.44209dd7
or dword [ebp - 4], 0xffffffff
push edi
xor edi, edi
inc edi
push edi
lea ecx, [ebp - 0x2c]
call fcn.44209e1f
push 0x44282df0
push dword [ebp + 0xfc]
mov dword [ebp - 4], edi
mov bl, 1
call dword [sym.imp.MSVCR90.dll__wfopen]
pop ecx
pop ecx
mov dword [ebp - 0x18], eax
test eax, eax
jne 0x4420c901
cmp dword [ebp - 0x10], eax
je 0x4420c8ce
lea eax, [ebp - 0x48]
push eax
call fcn.4420a59d
pop ecx
mov ecx, dword [ebp - 0x10]
push eax
mov byte [ebp - 4], 2
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int______thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::operator_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const__]
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], bl
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::destructor_void_]
xor bl, bl
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call fcn.44209e83
mov al, bl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0xf0]
xor ecx, ebp
call fcn.4427cc16
add ebp, 0xf4
leave
ret
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x4420c90f
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
jmp 0x4420c913
and dword [ebp - 0x1c], 0
xor eax, eax
push 9
mov word [ebp + 0xc8], ax
pop ecx
lea edi, [ebp + 0xca]
rep stosd dword es:[edi], eax
mov ecx, esi
stosw word es:[edi], ax
call dword [sym.imp.MSVCP90.dll_public:_unsigned_int___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::size_void_const]
xor edi, edi
mov dword [ebp - 0x24], eax
cmp eax, edi
je 0x4420c98a
push edi
mov ecx, esi
call dword [sym.imp.MSVCP90.dll_public:_unsigned_short_int_const____thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::c_str_void_const]
push eax
push edi
call fcn.4420b822
mov edi, eax
lea eax, [edi + 1]
push eax
call sub.MSVCR90.dll_void____cdecl_operator_new___unsigned_int_
mov ecx, dword [ebp - 0x20]
add esp, 0x10
push edi
mov esi, eax
call dword [sym.imp.MSVCP90.dll_public:_unsigned_short_int_const____thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::c_str_void_const]
push eax
push esi
call fcn.4420b822
push dword [ebp - 0x18]
push 1
push edi
push esi
call dword [sym.imp.MSVCR90.dll_fwrite]
mov ebx, eax
dec ebx
neg ebx
sbb bl, bl
push esi
inc bl
call sub.MSVCR90.dll_void___cdecl_operator_delete___void__
add esp, 0x20
push edi
lea eax, [ebp + 0xc8]
push eax
push dword [ebp - 0x24]
lea eax, [ebp]
push str._d_wide_chars_to__s_d_bytes
push eax
call dword [sym.imp.MSVCR90.dll__swprintf]
mov esi, dword [ebp - 0x10]
add esp, 0x14
test esi, esi
je 0x4420c9ba
lea eax, [ebp]
push eax
mov ecx, esi
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int______thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::operator_unsigned_short_int_const__]
test bl, bl
jne 0x4420c9e6
test esi, esi
je 0x4420c9e6
lea eax, [ebp - 0x48]
push eax
call fcn.4420a59d
pop ecx
push eax
mov ecx, esi
mov byte [ebp - 4], 3
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int______thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::operator_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const__]
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 1
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::destructor_void_]
push dword [ebp - 0x18]
call dword [sym.imp.MSVCR90.dll_fclose]
mov eax, dword [ebp - 0x14]
pop ecx
test eax, eax
je 0x4420c8d0
mov ecx, dword [ebp - 0x1c]
mov dword [eax], ecx
jmp 0x4420c8d0