Function at 0x407290
Capabilities:
Clear file content
Write file on windows

Disassembly:
sub esp, 8
cmp dword [eax + 0x18], 0x10
push ebx
push ebp
push esi
push edi
jb 0x4072a2
mov eax, dword [eax + 4]
jmp 0x4072a5
add eax, 4
push 0x436988
push eax
call fcn.0041e680
mov ebp, eax
add esp, 8
test ebp, ebp
je 0x4074cb
push 2
push 0
push ebp
call fcn.0041ef81
push ebp
call fcn.0041eaaa
add esp, 0x10
mov dword [esp + 0x14], eax
test eax, eax
jl 0x4074c2
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x14]
mov edi, dword [ecx]
mov esi, dword [eax]
mov dword [esp + 0x10], 0
nop
mov ebx, dword [eax + 0x14]
mov eax, dword [eax]
test esi, esi
je 0x4072fd
cmp esi, eax
je 0x407302
call fcn.0041de6c
cmp edi, ebx
je 0x40734a
test esi, esi
jne 0x407342
call fcn.0041de6c
xor eax, eax
cmp edi, dword [eax + 0x14]
jne 0x40731b
call fcn.0041de6c
mov edx, dword [edi + 0x18]
sub edx, dword [edi + 0x14]
add dword [esp + 0x10], edx
test esi, esi
jne 0x407346
call fcn.0041de6c
xor eax, eax
cmp edi, dword [eax + 0x14]
jne 0x40733a
call fcn.0041de6c
mov edi, dword [edi]
mov eax, dword [esp + 0x1c]
jmp 0x4072f0
mov eax, dword [esi]
jmp 0x407311
mov eax, dword [esi]
jmp 0x407330
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x14]
je 0x407373
push 0
push eax
push ebp
call fcn.0041ef81
push ebp
call fcn.0041e6c7
push eax
call fcn.0041ec1f
add esp, 0x14
push eax
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
push 2
push 0
push ebp
call fcn.0041ef81
push ebp
call fcn.0041eaaa
add esp, 0x10
cmp dword [esp + 0x10], eax
jne 0x4074c2
push 0
push 0
push ebp
call fcn.0041ef81
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + 0x14]
mov esi, dword [ecx]
mov edi, dword [eax]
add esp, 0xc
mov ebx, dword [eax + 0x14]
mov eax, dword [eax]
test edi, edi
je 0x4073b5
cmp edi, eax
je 0x4073ba
call fcn.0041de6c
cmp esi, ebx
je 0x407498
test edi, edi
jne 0x40747e
call fcn.0041de6c
xor eax, eax
cmp esi, dword [eax + 0x14]
jne 0x4073db
call fcn.0041de6c
mov edx, dword [esi + 0x18]
sub edx, dword [esi + 0x14]
je 0x40745e
test edi, edi
jne 0x407485
call fcn.0041de6c
xor eax, eax
cmp esi, dword [eax + 0x14]
jne 0x4073fc
call fcn.0041de6c
mov ebx, dword [esi + 0x18]
sub ebx, dword [esi + 0x14]
test edi, edi
jne 0x40748c
call fcn.0041de6c
xor eax, eax
cmp esi, dword [eax + 0x14]
jne 0x40741b
call fcn.0041de6c
mov eax, dword [esi + 0x18]
sub eax, dword [esi + 0x14]
jne 0x407428
call fcn.0041de6c
mov eax, dword [esi + 0x14]
push ebp
push ebx
push 1
push eax
call fcn.0041e85b
add esp, 0x10
mov ebx, eax
test edi, edi
jne 0x407490
call fcn.0041de6c
xor eax, eax
cmp esi, dword [eax + 0x14]
jne 0x40744f
call fcn.0041de6c
mov ecx, dword [esi + 0x18]
sub ecx, dword [esi + 0x14]
cmp ebx, ecx
sete al
test al, al
je 0x4074c2
test edi, edi
jne 0x407494
call fcn.0041de6c
xor eax, eax
cmp esi, dword [eax + 0x14]
jne 0x407473
call fcn.0041de6c
mov esi, dword [esi]
mov eax, dword [esp + 0x1c]
jmp 0x4073a8
mov eax, dword [edi]
jmp 0x4073d1
mov eax, dword [edi]
jmp 0x4073f2
mov eax, dword [edi]
jmp 0x407411
mov eax, dword [edi]
jmp 0x407445
mov eax, dword [edi]
jmp 0x407469
push 2
push 0
push ebp
call fcn.0041ef81
push ebp
call fcn.0041eaaa
cmp eax, dword [esp + 0x20]
push ebp
sete bl
call fcn.0041f07d
add esp, 0x14
mov al, bl
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
push ebp
call fcn.0041f07d
add esp, 4
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 8
ret