Function at 0x4027c0
Capabilities:
Delete directory

Disassembly:
push ebp
mov ebp, esp
push ecx
mov eax, dword [ebp + 8]
test eax, eax
je 0x402b5b
push esi
push eax
call fcn.004056c0
mov dword [ebp - 4], eax
mov eax, dword [0x4a7b6c]
add esp, 4
mov esi, dword [eax + 0x38c]
test esi, esi
je 0x402810
mov ecx, esi
call dword [sym.imp.MMFS2.dll_Ordinal_286]
push esi
call fcn.00467e16
mov eax, dword [0x4a7b6c]
add esp, 4
mov dword [eax + 0x38c], 0
mov eax, dword [0x4a7b6c]
add eax, 0x88
push eax
call fcn.00427a90
mov eax, dword [0x4a7b6c]
add eax, 0x94
push eax
call fcn.00427a90
mov eax, dword [0x4a7b6c]
add eax, 0xa8
push eax
call fcn.00427a90
mov eax, dword [0x4a7b6c]
add eax, 0xa4
push eax
call fcn.00427a90
mov eax, dword [0x4a7b6c]
sub eax, 0xffffff80
push eax
call fcn.00427a90
mov eax, dword [0x4a7b6c]
add eax, 0x8c
push eax
call fcn.00427a90
mov eax, dword [0x4a7b6c]
add eax, 0x90
push eax
call fcn.00427a90
mov eax, dword [0x4a7b6c]
add eax, 0xcc
push eax
call fcn.00427a90
mov eax, dword [0x4a7b6c]
add eax, 0xd0
push eax
call fcn.00427a90
mov eax, dword [0x4a7b6c]
add eax, 0xd4
push eax
call fcn.00427a90
mov eax, dword [0x4a7b6c]
add eax, 0x26c
push eax
call fcn.00427a90
mov eax, dword [0x4a7b6c]
add eax, 0x1f4
push eax
call fcn.00427a90
call fcn.0044a490
mov eax, dword [0x4a7b6c]
add eax, 0xc0
push eax
call fcn.00427a90
call fcn.0042ecc0
call fcn.0042ede0
call fcn.00438640
call fcn.00428ff0
call fcn.0041ec00
call fcn.0042d7d0
call fcn.00440910
mov eax, dword [0x4a7b6c]
add eax, 0x388
push eax
call fcn.00427a90
call fcn.0043b420
mov eax, dword [0x4a7b6c]
push 1
mov dword [eax + 0x1d0], 0
mov eax, dword [0x4a7b6c]
mov dword [eax + 0x1d4], 0
call fcn.00402cb0
mov eax, dword [ebp + 8]
mov esi, dword [sym.imp.USER32.dll_DestroyIcon]
mov ecx, dword [eax + 0xac]
add esp, 0x3c
test ecx, ecx
je 0x402964
push ecx
call esi
mov eax, dword [ebp + 8]
mov dword [eax + 0xac], 0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x1b8]
test eax, eax
je 0x40297e
push eax
call esi
mov eax, dword [ebp + 8]
mov dword [eax + 0x1b8], 0
mov eax, dword [0x4a7b6c]
add eax, 0xbc
push ebx
push eax
call fcn.00427a90
mov eax, dword [0x4a7b6c]
add eax, 0x37c
push eax
call fcn.00427a90
mov eax, dword [0x4a7b6c]
mov esi, dword [sym.imp.MMFS2.dll_Ordinal_419]
xor ebx, ebx
add esp, 8
cmp dword [eax + 0x1a8], ebx
sete bl
test ebx, ebx
jne 0x4029cf
mov ecx, dword [eax + 0x9c]
cmp ecx, 0xffffffff
je 0x4029cf
push ecx
call esi
mov eax, dword [0x4a7b6c]
mov dword [eax + 0x9c], 0xffffffff
mov eax, dword [0x4a7b6c]
mov eax, dword [eax + 0x9c]
cmp eax, 0xffffffff
je 0x4029fb
push eax
call esi
mov eax, dword [0x4a7b6c]
mov dword [eax + 0x9c], 0xffffffff
mov ecx, dword [ebp + 8]
push edi
lea ecx, [ecx + 0x168]
call dword [sym.imp.MMFS2.dll_Ordinal_570]
mov edi, eax
test edi, edi
je 0x402a9a
mov ecx, dword [ebp + 8]
test edi, edi
jle 0x402a74
cmp edi, dword [ecx + 0x178]
jge 0x402a74
mov esi, dword [ecx + 0x184]
mov eax, edi
add eax, eax
mov esi, dword [esi + eax*8 + 8]
test esi, esi
je 0x402a74
mov eax, dword [esi + 0x208]
test eax, eax
je 0x402a68
push eax
call fcn.004689cd
push dword [esi + 0x208]
call fcn.00467c86
add esp, 8
mov dword [esi + 0x208], 0
mov dword [esi + 0x214], 0
push esi
call fcn.00467e16
mov ecx, dword [ebp + 8]
add esp, 4
push edi
add ecx, 0x168
call dword [sym.imp.MMFS2.dll_Ordinal_688]
mov ecx, dword [ebp + 8]
lea ecx, [ecx + 0x168]
call dword [sym.imp.MMFS2.dll_Ordinal_570]
mov edi, eax
test edi, edi
jne 0x402a15
push dword [ebp + 8]
call fcn.00405640
mov eax, dword [0x4a7b6c]
add esp, 4
mov eax, dword [eax + 0x98]
pop edi
test eax, eax
je 0x402acf
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
mov eax, dword [0x4a7b6c]
add eax, 0x98
push eax
call fcn.00427a90
add esp, 4
test ebx, ebx
pop ebx
je 0x402ae2
cmp dword [0x4a7b80], 0
je 0x402ae2
call fcn.0044e0c0
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 4]
mov dword [0x4a7b6c], 0
cmp eax, ecx
je 0x402b02
push eax
call fcn.004056c0
mov ecx, dword [ebp + 8]
add esp, 4
add ecx, 0x168
call dword [sym.imp.MMFS2.dll_Ordinal_281]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x2d4]
test eax, eax
je 0x402b24
push eax
call fcn.00467c86
add esp, 4
mov esi, 0x2d8
lea esp, [esp]
mov eax, dword [ebp + 8]
mov eax, dword [esi + eax]
test eax, eax
je 0x402b43
push eax
call fcn.00467c86
add esp, 4
add esi, 4
cmp esi, 0x358
jl 0x402b30
lea eax, [ebp + 8]
push eax
call fcn.00427a90
add esp, 4
pop esi
mov esp, ebp
pop ebp
ret