Function at 0x410ff0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x444
mov eax, dword [0x576510]
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.004119f0
mov ecx, edi
call fcn.00401df0
lea eax, [ebp - 0x424]
lea ebx, [esi + 8]
push eax
mov ecx, ebx
call fcn.00406700
mov eax, dword [0x5f89e0]
test eax, eax
je 0x411076
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 0x411076
cmp dword [ebp - 0x40c], 0x10
jb 0x41124b
mov edx, dword [ebp - 0x420]
push edx
jmp 0x411243
cmp dword [esi], 2
jl 0x4110b8
cmp dword [ebp - 0x40c], 0x10
mov eax, dword [ebp - 0x420]
jae 0x411090
lea eax, [ebp - 0x420]
push eax
push 0x570228
call fcn.00458cac
add eax, 0x40
push eax
call fcn.00458b90
add esp, 0xc
call fcn.00458cac
add eax, 0x40
push eax
call fcn.0045ab63
add esp, 4
call fcn.00410ba0
cmp dword [0x5f89e8], 0
jne 0x4110d6
mov eax, dword [0x5f89ec]
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
jmp 0x4110e3
mov ecx, dword [0x5f89e4]
push ecx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
call fcn.00410d00
test al, al
je 0x411131
mov edx, dword [0x5f89d0]
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 0x411114
lea eax, [ebp - 0x420]
mov edx, dword [ebp - 0x410]
push 0
lea ecx, [ebp - 0x444]
push ecx
push edx
push eax
mov eax, dword [0x5f89d0]
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
cmp dword [0x5f89e8], 0
jne 0x411149
mov ecx, dword [0x5f89ec]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
jmp 0x411156
mov edx, dword [0x5f89e4]
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [esi]
cmp eax, 4
jne 0x4111e1
mov ecx, dword [ebp - 0x410]
mov eax, 0x400
cmp ecx, eax
jae 0x411172
mov eax, ecx
cmp dword [ebp - 0x40c], 0x10
mov ecx, dword [ebp - 0x420]
jae 0x411187
lea ecx, [ebp - 0x420]
push eax
push ecx
lea eax, [ebp - 0x408]
push 0x400
push eax
call fcn.00456e80
lea ecx, [ebp - 0x408]
push ecx
call fcn.00416f70
add esp, 0x14
call dword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
test eax, eax
je 0x4111b8
call fcn.00416f50
cmp dword [0x5f89d8], 0
je 0x4111b3
lea edx, [ebp - 0x440]
push edx
mov ecx, ebx
call fcn.00406700
lea eax, [ebp - 0x440]
push eax
call dword [0x5f89d8]
add esp, 4
jmp 0x411228
cmp eax, 3
jne 0x411233
cmp dword [0x5f89dc], 0
je 0x41120f
lea ecx, [ebp - 0x440]
push ecx
mov ecx, ebx
call fcn.00406700
lea edx, [ebp - 0x440]
push edx
call dword [0x5f89dc]
add esp, 4
jmp 0x411228
lea eax, [ebp - 0x440]
push eax
mov ecx, ebx
call fcn.00406700
lea ecx, [ebp - 0x440]
call fcn.00410e30
lea ecx, [ebp - 0x440]
call fcn.00401d50
cmp dword [ebp - 0x40c], 0x10
jb 0x41124b
mov ecx, dword [ebp - 0x420]
push ecx
call fcn.00456e75
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.004020d0
push esi
mov dword [esi], vtable.std::ios_base.0
call fcn.00456642
mov ecx, dword [ebp - 4]
add esp, 4
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0045759d
mov esp, ebp
pop ebp
ret