Function at 0x4326a0
Capabilities:
Delete directory

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4ca1f1
mov eax, dword fs:[0]
push eax
sub esp, 0x138
mov eax, dword [0x512f80]
xor eax, esp
mov dword [esp + 0x130], eax
push ebx
push esi
push edi
mov eax, dword [0x512f80]
xor eax, esp
push eax
lea eax, [esp + 0x148]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0x18], 0x10
jb 0x4326ee
mov eax, dword [eax + 4]
jmp 0x4326f1
add eax, 4
lea esi, [esp + 0x34]
call fcn.00431e20
xor ebx, ebx
mov edi, 0xf
mov eax, esi
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], ebx
mov byte [esp + 0x1c], bl
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x432712
sub eax, edx
push eax
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x20]
call fcn.0040e480
mov dword [esp + 0x150], ebx
lea eax, [esp + 0x18]
call fcn.00431e40
or esi, 0xffffffff
mov byte [esp + 0x17], al
mov dword [esp + 0x150], esi
cmp dword [esp + 0x30], 0x10
jb 0x43275e
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.004606bf
add esp, 4
cmp byte [esp + 0x17], bl
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], ebx
mov byte [esp + 0x1c], bl
je 0x4327e7
lea edx, [esp + 0x34]
push 2
push edx
call fcn.00484aa9
add esp, 8
test eax, eax
je 0x43279d
lea eax, [esp + 0x34]
push 0x180
push eax
call fcn.00485418
add esp, 8
test eax, eax
jne 0x43292f
lea ecx, [esp + 0x34]
push ecx
call fcn.00487665
add esp, 4
test eax, eax
je 0x4328e9
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push ecx
push str._error
push ecx
lea edx, [esp + 0x44]
push edx
push ecx
push str.Cannot_delete_file
push 0x520490
call fcn.00408b80
add esp, 0xc
push eax
call fcn.00408b80
add esp, 0xc
push eax
jmp 0x43290e
lea eax, [esp + 0x34]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], ebx
mov byte [esp + 0x1c], bl
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x432800
sub eax, edx
push eax
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x20]
call fcn.0040e480
mov dword [esp + 0x150], 1
lea ecx, [esp + 0x18]
call fcn.00432330
mov byte [esp + 0x17], al
mov dword [esp + 0x150], esi
cmp dword [esp + 0x30], 0x10
jb 0x43284d
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.004606bf
add esp, 4
cmp byte [esp + 0x17], bl
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], ebx
mov byte [esp + 0x1c], bl
je 0x43292f
lea eax, [esp + 0x34]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], ebx
mov byte [esp + 0x1c], bl
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x432876
sub eax, edx
push eax
lea edx, [esp + 0x38]
push edx
lea ecx, [esp + 0x20]
call fcn.0040e480
mov dword [esp + 0x150], 2
lea eax, [esp + 0x18]
push eax
call fcn.00432aa0
add esp, 4
test al, al
sete byte [esp + 0x17]
mov dword [esp + 0x150], esi
cmp dword [esp + 0x30], 0x10
jb 0x4328ca
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.004606bf
add esp, 4
cmp byte [esp + 0x17], bl
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], ebx
mov byte [esp + 0x1c], bl
je 0x4328ed
lea edx, [esp + 0x34]
push edx
call fcn.00433430
add esp, 4
mov al, 1
jmp 0x432931
lea eax, [esp + 0x34]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
test eax, eax
jne 0x4328e9
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push ecx
push str.Cannot_Remove_Directory__Error_is
push 0x520490
call fcn.00408b80
add esp, 0xc
mov ecx, eax
call fcn.00421520
mov esi, eax
push 0xa
mov ecx, esi
call fcn.0041bec0
mov ecx, esi
call fcn.0040ca40
xor al, al
mov ecx, dword [esp + 0x148]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x130]
xor ecx, esp
call fcn.0048162f
mov esp, ebp
pop ebp
ret