Function at 0x42c808
Capabilities:
Clear file content

Disassembly:
mov edi, edi
push ecx
push ebx
push ebp
mov ebp, dword [sym.imp.kernel32.dll_SetEvent]
push esi
push dword [edi + 0x28]
mov ebx, eax
mov dword [esp + 0x10], 1
call ebp
test eax, eax
jne 0x42c860
call dword [sym.imp.kernel32.dll_GetLastError]
test eax, eax
jle 0x42c83b
and eax, 0xffff
or eax, 0x80070000
mov esi, eax
test esi, esi
js 0x42c846
mov esi, 0x80004005
push esi
push 0x1c5
push 0x44b6b0
call fcn.004314ce
push 0x44b99e
jmp 0x42cb96
push 0xffffffffffffffff
push dword [edi + 0x24]
call dword [sym.imp.kernel32.dll_WaitForSingleObject]
cmp eax, 0xffffffff
jne 0x42c8a9
call dword [sym.imp.kernel32.dll_GetLastError]
test eax, eax
jle 0x42c884
and eax, 0xffff
or eax, 0x80070000
mov esi, eax
test esi, esi
js 0x42c88f
mov esi, 0x80004005
push esi
push 0x1cb
push 0x44b6b0
call fcn.004314ce
push 0x44b974
jmp 0x42cb96
push dword [edi + 0x24]
call dword [sym.imp.kernel32.dll_ResetEvent]
test eax, eax
jne 0x42c8ef
call dword [sym.imp.kernel32.dll_GetLastError]
test eax, eax
jle 0x42c8ca
and eax, 0xffff
or eax, 0x80070000
mov esi, eax
test esi, esi
js 0x42c8d5
mov esi, 0x80004005
push esi
push 0x1d0
push 0x44b6b0
call fcn.004314ce
push 0x44b94c
jmp 0x42cb96
mov eax, dword [edi + 0x2c]
dec eax
je 0x42c923
sub eax, 4
je 0x42c919
mov esi, 0x8007139f
push esi
push 0x1de
push 0x44b6b0
call fcn.004314ce
push 0x44b68e
jmp 0x42cb96
mov esi, 0x80004004
jmp 0x42cb9e
push 0xfde9
push 0
push dword [ebx + 4]
push dword [edi + 0x34]
call main
mov esi, eax
test esi, esi
jns 0x42c951
push dword [ebx + 4]
push 0x44b92c
push esi
call fcn.004314ba
add esp, 0xc
jmp 0x42cb9e
push dword [edi + 0x28]
call ebp
test eax, eax
jne 0x42c984
call dword [sym.imp.kernel32.dll_GetLastError]
test eax, eax
jle 0x42c96e
and eax, 0xffff
or eax, 0x80070000
mov esi, eax
test esi, esi
js 0x42c979
mov esi, 0x80004005
push esi
push 0x1e8
jmp 0x42c84c
push 0xffffffffffffffff
push dword [edi + 0x24]
call dword [sym.imp.kernel32.dll_WaitForSingleObject]
cmp eax, 0xffffffff
jne 0x42c9be
call dword [sym.imp.kernel32.dll_GetLastError]
test eax, eax
jle 0x42c9a8
and eax, 0xffff
or eax, 0x80070000
mov esi, eax
test esi, esi
js 0x42c9b3
mov esi, 0x80004005
push esi
push 0x1ee
jmp 0x42c895
push dword [edi + 0x24]
call dword [sym.imp.kernel32.dll_ResetEvent]
test eax, eax
jne 0x42c9f5
call dword [sym.imp.kernel32.dll_GetLastError]
test eax, eax
jle 0x42c9df
and eax, 0xffff
or eax, 0x80070000
mov esi, eax
test esi, esi
js 0x42c9ea
mov esi, 0x80004005
push esi
push 0x1f3
jmp 0x42c8db
mov eax, dword [edi + 0x2c]
dec eax
dec eax
je 0x42ca60
dec eax
je 0x42ca23
dec eax
je 0x42ca19
dec eax
je 0x42c919
mov esi, 0x8007139f
push esi
push 0x229
jmp 0x42c905
and dword [esp + 0xc], 0
jmp 0x42cb9e
push 1
push dword [ebx]
call fcn.0043167c
mov dword [edi + 0x40], eax
test eax, eax
jne 0x42ca52
mov esi, 0x8007000e
push esi
push 0x218
push 0x44b6b0
call fcn.004314ce
push 0x44b906
jmp 0x42cb96
mov eax, dword [ebx]
and dword [edi + 0x48], 0
mov dword [edi + 0x44], eax
jmp 0x42cb9e
xor ebp, ebp
push ebp
push 0x80
push 2
push ebp
push 1
push 0x40000000
push dword [edi + 0x38]
call dword [sym.imp.kernel32.dll_CreateFileW]
mov ecx, eax
mov dword [edi + 0x3c], ecx
cmp ecx, 0xffffffff
jne 0x42cac1
call dword [sym.imp.kernel32.dll_GetLastError]
cmp eax, ebp
jle 0x42ca99
and eax, 0xffff
or eax, 0x80070000
mov esi, eax
cmp esi, ebp
jl 0x42caa4
mov esi, 0x80004005
push esi
push 0x1fe
push 0x44b6b0
call fcn.004314ce
push dword [edi + 0x38]
push 0x44b8ea
jmp 0x42c943
mov eax, dword [ebx]
mov ebx, dword [sym.imp.kernel32.dll_SetFilePointerEx]
push ebp
cdq
push ebp
push edx
push eax
push ecx
call ebx
test eax, eax
jne 0x42cb0e
call dword [sym.imp.kernel32.dll_GetLastError]
cmp eax, ebp
jle 0x42cae9
and eax, 0xffff
or eax, 0x80070000
mov esi, eax
cmp esi, ebp
jl 0x42caf4
mov esi, 0x80004005
push esi
push 0x205
push 0x44b6b0
call fcn.004314ce
push 0x44b8be
jmp 0x42cb96
push dword [edi + 0x3c]
call dword [sym.imp.kernel32.dll_SetEndOfFile]
test eax, eax
jne 0x42cb51
call dword [sym.imp.kernel32.dll_GetLastError]
cmp eax, ebp
jle 0x42cb2f
and eax, 0xffff
or eax, 0x80070000
mov esi, eax
cmp esi, ebp
jl 0x42cb3a
mov esi, 0x80004005
push esi
push 0x20a
push 0x44b6b0
call fcn.004314ce
push 0x44b8a2
jmp 0x42cb96
push ebp
push ebp
xor ecx, ecx
push ecx
xor eax, eax
push eax
push dword [edi + 0x3c]
call ebx
test eax, eax
jne 0x42cb9e
call dword [sym.imp.kernel32.dll_GetLastError]
test eax, eax
jle 0x42cb76
and eax, 0xffff
or eax, 0x80070000
mov esi, eax
test esi, esi
js 0x42cb81
mov esi, 0x80004005
push esi
push 0x210
push 0x44b6b0
call fcn.004314ce
push 0x44b870
push esi
call fcn.004314ba
pop ecx
pop ecx
mov dword [edi + 0x30], esi
test esi, esi
pop esi
pop ebp
pop ebx
js 0x42cbad
mov eax, dword [esp]
pop ecx
ret
or eax, 0xffffffff
pop ecx
ret