Function at 0x429380
Capabilities:
Delete directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x46c172
mov eax, dword fs:[0]
push eax
sub esp, 0xf4
mov eax, dword [0x48b370]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov ebx, ecx
mov edi, edx
mov dword [ebp - 4], 0
lea eax, [ebp - 0x100]
push eax
call fcn.00402ec2
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x100]
push ecx
mov ecx, ebx
call fcn.0040632c
add esp, 4
push str.installer::delete_dir
lea ecx, [ebp - 0x30]
call fcn.0040258f
mov byte [ebp - 4], 2
push str.Installer.cpp
lea ecx, [ebp - 0x4c]
call fcn.0040258f
mov byte [ebp - 4], 3
lea edx, [ebp - 0x68]
push edx
lea ecx, [ebp - 0x100]
call fcn.00402f86
mov byte [ebp - 4], 4
push eax
lea eax, [ebp - 0x30]
push eax
push 0x158
lea ecx, [ebp - 0x4c]
push ecx
push 1
push ecx
call fcn.00439dc3
add esp, 4
push eax
call fcn.0043a160
mov byte [ebp - 4], 3
lea esi, [ebp - 0x68]
call fcn.004026c0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x4c]
call fcn.004025cc
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x30]
call fcn.004025cc
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xb0]
call fcn.00402f43
lea ecx, [ebp - 0xb0]
call fcn.004029cc
cmp byte [ebp + 0xc], 0
je 0x429638
lea edx, [ebp - 0x100]
push edx
call fcn.00402ec2
mov byte [ebp - 4], 5
lea eax, [ebp - 0x100]
push eax
mov ecx, edi
call fcn.0040632c
add esp, 4
push str.installer::delete_dir
lea ecx, [ebp - 0x4c]
call fcn.0040258f
mov byte [ebp - 4], 6
push str.Installer.cpp
lea ecx, [ebp - 0x30]
call fcn.0040258f
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x68]
push ecx
lea ecx, [ebp - 0x100]
call fcn.00402f86
mov byte [ebp - 4], 8
push eax
lea edx, [ebp - 0x4c]
push edx
push 0x15b
lea eax, [ebp - 0x30]
push eax
push 1
push ecx
call fcn.00439dc3
add esp, 4
push eax
call fcn.0043a160
mov byte [ebp - 4], 7
lea esi, [ebp - 0x68]
call fcn.004026c0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x30]
call fcn.004025cc
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x4c]
call fcn.004025cc
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xb0]
call fcn.00402f43
lea ecx, [ebp - 0xb0]
call fcn.004029cc
mov esi, 8
cmp dword [edi + 0x14], esi
jb 0x429538
mov edi, dword [edi]
cmp dword [ebx + 0x14], esi
jb 0x429541
mov eax, dword [ebx]
jmp 0x429543
mov eax, ebx
push edi
push eax
call dword [sym.imp.SHLWAPI.dll_StrStrIW]
test eax, eax
jne 0x42963d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
lea ecx, [ebp - 0x100]
push ecx
call fcn.00403575
mov byte [ebp - 4], 9
push esi
push ecx
push 0x4768dc
lea edx, [ebp - 0x100]
push edx
call fcn.0040667a
add esp, 0xc
push eax
call fcn.004027f8
push str.installer::delete_dir
lea ecx, [ebp - 0x4c]
call fcn.0040258f
mov byte [ebp - 4], 0xa
push str.Installer.cpp
lea ecx, [ebp - 0x30]
call fcn.0040258f
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x100]
call fcn.00403624
mov byte [ebp - 4], 0xc
push eax
lea ecx, [ebp - 0x4c]
push ecx
push 0x15d
push 2
call fcn.00439dc3
lea ecx, [ebp - 0x30]
mov ebx, eax
call fcn.00439e02
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x68]
call fcn.004025cc
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x30]
call fcn.004025cc
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x4c]
call fcn.004025cc
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xb0]
call fcn.004035e1
lea ecx, [ebp - 0xb0]
call fcn.00402925
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0044cdc7
mov esp, ebp
pop ebp
ret 8
mov esi, 8
push ebx
call fcn.0040d3a0
add esp, 4
test al, al
je 0x4297db
cmp dword [ebx + 0x14], esi
jb 0x429657
mov eax, dword [ebx]
jmp 0x429659
mov eax, ebx
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
jne 0x4297d4
lea edx, [ebp - 0x100]
push edx
call fcn.00402ec2
mov byte [ebp - 4], 0xd
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
call edi
push eax
lea eax, [ebp - 0x100]
push eax
call fcn.0042aa60
push str.installer::delete_dir
lea ecx, [ebp - 0x4c]
call fcn.0040258f
mov byte [ebp - 4], 0xe
push str.Installer.cpp
lea ecx, [ebp - 0x30]
call fcn.0040258f
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x68]
push ecx
lea ecx, [ebp - 0x100]
call fcn.00402f86
mov byte [ebp - 4], 0x10
push eax
lea edx, [ebp - 0x4c]
push edx
push 0x163
lea eax, [ebp - 0x30]
push eax
push 1
push ecx
call fcn.00439dc3
add esp, 4
push eax
call fcn.0043a160
mov byte [ebp - 4], 0xf
lea esi, [ebp - 0x68]
call fcn.004026c0
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x30]
call fcn.004025cc
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x4c]
call fcn.004025cc
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xb0]
call fcn.00402f43
lea ecx, [ebp - 0xb0]
call fcn.004029cc
cmp byte [ebp + 8], 0
je 0x429733
push 0
mov ecx, ebx
call fcn.00429a80
jmp 0x42961a
call edi
mov esi, eax
lea ecx, [ebp - 0x100]
push ecx
call fcn.00403575
mov byte [ebp - 4], 0x11
push esi
push ecx
push 0x4768dc
lea edx, [ebp - 0x100]
push edx
call fcn.0040667a
add esp, 0xc
push eax
call fcn.004027f8
push str.installer::delete_dir
lea ecx, [ebp - 0x4c]
call fcn.0040258f
mov byte [ebp - 4], 0x12
push str.Installer.cpp
lea ecx, [ebp - 0x30]
call fcn.0040258f
mov byte [ebp - 4], 0x13
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x100]
call fcn.00403624
mov byte [ebp - 4], 0x14
push eax
lea ecx, [ebp - 0x4c]
push ecx
push 0x166
push 2
call fcn.00439dc3
lea ecx, [ebp - 0x30]
mov ebx, eax
call fcn.00439e02
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x68]
call fcn.004025cc
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x30]
call fcn.004025cc
mov byte [ebp - 4], 0x11
jmp 0x4295f3
mov dword [ebp - 4], 0xffffffff
xor eax, eax
jmp 0x42961a