Function at 0x407800
Capabilities:
Clear file content
Get file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x148
push esi
push edi
mov dword [ebp - 0x10c], 0x2ee6d
mov dword [ebp - 0xbc], 0
mov ax, word [0x55c92c]
mov word [ebp - 0xac], ax
mov dword [ebp - 0x144], 0x53aeb
mov ecx, dword [0x55c92c]
mov dword [ebp - 0x88], ecx
mov edx, dword [0x55c92c]
mov dword [ebp - 0x14], edx
mov eax, dword [0x55c92c]
mov dword [ebp - 0xf4], eax
mov esi, 0x66157
sub esi, dword [ebp - 0x10c]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetShortPathNameA]
and esi, eax
mov ecx, dword [ebp - 0x10c]
add ecx, 0x56ddd
and esi, ecx
and esi, 0x6a603
mov dword [ebp - 0x10c], esi
mov esi, 0x53358
sub esi, dword [ebp - 0x10c]
add esi, 0x6b55c
push 0
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov edi, eax
sub edi, 0x268ef
push 0
call dword [sym.imp.KERNEL32.dll_ConvertThreadToFiber]
mov ecx, eax
shl edi, cl
mov edx, 0x7c6f4
sub edx, dword [ebp - 0x10c]
sub edx, 0x79427
and edi, edx
and edi, 0x2f2e4
or esi, edi
movzx eax, byte [ebp - 0x81]
and eax, 0x1b889
or esi, eax
mov dword [ebp - 0x10c], esi
movzx ecx, word [ebp - 0xac]
add ecx, dword [ebp - 0x10c]
mov edx, dword [ebp - 0x10c]
lea eax, [ecx + edx + 0x7fa16]
mov dword [ebp - 0x10c], eax
push 0
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
mov ecx, dword [ebp - 0x10c]
sub ecx, eax
add ecx, 0x8152
xor edx, edx
add ecx, dword [ebp - 0x70]
adc edx, dword [ebp - 0x6c]
add ecx, dword [ebp - 0x70]
adc edx, dword [ebp - 0x6c]
add ecx, 0x8f62a
adc edx, 0
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x6c], edx
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_EnumCalendarInfoExW]
mov esi, eax
add esi, 0x530b0
push 0
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_LCMapStringW]
sub esi, eax
add esi, dword [ebp - 0x10c]
movzx eax, word [ebp - 0xac]
sub esi, eax
and esi, dword [ebp - 0x10c]
mov dword [ebp - 0x10c], esi
movzx esi, byte [ebp - 0x81]
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
sub esi, eax
and esi, 0x2a993
or esi, 0x5c537
movzx ecx, byte [ebp - 0x81]
and ecx, dword [ebp - 0x10c]
or esi, ecx
or esi, 0x3045
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetProfileStringW]
and eax, 0x10
or esi, eax
mov word [ebp - 0xac], si
mov esi, dword [ebp - 0x10c]
or esi, 0x175ac
push 0
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov edx, 0x304bc
sub edx, eax
add edx, dword [ebp - 0x10c]
or esi, edx
mov dword [ebp - 0x10c], esi
movzx eax, byte [ebp - 0x81]
cmp eax, 0x7a0f0
je 0x407a31
mov ecx, dword [ebp - 0x10c]
cmp ecx, dword [ebp - 0x10c]
jne 0x407a31
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SetSystemPowerState]
movzx edx, word [ebp - 0xac]
cmp eax, edx
je 0x407a31
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
cmp eax, dword [ebp - 0x10c]
jae 0x407a86
push 0
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov esi, eax
push 0
call dword [sym.imp.KERNEL32.dll_GetFileType]
add eax, dword [ebp - 0x10c]
movzx ecx, word [ebp - 0xac]
add eax, ecx
sub eax, dword [ebp - 0x10c]
and esi, eax
or esi, dword [ebp - 0x10c]
or esi, 0xfffbfd90
mov edx, dword [ebp - 0x10c]
sub edx, dword [ebp - 0x10c]
or esi, edx
movzx eax, word [ebp - 0xac]
or esi, eax
mov word [ebp - 0xac], si
jmp 0x407a9f
movzx ecx, word [ebp - 0xac]
and ecx, 0x3f1c6
and ecx, dword [ebp - 0x10c]
mov dword [ebp - 0x10c], ecx
mov ax, word [ebp - 0xac]
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x14