Function at 0x411190
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x444
mov eax, dword [0x573510]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
push edi
lea edi, [esi + 4]
push 0xa
mov ecx, edi
call fcn.00411b90
mov ecx, edi
call fcn.00401f10
lea eax, [ebp - 0x424]
lea ebx, [esi + 8]
push eax
mov ecx, ebx
call fcn.00406830
mov eax, dword [0x5f5648]
test eax, eax
je 0x411216
mov edx, dword [esi + 0x84]
lea ecx, [ebp - 0x424]
push ecx
mov ecx, dword [esi + 0x8c]
push edx
mov edx, dword [esi + 0x88]
push ecx
mov ecx, dword [esi]
push edx
push ecx
call eax
add esp, 0x14
test al, al
je 0x411216
cmp dword [ebp - 0x40c], 0x10
jb 0x4113eb
mov edx, dword [ebp - 0x420]
push edx
jmp 0x4113e3
cmp dword [esi], 2
jl 0x411258
cmp dword [ebp - 0x40c], 0x10
mov eax, dword [ebp - 0x420]
jae 0x411230
lea eax, [ebp - 0x420]
push eax
push 0x56d528
call fcn.00457a4c
add eax, 0x40
push eax
call fcn.00457930
add esp, 0xc
call fcn.00457a4c
add eax, 0x40
push eax
call fcn.00459903
add esp, 4
call fcn.00410d40
cmp dword [0x5f5650], 0
jne 0x411276
mov eax, dword [0x5f5654]
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
jmp 0x411283
mov ecx, dword [0x5f564c]
push ecx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
call fcn.00410ea0
test al, al
je 0x4112d1
mov edx, dword [0x5f5638]
push 2
push 0
push 0
push edx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp dword [ebp - 0x40c], 0x10
mov eax, dword [ebp - 0x420]
jae 0x4112b4
lea eax, [ebp - 0x420]
mov edx, dword [ebp - 0x410]
push 0
lea ecx, [ebp - 0x444]
push ecx
push edx
push eax
mov eax, dword [0x5f5638]
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
cmp dword [0x5f5650], 0
jne 0x4112e9
mov ecx, dword [0x5f5654]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
jmp 0x4112f6
mov edx, dword [0x5f564c]
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [esi]
cmp eax, 4
jne 0x411381
mov ecx, dword [ebp - 0x410]
mov eax, 0x400
cmp ecx, eax
jae 0x411312
mov eax, ecx
cmp dword [ebp - 0x40c], 0x10
mov ecx, dword [ebp - 0x420]
jae 0x411327
lea ecx, [ebp - 0x420]
push eax
push ecx
lea eax, [ebp - 0x408]
push 0x400
push eax
call fcn.00455c25
lea ecx, [ebp - 0x408]
push ecx
call fcn.0041a230
add esp, 0x14
call dword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
test eax, eax
je 0x411358
call fcn.00417150
cmp dword [0x5f5640], 0
je 0x411353
lea edx, [ebp - 0x440]
push edx
mov ecx, ebx
call fcn.00406830
lea eax, [ebp - 0x440]
push eax
call dword [0x5f5640]
add esp, 4
jmp 0x4113c8
cmp eax, 3
jne 0x4113d3
cmp dword [0x5f5644], 0
je 0x4113af
lea ecx, [ebp - 0x440]
push ecx
mov ecx, ebx
call fcn.00406830
lea edx, [ebp - 0x440]
push edx
call dword [0x5f5644]
add esp, 4
jmp 0x4113c8
lea eax, [ebp - 0x440]
push eax
mov ecx, ebx
call fcn.00406830
lea ecx, [ebp - 0x440]
call fcn.00410fd0
lea ecx, [ebp - 0x440]
call fcn.00401e40
cmp dword [ebp - 0x40c], 0x10
jb 0x4113eb
mov ecx, dword [ebp - 0x420]
push ecx
call fcn.00455c1a
add esp, 4
mov edx, dword [esi + 0x90]
push edx
call dword [sym.imp.KERNEL32.dll_SetLastError]
lea esi, [edi + 0x4c]
mov ecx, esi
call fcn.00402210
push esi
mov dword [esi], vtable.std::ios_base.0
call fcn.004553e7
mov ecx, dword [ebp - 4]
add esp, 4
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0045633d
mov esp, ebp
pop ebp
ret