Function at 0x408320
Capabilities:
Delete file

Disassembly:
push 0xffffffffffffffff
push 0x45b5b7
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov dword [esp + 0x10], esi
mov eax, dword [esi]
xor ebx, ebx
cmp eax, ebx
mov dword [esp + 0x1c], 2
mov dword [esi + 0x2074], ebx
je 0x408364
push eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
push ebx
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [esi + 0x5f70]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, esi
call fcn.004125d0
mov ecx, dword [esi + 0x5f88]
push esi
call fcn.00422de0
mov eax, dword [esi + 0x579c]
mov ebp, dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp eax, ebx
je 0x4083a9
call dword [sym.imp.ADVAPI32.dll_RevertToSelf]
mov eax, dword [esi + 0x579c]
push eax
call ebp
mov dword [esi + 0x579c], ebx
mov ecx, esi
call fcn.0041ceb0
mov eax, dword [esi + 0x4e00]
cmp eax, ebx
je 0x4083ca
push eax
call ebp
push ebx
mov dword [esi + 0x4e00], ebx
call dword [sym.imp.KERNEL32.dll_Sleep]
lea edi, [esi + 0x4f08]
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
je 0x4083e2
push edi
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push ebx
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, dword [esi + 0x5798]
cmp eax, ebx
je 0x4083fc
push eax
call ebp
mov dword [esi + 0x5798], ebx
mov ecx, esi
call fcn.00411a20
mov eax, dword [esi + 0x2078]
cmp eax, ebx
je 0x408416
push eax
call ebp
mov dword [esi + 0x2078], ebx
mov eax, dword [esi + 0x207c]
cmp eax, ebx
je 0x408429
push eax
call ebp
mov dword [esi + 0x207c], ebx
mov ecx, dword [esi + 0x5f8c]
cmp ecx, ebx
je 0x40845e
call fcn.00448b90
cmp eax, 0xffffffff
je 0x408448
mov ecx, dword [esi + 0x5f8c]
call fcn.00448c80
mov ecx, dword [esi + 0x5f8c]
cmp ecx, ebx
je 0x40845e
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x5f8c], ebx
mov ecx, dword [esi + 0x5f90]
cmp ecx, ebx
je 0x408493
call fcn.00448b90
cmp eax, 0xffffffff
je 0x40847d
mov ecx, dword [esi + 0x5f90]
call fcn.00448c80
mov ecx, dword [esi + 0x5f90]
cmp ecx, ebx
je 0x408493
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x5f90], ebx
cmp dword [esi + 0x61a0], ebx
je 0x4084bd
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
push ebx
call edi
push ebx
call edi
mov ecx, dword [esi + 0x61a0]
cmp ecx, ebx
je 0x4084c3
mov edx, dword [ecx]
push 1
call dword [edx + 0xb4]
jmp 0x4084c3
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, esi
call fcn.00410930
push ebx
call edi
mov ecx, esi
call fcn.0041cb80
mov eax, dword [esi]
cmp eax, ebx
je 0x4084df
push eax
call ebp
mov dword [esi], ebx
lea edi, [esi + 0x5f70]
push edi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push edi
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov ebp, dword [esi + 0x575c]
mov edi, dword [ebp]
cmp edi, ebp
je 0x40852d
mov eax, edi
mov edi, dword [edi]
push eax
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov dword [ecx], edx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
call fcn.00451f5e
mov ecx, dword [esi + 0x5760]
add esp, 4
dec ecx
cmp edi, ebp
mov dword [esi + 0x5760], ecx
jne 0x408500
mov eax, dword [esi + 0x575c]
push eax
call fcn.00451f5e
add esp, 4
lea ecx, [esi + 0x1618]
mov dword [esi + 0x575c], ebx
mov dword [esi + 0x5760], ebx
mov byte [esp + 0x1c], bl
call fcn.0040ae40
lea ecx, [esi + 4]
mov dword [esp + 0x1c], 0xffffffff
call fcn.0040bbb0
mov ecx, dword [esp + 0x14]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x10
ret