Function at 0x1031286
Capabilities:
Delete file

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x218
mov eax, dword [0x1075fb8]
xor eax, ebp
mov dword [ebp - 4], eax
and dword [ebp - 0x210], 0
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov eax, dword [0x1075004]
mov edi, 0x1075004
cmp eax, edi
je 0x10312d7
test byte [eax + 0x1c], 4
je 0x10312d7
cmp byte [eax + 0x19], 5
jb 0x10312d7
push 0x10022b4
push 0xb9
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010090c5
mov esi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push 0x1077f18
mov dword [ebp - 0x214], 1
call esi
push 0x1077f58
call esi
mov esi, dword [ebx + 0x440]
mov eax, dword [0x1075004]
cmp eax, edi
je 0x1031328
test byte [eax + 0x1c], 4
je 0x1031328
cmp byte [eax + 0x19], 5
jb 0x1031328
push dword [esi + 0x18]
push 0x10022b4
push 0xba
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0102ca9d
mov eax, dword [esi + 0x34]
test eax, eax
je 0x1031395
push eax
push 0x104
lea eax, [ebp - 0x20c]
push eax
call fcn.01009a5d
push dword [esi + 0x34]
mov dword [ebp - 0x218], eax
call fcn.0105c5dc
and dword [esi + 0x34], 0
cmp dword [ebp - 0x218], 0
jge 0x1031395
mov eax, dword [0x1075004]
cmp eax, edi
je 0x103138c
test byte [eax + 0x1c], 4
je 0x103138c
cmp byte [eax + 0x19], 2
jb 0x103138c
push dword [ebp - 0x218]
push 0x10022b4
push 0xbb
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0102ca9d
xor eax, eax
mov word [ebp - 0x20c], ax
lea edi, [ebx + 0x20]
push edi
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
mov eax, dword [edi]
sub eax, dword [ebx + 0x18]
mov ecx, dword [edi + 4]
sbb ecx, dword [ebx + 0x1c]
mov dword [ebx + 0x28], eax
mov eax, dword [ebx + 0x450]
mov dword [ebx + 0x2c], ecx
cmp eax, 8
jne 0x103141e
mov eax, dword [0x1075004]
cmp eax, 0x1075004
je 0x10313f0
test byte [eax + 0x1c], 4
je 0x10313f0
cmp byte [eax + 0x19], 5
jb 0x10313f0
push dword [esi + 0x18]
push 0x10022b4
push 0xbc
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0102ca9d
mov eax, dword [0x1075004]
xor ecx, ecx
cmp dword [ebx + 0x34], ecx
jne 0x1031409
mov dword [ebx + 0x30], 1
mov dword [ebp - 0x210], ecx
jmp 0x1031717
mov dword [ebp - 0x210], 1
mov dword [ebp - 0x214], ecx
jmp 0x103171c
cmp eax, 0xb
jne 0x1031706
mov eax, dword [ebx + 0x454]
dec eax
cmp eax, 0xe
ja case.0x103143e.2
movzx eax, byte [eax + 0x1031caa]
jmp dword [eax*4 + 0x1031c96]
mov edi, 0x10780cc
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebx + 8]
test byte [eax + 0x30], 4
jne 0x1031467
cmp dword [eax + 0x18], 0
jne 0x1031467
and dword [ebp - 0x214], 0
push edi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [0x1077fc8]
mov dword [ebp - 0x210], 1
test eax, eax
je 0x1031717
add eax, 0x24
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov eax, dword [0x1077fc8]
lea ecx, [eax + 0x1c]
push ecx
lea ecx, [eax + 0x20]
push ecx
lea ecx, [eax + 0x18]
push ecx
lea ecx, [eax + 0x14]
push ecx
lea ecx, [eax + 0x28]
push ecx
add eax, 0x24
push eax
call fcn.0106e035
test eax, eax
je 0x1031717
mov eax, dword [0x1075004]
cmp eax, 0x1075004
je 0x103171c
test byte [eax + 0x1c], 4
je 0x103171c
cmp byte [eax + 0x19], 2
jb 0x103171c
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x10022b4
push 0xbd
mov eax, dword [0x1075004]
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0102ca9d
jmp 0x1031717
push esi
call fcn.0102eeac
mov dword [ebp - 0x210], eax
mov eax, dword [0x1077fc8]
test eax, eax
je 0x1031717
add eax, 0x24
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov eax, dword [0x1077fc8]
lea ecx, [eax + 0x1c]
push ecx
lea ecx, [eax + 0x20]
push ecx
lea ecx, [eax + 0x18]
push ecx
lea ecx, [eax + 0x14]
push ecx
lea ecx, [eax + 0x28]
push ecx
add eax, 0x24
push eax
call fcn.0106e035
test eax, eax
je 0x1031717
mov eax, dword [0x1075004]
cmp eax, 0x1075004
je 0x103171c
test byte [eax + 0x1c], 4
je 0x103171c
cmp byte [eax + 0x19], 2
jb 0x103171c
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x10022b4
push 0xbe
jmp 0x10314ee
push esi
call fcn.0102eeac
mov dword [ebp - 0x210], eax
mov eax, dword [0x1077fc8]
test eax, eax
je 0x1031717
add eax, 0x28
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov eax, dword [0x1077fc8]
lea ecx, [eax + 0x1c]
push ecx
lea ecx, [eax + 0x20]
push ecx
lea ecx, [eax + 0x18]
push ecx
lea ecx, [eax + 0x14]
push ecx
lea ecx, [eax + 0x28]
push ecx
add eax, 0x24
push eax
call fcn.0106e035
test eax, eax
je 0x1031717
mov eax, dword [0x1075004]
cmp eax, 0x1075004
je 0x103171c
test byte [eax + 0x1c], 4
je 0x103171c
cmp byte [eax + 0x19], 2
jb 0x103171c
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x10022b4
push 0xbf
jmp 0x10314ee
mov eax, dword [0x1077fc8]
and dword [ebp - 0x210], 0
test eax, eax
je 0x1031717
add eax, 0x24
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov eax, dword [0x1077fc8]
lea ecx, [eax + 0x1c]
push ecx
lea ecx, [eax + 0x20]
push ecx
lea ecx, [eax + 0x18]
push ecx
lea ecx, [eax + 0x14]
push ecx
lea ecx, [eax + 0x28]
push ecx
add eax, 0x24
push eax
call fcn.0106e035
test eax, eax
je 0x1031717
mov eax, dword [0x1075004]
cmp eax, 0x1075004
je 0x103171c
test byte [eax + 0x1c], 4
je 0x103171c
cmp byte [eax + 0x19], 2
jb 0x103171c
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x10022b4
push 0xc0
jmp 0x10314ee
push esi
call fcn.0102eeac
mov dword [ebp - 0x210], eax
mov eax, dword [0x1077fc8]
test eax, eax
je 0x1031717
add eax, 0x28
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov eax, dword [0x1077fc8]
lea ecx, [eax + 0x1c]
push ecx
lea ecx, [eax + 0x20]
push ecx
lea ecx, [eax + 0x18]
push ecx
lea ecx, [eax + 0x14]
push ecx
lea ecx, [eax + 0x28]
push ecx
add eax, 0x24
push eax
call fcn.0106e035
test eax, eax
je 0x1031717
mov eax, dword [0x1075004]
cmp eax, 0x1075004
je 0x103171c
test byte [eax + 0x1c], 4
je 0x103171c
cmp byte [eax + 0x19], 2
jb 0x103171c
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x10022b4
push 0xc1
jmp 0x10314ee
cmp eax, 0xc
je 0x1031710
cmp eax, 0xd
jne 0x1031717
and dword [ebp - 0x210], 0
mov eax, dword [0x1075004]
cmp dword [ebx + 0x30], 0
je 0x10317ac
mov edi, 0x1075004
cmp eax, edi
je 0x1031753
test byte [eax + 0x1c], 4
je 0x1031753
cmp byte [eax + 0x19], 5
jb 0x1031753
push dword [esi + 0x18]
push 0x10022b4
push 0xc2
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0102ca9d
push 0x200
mov ecx, esi
call fcn.010370ab
push esi
call fcn.01037cc9
test eax, eax
jne 0x1031799
mov eax, dword [0x1075004]
cmp eax, edi
je 0x1031799
test byte [eax + 0x1c], 4
je 0x1031799
cmp byte [eax + 0x19], 2
jb 0x1031799
push dword [esi + 0x5e8]
push 0x10022b4
push 0xc3
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0102ca9d
mov eax, dword [esi + 0x15c]
inc dword [eax + 0xe4]
and dword [ebp - 0x210], 0
mov eax, dword [ebx + 0x454]
mov dword [esi + 0x590], eax
mov eax, dword [esi + 0x20]
add eax, 0x490
push eax
push 0x100
lea edi, [esi + 0x390]
push edi
call fcn.01009a5d
cmp dword [ebp - 0x210], 0
jne 0x103187c
cmp dword [ebx + 0x30], 0
jne 0x1031843
cmp dword [esi + 0x590], 0
jne 0x10317fd
xor eax, eax
mov dword [esi + 0x590], 0xc
mov word [edi], ax
push esi
call fcn.0102e901
test eax, eax
jne 0x1031843
mov eax, dword [0x1075004]
cmp eax, 0x1075004
je 0x1031843
test byte [eax + 0x1c], 4
je 0x1031843
cmp byte [eax + 0x19], 2
jb 0x1031843
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push dword [esi + 0x18]
mov eax, dword [0x1075004]
push 0x10022b4
push 0xc4
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010148b3
push 1
push esi
call fcn.01035ccd
mov eax, dword [esi + 0x20]
mov ecx, dword [eax + 0x18]
mov dword [esi + 0x380], ecx
mov ecx, dword [eax + 0x1c]
mov dword [esi + 0x384], ecx
mov ecx, dword [eax + 0x20]
mov dword [esi + 0x388], ecx
mov eax, dword [eax + 0x24]
mov dword [esi + 0x38c], eax
mov edi, 0x10022b4
jmp 0x1031918
mov eax, dword [0x1075004]
cmp eax, 0x1075004
je 0x10318b5
test byte [eax + 0x1c], 4
je 0x10318b5
cmp byte [eax + 0x19], 5
jb 0x10318b5
push dword [esi + 0x160]
mov edi, 0x10022b4
push dword [esi + 0x18]
push edi
push 0xc5
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010148b3
jmp 0x10318ba
mov edi, 0x10022b4
push 0x40
mov ecx, esi
call fcn.010370ab
cmp dword [ebp - 0x214], 1
jne 0x10318d4
push esi
call fcn.01037ac6
jmp 0x1031918
push 1
push esi
call fcn.01037421
test eax, eax
jne 0x1031918
mov eax, dword [0x1075004]
cmp eax, 0x1075004
je 0x1031918
test byte [eax + 0x1c], 4
je 0x1031918
cmp byte [eax + 0x19], 2
jb 0x1031918
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push dword [esi + 0x34]
mov eax, dword [0x1075004]
push edi
push 0xc6
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0100a6e9
push dword [ebp - 0x210]
push esi
call fcn.0104a264
cmp dword [ebp - 0x210], 0
jne 0x103199f
push 0x1077eb8
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [0x1077ee8], 0xffffffff
jne 0x1031961
mov eax, dword [0x1075004]
cmp eax, 0x1075004
je 0x1031994
test byte [eax + 0x1c], 4
je 0x1031994
cmp byte [eax + 0x19], 2
jb 0x1031994
push edi
push 0xc7
jmp 0x1031989
push esi
call fcn.0102c8ae
test eax, eax
jne 0x1031994
mov eax, dword [0x1075004]
cmp eax, 0x1075004
je 0x1031994
test byte [eax + 0x1c], 4
je 0x1031994
cmp byte [eax + 0x19], 2
jb 0x1031994
push edi
push 0xc8
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010090c5
push 0x1077eb8
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push esi
push 2
call fcn.0104de61
test eax, eax
je 0x10319da
mov ecx, dword [0x1075004]
cmp ecx, 0x1075004
je 0x10319da
test byte [ecx + 0x1c], 4
je 0x10319da
cmp byte [ecx + 0x19], 2
jb 0x10319da
push eax
push dword [esi + 8]
push edi
push 0xc9
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.01014881
mov eax, dword [ebx + 8]
push 1
push 0xffffffffffffffff
push 1
mov dword [eax + 0x2c], 0x20100000
push dword [ebx + 8]
call fcn.0102f16c
push 1
push ebx
call fcn.0102dced
test eax, eax
jne 0x1031a33
mov eax, dword [0x1075004]
cmp eax, 0x1075004
je 0x1031a33
test byte [eax + 0x1c], 4
je 0x1031a33
cmp byte [eax + 0x19], 2
jb 0x1031a33
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov eax, dword [0x1075004]
push edi
push 0xca
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0102ca9d
and dword [esi + 0x20], 0
cmp dword [esi + 0x5e8], 0x200
jne 0x1031b13
and dword [ebp - 0x214], 0
cmp dword [esi + 0x1c], 2
mov ebx, dword [esi + 0x18]
jne 0x1031a5f
mov eax, dword [esi + 0x15c]
jmp 0x1031a61
mov eax, esi
lea ecx, [ebp - 0x214]
push ecx
push dword [eax + 0xf8]
call fcn.0105fb16
mov edi, eax
test edi, edi
je 0x1031aa7
mov eax, dword [0x1075004]
cmp eax, 0x1075004
je 0x1031aa7
test byte [eax + 0x1c], 4
je 0x1031aa7
cmp byte [eax + 0x19], 2
jb 0x1031aa7
push edi
push 0x10022b4
push 0xcb
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0102ca9d
push 0
push 1
push 1
push esi
call fcn.0103aac8
test edi, edi
jne 0x1031b13
push dword [ebp - 0x214]
push ebx
push 0x17
push edi
call fcn.0104e6b1
test eax, eax
jne 0x1031b08
mov eax, dword [0x1075004]
cmp eax, 0x1075004
je 0x1031b08
test byte [eax + 0x1c], 4
je 0x1031b08
cmp byte [eax + 0x19], 2
jb 0x1031b08
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push dword [esi + 0x18]
mov eax, dword [0x1075004]
push 0x17
push 0x10022b4
push 0xcc
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0102d196
push dword [ebp - 0x214]
call fcn.0105c5dc
push dword [0x1077f4c]
call dword [sym.imp.KERNEL32.dll_SetEvent]
test eax, eax
jne 0x1031b66
mov eax, dword [0x1075004]
cmp eax, 0x1075004
je 0x1031b5c
test byte [eax + 0x1c], 4
je 0x1031b5c
cmp byte [eax + 0x19], 2
jb 0x1031b5c
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov eax, dword [0x1075004]
push 0x10022b4
push 0xcd
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0102ca9d
mov dword [0x1077f48], 1
mov ebx, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov edi, 0x1077f58
push edi
call ebx
push 0x1077f18
call ebx
cmp dword [ebp - 0x210], 0
jne 0x1031be9
lea eax, [ebp - 0x20c]
push eax
push esi
push 0
call fcn.0102f027
test eax, eax
jne 0x1031bd3
mov eax, dword [0x1075004]
cmp eax, 0x1075004
je 0x1031bd3
test byte [eax + 0x1c], 4
je 0x1031bd3
cmp byte [eax + 0x19], 2
jb 0x1031bd3
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push dword [esi + 0x18]
mov eax, dword [0x1075004]
push 0x10022b4
push 0xce
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010148b3
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push 1
push 1
push 1
push esi
call fcn.0103aac8
push edi
call ebx
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x1031c82
mov eax, dword [0x1075004]
mov esi, 0x1075004
cmp eax, esi
je 0x1031c34
test byte [eax + 0x1c], 4
je 0x1031c34
cmp byte [eax + 0x19], 5
jb 0x1031c34
lea ecx, [ebp - 0x20c]
push ecx
push 0x10022b4
push 0xcf
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010091b8
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x1031c82
mov eax, dword [0x1075004]
cmp eax, esi
je 0x1031c82
test byte [eax + 0x1c], 4
je 0x1031c82
cmp byte [eax + 0x19], 5
jb 0x1031c82
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x20c]
push eax
mov eax, dword [0x1075004]
push 0x10022b4
push 0xd0
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0100a6e9
mov ecx, dword [ebp - 4]
pop edi
xor eax, eax
pop esi
xor ecx, ebp
inc eax
pop ebx
call fcn.0105bb63
leave
ret 4