Function at 0x49a840
Capabilities:
Clear file content
Read file on windows
Write file on windows

Disassembly:
mov eax, 0x50e0
call fcn.004b1040
mov eax, dword [0x4da8f0]
xor eax, esp
mov dword [esp + 0x50dc], eax
push esi
push 0
push 0x4c8558
push 0x4c7f2c
mov esi, ecx
call fcn.00460ee0
test eax, eax
jne 0x49a87c
cmp byte [0x527dff], al
je 0x49abf6
cmp byte [0x507cf0], 0
je 0x49abf6
mov ecx, dword [esp + 0x50ec]
lea eax, [esp + 0x50f0]
push eax
push ecx
lea edx, [esp + 0x18e8]
push 0xc00
push edx
call fcn.004b478b
add esp, 0x10
push 0x1000000
lea ecx, [esp + 0xce4]
push ecx
lea edx, [esp + 0x18e8]
xor eax, eax
push edx
mov word [esp + 0x30ea], ax
call fcn.00477f10
push 0x1000000
lea eax, [esp + 0xe4]
push eax
push esi
call fcn.00470640
push eax
call fcn.00477f10
push 0x400
lea ecx, [esp + 0xe4]
push ecx
mov edx, ecx
push edx
call fcn.00457950
lea eax, [esp + 4]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
push 0x32
lea ecx, [esp + 0x18]
push ecx
push 0
lea edx, [esp + 0x10]
push edx
push 0
push 0x400
call dword [sym.imp.KERNEL32.dll_GetTimeFormatA]
push 0x32
lea eax, [esp + 0x4c]
push eax
push 0
lea ecx, [esp + 0x10]
push ecx
push 0
push 0x400
call dword [sym.imp.KERNEL32.dll_GetDateFormatA]
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x84]
push str._s__s
push ecx
call fcn.004b106b
add esp, 0x10
xor eax, eax
jmp 0x49a970
movzx ecx, word [eax + 0x51b790]
mov word [esp + eax + 0x4e0], cx
add eax, 2
test cx, cx
jne 0x49a970
cmp byte [0x527dff], cl
je 0x49a9c6
push 0x527dff
call fcn.004567a0
push 0x1000000
cmp eax, 0x527dff
jne 0x49a9b4
lea edx, [esp + 0x4e4]
push edx
call fcn.00456820
jmp 0x49a9bb
lea eax, [esp + 0x4e4]
push eax
push 0x527dff
call fcn.00477f50
push 0
push 0x4cb694
lea ecx, [esp + 0x4e8]
push ecx
call fcn.00436260
mov esi, eax
test esi, esi
jne 0x49aa2a
push eax
push 0x4cb48c
lea edx, [esp + 0x4e8]
push edx
call fcn.00436260
mov esi, eax
test esi, esi
jne 0x49aa2a
lea eax, [esp + 0x4e0]
push eax
push 0x1f5
call fcn.004671c0
push eax
call fcn.0049a620
add esp, 8
pop esi
mov ecx, dword [esp + 0x50dc]
xor ecx, esp
call fcn.004b102c
add esp, 0x50e0
ret
push 2
push 0
push esi
call fcn.004b4611
add esp, 0xc
mov ecx, 0x543458
lea eax, [esp + 0xe0]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x49aa63
test dl, dl
je 0x49aa5f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x49aa63
add eax, 2
add ecx, 2
test dl, dl
jne 0x49aa43
xor eax, eax
jmp 0x49aa68
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x49aa9c
cmp byte [esp + 0xe0], 0
je 0x49aa9c
lea ecx, [esp + 0xe0]
push ecx
push 0x6b
call fcn.004670f0
push eax
lea edx, [esp + 0x84]
push edx
push str._r_n_r_n___________s___s__s_r_n
push esi
call fcn.004b5015
add esp, 0x14
cmp byte [esp + 0x50e8], 0
jne 0x49aac2
xor eax, eax
jmp 0x49aab0
mov cl, byte [esp + eax + 0xe0]
mov byte [eax + 0x543458], cl
inc eax
test cl, cl
jne 0x49aab0
lea eax, [esp + 0x7c]
push eax
push str._r_n_s
push esi
call fcn.004b5015
lea ecx, [esp + 0xcec]
push ecx
push 0x4ced64
push esi
call fcn.004b5015
add esp, 0x18
push 0
push str.LimitLog
push 0x4c7f2c
call fcn.00460ee0
test eax, eax
je 0x49abed
push edi
push 0x3e8
push str.LogSize
push 0x4c7f2c
call fcn.00460ee0
mov edi, eax
push esi
shl edi, 0xa
call fcn.004b56a2
sub eax, edi
add esp, 4
test eax, eax
jle 0x49abec
push ebx
push ebp
push 0
add eax, 0x2710
push eax
push esi
call fcn.004b4611
push esi
lea edx, [esp + 0x30fc]
push 0x2000
push edx
call fcn.004b53bd
push esi
call fcn.004b56a2
push esi
push 0x2000
mov ebp, eax
lea eax, [esp + 0x3110]
push 1
push eax
xor ebx, ebx
call fcn.004b3d1a
mov edi, eax
add esp, 0x2c
test edi, edi
je 0x49abc5
lea esp, [esp]
push 0
push ebx
push esi
call fcn.004b4611
push esi
push edi
lea ecx, [esp + 0x3100]
push 1
push ecx
call fcn.004b39f8
push 0
add ebp, edi
push ebp
push esi
add ebx, edi
call fcn.004b4611
push esi
push 0x2000
lea edx, [esp + 0x311c]
push 1
push edx
call fcn.004b3d1a
mov edi, eax
add esp, 0x38
test edi, edi
jne 0x49ab80
push esi
call fcn.004b49b5
push 0
push ebx
push esi
call fcn.004b4611
push esi
call fcn.004bc8cc
push eax
call fcn.004b30d9
add esp, 0x18
push eax
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
pop ebp
pop ebx
pop edi
push esi
call fcn.004b3dae
add esp, 4
mov ecx, dword [esp + 0x50e0]
pop esi
xor ecx, esp
call fcn.004b102c
add esp, 0x50e0
ret