Function at 0x44c980
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x74
mov eax, dword [0x4c0120]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
lea ecx, [ebp - 0x5c]
push ecx
lea edi, [ebp - 0x48]
lea ebx, [ebp - 0x6c]
or esi, 0xffffffff
call fcn.0044c8b0
mov bl, byte [ebp - 0x6c]
add esp, 4
test bl, bl
je 0x44c9bc
cmp dword [ebp - 0x68], 1
jl 0x44cc2e
call dword [sym.imp.MSVCR80.dll__errno]
mov edx, dword [eax]
mov eax, dword [0x4bef44]
test eax, eax
mov dword [ebp - 0x60], edx
jle 0x44cc2e
cmp eax, 1
jne 0x44ca53
push 0
call dword [sym.imp.MSVCR80.dll__time64]
mov ecx, dword [ebp - 0x48]
add esp, 4
test ecx, ecx
mov ebx, eax
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x4c], edx
je 0x44ca1d
mov edi, dword [ecx + 8]
mov eax, dword [ecx + 0xc]
mov edx, edi
and edx, eax
cmp edx, 0xffffffff
je 0x44ca1a
cmp ebx, edi
jne 0x44ca0f
cmp dword [ebp - 0x4c], eax
je 0x44cc2e
mov dword [ecx + 8], ebx
mov eax, dword [ebp - 0x4c]
mov dword [ecx + 0xc], eax
jmp 0x44ca3d
mov edx, dword [ebp - 0x4c]
cmp ebx, dword [0x504000]
jne 0x44ca31
cmp edx, dword [0x504004]
je 0x44cc2e
mov dword [0x504000], ebx
mov dword [0x504004], edx
lea ecx, [ebp - 0x50]
push ecx
call fcn.00453440
mov bl, byte [ebp - 0x6c]
mov ecx, eax
mov dword [ebp - 0x48], ecx
jmp 0x44cb0b
lea edx, [ebp - 0x74]
push edx
lea eax, [ebp - 0x58]
push eax
call fcn.00452dd0
add esp, 8
test eax, eax
jne 0x44cc2e
mov eax, 0xf4240
cdq
idiv dword [0x4bef44]
cmp eax, 0x186a0
mov esi, eax
jg 0x44ca85
mov esi, 0x186a0
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x44cab7
mov ecx, dword [eax + 0x10]
cmp ecx, 0xffffffff
je 0x44cab7
mov edx, dword [ebp - 0x58]
cmp edx, ecx
jne 0x44caa9
mov ecx, dword [ebp - 0x54]
sub ecx, dword [eax + 0x14]
cmp ecx, esi
jl 0x44cc2e
mov dword [eax + 0x10], edx
mov edx, dword [ebp - 0x54]
mov dword [eax + 0x14], edx
mov ecx, dword [ebp - 0x54]
jmp 0x44cae0
mov eax, dword [ebp - 0x58]
cmp eax, dword [0x508128]
mov ecx, dword [ebp - 0x54]
jne 0x44cad5
mov edx, ecx
sub edx, dword [0x50812c]
cmp edx, esi
jl 0x44cc2e
mov dword [0x508128], eax
mov dword [0x50812c], ecx
mov eax, 0x10624dd3
imul ecx
mov eax, dword [0x508128]
sar edx, 6
mov esi, edx
shr esi, 0x1f
add esi, edx
cdq
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x50]
push eax
mov dword [ebp - 0x4c], edx
call fcn.00453440
mov dword [ebp - 0x48], eax
mov ecx, eax
add esp, 4
cmp dword [0x508130], 1
mov edi, 0x504008
mov al, 0x20
jne 0x44cb42
test bl, bl
je 0x44cbad
mov byte [0x504008], bl
mov byte [0x504009], al
mov byte [0x50400a], al
mov byte [0x50400b], 0xa
mov edi, 0x50400c
test bl, bl
je 0x44cb50
mov byte [edi], bl
add edi, 1
mov byte [edi], al
add edi, 1
test byte [ebp + 0xc], 2
je 0x44cb5f
mov eax, edi
call fcn.0044c4e0
add edi, eax
mov ebx, 0x506007
sub ebx, edi
cmp esi, 0xffffffff
mov byte [edi], 0
push ecx
je 0x44cbbb
push str._a__b__e__T
lea ecx, [ebp - 0x44]
push 0x40
push ecx
call dword [sym.imp.MSVCR80.dll_strftime]
add esp, 0x10
test eax, eax
jle 0x44cc23
mov edx, dword [ebp - 0x48]
mov eax, dword [edx + 0x14]
add eax, 0x76c
push eax
push esi
lea ecx, [ebp - 0x44]
push ecx
push str._.24s:_ld__4.4d_n
push ebx
push edi
call fcn.00452c10
add esp, 0x18
jmp 0x44cbd1
mov byte [0x504008], 0xa
mov edi, 0x504009
jmp 0x44cb50
call dword [sym.imp.MSVCR80.dll_asctime]
push eax
push str._.24s_n
push ebx
push edi
call fcn.00452c10
add esp, 0x14
test eax, eax
jle 0x44cc23
mov ecx, dword [0x508194]
mov esi, dword [ebp - 0x5c]
sub edi, 0x504008
add eax, edi
test ecx, ecx
je 0x44cbfe
mov edx, dword [0x508198]
push edx
push eax
push 0x504008
call ecx
add esp, 0xc
jmp 0x44cc10
push esi
push 1
push eax
push 0x504008
call dword [sym.imp.MSVCR80.dll_fwrite]
add esp, 0x10
cmp dword [0x508194], 0
jne 0x44cc23
push esi
call dword [sym.imp.MSVCR80.dll_fflush]
add esp, 4
call dword [sym.imp.MSVCR80.dll__errno]
mov ecx, dword [ebp - 0x60]
mov dword [eax], ecx
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00455bf8
mov esp, ebp
pop ebp
ret