Function at 0x1038500
Capabilities:
Delete file

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov eax, dword [0x1075004]
mov ebx, 0x1075004
mov edi, 0x1002380
cmp eax, ebx
je 0x1038564
test byte [eax + 0x1c], 4
je 0x103853d
cmp byte [eax + 0x19], 5
jb 0x103853d
push edi
push 0x108
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010090c5
mov eax, dword [0x1075004]
cmp eax, ebx
je 0x1038564
test byte [eax + 0x1c], 4
je 0x1038564
cmp byte [eax + 0x19], 5
jb 0x1038564
mov ecx, dword [ebp + 8]
push dword [ecx + 0x18]
push edi
push 0x109
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0102ca9d
push 0x1077f58
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push dword [ebp + 8]
call fcn.010353a9
mov esi, eax
test esi, esi
je 0x103888a
mov ecx, dword [esi + 0x24]
test ecx, ecx
jne 0x1038860
mov eax, dword [0x1075004]
cmp eax, ebx
je 0x10385b5
test byte [eax + 0x1c], 4
je 0x10385b5
cmp byte [eax + 0x19], 5
jb 0x10385b5
push dword [esi + 0x18]
push edi
push 0x10a
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0102ca9d
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 0x103860d
mov eax, dword [0x1075004]
cmp eax, 0x1075004
je 0x1038612
test byte [eax + 0x1c], 4
je 0x1038612
cmp byte [eax + 0x19], 2
jb 0x1038612
call ebx
push eax
mov eax, dword [0x1075004]
push edi
push 0x10b
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0102ca9d
mov eax, dword [0x1075004]
cmp dword [ebp + 0x10], 0
je 0x1038657
call fcn.01036a95
test eax, eax
jne 0x1038652
mov eax, dword [0x1075004]
cmp eax, 0x1075004
je 0x1038657
test byte [eax + 0x1c], 4
je 0x1038657
cmp byte [eax + 0x19], 2
jb 0x1038657
call ebx
push eax
mov eax, dword [0x1075004]
push edi
push 0x10c
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0102ca9d
mov eax, dword [0x1075004]
mov ecx, dword [esi + 0x2c]
test ecx, ecx
je 0x10386cf
cmp eax, 0x1075004
je 0x1038686
test byte [eax + 0x1c], 4
je 0x1038686
cmp byte [eax + 0x19], 5
jb 0x1038686
push ecx
push dword [esi + 0x18]
push edi
push 0x10d
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01044210
push dword [esi + 0x2c]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x10386ca
mov eax, dword [0x1075004]
cmp eax, 0x1075004
je 0x10386cf
test byte [eax + 0x1c], 4
je 0x10386cf
cmp byte [eax + 0x19], 5
jb 0x10386cf
call ebx
push eax
push dword [esi + 0x2c]
mov eax, dword [0x1075004]
push dword [esi + 0x18]
push edi
push 0x10e
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01044197
mov eax, dword [0x1075004]
mov ecx, dword [esi + 0x164]
test ecx, ecx
je 0x1038750
cmp eax, 0x1075004
je 0x1038701
test byte [eax + 0x1c], 4
je 0x1038701
cmp byte [eax + 0x19], 5
jb 0x1038701
push ecx
push dword [esi + 0x18]
push edi
push 0x10f
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01044210
push dword [esi + 0x164]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x103874b
mov eax, dword [0x1075004]
cmp eax, 0x1075004
je 0x1038750
test byte [eax + 0x1c], 4
je 0x1038750
cmp byte [eax + 0x19], 5
jb 0x1038750
call ebx
push eax
push dword [esi + 0x164]
mov eax, dword [0x1075004]
push dword [esi + 0x18]
push edi
push 0x110
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01044197
mov eax, dword [0x1075004]
mov ecx, dword [esi + 0x34]
test ecx, ecx
je 0x10387c3
cmp eax, 0x1075004
je 0x103877f
test byte [eax + 0x1c], 4
je 0x103877f
cmp byte [eax + 0x19], 5
jb 0x103877f
push ecx
push dword [esi + 0x18]
push edi
push 0x111
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01044210
push dword [esi + 0x34]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x10387c3
mov eax, dword [0x1075004]
cmp eax, 0x1075004
je 0x10387c3
test byte [eax + 0x1c], 4
je 0x10387c3
cmp byte [eax + 0x19], 5
jb 0x10387c3
call ebx
push eax
push dword [esi + 0x34]
mov eax, dword [0x1075004]
push dword [esi + 0x18]
push edi
push 0x112
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01044197
push 0x1077f54
call fcn.01034483
push esi
push dword [esi + 0x15c]
call fcn.01036ffd
test eax, eax
jne 0x1038812
mov eax, dword [0x1075004]
cmp eax, 0x1075004
je 0x1038812
test byte [eax + 0x1c], 4
je 0x1038812
cmp byte [eax + 0x19], 2
jb 0x1038812
push dword [esi + 0x18]
mov ecx, dword [esi + 0x15c]
push dword [ecx + 0x18]
push edi
push 0x113
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010148b3
cmp dword [ebp + 0xc], 1
jne 0x1038856
mov ebx, dword [ebp + 8]
push ebx
push 1
call fcn.0104de61
test eax, eax
je 0x1038856
mov ecx, dword [0x1075004]
cmp ecx, 0x1075004
je 0x1038856
test byte [ecx + 0x1c], 4
je 0x1038856
cmp byte [ecx + 0x19], 2
jb 0x1038856
push eax
push dword [ebx + 8]
push edi
push 0x114
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.01014881
push 1
push esi
call fcn.0103815b
jmp 0x103888a
mov eax, dword [0x1075004]
cmp eax, ebx
je 0x103888a
test byte [eax + 0x1c], 4
je 0x103888a
cmp byte [eax + 0x19], 2
jb 0x103888a
push ecx
push dword [esi + 0x18]
push edi
push 0x115
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010148b3
push 0x1077f58
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
pop edi
xor eax, eax
pop esi
inc eax
pop ebx
pop ebp
ret 0xc