Function at 0x4075bd
Capabilities:
Check if file exists
Delete file
Print debug messages
Write file on windows

Disassembly:
push 0xe8
mov eax, 0x4283be
call fcn.00413ef7
mov edi, ecx
mov ebx, dword [ebp + 8]
mov dword [ebp - 0xe4], ebx
push ebx
mov edx, 0x437dc0
lea ecx, [ebp - 0x30]
call fcn.004073de
xor esi, esi
mov dword [ebp - 4], esi
push 0x437dbc
mov edx, eax
lea ecx, [ebp - 0x4c]
call fcn.004073a2
mov byte [ebp - 4], 2
push esi
push 1
lea ecx, [ebp - 0x30]
call fcn.004012a0
cmp dword [ebp - 0x38], 8
mov eax, dword [ebp - 0x4c]
jae 0x407614
lea eax, [ebp - 0x4c]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov edx, ebx
lea ecx, [ebp - 0x30]
call fcn.0041016e
mov byte [ebp - 4], 3
cmp dword [eax + 0x14], 8
jb 0x407631
mov eax, dword [eax]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov ebx, eax
neg ebx
sbb bl, bl
mov byte [ebp - 4], 2
push esi
push 1
lea ecx, [ebp - 0x30]
call fcn.004012a0
inc bl
je 0x40766d
mov edx, dword [ebp - 0xe4]
lea ecx, [ebp - 0xe0]
call fcn.0040c8f3
lea ecx, [ebp - 0xe0]
call fcn.0040c19f
lea eax, [edi + 0x30]
mov dword [ebp - 0xe8], eax
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov byte [ebp - 4], 4
lea ebx, [edi + 0x48]
push 0xffffffffffffffff
push esi
push dword [ebp - 0xe4]
mov ecx, ebx
call fcn.00401a80
cmp byte [ebp + 0xc], 0
je 0x4076ad
cmp dword [ebx + 0x14], 8
jb 0x4076a4
mov eax, dword [ebx]
jmp 0x4076a6
mov eax, ebx
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp dword [edi + 0x58], esi
je 0x4077cd
cmp dword [ebx + 0x14], 8
jb 0x4076be
mov ebx, dword [ebx]
push esi
push 0x80
push 4
pop edi
push edi
push esi
push 1
push 0x40000000
push ebx
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0xe4], eax
cmp eax, esi
je 0x4077cd
mov byte [ebp - 4], 5
push str.________________________________________________________________________________
lea ecx, [ebp - 0x30]
call fcn.004021a0
mov byte [ebp - 4], 6
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0xf4]
call fcn.0040cd75
mov ecx, eax
call fcn.0040cef6
mov byte [ebp - 4], 7
push 0x437d10
mov edx, eax
lea ecx, [ebp - 0xa0]
call fcn.00404086
mov byte [ebp - 4], 8
push esi
mov edx, eax
lea ecx, [ebp - 0x68]
call fcn.00404b7d
mov byte [ebp - 4], 9
push 0xffffffffffffffff
push esi
push eax
lea ecx, [ebp - 0x30]
call fcn.00406bb0
mov byte [ebp - 4], 8
push esi
xor ebx, ebx
inc ebx
push ebx
lea ecx, [ebp - 0x68]
call fcn.004012a0
mov byte [ebp - 4], 7
push esi
push ebx
lea ecx, [ebp - 0xa0]
call fcn.00401250
mov byte [ebp - 4], 6
push esi
push ebx
lea ecx, [ebp - 0x84]
call fcn.00401250
cmp dword [ebp - 0x1c], 8
mov eax, dword [ebp - 0x30]
jae 0x407787
lea eax, [ebp - 0x30]
push esi
lea ecx, [ebp - 0xec]
push ecx
push dword [ebp - 0x20]
push eax
push dword [ebp - 0xe4]
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov byte [ebp - 4], 5
push esi
push ebx
lea ecx, [ebp - 0x30]
call fcn.004012a0
mov dword [ebp - 4], edi
jmp 0x4077c1
push dword [ebp - 0xe4]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov byte [ebp - 4], 2
push dword [ebp - 0xe8]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
or dword [ebp - 4], 0xffffffff
push esi
push 1
lea ecx, [ebp - 0x4c]
call fcn.004012a0
call fcn.00413f53
ret 8