Function at 0x40cfe1
Capabilities:
Delete directory
Delete file

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xfffffff8
mov edi, str.SoftwareMicrosoftWindowsCurrentVersionUninstallmIRC
mov ebp, 0x57c887
push 0x104
push 0x553318
push dword [0x55b3c4]
call sub.KERNEL32.dll_GetModuleFileNameA
push 0x572713
push 0x572613
push 0x572513
push 0x572510
push 0x553318
call fcn.0053e8e0
add esp, 0x14
push 0x572513
push 0x572510
lea eax, [edi + 0xe7]
push eax
push 0x553318
call sub.USER32.dll_wsprintfA
add esp, 0x10
push 0x553318
call fcn.00541e38
pop ecx
push 0x572713
push 0x572613
lea edx, [edi + 0xed]
push edx
push ebp
call sub.USER32.dll_wsprintfA
add esp, 0x10
push ebp
call fcn.00541e38
pop ecx
jmp 0x40d0a6
push 0x2005
push 0
push 0x1613
call fcn.0041c35b
push eax
push 0
push 0x1614
call fcn.0041c35b
push eax
push 0
call sub.USER32.dll_MessageBoxA
cmp eax, 2
jne 0x40d0a6
xor eax, eax
jmp 0x40d44c
push 0
lea edx, [edi + 0xf3]
push edx
call sub.USER32.dll_FindWindowA
test eax, eax
jne 0x40d074
push 0x553318
push 0
push 0x1615
call fcn.0041c35b
push eax
push 0x57c4a0
call sub.USER32.dll_wsprintfA
add esp, 0xc
push 0x2034
push 0
push 0x1613
call fcn.0041c35b
push eax
push 0x57c4a0
push 0
call sub.USER32.dll_MessageBoxA
cmp eax, 7
jne 0x40d101
xor eax, eax
jmp 0x40d44c
call fcn.0040cf19
call fcn.0040cd61
push 0
lea edx, [edi + 0xfb]
push edx
call fcn.0040c994
push 0
lea ecx, [edi + 0x101]
push ecx
call fcn.0040c994
push 0
lea eax, [edi + 0x108]
push eax
call fcn.0040c994
push 0
lea edx, [edi + 0x112]
push edx
call fcn.0040c994
push 1
lea ecx, [edi + 0x122]
push ecx
call fcn.0040c994
push 2
lea eax, [edi + 0x128]
push eax
call fcn.0040c994
push 3
lea edx, [edi + 0x12e]
push edx
call fcn.0040c994
call fcn.0040cd12
xor ecx, ecx
mov dword [esp + 4], ecx
mov dword [esp], ecx
lea eax, [esp + 4]
push eax
lea edx, [esp + 4]
push edx
lea eax, [edi + 0x133]
push eax
push 0x553318
call fcn.0040ca30
mov ebx, dword [esp]
test ebx, ebx
je 0x40d35c
xor esi, esi
lea eax, [edi + 0x138]
push eax
push dword [ebx]
call fcn.0041d5ea
test eax, eax
je 0x40d1bc
xor esi, esi
jmp 0x40d346
push ebp
push dword [ebx]
call fcn.0041d5ea
test eax, eax
je 0x40d1d2
mov esi, 1
jmp 0x40d346
lea eax, [edi + 0x140]
push eax
push dword [ebx]
call fcn.0041d5ea
test eax, eax
je 0x40d1ee
mov esi, 1
jmp 0x40d346
lea eax, [edi + 0x14d]
push eax
push dword [ebx]
call fcn.0041d5ea
test eax, eax
je 0x40d20a
mov esi, 1
jmp 0x40d346
lea eax, [edi + 0x15a]
push eax
push dword [ebx]
call fcn.0041d5ea
test eax, eax
je 0x40d226
mov esi, 1
jmp 0x40d346
lea eax, [edi + 0x164]
push eax
push dword [ebx]
call fcn.0041d5ea
test eax, eax
je 0x40d242
mov esi, 1
jmp 0x40d346
lea eax, [edi + 0x170]
push eax
push dword [ebx]
call fcn.0041d5ea
test eax, eax
je 0x40d25e
mov esi, 1
jmp 0x40d346
lea eax, [edi + 0x17d]
push eax
push dword [ebx]
call fcn.0041d5ea
test eax, eax
je 0x40d27a
mov esi, 1
jmp 0x40d346
lea eax, [edi + 0x187]
push eax
push dword [ebx]
call fcn.0041d5ea
test eax, eax
je 0x40d296
mov esi, 1
jmp 0x40d346
lea eax, [edi + 0x195]
push eax
push dword [ebx]
call fcn.0041d5ea
test eax, eax
je 0x40d2b2
mov esi, 1
jmp 0x40d346
lea eax, [edi + 0x19f]
push eax
push dword [ebx]
call fcn.0041d5ea
test eax, eax
je 0x40d2cb
mov esi, 1
jmp 0x40d346
lea eax, [edi + 0x1ad]
push eax
push dword [ebx]
call fcn.0041d5ea
test eax, eax
je 0x40d2e4
mov esi, 1
jmp 0x40d346
lea eax, [edi + 0x1b7]
push eax
push dword [ebx]
call fcn.0041d5ea
test eax, eax
je 0x40d2fd
mov esi, 1
jmp 0x40d346
lea eax, [edi + 0x1c5]
push eax
push dword [ebx]
call fcn.0041d5ea
test eax, eax
je 0x40d316
mov esi, 1
jmp 0x40d346
lea eax, [edi + 0x1cf]
push eax
push dword [ebx]
call fcn.0041d5ea
test eax, eax
je 0x40d32f
mov esi, 1
jmp 0x40d346
lea eax, [edi + 0x1db]
push eax
push dword [ebx]
call fcn.0041d5ea
test eax, eax
je 0x40d346
mov esi, 1
test esi, esi
je 0x40d351
push dword [ebx]
call sub.KERNEL32.dll_DeleteFileA
mov ebx, dword [ebx + 0x34]
test ebx, ebx
jne 0x40d1a1
cmp dword [esp + 4], 0
je 0x40d36c
mov eax, dword [esp + 4]
mov ebx, dword [eax + 0x38]
jmp 0x40d370
mov ebx, dword [esp + 4]
test ebx, ebx
je 0x40d388
push dword [ebx]
call sub.KERNEL32.dll_RemoveDirectoryA
cmp ebx, dword [esp + 4]
je 0x40d388
mov ebx, dword [ebx + 0x38]
test ebx, ebx
jne 0x40d374
push 0x553318
call sub.KERNEL32.dll_RemoveDirectoryA
push dword [esp]
call fcn.004b12ac
xor eax, eax
mov dword [esp], eax
push dword [esp + 4]
call fcn.004b12ac
xor edx, edx
mov dword [esp + 4], edx
lea ecx, [esp + 4]
push ecx
lea eax, [esp + 4]
push eax
lea edx, [edi + 0x1e9]
push edx
push 0x553318
call fcn.0040ca30
mov ebx, dword [esp]
test ebx, ebx
je 0x40d3f2
push ebp
push dword [ebx]
call fcn.0041d5ea
test eax, eax
je 0x40d3eb
push ebx
push dword [esp + 4]
call fcn.004b103a
mov dword [esp], eax
jmp 0x40d3f2
mov ebx, dword [ebx + 0x34]
test ebx, ebx
jne 0x40d3d0
cmp dword [esp], 0
je 0x40d409
push 0x57c4a0
push 0x1617
call fcn.0041c35b
jmp 0x40d418
push 0x57c4a0
push 0x1616
call fcn.0041c35b
push 0x2000
push 0
push 0x1613
call fcn.0041c35b
push eax
push 0x57c4a0
push 0
call sub.USER32.dll_MessageBoxA
push dword [esp]
call fcn.004b12ac
push dword [esp + 4]
call fcn.004b12ac
mov eax, 1
pop ecx
pop edx
pop ebp
pop edi
pop esi
pop ebx
ret