Function at 0x428e7f
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 0xc]
sub esp, 0x64
push ebx
push esi
push edi
push 1
call fcn.00428bcb
pop ecx
test al, al
je 0x4290bd
xor esi, esi
mov byte [ebp - 1], 0
mov edi, dword [ebp + 0xc]
push 0x4590f4
push edi
call fcn.0043ccfd
pop ecx
pop ecx
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x429027
push edi
push str.Unable_to_open__s_for_writing__will_try_again_in_1_sec
call fcn.0043ca84
add eax, 0x40
push eax
call fcn.0043cfd1
add esp, 0xc
push edi
call fcn.004263c5
pop ecx
test al, al
je 0x428f82
and dword [ebp - 0x10], 0
and dword [ebp - 8], 0
lea eax, [ebp - 0x10]
push eax
push edi
lea edi, [ebp - 8]
call fcn.004345b7
pop ecx
pop ecx
test al, al
je 0x428f82
mov eax, dword [ebp - 0x10]
push dword [ebp - 8]
cmp eax, dword [ebp + 0x14]
jne 0x428f7c
lea ecx, [ebp - 0x20]
push ecx
call fcn.0040dcc6
push 0x10
lea edi, [ebp - 0x40]
lea ebx, [ebp - 0x20]
call fcn.00410f36
add esp, 0xc
push dword [ebp + 0x10]
mov eax, ebx
push eax
mov eax, dword [ebp + 0x14]
call fcn.0040dcc6
push 0x10
lea edi, [ebp - 0x60]
call fcn.00410f36
add esp, 0xc
push dword [ebp - 8]
call fcn.0043c0d7
pop ecx
lea ecx, [ebp - 0x40]
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x428f6c
test dl, dl
je 0x428f68
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x428f6c
inc eax
inc eax
inc ecx
inc ecx
test dl, dl
jne 0x428f4e
xor eax, eax
jmp 0x428f71
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x428f82
mov al, 1
jmp 0x4290bd
call fcn.0043c0d7
pop ecx
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
inc esi
cmp esi, 0xa
jb 0x428ea1
mov esi, dword [ebp + 8]
cmp byte [esi + 0x464], 0
je 0x428fcc
push dword [esi + 0x45c]
call fcn.00433545
pop ecx
lea edi, [esi + 0x460]
push dword [edi]
call fcn.00433545
pop ecx
push dword [edi]
mov byte [esi + 0x458], 1
call fcn.00433559
pop ecx
xor ebx, ebx
cmp dword [ebp - 0xc], ebx
je 0x429076
mov eax, dword [ebp + 0x10]
mov dword [ebp + 0x10], eax
cmp dword [ebp + 0x14], ebx
jbe 0x429059
mov esi, 0x1000
mov eax, dword [ebp + 8]
cmp byte [eax + 0x451], 0
je 0x428ffb
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edi, dword [ebp + 0x14]
sub edi, ebx
cmp edi, esi
jbe 0x429006
mov edi, esi
push dword [ebp - 0xc]
push edi
push 1
push dword [ebp + 0x10]
call fcn.0043e7df
add esp, 0x10
cmp eax, edi
jne 0x429037
add dword [ebp + 0x10], edi
add ebx, edi
cmp ebx, dword [ebp + 0x14]
jb 0x428fe7
jmp 0x429056
push eax
call fcn.0043cb5b
pop ecx
mov byte [ebp - 1], 1
jmp 0x428f97
push dword [ebp + 0xc]
push ebx
push edi
push str.ERROR:_Unable_to_write__li_bytes_at_offset__li_to__s_n
call fcn.0043ca84
add eax, 0x40
push eax
call fcn.0043cfd1
add esp, 0x14
mov byte [ebp - 1], 0
mov esi, dword [ebp + 8]
push dword [ebp - 0xc]
call fcn.0043cbce
pop ecx
push dword [ebp - 0xc]
call fcn.0043d47e
pop ecx
push dword [ebp + 0xc]
call fcn.00428b70
pop ecx
jmp 0x42908f
push dword [ebp + 0xc]
push str.ERROR:_Couldnt_open__s_for_writing_n
call fcn.0043ca84
add eax, 0x40
push eax
call fcn.0043cfd1
add esp, 0xc
lea edi, [esi + 0x460]
push dword [edi]
call fcn.00433545
cmp byte [esi + 0x458], 0
pop ecx
je 0x4290b2
push dword [esi + 0x45c]
call fcn.00433559
pop ecx
push dword [edi]
call fcn.00433559
mov al, byte [ebp - 1]
pop ecx
pop edi
pop esi
pop ebx
leave
ret 0x10