Function at 0x41c3f3
Capabilities:
Delete file

Disassembly:
mov eax, 0x510b35
call fcn.00508264
sub esp, 0x40
push ebx
push esi
push edi
xor ebx, ebx
push ebx
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x18], 0xf
call fcn.00401979
mov dword [ebp - 4], ebx
cmp dword [ebp + 0xc], ebx
jne 0x41c650
push 0x53a534
call fcn.00413df9
mov edi, dword [ebp + 8]
pop ecx
mov ecx, dword [edi + 0x1694]
lea eax, [ebp - 0x4c]
push eax
call fcn.0042d0ac
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 1
call fcn.00401729
push ebx
push 1
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], bl
call fcn.004017de
mov eax, dword [edi + 0x1694]
mov esi, 0xb0
add eax, esi
cmp dword [eax + 0x18], 0x10
jb 0x41c474
mov eax, dword [eax + 4]
jmp 0x41c477
add eax, 4
cmp dword [ebp - 0x18], 0x10
mov ecx, dword [ebp - 0x2c]
jae 0x41c483
lea ecx, [ebp - 0x2c]
push eax
push ecx
push 0x53a550
call fcn.00413df9
mov eax, dword [edi + 0x1694]
add esp, 0xc
cmp dword [eax + 0xc4], ebx
je 0x41c502
add eax, 0xb0
lea ecx, [ebp - 0x30]
call fcn.0040713e
test eax, eax
je 0x41c502
mov eax, dword [edi + 0x1694]
add eax, esi
cmp dword [eax + 0x18], 0x10
jb 0x41c4c4
mov eax, dword [eax + 4]
jmp 0x41c4c7
add eax, 4
push eax
push 0x53a56c
call fcn.00413df9
pop ecx
pop ecx
mov esi, edi
call fcn.0041ca95
test al, al
je 0x41c502
mov eax, dword [edi + 0xf4]
cmp eax, ebx
je 0x41c4fc
push ebx
push dword [edi + 0xf8]
push 0xe41e
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push ebx
jmp 0x41c889
lea ebx, [edi + 0x1768]
call fcn.00425c69
mov eax, dword [edi + 0x1694]
push 1
call fcn.0042cb61
test al, al
je 0x41c556
lea esi, [edi + 0x1640]
push esi
mov dword [ebp - 0x10], esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea eax, [edi + 0x610]
push eax
mov dword [edi + 0x630], 2
mov dword [ebp - 0x14], eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov ebx, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push esi
call ebx
jmp 0x41c62d
push 0x53a584
call fcn.00413df9
pop ecx
push dword [edi + 0x1694]
call fcn.0042cced
xor eax, eax
push eax
mov eax, dword [edi + 0x1694]
add eax, 8
lea ecx, [ebp - 0x4c]
call fcn.004221c4
pop ecx
mov byte [ebp - 4], 2
cmp dword [eax + 0x18], 0x10
jb 0x41c590
mov eax, dword [eax + 4]
jmp 0x41c593
add eax, 4
push eax
push 0x53a59c
call fcn.00413df9
pop ecx
pop ecx
push 0
push 1
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0
call fcn.004017de
lea esi, [edi + 0x1640]
push esi
mov dword [ebp - 0x10], esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [edi + 0x1694]
add eax, 8
cmp dword [eax + 0x18], 8
jb 0x41c5d4
mov eax, dword [eax + 4]
jmp 0x41c5d7
add eax, 4
push 0xff
push eax
lea eax, [edi + 0x100]
push eax
call fcn.004a0285
lea eax, [edi + 0x610]
add esp, 0xc
push eax
mov dword [edi + 0x630], 2
mov dword [ebp - 0x14], eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov ebx, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push esi
call ebx
mov eax, dword [edi + 0xf4]
test eax, eax
je 0x41c62d
push 0
push dword [edi + 0xf8]
push 0xe421
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov esi, dword [edi + 0x1694]
test esi, esi
je 0x41c644
push esi
call fcn.0042b362
push esi
call fcn.0049a490
pop ecx
and dword [edi + 0x1694], 0
jmp 0x41c6e8
push 0x53a5ac
call fcn.00413df9
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x1694]
pop ecx
cmp eax, ebx
je 0x41c68b
push ebx
call fcn.0042cb61
mov edi, dword [esi + 0x1694]
cmp edi, ebx
je 0x41c685
push edi
call fcn.0042b362
push edi
call fcn.0049a490
pop ecx
mov dword [esi + 0x1694], ebx
test dword [esi + 0x1690], 0xfffffff8
je 0x41c6b2
lea eax, [esi + 0x1674]
cmp dword [eax + 0x18], 8
jb 0x41c6a8
mov eax, dword [eax + 4]
jmp 0x41c6ab
add eax, 4
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea edi, [esi + 0x1640]
push edi
mov dword [ebp - 0x10], edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [esi + 0x630], 4
add esi, 0x610
push esi
mov dword [ebp - 0x14], esi
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov ebx, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push edi
call ebx
mov edi, dword [ebp + 8]
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea esi, [edi + 0x600]
cmp word [esi], 0
jne 0x41c722
push dword [ebp - 0x10]
or dword [edi + 0x94], 0xffffffff
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push 0x10
push dword [ebp - 0x14]
push esi
call fcn.0049d7c0
add esp, 0xc
push dword [ebp - 0x10]
call ebx
jmp 0x41c74a
sub esp, 0x10
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x14]
sub esp, 0x10
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.00418117
mov ecx, dword [ebp + 8]
add esp, 0x20
mov dword [ecx + 0x94], eax
mov edi, ecx
cmp dword [ebp - 0x18], 0x10
mov eax, dword [ebp - 0x2c]
jae 0x41c756
lea eax, [ebp - 0x2c]
push 0xff
push eax
lea eax, [edi + 0x500]
push eax
call fcn.00507930
add esp, 0xc
push dword [ebp - 0x10]
call ebx
mov ebx, dword [ebp + 0xc]
xor esi, esi
test dword [edi + 0x1690], 0xfffffff8
mov dword [edi + 0x84], ebx
je 0x41c79e
mov eax, dword [edi + 0x186c]
cmp eax, esi
je 0x41c79e
push dword [edi + 0x188c]
push esi
push esi
call eax
add esp, 0xc
mov eax, dword [edi + 0xf4]
cmp eax, esi
je 0x41c7cf
cmp ebx, esi
jne 0x41c7cf
cmp dword [edi + 0x1690], 1
push esi
push dword [edi + 0xf8]
jne 0x41c7c3
push 0xe418
jmp 0x41c7c8
push 0xe417
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
lea eax, [edi + 0x10]
push eax
push edi
call fcn.0041d6f3
mov eax, dword [edi + 0xf4]
cmp eax, esi
je 0x41c806
cmp dword [edi + 0x1690], 1
push ebx
push dword [edi + 0xf8]
jne 0x41c7fa
push 0xe416
jmp 0x41c7ff
push 0xe415
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push edi
call fcn.0041cb16
mov eax, dword [edi + 0x1720]
push esi
push esi
push 0x12
push dword [eax]
call dword [sym.imp.USER32.dll_PostThreadMessageW]
push esi
push esi
push esi
lea eax, [ebp - 0x4c]
push eax
call dword [sym.imp.USER32.dll_GetMessageW]
cmp dword [ebp - 0x48], 0xe422
jne 0x41c842
mov eax, dword [ebp - 0x40]
push dword [eax]
mov dword [eax + 4], esi
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov eax, dword [edi + 0x1720]
push esi
push dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
je 0x41c81e
push str.ServerThread
call fcn.00413df9
pop ecx
cmp ebx, esi
jne 0x41c881
sub esp, 0x1c
lea eax, [ebp - 0x30]
mov ecx, esp
mov dword [ebp + 0xc], esp
push eax
call fcn.00403731
call fcn.0041db33
mov edi, dword [ebp + 8]
mov byte [edi + 0x1760], 1
push esi
push 1
lea ecx, [ebp - 0x30]
call fcn.004017de
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret 8