Function at 0x1019019
Capabilities:
Delete file

Disassembly:
sub esp, 0x20c
push ebx
push ebp
push esi
mov esi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push edi
xor ebx, ebx
mov word [esp + 0x14], bx
xor eax, eax
mov ecx, 0x81
lea edi, [esp + 0x16]
rep stosd dword es:[edi], eax
push 0x103c234
stosw word es:[edi], ax
mov dword [esp + 0x14], 1
call esi
push 0x103c29c
call esi
mov edi, dword [esp + 0x220]
mov esi, dword [edi + 0x444]
mov eax, dword [esi + 0x34]
cmp eax, ebx
je 0x1019088
push 0x104
push eax
lea eax, [esp + 0x1c]
push eax
call dword [sym.imp.msvcrt.dll_wcsncpy]
add esp, 0xc
push dword [esi + 0x34]
call fcn.01031b59
mov dword [esi + 0x34], ebx
lea ebp, [edi + 0x20]
push ebp
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
mov eax, dword [ebp]
sub eax, dword [edi + 0x18]
mov ecx, dword [ebp + 4]
sbb ecx, dword [edi + 0x1c]
mov dword [edi + 0x28], eax
mov eax, dword [edi + 0x454]
cmp eax, 8
mov dword [edi + 0x2c], ecx
jne 0x10190bd
mov dword [edi + 0x30], 1
xor ebx, ebx
jmp 0x101915e
cmp eax, 0xb
jne 0x101913d
mov eax, dword [edi + 0x458]
dec eax
cmp eax, 0xe
ja case.0x10190d5.2
movzx eax, byte [eax + 0x1019342]
jmp dword [eax*4 + 0x101932e]
mov ebx, 0x103d688
push ebx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [edi + 8]
test byte [eax + 0x30], 4
jne 0x10190fc
cmp dword [eax + 0x18], 0
jne 0x10190fc
and dword [esp + 0x10], 0
push ebx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor ebx, ebx
inc ebx
mov eax, dword [0x103c518]
test eax, eax
je 0x101915e
add eax, 0x24
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
jmp 0x101915e
call fcn.0101707b
mov ebx, eax
jmp 0x1019106
xor ebx, ebx
jmp 0x1019106
call fcn.0101707b
mov ebx, eax
mov eax, dword [0x103c518]
test eax, eax
je 0x101915e
add eax, 0x28
jmp 0x1019112
cmp eax, 0xc
je 0x10190b6
cmp eax, 0xd
je 0x10190b6
cmp eax, 0x40000001
jne 0x101915e
xor ebx, ebx
inc ebx
and dword [esp + 0x10], 0
push ebx
push esi
call fcn.01025a50
test ebx, ebx
jne 0x101918b
mov ebp, 0x103c1bc
push ebp
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [0x103c198], 0xffffffff
je 0x1019184
push esi
call fcn.010157d8
push ebp
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [edi + 0x458]
mov dword [esi + 0x598], eax
mov eax, dword [esi + 0x20]
add eax, 0x494
push eax
lea ebp, [esi + 0x398]
push ebp
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
test ebx, ebx
jne 0x10191da
cmp dword [edi + 0x30], ebx
jne 0x10191da
cmp dword [esi + 0x598], ebx
jne 0x10191d4
push 0x1001848
push ebp
mov dword [esi + 0x598], 0xc
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push esi
call fcn.01016a97
cmp dword [edi + 0x30], 0
mov ebp, 0x200
je 0x1019203
push ebp
mov ecx, esi
call fcn.0101c480
push esi
call fcn.0101b93b
mov eax, dword [esi + 0x158]
inc dword [eax + 0xe4]
xor ebx, ebx
jmp 0x1019212
cmp dword [edi + 0x43c], 0
je 0x101920e
xor ebx, ebx
test ebx, ebx
jne 0x1019243
push 1
push esi
call fcn.0101badd
mov eax, dword [esi + 0x20]
mov ecx, dword [eax + 0x18]
mov dword [esi + 0x388], ecx
mov ecx, dword [eax + 0x1c]
mov dword [esi + 0x38c], ecx
mov ecx, dword [eax + 0x20]
mov dword [esi + 0x390], ecx
mov eax, dword [eax + 0x24]
mov dword [esi + 0x394], eax
jmp 0x1019264
push 0x40
mov ecx, esi
call fcn.0101c480
and dword [esi + 0x20], 0
cmp dword [esp + 0x10], 1
push esi
jne 0x101925f
call fcn.0101c33b
jmp 0x1019264
call fcn.0101c00c
push esi
push 2
call fcn.010269b3
mov eax, dword [edi + 8]
push 1
push 0xffffffffffffffff
push 1
mov dword [eax + 0x2c], 0x20100000
push dword [edi + 8]
call fcn.01017525
push edi
call fcn.010188aa
xor edi, edi
cmp dword [esi + 0x608], ebp
mov dword [esi + 0x20], edi
jne 0x10192ae
mov ebp, dword [esi + 0x18]
push edi
push 1
push 1
push esi
call fcn.0101d6ac
push ebp
push 0x17
push edi
call fcn.0102590a
push dword [0x103c288]
call dword [sym.imp.KERNEL32.dll_SetEvent]
test eax, eax
jne 0x10192c8
mov dword [0x103c280], 1
mov ebp, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov edi, 0x103c29c
push edi
call ebp
push 0x103c234
call ebp
test ebx, ebx
jne 0x1019304
lea eax, [esp + 0x14]
push eax
push ebx
mov eax, esi
call fcn.01017498
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push 1
push 1
push 1
push esi
call fcn.0101d6ac
push edi
call ebp
lea eax, [esp + 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
pop edi
pop esi
pop ebp
pop ebx
je 0x1019322
lea eax, [esp + 4]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
xor eax, eax
inc eax
add esp, 0x20c
ret 4