Function at 0x42cb48
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 0x42cba0
call dword [sym.imp.kernel32.dll_GetLastError]
test eax, eax
jle 0x42cb7b
and eax, 0xffff
or eax, 0x80070000
mov esi, eax
test esi, esi
js 0x42cb86
mov esi, 0x80004005
push esi
push 0x1c5
push 0x44bce2
call fcn.0043180e
push 0x44bfd0
jmp 0x42ced6
push 0xffffffffffffffff
push dword [edi + 0x24]
call dword [sym.imp.kernel32.dll_WaitForSingleObject]
cmp eax, 0xffffffff
jne 0x42cbe9
call dword [sym.imp.kernel32.dll_GetLastError]
test eax, eax
jle 0x42cbc4
and eax, 0xffff
or eax, 0x80070000
mov esi, eax
test esi, esi
js 0x42cbcf
mov esi, 0x80004005
push esi
push 0x1cb
push 0x44bce2
call fcn.0043180e
push 0x44bfa6
jmp 0x42ced6
push dword [edi + 0x24]
call dword [sym.imp.kernel32.dll_ResetEvent]
test eax, eax
jne 0x42cc2f
call dword [sym.imp.kernel32.dll_GetLastError]
test eax, eax
jle 0x42cc0a
and eax, 0xffff
or eax, 0x80070000
mov esi, eax
test esi, esi
js 0x42cc15
mov esi, 0x80004005
push esi
push 0x1d0
push 0x44bce2
call fcn.0043180e
push 0x44bf7e
jmp 0x42ced6
mov eax, dword [edi + 0x2c]
dec eax
je 0x42cc63
sub eax, 4
je 0x42cc59
mov esi, 0x8007139f
push esi
push 0x1de
push 0x44bce2
call fcn.0043180e
push 0x44bcc0
jmp 0x42ced6
mov esi, 0x80004004
jmp 0x42cede
push 0xfde9
push 0
push dword [ebx + 4]
push dword [edi + 0x34]
call main
mov esi, eax
test esi, esi
jns 0x42cc91
push dword [ebx + 4]
push 0x44bf5e
push esi
call fcn.004317fa
add esp, 0xc
jmp 0x42cede
push dword [edi + 0x28]
call ebp
test eax, eax
jne 0x42ccc4
call dword [sym.imp.kernel32.dll_GetLastError]
test eax, eax
jle 0x42ccae
and eax, 0xffff
or eax, 0x80070000
mov esi, eax
test esi, esi
js 0x42ccb9
mov esi, 0x80004005
push esi
push 0x1e8
jmp 0x42cb8c
push 0xffffffffffffffff
push dword [edi + 0x24]
call dword [sym.imp.kernel32.dll_WaitForSingleObject]
cmp eax, 0xffffffff
jne 0x42ccfe
call dword [sym.imp.kernel32.dll_GetLastError]
test eax, eax
jle 0x42cce8
and eax, 0xffff
or eax, 0x80070000
mov esi, eax
test esi, esi
js 0x42ccf3
mov esi, 0x80004005
push esi
push 0x1ee
jmp 0x42cbd5
push dword [edi + 0x24]
call dword [sym.imp.kernel32.dll_ResetEvent]
test eax, eax
jne 0x42cd35
call dword [sym.imp.kernel32.dll_GetLastError]
test eax, eax
jle 0x42cd1f
and eax, 0xffff
or eax, 0x80070000
mov esi, eax
test esi, esi
js 0x42cd2a
mov esi, 0x80004005
push esi
push 0x1f3
jmp 0x42cc1b
mov eax, dword [edi + 0x2c]
dec eax
dec eax
je 0x42cda0
dec eax
je 0x42cd63
dec eax
je 0x42cd59
dec eax
je 0x42cc59
mov esi, 0x8007139f
push esi
push 0x229
jmp 0x42cc45
and dword [esp + 0xc], 0
jmp 0x42cede
push 1
push dword [ebx]
call fcn.004319bc
mov dword [edi + 0x40], eax
test eax, eax
jne 0x42cd92
mov esi, 0x8007000e
push esi
push 0x218
push 0x44bce2
call fcn.0043180e
push 0x44bf38
jmp 0x42ced6
mov eax, dword [ebx]
and dword [edi + 0x48], 0
mov dword [edi + 0x44], eax
jmp 0x42cede
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 0x42ce01
call dword [sym.imp.kernel32.dll_GetLastError]
cmp eax, ebp
jle 0x42cdd9
and eax, 0xffff
or eax, 0x80070000
mov esi, eax
cmp esi, ebp
jl 0x42cde4
mov esi, 0x80004005
push esi
push 0x1fe
push 0x44bce2
call fcn.0043180e
push dword [edi + 0x38]
push 0x44bf1c
jmp 0x42cc83
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 0x42ce4e
call dword [sym.imp.kernel32.dll_GetLastError]
cmp eax, ebp
jle 0x42ce29
and eax, 0xffff
or eax, 0x80070000
mov esi, eax
cmp esi, ebp
jl 0x42ce34
mov esi, 0x80004005
push esi
push 0x205
push 0x44bce2
call fcn.0043180e
push 0x44bef0
jmp 0x42ced6
push dword [edi + 0x3c]
call dword [sym.imp.kernel32.dll_SetEndOfFile]
test eax, eax
jne 0x42ce91
call dword [sym.imp.kernel32.dll_GetLastError]
cmp eax, ebp
jle 0x42ce6f
and eax, 0xffff
or eax, 0x80070000
mov esi, eax
cmp esi, ebp
jl 0x42ce7a
mov esi, 0x80004005
push esi
push 0x20a
push 0x44bce2
call fcn.0043180e
push 0x44bed4
jmp 0x42ced6
push ebp
push ebp
xor ecx, ecx
push ecx
xor eax, eax
push eax
push dword [edi + 0x3c]
call ebx
test eax, eax
jne 0x42cede
call dword [sym.imp.kernel32.dll_GetLastError]
test eax, eax
jle 0x42ceb6
and eax, 0xffff
or eax, 0x80070000
mov esi, eax
test esi, esi
js 0x42cec1
mov esi, 0x80004005
push esi
push 0x210
push 0x44bce2
call fcn.0043180e
push 0x44bea2
push esi
call fcn.004317fa
pop ecx
pop ecx
mov dword [edi + 0x30], esi
test esi, esi
pop esi
pop ebp
pop ebx
js 0x42ceed
mov eax, dword [esp]
pop ecx
ret
or eax, 0xffffffff
pop ecx
ret