Function at 0x4030f0
Capabilities:
Write file on windows

Disassembly:
push 0xffffffffffffffff
push 0x4060fb
mov eax, dword fs:[0]
push eax
sub esp, 0x760
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x758], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [section..data]
xor eax, esp
push eax
lea eax, [esp + 0x774]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x784]
mov ebx, ecx
mov edi, dword [ebx]
test edi, edi
je 0x403194
test ebp, ebp
je 0x403194
cmp ebp, 2
je 0x403194
cmp ebp, 0xa
je 0x403194
lea esi, [esp + 0x1c]
call fcn.00405560
cmp ebp, 1
mov dword [esp + 0x77c], 0
je 0x4031eb
cmp ebp, 0xb
jne 0x4031be
mov eax, esi
push eax
push 0x80343434
mov eax, ebx
call fcn.00402750
add esp, 8
test eax, eax
jne 0x4031d7
lea eax, [esp + 0x1c]
mov dword [esp + 0x77c], 0xffffffff
call fcn.004055a0
xor eax, eax
mov ecx, dword [esp + 0x774]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x758]
xor ecx, esp
call fcn.004058f0
add esp, 0x76c
ret
cmp ebp, 0xc
jne 0x403180
mov edx, dword [ebx + 4]
lea ecx, [esp + 0x1c]
push ecx
mov ecx, edi
call fcn.00402380
add esp, 4
jmp 0x40317c
lea edx, [esp + 0x1c]
push edx
call fcn.00402580
add esp, 4
cmp eax, 1
je 0x403207
jmp 0x403180
push edi
lea eax, [ebx + 0x108]
push eax
mov eax, dword [ebx + 4]
lea ecx, [esp + 0x24]
call fcn.004056b0
test eax, eax
je 0x403180
push 0x4072f0
add ebx, 0x108
push ebx
call dword [sym.imp.MSVCR80.dll_fopen]
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x403180
mov edx, dword [0x409854]
mov eax, dword [0x409850]
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x20]
push edx
push eax
push ecx
call fcn.00401130
add esp, 0x10
test eax, eax
push ebx
je 0x4032e4
mov esi, dword [esp + 0x1c]
mov ebp, dword [sym.imp.MSVCR80.dll_fwrite]
push eax
push 1
push esi
call ebp
push ebx
call dword [sym.imp.MSVCR80.dll_fflush]
add esp, 0x14
push esi
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
add esp, 4
push 0x23e
lea edx, [esp + 0x52c]
push 0
push edx
mov dword [esp + 0x530], 0
call sub.MSVCR80.dll_memset
lea eax, [esp + 0x530]
add esp, 0xc
push eax
mov eax, 0x408e40
call fcn.004027c0
add esp, 4
test eax, eax
je 0x403180
push 0x252
call sub.MSVCR80.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
test eax, eax
je 0x4032e3
lea ecx, [esp + 0x524]
push 0x10101
push ecx
mov esi, eax
mov edi, 0x242
call fcn.00401670
mov esi, eax
add esp, 8
test esi, esi
jne 0x4032f2
push ebx
call dword [sym.imp.MSVCR80.dll_fclose]
add esp, 4
jmp 0x403180
push ebx
push 0x252
push 1
push esi
call ebp
mov edi, dword [sym.imp.MSVCR80.dll_fflush]
push ebx
call edi
add esp, 0x14
push esi
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
mov eax, dword [0x40934c]
mov ecx, dword [0x409348]
add esp, 4
lea edx, [esp + 0x18]
push edx
push 0x80121212
push 0x409350
push eax
push ecx
mov dword [esp + 0x2c], 0
call fcn.004017b0
add esp, 0x14
mov esi, eax
test esi, esi
push ebx
je 0x4032e4
mov edx, dword [esp + 0x1c]
push edx
push 1
push esi
call ebp
push ebx
call edi
add esp, 0x14
push esi
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
mov ecx, dword [0x409854]
mov edx, dword [0x409850]
add esp, 4
lea eax, [esp + 0x18]
push eax
push 0x80232323
push 0x409858
push ecx
push edx
mov dword [esp + 0x2c], 0
call fcn.004017b0
add esp, 0x14
mov esi, eax
test esi, esi
push ebx
je 0x4032e4
mov eax, dword [esp + 0x1c]
push eax
push 1
push esi
call ebp
push ebx
call edi
add esp, 0x14
push esi
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
mov eax, dword [esp + 0x24]
add esp, 4
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x20]
push 0x80343434
lea edx, [esp + 0x2c]
push edx
push eax
push ecx
mov dword [esp + 0x2c], 0
call fcn.004017b0
add esp, 0x14
mov esi, eax
test esi, esi
push ebx
je 0x4032e4
mov edx, dword [esp + 0x1c]
push edx
push 1
push esi
call ebp
push ebx
call edi
add esp, 0x14
push esi
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
add esp, 4
push ebx
call dword [sym.imp.MSVCR80.dll_fclose]
add esp, 4
lea eax, [esp + 0x1c]
mov dword [esp + 0x77c], 0xffffffff
call fcn.004055a0
mov eax, 1
jmp 0x403196