Function at 0x1038497
Capabilities:
Delete file

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
push edi
mov eax, dword [0x1075004]
mov edi, 0x1002380
cmp eax, 0x1075004
je 0x10384cf
test byte [eax + 0x1c], 4
je 0x10384cf
cmp byte [eax + 0x19], 5
jb 0x10384cf
push edi
push 0x118
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010090c5
mov ebx, 0x1077f58
push ebx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push dword [ebp + 8]
call fcn.01034f9c
mov esi, eax
test esi, esi
je 0x1038920
cmp dword [esi + 0x28], 0
jbe 0x1038501
push 4
mov ecx, esi
call fcn.01036c9e
jmp 0x1038920
mov ecx, dword [esi + 0x24]
mov edx, dword [esi + 0x18]
mov dword [ebp - 8], edx
test ecx, ecx
jne 0x10388f5
mov eax, dword [0x1075004]
cmp eax, 0x1075004
je 0x103853c
test byte [eax + 0x1c], 4
je 0x103853c
cmp byte [eax + 0x19], 5
jb 0x103853c
push edx
push edi
push 0x119
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0101463a
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov dword [ecx], eax
mov dword [eax + 4], ecx
and dword [esi], 0
and dword [esi + 4], 0
push dword [0x1077f50]
call dword [sym.imp.KERNEL32.dll_CancelWaitableTimer]
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1038594
mov eax, dword [0x1075004]
cmp eax, 0x1075004
je 0x1038594
test byte [eax + 0x1c], 4
je 0x1038594
cmp byte [eax + 0x19], 2
jb 0x1038594
call ebx
push eax
mov eax, dword [0x1075004]
push edi
push 0x11a
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0101463a
call fcn.01036688
test eax, eax
jne 0x10385ce
mov eax, dword [0x1075004]
cmp eax, 0x1075004
je 0x10385d3
test byte [eax + 0x1c], 4
je 0x10385d3
cmp byte [eax + 0x19], 2
jb 0x10385d3
call ebx
push eax
mov eax, dword [0x1075004]
push edi
push 0x11b
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0101463a
mov eax, dword [0x1075004]
mov ecx, dword [esi + 0x34]
test ecx, ecx
je 0x1038679
cmp dword [esi + 0x5e4], 1
jne 0x103864f
cmp eax, 0x1075004
je 0x103860c
test byte [eax + 0x1c], 4
je 0x103860c
cmp byte [eax + 0x19], 5
jb 0x103860c
push ecx
push edi
push 0x11c
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0100915e
push dword [esi + 0x34]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x1038674
mov eax, dword [0x1075004]
cmp eax, 0x1075004
je 0x1038679
test byte [eax + 0x1c], 4
je 0x1038679
cmp byte [eax + 0x19], 2
jb 0x1038679
call ebx
push eax
push dword [esi + 0x34]
mov eax, dword [0x1075004]
push edi
push 0x11d
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010091cb
jmp 0x1038674
cmp eax, 0x1075004
je 0x1038679
test byte [eax + 0x1c], 4
je 0x1038679
cmp byte [eax + 0x19], 3
jb 0x1038679
push ecx
push edi
push 0x11e
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0100915e
mov eax, dword [0x1075004]
cmp dword [esi + 0x1c], 8
jne 0x1038849
mov ecx, dword [esi + 0x2c]
test ecx, ecx
je 0x10386fa
mov ebx, 0x1075004
cmp eax, ebx
je 0x10386b1
test byte [eax + 0x1c], 4
je 0x10386b1
cmp byte [eax + 0x19], 5
jb 0x10386b1
push ecx
push edi
push 0x11f
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0100915e
push dword [esi + 0x2c]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x10386f3
mov eax, dword [0x1075004]
cmp eax, ebx
je 0x10386ff
test byte [eax + 0x1c], 4
je 0x10386ff
cmp byte [eax + 0x19], 2
jb 0x10386ff
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push dword [esi + 0x2c]
mov eax, dword [0x1075004]
push edi
push 0x120
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010091cb
mov eax, dword [0x1075004]
jmp 0x10386ff
mov ebx, 0x1075004
mov ecx, dword [esi + 0x164]
test ecx, ecx
je 0x103877e
cmp eax, ebx
je 0x103872e
test byte [eax + 0x1c], 4
je 0x103872e
cmp byte [eax + 0x19], 5
jb 0x103872e
push ecx
push dword [esi + 0x18]
push edi
push 0x121
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010090eb
push dword [esi + 0x164]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x1038779
mov eax, dword [0x1075004]
cmp eax, ebx
je 0x10387a4
test byte [eax + 0x1c], 4
je 0x103877e
cmp byte [eax + 0x19], 5
jb 0x103877e
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push dword [esi + 0x164]
mov eax, dword [0x1075004]
push dword [esi + 0x18]
push edi
push 0x122
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01043dbf
mov eax, dword [0x1075004]
cmp eax, ebx
je 0x10387a4
test byte [eax + 0x1c], 4
je 0x10387a4
cmp byte [eax + 0x19], 5
jb 0x10387a4
push edi
push 0x123
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010090c5
mov eax, dword [0x1075004]
mov ecx, dword [esi + 0x594]
test ecx, ecx
je 0x1038849
mov ecx, dword [ecx]
mov dword [ebp - 4], ecx
test ecx, ecx
je 0x1038849
jmp 0x103883a
mov ebx, dword [ebp - 4]
mov ecx, dword [ebx]
mov dword [ebp - 4], ecx
cmp eax, 0x1075004
je 0x10387f0
test byte [eax + 0x1c], 4
je 0x10387f0
cmp byte [eax + 0x19], 5
jb 0x10387f0
push dword [ebx + 8]
push edi
push 0x124
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0100915e
push dword [ebx + 8]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x1038835
mov eax, dword [0x1075004]
cmp eax, 0x1075004
je 0x103883a
test byte [eax + 0x1c], 4
je 0x103883a
cmp byte [eax + 0x19], 2
jb 0x103883a
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push dword [ebx + 8]
mov eax, dword [0x1075004]
push edi
push 0x125
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010091cb
mov eax, dword [0x1075004]
lea ecx, [esi + 0x594]
cmp dword [ebp - 4], ecx
jne 0x10387c1
cmp dword [ebp + 0xc], 0
je 0x10388dc
mov ebx, dword [ebp + 8]
push ebx
push 1
call fcn.0104d99d
test eax, eax
je 0x1038891
mov ecx, dword [0x1075004]
cmp ecx, 0x1075004
je 0x1038891
test byte [ecx + 0x1c], 4
je 0x1038891
cmp byte [ecx + 0x19], 2
jb 0x1038891
push eax
push dword [ebx + 8]
push edi
push 0x126
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.010146d9
push dword [esi + 0xf8]
push dword [ebp - 8]
push 0x17
push 0
call fcn.0104e1ed
test eax, eax
jne 0x10388dc
mov eax, dword [0x1075004]
cmp eax, 0x1075004
je 0x10388dc
test byte [eax + 0x1c], 4
je 0x10388dc
cmp byte [eax + 0x19], 2
jb 0x10388dc
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov eax, dword [0x1075004]
push edi
push 0x127
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0101463a
push 1
push esi
call fcn.01037e63
push 0x1077f54
call fcn.01034076
mov ebx, 0x1077f58
jmp 0x1038920
mov eax, dword [0x1075004]
cmp eax, 0x1075004
je 0x1038920
test byte [eax + 0x1c], 4
je 0x1038920
cmp byte [eax + 0x19], 2
jb 0x1038920
push ecx
push edx
push edi
push 0x128
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0100a693
push ebx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
pop edi
xor eax, eax
pop esi
inc eax
pop ebx
leave
ret 8