Function at 0x41db20
Capabilities:
Delete directory
Delete file

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x449446
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x224
push ebx
push ebp
push esi
push edi
mov ebp, ecx
mov dword [esp + 0x18], ebp
call fcn.0044608e
mov ebx, dword [eax + 4]
mov eax, dword [ebp + 0x8c]
push 0
push 0
push 0x1004
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov edi, eax
xor esi, esi
test edi, edi
jle 0x41db8e
add ebp, 0x70
push esi
mov ecx, ebp
call fcn.0043baea
test eax, eax
je 0x41db89
push eax
call fcn.0043cc88
add esp, 4
inc esi
cmp esi, edi
jl 0x41db74
call fcn.00404100
mov esi, eax
mov eax, dword [0x466968]
mov edi, 1
cmp eax, edi
jne 0x41dbc8
cmp esi, 5
je 0x41dbbd
cmp esi, 6
je 0x41dbbd
cmp esi, 0xa
je 0x41dbbd
push 0
push 2
call fcn.004052d0
jmp 0x41dbc5
push 0
push edi
call fcn.00404430
add esp, 8
cmp esi, 5
je 0x41dbd7
cmp esi, 6
je 0x41dbd7
cmp esi, 0xa
jne 0x41dbe4
cmp dword [ebx + 0x1f4], edi
jne 0x41dbe4
call fcn.00409b30
xor eax, eax
mov ecx, 0x41
lea edi, [esp + 0x128]
rep stosd dword es:[edi], eax
mov ecx, 0x41
lea edi, [esp + 0x20]
rep stosd dword es:[edi], eax
mov eax, dword [ebx + 0x140]
push eax
lea ecx, [esp + 0x24]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov edx, dword [0x466df8]
mov eax, dword [ebx + 0x140]
push edx
push eax
lea eax, [esp + 0x130]
push 0x44bbe8
push eax
call fcn.0042f6e9
add esp, 0x10
lea ecx, [esp + 0x128]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
mov ebp, dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
lea edx, [esp + 0x20]
push edx
call ebp
call esi
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x18]
call fcn.00402470
mov ecx, dword [esp + 0x14]
push 0x5c
push ecx
mov dword [esp + 0x244], 0
call fcn.0042dfa2
add esp, 8
test eax, eax
jne 0x41dc8a
or eax, 0xffffffff
jmp 0x41dc8e
sub eax, dword [esp + 0x14]
push eax
lea edx, [esp + 0x20]
push edx
lea ecx, [esp + 0x1c]
call fcn.00403670
mov ecx, dword [eax]
mov esi, dword [esp + 0x14]
lea eax, [ecx - 0x10]
add esi, 0xfffffff0
cmp eax, esi
mov byte [esp + 0x23c], 1
je 0x41dcfb
mov edx, dword [esi + 0xc]
test edx, edx
lea edi, [esi + 0xc]
jl 0x41dced
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x41dced
push eax
call fcn.004014e0
mov ebx, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
test eax, eax
jg 0x41dce4
mov ecx, dword [esi]
mov edx, dword [ecx]
push esi
call dword [edx + 4]
add ebx, 0x10
mov dword [esp + 0x14], ebx
jmp 0x41dcfb
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [esp + 0x1c]
call fcn.00401a70
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
mov byte [esp + 0x23c], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41dd21
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esp + 0x14]
push eax
call ebp
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x108], 1
jne 0x41dd40
lea ecx, [eax + 0x100]
call fcn.0043bc92
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x23c], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41dd69
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov ecx, dword [esp + 0x234]
pop edi
mov eax, 1
mov dword fs:[0], ecx
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret